SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
Neural Networks I
Sang Jun Lee
Ph.D. candidate, POSTECH
Email: lsj4u0208@postech.ac.kr
EECE695J 전자전기공학특론J(딥러닝기초및철강공정에의활용) – LECTURE 4 (2017. 9. 22)
2
▣ Lecture 3: unsupervised learning
▲ Clustering
▲ Anomaly detection : Density estimation
1-page Review
K-means
Spectral
clustering
Given a set of unlabeled example, 𝐷𝐷 = (𝑥𝑥𝑡𝑡) 𝑡𝑡=1
𝑁𝑁
,
learn a meaningful representation of the data
K-means
Cluster의 center로부터의
거리를 기준으로 clustering
Spectral clustering
얼마나 적은 비용으로 그래
프를 partitioning 할 것인가
• 알고리즘이 간단
• 초기값에 따른 알고리즘
결과의 변화
• 계산량이 많음
• 데이터의 cluste가 highly
non-convex일 때 효과적!
• 동일 데이터에 대하여 비
슷한 결과 도출
3
The history of artificial intelligence
1950 1970 1980 1990 2000 20101960
Perceptron 개발 (‘1957)
1st AI winter
• 60년대 말 ~ 70년대
• Perceptron 이론의 한계 발견
(perceptron: 데이터의 학습에
기반한 linear classifier)
• XOR 문제에 대한 한계점 발견
• 프로젝트 실패와 연구비 중단
Multilayer perceptron 개발 (‘1968)
인공지능 용어 등장
(Dartmouth AI Project, ‘1956)
4
The history of artificial intelligence
1950 1970 1980 1990 2000 20101960
Perceptron 개발 (‘1957)
1st AI winter
Multilayer perceptron 개발 (‘1968)
인공지능 용어 등장
AI Boom (80년대 중반)
전문가 시스템의 개발
전문가와 동일한 또는 그 이
상의 문제해결 능력을 가질
수 있도록 만들어진 시스템
Backpropagation (‘1981, ‘1986)
• 폴 워보스가 74년에 적용, 81년에 발표
• 러멜하트, 제프리힌튼, 로날드윌리엄스
가 역전파 학습모델 발표 (‘1986)
• 인공신경망 연구 활성화
2nd AI winter
복잡한 모델 구성의 한계
5
The history of artificial intelligence
1950 1970 1980 1990 2000 20101960
Perceptron 개발 (‘1957)
1st AI winter
Multilayer perceptron 개발 (‘1968)
인공지능 용어 등장 AI Boom
Backpropagation (‘1981, ‘1986)
2nd AI winter
순환신경망 (RNN, ‘1992) 필기체 문자인식 연구 (CNN, ‘1998)
딥러닝 용어 등장 (‘2000)
딥러닝 빙하기 (2000~2005)
• Deep neural network
최적화의 어려움
• 엄청난 계산량
• 학습데이터의 부족
6
The history of artificial intelligence
1950 1970 1980 1990 2000 20101960
Perceptron 개발 (‘1957)
1st AI winter
Multilayer perceptron 개발 (‘1968)
인공지능 용어 등장 AI Boom
Backpropagation (‘1981, ‘1986)
2nd AI winter
순환신경망 (RNN, ‘1992)
필기체 문자인식 연구 (CNN, ‘1998)
Deep belief network (DBN, ‘2006)
• 제프리 힌튼
• RBM (Restricted Boltzmann Machine)
이라는 Pre-training 기법 개발
• Pre-training을 이용하여 가중치를
initialization 하면 DNN도 학습 가능
최근:
• GPU를 이용한 병렬처리 연산
• 빅데이터의 활용
• 알고리즘의 개발 (Dropout, ReLU)
7
Biological Neural Network
▣ Perceptron
생물학적인 신경체계 모방
▣ Multilayer Perceptron (MLP)
XOR문제를 어떻게 풀 것인가?
▣ Back Propagation
MLP의 학습
▣ Vanishing gradient
Neural network는 deep 할 수록 좋다?
8
Contents
생물학적인 신경체계 모방하기 위한 수학적 모델
▲ Biological neuron:
▲ Artificial neuron: 여러 뉴런으로부터 신호를 받아 처리하여 하나의 output 생성 및 여러 뉴런으로 전달
▲ Biological neuron vs. Artificial neuron
물론, 실제 biological neuron은 여러가지 종류가 존재하고, dendrite는 복잡한 nonlinear computation을 수행하며,
synapse는 weight을 이용한 system이 아니라 복잡한 dynamic system으로 artificial neuron과 다르다!
9
Perceptron
신호 입력
입력 받은 신호 처리 및 분계점(threshold)가
넘는 신호에 대하여 axon terminal으로 전달
생물학적인 신경체계 모방하기 위한 수학적 모델
▲ Activation function: step function 대신 sigmoid (logistic) function 사용
▲ 여러가지 종류의 activation function
10
Perceptron
𝑓𝑓 𝑥𝑥 =
1
1 + 𝑒𝑒−𝑥𝑥
생물학적인 신경체계 모방하기 위한 수학적 모델
▲ Logic을 구성하는 기본단위인 AND/OR/NOT gate 구현 가능
11
Perceptron
생물학적인 신경체계 모방하기 위한 수학적 모델
▲ Logic을 구성하는 기본단위인 AND/OR/NOT gate 구현 가능
▲ Perceptron: linear classifier → linearly non-separable 문제에 대한 한계 (ex. XOR)
12
Perceptron
Multilayer Perceptron = Neural Network
XOR gate: a simple nonlinear classification example
여러 개의 perceptron을 사용함으로써 구현 가능
예를 들어, 𝑋𝑋𝑋 = 0, 𝑋𝑋𝑋 = 1 일 때,
𝑋𝑋𝑋 = 𝑠𝑠𝑠𝑠𝑠𝑠 1 ⋅ 𝑋𝑋𝑋 + 1 ⋅ 𝑋𝑋𝑋 + 0 = 1 & 𝑋𝑋𝑋 = 𝑠𝑠𝑠𝑠𝑠𝑠 1 ⋅ 𝑋𝑋𝑋 + 1 ⋅ 𝑋𝑋𝑋 − 1 = 0
𝑂𝑂𝑂𝑂𝑂𝑂 = 𝑠𝑠𝑠𝑠𝑠𝑠 3 ⋅ 𝑋𝑋𝑋 + −2 ⋅ 𝑋𝑋𝑋 − 2 = 1
13
Neural Network
Multi-class classification
Neural network를 활용한 multi-class classification의 원리
(softmax function을 사용하여 K개의 hypothesis function을 구성하는 softmax classification과 같은 원리)
14
Neural Network
Multi-class classification
학습시키는 class 개수와 동일한 수의 output node를 구성
학습데이터를 𝑥𝑥 𝑖𝑖
, 𝑦𝑦 𝑖𝑖
, 𝑖𝑖 = 1, ⋯ , 𝑚𝑚 로 표시할 때,
• Binary classification: output node의 개수가 1개, 𝑦𝑦(𝑖𝑖)
∈ 0,1 ∈ ℝ
• Multi-class classification (K classes): output node의 개수가 K개, 𝑦𝑦(𝑖𝑖)
∈ ℝ𝐾𝐾
15
Neural Network
Input layer Output layerHidden layer
k번째 hypothesis
function의 output
Multi-class classification
학습시키는 class 개수와 동일한 수의 output node를 구성
예를 들어, 분류하는 class의 개수가 4개일 때, 𝑦𝑦(𝑖𝑖)
는 아래 vector 중 하나로 구성
16
Neural Network
𝑦𝑦(𝑖𝑖)
=
1
0
0
0
𝑜𝑜𝑜𝑜
0
1
0
0
𝑜𝑜𝑜𝑜
0
0
1
0
𝑜𝑜𝑜𝑜
0
0
0
1
One-hot encoding !!
Multi-class classification의 cost function
데이터에 기반하여 좋은 가중치와 나쁜 가중치를 어떻게 판단?
→ cross-entropy loss 사용
어떻게 학습할 것인가?
𝛻𝛻𝜽𝜽 𝐽𝐽 𝜽𝜽 의 계산 필요! → Backpropagation
17
Neural Network
𝒉𝒉𝜽𝜽 𝒙𝒙 ∈ ℝ𝐾𝐾
𝐽𝐽 𝜽𝜽 = −
1
𝑚𝑚
�
𝑖𝑖=1
𝑚𝑚
�
𝑘𝑘=1
𝐾𝐾
𝑦𝑦𝑘𝑘
(𝑖𝑖)
log 𝒉𝒉𝜽𝜽 𝒙𝒙 𝒊𝒊
𝑘𝑘
+ 1 − 𝑦𝑦𝑘𝑘
𝑖𝑖
log 1 − 𝒉𝒉𝜽𝜽 𝒙𝒙 𝒊𝒊
𝑘𝑘
A simple example: Local gradient와 (parameter에 대한) gradient의 이해
𝑓𝑓 𝑥𝑥, 𝑦𝑦, 𝑧𝑧 = 𝑥𝑥 + 𝑦𝑦 ⋅ 𝑧𝑧
𝑥𝑥 = −2, 𝑦𝑦 = 5, 𝑧𝑧 = −4 일 때,
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
와
𝜕𝜕𝜕𝜕
𝜕𝜕𝑦𝑦
를 구해보자!
18
Backpropagation
𝑞𝑞 = 𝑥𝑥 + 𝑦𝑦
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
= 1,
𝜕𝜕𝜕𝜕
𝜕𝜕𝑦𝑦
= 1
𝑓𝑓 = 𝑞𝑞 ⋅ 𝑧𝑧
𝜕𝜕𝑓𝑓
𝜕𝜕𝑞𝑞
= 𝑧𝑧,
𝜕𝜕𝑓𝑓
𝜕𝜕𝑧𝑧
= 𝑞𝑞
A simple example: Local gradient와 (parameter에 대한) gradient의 이해
𝑓𝑓 𝑥𝑥, 𝑦𝑦, 𝑧𝑧 = 𝑥𝑥 + 𝑦𝑦 ⋅ 𝑧𝑧
𝑥𝑥 = −2, 𝑦𝑦 = 5, 𝑧𝑧 = −4 일 때,
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
와
𝜕𝜕𝜕𝜕
𝜕𝜕𝑦𝑦
를 구해보자!
19
Backpropagation
𝑞𝑞 = 𝑥𝑥 + 𝑦𝑦
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
= 1,
𝜕𝜕𝜕𝜕
𝜕𝜕𝑦𝑦
= 1
𝑓𝑓 = 𝑞𝑞 ⋅ 𝑧𝑧
𝜕𝜕𝑓𝑓
𝜕𝜕𝑞𝑞
= 𝑧𝑧,
𝜕𝜕𝑓𝑓
𝜕𝜕𝑧𝑧
= 𝑞𝑞
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
= 𝑞𝑞 = 3
𝜕𝜕𝜕𝜕
𝜕𝜕𝑞𝑞
= 𝑧𝑧 = −4
𝜕𝜕𝑞𝑞
𝜕𝜕𝑥𝑥
= 1
𝜕𝜕𝑞𝑞
𝜕𝜕𝑦𝑦
= 1
Local gradient
A simple example: Local gradient와 (parameter에 대한) gradient의 이해
𝑓𝑓 𝑥𝑥, 𝑦𝑦, 𝑧𝑧 = 𝑥𝑥 + 𝑦𝑦 ⋅ 𝑧𝑧
𝑥𝑥 = −2, 𝑦𝑦 = 5, 𝑧𝑧 = −4 일 때,
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
와
𝜕𝜕𝜕𝜕
𝜕𝜕𝑦𝑦
를 구해보자!
20
Backpropagation
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
=
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
⋅
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
= 1 ⋅ −4 = −4
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
=
𝜕𝜕𝜕𝜕
𝜕𝜕𝑦𝑦
⋅
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
= 1 ⋅ −4 = −4
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
= 3
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
= 𝑞𝑞 = 3
𝜕𝜕𝜕𝜕
𝜕𝜕𝑞𝑞
= 𝑧𝑧 = −4
𝜕𝜕𝑞𝑞
𝜕𝜕𝑥𝑥
= 1
𝜕𝜕𝑞𝑞
𝜕𝜕𝑦𝑦
= 1
Local gradient
Parameter에 대한 gradient
𝑥𝑥 ≔ 𝑥𝑥 − 𝜂𝜂 ⋅
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
𝑦𝑦 ≔ 𝑦𝑦 − 𝜂𝜂 ⋅
𝜕𝜕𝜕𝜕
𝜕𝜕𝑦𝑦
𝑧𝑧 ≔ 𝑧𝑧 − 𝜂𝜂 ⋅
𝜕𝜕𝜕𝜕
𝜕𝜕𝑧𝑧
만약 𝑓𝑓의 값을 감소시키고 싶으면..
𝑥𝑥 ≔ 𝑥𝑥 − 𝜂𝜂 ⋅
𝜕𝜕𝜕𝜕
𝜕𝜕𝜕𝜕
= −1.6
𝑦𝑦 ≔ 𝑦𝑦 − 𝜂𝜂 ⋅
𝜕𝜕𝜕𝜕
𝜕𝜕𝑦𝑦
= 5.4
𝑧𝑧 ≔ 𝑧𝑧 − 𝜂𝜂 ⋅
𝜕𝜕𝜕𝜕
𝜕𝜕𝑧𝑧
= −4.3
𝜂𝜂 = 0.1일 때,
−1.6 + 5.4 ⋅ −4.3 = −16.3Chain rule!
Another example:
𝑓𝑓 𝒘𝒘, 𝒙𝒙 =
1
1 + 𝑒𝑒−(𝑤𝑤0 𝑥𝑥0+𝑤𝑤1 𝑥𝑥1+𝑤𝑤𝑤)
𝑤𝑤0 = 2, 𝑥𝑥0 = −1, 𝑤𝑤1 = −3, 𝑥𝑥1 = −2, 𝑤𝑤2 = −3
21
Backpropagation
Another example:
22
Backpropagation
𝑓𝑓 𝒘𝒘, 𝒙𝒙 =
1
1 + 𝑒𝑒−(𝑤𝑤0 𝑥𝑥0+𝑤𝑤1 𝑥𝑥1+𝑤𝑤𝑤)
−
1
1.372
= −0.53
1𝑒𝑒−1
= 0.37−1
1
1
1
1
𝑤𝑤1 = −3
𝑤𝑤0 = 2
𝑥𝑥0 = −1
𝑥𝑥1 = −2
Local gradient
Local gradient는 forward propagation 과정에서 계산 가능
Another example:
23
Backpropagation
𝑓𝑓 𝒘𝒘, 𝒙𝒙 =
1
1 + 𝑒𝑒−(𝑤𝑤0 𝑥𝑥0+𝑤𝑤1 𝑥𝑥1+𝑤𝑤𝑤)
−
1
1.372
= −0.53
1𝑒𝑒−1
= 0.37−1
1
1
1
1
𝑤𝑤1 = −3
𝑤𝑤0 = 2
𝑥𝑥0 = −1
𝑥𝑥1 = −2
−0.531 ⋅ −0.53
= −0.53
0.37 ⋅ −0.53
= −0.2
(−1) ⋅ −0.2
= 0.2
0.2
0.2
0.2
0.2
−0.6
−0.4
0.4
−0.2
Parameter에 대한 gradient
Another example:
24
Backpropagation
𝑓𝑓 𝒘𝒘, 𝒙𝒙 =
1
1 + 𝑒𝑒−(𝑤𝑤0 𝑥𝑥0+𝑤𝑤1 𝑥𝑥1+𝑤𝑤𝑤)
−
1
1.372
= −0.53
1𝑒𝑒−1
= 0.37−1
1
1
1
1
𝑤𝑤1 = −3
𝑤𝑤0 = 2
𝑥𝑥0 = −1
𝑥𝑥1 = −2
−0.531 ⋅ −0.53
= −0.53
0.37 ⋅ −0.53
= −0.2
(−1) ⋅ −0.2
= 0.2
0.2
0.2
0.2
0.2
−0.6
−0.4
0.4
−0.2
덧셈과 곱셈이 backward gradient flow에 미치는 영향!
• 덧셈: gradient를 분배
• 곱셈: 𝑥𝑥 ⋅ 𝑦𝑦에서 𝑥𝑥의 gradient는 𝑦𝑦의 영향을 받음
학습 시키는 데이터의 range분포가 다르면 어떻게 될까?
• 하나의 데이터에서 개별 feature의 range가 다른 경우
• 개별데이터의 range분포가 다른 경우
Another example:
25
Backpropagation
𝑓𝑓 𝒘𝒘, 𝒙𝒙 =
1
1 + 𝑒𝑒−(𝑤𝑤0 𝑥𝑥0+𝑤𝑤1 𝑥𝑥1+𝑤𝑤𝑤)
−1
1
1
1
1
𝑤𝑤1 = −3
𝑤𝑤0 = 2
𝑥𝑥0 = −1
𝑥𝑥1 = −2
(−1) ⋅ −0.2
= 0.2
0.2
0.2
0.2
0.2
−0.6
−0.4
0.4
−0.2
여기서 하나 더! Sigmoid function을 많이 사용했던 이유!
𝜎𝜎 𝑥𝑥 =
1
1 + 𝑒𝑒−𝑥𝑥
𝑑𝑑
𝑑𝑑𝑑𝑑
𝜎𝜎 𝑥𝑥 = 1 − 𝜎𝜎 𝑥𝑥 ⋅ 𝜎𝜎 𝑥𝑥
Sigmoid gate
→ 미분이 간단
1 − 𝜎𝜎 1 ⋅ 𝜎𝜎 1 = 0.2
Code: 141.223.87.129data상준EECE695J_딥러닝기초및활용 - W4_XOR_example.ipynb
Data preparation
26
TensorFlow implementation for XOR example
우리가 원하는 output은 1(true) 혹은 0(false)이지만
반드시! One-hot encoding 형태로 데이터를 구성해야!
Hidden layer의 neuron 개수를 20개로 setting
Output layer의 노드 개수는
분류하고자 하는 class의 수로
결정
Code: 141.223.87.129data상준EECE695J_딥러닝기초및활용 - W4_XOR_example.ipynb
Data flow graph 구성
27
TensorFlow implementation for XOR example
나중에 데이터를 실제로 입력할 placeholder 정의!
Layer의 수 = hidden layer의 수 + 1 (output layer)
Code: 141.223.87.129data상준EECE695J_딥러닝기초및활용 - W4_XOR_example.ipynb
Training
28
TensorFlow implementation for XOR example
Session을 열고 미리 정의한 data flow graph의 실행
학습을 위해 데이터(x) 및 라벨(y)를 data flow
graph에 입력
학습이 진행됨에 따라 loss가 감소하는 것을 확인
Code: 141.223.87.129data상준EECE695J_딥러닝기초및활용 - W4_XOR_example.ipynb
Test
29
TensorFlow implementation for XOR example
테스트 할 때는 라벨 정보를 입력할 필요 없음
Network 구조를 deep하게 쌓으면 좋다고?
6-layer network
30
Vanishing Gradient
그냥 이렇게 쌓으면 됩니다
Network 구조를 deep하게 쌓으면 좋다고?
6-layer network
31
Vanishing Gradient
!?
Network 구조를 deep하게 쌓으면 좋다고?
32
Vanishing Gradient
𝑑𝑑
𝑑𝑑𝑑𝑑
𝜎𝜎 𝑥𝑥 = 1 − 𝜎𝜎 𝑥𝑥 ⋅ 𝜎𝜎 𝑥𝑥 ≤ 1
• 각 layer의 local gradient가 곱해 짐에 따라 parameter에 대한 gradient 감소
• 입력 데이터에 의한 학습효과 x
▣ Vanishing gradient 문제의 해결 방법?
Activation function: better nonlinearity
▣ Weight initialization
학습 파라미터의 초기값을 어떻게 설정할 것인가?
▣ Data Preprocessing
물리적 의미가 다른 데이터 혹은 분포가 다른 데이터를 어떻게 동시에 학습?
▣ Regularization
Dropout과 model ensemble
33
Preview (Lecture 5)
Neural network implementation for multi-class classification
Code: 141.223.87.129data상준EECE695J_딥러닝기초및활용 - W4_homework2.ipynb
34
Homework #2
Data 구성
• X: 300x2 (300개의 2-dimensional data)
• y: 300x1 (300개의 label 데이터), 𝑦𝑦 ∈ {0,1,2}
Neural network implementation for multi-class classification
Code: 141.223.87.129data상준EECE695J_딥러닝기초및활용 - W4_homework2.ipynb
35
Homework #2
Training data Test data
Neural network implementation for multi-class classification
Code: 141.223.87.129data상준EECE695J_딥러닝기초및활용 - W4_homework2.ipynb
36
Homework #2
To Do
• Label data (y)의 one-hot encoding
• Neural network 구성
• Training data를 이용하여 학습
• Test data에 대하여 테스트 및 분류 정확도 계산
𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 =
# 𝑜𝑜𝑜𝑜 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑
# 𝑜𝑜𝑜𝑜 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑
제출물
• Neural network 구조 (code부분 capture)
• 학습 iteration에 대한 cross-entropy loss (50번 혹은 100번 마다 출력)
• Training 및 Test data에 대한 정확도
Due date : 10/12 (3주 뒤)
▣ Perceptron
생물학적인 신경체계 모방
▣ Multilayer Perceptron (MLP)
XOR문제를 어떻게 풀 것인가?
▣ Back Propagation
MLP의 학습
▣ Vanishing gradient
Neural network는 deep 할 수록 좋다?
37
Summary

