Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer, 2017
https://arxiv.org/pdf/1701.06538.pdf
Abstract
정보를 담고있을 수 있는 뉴럴네트워크의 capacity는 파라미터 개수에 의해 제한된다. 네트워크의 일부가 데이터에 따라 활성화 되는 Conditional computation은 모델의 capacity을 아주 크게 늘리면서도 계산은 그렇게 크게 늘리지 않는 모델로 이론상 제안되었다. 실제로 적용하기 위해선 알고리즘과 퍼포먼스 부문에서 큰 문제들이 있다. 이 논문에서 우리는 최신 GPU 클러스터에서 아주 조금의 컴퓨터 자원의 손실만 있고 모델의 capacity는 1000배 늘린 conditional computation을 구축했다. 우리는 몇천개의 feed-forward sub-network가 있는 Sparsely-Gated Mixture-of-Experts layer를 제안한다. 학습 가능한 gating network는 각 샘플에 대해서 어떤 조합의 experts가 좋을지 선택하게 된다. 우리는 기계번역 태스크에 적용해보았고, CNN과 stacked LSTM layer을 적용한 모델로 1370억 크기의 파라미터를 구축하였다. 우리는 더 적은 계산 자원으로 SOTA를 달성하였다.
Introduction and related work
모델의 크기를 늘리는 것이 데이터만 충분히 크다면 capacity를 늘리고 더 좋은 성능을 보인다는 것이 알려져있다. 그러나 일반적인 딥러닝 모델은 모든 샘플에 대해 모든 뉴럴네트워크가 활성화 되고 이는 엄청난 학습 비용을 가져오게 된다.
모델의 capacity를 늘리면서도 컴퓨터 자원을 같은 비율로 늘리지 않도록 하는 다양한 형태의 conditional computation이 제안되었다. 이러한 방법론은 트레이닝 데이터에 따라 모델의 일부가 활성화되거나 비활성화된다. gating 결정은 binary이거나 sparse이거나 연속적이거나 stochastic이거나 deterministic일 수도 있다.
이러한 아이디어들이 이론상으로 매우 유망하나, 아직까지 큰 발전이 없었고 이는 아래와 같은 이유 때문이라고 생각한다.
the structure of Mixture-of-Experts layer

MoE 레이어는 $n$개의 expert networks $E_1, ..., E_n$과 sparse한 $n$차원 벡터를 output으로 하는 gating network $G$로 구성되어있다. expert들은 각각 그들 자신만의 파라미터를 가진 뉴럴네트워크이다. 우리의 원칙상 exert가 같은 크기의 input과 output을 받기만 하면 되지만, 우리는 각 모델을 똑같은 feed-forward 아키텍쳐로 가져갔다.
MoE 모듈의 output $y$는 아래와 같이 나온다.