Deep neural networks are typically trained with backpropagation; a technique in which the input data is processed in the forward pass to compute a loss function and then the weights of the networks are updated according to the gradients which traverse in the backward direction. The activations of the network are to be kept in memory and should wait for the gradient signal before it can update the network parameters, which incurs a substantial memory and latency burden in the training process. Recently, there has been a focus on exploring alternative ways of training neural networks. A potential alternative to backpropagation is training neural networks layer-wise using auxiliary loss functions. Although the technique shows competitive results on small datasets with light networks and small number of decoupled blocks, it suffers significantly in terms of performance for large number of decoupled blocks in neural network. This limited performance is mainly related to ineffective information propagation, shortsightedness of the greedy objective and information collapsing. In this thesis, a new technique of layer-wise training of neural networks is presented which outperforms the current state-of-the-art techniques, specially as the number of decoupled blocks increases. The proposed technique works by periodically distilling the knowledge of last layer through the auxiliary networks attached to each layer. Thorough experimentation with various networks and different configurations demonstrate the advantage of using periodic knowledge distillation to achieve a significant increase in the performance of decoupled training of neural networks.
일반적으로 심층 신경망은 역전파를 이용하여 학습이 된다; 입력 데이터가 순방향으로 처리되어 손실값을 계산한 후에, 역방향으로 그래디언트가 전파되어 모델이 업데이트 된다. 모델의 중간 활성화 값들은 메모리에 저장되어야 하며 업데이트 되기 전에 그래디언트 신호를 기다려야 한다. 이는 학습 과정에서 상당한 메모리와 시간을 필요로 한다. 최근에는 심층 신경망을 학습하는 다른 방법들이 많이 연구되고 있다. 역전파 방식의 학습 방법의 대표적인 대안은 보조 손실 함수를 이용하여 층별 학습을 진행하는 방법이다. 이 기술은 작은 데이터셋을 활용한 가벼운 네트워크 및 적게 분리된 네트워크에서 잘 동작하지만, 분리된 블록 수가 많은 경우에는 성능이 크게 하락한다. 이러한 성능 하락은 비효율적인 정보 전파, 근시안적인 손실 함수, 정보 붕괴와 관련이 있다. 이 논문에서는 블록 수가 증가하는 상황에서 최신 기술들을 능가하는 새로운 층별 학습 방법을 제안한다. 제안하는 기술은 마지막 층의 지식을 주기적으로 나머지 보조 네트워크들에 전달해줌으로써 동작한다. 다양한 네트워크와 블록 수에 따른 실험은 분리된 모델 학습 방법의 성능을 올리기 위해 주기적 지식 증류를 사용하는 해당 기술의 이점을 보여준다.