📍퍼셉트론 개요
- 1957년에 고안된, 신경망(딥러닝)의 기원이 되는 알고리즘
- 다수의 신호(흐름)를 입력으로 받아 하나의 신호를 출력
- 퍼셉트론 신호는 1(흐름), 0(흐르지 않음)의 2가지 값을 가짐
📍퍼셉트론 동작 원리
- 예) 입력이 2개인 퍼셉트론
퍼셉트론 사진 설명
- 원: 뉴런 또는 노드
- x: 입력 신호
- y: 출력 신호
- w: 가중치
- 입력신호와 가중치가 곱해지며(w1x1, w2x2) 뉴런에서 보내온 신호의 총합이 정해진 한계(임계값, 세타)를 넘을 때만 1을 출력(=뉴런이 활성화)
- 예) 퍼셉트론 동작원리를 수식으로 표현
📍논리 회로
1. AND 게이트
- 입력2, 출력1 이며, 입력이 모두 1일 때만 1을 출력하고 나머지는 0
- 예) AND 게이트 진리표
퍼셉트론으로 표현
w1 = 0.5
w2 = 0.5
세타 = 0.7 라고 가정하면
case1) 매개변수 설정 x1 = 1, x2 = 1 이고 w1, w2 = 0.5, 세타 = 0.7
w1 * x1 + w2 * x2 >= 세타
0.5 * 1 + 0.5 * 1 >= 0.7
=> 퍼셉트론 만족하므로 y = 1 가능
2. NAND 게이트 (Not AND)
- AND 게이트와 반대되는 값 출력
- x1, x2 가 모두 1일 때만 0을 출력
- NAND 게이트 진리표
00 1
10 1
01 1
11 0
case1) 매개변수 설정 x1 = 1, x2 = 1 이고 w1, w2 = -0.5, 세타 = -0.7
w1 * x1 + w2 * x2 >= 세타
-0.5 *1 + -0.5 * 1 < -0.7 이므로 0 출력
- 머신러닝, 딥러닝에서는 매개변수 값을 정하는 것을 컴퓨터가 자동으로 하게 만든다
- 학습: 적절한 매개변수 값을 정하는 작업
3. OR 게이트
- 입력 신호 중 하나 이상이 1이면 1 출력
- OR 게이트 진리표
00 0
10 1
01 1
11 1
📍퍼셉트론 구현
1. AND 게이트
매개변수 설명
- 가중치(weight): 입력 신호가 결과에 주는 영향력을 조절
- 편향(bias): 뉴런이 얼마나 쉽게 활성화하느냐를 결정
2. NAND 게이트, OR 게이트
3. XOR 게이트
- x1, x2 중 한 쪽이 1일 때만 1 출력
- 진리표
x1 x2 y
0 0 0
0 1 1
1 0 1
1 1 0
지금까지의 방법으로 구현 불가 (퍼셉트론의 한계)
- OR 게이트 시각화해보면 아래 그래프와 같음
- 선형(linear) 영역
XOR 게이트를 시각화 해보면 아래 그래프와 같음
- 한 직선으로 영역 구분 불가
- 비선형 영역
따라서 XOR 게이트를 구현하려면 단층 퍼셉트론이 아닌 다층 퍼셉트론 필요(multi-layer perceptron)
- 단층 퍼셉트론: 선형 영역만 구현 가능
- 다층 퍼셉트론: 비선형 영역까지 구현 가능
📍다층 퍼셉트론 원리
(x1, x2) => (s1, s2) => y
- x1, x2의 출력 s1,
- x1, x2의 또 다른 출력 s2
- s1, s2의 출력 y
예시) XOR 게이트 구현
- 진리표(기존)
- 진리표 (다층 퍼셉트론)
x1, x2 => s1: NAND
x1, x2 => s2: OR
s1, s2 => y: AND
- 뉴런 퍼셉트론으로 표현하면 아래 사진과 같음
가중치 받는 것만 층으로 표현 => 2층 퍼셉트론
XOR 게이트 구현
퍼셉트론을 다층구조로 결합하면 더욱 복잡한 시스템 구현 가능
- 이론상 컴퓨터의 모든 기능 구현 가능