deep learning for sinlim

Post on 14-Apr-2017

147 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

밑바닥부터 시작하는 딥러닝

3장 신경망 ”“

1. 퍼셉트론에서 신경망으로(63~68p) 2. 활성화함수(68~77) 3. 다차원배열의 계산(77~83) 4. 3층 신경망의 구현(83~90) 5. 출력층 설계(90~96) 6. 손글씨 숫자 인식(96~105) 7. 정리(105-106)

총 63~106 = 43p

3.2 활성화함수1. 시그모이드 함수

68p 계단함수 : 임계값을 경계로 출력이 바뀜. 활성화함수를 계단 함수에서 다른 함수로 변경하는 것이 신경망의 세계로 나아가는 열쇠시그모이드 = 신경망에서 자주 이용되는 활성화 함수

• 91p 항등함수 = 입력을 그대로 출력에 사용 한편 분류에서 사용하는 것이 소프트맥스 함수 ( 확률로 나눠지게 되는데 다 더하면 1이 된다.)

3.5 출력층 설계하기1 항등함수와 소프트 맥스 함수 구현하기

공식

4장 신경망 학습 ”“

1. 데이터에서 학습한다(107~111p: 4p) 2. 손실함수(111~121p:11p) 3. 수치미분(121~127p:7p) 4. 기울기(127~136p: 10p) 5. 학습알고리즘 구현하기(136~145:10p) 6. 정리 (146)

107~146 = 39p

4.1 데이터에서 학습한다.중요한 점만 요약;;

108p : 5를 숫자를 인식하는 프로그램을 구현할 때 당장 떠오르는 알고리즘이 없다. 의외로 어려운 문제

109p : 5를 인식하는 알고리즘을 밑바닥부터 설계하는 대신 주어진 데이터를 잘 활용하여 해결 하고 싶어짐..

=> 특징을 추출. 그 특징의 패턴을 기계학습기술로 학습110p : 신경망은 있는 그대로 학습한다

4.1 데이터에서 학습한다.4.1.2 훈련데이터와 시험 데이터

110p :

훈련데이터와 시험데이터를 나눠서 사용 (training data, test data) 범용능력은 아직 보지 못한 데이터를 가지고도 문제를 올바르게 풀어내는 능력

오버피팅 : 한 데이터에만 지나치게 최적화된 상태

4.2 손실함수목차

1 평균제곱오차 2 교차 엔트로피 오차 3 미니배치학습 4 (배치용)교차엔트로피 오차 구현 5 왜 손실함수를 설정하는가

4.2 손실함수들어가면서

손실함수 : 신경망 성능의 좋고 나쁨을 나타내는 지표훈련데이터를 얼마나 잘 처리하지 못하느냐를 나타냄=> 낮을 수록 좋다. 비용함수라고도 함.(cost function)

4.2 손실함수1 평균제곱오차

공식

4.2 손실함수2. 교차엔트로피 오차

공식

교차엔트로피 손실함수적을 수록 정답에 가깝다.

4.2 손실함수3 미니배치학습

지금까지는 데이터 하나에 대한 손실 함수만 생각했지만, 훈련 데이터 모두에 대한손실 함수는..?

4.2 손실함수3 미니배치학습

116p : 미니배치학습 : 훈련 데이터로부터 일부만 골라 학습을 수행

예를 들어서 mnist 에서 x_train, x_train 은 (60000, 784) (60000, 10) 임..

117p : 훈련데이터에서 무작위로 10장만 빼낼려면 어떻게 해야 하는가..?넘파이의 np.random.choice() 함수를 쓰면 다음과 같이 간단히 해결..

p.random.choice(60000, 10) <= 60000미만의 수 중에서 무작위로 10개를 골라냄

4.2 손실함수4 (배치용)교차 엔트로피 구하기

4.2 손실함수5 왜 손실함수를 설정하는가?

119~120p

왜 손실함수를 설정하는가..?

미분의 역할에 주목하면 됨…

미분 값이 음수면 그 가중치 매개변수를 양의 방향으로 변화시켜 손실함수의 값을 줄일수 있다. 반대로 이 미분값이 양수면 그 가중치 매개변수를 음의 방향으로 변화시켜손실함수의 값을 줄일 수 있다.

4.3 수치미분들어가면서…(121~127P)

1. 미분 2. 수치미분의 예 3. 편미분

4.3 수치미분1. 미분

121p : 미분이란 특정 시간의 변화량. h 를 한없이 0에 가깝게 했을 때의 변화량~

122p : 문제 : 반올림오차(0에 가까운 값), 함수 f 의 차분 => 수치미분

4.3 수치미분2. 수치미분의 예

4.3 수치미분3. 편미분

1. 이제 변수가 2개 이상된다면..? 변수가 여럿인 함수에 대한 미분을 편미분이라고 함. .

4.4 기울기들어가며(127~129P)

1. 127p 편미분을 따로 계산했었는데.. 편미분을 동시에 계산하고 싶다면?모든 변수의 편미분을 벡터로 계산한 것을 기울기라고 한다. 기울기가 가리키는 쪽이 함수의 출력값을 줄이는 방향

4.4 기울기1 경사법(경사하강법)

최적화하려는 함수 f 초깃값 학습률 반복횟수

공식

4.4 기울기2 신경망에서의 기울기 ( 133~136)

1. 127p 편미분을 따로 계산했었는데.. 편미분을 동시에 계산하고 싶다면?모든 변수의 편미분을 벡터로 계산한 것을 기울기라고 한다. 기울기가 가리키는 쪽이 함수의 출력값을 줄이는 방향

4.4 기울기2 신경망에서의 기울기 ( 133~136)

편미분 (두 변수)

미분 (변수하나)

기울기(NUMERICAL_GRADIENT)

(동시계산)

경사법 (GRADIENT_DESCENT) (기울어진 거리만큼 이동)

신경망에서의 기울기 (SIMPLE NET)

4.5 기울기들어가며(136~137)

1. 미니배치 2. 기울기산출 3. 매개변수 갱신 4. 반복 SGD 확률적 경사 하강법 : 데이터를 미니배치로 무작위로 선정

4.5 기울기1. 2층 신경망 구현하기 (137~141)

1. input_size = 784, hidden_size = 100, output_size = 10 자세한 내용은 이해에 맡긴다. 후후후

4.5 기울기3. 시험데이터로 평가하기

1. 에폭 : 학습에서 훈련데이터를 모두 소진했을 때의 횟수에 해당함.10000개를 100개의 미니배치로 학습할 경우 확률적 경사하강법을 100회학습하면 100회가 1에폭이 됨..

4.5 기울기2. 미니배치 학습 구현하기

1. train_size = 60000,784 batch_mask 로 무작위 100을 골라 x_batch에서는 100,784를 만들어냄. 경사하강법 시전..

top related