딥러닝 기초 - 퍼셉트론(Perceptron) (1)

퍼셉트론(Perceptron)
https://wikidocs.net/book/2155 과 수업시간에 배운 내용 정리
퍼셉트론 기초 개념
딥 러닝을 이해하기 위해서는 우선 인공 신경망에 대한 이해가 필요한데, 퍼셉트론은 초기 인공 신경망 중 하나이다.
퍼셉트론은 실제 뇌를 구성하는 신경 세포 뉴런과 비슷한 모양을 가졌다.

위의 그림에서 볼 수 있듯이 신경 세포 뉴런에서 가지돌기를 통해 신호를 받아들여 => Input,
그 신호가 일정치 이상의 크기를 가지면 => Weight(가중치),
축삭돌기를 통해서 신호를 전달 => Output
이 구조를 나타낸 것이 퍼셉트론이다.
그럼 퍼셉트론이 인공 신경망에서 어떻게 작동하는지 알아보자.
위 그림에서 볼 수 있듯이 인공 신경망은 다 수학이고 퍼셉트론도 수학 식으로 나타낼 수 있다.
어떤 자극(Input) $x_0, x_1, ... , x_n$ 이 $w_0, w_1, ... , w_n$ 세기로 들어왔다면 그 자극은 $x_0 * w_0, x_1 *w_1, x_n * w_n$이 될 것이다. 이것을 수학적 기호인 시그마(summation) $\sum{x_iw_i}$으로 나타낸다.
이 때, 각 입력 자극에 고유한 weight가 곱해지는 형태인데, 이는 weight가 클수록 해당 신호가 중요하다는 것을 의미한다.
이 자극이 다음 신경세포로 넘어갈 수도 있고 못 넘어 갈 수도 있는데, 이 자극이 어떤 임계치(threshold)를 넘으면 다음 신경세포로 넘어갈 수 있다. 그리고 다음 신경세포로 넘어간 경우를 1, 못 넘어간 경우를 0 또는 -1로 표현한다.
또, 보통 이 임계치 값을 세타($\theta$) 라고 표현하는데 이 내용을 식으로 표현한다면 다음과 같다.
$$
\hat{y} = \begin{cases} +1 & if\ \sum_i^{n}w_ix_i \geq \theta \\ -1\ or\ 0 & otherwise\end{cases}
$$
마지막으로, 임계치(\theta)를 좌변으로 넘기면 편향 b(bias)로 표현할 수 있다. 이 편향 또한 퍼셉트론의 입력에 사용된다.

이것을 다시 표현하면,
$$
\hat{y} = \begin{cases} +1 & if\ \sum_i^{n}w_ix_i + b \geq 0 \\ -1\ or\ 0 & otherwise\end{cases}
$$
편향은 해당 퍼셉트론이 얼마나 쉽게 1을 출력하느냐( = 활성화 하느냐)를 조정하는 역할을 한다. 만약 임계치가 낮다면 쉽게 활성화 될 수 있고, 반면 임계치가 아주 높다면 활성화되기가 어렵다.
임계치가 높을 수록 좋은지 낮을 수록 좋은지는 알 수 없는데, 그 이유는 만약 임계치가 높다면 해당 퍼셉트론을 엄격하게 통과시키므로 통과하는 퍼셉트론은 적어진다. 그 경우 변수가 적어지고 모델이 간단해 질 수 밖에 없는데 오히려 과소적합(underfitting)의 위험이 발생할 수 있다. 반대로 임계치가 낮다면 허용범위가 넓어지는 만큼 변수도 많아지고 복잡한 모델이 만들어 질 것이다. 그 경우 필요없는 변수(노이즈)들이 포함될 가능성이 높아지고 과대적합(overfitting)의 위험이 발생한다.
편향 b(bias)
= 퍼셉트론이 얼마나 쉽게 활성화 되는지의 정도
정리
Perceptron이란?
- 초기 인공신경망 모델로 신경세포 뉴런과 비슷하게 생김
- $\hat{y} = w_0 + w_1x_1 + ... + w_nx_n$
- 레이어 한 층, 노드 하나, 입력 변수 1개