1. 퍼셉트론 개념
퍼셉트론이란? 다수의 신호를 입력받아 하나의 신호를 출력하는 것으로 '인공 뉴런' 혹은 '단순 퍼셉트론'이라 불리며 신호는 흐른다(1)와 안 흐른다(0) 두 가지 값을 가질 수 있다.
입력 신호에 각각의 고유한 가중치를 곱한 값이 다음 뉴런에 보내진다. 이전 뉴런에서 보내온 신호의 총합이 임계값(θ, theta)보다 크면 1을 출력하며 이를 '뉴런이 활성화한다'라고 표현한다. 가중치는 입력 신호의 영향력(중요도)을 조절하며, 클수록 중요한 신호라는 것을 의미한다.
2. 논리 회로
2.1 AND게이트
AND게이트란? 두 입력이 모두 1일 때는 1을 출력하고, 그 외에는 0을 출력하는 것이다.
AND게이트를 퍼셉트론으로 표현하려면 w1, w2, θ값이 있어야 하며, (0.5, 0.5, 0.9), (1.0, 1.0, 1.0) 등 많은 매개변수 조합이 있다.
2.2 NAND게이트
NAND게이트란? Not AND를 의미하며, AND게이트와 반대로 두 입력이 모두 1일 때는 0을 출력하고, 그 이외에는 1을 출력하는 것이다.
NAND게이트를 퍼셉트론으로 표현하려면 (w1, w2, θ) = (-0.5, -0.5, -0.9)와 같은 조합이 필요하다. AND게이트의 매개변수에 마이너스(-) 부호를 곱하면 NAND게이트가 된다.
2.3 OR게이트
OR게이트란? 입력 신호 중 하나 이상이 1이면 출력이 1이되는 것이다.
OR게이트를 퍼셉트론으로 표현하려면 (w1, w2, θ) = (1.0, 1.0, 0.9)와 같은 조합이 필요하다.
AND, NAND, OR 게이트 모두 같은 퍼셉트론 구조를 가지고 있으며, 같은 퍼셉트론 구조에 매개변수 값을 적절히 조정하며 AND, NAND, OR 논리 회로를 만들 수 있다.
★퍼셉트론의 매개변수는 사람이 정하는 것이다. 머신러닝은 이 매개변수의 값을 컴퓨터가 자동으로 정하는 것을 말하며, 적절한 매개변수의 값을 정하는 작업을 학습이라고 한다. 사람은 퍼셉트론의 구조, 즉 모델을 설계하고 컴퓨터에 학습 데이터를 주는 역할을 한다.
3. 퍼셉트론 구현
퍼셉트론의 표현을 다른 방식으로 수정하여 θ를 -b로 치환하여 좌변으로 이항하면, 다음과 같이 표현할 수 있다.
이때 b를 편향(bias)이라 하며, 뉴런이 얼마나 쉽게 활성화할 것인지를 조정하는 매개변수이다. (예를 들어 b = -0.1일 때보다 b= -30일 때 활성화 기준이 높음). 위의 식을 해석하면 퍼셉트론은 입력 신호에 가중치를 곱하여 편향을 더해 그 값이 0을 넘으면 1을 출력하고 그렇지 않으면 0을 출력하는 것이다.
NAND와 OR게이트를 구현하려면 위의 AND게이트 구조에 가중치(w)만 적절하게 바꾸어주면 된다.
<배운 것>
· 퍼셉트론은 입출력을 가진 알고리즘이며, 입력을 주면 정해진 규칙에 따른 값을 출력하는 것이다.
· 퍼셉트론에서는 가중치(w)와 편향(b)을 매개변수로 설정한다.
· 퍼셉트론으로 AND, NAND, OR게이트의 논리 회로를 표현할 수 있다.
출처: 사이토 고키, 『밑바닥부터 시작하는 딥러닝』, 한빛미디어(2017), p47-54.
https://www.hanbit.co.kr/store/books/look.php?p_code=B8475831198
'AI > 밑딥' 카테고리의 다른 글
딥러닝) 다차원 배열, 신경망 구현 (0) | 2021.02.13 |
---|---|
딥러닝) 활성화 함수 Activation Functions (0) | 2021.02.10 |
딥러닝) 퍼셉트론에서 신경망 (0) | 2021.02.02 |
딥러닝) 다층 퍼셉트론 (0) | 2021.01.31 |
딥러닝) 퍼셉트론의 한계, 선형과 비선형 (0) | 2021.01.31 |
댓글