Weitere ähnliche Inhalte

Was ist angesagt?

Dsh data sensitive hashing for high dimensional k-nn search
Dsh  data sensitive hashing for high dimensional k-nn searchDsh  data sensitive hashing for high dimensional k-nn search
Dsh data sensitive hashing for high dimensional k-nn searchWooSung Choi
 
알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder홍배 김
 
Anomaly Detection with GANs
Anomaly Detection with GANsAnomaly Detection with GANs
Anomaly Detection with GANs홍배 김
 
Learning to remember rare events
Learning to remember rare eventsLearning to remember rare events
Learning to remember rare events홍배 김
 
A neural image caption generator
A neural image caption generatorA neural image caption generator
A neural image caption generator홍배 김
 
Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Jinwon Lee
 
Q Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object LocalizationQ Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object Localization홍배 김
 
InfoGAN: Interpretable Representation Learning by Information Maximizing Gene...
InfoGAN: Interpretable Representation Learning by Information Maximizing Gene...InfoGAN: Interpretable Representation Learning by Information Maximizing Gene...
InfoGAN: Interpretable Representation Learning by Information Maximizing Gene...홍배 김
 
Rnn개념정리
Rnn개념정리Rnn개념정리
Rnn개념정리종현 최
 
Deep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural NetworkDeep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural Networkagdatalab
 
