[Deep Learning] 밑바닥부터 시작하는 딥러닝(사이토 코기, 한빛미디어) : 2장 퍼셉트론

한은기·2021년 7월 21일
0

Deep Learning

목록 보기
1/12
post-thumbnail

2.1. 퍼셉트론 알고리즘

  1. 퍼셉트론(Perceptron) : 다수의 신호를 입력으로 받아 하나의 신호를 출력. 0(흐르지 않음), 1(흐름)으로 입력 및 출력함
  1. 가중치(weight, w) : 각 신호가 결과에 주는 영향력을 조절하는 요소
    1) 복수의 입력 신호 각각에 고유한 가중치를 부여함
    2) 가중치가 클수록 해당 신호가 그만큼 더 중요해짐
  1. 뉴런, 노드(node) : 신호의 입출력 하는 주체
  1. 임계값(theta, 𝜃) : 뉴런이 활성화되기 시작하는 값. 뉴런에서 보낸 신호의 총합이 임계값을 넘을 때만 1을 출력함(=’뉴런이 활성화한다’)
  1. 편향(bias, b) : 뉴런이 얼마나 쉽게 활성화되는지를 조정하는 매개변수. 입력신호에 가중치를 곱한 값에, 편향을 더함

2.2. 단순한 논리회로

  1. AND 게이트 : 입력이 2개, 출력이 1개인 게이트. 두 입력이 모두 1일 때만 1을 출력하고, 그 외에는 0을 출력
  1. NAND 게이트 : Not And로, AND 게이트의 출력을 뒤집은 형태. 두 입력이 모두 1일 때만 0을 출력하고, 그 외에는 1을 출력. AND 게이트의 매개변수(w1, w2, 𝜃) 부호를 모두 반전하면 됨
  1. OR 게이트 : 입력 신호 중 하나라도 1이면 1을 출력

기계학습은 매개변수의 값을 정하는 작업을 컴퓨터가 자동으로 함. 사람은 퍼셉트론의 모델을 고민하고 학습할 데이터를 제공하는 역할

학습 : 적절한 매개변수 값을 정하는 작업


2.3. 퍼셉트론의 구현

Python 코드로 AND, NAND, OR 게이트를 구현한다. 자세한 코드 소스는 하단 링크 참조


2.4. 퍼셉트론의 한계 및 XOR 게이트

  1. XOR 게이트 : 배타적 논리합 논리회로. 입력값 중 한쪽이 1일때만 1을 출력
    1) AND, OR 게이트로는 XOR 게이트 구현 불가
    2) AND, OR 게이트는 직선으로 게이트의 출력을 나타낼 수 있으나, XOR 게이트는 아님
  1. 퍼셉트론으로는 직선 하나로 나눈 영역만 표현 가능

2.5 . 다층 퍼셉트론(Multi-layer Perceptron)

  1. XOR 게이트 구현 : 소스 코드는 하단 링크 참조
    1) 기존 게이트 조합으로 구현 가능
    2) 입력신호가 각각 NAND, OR게이트를 통과하고, 이 두 게이트의 출력값이 OR 게이트의 입력값으로 들어감

  2. 다층 퍼셉트론 : 층이 여러개인 퍼셉트론
    1) 단층 퍼셉트론으로 XOR 게이트를 구현 못 함
    2) 입력층을 0층이라 하면 XOR 게이트는 0, 1, 2층(출력)으로 구성된 2층 퍼셉트론
    3) 층을 깊게 쌓아 단층 퍼셉트론으로 구현하지 못한 것을 늘려 구현 가능함


참조 링크

밑바닥부터 시작하는 딥러닝 2장 예제 소스

profile
🏫Inha Univ. Naval Architecture and Ocean Engineering & Computer Engineering (Undergraduate) / 🚢Autonomous Vehicles, 💡Machine Learning

0개의 댓글