SlideShare a Scribd company logo
1 of 67
Neural Network
Yeungnam Univ. MSP-Lab
DaeHwan Ki
2018.02.13
Multimedia Signal Processing Laboratory
Index
• Biological Neural Networks
• MCP(McCulloch-Pitts Model)
• Perceptron(single layer perceptron)
• MLP(Multi-Layer Perceptron)
2
Multimedia Signal Processing Laboratory
Biological Neural Networks
• The neural system of the human body consist of three stage
Receptors, a neural network, effector
Receptor는 내부나 외부의 환경으로부터 자극을 받고 전기적인
신호로 뉴런에게 전달합니다
Neural Network는 입력을 처리하여 적절한 출력을 만듭니다.
Effector는 신경망으로 받은 전기적 신호를 외부환경에 대한 반응
으로 변환합니다.
3
Multimedia Signal Processing Laboratory
Biological Neural Networks
• Neural Network의 기본 요소는 Neuron이고 Neuron은 3부분
(dendrites, soma, axon)으로 이루어 집니다.
Dendrites는 다른 주위의 뉴런으로부터 신호를 받는 역할을 합니
다.
Axon은 하나의 뉴런에서 다른 뉴런으로 신호를 전달하는 가느다
란 연결선입니다.
뉴런으로 들어오는 흥분성(excitatory)는 양수의 가중치 값을 억
제성(inhibitory)신호는 음수의 가중치 신호를 갖는데 잠복기간 중
임계 값을 초과하면 신호가 발생된다.
4
Multimedia Signal Processing Laboratory
Biological Neural Networks
5
Multimedia Signal Processing Laboratory
MCP(McCulloch-Pitts Model)
• The early model of an artificial neuron is introduced by Warren
McCulloch and Walter Pitts in 1943. The McCulloch-Pitts neural
model is also known as linear threshold gate
6
Multimedia Signal Processing Laboratory
• MCP
• 가중치 값들 𝑤𝑖: 시냅스에 해당됩니다.
• 가산기 : 입력된 신호들의 합으로 구해지며, 이는 전하(electrical
charge)를 모으는 세포의 막과 동일합니다.
• 활성화 함수(activation function) : 뉴런이 활성화할지 비활성화할
지 결정합니다.
MCP(McCulloch-Pitts Model)
7
Multimedia Signal Processing Laboratory
MCP(McCulloch-Pitts Model)
• MCP
• Formula
inputs = 𝐼, Weights = 𝑊𝑖, 𝑠𝑢𝑚 =
𝑖=1
𝑛
𝐼𝑖 𝑊𝑖
𝑦 = 𝑓 𝑠𝑢𝑚 =
1 𝑠𝑢𝑚 > 𝑇
0 𝑠𝑢𝑚 ≤ 𝑇
• 원하는 목표 값을 가지기 위해선 가중치 값을 수정하는 방식을 가
집니다. 입력 값과 목표 값은 고정 되어있는 값이기 때문입니다.
8
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
• Perceptron은 MCP Model 뉴런의 집합입니다.
Perceptron에서 뉴런들은 서로 독립적입니다.
MCP Model과 같이 각 입력 값과 가중치들의 곱을 임계 값
(Threshold)과 비교하여 활성화를 결정합니다.
9
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
• Notation
• 𝑥𝑖는 i번째 입력 노드를 의미합니다.
• 𝑤𝑖는 i번째 입력 노드와 j번째 뉴런을 연결하는 가중치를 의미합
니다.
• 𝑡𝑖는 i번째 노드의 목표 값을 의미합니다.
10
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
• 만약 𝑦1노드의 결과 값이 잘못 되었다면 𝑦1과 연결된 𝑤_𝑖1을 수
정해야합니다.
• 뉴런이 수정 되야 할 값을 출력 값과 목표 값의 차이로하면
(𝑦 𝑘 − 𝑡 𝑘)가 됩니다.
𝑤𝑖𝑗 = 𝑤𝑖𝑗 − 𝜂(𝑦 𝑘 − 𝑡 𝑘)
= 𝑤𝑖𝑗 + 𝜂 𝑡 𝑘 − 𝑦 𝑘
11
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
12
𝑦𝑖 = 𝑥𝑖 𝑤𝑖𝑗
𝑡𝑖
𝑡 𝑘 − 𝑦 𝑘
𝑤𝑖𝑗 = 𝑤𝑖𝑗 + 𝜂 𝑡 𝑘 − 𝑦 𝑘
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
• 𝜂는 학습률을 의미합니다. 학습률이 크다면 매번 학습하면서 가
중치가 크게 변동하게 됩니다. 그러면 학습하는 시간이 오래 걸
리거나 원하는 가중치 값을 찾지 못하고 계속 학습을 하게 될
수 있습니다.
• 하지만 입력 데이터에 존재하는 오류와 부정확성에 영향을 덜
받게 됩니다.
13
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
• 입력 값이 음수일 수 있는 경우를 생각해서 입력 값을 곱해줍니
다.
𝑤𝑖𝑗 = 𝑤𝑖𝑗 + 𝜂 𝑡 𝑘 − 𝑦 𝑘 𝑥𝑖
14
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
• MCP model에서 임계 값 T(threshold)와 비교하여 활성화할지
안할지 판단했습니다. 임계 값 또한 변경 할 수 있어야합니다.
• 그렇지 않다면 입력이 0이면가중치에 관계없이 매번 결과 값이
0이 되어 올바르게 구분할 수 없습니다.
• 임계 값을 변경하기 위해 bias노드를 추가합니다.
15
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
• Bias
16
y= 𝑥𝑤 𝑦 = 𝑥𝑤 + 𝑏
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
𝑦𝑗 = 𝑥𝑖wij + bij
• 𝑥0를 바이어스 노드라고 한다면 𝑤0𝑗는 바이어스 노드와 연결된
뉴런의 가중치 값입니다.
• 보통 바이어스 노드 𝑥0은 1또는 -1 값을 가집니다.
𝑦𝑗 = 𝑥𝑖wij + x0w0j
17
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
18
𝑦𝑗 = 𝑓
𝑖=0
𝑛
𝑤𝑖𝑗 𝑥𝑖 =
1 if
𝑖=1
𝑛
𝑤𝑖𝑗 𝑥𝑖 > 𝑤0𝑗 𝑥0
0 if
𝑖=1
𝑛
𝑤𝑖𝑗 𝑥𝑖 ≤ 𝑤 𝑜𝑗 𝑥0
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
19
𝑦𝑗 = 𝑓
𝑖=0
𝑛
𝑤𝑖𝑗 𝑥𝑖 =
1 if
𝑖=0
𝑛
𝑤𝑖𝑗 𝑥𝑖 > 0
0 if
𝑖=0
𝑛
𝑤𝑖𝑗 𝑥𝑖 ≤ 0
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
20
• Example AND gate
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
21
• Example AND gate
𝑤0 = 0.2, 𝑤1 = 0.3, 𝑤2 = 0.4, 𝑥0 = −1
Input(1,1) : −1 × 0.2 + 1 × 0.3 + 1 × 0.4 = 0.5
Output : 1 ∵ 0.5 > 0
Input(1,0) : −1 × 0.2 + 1 × 0.3 + 0 × 0.4 = 0.1
Wrong output
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
22
• Example AND gate
𝑤0 = 0.2 − 0.5(0 − 0.1) = 0.25
𝑤1 = 0.3 − 0.5 0 − 0.1 = 0.25
𝑤2 = 0.4 − 0.5 0 − 0.1 = 0.35
−1 × 0.25 + 1 × 0.25 + 0 × 0.4 = 0
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
23
• Python code
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
24
• Perceptron의 특징
결정 경계에 있는 데이터 𝑥1, 𝑥2가 있다고 가정하면 아래의 식을
만족합니다.
𝑥1 ∙ 𝑤 𝑇
= 0
𝑥2 ∙ 𝑤 𝑇 = 0
𝑥1 ∙ 𝑤 𝑇 = 𝑥2 ∙ 𝑤 𝑇
𝑥1 − 𝑥2 ∙ 𝑤 𝑇
= 0
𝑥1 − 𝑥2 𝑤 𝑇 𝑐𝑜𝑠𝜃 = 0
𝜃 =
𝜋
2
𝑜𝑟 −
𝜋
2
𝑤
𝑥1
𝑥2
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
25
• Perceptron의 특징
앞의 AND gate를 학습시킨다면 데이터에 맞는 결정 경계가 정해
지고 0과1 뿐만 아니라 0.4와 같은 실수 값에 대해서도 예측값을
얻을 수 있습니다.
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
26
• Perceptron의 한계
패턴을 두 구역으로만 나눌 수 있다
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
27
• Perceptron의 한계
사람은 점선의 결정 경계(decision boundary)가 좀 더 좋다는 것
을 평가할 수 있지만 perceptron은 그렇지 못하다
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
28
• Perceptron의 한계
XOR problem
Perceptron은 XOR 문제를 완벽하게 분류할 수 없다
Multimedia Signal Processing Laboratory
Perceptron(single layer perceptron)
29
• Perceptron의 한계
XOR problem
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
30
• AND와 OR은 하나의 직선을 통해서 나눌 수 있지만 XOR은 불
가능합니다.
• 선형 분리만 가능한 단층 perceptron이 아닌 은닉층과 역전파
(backpropagation) 알고리즘을 이용한 다층 perceptron이 고안
되었습니다.
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
31
z_𝑠𝑢𝑚 𝑗 =
𝑖=1
𝑑
𝑥𝑖 𝑢𝑖𝑗 + 𝑢0𝑗
z𝑗 = 𝑓(z_sum 𝑗)
o_sum 𝑘 =
𝑗=1
𝑝
𝑧𝑗 𝑣𝑗𝑘 + 𝑣0𝑗
𝑜 𝑘 = 𝑓(o_sum 𝑘)
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
32
• Perceptron에서는 목표 값을 알고 있으므로 출력 값과 목표 값
의 차이로 가중치를 수정했지만 MLP에서는 어느 층의 가중치
가 틀렸는지 알 수 없습니다.
• 이런 이유로 뉴런들이 어떤 값을 가져야 하고 정답인지를 알 수
없으므로 은닉층(hidden layer)라고 합니다.
• MLP에서 입력 값으로 출력 값을 계산하는 과정을 전향
(forward), 결과 값과 출력 값으로 가중치를 수정하는 과정을 후
향(backward)라고 합니다.
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
33
• MLP에서도 bias노드는 반드시 필요하다. Bias노드가 없다면 아
무리 여러 층을 사용한다 하더라도 원점을 지나는 선형 분리만
가능하다
𝑓 𝑥 = 𝑤𝑥
𝑔 𝑓 𝑥 = 𝑤2 𝑥
⋮
= 𝑤 𝑛 𝑥
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
34
• Backpropagation
Perceptron에서 사용했던 loss function 𝐸 𝑘 = 𝑡 𝑘 − 𝑦 𝑘를 계속 사용
하는 것에는 무리가 있습니다.
만약 𝐸1 = −2, 𝐸2 = 2면 에러의 합은 0이 되어 오차가 없는 것으
로 인식하게 됩니다.
다양한 loss function이 있지만 지금은 SSE(Error Sum of Square)
을 사용할 것입니다.
N : Number of output node, 𝐸 𝑡, 𝑦 =
1
2
𝑘=1
𝑁
𝑡 𝑘 − 𝑦 𝑘
2
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
35
• Backpropagation
𝐸 𝑡, 𝑦 =
1
2
𝑘=1
𝑁
𝑦 𝑘 − 𝑡 𝑘
2
= 𝐸(𝑡, 𝑤, 𝑥) =
1
2
𝑘=1
𝑁
𝑓 𝑤, 𝑥 − 𝑡 𝑘
2
위의 식에서 t와 x는 정해진 값이므로 w를 변경하면서 error를 최
소화합니다.
W대한 error의 그래프가 있다고 생각하면 w에 대한 에러의 최소
값을 찾기 위해서 미분을 사용합니다.
∆𝑤𝑗 = −𝜂
𝜕𝐸
𝜕𝑤𝑗
Multimedia Signal Processing Laboratory
• Backpropagation
• Convex
• No local minimum
MLP(Multi-Layer Perceptron)
36
Multimedia Signal Processing Laboratory
• Backpropagation
• Convex
MLP(Multi-Layer Perceptron)
37
𝜕𝐸
𝜕𝑤
= −
∆𝑤 = −𝜂
𝜕𝐸
𝜕𝑤
𝜕𝐸
𝜕𝑤
= +
∆𝑤 = −𝜂
𝜕𝐸
𝜕𝑤
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
38
• Perceptron에서 사용했던 임계 값 함수는 비연속적이라 미분이
불가능합니다.
• 미분을 사용하기 위해서 sigmoid 함수를 사용합니다.
𝑔 𝑥 =
1
1 + exp(−𝛽𝑥)
1
0
1
0
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
39
• Sigmoid 미분
𝑔 𝑥 ′ =
𝑑𝑔
𝑑𝑥
=
𝑑
𝑑𝑥
1 + 𝑒−𝛽𝑥 −1
= −1 1 + 𝑒−𝛽𝑥 −2 𝑑𝑒−𝛽𝑥
𝑑𝑥
= −1 1 + 𝑒−𝛽𝑥 −2
−𝛽𝑒−𝛽𝑥
=
𝛽𝑒−𝛽𝑥
1 + 𝑒−𝛽𝑥 2
= 𝛽𝑔(𝑥)(1 − 𝑔(𝑥))
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
40
• Algorithm
1. 최종 결과물을 얻고
//Feed forward and prediction
2. 그 결과가 우리가 원하는 결과물과의 차이점을 찾은 뒤
//Cost function
3. 그 차이가 무엇으로 인해 생기는지
//Differentiation
4. 역으로 내려가면서 추정하여
//Back propagation
5. 새로운 parameter값을 배움
//Weight update
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
41
• Backpropagation
목적은 cost function을 최소화하는 parameter를 찾는 것
min
𝑤
𝐸 𝑤 , sum =
𝑖=0
2
𝑤𝑖 𝑥𝑖 , 𝑔 𝑥 =
1
1 + exp(−𝛽𝑥)
𝑥0 = 1
𝑥1
𝑥2
𝑤0
𝑤1
𝑤2
ysum g(sum)
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
42
• Backpropagation
목적은 cost function을 최소화하는 parameter를 찾는 것
loss function = 𝑆𝑆𝐸 =
1
2
𝑡𝑖 − 𝑦𝑖
2
𝑥0 = 1
𝑥1
𝑥2
𝑤0
𝑤1
𝑤2
ysum g(sum)
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
43
𝜕𝐸
𝜕𝑤1
=
𝜕𝐸
𝜕g(sum)
𝜕g(sum)
𝜕sum
𝜕sum
𝜕𝑤1
𝑥1
𝑥2
𝑤0
𝑤1
𝑤2
ysum g(sum)
𝑥0 = 1
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
44
𝜕𝐸
𝜕g(sum)
= 2 ∗
1
2
𝑡 − 𝑔 𝑠𝑢𝑚
2−1
∗ −1 = −(𝑡 − 𝑔(𝑠𝑢𝑚))
𝜕g(sum)
𝜕su𝑚
=
𝜕
𝜕sum
1
1 + exp(−𝛽𝑠𝑢𝑚)
= 𝛽𝑔(𝑠𝑢𝑚)(1 − 𝑔(𝑠𝑢𝑚))
𝜕sum
𝜕𝑤1
=
𝜕
𝜕𝑤1
𝑖=0
2
𝑤𝑖 𝑥𝑖 = 𝑥1
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
45
𝜕𝐸
𝜕𝑤1
=
𝜕𝐸
𝜕g(sum)
𝜕g(sum)
𝜕su𝑚
𝜕sum
𝜕𝑤1
= − 𝑡 − 𝑦 𝛽𝑔 sum 1 − 𝑔 sum 𝑥1
𝜕𝐸
𝜕𝑤 𝑘
=
𝜕𝐸
𝜕g(sum)
𝜕g(sum)
𝜕su𝑚
𝜕sum
𝜕𝑤 𝑘
= − 𝑡 − 𝑦 𝛽𝑔 sum (1 − 𝑔(sum))𝑥 𝑘
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
46
𝑥1
𝑤01
𝑤11
𝑦1sum1 𝑔(sum1)
𝑥0 = 1
𝑦0
𝜕𝐸
𝜕𝑤01
=
𝜕𝐸
𝜕𝑔(sum1)
𝜕𝑔(sum1)
𝜕𝑠𝑢𝑚1
𝜕sum1
𝜕𝑤01
𝑤00
𝑤10
sum0 𝑔(sum0)
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
47
𝜕𝐸
𝜕𝑔(sum1)
=
𝜕
𝜕𝑔 sum1
1
2
𝑖=0
1
𝑡𝑖 − 𝑦𝑖
2
= −(𝑡1 − 𝑦1)
𝜕𝑔(sum1)
𝜕𝑠𝑢𝑚1
= 𝑔′
sum1
𝜕sum1
𝜕𝑤01
=
𝜕
𝜕𝑤01
𝑥0 𝑤01 + 𝑥1 𝑤11 = 𝑥0
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
48
𝜕𝐸
𝜕𝑤01
=
𝜕𝐸
𝜕𝑔(sum1)
𝜕𝑔(sum1)
𝜕𝑠𝑢𝑚1
𝜕sum1
𝜕𝑤11
= − 𝑡1 − 𝑦1 𝛽𝑔 sum1 1 − 𝑔 sum1 𝑥0
𝜕𝐸
𝜕𝑤𝑖𝑗
=
𝜕𝐸
𝜕𝑔(sum𝑗)
𝜕𝑔(sum𝑗)
𝜕sum𝑗
𝜕sum𝑗
𝜕𝑤𝑖𝑗
= − 𝑡𝑗 − 𝑦𝑗 𝛽𝑔 sum𝑗 (1 − 𝑔(sum𝑗))𝑥𝑖
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
49
𝑤𝑗𝑘: = 𝑤𝑗𝑘 − 𝜂
𝜕𝐸
𝜕𝑤𝑗𝑘
= 𝑤𝑗𝑘 − 𝜂(− 𝑡 𝑘 − 𝑦 𝑘 𝑔′
sum 𝑘 𝑥𝑗)
𝛿 𝑘 = − 𝑡 𝑘 − 𝑦 𝑘 𝑔′(𝑠𝑢𝑚 𝑘)
𝑤𝑗𝑘: = 𝑤𝑗𝑘 − 𝜂
𝜕𝐸
𝜕𝑤𝑗𝑘
= 𝑤𝑗𝑘 − 𝜂𝛿 𝑘 𝑥𝑗
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
50
𝑥1
𝑤0
𝑤1
𝑦1sum 𝑔(sum)
𝑥0 = 1
𝑣0
𝑣1
o
𝑦0 = 1
𝜕𝐸
𝜕𝑤1
=
𝜕𝐸
𝜕𝑔(osum)
𝜕𝑔(osum)
𝜕osum
𝜕osum
𝜕𝑔(sum)
𝜕𝑔(sum)
𝜕sum
𝜕sum
𝜕𝑤1
osum 𝑔(osum)
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
51
𝜕𝐸
𝜕𝑔(osum)
= − 𝑡 − 𝑜
𝜕𝑔(osum)
𝜕osum
= 𝑔′
osum
𝜕osum
𝜕𝑔(sum)
=
𝜕
𝜕𝑔 sum
𝑦0 𝑣0 + g(sum) × 𝑣1 = 𝑣1
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
52
𝜕𝑔(sum)
𝜕sum
= 𝑔′
sum
𝜕sum
𝜕𝑤1
=
𝜕
𝜕𝑤1
𝑥0 𝑤0 + 𝑥1 𝑤1 = 𝑥1
𝜕𝐸
𝜕𝑤1
= − 𝑡 − 𝑜 𝑔′ osum 𝑣1 𝑔′ sum 𝑥1
= −𝛿𝑣1 𝑔′ sum 𝑥1
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
53
𝑣00
𝑣10
𝑜0
𝜕𝐸
𝜕𝑤10
=
𝜕𝐸
𝜕𝑔(sum𝑖)
𝜕𝑔(sum𝑖)
𝜕sum𝑖
𝜕sum𝑖
𝜕𝑔(sum1)
𝜕𝑔(sum1)
𝜕sum1
𝜕sum1
𝜕𝑤1
osum0 𝑔(osum0)
𝑜1osum1 𝑔(osum1)
𝑣01
𝑣11
𝑥1
𝑤01
𝑤11
sum1 𝑔(sum1)
𝑥0 = 1
𝑤00
𝑤10
sum0 𝑔(sum0)
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
54
𝑣00
𝑣10
𝑜0
𝜕𝐸
𝜕𝑤10
=
𝜕𝐸
𝜕𝑔(sum0)
𝜕𝑔(sum0)
𝜕sum0
𝜕sum0
𝜕𝑤10
osum0 𝑔(osum0)
𝑜1osum1 𝑔(osum1)
𝑣01
𝑣11
𝑥1
𝑤01
𝑤11
sum1 𝑔(sum1)
𝑥0 = 1
𝑤00
𝑤10
sum0 𝑔(sum0)
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
55
𝑣00
𝑣10
𝑜0
𝜕𝐸
𝜕𝑔(sum0)
=
𝜕𝐸0
𝜕𝑔 𝑜sum0
𝜕𝑔(osum0)
𝜕𝑔(sum0)
+
𝜕𝐸1
𝜕𝑔 𝑜sum1
𝜕𝑔(osum1)
𝜕𝑔(sum0)
osum0 𝑔(osum0)
𝑜1osum1 𝑔(osum1)
𝑣01
𝑣11
𝑥1
𝑤01
𝑤11
sum1 𝑔(sum1)
𝑥0 = 1
𝑤00
𝑤10
sum0 𝑔(sum0)
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
56
𝜕𝐸
𝜕𝑔(sum0)
=
𝜕𝐸0
𝜕𝑔 𝑜sum0
𝜕𝑔(osum0)
𝜕𝑔(sum0)
+
𝜕𝐸1
𝜕𝑔 𝑜sum1
𝜕𝑔(osum1)
𝜕𝑔(sum0)
=
𝜕𝐸0
𝜕𝑔 osum0
𝜕𝑔(osum0)
𝜕osum0
𝜕osum0
𝑔(sum0)
+
𝜕𝐸1
𝜕𝑔 osum1
𝜕𝑔(osum1)
𝜕osum1
𝜕osum1
𝑔(sum0)
= 𝛿0 𝑣00 + 𝛿1 𝑣01 =
𝑖=0
1
𝛿𝑖 𝑣0𝑖
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
57
𝜕𝑔(sum0)
𝜕sum0
= 𝑔′
sum0
𝜕sum0
𝜕𝑤10
= 𝑥1
𝜕𝐸
𝜕𝑤10
=
𝑖=0
1
𝛿𝑖 𝑣0𝑖 𝑔′
sum0 𝑥1
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
58
𝜕𝐸
𝜕𝑤10
=
𝑖=0
1
𝛿𝑖 𝑣0𝑖 𝑔′ sum0 𝑥1
출력 노드의 개수 k는 1 ≤ 𝑘 ≤ 𝑚를 만족하면
𝜕𝐸
𝜕𝑤10
=
𝑘=1
𝑚
𝛿 𝑘 𝑣0𝑘 𝑔′ sum0 𝑥1
𝜕𝐸
𝜕𝑤𝑖𝑗
=
𝑘=1
𝑚
𝛿 𝑘 𝑣𝑗𝑘 𝑔′
sum𝑗 𝑥𝑖
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
59
𝜕𝐸
𝜕𝑤𝑖𝑗
=
𝑘=1
𝑚
𝛿 𝑘 𝑣𝑗𝑘 𝑔′ sum𝑗 𝑥𝑖
𝛿𝑗 = −
𝑘=1
𝑚
𝛿 𝑘 𝑣𝑗𝑘 𝑔′ sum𝑗
𝑤𝑖𝑗 ≔ 𝑤𝑖𝑗 − 𝜂
𝜕𝐸
𝜕𝑤𝑖𝑗
= 𝜂𝛿𝑗 𝑥𝑖
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
60
input node의 개수 i가 0 ≤ 𝑖 ≤ 𝑑라면 input layer와 hidden layer사이
의 가중치 w는 d+1 x p 크기의 matrix입니다.
Hidden node의 개수 j가 0 ≤ 𝑗 ≤ 𝑝라면 hidden layer와 output layer
사이의 가중치 v는 p+1 x m 크기의 matrix입니다.
𝛿 𝑘 = −𝛽
𝑡1 − 𝑦1
⋮
𝑡 𝑚 − 𝑦 𝑚
𝑦1
⋮
𝑦 𝑚
1 − 𝑦1
⋮
1 − 𝑦 𝑚
= 𝑚 × 1 𝑚𝑎𝑡𝑟𝑖𝑥 (elementwise_mul)
→ 𝑛 × 𝑚 𝑚𝑎𝑡𝑟𝑖𝑥 (n개의 데이터에 대해서)
𝑣𝑗𝑘 ≔ 𝑣𝑗𝑘 − 𝜂𝛿 𝑘(hidden_layer_output) 𝑗
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
61
𝑣𝑗𝑘 ≔ 𝑣𝑗𝑘 − 𝜂𝛿 𝑘(hidden_layer_input) 𝑗
𝛿 𝑘 = 𝑛 × 𝑚 𝑚𝑎𝑡𝑟𝑖𝑥
hiddent_layer_output = 𝑛 × 𝑝 + 1 𝑚𝑎𝑡𝑟𝑖𝑥
𝑉 = 𝑉 − 𝜂 hiddent_layer_output 𝛿 𝑘
𝑇
= 𝑉 − 𝜂
output0
⋮
output 𝑝
−𝛽 𝑡1 − 𝑦1 𝑦1(1 − 𝑦1) … −𝛽 𝑡 𝑚 − 𝑦 𝑚 𝑦 𝑚(1 − 𝑦 𝑚)
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
62
𝛿 𝑘 = n × 𝑚 𝑚𝑎𝑡𝑟𝑖𝑥
𝑉 = 𝑝 + 1 × 𝑚 𝑚𝑎𝑡𝑟𝑖𝑥
𝑤𝑖𝑗 ≔ 𝑤𝑖𝑗 − 𝜂
𝜕𝐸
𝜕𝑤𝑖𝑗
= 𝜂𝛿𝑗 𝑥𝑖
𝛿𝑗 = −𝑔′
sum𝑗
𝑘=1
𝑚
𝛿 𝑘 𝑣𝑗𝑘 =
𝑔′
sum0
⋮
𝑔′ sum 𝑝
𝛿 𝑘
𝑣01 ⋯ 𝑣0𝑚
⋮ ⋱ ⋮
𝑣 𝑝1 ⋯ 𝑣 𝑝𝑚
T
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
63
𝛿𝑗 = −𝑔′ sum𝑗
𝑘=1
𝑚
𝛿 𝑘 𝑣𝑗𝑘 =
𝑔′
sum0
⋮
𝑔′
sum 𝑝
𝛿 𝑘
𝑣01 ⋯ 𝑣0𝑚
⋮ ⋱ ⋮
𝑣 𝑝1 ⋯ 𝑣 𝑝𝑚
T
=
𝑔′ sum0
⋮
𝑔′
sum 𝑝
𝛿 𝑘
𝑣01 ⋯ 𝑣 𝑝1
⋮ ⋱ ⋮
𝑣0𝑚 ⋯ 𝑣 𝑝𝑚
= 1 × 𝑝 + 1 𝑚𝑎𝑡𝑟𝑖𝑥
→ 𝑛 × 𝑝 + 1 𝑚𝑎𝑡𝑟𝑖𝑥
𝑋 = 𝑛 × 𝑑 + 1 𝑚𝑎𝑡𝑟𝑖𝑥
𝑊 ≔ 𝑊 − 𝜂
𝜕𝐸
𝜕𝑊
= 𝜂𝛿𝑗 𝑋
Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
64
• Python code
Multimedia Signal Processing Laboratory
Next
65
• Neural network with pytorch
• Regression
• Activation functions
• Loss functions
• Weight initialization
Multimedia Signal Processing Laboratory
66
QnA
Thank you.