Differentiable Neural Computer
Differentiable Neural ComputerDifferentiable Neural Computer
Differentiable Neural ComputerTaehoon Kim
 
Graph Neural Network (한국어)
Graph Neural Network (한국어)Graph Neural Network (한국어)
Graph Neural Network (한국어)Jungwon Kim
 
Attention is all you need 설명
Attention is all you need 설명Attention is all you need 설명
Attention is all you need 설명Junho Lee
 
[한글] Tutorial: Sparse variational dropout
[한글] Tutorial: Sparse variational dropout[한글] Tutorial: Sparse variational dropout
[한글] Tutorial: Sparse variational dropoutWuhyun Rico Shin
 
머피의 머신러닝 : Gaussian Processes
머피의 머신러닝 : Gaussian Processes머피의 머신러닝 : Gaussian Processes
머피의 머신러닝 : Gaussian ProcessesJungkyu Lee
 
Vs^3 net for machine reading comprehension question answering
Vs^3 net for machine reading comprehension question answeringVs^3 net for machine reading comprehension question answering
Vs^3 net for machine reading comprehension question answeringNAVER Engineering
 
Murpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical ModelMurpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical ModelJungkyu Lee
 
MNIST for ML beginners
MNIST for ML beginnersMNIST for ML beginners
MNIST for ML beginners홍배 김
 
