[computer-vision]
CNN의 한계
- 합성곱 신경망은 이미지의 작은 부분을 처리하고 그 결과를 모아 좀 더 큰 부분을 처리 해나감
- 서로 멀리 떨어진 부분들 사이의 관계를 잘 처리하지 못함
- 서로 멀리 떨어진 feature들을 고려하기 위해서는 큰 필터가 필요 → 계산의 효율성 감소
순환신경망 recurrent neural network
- 자연어 처리에서 흔히 사용하는 구조
- 이전의 입력이 이후의 입력에 처리에 영향
- 먼 거리에 떨어진 입력 간에 정보를 전달하려면 여러 단계를 거쳐야 함
- 사라지는 경사(vanishing gradient) 문제
주의 메커니즘 attention mechanism
- 이전의 입력 중 현재 입력을 처리하는데 필요한 정보를 바로 가져오는 방법
- 현재 단계의 값과 이전 단계의 값을 비교하여 주의 가중치(attention weight)를 계산
- 이전 단계의 값들에 주의 가중치를 적용하여 가중합
- 현재 단계와 유사한 특성을 가지는 이전 단계의 값들을 더 큰 비중으로 반영
트랜스포머 Transformer
- 주의 메커니즘만을 사용한 자연어 처리 모형
- 문장 내에 주의 메커니즘 적용
- 문장 간에도 주의 메커니즘 적용
- Multi-Head Attention
- 모든 단어는 Q, K, V 세 가지 임베딩을 가짐
- Q와 K로 주의 가중치를 계산하여 V에 적용
- 주의 가중치를 다양한 방식으로 계산하여 결합
- 위치 인코딩
- 순환신경망은 처리 과정 자체가 순서대로 이뤄지므로 단어의 순서를 반영
- 트랜스포머 모형은 순서를 다루는 구조가 없음
- 문장에서 단어의 위치를 인코딩하여 단어 임베딩에 더해줌
- 정현파를 이용하여 만들기도 하고, 단어 임베딩과 마찬가지로학습 시킬 수도 있음
비전 트랜스포머 Vision Transformer
- 트랜스포머를 컴퓨터 비전에 적용한 것
- 이미지를 패치(patch)로 쪼개어, 패치의 시퀀스로 다룸
- 자기 주의(self attention)는 순열 불변(permutation invariant)
- 위치 인코딩을 함께 입력하여 순서 정보를 추가
귀납 편향 inductive bias
- 모형의 귀납 편향: 데이터의 구조에 대해 모형의 가정
- 예: CNN의 위치 등변성 translational equivariance:입력의 위치가 바뀌면 출력의 위치도 똑같이 바뀜
- 머신러닝 모형은 이러한 가정 아래 훈련 데이터의 패턴을 일반화
- 편향-분산 교환(bias-variance trade-off)
- 편향이 강하면 분산이 작아짐
- 학습 데이터셋에 따라 결과가 크게 달라지지 않음
- 작은 데이터셋에서 성능이 좋음
- 편향이 약하면 분산이 커짐
- 학습 데이터셋에 따라 결과가 크게 달라짐
- 큰 데이터셋에서 성능이 좋음
트랜스포머가 잘 작동하는 이유
- 딥러닝의 트랜스포머 모형이 최근 각광(예: ChatGPT 등)
- 기존의 딥러닝에서 널리 사용되던 CNN, RNN 등은 강한 편향
- CNN은 국소적 관계에 대해, RNN은 순차적 관계에 대해 강한 가정을 가짐
- RNN은 데이터를 순서대로 처리하므로 순서상 가까운 단어가 더 강한 영향
- 그러나 자연어는 반드시 순서대로 처리되는 것은 아님(예: 주술호응)
- 트랜스포머는 순서나 위치에 대한 가정이 없음 → 편향이 적음
- 데이터가 적은 분야(예: 희귀 질환 진단)에서는 트랜스포머 활용이 어려움
- 단, 트랜스포머는 CNN에 비해 계산 효율도 낮음
- 트랜스포머의 계산 효율성을 높이거나 CNN과 결합하는 다양한 연구가 진행 중