SlideShare a Scribd company logo
누구나 TensorFlow!
J. Kang Ph.D.
누구나 TensorFlow
- Module 4 : Machine Learning with Neural networks
Jaewook Kang, Ph.D.
jwkkang@gist.ac.kr
Soundlly Inc.
Sep. 2017
1
© 2017
Jaewook Kang
All Rights Reserved
누구나 TensorFlow!
J. Kang Ph.D.
 GIST EEC Ph.D. (2015)
 신호처리 과학자, 삽질러
 좋아하는 것:
 통계적 신호처리 / 무선통신 신호처리
 임베디드 오디오 DSP C/C++라이브러리 구현
 머신러닝 기반 오디오 신호처리 알고리즘
 배워서 남주기
2
 대표논문:
Jaewook Kang, et al., "Bayesian Hypothesis Test using Nonparametric Belief Propagation for
Noisy Sparse Recovery," IEEE Trans. on Signal process., Feb. 2015
Jaewook Kang et al., "Fast Signal Separation of 2D Sparse Mixture via Approximate Message-
Passing," IEEE Signal Processing Letters, Nov. 2015
Jaewook Kang (강재욱)
소 개
누구나 TensorFlow!
J. Kang Ph.D. 3
일 정 목표
시
간
세부 내 용
Module
3
직선으로 데이터 구분하기
Logistic classification
- Introduction to Linear Classification
- Naïve Bayes (NB)
- Linear Discriminent Analysis (LDA)
- Logistic Regression (LR)
- NB vs LDA vs LR
- LAB5: Linear Classication in TensorFlow
Module
4
딥러닝의 선조
뉴럴 네트워크
4
- 뉴런을 수학으로 표현하기
- Feed-Forward Neural Networks
- Linear 뉴런의 한계와 Activation 함수
- Gradient descent Revisit
- Backpropagation algorithm
- LAB6: Multi-layer neural net with Backpropagation in
TensorFlow
누구나 TensorFlow!
J. Kang Ph.D.
GitHub link
GitHub link (all public)
– https://github.com/jwkanggist/EveryBodyTensorFlow
Another GitHub link (Not mine)
– https://github.com/aymericdamien/TensorFlow-Examples
4
누구나 TensorFlow!
J. Kang Ph.D.
1. 딥러닝의 조상, 뉴럴 네트워크
딥러닝을 위해서 한우물을 판 연구자들의 이야기
- 뉴런을 수학으로 표현하기
- Feed-Forward Neural Networks
- Linear 뉴런의 한계와 Activation 함수
- Gradient descent Revisit
- Backpropagation algorithm
- LAB6: 2-layer neural net in TensorFlow
5
누구나 TensorFlow!
J. Kang Ph.D.
Reference :
6
Fundamental of Deep
Learning
1st Edition, 2017 O’Reilly
Nikhil Buduma
누구나 TensorFlow!
J. Kang Ph.D.
훌륭한 관련 한국어 블로그
 진섭님 블로그
– https://mathemedicine.github.io/deep_learning.html
 솔라리스의 인공지능 연구실
– http://solarisailab.com/archives/1206
 테리님의 블로그
– http://slownews.kr/41461
7
누구나 TensorFlow!
J. Kang Ph.D.
The Neuron
 뇌의 가장 기본 단위
– 10,000 개 이상의 뉴런의 결합으로 뇌가 형성
8
이미지출처: http://ib.bioninja.com.au/standard-level/topic-6-human-
physiology/65-neurons-and-synapses/neurons.html
누구나 TensorFlow!
J. Kang Ph.D.
The Neuron
 뇌의 가장 기본 단위
9
신호입력 증폭 결합 전환 신호출력
이미지출처: http://ib.bioninja.com.au/standard-level/topic-6-human-
physiology/65-neurons-and-synapses/neurons.html
누구나 TensorFlow!
J. Kang Ph.D.
The Neuron
 Artificial Neuron (1958)
10
신호입력 증폭 결합 전환 신호출력
Bias, b
이미치출처: https://hackernoon.com/overview-of-artificial-neural-
networks-and-its-applications-2525c1addff7
누구나 TensorFlow!
J. Kang Ph.D.
The Neuron
 Artificial Neuron (1958)
11
신호입력 증폭 결합 전환 신호출력
x2
x3 w3
w2
w1
f (×) y
Bias, b
x1
이미치출처: https://hackernoon.com/overview-of-artificial-neural-
networks-and-its-applications-2525c1addff7
누구나 TensorFlow!
J. Kang Ph.D.
The Neuron
 Artificial Neuron (1958)
12
y = f (Z = XW +b)
누구나 TensorFlow!
J. Kang Ph.D.
The Neuron
 Artificial Neuron (1958)
13
y = f (Z = XW +b)
Activation
Activation
function
Logit
Input Neuron
weight
Neuron
bias
누구나 TensorFlow!
J. Kang Ph.D.
The Neuron
 뉴런을 러닝한다는 것
14
x1 x2
y
Bias, b
w2w1
누구나 TensorFlow!
J. Kang Ph.D.
The Neuron
 뉴런을 러닝한다는 것
– 밀당 example: 연애 성공하려면 밀당의 비율을 어떻케 해야하는가?
– Y : 성공확률
– X: 각 행동에 드는 힘
– W: 성공을 위한 행동 비율
15
당
x1 x2
y
Bias, b
w2w1
밀
누구나 TensorFlow!
J. Kang Ph.D.
The Neuron
 뉴런을 러닝한다는 것
– 밀당 example: 연애 성공하려면 밀당의 비율을 어떻케 해야하는가?
– Linear activation 함수를 가정해 보자 y= z = f(z)
– Data: t= 1.0, x1= 2.0, x2 = 3.0
– Cost: e = ½ ( t – y)^2, b=0
– Find w1 and w2
16
밀 당
x1 x2
y
Bias, b
w2w1
누구나 TensorFlow!
J. Kang Ph.D.
The Neuron
 뉴런을 러닝한다는 것
– 밀당 example: 연애 성공하려면 밀당의 비율을 어떻케 해야하는가?
– Linear activation 함수를 가정해 보자 y= z = f(z)
– Data: t= 1.0, x1= 2.0, x2 = 3.0
– Cost: e = ½ ( t – y)^2, b=0
– Find w1 and w2
 What’s your answer?
17
Model : y = w1x1 + w2 x2
Cost: e =
1
2
(t - y)2
¶e
¶w1
= -x1(t - y),
¶e
¶w2
= -x2 (t - y)
-x1(t - w1x1 - w2 x2 ) = 0
-x2 (t - w1x1 - w2 x2 ) = 0
ì
í
î
(w1,w2 ) = ?
누구나 TensorFlow!
J. Kang Ph.D.
The Neuron
 뉴런을 러닝한다는 것
– (X,Y) 데이터값을 주어서 W,b 값을 찾는것
– 각 입력에 어느정도에 비중을 주어서 결합해야하는지 아는것
18
밀 당
x1 x2
y
Bias, b
? ?
누구나 TensorFlow!
J. Kang Ph.D.
Activation Functions
 자극(logit, Z) 의 Activation를 어떻케 모델링할까?