7. Linear Regression
7. Linear Regression7. Linear Regression
7. Linear RegressionJungkyu Lee
 

Was ist angesagt? (20)

Dsh data sensitive hashing for high dimensional k-nn search
Dsh  data sensitive hashing for high dimensional k-nn searchDsh  data sensitive hashing for high dimensional k-nn search
Dsh data sensitive hashing for high dimensional k-nn search
 
Variational AutoEncoder(VAE)
Variational AutoEncoder(VAE)Variational AutoEncoder(VAE)
Variational AutoEncoder(VAE)
 
알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder
 
Anomaly Detection with GANs
Anomaly Detection with GANsAnomaly Detection with GANs
Anomaly Detection with GANs
 
Learning to remember rare events
Learning to remember rare eventsLearning to remember rare events
Learning to remember rare events
 
A neural image caption generator
A neural image caption generatorA neural image caption generator
A neural image caption generator
 
Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Deep learning seminar_snu_161031
Deep learning seminar_snu_161031
 
Q Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object LocalizationQ Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object Localization
 
InfoGAN: Interpretable Representation Learning by Information Maximizing Gene...
InfoGAN: Interpretable Representation Learning by Information Maximizing Gene...InfoGAN: Interpretable Representation Learning by Information Maximizing Gene...
InfoGAN: Interpretable Representation Learning by Information Maximizing Gene...
 
Rnn개념정리
Rnn개념정리Rnn개념정리
Rnn개념정리
 
