티스토리 뷰
https://sims-solve.tistory.com/128
지난번에는 YOLOv8과 달라진 부분인 C3K2 Block에 대해 알아보았다.
이번에는 연장선으로 모델 중 한번만 거치는 블럭이지만, v11에 추가된 Block인 C2PSA를 살펴보도록 하겠다.
일단, C2PSA Block을 들어가기 전 input shape은 (1,256,8,8) 로 가정하겠다.
위는 실제 C2PSA 코드이다. 어텐션 메커니즘을 사용하여 피쳐 추출과 처리를 향상시켰다고 한다.
어텐션 메커니즘이 들어있어서 조금 더 복잡한 계산 과정이 필요하다.
어텐션을 사용하면 연산량이 늘어나 속도가 감소하는 부분이 있는데, 이를 고려해 C2PSA 블럭 한부분에서만 사용한 것 같다.
직접 손으로 shape을 구해보면 이러하다.
손으로 계산해보면.. 굉장히 복잡한 과정을 걸치는 것을 볼 수 있다.
여기서 핵심이라고 판단되는건 역시 Attention 과정이라고 할 수 있다.
Q,K,V 각각으로 Split하고, 부가적인 연산을 통해 어느 부분이 중요한지 찾아나가는 과정이라 생각하면된다.
어텐션같은 경우는 따로 정리하여 글을 작성하고자하여, 여기서는 이정도로 생략하겠다.
그 외에는 Skip Connection과 같은 v8에서도 사용되고 있는 방식을 똑같이 채택하고 있다.
어탠션 메커니즘이 들어가 이해하기가 조금 어려웠지만, 천천히 살펴보면서 추가적으로 공부를 해 나가야 겠다.
다음에는 Block을 살펴보았으니, Yolov11의 BackBone의 과정을 살펴보겠다.
'Deep-learning' 카테고리의 다른 글
YOLOv11 이해하기 (2) - Neck (0) | 2024.11.16 |
---|---|
YOLOv11 이해하기 (1) - Backbone (2) | 2024.11.15 |
YOLOv11 - C3K2 Block (0) | 2024.11.13 |
YOLOv11 이해하기 (0) - 전체적인 내용 (0) | 2024.11.12 |
YOLOv8 이해하기 (4) - Loss (0) | 2024.11.11 |
- Total
- Today
- Yesterday
- 티스토리챌린지
- YOLOv8
- GNN
- 도커
- github
- GIT
- Tree
- 욜로
- python
- 딥러닝
- 어탠션
- docker
- 정리
- java
- 이미지
- 디텍션
- 자바
- 초보자
- CNN
- 뜯어보기
- 백준
- 오류
- 알고리즘
- V11
- c3k2
- YOLO
- yolov11
- 깃
- 오블완
- DeepLearning
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |