본문 바로가기

논문 리뷰/etc.

Fast Feedforward Networks (FFF)

Feedforward를 나눈 후 이진트리를 통해 다음 hidden node를 선택

 

[Github]

[arXiv](Current version v2)

 

 

 

Abstract

Fast feedforward network를 도입하여 계층 크기와 추론 비용 사이의 비례를 끊는다.

FFF는 feedforward 보다 최대 220배 빠르고 뉴런의 1%만 사용하면서 성능의 95%를 유지할 수 있다.

 

 

Introduction

이전의 FF 모듈화에 대한 연구들은 뉴런을 전문화된 개별 블록으로 나누고 forward pass에 사용될 전문가 혼합을 결정하는 gating layer를 훈련하는 공통의 접근 방식을 공유한다. 하지만 이는 훈련을 복잡하게 만들고 중복성이 장려된다.

 

FFF는 미분 가능한 이진트리를 통해 입력 공간을 서로 다른 영역으로 나누고 트리 조건부 실행으로 영역 경계와 이러한 영역에 할당된 신경 블록을 동시에 학습한다.

 

Mixture of Experts: 뉴런을 E개로 나누고 score가 높은 k개의 expert의 결과를 혼합함.

FFF: 네트워크 깊이 d에서 뉴런을 2d개로 나누고 훈련에서 노드는 soft choice를 재귀적으로 수행하여 손실을 기반으로 자녀와 부모의 가중치를 업데이트한다.

 

Hardening은 결정적이지 않은 mixture(e.g. 49:51)에서 결정적인 mixture로 이동하도록 경계를 학습하는 프로세스이다.

 

 

 

Algorithm

입력 차원 - dimI, 출력 차원 - dimO.

 

Definition

FFF는 N {N0,0, . . . , Nd−1,2d−1−1} node와 L {Nd,0, . . . , Nd,2d−1} leaf(마지막 hidden layer의 node)로 구성된다.

Node는 시그모이드 함수를 통해 0~1의 확률을 출력한다.

 

훈련 시 N0,0부터 상승 계산으로 선택 가중치를 계산하고 모든 leaf에 대해 Mixture of Experts를 수행한다.

추론 시에는 하나의 분기만 선택한다.

 

Hardening

훈련 단계에서 leaf들이 혼합된 상태로 훈련했으므로 추론 시 단일 분기를 선택하는 것에 대한 정보 손실을 줄이려면 각 노드의 경계를 단단하게 해야 한다.

 

연구진은 실험에서 선택 쌍 <1-p, p>의 엔트로피가 0.1 미만일 경우 추론 성능에 큰 편차가 발생하지 않는 것을 관찰했고, 배치 내에서 모든 노드의 엔트로피를 줄이는 손실항을 추가한다.

 

Overfragmentation

네트워크가 경계를 너무 과하게 학습하면 overfragmentation이 발생하고, 이는 localized overfitting과 shrinking batch problem을 발생시킨다.

 

Localized overfitting은 일반화 촉진을 위해 낮은 확률로 <1-p, p>를 <p, 1-p>로 전환하는 randomized child transposition으로 완화할 수 있다.

 

Shrinking batch는 공간의 분할이 너무 세분화되어 의미 있는 기울기를 가지는 피라미터가 줄어들고 경사 하강이 부정확해지는 것을 말한다. 이는 더 큰 배치, 기울기 누적, 작은 학습률 등으로 완화할 수 있다.

 

 

 

Experiments

l = leaf size. l이 작을수록 네트워크 깊이가 깊어짐.

 

MoE와 비교.

ETT = 왼쪽의 결과를 얻는 데 걸린 epoch 수.