더북(TheBook)

1.3.3 알고리즘

 

하드웨어와 데이터에 이어 2000년대 후반까지는 매우 깊은 심층 신경망을 훈련시킬 수 있는 안정적인 방법을 찾지 못했습니다. 이런 이유로 하나 또는 2개의 층만 사용하는 매우 얕은 신경망만 가능했습니다. SVM과 랜덤 포레스트처럼 잘 훈련된 얕은 학습 방법에 비해 크게 빛을 보지 못했습니다. 깊게 쌓은 층을 통과해서 그래디언트(gradient)21를 전파하는 것이 가장 문제였습니다. 신경망을 훈련하기 위한 피드백 신호가 층이 늘어남에 따라 희미해지기 때문입니다.

2009~2010년경에 몇 가지 간단하지만 중요한 알고리즘이 개선되면서 그래디언트를 더 잘 전파되게 만들어 주었고 상황이 바뀌었습니다.

신경망의 층에 더 잘 맞는 활성화 함수(activation function)22

층별 사전 훈련(pretraining)을 불필요하게 만든 가중치 초기화(weight initialization) 방법23

RMSProp과 Adam 같은 더 좋은 최적화 방법

 

이런 기술의 향상으로 10개 이상의 층을 가진 모델을 훈련시킬 수 있게 되었을 때 비로소 딥러닝이 빛을 발하기 시작했습니다.

2014~2016년 사이에 그래디언트를 더욱 잘 전파할 수 있는 배치 정규화(batch normalization), 잔차 연결(residual connection), 깊이별 분리 합성곱(depthwise separable convolution) 같은 고급 기술들이 개발되었습니다. 요즘에는 층의 깊이가 수천 개인 모델을 처음부터 훈련시킬 수 있습니다.24

21 역주 그래디언트와 경사 하강법에 대해서는 2.4절에서 자세히 설명합니다.

 

22 역주 세이비어 글로럿(Xavier Glorot), 앙투안 보르드(Antoine Bordes)와 요슈아 벤지오(Yoshua Bengio)가 “Deep Sparse Rectifier Neural Networks”(2011, https://goo.gl/vyV7QC)에서 심층 신경망을 훈련하기 위해 적용했던 ReLU(Rectified Linear Unit) 함수를 말합니다. ReLU 함수는 3.4.3절에서 자세히 설명합니다.

 

23 역주 심층 신경망을 만들기 위해 사전 훈련을 사용하기보다 근본적인 원인을 분석했던 세이비어 글로럿과 요슈아 벤지오의 “Understanding the Difficulty of Training Deep Feedforward Neural Networks”(2010, http://goo.gl/1rhAef)를 말하며, 저자의 이름을 따서 Xavier 초기화 또는 Glorot 초기화라고 부릅니다.

 

24 역주 2015년 ILSVRC 대회에서 우승을 차지한 마이크로소프트 연구 팀이 잔차 네트워크로 1,000개의 층이 넘는 모델을 훈련시킬 수 있다는 것을 보였습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.