퍼셉트론(Perceptron)

 딥러닝의 기본이 근원이 되는 알고리즘으로 가장 기본적인 알고리즘이다.


간단히 설명하면 입력값 X에 가중치 w를 곱해서 합한 값을 임계값으로 판단해 다음으로 넘겨주는 실제로도 엄청 간단한 알고리즘이다. 

기본적인 식은 다음과 같다. 

입력값 X1, X2가 각각 가중치 w1, w2를 가진다고 하고 임계값을 세타라 두고 임계값에 따라 각각 다른 동작을 하게 된다. 밑의 식은 임계값에 따라 0 또는 1을 출력하는 가장 기본적인 퍼셉트론의 식이다. 


(참고: 이 퍼셉트론은 간단한 몇개의 gate로도 구현이 가능하다)

그러나 위 식에서 임계값을 따로 처리하는것은 불편하다. 그래서 임계값을 넘겨줘 하나의 값(b)로 계산한다. 우리는 이걸 편향(bias)이라고 부른다. 

그러나 이런 퍼셉트론은 단일로써는 선형성을 띄기 때문에 보완점이 필요하다. 지금부터 우리는 다층 퍼셉트론과 신경망에 대해 말하도록 하겠다.


다층 퍼셉트론은 비선형성을 띄게 만들 수 있으며 이는 XOR게이트를 구현 할 수도 있다. 그리고 '적절히' 배치를 잘 한다면 '이론적으로는' 컴퓨터를 다층 퍼셉트론을 통해 구현할 수 있다. 하지만 이는 매우 많은 시간과 노력이 필요하고 매우 비효율적이다. 

그래서 신경망이라는 것을 알아보자 

신경망은 값이 입력되는 입력층, 값이 출력되는 출력층 뿐만이 아니라 보이지 않고 계산을 진행하는 중간층(은닉층)으로 구성되어 있다. 그리고 신경망의 퍼셉트론과 다른점은 바로 활성화 함수(activation function)이다. 활성화 함수는 다음 포스팅에서 다루도록 하겠다. 

댓글

이 블로그의 인기 게시물

다양한 계층 구현을 통한 오차역전파법 구현하기(2)

[논문리뷰] 3. CNN에 대하여