본문 바로가기
  • 紹睿: 자유롭고 더불어 사는 가치있는 삶
Study/모두를 위한 딥러닝 시즌1

Lec 09 - XOR 문제를 풀자

by 징여 2018. 5. 17.
반응형



이 XOR문제를 풀어보자!!!




Neural Network(NN)


1개가 아니라 2개 unit을 이용하여 XOR문제를 해결해 볼것임!!!

그림으로 나타내면 다음과 같은데, 이러한 애들이 있다는 가정하에 문제를 풀어서 과연 XOR문제를 풀수 있는지 보려고한다!



이걸 하나로 풀어서 XOR값이 제대로 나오는지 확인해보장. 하나의 예로 처음 (0,0) -> XOR이 0 이 되는지 보면, 정답이 나옴....ㅋㅋㅋㅋㅋㅋㅋ





간단하다 x_1,x_2의 값에 sigmoid를 적용해서 0,1로 뽑고 그걸 넣어 문제를 풀어 나가면된당. 간단데스

이러한 것을 Forward propagation이라고 한다.


다시 그림으로 표현하면 다음과 같은 NN(Neural network)이 되고......(그림으로 그리기 어렵다 ㅠㅠ흐긓그흑)




이 빨간 부분을 다시 하나로 표현하면, 아래와 같아진다..




앞부분을 1(W,B)이라고 하고, 뒤를 2(W,b)라고 했을때,

식으로 표현하면 다음과 같이 표현이 가능하다.






문제를 풀 수 있는지 보기위해서 Weight 값과 bias 값들을 임의로 넣어서 풀었는데, 그럼 우리는 이 값을 어떻게 구할 수 있을까?

이전까지 우리는 Gradient descent 사용했었는데, layer들 이 많다 보니 미분을 계산하기 어려워 진다.


여기서 나온 것이 backpropagation! 이다

Backpropagation을 이해하기 위해서 다음과 같은 식이 있다고 생각해보자



f를 그래프로 나타내서 forward가 아니라 backward로 뒤로 미분을 해나아가면, 우리가 원하는 x라던가.. 순차적으로 해결해 나아갈 수 있다

(계산하기 편하게 미분값을 미리 적어놓았다. 그리고 chain rule만 잘 이용한다면 w, x, b의 미분을 곰방곰방 해낼 수 있당)





여러가지가 있다고 해도, 결국에 x와 y의 미분값은 차분히 뒤에서부터 앞으로 나아가 계산하면 구할 수 있단다!!! 그래서 tensorflow가 그래프 형식으로 되어있는거라구.....하심 ㅋㅋ



후, 그래도 적어가면서 하니까 뭔가 머리속에 잘 정리되는것 같당..근대 그림같은걸 powerpoint로 이용해서 그리다 보니까 넘나 엉성하다 흑흐그흐그 흐그...



반응형

댓글