AI: 대체 모델 및 접근법 – Capsule Networks
ㅁ 대체 모델 및 접근법
ㅇ 정의:
전통적인 CNN의 한계를 극복하기 위해 제프리 힌튼이 제안한 신경망 구조로, 개별 뉴런 대신 ‘캡슐’이라는 벡터 단위를 사용하여 객체의 위치, 방향, 크기 등 다양한 속성을 함께 학습하는 모델.
ㅇ 특징:
– 캡슐은 활성화 값과 함께 포즈 정보를 포함한 벡터를 출력.
– 동적 라우팅(Dynamic Routing)을 통해 하위 캡슐의 출력을 상위 캡슐로 전송할지 결정.
– 시각적 변형(회전, 기울기 등)에 강인.
– CNN보다 파라미터 수가 많고 학습 속도가 느릴 수 있음.
ㅇ 적합한 경우:
– 이미지 내 객체의 위치나 방향 변화가 큰 경우.
– 소량의 데이터로도 일반화 성능이 필요한 경우.
– 객체의 부분-전체 관계를 학습해야 하는 경우.
ㅇ 시험 함정:
– CNN과 비교 시, 단순히 정확도 향상만이 목적이 아님.
– ‘동적 라우팅’을 단순한 pooling 기법으로 오해.
– 캡슐의 출력이 스칼라라고 착각.
ㅇ 시험 대비 “패턴 보기” 예시:
O: Capsule Networks는 객체의 포즈 정보를 보존하며 학습한다.
X: Capsule Networks는 pooling을 통해 위치 정보를 제거한다.
ㅁ 추가 학습 내용
Capsule Networks 학습 시 핵심은 ‘Routing by Agreement’ 알고리즘의 이해이다. 이 알고리즘은 다음과 같은 단계로 진행된다.
1. 초기 coupling coefficient를 설정한다.
2. 각 하위 캡슐의 출력과 상위 캡슐 예측 벡터 간의 관계를 softmax 함수를 통해 정규화한다.
3. 예측 벡터와 실제 상위 캡슐 출력 간의 일치 정도(agreement)를 계산하여 coupling coefficient를 업데이트한다.
4. 이 과정을 지정된 라우팅 반복 횟수만큼 수행한다.
CNN과 Capsule Networks 비교 시 주의할 점은, 데이터 효율성과 변형 불변성보다는 변형 등변성(equivariance) 개념이 핵심이라는 것이다. 구조적 차이는 CNN이 스칼라 값을 사용하는 반면, Capsule Networks는 벡터 표현을 사용하며, pooling 대신 동적 라우팅을 적용한다는 점이다. 시험에서는 이러한 구조적 차이와 개념을 혼동하게 만드는 함정 문제가 출제될 수 있다.
또한 Capsule Networks는 이미지 처리뿐 아니라 최신 연구에서 자연어 처리, 3D 객체 인식 등 다양한 분야로 확장되고 있으므로, 응용 사례를 함께 숙지하는 것이 도움이 된다.