퍼셉트론이란?

Untitled

활성화 함수

  1. 계단 함수(Step function)
    1. 입력값이 임계값(여기서 0)을 넘기면 1을, 그렇지 않으면 0을 출력
    2. 은닉층이 없는 매우 기초적인 신경망에서 사용(참고: https://iq.opengenus.org/binary-step-function/)

Untitled

  1. 시그모이드 함수(Sigmoid function)

    1. 신경망이 경사 하강법을 통해 학습을 진행하기 위해서는 미분이 필요
    2. 계단 함수는 임계값 지점에서 미분이 불가능, 나머지 지점에서는 미분값이 0
      1. 이를 해결하기 위해 시그모이드 함수를 사용
    3. 계단 함수와 비슷하게 임계값보다 작은 부분은 0에 가까워지고, 큰 부분은 1에 가까워짐
    4. 모든 지점에서 미분 가능, 미분값도 0이 아님

    Untitled

  2. ReLU 함수(ReLU function)

    1. 시그모이드 함수를 중복하여 사용하게 되면 기울기 소실(Vanishing Gradient) 문제 발생
      1. 기울기 소실 문제를 해결하기 위해서 등장한 것이 ReLU
    2. 양의 값이 입력되면 그 값을 그대로 출력하고 음의 값이 입력되면 0을 반환

    $$ f(x) = \max(0, x) $$

    Untitled

  3. 소프트맥스 함수(Softmax function)

    1. 다중 분류(Multi-classification) 문제에 적용할 수 있도록 시그모이드 함수를 일반화

    2. 가중합 값을 소프트맥스 함수에 통과시키면 모든 클래스의 값의 합이 1이 되는 확률값으로 변환

    3. 수식(참고: https://gooopy.tistory.com/53)

      $$ y_k = \frac{e^{a_k}}{\sum_{i=1}^{n}e^{a_i}} $$

    $$ p_k = k번일 확률/전체 확률 $$

논리 게이트

  1. AND

    1. 입력 신호가 모두 1(True)일 때 1(True)을 출력

      68747470733a2f2f692e696d6775722e636f6d2f754d466e7761662e706e67.png

  2. NAND

    1. Not AND

    2. AND 게이트의 결과의 반대를 출력

      68747470733a2f2f692e696d6775722e636f6d2f364d69436f466b2e706e67.png

  3. OR

    1. 입력 신호 중 하나만 1(True)이라도 1(True)을 출력

      68747470733a2f2f692e696d6775722e636f6d2f7847334f4c45492e706e67.png

  4. XOR

    1. 배타적 논리합(Exclusive-OR)
    2. 입력 신호가 다를 경우 1(True)을 출력
    3. 초기에 퍼셉트론의 한계로 지적되었던 것이 바로 XOR GATE 의 표현