MachineLearning

[MachineLearning] perceptron

SweetDev 2021. 7. 5. 17:41
"밑바닥부터 시작하는 딥러닝"을 읽고 작성한 게시글입니다. 

퍼셉트론의 사전적 정의

 

1. 퍼셉트론이란?

문과스러운 얘기 다 빼고...

 

 

퍼셉트론은 

 

\begin{equation*}
y=\begin{cases}
0\quad (w_1x_1+w_2x_2\leq\theta)\\
1\quad (w_1x_1+w_2x_2>\theta)
\end{cases}
\end{equation*}

인 함수이다. 

 

임계값을 넘으면 1, 아니면 0인 함수라고 생각하면 편하다. 

 

퍼셉트론을 정의하는 값은 $ \theta, w_1, w_2, ..., w_n$이 된다. 

 

만약 $\theta$ 를 $-b$로 치환해보면, 

 

 

\begin{equation*}
y=\begin{cases}
0\quad (w_1x_1+w_2x_2+b\leq0)\\
1\quad (w_1x_1+w_2x_2+b>0)
\end{cases}
\end{equation*}

 

이런 함수가 될 것이다. 이 함수는 이후 딥러닝에서 많이 사용되므로 기억해두자.

$b$를 편향(bias)로, $w_1, w_2$를 가중치(Weight)으로 말한다. 

 

2.  딥러닝에서 퍼셉트론을 왜 사용할까??

퍼셉트론을 여러층 쌓아서 신경망 형태의 인공지능을 구현할 수 있기 때문이다. 

굉장히 linear해보이는 이 퍼셉트론을 여러 층 쌓기만 해도 훨씬 복잡한 함수를 구현할 수 있다. 

 

예를 들어, XOR게이트는 한 층의 퍼셉트론으로는 구현 불가능하다. 그러나 다층 퍼셉트론으로는 구현 가능해진다.

 

3. 딥러닝에서 퍼셉트론이라는 용어

일반적으로 '단순 퍼셉트론'은 단층 네트워크에서, step function을 활성화 함수로 사용한 모델을 가르키고,

'다층 퍼셉트론'은 신경망을 가리킨다고 한다.