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
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
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
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 문제를 완벽하게 분류할 수 없다
30. Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
30
• AND와 OR은 하나의 직선을 통해서 나눌 수 있지만 XOR은 불
가능합니다.
• 선형 분리만 가능한 단층 perceptron이 아닌 은닉층과 역전파
(backpropagation) 알고리즘을 이용한 다층 perceptron이 고안
되었습니다.
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
38. Multimedia Signal Processing Laboratory
MLP(Multi-Layer Perceptron)
38
• Perceptron에서 사용했던 임계 값 함수는 비연속적이라 미분이
불가능합니다.
• 미분을 사용하기 위해서 sigmoid 함수를 사용합니다.
𝑔 𝑥 =
1
1 + exp(−𝛽𝑥)
1
0
1
0
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)