4. 퍼셉트론
• 다수의 신호를 입력으로 받아 하나의 신호를 출력한다.
• 뉴런에서 보내온 신호의 총합이 정해진 한계를 넘어설 때만 1을 출력한다.
𝑥1
𝑥2
𝑦
𝑤1
𝑤2
𝑦 = ቊ
0 (𝑤1 𝑥1 + 𝑤2 𝑥2 ≤ 𝜃)
1(𝑤1 𝑥1 + 𝑤2 𝑥2 > 𝜃)
5. 퍼셉트론을 이용한 단순 논리 회로
𝒙 𝟏 𝒙 𝟐 𝒚
0 0 0
1 0 0
0 1 0
1 1 1
𝑥1
𝑥2
𝑦
𝑤1 = 0.5
𝑤2 = 0.5
𝑦 = ቊ
0 (0.5 ∗ 𝑥1 + 0.5 ∗ 𝑥2 ≤ 0.7)
1(0.5 ∗ 𝑥1 + 0.5 ∗ 𝑥2 > 0.7)
이 외에도 조건을 만족하는 매개변수 조합은 무한히 많다.
AND 게이트의 진리표
𝜃 = 0.7
AND 게이트 외에 NAND, OR 게이트도 퍼셉트론의 매개변수의 값만 적절히 조절하면 만들 수 있다.
6. 퍼셉트론 구현 (AND)
𝑦 = ቊ
0 (𝑤1 𝑥1 + 𝑤2 𝑥2 ≤ 𝜃)
1(𝑤1 𝑥1 + 𝑤2 𝑥2 > 𝜃)
𝑦 = ቊ
0 (𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 ≤ 0)
1(𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 > 0)
theta 가 −𝑏 (편향) 으로
𝑤1, 𝑤2 (가중치) : 입력신호의 영향력을 조절
𝑏 (편향) : 뉴런이 얼마나 쉽게 활성화 하는지 조정
7. 퍼셉트론의 한계
𝒙 𝟏 𝒙 𝟐 𝒚
0 0 0
1 0 1
0 1 1
1 1 0
XOR 게이트의 진리표
퍼셉트론으로는 XOR 게이트를 표현할 수 없다.
하지만 기존의 게이트를 조합하면?
8. 다층 퍼셉트론
𝒙 𝟏 𝒙 𝟐 𝒔 𝟏 𝒔 𝟐 𝒚
0 0 1 0 0
1 0 1 1 1
0 1 1 1 1
1 1 0 1 0
NAND 게이트 OR 게이트 AND 게이트
10. 정리
• 퍼셉트론은 입출력을 갖춘 알고리즘이다.
입력을 주면 정해진 규칙에 따른 값을 출력한다.
• 퍼셉트론에서는 ‘가중치’와 ‘편향’을 매개변수로 설정한다.
• 퍼셉트론으로 간단한 논리 회로를 표현할 수 있다.
• 다층 퍼셉트론은 단층 퍼셉트론의 한계를 극복하였다.
22. 출력층 함수
항등 함수 소프트 맥스 함수
𝑦 𝑘 =
𝑒 𝑎𝑘
σ𝑖=1
𝑛
𝑒 𝑎𝑖
* 회귀에 사용 * 분류에 사용
23. 출력층 함수
𝑦 𝑘 =
𝑒 𝑎𝑘
σ𝑖=1
𝑛
𝑒 𝑎𝑖
=
𝑒 𝑎𝑘+𝐶
σ𝑖=1
𝑛
𝑒 𝑎𝑖+𝐶
오버플로를 막기 위해 x의 최대값을 빼서 대입
24. 손글씨 숫자 인식 예제 (MNIST)
데이터 가져오기
학습된 가중치 매개변수 가져오기
25. 배치 처리
1 X 784 784 X 50 50 X 100 100 X 10 = 1 X 10
W1 W2 W3 Y
100 X 784 784 X 50 50 X 100 100 X 10 = 100 X 10
W1 W2 W3 Y
하나의 이미지에 대한 결과값
전체 이미지에 대한 결과값
이미지 묶음
100 개
I/O 를 통해 데이터를 읽는 횟수가 줄어, 빠른 CPU 나 GPU로 순수 계산을 수행하는 비율이 높아진다!