19
x1 x2
y
Bias, b
w2w1
?
누구나 TensorFlow!
J. Kang Ph.D.
Activation Functions
Sigmoid function
– Logit Z를 [0,1]사이로 mapping
– Logit Z를 확률값으로 mapping할때 사용
• Logistic Regression
20
f (z) =
1
1+ exp(-z)
Logit Z
누구나 TensorFlow!
J. Kang Ph.D.
Activation Functions
Tanh
– Logit Z를 [-1,+1]사이로 mapping
– Activation의 중심값이 ‘0’이 된다.
• Multi-layer를 쌓을때 hidden layer에서 bias가 생기지 않는다.
21
f (z) = tanh(z)
Logit Z
f (z) = tanh(z)
누구나 TensorFlow!
J. Kang Ph.D.
Activation Functions
ReLU (Restricted Linear unit)
– Sigmoid, tanh 함수는 입력값이 양끝에 근접하면 기울기가 ‘0’에
가까워짐  Vanishing Gradient문제 (TBU)
22
f (z) = max(0,z)
Logit Z
f (z) = max(0,z)
누구나 TensorFlow!
J. Kang Ph.D.
Feed-Forward Neural Networks
그런 뉴런을 엮어서 쌓아보자
– 사람의 뇌 또한 계층 구조를 가지고 있다.
23
X =[x1,x2,x3,x4 ]
Y =[y1,y2,y3,y4 ]
규칙:
- No connection in the same layer
- No backward connection
수식 모델링:
W1
W2
누구나 TensorFlow!
J. Kang Ph.D.
Feed-Forward Neural Networks
그런 뉴런을 엮어서 쌓아보자
– 사람의 뇌 또한 계층 구조를 가지고 있다.
24
X =[x1,x2,x3,x4 ]
Y =[y1,y2,y3,y4 ]
규칙:
- No connection in the same layer
- No backward connection
수식 모델링:
W1
W2
Y = f (W2 f (W1X +b1)+b2 )
누구나 TensorFlow!
J. Kang Ph.D.
Feed-Forward Neural Networks
그런 뉴런을 엮어서 쌓아보자
– 사람의 뇌 또한 계층 구조를 가지고 있다.
25
Y =[y1,y2,y3,y4 ]
Input Layer:
- 데이터 입력 X을 받는 계층
- tf.placeholder()가 물리는 곳
W1
W2
누구나 TensorFlow!
J. Kang Ph.D.
Feed-Forward Neural Networks
그런 뉴런을 엮어서 쌓아보자
– 사람의 뇌 또한 계층 구조를 가지고 있다.
26
X =[x1,x2,x3,x4 ]
Output Layer:
- 데이터 출력 Y을 내보내는 곳
- tf.placeholder()가 물리는 곳
W1
W2
누구나 TensorFlow!
J. Kang Ph.D.
Feed-Forward Neural Networks
그런 뉴런을 엮어서 쌓아보자
– 사람의 뇌 또한 계층 구조를 가지고 있다.
27
X =[x1,x2,x3,x4 ]
Y =[y1,y2,y3,y4 ]
Hidden Layer:
- Input layer와 output layer
사이에 있는 모든 계층
- X로 부터 학습에 필요한 feature를
스스로 뽑아낸다.
- 중간 표현단계인 feature map을
생성
- Hidden layer가 많을 수록 섬세하게
Feature를 뽑을 수 있다.
W1
W2
누구나 TensorFlow!
J. Kang Ph.D.
Feed-Forward Neural Networks
Google’s good example site
– http://playground.tensorflow.org/
– 가지고 놀아보면 더 이해가 잘될것!
• Logistic regression (1-layer neural net classification)
• Neural Net
28
누구나 TensorFlow!
J. Kang Ph.D.
How to Train Neural Net?
어떻케 Neural net를 훈련시킬 것인가?
– 기존방법1 : Maximum likelihood est. + analytical
solution
• In many cases, No analytical solution exist
• Non-linearity of activation function  No closed form solution
– 기존방법2: Maximum likelihood est. + Numerical solver
• An Example: Logistic regression based classification
– Cost: Cross-entropy function (non-linear)
– Solver:
» Gradient descent solvers: cost의 큰 경사를 따라서
무족건 내려가는것 (first-order method)
» Newton-Raphson solvers: cost의 경사가 ’0’ 인 지점을
찾는 것 (second order method, good for convex problems)
29
누구나 TensorFlow!
J. Kang Ph.D.
Gradient Descent Revisit
Gradient Descent를 다시 보자
30
Error
W n+1
=W n
-aÑJ(W n
)
J(W): Error cost
누구나 TensorFlow!
J. Kang Ph.D.
Gradient Descent Revisit
Gradient Descent를 다시 보자
두가지만 기억하세요!!
– 기울기 방향 찾기: The delta rule
– 기울기 보폭 찾기: learning rate
31
W n+1
=W n
-aÑJ(W n
)
J(W): Error cost기울기 보폭
Learning rate 기울기
방향
Gradient
누구나 TensorFlow!
J. Kang Ph.D.
Gradient Descent Revisit
Gradient Descent를 다시 보자
– 기울기 방향 찾기: The delta rule
– W의 각 성분방향으로 얼마나 가야 하는가?
• 각 weight로 error cost 편미분한다.
• sum-of-square cost + linear activation인 경우
32
-ÑJ(W) =[Dw1,Dw2,...,DwM ]
Dwk = -
¶J(W )
¶wk
= -
¶
¶wk
1
2
(t(i)
- y(i)
)2
i
å
æ
èç
ö
ø÷
= xk
(i)
(t(i)
- y(i)
)
i
å
누구나 TensorFlow!
J. Kang Ph.D.
Gradient Descent Revisit
어떻케 Neural net를 훈련시킬 것인가?
– 기울기 방향 찾기: The delta rule
– W의 각 성분방향으로 얼마나 가야 하는가?
• 각 weight로 error cost 편미분한다.
• cross-entropy cost + sigmoid activation인 경우
33
-ÑJ(W) =[Dw1,Dw2,...,DwM ]
누구나 TensorFlow!
J. Kang Ph.D.
Gradient Descent Revisit
어떻케 Neural net를 훈련시킬 것인가?
– 기울기 보폭 찾기: learning rate
• 너무 크면 발산
• 너무 작으면 평생 걸림 + 연산량 증가
34
누구나 TensorFlow!
J. Kang Ph.D.
Neural Net의 training
기존 ML est. + Gradient Descent의 한계
– Hidden Layer 수가 늘어남에 따라서 학습해야할 파라메터 W의
차원이 매우 늘어난다.
– “ML est + numerical solvers” 조합으로 학습하기에는 unknown
파라미터(W) 의 개수가 너무 많다.
•  복잡도가 매우 늘어난다.
35
Neural Networks Deep Neural Networks
Input Hidden Output Input Hidden Hidden Hidden Output
W1
W2 W3 W4W1 W2
누구나 TensorFlow!
J. Kang Ph.D.
Error Back Propagation
기본철학:
– 이전Layer의 error derivative를 전파하여 현재Layer의
error derivative를 계산한다.
36
누구나 TensorFlow!
J. Kang Ph.D.
Error Back Propagation
 기본 알고리즘
