본문 바로가기
Programming/Deep learning

lec 9-1 : XOR 문제 딥러닝으로 풀기 / lec 9-2 : backpropagation

by OKOK 2018. 5. 6.

Multiple logistic regression units.

No one on earth had found a viable way to train.


Forward propagation

Can you find another W and b for the XOR?

XOR 을 하나의 로지스틱 회귀로 풀 수 있는가. and, or 는 쉽게 풀 수 있습니다. 그래프로 나타내서. xor 은 초창기 NN 연구자들에게 절망을 주었던 문제입니다. 하나의 로지스틱 회귀로는 문제를 절대로 풀 수 없다는 것이 수학적으로 증명되었습니다. 하나가 아니라 두개 또는 3개를 합치면 풀 수 있습니다. 그런데! 여러 가지로 겹치면 풀 수는 있지만 각각의 복잡한 네트워크에 들어있는 weight 와 bias를 학습 할 수 있는가? 이것은 불가능하다는 것입니다. 민스키 교수님이 최종적으로 문제 "W1, W2, B1, B2를 자동적으로 계산해 낼 수 있을까?"


lec 9-2 : 딥 넷트워크 학습 시키기(backpropagation) 

코스트를 최소화하는 것. 코스트 함수. 

x1이 y1에 끼치는 영향을 알아야 웨이트를 조정합니다. 각각의 웨잇을 조절할 수 있어야 합니다.

이런 문제점을 해결하는 방법은 Backpropagation!

 

Back propagation(chain rule)

f = wx + b, g = wx, f = g + b; 이렇게 정의를 할 수 있습니다. 그래프형태로 표시를 해보면 아래와 같은 그림이 됩니다. 더블유, 엑스, 비가 에프에 미치는 영향을 알고 싶은 것 입니다.



이 값을 구하고 싶은 것입니다. 방법이 2가지가 있습니다. 첫번째는 forward, 두번째는 backward 입니다. 첫번째는 그래프에 값을 입력시킵니다. 영향을 미치는 것이 뜻합니다. 백프로파게이션. 단순하게 체인룰으로 이해할 수 있습니다. 조금 더 복잡한 경우가 있다고 생각해봅니다.


backpropagation 은뒤에서 부터 시작하여 하나씩 올라갑니다.


따라서 아무리 복잡해도 미분을 사용해서 weight, bias 를 구할 수 있었습니다.