캡슐 신경망(CapsNet)은 기계 학습에서 데이터의 계층적 관계, 특히 이미지 인식에서의 관계를 더 잘 모델링하기 위해 사용되는 인공 신경망의 한 유형이다. 이 접근 방식은 캡슐이라고 불리는 구조를 도입하여 생물학적 신경 조직을 더 밀접하게 모방하려고 시도하는데, 캡슐은 개체의 존재 확률과 그 포즈(위치, 크기, 방향 등)를 집합적으로 인코딩하는 뉴런 그룹이다. CapsNet은 전통적인 합성곱 신경망(CNN)의 한계를 해결하기 위해 개발되었으며, 특히 풀링 레이어에 대한 의존성과 객체 부분 간의 공간적 관계를 처리하는 데 있어 어려움을 개선한다.
CapsNet은 시점 변화가 픽셀 수준에서는 비선형적으로 작용하지만 부분/객체 수준에서는 선형적으로 작용한다는 사실을 활용한다. 이 속성은 네트워크가 객체의 포즈와 무관하게 객체를 인식할 수 있게 해주며, 이는 여러 부분으로 구성된 객체의 렌더링을 역으로 추적하는 방식과 유사하다. 다른 장점들 중에서도 CapsNet은 이미지 인식의 "피카소 문제"를 해결하는데, 이는 이미지에 올바른 부분들이 모두 포함되어 있지만 공간적 관계가 잘못된 경우(예를 들어 눈과 입이 바뀐 얼굴)를 말한다.
역사
캡슐 네트워크의 개념은 제프리 힌턴과 동료들이 2000년에 파싱 트리를 사용하여 세그먼테이션과 인식을 하나의 추론 프로세스로 결합한 이미징 시스템을 설명하면서 시작되었다. 신뢰성 네트워크라고 불리는 이 시스템은 잠재 변수와 가능한 파싱 트리에 대한 결합 분포를 모델링했으며, MNIST 손글씨 숫자 데이터베이스에서 유용성을 입증했다. 힌턴의 원래 아이디어에서는 미니칼럼이 하나의 다차원 엔티티를 표현하고 감지했다.
캡슐 네트워크를 위한 동적 라우팅 메추고니즘은 2017년 힌턴과 그의 팀에 의해 도입되었다. 이 접근 방식은 MNIST에서 오류율을 줄이고 학습 세트 크기를 줄이는 측며에서 주장하기며, 고도로 겹치는 숫자에 대해 CNN보다 상당히 나은 결과를 보여주었다. 이후 CapsNet은 다양한 응용 사례에서 연구되었지만 트랜스포머와 같은 다른 구조만큼 폭넓게 채택되지는 않았다.
변환
컴퓨터 비전에서 변환을 이해하는 것은 중요하다. 불변(성)은 이동 후 원의 면적처럼 변환에 따라 변하지 않는 객체 속성이다. 등변성은 예측 가능하게 변하는 속성, 예를 들어 원과 함께 이동하는 원의 중심을 의미한다. 비등변성은 예측 가능하게 변환되지 않는 속성, 예를 들어 타원으로 변환될 때 원의 둘레와 같은 속성을 의미한다.
객체 인식에서 객체의 클래스는 일반적으로 많은 변환(예: 고양이가 이동하거나 크기 변환되더라도 고양이임) 다음에도 불변이다. 그러나 다른 속성은 등변성이며, 이는 공간적 관계가 변환에 따라 변함을 포함한다. 등변성 속성은 변동, 회전, 크기 및 반영을 나타내는 포즈에서 포함되어 있다.
비지도 CapsNet은 객체와 해당 포즈 사이의 선형 매니폴드를 가중치 행렬로 학습한다. 이를 통해 네트워크는 공간적 관계가 포함된 객체를 인식하는 대신, 포즈에 의옥과 무관하게 객체를 분별할 수 있다. 포즈는 색상과 같은 비공간 속성도 포함할 수 있다. 객체를 매니폴드에 곱하면 객체가 공간에 배치된다.
풀링
CapsNet은 기존 CNN의 풀링 레이어 전략을 거부하며, 그 이전에는 상위 레이어에서 처리되는 세부 사항의 양을 줄였다. 풀링은 변환 불변성을 제공하고 더 많은 특징 유형을 허용하지만, CapsNet 지지자들은 풀링에 여러 가지 단점이 있다고 주장한다. 내재된 좌표계를 부족으로 생물학적 형태에서 인식을 위반한다; 불변성(포지셔널 정보가 포함되는)을 반영하는 대신 등변성(해당 정보를 분해하는)을 반영한다. 이미지 변화의 기반이 되는 선형 매니폴드를 무시한다; 가능한 "발견"을 그들을 평가할 수 있는 특징들로 동적으로 전달하지 않고 정적으로 라우팅한다; 그리고 인접한 특징 점근자를 파괴하여 그들이 의존하는 정보를 제거한다.
풀링 대신 CapsNet은 합의에 의한 라우팅을 사용하여 레이어 간 정보를 동적으로 지향하며 세부 공간 정보를 보존한다.
캡슐
캡슐은 위치, 크기 및 색조와 같은 객체 유형의 다양한 속성에 대해 개별적으로 활성화되는 있는 일련의 뉴런이다. 공식적으로, 계산을, 계산에 스칼라 활성도를 출력하는 전통적인 인공 뉴런 대신에, CapsNet은 벡터 출력 캡슐로 스칼라 출력 특징 검출기를 대체하고, max-pooling 대신 합의 라우팅을 사용한다. 캡슐은 독립적이므로, 여러 개의 캡슐이 합의할 때 올바른 검출 확률이 상당히 높다. 예를 들어, 6차원 엔티티를 고려한 두 개의 최소 캡슐 클러스터는 무작위로 10% 이내에서 합치할 확률이 백만 분의 1에 불과합니다; 우연한 합치의 가능성은 차원이 늘어나면서 지수적으로 감소합니다.
상위 레이어 캡슐은 하위 레이어의 출력을 받아들이고, 그 출력이 군집을 이루는 것을 수용합니다. 클러스터는 상위 캡슐이 엔티티 존재의 높은 확률과 고차원(20-50+) 포즈를 출력하도록 요구합니다. 고차원 캡슐은 이상치를 무시하고 클러스터에 집중하며, 이는 고전적인 디지털 이미지 처리의 허프 변환(Hough transform), RHT, RANSAC과 유사합니다.
합의에 의한 라우팅
합의에 의한 라우팅은 한 캡슐의 출력(자식)을 다음 레이어의 캡슐(부모)로 라우팅 하는 메커니즘으로, 자식의 출력 예측에 대한 자식 부모의 가중 여부에 기반합니다. 몇 번의 반복동안 각 부모의 출력은 일부 자식으로부터의 예측과 수렴할 수 있고 다른 자식과는 발산할 수 있으며, 이는 해당 부모의 존재 여부를 나타냅니다.
가능한 각 부모에 대해 각 자식은 백프로프게이션을 통해 학습 을 트레인된 가중 행렬로 자체 출력을 곱하여 예측 벡터를 계산합니다. 그런 다음 부모의 출력은 예측과 가중 합으로 계산되며, 가중치는 자식이 해당 부모에 속할 확률을 나타냅니다. 자식의 예측이 결과 출력과 가까운 경우해당 부모에 대한 결합 계수는 증가하고 다른 부모에 대한 계수는 감소합니다. 이 과정을 반복하여 네트워크는 자원을 동적으로 배분하고 인식 정확도를 향상시킬 수 있습니다타타.