DNN(심층 신경망)의 정의
인공 신경망(ANN)에서 은닉층(hidden layer)이 2개 이상 가지고 있는 모델
hidden layer가 많아 질 수록 다양한 표현이 가능하고 정확도도 증가하게 된다. HW(하드웨어)의 기술이 발전하면서 연산 처리속도가 증가하여 ANN의 학습시간이 오래 걸리는 것을 극복하고 DNN을 많이 사용한다. DNN을 응용하여 CNN, RNN 등 다양한 모델이 등장한다.
DNN의 등장 배경
Backpropagation의 등장으로 ANN은 1990년대 초반까지 크게 발전하고 많이 사용 되었다.
하지만 인공신경망에는 2가지 큰 문제점이 존재한다
ANN의 중요한 2가지 문제점
1. 신경망의 깊이가 깊어질 낮아지는 정확도(Gradient Vanishing)
은닉층을 많이 쌓을 수록 더 많은 feature를 표현할 수 있어서 정확도가 좋아져야 하는 것이 인공신경망의 강점이다. 하지만 깊은 인공 신경망을 학습하다보면 역전파 과정에서 입력층으로 갈 수록 기울기(Gradient)가 점차적으로 작아지는 현상이 발생한다. 이러한 이유 때문에 가중치의 값이 올바르게 업데이트가 되지않아 최적의 파라미터를 찾을 수 없게된다.
2. 파라미터 값의 최적화에 대한 이론적 근거가 없다
신경망은 학습을 위한 여러 파라미터로 층 수나 유닛의 수를 갖는데, 당시에는 이 파라미터가 최종적으로 어떻게 성능으로 이어지는지를 알 수 없었다. 따라서 좋은 성능을 이끌어내기 위한 파라미터들에 대한 노하우는 있었지만 이론적인 근거가 없었다는 것이다.(Black box) 또한 이시기에 SVM, Random Forest등 새로운 Machine Learning학습 알고리즘이 등장하면서 ANN의 침체기가 시작되었다.
ANN의 문제점을 해결한 Deep의 출현
2006년 제프리 힌튼(Geoffrey Hinton)이 "A fast learning algorithm for deep belief nets" 라는 논문을 통해 "weight의 초기값을 제대로 설정하면 깊은 신경망학습이 가능하다" 라는 것을 보였다
💡 신경망을 학습시키기 전에 층 단위의 학습을 거쳐 더 나은 초기값을 얻는 사전훈련(pre-training) 의 최초 아이디어가 제안된 것
2006년 Deep Network. Deep Learning 이라는 용어가 사용되기 시작했다.
'AI > DeepLearning' 카테고리의 다른 글
DeepLearning에 사용되는 Activation Function 정리 (0) | 2021.07.18 |
---|---|
ANN(인공신경망) (0) | 2021.07.12 |
Deep Convolutional Neural Network (0) | 2020.11.08 |
Introduction to Deep Learning (0) | 2020.10.19 |