[Neural Net]
XOR 문제를 3개의 network로 풀어보자.
1. 두 개의 입력 값 X1, X2에 대하여 weight, bias 값과 함께 WX+b 연산을 진행한다.
2. 위 과정을 두 개의 유닛에서 진행하여 출력 값 Y1, Y2를 얻는다.
3. 출력 값 Y1, Y2에 sigmoid 함수를 적용하여 최종 값 Y1, Y2를 얻는다.
4. 두 개의 입력 값 Y1, Y2에 대하여 weight, bias 값과 함께 WX+b 연산을 진행한다.
5. 출력 값 Y’에 sigmoid 함수를 적용하여 최종 값 Y’를 얻는다.
6. 최종 값 Y’의 값이 XOR 연산 결과 값과 일치하는지 확인한다.
[Forward propagation]
위 계산 과정을 다음과 같이 두 개의 유닛으로 구성된 하나의 Neural Network로 나타낼 수 있다.
[Neural Network (NN)]
Multinomial classification을 이용하여 Neural Network를 더 간단히 나타낼 수 있다.
[How can we learn W1, W2, B1, b2 from training data?]
training data로부터 weight, bias 값을 어떻게 학습할 수 있는가? Neural Network에서는 Back propagation 알고리즘을 활용하여 입력 값에 따라 출력 값이 어떻게 변화하는지 알아낸다.
[Back propagation (chain rule)]
f=wx+b라는 식에서 wx를 g로 치환하여 f=g+b라는 식을 만든다. 이를 Neural Network로 다음과 같이 나타낼 수 있다.
1. forward로 학습 데이터에서 w, x, b의 값을 얻어와 그래프에 값을 입력한다.
2. backward로 w, x, b가 f에게 미치는 영향을 각각 미분 값으로 나타낸다. chain rule을 이용해 최종 입력 값에서 최종 출력 값까지의 미분 값을 구할 수 있다.
'인공지능 > 모두를 위한 딥러닝 시즌 2' 카테고리의 다른 글
Weight Initialization (0) | 2023.08.20 |
---|---|
Relu (0) | 2023.08.13 |
딥러닝의 기본 개념 (0) | 2023.08.13 |
application and tips (0) | 2023.08.06 |
Softmax Classifier (0) | 2023.08.06 |