본문 바로가기
Deep Learning

심층신경망 DNN(Deep Neural Network)

by wave_m 2020. 9. 8.
728x90

DNN ?

복잡한 데이터를 학습하기 위해 은닉 계층을 많이 쌓아서 만든 인공지능 기술

ANN은 주로 하나의 은닉 계층을 포함하나 DNN은 수십에서 수백의 은닉 계층으로 구성 가능

다수의 은닉 계층을 활용하면 은닉 계층 하나를 활용할 때보다 입력 신호를 더 정교하게 처리 가능

 

=> 복잡도가 높은 비정형 빅데이터에 용이하지만 결국은 과적합을 얼마나 방지하느냐가 이를 제대로 활용하는 열쇠

 

 

경사도 소실 문제란 ?

DNN은 활성화 함수에 따라 경사도 소실 발생 가능

오차역전파를계산할 때 경사도 계산이 누적되는데 이로 인해 경사 하강법을 사용하는 오차역전파 알고리즘의 성능이 낮아질 수 있음

특히 시그모이드 함수와 같이 입력을 특정 범위로 줄이는 활성화 함수들은 입력이 크면 경사도가 매우 작아져 경사도 소실을 유발할 가능성이 높음

 

 

ReLU 활성화 함수란?

ReLU는 입력이 0보다 큰 구간에서는 직선 함수이기 때문에 값이 커져도 경사도를 구할 수 있음

경사도 소실 문제에 덜 민감

 

 

 

출처 : 한빛 미디어  / 코딩 셰프의 3분 딥러닝 케라스맛

 

DNN의 성능을 개선하는 방법 ?

- Drop-out : 은닉 계층 뉴런을 무작위로 포기하는 것

매우 단순해지고 각 단계의 모델은 약한 학습 모델이 된다. 각 약한 모델은 낮은 예측력을 갖지만, 여러 약한 모델의 예측에 가중치가 적용되어 하나로 합쳐지면 이전보다 훨씬 더 강력한 예측력을 갖게 된다. 

layer의 weight들이 동조화(co-adaptation) 하는 것을 피할 수 있음

동조화는 두 개 이상의 노드가 하나의 노드처럼 활동하는 것

- 조기 종료

 

 

DNN의 목적 ?

분류 및 수치 예측. 영상처리, 음성인식, 자연어 처리와 같은 분야에서 자주 쓰이나 특히, 이미지 트레이닝이나 문자 인식 같은 분야에서 매우 유용하게 사용

 

 

=> 이러한 DNN을 응용한 알고리즘이 바로 CNN과 RNN이고 이 외에도 LSTM, GRU 등이 있음

 

DNN의 구조

 

reference ? 

한빛 미디어  / 코딩 셰프의 3분 딥러닝 케라스맛

 

 

728x90