– STEP1) Initialization of all weights
– STEP2) Forward Propagation: Activation 예측값 y 계산 from input X
– STEP3) Error Back Propagation: Error derivative로 부터 weight변화율
(Δ𝑤) 계산
– STEP4) Update all weights and go to STEP2
37
이미지출처: Bishop’s book Chap 5
누구나 TensorFlow!
J. Kang Ph.D.
Error Back Propagation
 Toy example: A two-layer small neural network
 STEP 1) Initialization of all weights
– Cross-entropy cost
– Sigmoid activation
38
x1
x2
t1
t2
z11 y11
z12 y12
z21 y21
z22 y22
w11
w12
w13
w14
w21
w22
w23
w24
Input
Layer
Hidden
Layer
Output
Layer
b b
W1 W2
f (z) =
1
1+ exp(-z)
For sigmoid activation, y = f (z)
¶y
dz
= y(1- y)
누구나 TensorFlow!
J. Kang Ph.D.
Error Back Propagation
 Toy example: A two-layer small neural network
 STEP 1) Initialization of all weights
– In a random manner:
39
x1
x2
t1
t2
z11 y11
z12 y12
z21 y21
z22 y22
w11
w12
w13
w14
w21
w22
w23
w24
Input
Layer
Hidden
Layer
Output
Layer
Init. of weights
W1 =
w11 w12
w13 w14
é
ë
ê
ê
ù
û
ú
ú
=
0.15 0.20
0.25 0.30
é
ë
ê
ù
û
ú
W2 =
w21 w22
w23 w24
é
ë
ê
ê
ù
û
ú
ú
=
0.40 0.45
0.50 0.55
é
ë
ê
ù
û
ú
b b
Training Data:
X =
0.05
0.10
é
ë
ê
ù
û
ú,T =
0.01
0.99
é
ë
ê
ù
û
ú
Bias:
b1=
0.35
0.35
é
ë
ê
ù
û
ú,b1=
0.60
0.60
é
ë
ê
ù
û
ú
W1 W2
누구나 TensorFlow!
J. Kang Ph.D.
Error Back Propagation
 Toy example: A two-layer small neural network
 STEP 2) Forward Propagation
40
x1
x2
t1
t2
z11 y11
z12 y12
z21 y21
z22 y22
w11
w12
w13
w14
w21
w22
w23
w24
Input
Layer
Hidden
Layer
Output
Layer
W1 W2
Y1 = f Z1 = W1X( )= f
0.15 0.20
0.25 0.30
é
ë
ê
ù
û
ú
0.05
0.10
é
ë
ê
ù
û
ú +
0.35
0.35
é
ë
ê
ù
û
ú
æ
è
ç
ö
ø
÷ =
0.5933
0.5969
é
ë
ê
ù
û
ú
Y2 = f Z2 = W2Y1( )= f
0.40 0.45
0.50 0.55
é
ë
ê
ù
û
ú
0.5933
0.5969
é
ë
ê
ù
û
ú +
0.6
0.6
é
ë
ê
ù
û
ú
æ
è
ç
ö
ø
÷ =
0.7514
0.7729
é
ë
ê
ù
û
ú
b b
누구나 TensorFlow!
J. Kang Ph.D.
Error Back Propagation
 Toy example: A two-layer small neural network
 STEP 3) Error Back Propagation for W2
– 3-1: calculate error derivative wrt y21, y22
41
x1
x2
t1
t2
z11 y11
z12 y12
z21 y21
z22 y22
w11
w12
w13
w14
w21
w22
w23
w24
Input
Layer
Hidden
Layer
Output
Layer
W1 W2
b b
¶J(W2 )
¶y21
=
y21 - t1
y21(1- y21)
,
¶J(W2 )
¶y22
=
y22 - t2
y22 (1- y22 )
누구나 TensorFlow!
J. Kang Ph.D.
Error Back Propagation
 Toy example: A two-layer small neural network
 STEP 3) Error Back Propagation for W2
– 3-2: calculate error derivative wrt W2
42
x1
x2
t1
t2
z11 y11
z12 y12
z21 y21
z22 y22
w11
w12
w13
w14
w21
w22
w23
w24
Input
Layer
Hidden
Layer
Output
Layer
W1
b b
Dw21 = -a
¶J(W2 )
¶y21
¶y21
dz21
dz21
¶w21
= a(t1 - y21)y11,
Dw22 = -a
¶J(W2 )
¶y21
¶y21
dz21
dz21
¶w22
= a(t1 - y21)y12,
Dw23 = -a
¶J(W2 )
¶y22
¶y22
dz22
dz22
¶w23
= a(t2 - y22 )y11,
Dw24 = -a
¶J(W2 )
¶y22
¶y22
dz22
dz22
¶w24
= a(t2 - y22 )y12
누구나 TensorFlow!
J. Kang Ph.D.
Error Back Propagation
 Toy example: A two-layer small neural network
 STEP 3) Error Back Propagation for W1 (Important!!)
– 3-3: calculate error derivative wrt y11, y12
43
x1
x2
t1
t2
z11 y11
z12 y12
z21 y21
z22 y22
w11
w12
w13
w14
w21
w22
w23
w24
Input
Layer
Hidden
Layer
Output
Layer
W1 W2
b b
¶J(W1)
¶y11
= w21
¶J(W2 )
¶y21
¶y21
dz21
+ w23
¶J(W2 )
¶y22
¶y22
dz22
¶J(W1)
¶y12
= w22
¶J(W2 )
¶y21
¶y21
dz21
+ w24
¶J(W2 )
¶y22
¶y22
dz22
누구나 TensorFlow!
J. Kang Ph.D.
Error Back Propagation
 Toy example: A two-layer small neural network
 STEP 3) Error Back Propagation for W1 (Important!!)
– 3-3: calculate error derivative wrt y11, y12
44
x1
x2
t1
t2
z11 y11
z12 y12
z21 y21
z22 y22
w11
w12
w13
w14
w21
w22
w23
w24
Input
Layer
Hidden
Layer
Output
Layer
W1 W2
b b
¶J(W1)
¶y11
= w21
¶J(W2 )
¶y21
y21(1- y21)+ w23
¶J(W2 )
¶y22
y22 (1- y22 )
¶J(W1)
¶y12
= w22
¶J(W2 )
¶y21
y21(1- y21)+ w24
¶J(W2 )
¶y22
y22 (1- y22 )
누구나 TensorFlow!
J. Kang Ph.D.
Error Back Propagation
 Toy example: A two-layer small neural network
 STEP 3) Error Back Propagation for W1
