AI/Machine Learning

Neural Networks - Model representation example

Linuxias 2018. 2. 5. 13:44
반응형

Neural Networks

: Model Representation Example


아래 내용은 Andrew Ng 교수님의 강의와 자료를 기반으로 학습한 내용을 정리하여 작성하였습니다.

개인의 학습 내용이기에 잘못 해석 및 이해하고 있는 부분도 있을 수 있으니, 다양한 자료를 기반으로 참고하시는 걸 추천드립니다.



앞서 배웠던 Neural Network의 Model의 예시를 몇 가지 살펴보겠습니다.


  • AND

AND 연산을 Neural Network로 표현할 수 있는지 확인해보겠습니다.


bias가 1이고 입력이 x1, x2인 위와 같은 Neural network가 있다고 할 때, 어떻게 해야 AND 연산을 수행할 수 있는 model을 구할 수 있을까요? AND 연산이니 입력은 x1, x2는 각각 1또는 0만 입력이 될 수 있습니다. x1, x2가 모두 1인 경우에만 출력이 1이고, 이 경우를 제외하고는 출력이 모두 0이여야 합니다. 우리가 수정하여 만들 수 있는 부분은 weight(theta), 즉 가중치 입니다. 가중치를 어떻게 주었을 때 AND 연산이 가능할까요.



가중치를 bias부터 순서대로 -30, 20, 20으로 설정해 보았습니다. 그럼 Output layer의 입력은 

-30 + 20 * x1 + 20 * x2

가 되고 실제 출력은 Sigmoid function을 거친 h(x) = g(-30 + 20 * x1 + 20 * x2) 이 됩니다. 조금 이해되시나요? 그럼 sigmoid function까지 거친 출력은 위와 같은 그래프로 표현이 됩니다. x1, x2의 값에 따른 hypothesis model의 출력을 보시면 AND 연산과 동일한 결과를 얻을 수 있습니다. 



  • OR

OR 연산을 Neural Network로 표현할 수 있는지 확인해보겠습니다. AND와 거의 동일하기 때문에 간단히 살펴보도록 하죠.

bias와 x1, x2의 가중치가 각각 -10, 20, 20입니다. 이 때 hypothesis model은 h(x) = g(-10 + 20*x1 + 20*x2) 입니다. 오른쪽 표로 입력에 따른 결과가 나타나고 있습니다. 이렇게 표현하면 OR 연산이 가능하게 됩니다. 간단하죠?



  • NOT

NOT 연산은 더욱 쉽습니다. 입력은 x1이고 출력은 x1과 반대되는 값이 나오면 되죠. 다른 무언가 추가설명을 드리지 않아도 쉽게 이해하실 거라 믿습니다.



  • XNOR

마지막 예제인 XNOR입니다. XNOR 연산에 대해서 기억나시나요? 입력이 같은 값이라면 1, 아니라면 0인 연산입니다. 다시 말해 {x1, x2}에 대해 {0, 0}, {1, 1}에 대해서는 출력이 1이며, 그 외 경우는 0인 연산이죠. 그럼 XNOR 연산은 어떻게 표현할 수 있는지 살펴보겠습니다.


위 쪽을 살펴보시면 AND연산, (NOT x1) AND (NOT x2)연산, 마지막으로 OR연산이 표시되어 있습니다. XNOR연산 바로 전에 모두 살펴본 내용이니 기억하실 텐데요, 이 3가지를 이용해서 XNOR를 만들어 보시죠. 



위에서 표현된 Model에 대해 하나씩 설명하며 따라가 보겠습니다. 이번 Model에서 특이한 점은 앞의 Model에서는 볼 수 없었던 Hidden Layer가 존재합니다. AND, OR, NOT은 모두 Input, Ouput layer로 2개의 layer만 사용한 것과 달리 XNOR는 Hidden Layer까지 총 3개의 layer가 사용되고 있습니다.


Hidden layer에는 빨간 색으로 표현된 AND 연산과 푸른 색으로 표현된 (NOT x1) AND (NOT x2) 연산이 Hidden layer의 각 unit의 입력으로 주어지고 있으며, Hidden layer에서 마지막 Output layer의 입력으로는 OR 연산이 사용되고 있습니다! 위의 표시된 색깔들에 유의해서 살펴보세요!! 마지막으로 x1, x2 그리고 a1, a2 마지막으로 h(x)의 결과를 보시면 XNOR 연산이 됨을 알 수 있습니다. 처음엔 조금 어려울 수 있으나, 하나하나 따라가다 보시면 분명 쉽게 할 수 있으실 겁니다!!


지금까지 Neural Networks의 Model example에 대해 읽어주셔서 감사합니다.


반응형