More Related Content

What's hot

Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명홍배 김
 
Anomaly Detection with GANs
Anomaly Detection with GANsAnomaly Detection with GANs
Anomaly Detection with GANs홍배 김
 
Convolutional Neural Networks
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural NetworksSanghoon Yoon
 
Lecture 2: Supervised Learning
Lecture 2: Supervised LearningLecture 2: Supervised Learning
Lecture 2: Supervised LearningSang Jun Lee
 
알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder홍배 김
 
A neural image caption generator
A neural image caption generatorA neural image caption generator
A neural image caption generator홍배 김
 
Image Deep Learning 실무적용
Image Deep Learning 실무적용Image Deep Learning 실무적용
Image Deep Learning 실무적용Youngjae Kim
 
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...홍배 김
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해Hee Won Park
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장Sunggon Song
 
인공신경망
인공신경망인공신경망
인공신경망종열 현
 
A Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding AutoencoderA Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding AutoencoderLee Seungeun
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement LearningKiho Suh
 
keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)beom kyun choi
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝찬웅 주
 
Denoising auto encoders(d a)
Denoising auto encoders(d a)Denoising auto encoders(d a)
Denoising auto encoders(d a)Tae Young Lee
 
Deview deep learning-김정희
Deview deep learning-김정희Deview deep learning-김정희
Deview deep learning-김정희NAVER D2
 