Deep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural NetworkDeep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural Network
 
Differentiable Neural Computer
Differentiable Neural ComputerDifferentiable Neural Computer
Differentiable Neural Computer
 
Graph Neural Network (한국어)
Graph Neural Network (한국어)Graph Neural Network (한국어)
Graph Neural Network (한국어)
 
Attention is all you need 설명
Attention is all you need 설명Attention is all you need 설명
Attention is all you need 설명
 
[한글] Tutorial: Sparse variational dropout
[한글] Tutorial: Sparse variational dropout[한글] Tutorial: Sparse variational dropout
[한글] Tutorial: Sparse variational dropout
 
머피의 머신러닝 : Gaussian Processes
머피의 머신러닝 : Gaussian Processes머피의 머신러닝 : Gaussian Processes
머피의 머신러닝 : Gaussian Processes
 
Vs^3 net for machine reading comprehension question answering
Vs^3 net for machine reading comprehension question answeringVs^3 net for machine reading comprehension question answering
Vs^3 net for machine reading comprehension question answering
 
Murpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical ModelMurpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical Model
 
MNIST for ML beginners
MNIST for ML beginnersMNIST for ML beginners
MNIST for ML beginners
 
7. Linear Regression
7. Linear Regression7. Linear Regression
7. Linear Regression
 

Ähnlich wie Lecture 4: Neural Networks I

