2. 딥러닝이란?
사람의 사고 방식을 컴퓨터에게 가르치는
머신러닝(Machine Learning)의 한 분야
(위키피디아: https://ko.wikipedia.org/wiki/딥_러닝)
3. 머신러닝(Machine Learning)
“Field of study that gives computers the ability to
learn without being explicitly programmed”
- Arthur Samuel (1959)
즉, 명시적인 프로그래밍 과정이 필요 없음.
16. 퍼셉트론 학습 과정
1. 임의의 w와 b를 설정
2. 주어진 훈련 데이터를 가지고, 결과 값(y)을 구함
3. 결과값(y)와 실제 결과값(t) 사이의 오차 계산
4. 오차를 줄이는 방향으로 w와 b를 재설정 (학습)
5. 만족할 만한 결과가 나올때까지 2~3 과정을 반복
17. w, b 학습 방법
x1 x2 t y y - t
0 0 0 1(0.1) 1
0 1 0 1(0.8) 1
1 0 0 1(0.2) 1
1 1 1 1(0.9) 0
w1: 0.1, w2: 0.7, b: 0.1인 경우
y - t > 0일 경우 y값을 작아지도록 조정
y - t < 0일 경우 y값이 커지도록 조정
w1next = w1 - (y-t) 정도면 될듯?
만약, x1이 음수라면 부호가 반대가 되어야함
w1next = w1 - (y - t)*x1
이를 일반화하면
w1next = w1 - lr *(y - t)*x1
bnext = b - lr *(y - t)
lr: Learning rate
y = w1x1 + w2x2 + b
18. w1: 0.1, w2: 0.7, b: 0.1, lr=0.1인 경우
w, b는 학습하기 전에 초기값 결정
lr은 학습중에 상황에 따라 수정
lr과 같은 변수를 하이퍼 파라미터라 함
19. 논리 OR, NAND 게이트
NAND
x1
0.5
y-0.3
x2 0.5
> 0
OR
x1
-0.5
y0.7
x2 -0.5
> 0
50 밑바닥부터 시작하는 딥러닝
NAND 게이트를 표현하려면 예를 들어 (w1
, w2
, θ) = (-0.5, -0.5, -0.7) 조합이 있습니다
(다른 조합도 무한히 있지요). 사실 AND 게이트를 구현하는 매개변수의 부호를 모두 반전하
기만 하면 NAND 게이트가 됩니다.
같은 흐름에서 [그림 2-4]의 OR 게이트도 생각해봅시다. OR 게이트는 입력 신호 중 하나 이
상이 1이면 출력이 1이 되는 논리 회로입니다. 이 OR 게이트의 매개변수는 어떻게 설정하면
될까요? 생각해보세요!
그림 2-4 OR 게이트의 진리표
여기서 퍼셉트론의 매개변수 값을 정하는 것은 컴퓨터가 아니라 우리 인간입니다. 인간이 직접 진
리표라는 ‘학습 데이터’를 보면서 매개변수의 값을 생각했습니다. 기계학습 문제는 이 매개변수의 값을 정하
는 작업을 컴퓨터가 자동으로 하도록 합니다. 학습이란 적절한 매개변수 값을 정하는 작업이며, 사람은 퍼셉
트론의 구조(모델)를 고민하고 컴퓨터에 학습할 데이터를 주는 일을 합니다.