MNIST for ML beginners
MNIST for ML beginnersMNIST for ML beginners
MNIST for ML beginners홍배 김
 
LSTM 네트워크 이해하기
LSTM 네트워크 이해하기LSTM 네트워크 이해하기
LSTM 네트워크 이해하기Mad Scientists
 
Rnn개념정리
Rnn개념정리Rnn개념정리
Rnn개념정리종현 최
 

What's hot (20)

Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명
 
Anomaly Detection with GANs
Anomaly Detection with GANsAnomaly Detection with GANs
Anomaly Detection with GANs
 
Convolutional Neural Networks
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural Networks
 
Lecture 2: Supervised Learning
Lecture 2: Supervised LearningLecture 2: Supervised Learning
Lecture 2: Supervised Learning
 
알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder알기쉬운 Variational autoencoder
알기쉬운 Variational autoencoder
 
A neural image caption generator
A neural image caption generatorA neural image caption generator
A neural image caption generator
 
Image Deep Learning 실무적용
Image Deep Learning 실무적용Image Deep Learning 실무적용
Image Deep Learning 실무적용
 
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장
 
인공신경망
인공신경망인공신경망
인공신경망
 
A Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding AutoencoderA Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding Autoencoder
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning
 
keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝
 
Denoising auto encoders(d a)
Denoising auto encoders(d a)Denoising auto encoders(d a)
Denoising auto encoders(d a)
 
