Neural Networks (1)

2019. 2. 7. 10:44Artificial Intelligence

*첨부한 자료의 모든 저작권은 COURSERA에 있음을 미리 밝힙니다.


Neural Networks (1)

- Basic Model of Neural Networks


지금까지 Linear Regression과, Logistic Regression의 방법을 통해

Linear Model과 Classification 모델에서 컴퓨터가 기계학습을 어떻게 하는지 살펴보았다.

이제 이러한 모델들을 바탕으로 Neural Network, 즉 인공 신경망을 구축하여 더 복잡한 학습들을 수행하는 모델을

구축하고자 한다.


save image




우선 '인공 신경망' 을 구축하기 위해 실제 사람의 신경망이 어떤 구조로 연결되어 있는지를 살펴보아야 한다.

사람의 신경세포는 Input Wire의 역할을 수행하는 "Dendrites"와 Computation을 수행하는 "Cell Body", 그리고 Output Wire의 역할을 수행하는 "Axon"으로 구분할 수 있다. 이러한 신경세포가 하나의 Computational Unit이 되어 더 복잡한 계산과 작업을 수행하는 모델의 일부분이 되는 것이다.




save image



<Logistic Unit>


앞서 살펴본 사람의 신경세포의 모습을 바탕으로 Computational Model을 디자인한 것이다.

x1, x2, x3가 Input wire를 통해 Computational Body로 들어오고, (이때, x0도 들어오는데, 이는 상수 부분으로 항상 1의 값을 가지며 이를 'Bias Unit' 이라고도 부른다.) Computational Body는 정보를 처리해서 Output wire를 통해 처리한 정보를 내보낸다. 마지막 wire의 출력 결과물은 가설함수의 값이 된다.


Computational Body에서 처리된 정보는 Output wire로 넘어가기 전에 Activation Function을 통해 값이 한번 변환되는데, 이는 Classification Model에서 정보의 값의 범위를 [0, 1]로 맞추어 분류하기 편리하도록 만들어주는 Sigmoid Function(Logistic Function)과 같은 역할을 한다. 



save image




앞서 살펴보았던 Logistic Unit들을 연결하여 인공 신경망을 간단하게 구축한 모습이다.

Input Unit은 x1, x2, x3의 3개가 되며 이 Input Unit 이 있는 하나의 라인을 Layer라고 부른다. 즉 [x1, x2, x3]는 Layer 1의 원소들인 것이며 주어진 예제에는 Layer 3까지 존재하는 것이라고 할 수 있다. 이 때 마지막 Layer 인 Layer 3의 결과물은 Sigmoid함수(여기서는 Activation 함수)를 통해 Mapping 되어 우리가 원하는 결과물을 얻게 된다. 단, 우리가 Sigmoid Function Mapping을 수행했기 때문에 결과는 0 아니면 1이 될 것이다. (일종의 Classification Model)






반응형

'Artificial Intelligence' 카테고리의 다른 글

Multi-Class Classification with Octave  (0) 2019.02.08
Neural Networks(2)  (0) 2019.02.07
Logistic Regression with Octave  (0) 2019.02.04
MachineLearning - The Problem of OverFitting  (0) 2019.02.03
MachineLearning - Classification(3)  (0) 2019.02.03