[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pub[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pubJaewook. Kang
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regressionHaesun Park
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝Jinwon Lee
 
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)Jeonghun Yoon
 
EveryBody Tensorflow module2 GIST Jan 2018 Korean
EveryBody Tensorflow module2 GIST Jan 2018 KoreanEveryBody Tensorflow module2 GIST Jan 2018 Korean
EveryBody Tensorflow module2 GIST Jan 2018 KoreanJaewook. Kang
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해Hee Won Park
 
딥러닝의 기본
딥러닝의 기본딥러닝의 기본
딥러닝의 기본deepseaswjh
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
 
3.neural networks
3.neural networks3.neural networks
3.neural networksHaesun Park
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learningYongdae Kim
 
Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningJinSooKim80
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3Haesun Park
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagationJinSooKim80
 
From maching learning to deep learning episode2
From maching learning to deep learning episode2 From maching learning to deep learning episode2
From maching learning to deep learning episode2 Yongdae Kim
 
인공신경망
인공신경망인공신경망
인공신경망종열 현
 
Convolutional neural networks
Convolutional neural networksConvolutional neural networks
Convolutional neural networksHyunjinBae3
 
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic용진 조
 

Ähnlich wie Lecture 4: Neural Networks I (20)

[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pub[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pub
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regression
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
 
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)
 
DL from scratch(1~3)
DL from scratch(1~3)DL from scratch(1~3)
DL from scratch(1~3)
 
EveryBody Tensorflow module2 GIST Jan 2018 Korean
EveryBody Tensorflow module2 GIST Jan 2018 KoreanEveryBody Tensorflow module2 GIST Jan 2018 Korean
EveryBody Tensorflow module2 GIST Jan 2018 Korean
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해
 
딥러닝의 기본
딥러닝의 기본딥러닝의 기본
딥러닝의 기본
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
3.neural networks
3.neural networks3.neural networks
3.neural networks
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learning
 
Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learning
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagation
 
Cnn 강의
Cnn 강의Cnn 강의
Cnn 강의
 
From maching learning to deep learning episode2
From maching learning to deep learning episode2 From maching learning to deep learning episode2
From maching learning to deep learning episode2
 
Naive ML Overview
Naive ML OverviewNaive ML Overview
Naive ML Overview
 
인공신경망
인공신경망인공신경망
인공신경망
 
Convolutional neural networks
Convolutional neural networksConvolutional neural networks
Convolutional neural networks
 
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
 

Kürzlich hochgeladen

데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 

Kürzlich hochgeladen (8)

데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 

Lecture 4: Neural Networks I

  • 1. Neural Networks I Sang Jun Lee Ph.D. candidate, POSTECH Email: lsj4u0208@postech.ac.kr EECE695J 전자전기공학특론J(딥러닝기초및철강공정에의활용) – LECTURE 4 (2017. 9. 22)
  • 2. 2 ▣ Lecture 3: unsupervised learning ▲ Clustering ▲ Anomaly detection : Density estimation 1-page Review K-means Spectral clustering Given a set of unlabeled example, 𝐷𝐷 = (𝑥𝑥𝑡𝑡) 𝑡𝑡=1 𝑁𝑁 , learn a meaningful representation of the data K-means Cluster의 center로부터의 거리를 기준으로 clustering Spectral clustering 얼마나 적은 비용으로 그래 프를 partitioning 할 것인가 • 알고리즘이 간단 • 초기값에 따른 알고리즘 결과의 변화 • 계산량이 많음 • 데이터의 cluste가 highly non-convex일 때 효과적! • 동일 데이터에 대하여 비 슷한 결과 도출
  • 3. 3 The history of artificial intelligence 1950 1970 1980 1990 2000 20101960 Perceptron 개발 (‘1957) 1st AI winter • 60년대 말 ~ 70년대 • Perceptron 이론의 한계 발견 (perceptron: 데이터의 학습에 기반한 linear classifier) • XOR 문제에 대한 한계점 발견 • 프로젝트 실패와 연구비 중단 Multilayer perceptron 개발 (‘1968) 인공지능 용어 등장 (Dartmouth AI Project, ‘1956)
  • 4. 4 The history of artificial intelligence 1950 1970 1980 1990 2000 20101960 Perceptron 개발 (‘1957) 1st AI winter Multilayer perceptron 개발 (‘1968) 인공지능 용어 등장 AI Boom (80년대 중반) 전문가 시스템의 개발 전문가와 동일한 또는 그 이 상의 문제해결 능력을 가질 수 있도록 만들어진 시스템 Backpropagation (‘1981, ‘1986) • 폴 워보스가 74년에 적용, 81년에 발표 • 러멜하트, 제프리힌튼, 로날드윌리엄스 가 역전파 학습모델 발표 (‘1986) • 인공신경망 연구 활성화 2nd AI winter 복잡한 모델 구성의 한계
  • 5. 5 The history of artificial intelligence 1950 1970 1980 1990 2000 20101960 Perceptron 개발 (‘1957) 1st AI winter Multilayer perceptron 개발 (‘1968) 인공지능 용어 등장 AI Boom Backpropagation (‘1981, ‘1986) 2nd AI winter 순환신경망 (RNN, ‘1992) 필기체 문자인식 연구 (CNN, ‘1998) 딥러닝 용어 등장 (‘2000) 딥러닝 빙하기 (2000~2005) • Deep neural network 최적화의 어려움 • 엄청난 계산량 • 학습데이터의 부족
  • 6. 6 The history of artificial intelligence 1950 1970 1980 1990 2000 20101960 Perceptron 개발 (‘1957) 1st AI winter Multilayer perceptron 개발 (‘1968) 인공지능 용어 등장 AI Boom Backpropagation (‘1981, ‘1986) 2nd AI winter 순환신경망 (RNN, ‘1992) 필기체 문자인식 연구 (CNN, ‘1998) Deep belief network (DBN, ‘2006) • 제프리 힌튼 • RBM (Restricted Boltzmann Machine) 이라는 Pre-training 기법 개발 • Pre-training을 이용하여 가중치를 initialization 하면 DNN도 학습 가능 최근: • GPU를 이용한 병렬처리 연산 • 빅데이터의 활용 • 알고리즘의 개발 (Dropout, ReLU)
  • 8. ▣ Perceptron 생물학적인 신경체계 모방 ▣ Multilayer Perceptron (MLP) XOR문제를 어떻게 풀 것인가? ▣ Back Propagation MLP의 학습 ▣ Vanishing gradient Neural network는 deep 할 수록 좋다? 8 Contents
  • 9. 생물학적인 신경체계 모방하기 위한 수학적 모델 ▲ Biological neuron: ▲ Artificial neuron: 여러 뉴런으로부터 신호를 받아 처리하여 하나의 output 생성 및 여러 뉴런으로 전달 ▲ Biological neuron vs. Artificial neuron 물론, 실제 biological neuron은 여러가지 종류가 존재하고, dendrite는 복잡한 nonlinear computation을 수행하며, synapse는 weight을 이용한 system이 아니라 복잡한 dynamic system으로 artificial neuron과 다르다! 9 Perceptron 신호 입력 입력 받은 신호 처리 및 분계점(threshold)가 넘는 신호에 대하여 axon terminal으로 전달
  • 10. 생물학적인 신경체계 모방하기 위한 수학적 모델 ▲ Activation function: step function 대신 sigmoid (logistic) function 사용 ▲ 여러가지 종류의 activation function 10 Perceptron 𝑓𝑓 𝑥𝑥 = 1 1 + 𝑒𝑒−𝑥𝑥
  • 11. 생물학적인 신경체계 모방하기 위한 수학적 모델 ▲ Logic을 구성하는 기본단위인 AND/OR/NOT gate 구현 가능 11 Perceptron
  • 12. 생물학적인 신경체계 모방하기 위한 수학적 모델 ▲ Logic을 구성하는 기본단위인 AND/OR/NOT gate 구현 가능 ▲ Perceptron: linear classifier → linearly non-separable 문제에 대한 한계 (ex. XOR) 12 Perceptron
  • 13. Multilayer Perceptron = Neural Network XOR gate: a simple nonlinear classification example 여러 개의 perceptron을 사용함으로써 구현 가능 예를 들어, 𝑋𝑋𝑋 = 0, 𝑋𝑋𝑋 = 1 일 때, 𝑋𝑋𝑋 = 𝑠𝑠𝑠𝑠𝑠𝑠 1 ⋅ 𝑋𝑋𝑋 + 1 ⋅ 𝑋𝑋𝑋 + 0 = 1 & 𝑋𝑋𝑋 = 𝑠𝑠𝑠𝑠𝑠𝑠 1 ⋅ 𝑋𝑋𝑋 + 1 ⋅ 𝑋𝑋𝑋 − 1 = 0 𝑂𝑂𝑂𝑂𝑂𝑂 = 𝑠𝑠𝑠𝑠𝑠𝑠 3 ⋅ 𝑋𝑋𝑋 + −2 ⋅ 𝑋𝑋𝑋 − 2 = 1 13 Neural Network
  • 14. Multi-class classification Neural network를 활용한 multi-class classification의 원리 (softmax function을 사용하여 K개의 hypothesis function을 구성하는 softmax classification과 같은 원리) 14 Neural Network
  • 15. Multi-class classification 학습시키는 class 개수와 동일한 수의 output node를 구성 학습데이터를 𝑥𝑥 𝑖𝑖 , 𝑦𝑦 𝑖𝑖 , 𝑖𝑖 = 1, ⋯ , 𝑚𝑚 로 표시할 때, • Binary classification: output node의 개수가 1개, 𝑦𝑦(𝑖𝑖) ∈ 0,1 ∈ ℝ • Multi-class classification (K classes): output node의 개수가 K개, 𝑦𝑦(𝑖𝑖) ∈ ℝ𝐾𝐾 15 Neural Network Input layer Output layerHidden layer k번째 hypothesis function의 output
  • 16. Multi-class classification 학습시키는 class 개수와 동일한 수의 output node를 구성 예를 들어, 분류하는 class의 개수가 4개일 때, 𝑦𝑦(𝑖𝑖) 는 아래 vector 중 하나로 구성 16 Neural Network 𝑦𝑦(𝑖𝑖) = 1 0 0 0 𝑜𝑜𝑜𝑜 0 1 0 0 𝑜𝑜𝑜𝑜 0 0 1 0 𝑜𝑜𝑜𝑜 0 0 0 1 One-hot encoding !!
  • 17. Multi-class classification의 cost function 데이터에 기반하여 좋은 가중치와 나쁜 가중치를 어떻게 판단? → cross-entropy loss 사용 어떻게 학습할 것인가? 𝛻𝛻𝜽𝜽 𝐽𝐽 𝜽𝜽 의 계산 필요! → Backpropagation 17 Neural Network 𝒉𝒉𝜽𝜽 𝒙𝒙 ∈ ℝ𝐾𝐾 𝐽𝐽 𝜽𝜽 = − 1 𝑚𝑚 � 𝑖𝑖=1 𝑚𝑚 � 𝑘𝑘=1 𝐾𝐾 𝑦𝑦𝑘𝑘 (𝑖𝑖) log 𝒉𝒉𝜽𝜽 𝒙𝒙 𝒊𝒊 𝑘𝑘 + 1 − 𝑦𝑦𝑘𝑘 𝑖𝑖 log 1 − 𝒉𝒉𝜽𝜽 𝒙𝒙 𝒊𝒊 𝑘𝑘
  • 18. A simple example: Local gradient와 (parameter에 대한) gradient의 이해 𝑓𝑓 𝑥𝑥, 𝑦𝑦, 𝑧𝑧 = 𝑥𝑥 + 𝑦𝑦 ⋅ 𝑧𝑧 𝑥𝑥 = −2, 𝑦𝑦 = 5, 𝑧𝑧 = −4 일 때, 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 와 𝜕𝜕𝜕𝜕 𝜕𝜕𝑦𝑦 를 구해보자! 18 Backpropagation 𝑞𝑞 = 𝑥𝑥 + 𝑦𝑦 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 = 1, 𝜕𝜕𝜕𝜕 𝜕𝜕𝑦𝑦 = 1 𝑓𝑓 = 𝑞𝑞 ⋅ 𝑧𝑧 𝜕𝜕𝑓𝑓 𝜕𝜕𝑞𝑞 = 𝑧𝑧, 𝜕𝜕𝑓𝑓 𝜕𝜕𝑧𝑧 = 𝑞𝑞
  • 19. A simple example: Local gradient와 (parameter에 대한) gradient의 이해 𝑓𝑓 𝑥𝑥, 𝑦𝑦, 𝑧𝑧 = 𝑥𝑥 + 𝑦𝑦 ⋅ 𝑧𝑧 𝑥𝑥 = −2, 𝑦𝑦 = 5, 𝑧𝑧 = −4 일 때, 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 와 𝜕𝜕𝜕𝜕 𝜕𝜕𝑦𝑦 를 구해보자! 19 Backpropagation 𝑞𝑞 = 𝑥𝑥 + 𝑦𝑦 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 = 1, 𝜕𝜕𝜕𝜕 𝜕𝜕𝑦𝑦 = 1 𝑓𝑓 = 𝑞𝑞 ⋅ 𝑧𝑧 𝜕𝜕𝑓𝑓 𝜕𝜕𝑞𝑞 = 𝑧𝑧, 𝜕𝜕𝑓𝑓 𝜕𝜕𝑧𝑧 = 𝑞𝑞 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 = 𝑞𝑞 = 3 𝜕𝜕𝜕𝜕 𝜕𝜕𝑞𝑞 = 𝑧𝑧 = −4 𝜕𝜕𝑞𝑞 𝜕𝜕𝑥𝑥 = 1 𝜕𝜕𝑞𝑞 𝜕𝜕𝑦𝑦 = 1 Local gradient
  • 20. A simple example: Local gradient와 (parameter에 대한) gradient의 이해 𝑓𝑓 𝑥𝑥, 𝑦𝑦, 𝑧𝑧 = 𝑥𝑥 + 𝑦𝑦 ⋅ 𝑧𝑧 𝑥𝑥 = −2, 𝑦𝑦 = 5, 𝑧𝑧 = −4 일 때, 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 와 𝜕𝜕𝜕𝜕 𝜕𝜕𝑦𝑦 를 구해보자! 20 Backpropagation 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 = 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 ⋅ 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 = 1 ⋅ −4 = −4 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 = 𝜕𝜕𝜕𝜕 𝜕𝜕𝑦𝑦 ⋅ 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 = 1 ⋅ −4 = −4 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 = 3 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 = 𝑞𝑞 = 3 𝜕𝜕𝜕𝜕 𝜕𝜕𝑞𝑞 = 𝑧𝑧 = −4 𝜕𝜕𝑞𝑞 𝜕𝜕𝑥𝑥 = 1 𝜕𝜕𝑞𝑞 𝜕𝜕𝑦𝑦 = 1 Local gradient Parameter에 대한 gradient 𝑥𝑥 ≔ 𝑥𝑥 − 𝜂𝜂 ⋅ 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 𝑦𝑦 ≔ 𝑦𝑦 − 𝜂𝜂 ⋅ 𝜕𝜕𝜕𝜕 𝜕𝜕𝑦𝑦 𝑧𝑧 ≔ 𝑧𝑧 − 𝜂𝜂 ⋅ 𝜕𝜕𝜕𝜕 𝜕𝜕𝑧𝑧 만약 𝑓𝑓의 값을 감소시키고 싶으면.. 𝑥𝑥 ≔ 𝑥𝑥 − 𝜂𝜂 ⋅ 𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕 = −1.6 𝑦𝑦 ≔ 𝑦𝑦 − 𝜂𝜂 ⋅ 𝜕𝜕𝜕𝜕 𝜕𝜕𝑦𝑦 = 5.4 𝑧𝑧 ≔ 𝑧𝑧 − 𝜂𝜂 ⋅ 𝜕𝜕𝜕𝜕 𝜕𝜕𝑧𝑧 = −4.3 𝜂𝜂 = 0.1일 때, −1.6 + 5.4 ⋅ −4.3 = −16.3Chain rule!
  • 21. Another example: 𝑓𝑓 𝒘𝒘, 𝒙𝒙 = 1 1 + 𝑒𝑒−(𝑤𝑤0 𝑥𝑥0+𝑤𝑤1 𝑥𝑥1+𝑤𝑤𝑤) 𝑤𝑤0 = 2, 𝑥𝑥0 = −1, 𝑤𝑤1 = −3, 𝑥𝑥1 = −2, 𝑤𝑤2 = −3 21 Backpropagation
  • 22. Another example: 22 Backpropagation 𝑓𝑓 𝒘𝒘, 𝒙𝒙 = 1 1 + 𝑒𝑒−(𝑤𝑤0 𝑥𝑥0+𝑤𝑤1 𝑥𝑥1+𝑤𝑤𝑤) − 1 1.372 = −0.53 1𝑒𝑒−1 = 0.37−1 1 1 1 1 𝑤𝑤1 = −3 𝑤𝑤0 = 2 𝑥𝑥0 = −1 𝑥𝑥1 = −2 Local gradient Local gradient는 forward propagation 과정에서 계산 가능
  • 23. Another example: 23 Backpropagation 𝑓𝑓 𝒘𝒘, 𝒙𝒙 = 1 1 + 𝑒𝑒−(𝑤𝑤0 𝑥𝑥0+𝑤𝑤1 𝑥𝑥1+𝑤𝑤𝑤) − 1 1.372 = −0.53 1𝑒𝑒−1 = 0.37−1 1 1 1 1 𝑤𝑤1 = −3 𝑤𝑤0 = 2 𝑥𝑥0 = −1 𝑥𝑥1 = −2 −0.531 ⋅ −0.53 = −0.53 0.37 ⋅ −0.53 = −0.2 (−1) ⋅ −0.2 = 0.2 0.2 0.2 0.2 0.2 −0.6 −0.4 0.4 −0.2 Parameter에 대한 gradient
  • 24. Another example: 24 Backpropagation 𝑓𝑓 𝒘𝒘, 𝒙𝒙 = 1 1 + 𝑒𝑒−(𝑤𝑤0 𝑥𝑥0+𝑤𝑤1 𝑥𝑥1+𝑤𝑤𝑤) − 1 1.372 = −0.53 1𝑒𝑒−1 = 0.37−1 1 1 1 1 𝑤𝑤1 = −3 𝑤𝑤0 = 2 𝑥𝑥0 = −1 𝑥𝑥1 = −2 −0.531 ⋅ −0.53 = −0.53 0.37 ⋅ −0.53 = −0.2 (−1) ⋅ −0.2 = 0.2 0.2 0.2 0.2 0.2 −0.6 −0.4 0.4 −0.2 덧셈과 곱셈이 backward gradient flow에 미치는 영향! • 덧셈: gradient를 분배 • 곱셈: 𝑥𝑥 ⋅ 𝑦𝑦에서 𝑥𝑥의 gradient는 𝑦𝑦의 영향을 받음 학습 시키는 데이터의 range분포가 다르면 어떻게 될까? • 하나의 데이터에서 개별 feature의 range가 다른 경우 • 개별데이터의 range분포가 다른 경우
  • 25. Another example: 25 Backpropagation 𝑓𝑓 𝒘𝒘, 𝒙𝒙 = 1 1 + 𝑒𝑒−(𝑤𝑤0 𝑥𝑥0+𝑤𝑤1 𝑥𝑥1+𝑤𝑤𝑤) −1 1 1 1 1 𝑤𝑤1 = −3 𝑤𝑤0 = 2 𝑥𝑥0 = −1 𝑥𝑥1 = −2 (−1) ⋅ −0.2 = 0.2 0.2 0.2 0.2 0.2 −0.6 −0.4 0.4 −0.2 여기서 하나 더! Sigmoid function을 많이 사용했던 이유! 𝜎𝜎 𝑥𝑥 = 1 1 + 𝑒𝑒−𝑥𝑥 𝑑𝑑 𝑑𝑑𝑑𝑑 𝜎𝜎 𝑥𝑥 = 1 − 𝜎𝜎 𝑥𝑥 ⋅ 𝜎𝜎 𝑥𝑥 Sigmoid gate → 미분이 간단 1 − 𝜎𝜎 1 ⋅ 𝜎𝜎 1 = 0.2
  • 26. Code: 141.223.87.129data상준EECE695J_딥러닝기초및활용 - W4_XOR_example.ipynb Data preparation 26 TensorFlow implementation for XOR example 우리가 원하는 output은 1(true) 혹은 0(false)이지만 반드시! One-hot encoding 형태로 데이터를 구성해야! Hidden layer의 neuron 개수를 20개로 setting Output layer의 노드 개수는 분류하고자 하는 class의 수로 결정
  • 27. Code: 141.223.87.129data상준EECE695J_딥러닝기초및활용 - W4_XOR_example.ipynb Data flow graph 구성 27 TensorFlow implementation for XOR example 나중에 데이터를 실제로 입력할 placeholder 정의! Layer의 수 = hidden layer의 수 + 1 (output layer)
  • 28. Code: 141.223.87.129data상준EECE695J_딥러닝기초및활용 - W4_XOR_example.ipynb Training 28 TensorFlow implementation for XOR example Session을 열고 미리 정의한 data flow graph의 실행 학습을 위해 데이터(x) 및 라벨(y)를 data flow graph에 입력 학습이 진행됨에 따라 loss가 감소하는 것을 확인
  • 29. Code: 141.223.87.129data상준EECE695J_딥러닝기초및활용 - W4_XOR_example.ipynb Test 29 TensorFlow implementation for XOR example 테스트 할 때는 라벨 정보를 입력할 필요 없음
  • 30. Network 구조를 deep하게 쌓으면 좋다고? 6-layer network 30 Vanishing Gradient 그냥 이렇게 쌓으면 됩니다
  • 31. Network 구조를 deep하게 쌓으면 좋다고? 6-layer network 31 Vanishing Gradient !?
  • 32. Network 구조를 deep하게 쌓으면 좋다고? 32 Vanishing Gradient 𝑑𝑑 𝑑𝑑𝑑𝑑 𝜎𝜎 𝑥𝑥 = 1 − 𝜎𝜎 𝑥𝑥 ⋅ 𝜎𝜎 𝑥𝑥 ≤ 1 • 각 layer의 local gradient가 곱해 짐에 따라 parameter에 대한 gradient 감소 • 입력 데이터에 의한 학습효과 x
  • 33. ▣ Vanishing gradient 문제의 해결 방법? Activation function: better nonlinearity ▣ Weight initialization 학습 파라미터의 초기값을 어떻게 설정할 것인가? ▣ Data Preprocessing 물리적 의미가 다른 데이터 혹은 분포가 다른 데이터를 어떻게 동시에 학습? ▣ Regularization Dropout과 model ensemble 33 Preview (Lecture 5)
  • 34. Neural network implementation for multi-class classification Code: 141.223.87.129data상준EECE695J_딥러닝기초및활용 - W4_homework2.ipynb 34 Homework #2 Data 구성 • X: 300x2 (300개의 2-dimensional data) • y: 300x1 (300개의 label 데이터), 𝑦𝑦 ∈ {0,1,2}
  • 35. Neural network implementation for multi-class classification Code: 141.223.87.129data상준EECE695J_딥러닝기초및활용 - W4_homework2.ipynb 35 Homework #2 Training data Test data
  • 36. Neural network implementation for multi-class classification Code: 141.223.87.129data상준EECE695J_딥러닝기초및활용 - W4_homework2.ipynb 36 Homework #2 To Do • Label data (y)의 one-hot encoding • Neural network 구성 • Training data를 이용하여 학습 • Test data에 대하여 테스트 및 분류 정확도 계산 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 = # 𝑜𝑜𝑜𝑜 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 # 𝑜𝑜𝑜𝑜 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 제출물 • Neural network 구조 (code부분 capture) • 학습 iteration에 대한 cross-entropy loss (50번 혹은 100번 마다 출력) • Training 및 Test data에 대한 정확도 Due date : 10/12 (3주 뒤)
  • 37. ▣ Perceptron 생물학적인 신경체계 모방 ▣ Multilayer Perceptron (MLP) XOR문제를 어떻게 풀 것인가? ▣ Back Propagation MLP의 학습 ▣ Vanishing gradient Neural network는 deep 할 수록 좋다? 37 Summary