– 3-4: calculate error derivative wrt W1
45
x1
x2
t1
t2
z11 y11
z12 y12
z21 y21
z22 y22
w11
w12
w13
w14
w21
w22
w23
w24
Input
Layer
Hidden
Layer
Output
Layer
W2
b b
Dw11 = -a
¶J(W1)
¶y11
¶y11
dz11
dz11
¶w11
= -a
¶J(W1)
¶y11
y11(1- y11)x1 ,
Dw12 = -a
¶J(W1)
¶y11
¶y11
dz11
dz11
¶w12
= -a
¶J(W1)
¶y11
y11(1- y11)x2,
Dw13 = -a
¶J(W1)
¶y12
¶y12
dz12
dz12
¶w13
= -a
¶J(W1)
¶y12
y12 (1- y12 )x1 ,
Dw14 = -a
¶J(W1)
¶y12
¶y12
dz12
dz12
¶w14
= -a
¶J(W1)
¶y12
y12 (1- y12 )x2
누구나 TensorFlow!
J. Kang Ph.D.
Error Back Propagation
 Toy example: A two-layer small neural network
 STEP 4) update all the weights and goto STEP 2
  Iterate forward propagation and error back propagation
46
x1
x2
t1
t2
z11 y11
z12 y12
z21 y21
z22 y22
w11
w12
w13
w14
w21
w22
w23
w24
Input
Layer
Hidden
Layer
Output
Layer
W1 W2
b b
누구나 TensorFlow!
J. Kang Ph.D.
LAB6: Multi-layer neural net in
TensorFlow
 Cluster in Cluster data
 https://github.com/jwkanggist/EveryBodyTensorFlow/blo
b/master/lab6_runTFMultiANN_clusterinclusterdata.py
47
누구나 TensorFlow!
J. Kang Ph.D.
LAB6: Multi-layer neural net in
TensorFlow
Two spiral data
– https://github.com/jwkanggist/EveryBodyTensorFlow/blob
/master/lab6_runTFMultiANN_spiraldata.py
48

More Related Content

PPTX
[Tf2017] day1 jwkang_pub
Jaewook. Kang
 
PPTX
EveryBody Tensorflow module1 GIST Jan 2018 Korean
Jaewook. Kang
 
PDF
[Tf2017] day2 jwkang_pub
Jaewook. Kang
 
PPTX
EveryBody Tensorflow module2 GIST Jan 2018 Korean
Jaewook. Kang
 
PPTX
EveryBody Tensorflow module3 GIST Jan 2018 Korean
Jaewook. Kang
 
PPTX
[Tf2017] day3 jwkang_pub
Jaewook. Kang
 
PPTX
180525 mobile visionnet_hanlim_extended
Jaewook. Kang
 
PDF
Tensorflow for Deep Learning(SK Planet)
Tae Young Lee
 
[Tf2017] day1 jwkang_pub
Jaewook. Kang
 
EveryBody Tensorflow module1 GIST Jan 2018 Korean
Jaewook. Kang
 
[Tf2017] day2 jwkang_pub
Jaewook. Kang
 
EveryBody Tensorflow module2 GIST Jan 2018 Korean
Jaewook. Kang
 
EveryBody Tensorflow module3 GIST Jan 2018 Korean
Jaewook. Kang
 
[Tf2017] day3 jwkang_pub
Jaewook. Kang
 
180525 mobile visionnet_hanlim_extended
Jaewook. Kang
 
Tensorflow for Deep Learning(SK Planet)
Tae Young Lee
 

What's hot (20)

PDF
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
Taehoon Kim
 
PDF
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
Taehoon Kim
 
PDF
한글 언어 자원과 R: KoNLP 개선과 활용
r-kor
 
PPTX
180624 mobile visionnet_baeksucon_jwkang_pub
Jaewook. Kang
 
PDF
파이썬으로 익히는 딥러닝
SK(주) C&C - 강병호
 
PPTX
딥러닝을 이용한 자연어처리의 연구동향
홍배 김
 
PDF
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
Taehoon Kim
 
PDF
기계 학습의 현재와 미래
Joon Kim
 
PDF
딥러닝 기반의 자연어처리 최근 연구 동향
LGCNSairesearch
 
PDF
딥러닝 자연어처리 - RNN에서 BERT까지
deepseaswjh
 
PPTX
임태현, Text-CNN을 이용한 Sentiment 분설모델 구현
태현 임
 
PDF
Python을 활용한 챗봇 서비스 개발 2일차
Taekyung Han
 
PPTX
딥러닝 - 역사와 이론적 기초
Hyungsoo Ryoo
 
PDF
MATLAB Programming BASIC @ GIST winter school 2015
Jaewook. Kang
 
PDF
[221] 딥러닝을 이용한 지역 컨텍스트 검색 김진호
NAVER D2
 
PPTX
인공지능, 기계학습 그리고 딥러닝
Jinwon Lee
 
PDF
파이썬으로 익히는 딥러닝 기본 (18년)
SK(주) C&C - 강병호
 
PDF
[224] backend 개발자의 neural machine translation 개발기 김상경
NAVER D2
 
PDF
[226]대용량 텍스트마이닝 기술 하정우
NAVER D2
 
PPTX
머신러닝의 자연어 처리기술(I)
홍배 김
 
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
Taehoon Kim
 
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
Taehoon Kim
 
한글 언어 자원과 R: KoNLP 개선과 활용
r-kor
 
180624 mobile visionnet_baeksucon_jwkang_pub
Jaewook. Kang
 
파이썬으로 익히는 딥러닝
SK(주) C&C - 강병호
 
딥러닝을 이용한 자연어처리의 연구동향
홍배 김
 
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
Taehoon Kim
 
기계 학습의 현재와 미래
Joon Kim
 
딥러닝 기반의 자연어처리 최근 연구 동향
LGCNSairesearch
 
딥러닝 자연어처리 - RNN에서 BERT까지
deepseaswjh
 
임태현, Text-CNN을 이용한 Sentiment 분설모델 구현
태현 임
 
Python을 활용한 챗봇 서비스 개발 2일차
Taekyung Han
 
딥러닝 - 역사와 이론적 기초
Hyungsoo Ryoo
 
MATLAB Programming BASIC @ GIST winter school 2015
Jaewook. Kang
 
[221] 딥러닝을 이용한 지역 컨텍스트 검색 김진호
NAVER D2
 
인공지능, 기계학습 그리고 딥러닝
Jinwon Lee
 
파이썬으로 익히는 딥러닝 기본 (18년)
SK(주) C&C - 강병호
 
[224] backend 개발자의 neural machine translation 개발기 김상경
NAVER D2
 
[226]대용량 텍스트마이닝 기술 하정우
NAVER D2
 
머신러닝의 자연어 처리기술(I)
홍배 김
 
Ad

Similar to [Tf2017] day4 jwkang_pub (20)

PDF
Lecture 4: Neural Networks I
Sang Jun Lee
 
PPTX
03.12 cnn backpropagation
Dea-hwan Ki
 
PPTX
Cnn 강의
재연 윤
 
PDF
딥러닝 기본 원리의 이해
Hee Won Park
 
PDF
Deep neural networks cnn rnn_ae_some practical techniques
Kang Pilsung
 
PPTX
A neural image caption generator
홍배 김
 