Deview deep learning-김정희
Deview deep learning-김정희Deview deep learning-김정희
Deview deep learning-김정희
 
MNIST for ML beginners
MNIST for ML beginnersMNIST for ML beginners
MNIST for ML beginners
 
LSTM 네트워크 이해하기
LSTM 네트워크 이해하기LSTM 네트워크 이해하기
LSTM 네트워크 이해하기
 
Rnn개념정리
Rnn개념정리Rnn개념정리
Rnn개념정리
 

Similar to neural network 기초

Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)Jeonghun Yoon
 
Mlp logical input pattern classfication report doc
Mlp logical input pattern classfication report docMlp logical input pattern classfication report doc
Mlp logical input pattern classfication report doc우진 신
 
02.09 naive bayesian classifier
02.09 naive bayesian classifier02.09 naive bayesian classifier
02.09 naive bayesian classifierDea-hwan Ki
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3Haesun Park
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝Jinwon Lee
 
[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
 
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
 
Gamma Interaction Position Estimation using Deep Neural Networks
Gamma Interaction Position Estimation using Deep Neural NetworksGamma Interaction Position Estimation using Deep Neural Networks
Gamma Interaction Position Estimation using Deep Neural NetworksDae Woon Kim
 
Multinomial classification and application of ML
Multinomial classification and application of MLMultinomial classification and application of ML
Multinomial classification and application of ML희수 박
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagationJinSooKim80
 
Computational Complexity
Computational ComplexityComputational Complexity
Computational Complexityskku_npc
 
Auto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-EncodersAuto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-EncodersJinho Lee
 
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
 
Deep Learning from scratch 3장 : neural network
Deep Learning from scratch 3장 : neural networkDeep Learning from scratch 3장 : neural network
Deep Learning from scratch 3장 : neural networkJinSooKim80
 

Similar to neural network 기초 (20)

DL from scratch(1~3)
DL from scratch(1~3)DL from scratch(1~3)
DL from scratch(1~3)
 
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)
 
