본문 바로가기
인공지능

[AI 4주차] DNN(깊은 신경망)

by whiteTommy 2024. 6. 27.

Deep Neural Network(DNN)

: hidden layer가 2개 이상인 Neural network를 의미한다.

 

아래 그림은 4 Layer NN에서 3개의 hidden layer가 있는 경우이다.

 

layer 0                   layer1                 layer2           layer3           layer4

 

l을 layer의 index라고 할 때, forward propagation 은 다음과 같다.

Z^[l] = W^[l] * a^[l-1] + b^[l]
A^[l] = g^[l] ( Z^[l] )  // g는 activation function

 

backward propagation은 다음과 같다.

dz^[l] = da^[l] * g^[l]`(z^[l])
dw^[l] = dz^[l] * a^[l-1]T
db^[l] = dz^[l]
da^[l-1] = W^[l]T * dz^[l]

dz^[l] = W^[l+1]T * dz^[l+1] * g^[l]`(z^[l])

 

 

 

Parameters vs Hyper parameters

  • parameters : W, b를 의미한다
  • hyper parameters: W, b를 통제하는 모든 parameters를 의미한다. 
    learning rate , iteration 횟수, hidden layer 개수, hidden layer node 수, activation function 등등

 

Deep learning은 매우 경험적인 과정이다.

 

 

idea를 가지고 code로 구현을 하고, 실험을 거친다.

 

아래 예시를 보자. learning rate가 0.05일 때의 반복문 횟수에 따른 cost function 결과이다.

반복을 거침에 따라 cost function value가 증가한다. 즉 수렴하지 않는다. 최종적인 목표는 cost function이 작은 값으로 수렴하기를 기대하기 때문에 learning rate를 더 낮게 바꿔서 실험해보자.

 

learning rate를 0.01로 설정한 상태로 실험을 거친뒤 아래 결과를 살펴보자.

cost function이 낮은 값으로 잘 수렴하는 것을 볼 수 있다.

 

이처럼 값을 바꿔보면서 실험을 하고 더 좋은 결과가 나오는  hyper parameter를 설정할 수 있다. 

'인공지능' 카테고리의 다른 글

[AI 3주차] Swallow Neural Network(얕은 신경망)  (0) 2024.06.27
[AI 2주차] 신경망 기초  (0) 2024.06.25
[AI 1주차] Deep Learning 소개  (0) 2024.06.25
인공지능이란?  (0) 2024.04.08