juuuding

[Advanced Learning Algorithms] Neural Networks - Neural Network model 본문

인공지능/코세라 머신러닝 특화과정

[Advanced Learning Algorithms] Neural Networks - Neural Network model

jiuuu 2023. 11. 17. 13:39

 Neural network layer

 

 hidden layer 내부를 좀 더 자세히 살펴보자. 아래의 사진은 layer1의 내부이다. 각 neuron 마다 w, b 값이 있으며 표기는 다음과 같이 한다. hidden layer1을 거친 결과는 a[1]로 표현되며 이는 각 뉴런에 해당되는 w,b가 적용된 sigmoid 함수를 거친 활성화 값이다. 

 

 

 a[1] 값이 output layer인 layer2에 들어가면 한 뉴런의 sigmoid 함수를 거쳐 결과가 도출되고 이 결과 값은 스칼라 값으로 결정된다. 

 

 

 이 후 결과 값으로 category를 예측한다.

 

 

 

 

 More complex neural networks

 

 hidden layer가 더 많은 복잡한 신경망을 자세히 살펴보자. hidden layer1과 마찬가지로 hidden layer3에는 layer2의 결과 벡터가 입력이 되고, layer3 각각의 뉴런들에 맞는 w,b 값으로 sigmoid 함수가 적용되어 결과가 도출된다. 또 이 값은 output layer인 layer4로 입력되며 최종 결과가 나오게 되는 것이다. 

 

 

 이러한 과정을 식으로 표현하면 다음과 같은 식이 나온다.

 

 여기서 sigmoid 함수인 g는 activation function이라고도 불린다. l은 layer, j는 unit(neuron)을 뜻한다. 주의해야할 점은 a에는 이전 layer의 결과 값이 입력된다는 것이다. 

 

 

 

 Inference: making predicitons (forward propagation)

 

 신경망이 예측하는 방법에 대해 알아보자. 손으로 쓴 숫자를 0과 1로 구분하는 이진 분류 문제이다. 이미지는 8 x 8 이미지이며 255는 흰색, 0은 검은색 픽셀이다. 여기서는 2개의 hidden layer가 있는 신경망을 사용할 것이고, hidden layer1에는 25개의 units, hidden layer2에는 15개의 units이 있다.

 

 

input layer의 결과가 layer1에 입력되면 다음과 같은 식이 수행된다. 

 

 

 이 결과를 layer2에 입력하면 다음과 같은 식이 수행된다. 

 

 

 마지막으로 a3를 계산해야 하는데, 세번째 layer인 output layer은 unit이 하나뿐이다. 그렇기 때문에 a3는 스칼라 값이고, 이 값으로 binary classification을 진행할 수 있다.  

 

 

 이것은 왼쪽에서 오른쪽으로 순방향 계산을 하기 때문에 "forward propagation"이라고 한다. 이것은 "backward propagation"과 대조적이며, 출력 레이어에 가까워질수록 유닛의 수가 줄어든다는 특징이 있다.