사람의 신경 세포(Neuron)를 모방하였다.
Neuron : Dendrite + Soma + Axon ==> x + node + y,
neuron은 synapse를 통해 정보를 전달, x에 weight로 변화를 주어 func input을 줄 때 weight가 synapse의 역할
이때, 실제 Neuron에서 역치이상에 대해 발아를 하듯이
Neuron Network에서도 역치를 설정하여 이를 발아를 결정할 수 있다.
이를 Activation Function을 통해 수행한다.
ex) 역치 0.5이상이냐 이하냐에 따라 발아를 결정하고자 하면, 간단하게 0.5기준 step function
최종적으로 하나의 Network Layer를 통과하면
다음의 수식을 통해 output이 나온다고 생각하면 된다. 해당을 perceptron의 기본 구조이다.
위의 Perceptron 구조가 있다고 했을 떄, node와 weight들에 있어서 weight를 변화시키는 것을 train이라고 부른다.
new_weight = weight+input*error*learning_rate,
다만 여기서, 선형적으로 분리가 되지 않는 문제가 있다고 생각해보면 이를 Perceptron으로 classification가능할까?
-> No
이를 해결하기 위해서 Multi-Layer Neuron Network가 생겼다.
이때, Layer가 많다는 것을 deep하다고 표현해서 deep learning이라고 부르게 된다.