티스토리 뷰
딥러닝을 공부하다보면 언젠가 마주칠 수 밖에 없는 기법이 존재한다.
그중 하나가 Attemtion이다. Attention의 등장으로 자연어 테스크의 성능이 월등히 올라갔고, 그 영향으로 분야를 가리지 않고 적용하며 모델 성능 개선의 효과를 볼 수 있었다.
지금의 chatgpt도 Attention기법이 없었다면 현재 존재하지 않았을 수도 있다.
이렇게 딥러닝에 중대한 영향력을 미치고 있는 해당 기법을 도저히 그냥 넘어갈 순 없다.
간단하게라도 살펴보고자 넘어간다.
Yolov11에서도 Attention 기법이 적용된 블럭이 있으니 해당 내용은 꼭 한번쯤 보길 권한다.
위 내용이 Attention의 내용 전부다. 물론 논문에서 표현하고자 하는 심오한 내용은 단시간에 알아차리기 힘드니 기본이 되는 내용을 지속적으로 보면서 차차 알아나가도 늦지 않다.
결국 어텐션은 표현하고자 하는 vector를 업데이트 시키는 것이다. 즉, 어떻게 임베딩 vector를 잘 표현할까?에서 시작된 것이라 보면되는 것 같다.
주어진 기본 vector를 통해 Q,K,V벡터로 사용하고, Q dot K를 통해 어텐션 스코어를 구한다.
여기서 Attention score를 구한다는 의미는, 해당 요소( 여기서는 단어)가 어떤 다른 요소와 얼마나 유사/연관이 있는지를 숫자화 한다고 보면된다.
이렇게 되면 각각의 요소별 유사/연관 스코어를 구할 수 있느니 해당 요소가 타요소와 얼마나 표현하고자 하는 의미가 유사한지 점수로 알 수 있다.
이렇게 구한 스코어를 바탕으로 V와 내적을 통해 해당 요소의 새로운 Vector를 업그레이드 하여 기존에는 없던 요소별 연관성을 반영하여 Vector로 표현하게 되는 것이다.
결국 해당 요소가 어느 다른 요소와 비슷한 의미를 가지는가를 구하게 될것이고, 이렇게 된다면, 비슷한 의미의 요소를 이전 요소에서 찾을 수 있어 정확한 의미를 다음 요소를 생성할때 반영할 수 있으므로 보다 합리적인 요소를 생성 할 수 있게 되는 것이다.
각 요소별 내포하고자 하는 의미를 더 잘 표현해 줄 수 있으므로 임베딩이 중요한 답러닝에서 어텐션기법은 빠지지 않고 사용되고 있는것 같다. 직접 손으로 연산해보고 어떤의미를 내포하고 있는지 살펴보면 보다 잘 이해할 수 있을것이다.
'Deep-learning' 카테고리의 다른 글
YOLOv11 이해하기 (4) - Loss (0) | 2024.11.19 |
---|---|
YOLOv11 이해하기 (3) - Head (0) | 2024.11.18 |
YOLOv11 이해하기 (2) - Neck (0) | 2024.11.16 |
YOLOv11 이해하기 (1) - Backbone (2) | 2024.11.15 |
YOLOv11 - C2PSA Block (0) | 2024.11.14 |
- Total
- Today
- Yesterday
- 오류
- 백준
- GIT
- docker
- DeepLearning
- 뜯어보기
- 초보자
- 도커
- 딥러닝
- CNN
- 욜로
- 자바
- YOLOv8
- V11
- 정리
- yolov11
- 디텍션
- 알고리즘
- Tree
- 이미지
- 어탠션
- YOLO
- 티스토리챌린지
- GNN
- python
- java
- c3k2
- 깃
- 오블완
- github
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |