본문 바로가기
인공지능/딥러닝

[DL] 딥러닝 DNN과 인공신경망 동작원리 (feat. 퍼셉트론)

by 도토리묵 :D 2022. 9. 25.

이번시간엔 딥러닝 알고리즘의 기본이 되는 DNN과 인공신경망의 동작원리에 대해 알아보겠습니다.

 

 

 

DNN이란?

지난시간에 ANN에 대해 그림과 함께 설명을 했습니다. ANN은 즉, 인공신경망 입니다.

DNN(Deep Neural Network)은 이름 그대로 심층 뉴럴 네트워크 입니다. 앞서 설명드린  인공신경망(ANN)에서 hidden layer 를 2개 이상 늘린 알고리즘을 이야기 합니다.

DNN 구조

 

 

 

 

 

DNN의 탄생 배경

우리는 왜 DNN이 나오게 되었는지 생각을 해볼 필요가 있습니다.

이는 ANN에서 모델 내부 은닉층을 늘려 학습의 결과를 향상시키는 방법이 나왔고 이게 곧 DNN입니다.

DNN을 응용한게 CNN, RNN 등이 있고 이들에 대해서 다음에 다뤄보겠습니다.

 

 

 

 

 

딥러닝 인공신경망의 동작 원리

위 DNN의 구조에서 hidden layer에 노드 하나를 확대해서 가져와보았습니다.

1. 순전파

이 구조는 퍼셉트론의 구조와 동일합니다.

(퍼셉트론에 대한 글도 추후에 업로드 할 예정입니다.)

 

빨간색 박스의 x_1 부터 x_n까지 입력되는 input 데이터 값에 대해 각각 주황색 박스인 w_1부터 w_n 의 가중치가 곱해집니다.

이 모든 값에 대해 초록색 노드인 시그마 즉, 값들을 모두 더해줍니다.

그 결과값을 활성화 함수에 넣어줍니다.

 

활성화 함수란, 특정 조건을 만족하면 활성화가 되도록 디자인된 함수입니다.

(이부분도 추후 자세히 다뤄보도록 하겠습니다.)

 

2. 역전파 (back-propagation)

최종 결과인 y_hat 예측값이 나오게 되면 정답 데이터와 비교를 합니다.

이때 발생하는 오차가 발생하게 되는데 오차를 줄이기 위해 다시 노드를 하나씩 되돌아가며 가중치를 수정하게 됩니다.

이를 오차 역전파라고 합니다.

이 작업을 반복적으로 수행하여 최적의 가중치(W) 를 찾아나가는 것입니다.

결국 기계는 그 가중치 값을 학습하는 것입니다.

 

 

 

 

DNN의 한계점

이 DNN에는 문제점들도 있습니다.

은닉층이 깊어지면서 입력층으로 갈 수록 gradient vanishing(기울기 소실) 문제가 발생할 수 있으며 또한 overfittiong(과적합) 문제가 발생할 수 있습니다.

이 문제들에 대해 해결방안을 위해 CNN을 비롯한 여러 방법들이 나오게 되었으며 gradient vanishing문제는 따로 다음번에 다뤄보겠습니다.

 

 

 

 

 

다음시간에는 CNN에 대해 알아보도록 하겠습니다.

 

 

 

댓글