Cnn 강의
Cnn 강의Cnn 강의
Cnn 강의
 
Mlp logical input pattern classfication report doc
Mlp logical input pattern classfication report docMlp logical input pattern classfication report doc
Mlp logical input pattern classfication report doc
 
02.09 naive bayesian classifier
02.09 naive bayesian classifier02.09 naive bayesian classifier
02.09 naive bayesian classifier
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
 
[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
 
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
 
R.T.Bach
R.T.BachR.T.Bach
R.T.Bach
 
Gamma Interaction Position Estimation using Deep Neural Networks
Gamma Interaction Position Estimation using Deep Neural NetworksGamma Interaction Position Estimation using Deep Neural Networks
Gamma Interaction Position Estimation using Deep Neural Networks
 
Multinomial classification and application of ML
Multinomial classification and application of MLMultinomial classification and application of ML
Multinomial classification and application of ML
 
Super resolution
Super resolutionSuper resolution
Super resolution
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagation
 
Computational Complexity
Computational ComplexityComputational Complexity
Computational Complexity
 
DL from scratch(4~5)
DL from scratch(4~5)DL from scratch(4~5)
DL from scratch(4~5)
 
Auto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-EncodersAuto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-Encoders
 
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
 
Deep Learning from scratch 3장 : neural network
Deep Learning from scratch 3장 : neural networkDeep Learning from scratch 3장 : neural network
Deep Learning from scratch 3장 : neural network
 

neural network 기초

  • 1. Neural Network Yeungnam Univ. MSP-Lab DaeHwan Ki 2018.02.13
  • 2. Multimedia Signal Processing Laboratory Index • Biological Neural Networks • MCP(McCulloch-Pitts Model) • Perceptron(single layer perceptron) • MLP(Multi-Layer Perceptron) 2
  • 3. Multimedia Signal Processing Laboratory Biological Neural Networks • The neural system of the human body consist of three stage Receptors, a neural network, effector Receptor는 내부나 외부의 환경으로부터 자극을 받고 전기적인 신호로 뉴런에게 전달합니다 Neural Network는 입력을 처리하여 적절한 출력을 만듭니다. Effector는 신경망으로 받은 전기적 신호를 외부환경에 대한 반응 으로 변환합니다. 3
  • 4. Multimedia Signal Processing Laboratory Biological Neural Networks • Neural Network의 기본 요소는 Neuron이고 Neuron은 3부분 (dendrites, soma, axon)으로 이루어 집니다. Dendrites는 다른 주위의 뉴런으로부터 신호를 받는 역할을 합니 다. Axon은 하나의 뉴런에서 다른 뉴런으로 신호를 전달하는 가느다 란 연결선입니다. 뉴런으로 들어오는 흥분성(excitatory)는 양수의 가중치 값을 억 제성(inhibitory)신호는 음수의 가중치 신호를 갖는데 잠복기간 중 임계 값을 초과하면 신호가 발생된다. 4
  • 5. Multimedia Signal Processing Laboratory Biological Neural Networks 5
  • 6. Multimedia Signal Processing Laboratory MCP(McCulloch-Pitts Model) • The early model of an artificial neuron is introduced by Warren McCulloch and Walter Pitts in 1943. The McCulloch-Pitts neural model is also known as linear threshold gate 6
  • 7. Multimedia Signal Processing Laboratory • MCP • 가중치 값들 𝑤𝑖: 시냅스에 해당됩니다. • 가산기 : 입력된 신호들의 합으로 구해지며, 이는 전하(electrical charge)를 모으는 세포의 막과 동일합니다. • 활성화 함수(activation function) : 뉴런이 활성화할지 비활성화할 지 결정합니다. MCP(McCulloch-Pitts Model) 7
  • 8. Multimedia Signal Processing Laboratory MCP(McCulloch-Pitts Model) • MCP • Formula inputs = 𝐼, Weights = 𝑊𝑖, 𝑠𝑢𝑚 = 𝑖=1 𝑛 𝐼𝑖 𝑊𝑖 𝑦 = 𝑓 𝑠𝑢𝑚 = 1 𝑠𝑢𝑚 > 𝑇 0 𝑠𝑢𝑚 ≤ 𝑇 • 원하는 목표 값을 가지기 위해선 가중치 값을 수정하는 방식을 가 집니다. 입력 값과 목표 값은 고정 되어있는 값이기 때문입니다. 8
  • 9. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) • Perceptron은 MCP Model 뉴런의 집합입니다. Perceptron에서 뉴런들은 서로 독립적입니다. MCP Model과 같이 각 입력 값과 가중치들의 곱을 임계 값 (Threshold)과 비교하여 활성화를 결정합니다. 9
  • 10. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) • Notation • 𝑥𝑖는 i번째 입력 노드를 의미합니다. • 𝑤𝑖는 i번째 입력 노드와 j번째 뉴런을 연결하는 가중치를 의미합 니다. • 𝑡𝑖는 i번째 노드의 목표 값을 의미합니다. 10
  • 11. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) • 만약 𝑦1노드의 결과 값이 잘못 되었다면 𝑦1과 연결된 𝑤_𝑖1을 수 정해야합니다. • 뉴런이 수정 되야 할 값을 출력 값과 목표 값의 차이로하면 (𝑦 𝑘 − 𝑡 𝑘)가 됩니다. 𝑤𝑖𝑗 = 𝑤𝑖𝑗 − 𝜂(𝑦 𝑘 − 𝑡 𝑘) = 𝑤𝑖𝑗 + 𝜂 𝑡 𝑘 − 𝑦 𝑘 11
  • 12. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) 12 𝑦𝑖 = 𝑥𝑖 𝑤𝑖𝑗 𝑡𝑖 𝑡 𝑘 − 𝑦 𝑘 𝑤𝑖𝑗 = 𝑤𝑖𝑗 + 𝜂 𝑡 𝑘 − 𝑦 𝑘
  • 13. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) • 𝜂는 학습률을 의미합니다. 학습률이 크다면 매번 학습하면서 가 중치가 크게 변동하게 됩니다. 그러면 학습하는 시간이 오래 걸 리거나 원하는 가중치 값을 찾지 못하고 계속 학습을 하게 될 수 있습니다. • 하지만 입력 데이터에 존재하는 오류와 부정확성에 영향을 덜 받게 됩니다. 13
  • 14. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) • 입력 값이 음수일 수 있는 경우를 생각해서 입력 값을 곱해줍니 다. 𝑤𝑖𝑗 = 𝑤𝑖𝑗 + 𝜂 𝑡 𝑘 − 𝑦 𝑘 𝑥𝑖 14
  • 15. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) • MCP model에서 임계 값 T(threshold)와 비교하여 활성화할지 안할지 판단했습니다. 임계 값 또한 변경 할 수 있어야합니다. • 그렇지 않다면 입력이 0이면가중치에 관계없이 매번 결과 값이 0이 되어 올바르게 구분할 수 없습니다. • 임계 값을 변경하기 위해 bias노드를 추가합니다. 15
  • 16. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) • Bias 16 y= 𝑥𝑤 𝑦 = 𝑥𝑤 + 𝑏
  • 17. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) 𝑦𝑗 = 𝑥𝑖wij + bij • 𝑥0를 바이어스 노드라고 한다면 𝑤0𝑗는 바이어스 노드와 연결된 뉴런의 가중치 값입니다. • 보통 바이어스 노드 𝑥0은 1또는 -1 값을 가집니다. 𝑦𝑗 = 𝑥𝑖wij + x0w0j 17
  • 18. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) 18 𝑦𝑗 = 𝑓 𝑖=0 𝑛 𝑤𝑖𝑗 𝑥𝑖 = 1 if 𝑖=1 𝑛 𝑤𝑖𝑗 𝑥𝑖 > 𝑤0𝑗 𝑥0 0 if 𝑖=1 𝑛 𝑤𝑖𝑗 𝑥𝑖 ≤ 𝑤 𝑜𝑗 𝑥0
  • 19. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) 19 𝑦𝑗 = 𝑓 𝑖=0 𝑛 𝑤𝑖𝑗 𝑥𝑖 = 1 if 𝑖=0 𝑛 𝑤𝑖𝑗 𝑥𝑖 > 0 0 if 𝑖=0 𝑛 𝑤𝑖𝑗 𝑥𝑖 ≤ 0
  • 20. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) 20 • Example AND gate
  • 21. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) 21 • Example AND gate 𝑤0 = 0.2, 𝑤1 = 0.3, 𝑤2 = 0.4, 𝑥0 = −1 Input(1,1) : −1 × 0.2 + 1 × 0.3 + 1 × 0.4 = 0.5 Output : 1 ∵ 0.5 > 0 Input(1,0) : −1 × 0.2 + 1 × 0.3 + 0 × 0.4 = 0.1 Wrong output
  • 22. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) 22 • Example AND gate 𝑤0 = 0.2 − 0.5(0 − 0.1) = 0.25 𝑤1 = 0.3 − 0.5 0 − 0.1 = 0.25 𝑤2 = 0.4 − 0.5 0 − 0.1 = 0.35 −1 × 0.25 + 1 × 0.25 + 0 × 0.4 = 0
  • 23. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) 23 • Python code
  • 24. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) 24 • Perceptron의 특징 결정 경계에 있는 데이터 𝑥1, 𝑥2가 있다고 가정하면 아래의 식을 만족합니다. 𝑥1 ∙ 𝑤 𝑇 = 0 𝑥2 ∙ 𝑤 𝑇 = 0 𝑥1 ∙ 𝑤 𝑇 = 𝑥2 ∙ 𝑤 𝑇 𝑥1 − 𝑥2 ∙ 𝑤 𝑇 = 0 𝑥1 − 𝑥2 𝑤 𝑇 𝑐𝑜𝑠𝜃 = 0 𝜃 = 𝜋 2 𝑜𝑟 − 𝜋 2 𝑤 𝑥1 𝑥2
  • 25. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) 25 • Perceptron의 특징 앞의 AND gate를 학습시킨다면 데이터에 맞는 결정 경계가 정해 지고 0과1 뿐만 아니라 0.4와 같은 실수 값에 대해서도 예측값을 얻을 수 있습니다.
  • 26. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) 26 • Perceptron의 한계 패턴을 두 구역으로만 나눌 수 있다
  • 27. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) 27 • Perceptron의 한계 사람은 점선의 결정 경계(decision boundary)가 좀 더 좋다는 것 을 평가할 수 있지만 perceptron은 그렇지 못하다
  • 28. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) 28 • Perceptron의 한계 XOR problem Perceptron은 XOR 문제를 완벽하게 분류할 수 없다
  • 29. Multimedia Signal Processing Laboratory Perceptron(single layer perceptron) 29 • Perceptron의 한계 XOR problem
  • 30. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 30 • AND와 OR은 하나의 직선을 통해서 나눌 수 있지만 XOR은 불 가능합니다. • 선형 분리만 가능한 단층 perceptron이 아닌 은닉층과 역전파 (backpropagation) 알고리즘을 이용한 다층 perceptron이 고안 되었습니다.
  • 31. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 31 z_𝑠𝑢𝑚 𝑗 = 𝑖=1 𝑑 𝑥𝑖 𝑢𝑖𝑗 + 𝑢0𝑗 z𝑗 = 𝑓(z_sum 𝑗) o_sum 𝑘 = 𝑗=1 𝑝 𝑧𝑗 𝑣𝑗𝑘 + 𝑣0𝑗 𝑜 𝑘 = 𝑓(o_sum 𝑘)
  • 32. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 32 • Perceptron에서는 목표 값을 알고 있으므로 출력 값과 목표 값 의 차이로 가중치를 수정했지만 MLP에서는 어느 층의 가중치 가 틀렸는지 알 수 없습니다. • 이런 이유로 뉴런들이 어떤 값을 가져야 하고 정답인지를 알 수 없으므로 은닉층(hidden layer)라고 합니다. • MLP에서 입력 값으로 출력 값을 계산하는 과정을 전향 (forward), 결과 값과 출력 값으로 가중치를 수정하는 과정을 후 향(backward)라고 합니다.
  • 33. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 33 • MLP에서도 bias노드는 반드시 필요하다. Bias노드가 없다면 아 무리 여러 층을 사용한다 하더라도 원점을 지나는 선형 분리만 가능하다 𝑓 𝑥 = 𝑤𝑥 𝑔 𝑓 𝑥 = 𝑤2 𝑥 ⋮ = 𝑤 𝑛 𝑥
  • 34. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 34 • Backpropagation Perceptron에서 사용했던 loss function 𝐸 𝑘 = 𝑡 𝑘 − 𝑦 𝑘를 계속 사용 하는 것에는 무리가 있습니다. 만약 𝐸1 = −2, 𝐸2 = 2면 에러의 합은 0이 되어 오차가 없는 것으 로 인식하게 됩니다. 다양한 loss function이 있지만 지금은 SSE(Error Sum of Square) 을 사용할 것입니다. N : Number of output node, 𝐸 𝑡, 𝑦 = 1 2 𝑘=1 𝑁 𝑡 𝑘 − 𝑦 𝑘 2
  • 35. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 35 • Backpropagation 𝐸 𝑡, 𝑦 = 1 2 𝑘=1 𝑁 𝑦 𝑘 − 𝑡 𝑘 2 = 𝐸(𝑡, 𝑤, 𝑥) = 1 2 𝑘=1 𝑁 𝑓 𝑤, 𝑥 − 𝑡 𝑘 2 위의 식에서 t와 x는 정해진 값이므로 w를 변경하면서 error를 최 소화합니다. W대한 error의 그래프가 있다고 생각하면 w에 대한 에러의 최소 값을 찾기 위해서 미분을 사용합니다. ∆𝑤𝑗 = −𝜂 𝜕𝐸 𝜕𝑤𝑗
  • 36. Multimedia Signal Processing Laboratory • Backpropagation • Convex • No local minimum MLP(Multi-Layer Perceptron) 36
  • 37. Multimedia Signal Processing Laboratory • Backpropagation • Convex MLP(Multi-Layer Perceptron) 37 𝜕𝐸 𝜕𝑤 = − ∆𝑤 = −𝜂 𝜕𝐸 𝜕𝑤 𝜕𝐸 𝜕𝑤 = + ∆𝑤 = −𝜂 𝜕𝐸 𝜕𝑤
  • 38. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 38 • Perceptron에서 사용했던 임계 값 함수는 비연속적이라 미분이 불가능합니다. • 미분을 사용하기 위해서 sigmoid 함수를 사용합니다. 𝑔 𝑥 = 1 1 + exp(−𝛽𝑥) 1 0 1 0
  • 39. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 39 • Sigmoid 미분 𝑔 𝑥 ′ = 𝑑𝑔 𝑑𝑥 = 𝑑 𝑑𝑥 1 + 𝑒−𝛽𝑥 −1 = −1 1 + 𝑒−𝛽𝑥 −2 𝑑𝑒−𝛽𝑥 𝑑𝑥 = −1 1 + 𝑒−𝛽𝑥 −2 −𝛽𝑒−𝛽𝑥 = 𝛽𝑒−𝛽𝑥 1 + 𝑒−𝛽𝑥 2 = 𝛽𝑔(𝑥)(1 − 𝑔(𝑥))
  • 40. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 40 • Algorithm 1. 최종 결과물을 얻고 //Feed forward and prediction 2. 그 결과가 우리가 원하는 결과물과의 차이점을 찾은 뒤 //Cost function 3. 그 차이가 무엇으로 인해 생기는지 //Differentiation 4. 역으로 내려가면서 추정하여 //Back propagation 5. 새로운 parameter값을 배움 //Weight update
  • 41. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 41 • Backpropagation 목적은 cost function을 최소화하는 parameter를 찾는 것 min 𝑤 𝐸 𝑤 , sum = 𝑖=0 2 𝑤𝑖 𝑥𝑖 , 𝑔 𝑥 = 1 1 + exp(−𝛽𝑥) 𝑥0 = 1 𝑥1 𝑥2 𝑤0 𝑤1 𝑤2 ysum g(sum)
  • 42. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 42 • Backpropagation 목적은 cost function을 최소화하는 parameter를 찾는 것 loss function = 𝑆𝑆𝐸 = 1 2 𝑡𝑖 − 𝑦𝑖 2 𝑥0 = 1 𝑥1 𝑥2 𝑤0 𝑤1 𝑤2 ysum g(sum)
  • 43. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 43 𝜕𝐸 𝜕𝑤1 = 𝜕𝐸 𝜕g(sum) 𝜕g(sum) 𝜕sum 𝜕sum 𝜕𝑤1 𝑥1 𝑥2 𝑤0 𝑤1 𝑤2 ysum g(sum) 𝑥0 = 1
  • 44. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 44 𝜕𝐸 𝜕g(sum) = 2 ∗ 1 2 𝑡 − 𝑔 𝑠𝑢𝑚 2−1 ∗ −1 = −(𝑡 − 𝑔(𝑠𝑢𝑚)) 𝜕g(sum) 𝜕su𝑚 = 𝜕 𝜕sum 1 1 + exp(−𝛽𝑠𝑢𝑚) = 𝛽𝑔(𝑠𝑢𝑚)(1 − 𝑔(𝑠𝑢𝑚)) 𝜕sum 𝜕𝑤1 = 𝜕 𝜕𝑤1 𝑖=0 2 𝑤𝑖 𝑥𝑖 = 𝑥1
  • 45. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 45 𝜕𝐸 𝜕𝑤1 = 𝜕𝐸 𝜕g(sum) 𝜕g(sum) 𝜕su𝑚 𝜕sum 𝜕𝑤1 = − 𝑡 − 𝑦 𝛽𝑔 sum 1 − 𝑔 sum 𝑥1 𝜕𝐸 𝜕𝑤 𝑘 = 𝜕𝐸 𝜕g(sum) 𝜕g(sum) 𝜕su𝑚 𝜕sum 𝜕𝑤 𝑘 = − 𝑡 − 𝑦 𝛽𝑔 sum (1 − 𝑔(sum))𝑥 𝑘
  • 46. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 46 𝑥1 𝑤01 𝑤11 𝑦1sum1 𝑔(sum1) 𝑥0 = 1 𝑦0 𝜕𝐸 𝜕𝑤01 = 𝜕𝐸 𝜕𝑔(sum1) 𝜕𝑔(sum1) 𝜕𝑠𝑢𝑚1 𝜕sum1 𝜕𝑤01 𝑤00 𝑤10 sum0 𝑔(sum0)
  • 47. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 47 𝜕𝐸 𝜕𝑔(sum1) = 𝜕 𝜕𝑔 sum1 1 2 𝑖=0 1 𝑡𝑖 − 𝑦𝑖 2 = −(𝑡1 − 𝑦1) 𝜕𝑔(sum1) 𝜕𝑠𝑢𝑚1 = 𝑔′ sum1 𝜕sum1 𝜕𝑤01 = 𝜕 𝜕𝑤01 𝑥0 𝑤01 + 𝑥1 𝑤11 = 𝑥0
  • 48. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 48 𝜕𝐸 𝜕𝑤01 = 𝜕𝐸 𝜕𝑔(sum1) 𝜕𝑔(sum1) 𝜕𝑠𝑢𝑚1 𝜕sum1 𝜕𝑤11 = − 𝑡1 − 𝑦1 𝛽𝑔 sum1 1 − 𝑔 sum1 𝑥0 𝜕𝐸 𝜕𝑤𝑖𝑗 = 𝜕𝐸 𝜕𝑔(sum𝑗) 𝜕𝑔(sum𝑗) 𝜕sum𝑗 𝜕sum𝑗 𝜕𝑤𝑖𝑗 = − 𝑡𝑗 − 𝑦𝑗 𝛽𝑔 sum𝑗 (1 − 𝑔(sum𝑗))𝑥𝑖
  • 49. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 49 𝑤𝑗𝑘: = 𝑤𝑗𝑘 − 𝜂 𝜕𝐸 𝜕𝑤𝑗𝑘 = 𝑤𝑗𝑘 − 𝜂(− 𝑡 𝑘 − 𝑦 𝑘 𝑔′ sum 𝑘 𝑥𝑗) 𝛿 𝑘 = − 𝑡 𝑘 − 𝑦 𝑘 𝑔′(𝑠𝑢𝑚 𝑘) 𝑤𝑗𝑘: = 𝑤𝑗𝑘 − 𝜂 𝜕𝐸 𝜕𝑤𝑗𝑘 = 𝑤𝑗𝑘 − 𝜂𝛿 𝑘 𝑥𝑗
  • 50. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 50 𝑥1 𝑤0 𝑤1 𝑦1sum 𝑔(sum) 𝑥0 = 1 𝑣0 𝑣1 o 𝑦0 = 1 𝜕𝐸 𝜕𝑤1 = 𝜕𝐸 𝜕𝑔(osum) 𝜕𝑔(osum) 𝜕osum 𝜕osum 𝜕𝑔(sum) 𝜕𝑔(sum) 𝜕sum 𝜕sum 𝜕𝑤1 osum 𝑔(osum)
  • 51. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 51 𝜕𝐸 𝜕𝑔(osum) = − 𝑡 − 𝑜 𝜕𝑔(osum) 𝜕osum = 𝑔′ osum 𝜕osum 𝜕𝑔(sum) = 𝜕 𝜕𝑔 sum 𝑦0 𝑣0 + g(sum) × 𝑣1 = 𝑣1
  • 52. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 52 𝜕𝑔(sum) 𝜕sum = 𝑔′ sum 𝜕sum 𝜕𝑤1 = 𝜕 𝜕𝑤1 𝑥0 𝑤0 + 𝑥1 𝑤1 = 𝑥1 𝜕𝐸 𝜕𝑤1 = − 𝑡 − 𝑜 𝑔′ osum 𝑣1 𝑔′ sum 𝑥1 = −𝛿𝑣1 𝑔′ sum 𝑥1
  • 53. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 53 𝑣00 𝑣10 𝑜0 𝜕𝐸 𝜕𝑤10 = 𝜕𝐸 𝜕𝑔(sum𝑖) 𝜕𝑔(sum𝑖) 𝜕sum𝑖 𝜕sum𝑖 𝜕𝑔(sum1) 𝜕𝑔(sum1) 𝜕sum1 𝜕sum1 𝜕𝑤1 osum0 𝑔(osum0) 𝑜1osum1 𝑔(osum1) 𝑣01 𝑣11 𝑥1 𝑤01 𝑤11 sum1 𝑔(sum1) 𝑥0 = 1 𝑤00 𝑤10 sum0 𝑔(sum0)
  • 54. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 54 𝑣00 𝑣10 𝑜0 𝜕𝐸 𝜕𝑤10 = 𝜕𝐸 𝜕𝑔(sum0) 𝜕𝑔(sum0) 𝜕sum0 𝜕sum0 𝜕𝑤10 osum0 𝑔(osum0) 𝑜1osum1 𝑔(osum1) 𝑣01 𝑣11 𝑥1 𝑤01 𝑤11 sum1 𝑔(sum1) 𝑥0 = 1 𝑤00 𝑤10 sum0 𝑔(sum0)
  • 55. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 55 𝑣00 𝑣10 𝑜0 𝜕𝐸 𝜕𝑔(sum0) = 𝜕𝐸0 𝜕𝑔 𝑜sum0 𝜕𝑔(osum0) 𝜕𝑔(sum0) + 𝜕𝐸1 𝜕𝑔 𝑜sum1 𝜕𝑔(osum1) 𝜕𝑔(sum0) osum0 𝑔(osum0) 𝑜1osum1 𝑔(osum1) 𝑣01 𝑣11 𝑥1 𝑤01 𝑤11 sum1 𝑔(sum1) 𝑥0 = 1 𝑤00 𝑤10 sum0 𝑔(sum0)
  • 56. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 56 𝜕𝐸 𝜕𝑔(sum0) = 𝜕𝐸0 𝜕𝑔 𝑜sum0 𝜕𝑔(osum0) 𝜕𝑔(sum0) + 𝜕𝐸1 𝜕𝑔 𝑜sum1 𝜕𝑔(osum1) 𝜕𝑔(sum0) = 𝜕𝐸0 𝜕𝑔 osum0 𝜕𝑔(osum0) 𝜕osum0 𝜕osum0 𝑔(sum0) + 𝜕𝐸1 𝜕𝑔 osum1 𝜕𝑔(osum1) 𝜕osum1 𝜕osum1 𝑔(sum0) = 𝛿0 𝑣00 + 𝛿1 𝑣01 = 𝑖=0 1 𝛿𝑖 𝑣0𝑖
  • 57. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 57 𝜕𝑔(sum0) 𝜕sum0 = 𝑔′ sum0 𝜕sum0 𝜕𝑤10 = 𝑥1 𝜕𝐸 𝜕𝑤10 = 𝑖=0 1 𝛿𝑖 𝑣0𝑖 𝑔′ sum0 𝑥1
  • 58. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 58 𝜕𝐸 𝜕𝑤10 = 𝑖=0 1 𝛿𝑖 𝑣0𝑖 𝑔′ sum0 𝑥1 출력 노드의 개수 k는 1 ≤ 𝑘 ≤ 𝑚를 만족하면 𝜕𝐸 𝜕𝑤10 = 𝑘=1 𝑚 𝛿 𝑘 𝑣0𝑘 𝑔′ sum0 𝑥1 𝜕𝐸 𝜕𝑤𝑖𝑗 = 𝑘=1 𝑚 𝛿 𝑘 𝑣𝑗𝑘 𝑔′ sum𝑗 𝑥𝑖
  • 59. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 59 𝜕𝐸 𝜕𝑤𝑖𝑗 = 𝑘=1 𝑚 𝛿 𝑘 𝑣𝑗𝑘 𝑔′ sum𝑗 𝑥𝑖 𝛿𝑗 = − 𝑘=1 𝑚 𝛿 𝑘 𝑣𝑗𝑘 𝑔′ sum𝑗 𝑤𝑖𝑗 ≔ 𝑤𝑖𝑗 − 𝜂 𝜕𝐸 𝜕𝑤𝑖𝑗 = 𝜂𝛿𝑗 𝑥𝑖
  • 60. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 60 input node의 개수 i가 0 ≤ 𝑖 ≤ 𝑑라면 input layer와 hidden layer사이 의 가중치 w는 d+1 x p 크기의 matrix입니다. Hidden node의 개수 j가 0 ≤ 𝑗 ≤ 𝑝라면 hidden layer와 output layer 사이의 가중치 v는 p+1 x m 크기의 matrix입니다. 𝛿 𝑘 = −𝛽 𝑡1 − 𝑦1 ⋮ 𝑡 𝑚 − 𝑦 𝑚 𝑦1 ⋮ 𝑦 𝑚 1 − 𝑦1 ⋮ 1 − 𝑦 𝑚 = 𝑚 × 1 𝑚𝑎𝑡𝑟𝑖𝑥 (elementwise_mul) → 𝑛 × 𝑚 𝑚𝑎𝑡𝑟𝑖𝑥 (n개의 데이터에 대해서) 𝑣𝑗𝑘 ≔ 𝑣𝑗𝑘 − 𝜂𝛿 𝑘(hidden_layer_output) 𝑗
  • 61. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 61 𝑣𝑗𝑘 ≔ 𝑣𝑗𝑘 − 𝜂𝛿 𝑘(hidden_layer_input) 𝑗 𝛿 𝑘 = 𝑛 × 𝑚 𝑚𝑎𝑡𝑟𝑖𝑥 hiddent_layer_output = 𝑛 × 𝑝 + 1 𝑚𝑎𝑡𝑟𝑖𝑥 𝑉 = 𝑉 − 𝜂 hiddent_layer_output 𝛿 𝑘 𝑇 = 𝑉 − 𝜂 output0 ⋮ output 𝑝 −𝛽 𝑡1 − 𝑦1 𝑦1(1 − 𝑦1) … −𝛽 𝑡 𝑚 − 𝑦 𝑚 𝑦 𝑚(1 − 𝑦 𝑚)
  • 62. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 62 𝛿 𝑘 = n × 𝑚 𝑚𝑎𝑡𝑟𝑖𝑥 𝑉 = 𝑝 + 1 × 𝑚 𝑚𝑎𝑡𝑟𝑖𝑥 𝑤𝑖𝑗 ≔ 𝑤𝑖𝑗 − 𝜂 𝜕𝐸 𝜕𝑤𝑖𝑗 = 𝜂𝛿𝑗 𝑥𝑖 𝛿𝑗 = −𝑔′ sum𝑗 𝑘=1 𝑚 𝛿 𝑘 𝑣𝑗𝑘 = 𝑔′ sum0 ⋮ 𝑔′ sum 𝑝 𝛿 𝑘 𝑣01 ⋯ 𝑣0𝑚 ⋮ ⋱ ⋮ 𝑣 𝑝1 ⋯ 𝑣 𝑝𝑚 T
  • 63. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 63 𝛿𝑗 = −𝑔′ sum𝑗 𝑘=1 𝑚 𝛿 𝑘 𝑣𝑗𝑘 = 𝑔′ sum0 ⋮ 𝑔′ sum 𝑝 𝛿 𝑘 𝑣01 ⋯ 𝑣0𝑚 ⋮ ⋱ ⋮ 𝑣 𝑝1 ⋯ 𝑣 𝑝𝑚 T = 𝑔′ sum0 ⋮ 𝑔′ sum 𝑝 𝛿 𝑘 𝑣01 ⋯ 𝑣 𝑝1 ⋮ ⋱ ⋮ 𝑣0𝑚 ⋯ 𝑣 𝑝𝑚 = 1 × 𝑝 + 1 𝑚𝑎𝑡𝑟𝑖𝑥 → 𝑛 × 𝑝 + 1 𝑚𝑎𝑡𝑟𝑖𝑥 𝑋 = 𝑛 × 𝑑 + 1 𝑚𝑎𝑡𝑟𝑖𝑥 𝑊 ≔ 𝑊 − 𝜂 𝜕𝐸 𝜕𝑊 = 𝜂𝛿𝑗 𝑋
  • 64. Multimedia Signal Processing Laboratory MLP(Multi-Layer Perceptron) 64 • Python code
  • 65. Multimedia Signal Processing Laboratory Next 65 • Neural network with pytorch • Regression • Activation functions • Loss functions • Weight initialization
  • 66. Multimedia Signal Processing Laboratory 66 QnA