TIL/08_DL

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

JJO.OYA 2022. 11. 26. 18:26

 

퍼셉트론(Perceptron)

https://wikidocs.net/book/2155 과 수업시간에 배운 내용 정리

 

 

퍼셉트론 기초 개념

딥 러닝을 이해하기 위해서는 우선 인공 신경망에 대한 이해가 필요한데, 퍼셉트론은 초기 인공 신경망 중 하나이다.

퍼셉트론은 실제 뇌를 구성하는 신경 세포 뉴런과 비슷한 모양을 가졌다.

 

https://www.slideshare.net/jbhuang/lecture-29-convolutional-neural-networks-computer-vision-spring2015

 

 

위의 그림에서 볼 수 있듯이 신경 세포 뉴런에서 가지돌기를 통해 신호를 받아들여 => 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)로 표현할 수 있다. 이 편향 또한 퍼셉트론의 입력에 사용된다.

https://wikidocs.net/book/2155

 

이것을 다시 표현하면,
$$
\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개