-
More Complex Neural Networks | Advanced Learning AlgorithmMachine Learning/Stanford ML Specialization 2024. 1. 27. 14:49
지난 시간에 Neural Network에서 각 레이어에서 노드들이 어떻게 계산을 하고 입.출력을 받아서 결과값을 만들어내는지에 대해 배웠다. 이번에는 Hidden Layer(은닉 레이어)가 1개 이상인 경우를 만들어보자.
만약, 레이어의 수가 총 5개인데, 인풋 레이어 (layer0), Hidden Layer (layer 1, 2, 3) 그리고 아웃풋 레이어 (layer 4)가 있고, 아래와 같다고 가정해보자.
layer 1: 노드 4개 layer 2: 노드 5개 layer 3: 노드 3개
layer 2에서는 결과값이 5개가 나올것이다. 즉, vector 사이즈가 5인 인풋을 이용해서 layer 3에 도달하게 될것이고, layer 3의 세 노드에서는 다음과 같은 연산이 이뤄진다.
방금 언급한것처럼, a^[2]는 layer 2에서의 결과값이고, 그 벡터를 갖고 3개의 노드를 이용해서 연산할 수 있다. 예를들어 첫번째 노드에서는 w1^[3] 과 b1^[3]을 이용해서 z값을 계산하고, 그 z값을 sigmoid 함수에 대입한 값이 a1^[3], 즉 첫번째 노드에서의 결과값이 된다. 그래서 a^[3] 은 [a1^[3], a2^[3], a3^[3]] 세개의 값이 담겨진 벡터를 의미하며, 이 벡터는 a4를 연산하기 위한 최종 인풋이 된다.
이 레이어 뿐만 아니라, 각 레이어에 표기하는 방식은 동일하다. 이렇게 각 노드마다 계산을 한 것을 Activation Value라고 하는데, layer l에 대한 j번째 노드의 Activation Value는 다음과 같다.
여기서 a^[l - 1]은 이전 레이어의 아웃풋이라고 할 수 있고, 그 레이어의 넘버는 l - 1 이다. 또한 wj 와 bj는 해당 레이어마다 주어진 값이며, 각 노드마다 다르게 주어진 값이기 때문에, l 레이어의 j번째 노드의 w값은 wj^[l]으로 표기한다. 그리고 마지막으로 g는 sigmoid 함수를 의미한다. Neural Network에서 이 g, 즉 sigmoid function은 활성화 함수(Activation Function)이라고도 불리는데, g가 이 활성화 값(Activation Value)를 출력하기 떄문이다.
'Machine Learning > Stanford ML Specialization' 카테고리의 다른 글
Neurons and Layers - Neuron without activation - Regression/Linear Model | Advanced Learning Algorithm (1) 2024.02.03 Inference: making predictions | Advanced Learning Algorithm (0) 2024.02.03 Neural Network Layer | Advanced Learning Algorithm (1) 2024.01.27 Recognizing Images | Advanced Learning Algorithm (0) 2023.11.14 Demand Prediction | Advanced Learning Algorithm (1) 2023.11.14