일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ste
- 자율주행 #로봇공학과
- path planning #mcts
- AirSim #RL #Drone
- 개발 일기
- ROS2
- 정보이론
- 코드 트리 #개발자 #언어 공부 #코딩 공부
- vision language model #transformer
- Infotaxis
- vlm 정리 #glip #object detection
- 탐색
- Unity
- 로봇 #로봇공학과 #공대생 #대학생 #일상 #휴무 #교수
- 경로 계획
- 책 #오늘 밤
- 세계에서 이 세상이 사라진다 해도
- ROS1
- 소울러닝 #책리뷰 #느낀점
- dino #grounding dino #vlm #object detection
- vlm #clip #object detection
- planning #ste #논문 리뷰
- Today
- Total
퇴근할게요 교수님
[논문 리뷰] VLM 돌파하기 - Transformer: Attention Is All You Need 본문
Transformer: Attention Is All You Need
Transformer는 자연어 처리[NLP] 분야에서 기존 순환 신경망[RNN]과 합성곱 신경망[CNN]의 한계를 극복하며 혁신적인 성과를 거둔 알고리즘이다. 이 모델은 2017년 논문 "Attention Is All You Need" 에서 처음 소개되었으며, 현재 GPT, BERT, T5 등 다양한 모델의 근간이 되고 있다.
Transformer 란?
Transformer는 기존 RNN 기반 모델과 달리 순차적인 연산 없이 병렬 처리가 가능하다는 점에서 큰 장점을 가진다. 이는 Self-Attention 메커니즘을 기반으로 작동하며, 문장 내 모든 단어 간의 관계를 한 번에 학습할 수 있도록 설계되었다.
주요 개념은 다음과 같다:
- Self-Attention: 문장에서 각 단어가 다른 단어들과 얼마나 관련이 있는지를 계산하는 메커니즘
- Multi-Head Attention: 여러 개의 Attention 연산을 동시에 수행하여 정보의 다양성을 확보
- Positional Encoding: 문장의 순서 정보를 추가하는 방식
- Feed Forward Network [FFN]: 비선형 변환을 수행하는 신경망 구조
- Layer Normalization & Residual Connection: 학습 안정성과 정보 손실 방지
Transformer의 구조
Transformer는 Encoder-Decoder 아키텍처를 기반으로 하며, 각각의 구성 요소는 여러 개의 층[Stack]으로 이루어져 있다.
1. Encoder
Encoder는 입력 문장을 처리하여 의미를 포함하는 벡터를 생성하는 역할을 한다. 각 인코더 블록은 다음과 같이 구성된다:
- Self-Attention Layer: 입력 문장 내 단어들 간의 관계를 계산
- FFN: 각 단어의 특징을 변환하는 신경망
- Layer Normalization & Residual Connection: 학습 안정화 및 정보 전달 보장
2. Decoder
Decoder는 Encoder의 출력을 활용하여 최종 출력을 생성한다. 주요 차이점은 Masked Self-Attention 이 추가된다는 점이다. 이는 미래의 단어를 참고하지 못하도록 제한하는 역할을 한다.
Decoder 블록의 주요 구성 요소:
- Encoder Self-Atention Layer: 각각의 단어가 서로에게 어떤 영향인 지에 대하여 파악하는 기본적인 Self-Attention
- Masked Self-Attention Layer: 이전까지의 단어들만 참고하도록 제한된 Self-Attention
- Encoder-Decoder Attention Layer: Encoder에서 얻은 정보를 활용하여 최종 출력 생성
Self-Attention: Transformer의 핵심
Self-Attention은 입력 문장의 각 단어가 다른 단어들과 얼마나 중요한 관계를 가지는지를 학습하는 기법이다. 이를 수식적으로 살펴보자:
- 입력 단어 벡터를 Query[Q], Key[K], Value[V] 로 변환
- 각 Query와 Key 간의 유사도를 구하여 Attention Score를 계산
- Softmax 함수를 적용하여 확률 값으로 변환
- 최종적으로 Value 벡터에 가중합을 적용하여 새로운 표현 생성
이 과정을 수식으로 나타내면 다음과 같다:
$$Attention(Q,K,V)= \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
여기서 dkd_k는 차원의 크기이며, 이를 통해 스케일링된 점수 계산(Scaled Dot-Product Attention) 을 수행하게 된다.
Multi-Head Attention
Self-Attention을 한 번 수행하는 대신, 여러 개의 다른 가중치를 사용하여 다양한 시각에서 관계를 학습할 수 있도록 한 것이 Multi-Head Attention 이다.
- 여러 개의 Head를 사용하여 각기 다른 관점에서 Attention Score를 계산
- 최종적으로 Head들을 Concatenate한 후 선형 변환을 수행
이러한 방식은 모델이 다양한 문맥을 더 효과적으로 학습하도록 도와준다.
Positional Encoding: 순서 정보 추가
Transformer는 CNN이나 RNN처럼 순서를 직접 반영하는 구조가 없기 때문에 Positional Encoding을 사용하여 단어 간의 위치 정보를 추가한다. 이 과정은 사인[sin]과 코사인[cos] 함수를 기반으로 수식적으로 정의된다.
$$PE(pos,2i)=sin(pos100002i/d)PE_{(pos, 2i)} = \sin\left( \frac{pos}{10000^{2i/d}} \right)$$
$$PE(pos,2i+1)=cos(pos100002i/d)PE_{(pos, 2i+1)} = \cos\left( \frac{pos}{10000^{2i/d}} \right)$$
이를 통해 Transformer는 단어들의 상대적인 위치 정보를 학습할 수 있다.
Transformer의 한계와 활용 가능성
Transformer는 많은 장점을 가지지만, 몇 가지 단점도 존재한다.
한계점
- 계산량이 많음: Self-Attention의 연산량이 크므로, 긴 문장을 처리할 때 부담이 커진다.
- 문맥 길이 제한: 일반적으로 고정된 길이의 입력을 사용해야 하므로 긴 문맥을 학습하는 데 어려움이 있을 수 있다.
활용 가능성
현재 Transformer는 자연어 처리 뿐만 아니라 컴퓨터 비전, 음성 인식, 강화 학습 등 다양한 분야에서 활용되고 있다. 대표적인 활용 사례는 다음과 같다:
- BERT: 문장의 양방향 문맥을 학습하는 사전 학습 모델
- GPT: 문장을 생성하는 데 최적화된 언어 모델
- ViT [Vision Transformer]: 이미지 인식을 위한 Transformer 모델
이걸로 어떤 게 가능해졌나?
VLM의 가능성 제시
자연어 처리의 발전으로 인해서 이미지 정보와 텍스트 정보를 Transformer을 통해서 유연하게 사용이 가능해졌다. 특히, VLM에서와 같이 큰 데이터를 통한 학습을 통해서 학습하지 않은 객체에 대한 탐지가 가능할 수 있는 신기한 일들이 일어나기 시작했다. 그런 것의 기초가 Transformer라고 생각해서 이렇게 논문을 들고와 보았다. 이제 앞으로 VLM에 대해서 순차적으로 리뷰해 나가며 로봇공학 전문가가 되어보도록 하자!
공부 출처
Transformer: Attention is All You Need: https://proceedings.neurips.cc/paper/2017/hash/3f5ee243547dee91fbd053c1c4a845aa-Abstract.html
동빈나 유튜브의 딥러닝 기계 번역: https://www.youtube.com/watch?v=AA621UofTUA&t=2278s
Attention is All you Need
Requests for name changes in the electronic proceedings will be accepted with no questions asked. However name changes may cause bibliographic tracking issues. Authors are asked to consider this carefully and discuss it with their co-authors prior to reque
proceedings.neurips.cc