본문 바로가기

Python/DeepLearning

퍼셉트론에서 신경망으로(1)

 퍼셉트론은 구현하기 간편하고 좋아보이지만 한 가지 단점을 가지고 있다. 가중치를 여태 직접 정해준 것이다. 결과를 보면서 내가 적절한 가중치 값을 정해주었는데 이 것은 비효율적이다. 문제를 해결하기 위해 신경망을 사용할 수 있다. 신경망은 가중치 매개변수의 적절한 값을 데이터로부터 자동으로 학습하는 능력을 가지고 있다.

 다시 퍼셉트론을 복습하고 지나가자면 편향을 나타내는 매개변수를 포함하여 표현할 수 있다.

실제 입력은 x1, x2 이지만 1*b (가중치) 입력까지 포함해주어 출력을 결정한다. 편향은 항상 존재하기 때문에 1로 표현해주었다. 여기서 퍼셉트론또한 하나의 함수로 표현할 수 있다.

$$y = h(b + W_1*X_1 + W_2*X_2)$$

$$h(x) = 0 (x<=0), 1 (x>0)$$

이렇게 입력 신호의 총합을 출력 신호로 변환하는 함수를 활성화 함수(activation function)이라 한다. 신호의 총합이 활성화를 일으키는지 정해주는 역할을 해준다. 식을 다시 정리해본다.

$$a = b + W_1*X_1 + W_2*X_2$$

$$y = h(a)$$

이 식대로 활성화 함수의 처리과정을 다시 그려본다.