[모두의 딥러닝] NN for XOR - TensorFlow
📗강의노트/모두의 딥러닝

[모두의 딥러닝] NN for XOR - TensorFlow

728x90
반응형

Sung Kim 님의 "모두의 딥러닝" 강의노트입니다

좋은 강의 감사드립니다!

https://www.youtube.com/watch?v=mQGwjrStQgg&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=5

4개의 instance를 통해 모델을 만들자
 

y값이 0아니면 1이기 때문에 복잡한 softmax를 쓸 필요없이 Binary를 예측하는 logistic 분석하면 된다.  하지만 정확하게 잘 맞지 않는다. 이를 NN으로 해결할 수 있다. 

한 단만 사용하지 않고 여러 단을 묶는 것 ( 이를 위의 사이에 추가하면 정확도가 향상됨 )
Hypothesis의 값은 1일 때 큰 값, 0일 때 작은 값인게 맞는것 (sigmoid함수)
첫 번째 layer1 값이 입력값으로 들어가게 됨 

첫 layer1의 출력값을 크게 해서 wide하게 진행해보자
layer2의 입력값은 앞의 출력값을 받아 똑같이 10이 된다. 
wide하게 했을 때 hypothesis가 1일 때 더 큰값을 갖고 0일 때 더 낮은 값을 가져서 학습이 더 잘 된 것을 알 수 있다. 

Layer를 더 만들어 deep하게 만들 수 있다. 

MNIST data를 wide하고 deep하게 만들어보기 

이를 추가여 deep하고 wide하게 만들었으나 
accuracy가 증가하지 않고 오히려 낮아지면서 맞추지 못하고있다.

이것이 의미하는 것은 무엇일까
network가 더 deep 하고 wide해진다고 accuracy가 더 높아진다는 것은 아닌 것 같다.
단순히 Sigmoid와 softmax의 특성 때문일까?

위 링크를 참고하면 layer에 대한 이해를 도울 수 있다.

요약해보면 다음과 같다
In sum, for most problems, one could probably get decent performance (even without a second optimization step) by setting the hidden layer configuration using just two rules: (i) number of hidden layers equals one; and (ii) the number of neurons in that layer is the mean of the neurons in the input and output layers.


728x90
반응형