전체 글55 논문 리뷰) Attention is all you need : 트랜스포머의 아키텍처 ② 이번 글에서는 트랜스포머의 아키택처에서 메인이라고 할 수 있는 멀티-헤드 어텐션 층에 대해 알아보겠습니다.멀티-헤드 어텐션 서브 층에는 총 8개의 헤드가 있으며, 포스트-층 정규화와 이어져있습니다. 일단 첫 번째 멀티-헤드 어텐션 층에서는 각 단어의 임베딩 + 위치 벡터가 입력값이 됩니다.전반적인 과정을 예시와 함께 설명해 보겠습니다.문장 : “The cat sat on the rug and it was dry-cleaned.” 이 문장을 보시면 아시겠지만 ‘it’이 cat을 가리키는지 rug를 가리키는지 중의적인 의미를 담고 있는 경우가 존재합니다. 여기서 이 층이 하는 일은 it이 cat과 연관성이 깊은지 rug와 더 깊은지를 판단하는 것입니다. 그렇기에 최종적인 값의 도출은 확률변수로써 나타낼 것이.. 2025. 2. 1. 논문 리뷰) Attention is all you need : 트랜스포머의 아키텍처 ① 논문 다운로드 : https://arxiv.org/pdf/1706.03762대학 생활을 하며 계속 CV위주로 공부와 활동들을 많이 해왔는데 문득 자연어 처리의 기본 이상은 해야겠다고 느꼈습니다. 요즘 AI프로그램들을 보면 인공지능의 각 분야들을 융합하여 사용하는 경우가 다반수입니다. 예를 들어 사진을 찍어 사진 안에 텍스트를 분석하려면 이미지를 처리하고, 텍스트를 분리한 뒤 텍스트 또한 처리해야 합니다. 이전에는 한 가지 분야를 파면 좋은 결과가 있는 경우도 많았지만 요즘은 마냥 그렇진 않은 것 같습니다. 그래서 이번을 계기로 자연어 처리에 손을 대보게 되었는데 생각보다 웹서핑만으로는 쉽지 않아 참고 서적을 구매하여 공부를 진행하였습니다.교재 : 트랜스포머로 시작하는 자연어 처리 / Denis Rothm.. 2025. 1. 23. 논문 리뷰) NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis 링크) 논문 다운로드 해당 논문 데이터 먼저 NeRF에 대하여 본격적으로 들어가기 전 제목에 있는 View Synthesis에 대해 파악하고 들어가는 것이 좋다고 생각합니다. View는 ‘시야’, Synthesis는 ‘합성’이라는 사전적 의미를 가지고 있습니다. 이로 미루어 보았을 때, 시야를 합성한다는 것은 사진에 실제로 보이지 않더라도 우리가 사물의 특정 시점에서의 모습을 알고 있다면 예측을 통해 이를 3D로 바꿀 수 있다는 것입니다. 위 사진을 예로 들어보겠습니다. 사진에서는 두 사람의 모습을 배꼽 정도의 높이에 특정 앵글에서 표현했습니다. 흔히 영화에서 이런 기법이 자주 사용되곤 하죠. 임의의 관찰자의 시점으로 장면을 본 것입니다. 지금은 여배우가 등을 보이고 있지만 제가 만약 똑같은 배꼽 높이에.. 2024. 7. 21. [Data Structure] 스택(Stack) 이번에는 스택에 대해 다뤄보려고 합니다. 흔히 사용하는 표현 중에서 스택을 쌓는다는 말이 있습니다. 즉, 쌓는다는 말을 사용하듯 밑에서부터 위로 올라가는 형식임을 알 수 있습니다. 만약 접시를 차곡차곡 쌓는다고 해보겠습니다. 10개를 쌓았는데 그중 6번째 접시를 빼내고 싶으면 10부터 7까지의 접시를 빼낸 후 6번째 접시를 빼냅니다. 스택에서는 접시 대신 자료가 들어가는 셈입니다. 스택의 형태는 위의 그림과 같습니다. 내가 원하고자 하는 요소를 얻기 위해서는 그 위에 있는 모든 요소를 빼낸 후 볼 수가 있기 때문에 후입선출 리스트라고 할 수 있습니다. 후입선출은 Last-In-First-Out으로 마지막에 들어온 게 가장 먼저 나간다라는 뜻입니다. 스택에는 연결리스트나 기타 자료구조와는 다르게 top이라.. 2023. 7. 4. [자료구조] 백준 14425번(파이썬) : 문자열 집합 #include #include int main() { int origin, compare; scanf("%d %d", &origin, &compare); // 입력한 개수에 맞게 메모리 할당 char originalWords[origin][100]; char compareWords[compare][100]; // 원본 단어 입력 for (int i = 0; i < origin; i++) { scanf("%s", originalWords[i]); } // 비교 단어 입력 for (int i = 0; i < compare; i++) { scanf("%s", compareWords[i]); } // 완전히 같은 단어 개수 계산 int same = 0; for (int i = 0; i < origin; i++.. 2023. 5. 31. [스택] 백준 2493번 (C언어) : 탑 #include int tower[500001]; int result[500001]; int main() { int num; tower[0] = 100000001; scanf("%d", &num); for (int i = 1; i = tower[i]) { printf("%d ", j); result[i] = j; break; } else j = result[j]; } } return 0; } 위 문제는 스택을 써서 풀어야 한다고 했지만, 일단 스택을 생각하지 않고 먼저 c언어로 구현해 보았습니다. 일단 탑의 높이를 받아줄 배열 하나와 최종 값에 대한 배열 하나를 생성합니다. for문을 살펴보면 일단 현재 인덱스를 가리키는 i와 이전의 인덱스를 가리키는 j가 있습니다. 만약 이전의 탑이 이후의 탑보다 높다.. 2023. 5. 19. 이전 1 2 3 4 ··· 10 다음