1. 네 번째 ML
Artificial Neural Network
(ANN)
네 번째 ML : 인공신경망
Source : https://www.youtube.com/watch?v=uXt8qF2Zzfo ,MIT 6.034 Artificial Intelligence 12a: Nueral Nets
2. by Pyson
인공신경망은 실제 신경회로를 동작 원리 모방하여
유사하게 작동하는 시스템임
Source : http://www.mysearch.org.uk/website1/html/106.Connectionist.html
실제 신경 회로에서는 일정 이상의 자극(Threshold)를
받으면 다음 신경으로 전기 신호를 전달해 줌
3. by Pyson
유사하게 입력의 합( 𝑖=1
𝑛
𝑥𝑖 𝑤𝑖 ) 이 일정 값(Threshold) 이상일 때
출력을 가지게 되는 시스템을 생각해볼 수 있음
Source : https://towardsdatascience.com/multi-layer-neural-networks-with-sigmoid-function-deep-learning-for-rookies-2-bf464f09eb7f
하나의 신경(a neuron)을 표현해보면,
4. by Pyson
Activation 함수를 Sigmoid를 도입하여,
신경회로망을 최적화 시킬 수 있음
(Sigmoid 대신 다른 함수도 가능함)
인공신경망 문제를 해결(w,b 최적화) 하기 위해,
수학적으로 Sigmoid라는 함수를 도입
시그모이드(Sigmoid) 함수
σ 𝑧 = 1
1+𝑒−𝑧
Z = 𝑤𝑖 𝑥𝑖 + 𝑏
입력값이 크면 1에
가까운 값을 출력
입력값이 작으면 0에
가까운 값을 출력
5. by Pyson
f ŷ 가 최소가 될 때, 가장 성능 좋은 시스템을 만들 수 있음
𝑓 ŷ =
1
2N
∗
𝑖=1
𝑛
(𝑦𝑖 − ŷ)2
𝑦𝑖 ∶ 𝑟𝑎𝑤 𝑣𝑎𝑙𝑢𝑒
ŷ ∶ 𝑝𝑟𝑒𝑑𝑖𝑐𝑡 𝑣𝑎𝑙𝑢𝑒,
ŷ =
1
1+𝑒−𝑧 , 𝑧 = 𝑤𝑖 𝑥𝑖 + 𝑏
Error(loss) 함수를 아래와 같이 가정해 보자,
6. by Pyson
Gradient Descent를 구하기 위해, 계산 결과로부터(뒤에서)
역으로 계산함 역전파법, Backpropagation
Error(loss) 함수를
Gradient Descent로 최적화 시키면,
𝛻 𝑓 =
𝜕𝑓 ŷ
𝜕𝑤
=
𝜕𝑓 ŷ
𝜕𝑧
𝜕𝑧
𝜕𝑤
σ 𝑧 = 1
1+𝑒−𝑧z𝑖 = 𝑤𝑖 𝑥𝑖 + 𝑏
𝜕𝑓 ŷ
𝜕𝑤𝑖
𝜕𝑓 ŷ
𝜕𝑧𝑖
𝜕𝑧
𝜕𝑤𝑖
ŷ
15. by Pyson
# input, output(desire) data를 정한
다
# 𝛾, λ, 학습횟수를 정한다.
# w 값을 초기화 한다
# Gradient descent 함수를 구한다
# 루프를 반복하면서 w값을 업데이트 한다.
# 결과를 출력한다.
Pseudo Code