PPTX
기계학습 / 딥러닝이란 무엇인가
Yongha Kim
 
PPTX
쫄지말자딥러닝2 - CNN RNN 포함버전
Modulabs
 
PDF
Nationality recognition
준영 박
 
PPTX
181123 poseest101 devfest_pangyo_jwkang
Jaewook. Kang
 
PDF
Deep Learning & Convolutional Neural Network
agdatalab
 
PPTX
Convolutional Neural Networks
Sanghoon Yoon
 
PDF
Final project v0.84
Soukwon Jun
 
PPTX
Recurrent Neural Net의 이론과 설명
홍배 김
 
PDF
TML studio & Beep 알고리즘 스터디, 오리엔테이션
재원 최
 
PDF
딥뉴럴넷 클러스터링 실패기
Myeongju Kim
 
PPTX
Deep learning overview
강민국 강민국
 
PDF
인공신경망
종열 현
 
PDF
Graph attention network - deep learning paper review
taeseon ryu
 
PDF
Neural network의 변천사 이태영
Tae Young Lee
 
Lecture 4: Neural Networks I
Sang Jun Lee
 
03.12 cnn backpropagation
Dea-hwan Ki
 
Cnn 강의
재연 윤
 
딥러닝 기본 원리의 이해
Hee Won Park
 
Deep neural networks cnn rnn_ae_some practical techniques
Kang Pilsung
 
A neural image caption generator
홍배 김
 
기계학습 / 딥러닝이란 무엇인가
Yongha Kim
 
쫄지말자딥러닝2 - CNN RNN 포함버전
Modulabs
 
Nationality recognition
준영 박
 
181123 poseest101 devfest_pangyo_jwkang
Jaewook. Kang
 
Deep Learning & Convolutional Neural Network
agdatalab
 
Convolutional Neural Networks
Sanghoon Yoon
 
Final project v0.84
Soukwon Jun
 
Recurrent Neural Net의 이론과 설명
홍배 김
 
TML studio & Beep 알고리즘 스터디, 오리엔테이션
재원 최
 
딥뉴럴넷 클러스터링 실패기
Myeongju Kim
 
Deep learning overview
강민국 강민국
 
인공신경망
종열 현
 
Graph attention network - deep learning paper review
taeseon ryu
 
Neural network의 변천사 이태영
Tae Young Lee
 
Ad

More from Jaewook. Kang (9)

PPTX
190111 tf2 preview_jwkang_pub
Jaewook. Kang
 
PPTX
Cloud tpu jae_180814
Jaewook. Kang
 
PPTX
Life is stair-like
Jaewook. Kang
 
PDF
A Simple Communication System Design Lab #4 with MATLAB Simulink
Jaewook. Kang
 
PDF
A Simple Communication System Design Lab #3 with MATLAB Simulink
Jaewook. Kang
 
PDF
A Simple Communication System Design Lab #2 with MATLAB Simulink
Jaewook. Kang
 
PDF
A Simple Communication System Design Lab #1 with MATLAB Simulink
Jaewook. Kang
 
PDF
Jaewook Kang's Phd final defense @ 20151117
Jaewook. Kang
 
PDF
Introduction to Soundlly 2nd screen services and technology: Seminar in 금오공대 ...
Jaewook. Kang
 
190111 tf2 preview_jwkang_pub
Jaewook. Kang
 
Cloud tpu jae_180814
Jaewook. Kang
 
Life is stair-like
Jaewook. Kang
 
A Simple Communication System Design Lab #4 with MATLAB Simulink
Jaewook. Kang
 
A Simple Communication System Design Lab #3 with MATLAB Simulink
Jaewook. Kang
 
A Simple Communication System Design Lab #2 with MATLAB Simulink
Jaewook. Kang
 
A Simple Communication System Design Lab #1 with MATLAB Simulink
Jaewook. Kang
 
Jaewook Kang's Phd final defense @ 20151117
Jaewook. Kang
 
Introduction to Soundlly 2nd screen services and technology: Seminar in 금오공대 ...
Jaewook. Kang
 

