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을 활성화 함수로 사용한 모델을 가르키고,
'다층 퍼셉트론'은 신경망을 가리킨다고 한다.