티스토리 뷰

목차



    1. 퍼셉트론??

    단순 퍼셉트론으로 불리는 그래프

    인공 뉴런 / 단순 퍼셉트론으로 불리며, 그림에서 처럼 2개의 노드로부터 입력을 받아 $y$를 출력하는 형태이다. $x_1, x_2$를 노드 $w_1, w_2$를 가중치 $y$를 출력값으로 한다.

    퍼셉트론을 수식으로 나타내면 다음과 같다.

    $$ y = \begin{cases} 0 \ (w_1x_1+w_2x_2 \le \theta) \\ 1 \ (w_1x_1+w_2x_2 \ge \theta)\end{cases} $$

     

    2. 단순 논리 회로

     

    1. AND 게이트

    진리표

    x1 x2 y
    0 0 0
    0 1 0
    1 0 0
    1 1 1

    입력이 둘, 출력이 하나인 게이트로 퍼셉트론으로 표현할 수 있다.

    $ (w_1, w_2, \theta) = (0.5, 0.5, 0.7), (0.5, 0.5, 0.8) $ 등 무수히 많은 조합으로 AND 게이트 표현이 가능하다.

     

    2. NAND 게이트와 OR 게이트

    NAND : Not AND를 의미한다.

    진리표

    x1 x2 y
    0 0 1
    0 1 1
    1 0 1
    1 1 0

    퍼셉트론으로 게이트를 표현하려면 AND게이트의 조합의 부호를 모두 반전시키면 된다.

    OR 게이트 진리표

    x1 x2 y
    0 0 0
    0 1 1
    1 0 1
    1 1 1

     

    AND, NAND, OR 모두 퍼셉트론으로 표현 가능하다.

     

    3. 편향

    편향을 추가했을 때 퍼셉트론은 다음과 같이 작성할 수 있다.

    $$ y = \begin{cases} 0 (b + w_1x_1 + w_2x_2 \le \theta) \\ 1 (b + w_1x_! + w_2x_2 \ge \theta) \end{cases} $$

    가중치와는 다른 역할이다. 가중치는 결과에 영향력을 조정하는 매개변수라 하면 편향은 활성화정도를 조정하는 매개변수인데 Neural Network에서 필수 요소인 Activation Function 통과 후 출력 값을 조절하는 역할을 한다. Input data의 성향을 반영한다 정도로 이해하면 편하다.

     

    3. 퍼셉트론의 한계

    1. XOR 게이트

    둘 중 한쪽만 1일 때 1을 출력하는 게이트로 진리표는 다음과 같다.

    x1 x2 y
    0 0 0
    0 1 1
    1 0 1
    1 1 0

    지금까지의 퍼셉트론으로는 구현은 불가능하다. 다음 그림을 통해 확인해보자

    OR 문제는 선형으로 조건을 만족시킬 수 있다.

    위의 그림처럼 $b+w_1x_1 +w_2x_2$ 를 그리면 조건을 만족시킬 수 있다.

    XOR 문제는 선형으로 해결할 수 없다.
    비선형으로만 해결 가능

    XOR 문제는 주어진 선형식으로 구현하는 것은 불가능하고, 위의 두번째 그림처럼 비선형 표현이 필요하다. 이를 해결해주는 것이 다층 퍼셉트론(MLP)이다.

     

    4. 다층 퍼셉트론

    퍼셉트론으로 층을 쌓아서 다층 퍼셉트론을 만들 수 있다. 2개의 층으로 XOR을 표현할 수 있다.

     

    기존 게이트 조합

    XOR 게이트를 만드는 방법은 다양하지만 그 중 하나는 AND, NAND, OR 게이트를 조합하면 다음과 같다.

    NAND - OR 이 병렬적으로 구성되어 있다.
    게이트의 그래프 버전

    XOR 진리표

    x1 x2 s1 s2 y
    0 0 1 0 0
    0 1 1 1 1
    1 0 1 1 1
    1 1 0 1 0

    s1은 NAND, s2는 OR, y는 s1, s2에 대한 AND 게이트의 출력값이다.

    이러한 방법으로 단층 퍼셉트론으로 표현하지 못한 것을 층을 쌓으면서 다양한 것으로 표현할 수 있다.

    이론 상으론 컴퓨터를 만들 정도로 표현력이 뛰어나다.