[Tf2017] day4 jwkang_pub

  • 1. 누구나 TensorFlow! J. Kang Ph.D. 누구나 TensorFlow - Module 4 : Machine Learning with Neural networks Jaewook Kang, Ph.D. [email protected] Soundlly Inc. Sep. 2017 1 © 2017 Jaewook Kang All Rights Reserved
  • 2. 누구나 TensorFlow! J. Kang Ph.D.  GIST EEC Ph.D. (2015)  신호처리 과학자, 삽질러  좋아하는 것:  통계적 신호처리 / 무선통신 신호처리  임베디드 오디오 DSP C/C++라이브러리 구현  머신러닝 기반 오디오 신호처리 알고리즘  배워서 남주기 2  대표논문: Jaewook Kang, et al., "Bayesian Hypothesis Test using Nonparametric Belief Propagation for Noisy Sparse Recovery," IEEE Trans. on Signal process., Feb. 2015 Jaewook Kang et al., "Fast Signal Separation of 2D Sparse Mixture via Approximate Message- Passing," IEEE Signal Processing Letters, Nov. 2015 Jaewook Kang (강재욱) 소 개
  • 3. 누구나 TensorFlow! J. Kang Ph.D. 3 일 정 목표 시 간 세부 내 용 Module 3 직선으로 데이터 구분하기 Logistic classification - Introduction to Linear Classification - Naïve Bayes (NB) - Linear Discriminent Analysis (LDA) - Logistic Regression (LR) - NB vs LDA vs LR - LAB5: Linear Classication in TensorFlow Module 4 딥러닝의 선조 뉴럴 네트워크 4 - 뉴런을 수학으로 표현하기 - Feed-Forward Neural Networks - Linear 뉴런의 한계와 Activation 함수 - Gradient descent Revisit - Backpropagation algorithm - LAB6: Multi-layer neural net with Backpropagation in TensorFlow
  • 4. 누구나 TensorFlow! J. Kang Ph.D. GitHub link GitHub link (all public) – https://github.com/jwkanggist/EveryBodyTensorFlow Another GitHub link (Not mine) – https://github.com/aymericdamien/TensorFlow-Examples 4
  • 5. 누구나 TensorFlow! J. Kang Ph.D. 1. 딥러닝의 조상, 뉴럴 네트워크 딥러닝을 위해서 한우물을 판 연구자들의 이야기 - 뉴런을 수학으로 표현하기 - Feed-Forward Neural Networks - Linear 뉴런의 한계와 Activation 함수 - Gradient descent Revisit - Backpropagation algorithm - LAB6: 2-layer neural net in TensorFlow 5
  • 6. 누구나 TensorFlow! J. Kang Ph.D. Reference : 6 Fundamental of Deep Learning 1st Edition, 2017 O’Reilly Nikhil Buduma
  • 7. 누구나 TensorFlow! J. Kang Ph.D. 훌륭한 관련 한국어 블로그  진섭님 블로그 – https://mathemedicine.github.io/deep_learning.html  솔라리스의 인공지능 연구실 – http://solarisailab.com/archives/1206  테리님의 블로그 – http://slownews.kr/41461 7
  • 8. 누구나 TensorFlow! J. Kang Ph.D. The Neuron  뇌의 가장 기본 단위 – 10,000 개 이상의 뉴런의 결합으로 뇌가 형성 8 이미지출처: http://ib.bioninja.com.au/standard-level/topic-6-human- physiology/65-neurons-and-synapses/neurons.html
  • 9. 누구나 TensorFlow! J. Kang Ph.D. The Neuron  뇌의 가장 기본 단위 9 신호입력 증폭 결합 전환 신호출력 이미지출처: http://ib.bioninja.com.au/standard-level/topic-6-human- physiology/65-neurons-and-synapses/neurons.html
  • 10. 누구나 TensorFlow! J. Kang Ph.D. The Neuron  Artificial Neuron (1958) 10 신호입력 증폭 결합 전환 신호출력 Bias, b 이미치출처: https://hackernoon.com/overview-of-artificial-neural- networks-and-its-applications-2525c1addff7
  • 11. 누구나 TensorFlow! J. Kang Ph.D. The Neuron  Artificial Neuron (1958) 11 신호입력 증폭 결합 전환 신호출력 x2 x3 w3 w2 w1 f (×) y Bias, b x1 이미치출처: https://hackernoon.com/overview-of-artificial-neural- networks-and-its-applications-2525c1addff7
  • 12. 누구나 TensorFlow! J. Kang Ph.D. The Neuron  Artificial Neuron (1958) 12 y = f (Z = XW +b)
  • 13. 누구나 TensorFlow! J. Kang Ph.D. The Neuron  Artificial Neuron (1958) 13 y = f (Z = XW +b) Activation Activation function Logit Input Neuron weight Neuron bias
  • 14. 누구나 TensorFlow! J. Kang Ph.D. The Neuron  뉴런을 러닝한다는 것 14 x1 x2 y Bias, b w2w1
  • 15. 누구나 TensorFlow! J. Kang Ph.D. The Neuron  뉴런을 러닝한다는 것 – 밀당 example: 연애 성공하려면 밀당의 비율을 어떻케 해야하는가? – Y : 성공확률 – X: 각 행동에 드는 힘 – W: 성공을 위한 행동 비율 15 당 x1 x2 y Bias, b w2w1 밀
  • 16. 누구나 TensorFlow! J. Kang Ph.D. The Neuron  뉴런을 러닝한다는 것 – 밀당 example: 연애 성공하려면 밀당의 비율을 어떻케 해야하는가? – Linear activation 함수를 가정해 보자 y= z = f(z) – Data: t= 1.0, x1= 2.0, x2 = 3.0 – Cost: e = ½ ( t – y)^2, b=0 – Find w1 and w2 16 밀 당 x1 x2 y Bias, b w2w1
  • 17. 누구나 TensorFlow! J. Kang Ph.D. The Neuron  뉴런을 러닝한다는 것 – 밀당 example: 연애 성공하려면 밀당의 비율을 어떻케 해야하는가? – Linear activation 함수를 가정해 보자 y= z = f(z) – Data: t= 1.0, x1= 2.0, x2 = 3.0 – Cost: e = ½ ( t – y)^2, b=0 – Find w1 and w2  What’s your answer? 17 Model : y = w1x1 + w2 x2 Cost: e = 1 2 (t - y)2 ¶e ¶w1 = -x1(t - y), ¶e ¶w2 = -x2 (t - y) -x1(t - w1x1 - w2 x2 ) = 0 -x2 (t - w1x1 - w2 x2 ) = 0 ì í î (w1,w2 ) = ?
  • 18. 누구나 TensorFlow! J. Kang Ph.D. The Neuron  뉴런을 러닝한다는 것 – (X,Y) 데이터값을 주어서 W,b 값을 찾는것 – 각 입력에 어느정도에 비중을 주어서 결합해야하는지 아는것 18 밀 당 x1 x2 y Bias, b ? ?
  • 19. 누구나 TensorFlow! J. Kang Ph.D. Activation Functions  자극(logit, Z) 의 Activation를 어떻케 모델링할까? 19 x1 x2 y Bias, b w2w1 ?
  • 20. 누구나 TensorFlow! J. Kang Ph.D. Activation Functions Sigmoid function – Logit Z를 [0,1]사이로 mapping – Logit Z를 확률값으로 mapping할때 사용 • Logistic Regression 20 f (z) = 1 1+ exp(-z) Logit Z
  • 21. 누구나 TensorFlow! J. Kang Ph.D. Activation Functions Tanh – Logit Z를 [-1,+1]사이로 mapping – Activation의 중심값이 ‘0’이 된다. • Multi-layer를 쌓을때 hidden layer에서 bias가 생기지 않는다. 21 f (z) = tanh(z) Logit Z f (z) = tanh(z)
  • 22. 누구나 TensorFlow! J. Kang Ph.D. Activation Functions ReLU (Restricted Linear unit) – Sigmoid, tanh 함수는 입력값이 양끝에 근접하면 기울기가 ‘0’에 가까워짐  Vanishing Gradient문제 (TBU) 22 f (z) = max(0,z) Logit Z f (z) = max(0,z)
  • 23. 누구나 TensorFlow! J. Kang Ph.D. Feed-Forward Neural Networks 그런 뉴런을 엮어서 쌓아보자 – 사람의 뇌 또한 계층 구조를 가지고 있다. 23 X =[x1,x2,x3,x4 ] Y =[y1,y2,y3,y4 ] 규칙: - No connection in the same layer - No backward connection 수식 모델링: W1 W2
  • 24. 누구나 TensorFlow! J. Kang Ph.D. Feed-Forward Neural Networks 그런 뉴런을 엮어서 쌓아보자 – 사람의 뇌 또한 계층 구조를 가지고 있다. 24 X =[x1,x2,x3,x4 ] Y =[y1,y2,y3,y4 ] 규칙: - No connection in the same layer - No backward connection 수식 모델링: W1 W2 Y = f (W2 f (W1X +b1)+b2 )
  • 25. 누구나 TensorFlow! J. Kang Ph.D. Feed-Forward Neural Networks 그런 뉴런을 엮어서 쌓아보자 – 사람의 뇌 또한 계층 구조를 가지고 있다. 25 Y =[y1,y2,y3,y4 ] Input Layer: - 데이터 입력 X을 받는 계층 - tf.placeholder()가 물리는 곳 W1 W2
  • 26. 누구나 TensorFlow! J. Kang Ph.D. Feed-Forward Neural Networks 그런 뉴런을 엮어서 쌓아보자 – 사람의 뇌 또한 계층 구조를 가지고 있다. 26 X =[x1,x2,x3,x4 ] Output Layer: - 데이터 출력 Y을 내보내는 곳 - tf.placeholder()가 물리는 곳 W1 W2
  • 27. 누구나 TensorFlow! J. Kang Ph.D. Feed-Forward Neural Networks 그런 뉴런을 엮어서 쌓아보자 – 사람의 뇌 또한 계층 구조를 가지고 있다. 27 X =[x1,x2,x3,x4 ] Y =[y1,y2,y3,y4 ] Hidden Layer: - Input layer와 output layer 사이에 있는 모든 계층 - X로 부터 학습에 필요한 feature를 스스로 뽑아낸다. - 중간 표현단계인 feature map을 생성 - Hidden layer가 많을 수록 섬세하게 Feature를 뽑을 수 있다. W1 W2
  • 28. 누구나 TensorFlow! J. Kang Ph.D. Feed-Forward Neural Networks Google’s good example site – http://playground.tensorflow.org/ – 가지고 놀아보면 더 이해가 잘될것! • Logistic regression (1-layer neural net classification) • Neural Net 28
  • 29. 누구나 TensorFlow! J. Kang Ph.D. How to Train Neural Net? 어떻케 Neural net를 훈련시킬 것인가? – 기존방법1 : Maximum likelihood est. + analytical solution • In many cases, No analytical solution exist • Non-linearity of activation function  No closed form solution – 기존방법2: Maximum likelihood est. + Numerical solver • An Example: Logistic regression based classification – Cost: Cross-entropy function (non-linear) – Solver: » Gradient descent solvers: cost의 큰 경사를 따라서 무족건 내려가는것 (first-order method) » Newton-Raphson solvers: cost의 경사가 ’0’ 인 지점을 찾는 것 (second order method, good for convex problems) 29
  • 30. 누구나 TensorFlow! J. Kang Ph.D. Gradient Descent Revisit Gradient Descent를 다시 보자 30 Error W n+1 =W n -aÑJ(W n ) J(W): Error cost
  • 31. 누구나 TensorFlow! J. Kang Ph.D. Gradient Descent Revisit Gradient Descent를 다시 보자 두가지만 기억하세요!! – 기울기 방향 찾기: The delta rule – 기울기 보폭 찾기: learning rate 31 W n+1 =W n -aÑJ(W n ) J(W): Error cost기울기 보폭 Learning rate 기울기 방향 Gradient
  • 32. 누구나 TensorFlow! J. Kang Ph.D. Gradient Descent Revisit Gradient Descent를 다시 보자 – 기울기 방향 찾기: The delta rule – W의 각 성분방향으로 얼마나 가야 하는가? • 각 weight로 error cost 편미분한다. • sum-of-square cost + linear activation인 경우 32 -ÑJ(W) =[Dw1,Dw2,...,DwM ] Dwk = - ¶J(W ) ¶wk = - ¶ ¶wk 1 2 (t(i) - y(i) )2 i å æ èç ö ø÷ = xk (i) (t(i) - y(i) ) i å
  • 33. 누구나 TensorFlow! J. Kang Ph.D. Gradient Descent Revisit 어떻케 Neural net를 훈련시킬 것인가? – 기울기 방향 찾기: The delta rule – W의 각 성분방향으로 얼마나 가야 하는가? • 각 weight로 error cost 편미분한다. • cross-entropy cost + sigmoid activation인 경우 33 -ÑJ(W) =[Dw1,Dw2,...,DwM ]
  • 34. 누구나 TensorFlow! J. Kang Ph.D. Gradient Descent Revisit 어떻케 Neural net를 훈련시킬 것인가? – 기울기 보폭 찾기: learning rate • 너무 크면 발산 • 너무 작으면 평생 걸림 + 연산량 증가 34
  • 35. 누구나 TensorFlow! J. Kang Ph.D. Neural Net의 training 기존 ML est. + Gradient Descent의 한계 – Hidden Layer 수가 늘어남에 따라서 학습해야할 파라메터 W의 차원이 매우 늘어난다. – “ML est + numerical solvers” 조합으로 학습하기에는 unknown 파라미터(W) 의 개수가 너무 많다. •  복잡도가 매우 늘어난다. 35 Neural Networks Deep Neural Networks Input Hidden Output Input Hidden Hidden Hidden Output W1 W2 W3 W4W1 W2
  • 36. 누구나 TensorFlow! J. Kang Ph.D. Error Back Propagation 기본철학: – 이전Layer의 error derivative를 전파하여 현재Layer의 error derivative를 계산한다. 36
  • 37. 누구나 TensorFlow! J. Kang Ph.D. Error Back Propagation  기본 알고리즘 – STEP1) Initialization of all weights – STEP2) Forward Propagation: Activation 예측값 y 계산 from input X – STEP3) Error Back Propagation: Error derivative로 부터 weight변화율 (Δ𝑤) 계산 – STEP4) Update all weights and go to STEP2 37 이미지출처: Bishop’s book Chap 5
  • 38. 누구나 TensorFlow! J. Kang Ph.D. Error Back Propagation  Toy example: A two-layer small neural network  STEP 1) Initialization of all weights – Cross-entropy cost – Sigmoid activation 38 x1 x2 t1 t2 z11 y11 z12 y12 z21 y21 z22 y22 w11 w12 w13 w14 w21 w22 w23 w24 Input Layer Hidden Layer Output Layer b b W1 W2 f (z) = 1 1+ exp(-z) For sigmoid activation, y = f (z) ¶y dz = y(1- y)
  • 39. 누구나 TensorFlow! J. Kang Ph.D. Error Back Propagation  Toy example: A two-layer small neural network  STEP 1) Initialization of all weights – In a random manner: 39 x1 x2 t1 t2 z11 y11 z12 y12 z21 y21 z22 y22 w11 w12 w13 w14 w21 w22 w23 w24 Input Layer Hidden Layer Output Layer Init. of weights W1 = w11 w12 w13 w14 é ë ê ê ù û ú ú = 0.15 0.20 0.25 0.30 é ë ê ù û ú W2 = w21 w22 w23 w24 é ë ê ê ù û ú ú = 0.40 0.45 0.50 0.55 é ë ê ù û ú b b Training Data: X = 0.05 0.10 é ë ê ù û ú,T = 0.01 0.99 é ë ê ù û ú Bias: b1= 0.35 0.35 é ë ê ù û ú,b1= 0.60 0.60 é ë ê ù û ú W1 W2
  • 40. 누구나 TensorFlow! J. Kang Ph.D. Error Back Propagation  Toy example: A two-layer small neural network  STEP 2) Forward Propagation 40 x1 x2 t1 t2 z11 y11 z12 y12 z21 y21 z22 y22 w11 w12 w13 w14 w21 w22 w23 w24 Input Layer Hidden Layer Output Layer W1 W2 Y1 = f Z1 = W1X( )= f 0.15 0.20 0.25 0.30 é ë ê ù û ú 0.05 0.10 é ë ê ù û ú + 0.35 0.35 é ë ê ù û ú æ è ç ö ø ÷ = 0.5933 0.5969 é ë ê ù û ú Y2 = f Z2 = W2Y1( )= f 0.40 0.45 0.50 0.55 é ë ê ù û ú 0.5933 0.5969 é ë ê ù û ú + 0.6 0.6 é ë ê ù û ú æ è ç ö ø ÷ = 0.7514 0.7729 é ë ê ù û ú b b
  • 41. 누구나 TensorFlow! J. Kang Ph.D. Error Back Propagation  Toy example: A two-layer small neural network  STEP 3) Error Back Propagation for W2 – 3-1: calculate error derivative wrt y21, y22 41 x1 x2 t1 t2 z11 y11 z12 y12 z21 y21 z22 y22 w11 w12 w13 w14 w21 w22 w23 w24 Input Layer Hidden Layer Output Layer W1 W2 b b ¶J(W2 ) ¶y21 = y21 - t1 y21(1- y21) , ¶J(W2 ) ¶y22 = y22 - t2 y22 (1- y22 )
  • 42. 누구나 TensorFlow! J. Kang Ph.D. Error Back Propagation  Toy example: A two-layer small neural network  STEP 3) Error Back Propagation for W2 – 3-2: calculate error derivative wrt W2 42 x1 x2 t1 t2 z11 y11 z12 y12 z21 y21 z22 y22 w11 w12 w13 w14 w21 w22 w23 w24 Input Layer Hidden Layer Output Layer W1 b b Dw21 = -a ¶J(W2 ) ¶y21 ¶y21 dz21 dz21 ¶w21 = a(t1 - y21)y11, Dw22 = -a ¶J(W2 ) ¶y21 ¶y21 dz21 dz21 ¶w22 = a(t1 - y21)y12, Dw23 = -a ¶J(W2 ) ¶y22 ¶y22 dz22 dz22 ¶w23 = a(t2 - y22 )y11, Dw24 = -a ¶J(W2 ) ¶y22 ¶y22 dz22 dz22 ¶w24 = a(t2 - y22 )y12
  • 43. 누구나 TensorFlow! J. Kang Ph.D. Error Back Propagation  Toy example: A two-layer small neural network  STEP 3) Error Back Propagation for W1 (Important!!) – 3-3: calculate error derivative wrt y11, y12 43 x1 x2 t1 t2 z11 y11 z12 y12 z21 y21 z22 y22 w11 w12 w13 w14 w21 w22 w23 w24 Input Layer Hidden Layer Output Layer W1 W2 b b ¶J(W1) ¶y11 = w21 ¶J(W2 ) ¶y21 ¶y21 dz21 + w23 ¶J(W2 ) ¶y22 ¶y22 dz22 ¶J(W1) ¶y12 = w22 ¶J(W2 ) ¶y21 ¶y21 dz21 + w24 ¶J(W2 ) ¶y22 ¶y22 dz22
  • 44. 누구나 TensorFlow! J. Kang Ph.D. Error Back Propagation  Toy example: A two-layer small neural network  STEP 3) Error Back Propagation for W1 (Important!!) – 3-3: calculate error derivative wrt y11, y12 44 x1 x2 t1 t2 z11 y11 z12 y12 z21 y21 z22 y22 w11 w12 w13 w14 w21 w22 w23 w24 Input Layer Hidden Layer Output Layer W1 W2 b b ¶J(W1) ¶y11 = w21 ¶J(W2 ) ¶y21 y21(1- y21)+ w23 ¶J(W2 ) ¶y22 y22 (1- y22 ) ¶J(W1) ¶y12 = w22 ¶J(W2 ) ¶y21 y21(1- y21)+ w24 ¶J(W2 ) ¶y22 y22 (1- y22 )
  • 45. 누구나 TensorFlow! J. Kang Ph.D. Error Back Propagation  Toy example: A two-layer small neural network  STEP 3) Error Back Propagation for W1 – 3-4: calculate error derivative wrt W1 45 x1 x2 t1 t2 z11 y11 z12 y12 z21 y21 z22 y22 w11 w12 w13 w14 w21 w22 w23 w24 Input Layer Hidden Layer Output Layer W2 b b Dw11 = -a ¶J(W1) ¶y11 ¶y11 dz11 dz11 ¶w11 = -a ¶J(W1) ¶y11 y11(1- y11)x1 , Dw12 = -a ¶J(W1) ¶y11 ¶y11 dz11 dz11 ¶w12 = -a ¶J(W1) ¶y11 y11(1- y11)x2, Dw13 = -a ¶J(W1) ¶y12 ¶y12 dz12 dz12 ¶w13 = -a ¶J(W1) ¶y12 y12 (1- y12 )x1 , Dw14 = -a ¶J(W1) ¶y12 ¶y12 dz12 dz12 ¶w14 = -a ¶J(W1) ¶y12 y12 (1- y12 )x2
  • 46. 누구나 TensorFlow! J. Kang Ph.D. Error Back Propagation  Toy example: A two-layer small neural network  STEP 4) update all the weights and goto STEP 2   Iterate forward propagation and error back propagation 46 x1 x2 t1 t2 z11 y11 z12 y12 z21 y21 z22 y22 w11 w12 w13 w14 w21 w22 w23 w24 Input Layer Hidden Layer Output Layer W1 W2 b b
  • 47. 누구나 TensorFlow! J. Kang Ph.D. LAB6: Multi-layer neural net in TensorFlow  Cluster in Cluster data  https://github.com/jwkanggist/EveryBodyTensorFlow/blo b/master/lab6_runTFMultiANN_clusterinclusterdata.py 47
  • 48. 누구나 TensorFlow! J. Kang Ph.D. LAB6: Multi-layer neural net in TensorFlow Two spiral data – https://github.com/jwkanggist/EveryBodyTensorFlow/blob /master/lab6_runTFMultiANN_spiraldata.py 48

Editor's Notes

  • #2: 안녕하세요 MATLAB 1일차 첫 시간을 시작하겠습니다
  • #3: 강의를 시작하기 전에 제 소개를 잠깐 드리면 저는 현재 정보통신과 박사과정에 재학중인 학생이고요 강재욱이라고 합니다 즉 여러분의 학교 선배가 입니다 저는 현재 김기선 교수님과 연구를 같이하고 있습니다 연구분야는 간단하게 얘기하면 선형 시스템의 저복잡도 역변환 알고리즘을 연구하고 있습니다 자세한 내용은 저의 홈페이지나 저희 연구실 홈페이지에서 보실수 있습니다. 강의내용에 대한 질문이나 기타 저희 연구에 관심이 있으신 분은 이메일로 연락주시면 자세히 설명해 드리도록 하겠습니다 또한 기타 도움이 필요하신 경우에 연락 주시기바랍니다
  • #6: 먼저 메트랩 프로그래밍의 가장 일반적인 부분에 대해서 애기를 해보겠습니다 강의 중간에 질문이 있으시면 언제든지 손을 들고 말씀해 주세요 사실 맵틀랩도 하나의 프로그래밍 언어이기 때문에 그 기초는 다른 언어와 매우 흡사합니다 혹시 매트랩 프로그래밍에 경험이 있으신 분 얼마나 되나요? 아니면 씨언어? 잘하시는 분들은 좀 지루할 수도 있겠지만 간단하게 짚어보도록 하겠습니다.
  • #7: 저의 발표 자료와 강의 구성은 아타웨이 교수의 책을 참고로 하였습니다 책의 PDF파일을 제가 가지고 있습니다 관심있으신 분은 연락 주세요