artificial neural network - kangwoncs.kangwon.ac.kr/~parkce/seminar/artificial neural... ·...

35
Intelligent Software Lab. Artificial Neural Network 박천음 강원대학교 Intelligent Software Lab.

Upload: others

Post on 12-May-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab.

Artificial Neural Network

박천음

강원대학교

Intelligent Software Lab.

Page 2: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 2

Artificial Neural Network

• Input data

• Feed Forward

• Gradient

• Least Square Method

• Back Propagation

Page 3: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 3

Input

• Input sentences• Sen1: what movies johnny depp is in?

• Sen2: what movies does johnny depp play in?

• Sen3: who has been married to julia roberts?

• Bag of words(size 16):

• Term vector:

Page 4: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 4

Feed Forward

• Net activation (scalar, hidden unit ‘𝑗𝑗’)• input-to-hidden

1) 𝑛𝑛𝑛𝑛𝑡𝑡𝑗𝑗 = �𝑖𝑖=1

𝑑𝑑

𝑥𝑥𝑖𝑖𝑤𝑤𝑗𝑗𝑖𝑖 + 𝑤𝑤𝑗𝑗𝑗 = �𝑖𝑖=𝑗

𝑑𝑑

𝑥𝑥𝑖𝑖𝑤𝑤𝑖𝑖𝑗𝑗 ≡ 𝑤𝑤𝑗𝑗𝑇𝑇𝑥𝑥

• 𝑖𝑖: 𝑖𝑖𝑛𝑛𝑖𝑖𝑖𝑖𝑡𝑡 𝑙𝑙𝑙𝑙𝑙𝑙𝑛𝑛𝑙𝑙, 𝑗𝑗: ℎ𝑖𝑖𝑖𝑖𝑖𝑖𝑛𝑛𝑛𝑛 𝑙𝑙𝑙𝑙𝑙𝑙𝑛𝑛𝑙𝑙, 𝑤𝑤𝑗𝑗𝑖𝑖: 𝑖𝑖 → 𝑗𝑗의 𝑤𝑤𝑛𝑛𝑖𝑖𝑤𝑤ℎ𝑡𝑡• 𝑥𝑥:𝑖𝑖𝑛𝑛𝑖𝑖𝑡𝑡𝑢𝑢(= 𝑛𝑛𝑛𝑛𝑖𝑖𝑛𝑛), 𝑤𝑤:𝑤𝑤𝑛𝑛𝑖𝑖𝑤𝑤ℎ𝑡𝑡• 𝑥𝑥𝑗 = 1, 𝑤𝑤𝑗 = 0~1 (𝑏𝑏𝑖𝑖𝑙𝑙𝑢𝑢 𝑣𝑣𝑙𝑙𝑙𝑙𝑖𝑖𝑛𝑛)

𝑥𝑥𝑖𝑖

𝑥𝑥 𝑤𝑤

Page 5: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 5

Feed Forward cont`

• Activation function (non-linear function)

2) 𝑙𝑙𝑗𝑗 = 𝑓𝑓 𝑛𝑛𝑛𝑛𝑡𝑡𝑗𝑗• → 𝑢𝑢𝑤𝑤𝑛𝑛 = 𝑢𝑢𝑖𝑖𝑤𝑤𝑛𝑛𝑖𝑖𝑠𝑠표현 함수 (𝜑𝜑)

3) 𝑓𝑓 𝑛𝑛𝑛𝑛𝑡𝑡 = 𝑢𝑢𝑤𝑤𝑛𝑛(𝑛𝑛𝑛𝑛𝑡𝑡) ≡ � 1, 𝑛𝑛𝑛𝑛𝑡𝑡 ≥ 0−1, 𝑛𝑛𝑛𝑛𝑡𝑡 < 0

𝑥𝑥𝑖𝑖

𝑙𝑙𝑖𝑖

𝑙𝑙𝑖𝑖

𝑓𝑓(𝑛𝑛𝑛𝑛𝑡𝑡𝑗𝑗)

Page 6: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 6

Feed Forward cont`

• sgm function

logistic sigmoid

𝑓𝑓 𝑛𝑛𝑛𝑛𝑡𝑡 =1

1 + exp −𝑛𝑛𝑛𝑛𝑡𝑡𝜕𝜕𝑓𝑓 𝑛𝑛𝑛𝑛𝑡𝑡𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡 = 𝑓𝑓 𝑛𝑛𝑛𝑛𝑡𝑡 1− 𝑓𝑓 𝑛𝑛𝑛𝑛𝑡𝑡

tanh

𝑓𝑓 𝑛𝑛𝑛𝑛𝑡𝑡 = tanh 𝑛𝑛𝑛𝑛𝑡𝑡 =𝑛𝑛𝑥𝑥 + 𝑛𝑛−𝑥𝑥

𝑛𝑛𝑥𝑥 + 𝑛𝑛−𝑥𝑥

𝑡𝑡𝑙𝑙𝑛𝑛ℎ𝑡 𝑛𝑛𝑛𝑛𝑡𝑡 = 1 − 𝑡𝑡𝑙𝑙𝑛𝑛ℎ𝑡 𝑛𝑛𝑛𝑛𝑡𝑡 2

hard tanh𝑓𝑓 𝑛𝑛𝑛𝑛𝑡𝑡 = 𝐻𝐻𝑙𝑙𝑙𝑙𝑖𝑖Tanh 𝑛𝑛𝑛𝑛𝑡𝑡

𝐻𝐻𝑙𝑙𝑙𝑙𝑖𝑖Tanh 𝑛𝑛𝑛𝑛𝑡𝑡 =−1 𝑖𝑖𝑓𝑓 𝑥𝑥 < −1𝑥𝑥 𝑖𝑖𝑓𝑓 − 1 ≤ 𝑥𝑥 ≤ 11 𝑖𝑖𝑓𝑓 𝑥𝑥 > 1

그림출처: Torch7 Documentation

Page 7: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 7

Feed Forward cont`

• sgm function

SoftSign𝑓𝑓 𝑛𝑛𝑛𝑛𝑡𝑡 = 𝑆𝑆𝑛𝑛𝑓𝑓𝑡𝑡𝑆𝑆𝑖𝑖𝑤𝑤𝑛𝑛(𝑛𝑛𝑛𝑛𝑡𝑡)

𝑆𝑆𝑛𝑛𝑓𝑓𝑡𝑡𝑆𝑆𝑖𝑖𝑤𝑤𝑛𝑛 𝑛𝑛𝑛𝑛𝑡𝑡 =𝑙𝑙

1 + 𝑙𝑙

SoftMax𝑓𝑓 𝑛𝑛𝑛𝑛𝑡𝑡 = 𝑆𝑆𝑛𝑛𝑓𝑓𝑡𝑡𝑆𝑆𝑙𝑙𝑥𝑥(𝑛𝑛𝑛𝑛𝑡𝑡)

=exp 𝑛𝑛𝑛𝑛𝑡𝑡𝑖𝑖 − 𝑢𝑢ℎ𝑖𝑖𝑓𝑓𝑡𝑡∑𝑗𝑗 exp(𝑛𝑛𝑛𝑛𝑡𝑡𝑗𝑗 − 𝑢𝑢ℎ𝑖𝑖𝑓𝑓𝑡𝑡)

, 𝑢𝑢ℎ𝑖𝑖𝑓𝑓𝑡𝑡 = max𝑖𝑖(𝑛𝑛𝑛𝑛𝑡𝑡𝑖𝑖)

Rectifier𝑓𝑓 𝑛𝑛𝑛𝑛𝑡𝑡 = 𝑙𝑙𝑛𝑛𝑟𝑟𝑡𝑡 (𝑛𝑛𝑛𝑛𝑡𝑡)

𝑙𝑙𝑛𝑛𝑟𝑟𝑡𝑡 𝑛𝑛𝑛𝑛𝑡𝑡 = max(0,𝑛𝑛𝑛𝑛𝑡𝑡)

𝑠𝑠𝑙𝑙𝑥𝑥 0,𝑛𝑛𝑛𝑛𝑡𝑡 =𝑥𝑥 𝑖𝑖𝑓𝑓 𝑥𝑥 > 0

0.01𝑥𝑥 𝑛𝑛𝑡𝑡ℎ𝑛𝑛𝑙𝑙𝑤𝑤𝑖𝑖𝑢𝑢𝑛𝑛

그림출처: Wikipedia

Page 8: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 8

Feed Forward cont`

• output layer (output unit ‘𝑘𝑘’)

• hidden-to-output

4) 𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘 = �𝑗𝑗=1

𝑛𝑛+1

𝑙𝑙𝑖𝑖𝑤𝑤𝑘𝑘𝑗𝑗 + 𝑤𝑤𝑘𝑘𝑗 = �𝑗𝑗=𝑗

𝑛𝑛𝐻𝐻

𝑙𝑙𝑗𝑗𝑤𝑤𝑘𝑘𝑗𝑗 = 𝑤𝑤𝑘𝑘𝑇𝑇𝑙𝑙

• 𝑘𝑘: 𝑛𝑛𝑖𝑖𝑡𝑡𝑖𝑖𝑖𝑖𝑡𝑡 𝑙𝑙𝑙𝑙𝑙𝑙𝑛𝑛𝑙𝑙, 𝑛𝑛𝐻𝐻: 𝑡𝑡ℎ𝑛𝑛 𝑛𝑛𝑖𝑖𝑠𝑠𝑏𝑏𝑛𝑛𝑙𝑙 𝑛𝑛𝑓𝑓 ℎ𝑖𝑖𝑖𝑖𝑖𝑖𝑛𝑛𝑛𝑛 𝑖𝑖𝑛𝑛𝑖𝑖𝑡𝑡𝑢𝑢• 𝑙𝑙𝑗 = 1 𝑏𝑏𝑖𝑖𝑙𝑙𝑢𝑢 𝑣𝑣𝑙𝑙𝑙𝑙𝑖𝑖𝑛𝑛 𝑖𝑖𝑛𝑛 ℎ𝑖𝑖𝑖𝑖𝑖𝑖𝑛𝑛𝑛𝑛

• output unit• 여기도 𝑢𝑢𝑤𝑤𝑛𝑛 . 적용5) 𝑧𝑧𝑘𝑘 = 𝑓𝑓(𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘)

𝑥𝑥𝑖𝑖

𝑙𝑙𝑖𝑖

𝑙𝑙𝑖𝑖𝑧𝑧𝑘𝑘

𝑓𝑓(𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘)

Page 9: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 9

Feed Forward cont`

Input value

Emission value

Weight

Activation function

그림출처: Pattern Classification

Page 10: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 10

Feed Forward cont`

𝑧𝑧𝑘𝑘 = 𝑙𝑙1 𝐴𝐴𝐴𝐴𝐴𝐴 𝐴𝐴𝑁𝑁𝑁𝑁 𝑙𝑙2 = 𝑥𝑥1 𝑁𝑁𝑂𝑂 𝑥𝑥2 𝐴𝐴𝐴𝐴𝐴𝐴 𝐴𝐴𝑁𝑁𝑁𝑁 𝑥𝑥1 𝐴𝐴𝐴𝐴𝐴𝐴 𝑥𝑥2= 𝑥𝑥1 𝑋𝑋𝑁𝑁𝑂𝑂 𝑥𝑥2

𝑥𝑥1 𝑥𝑥2

𝑙𝑙2𝑙𝑙1

𝑧𝑧𝑘𝑘

그림출처: Pattern Classification

Page 11: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 11

Neural Network expression

StructureTypes of

Decision RegionsExclusive-OR

ProblemClasses with

Meshed regionsMost General

Region Shapes

Single-Layer

Two-Layer

Three-Layer

Half PlaneBounded ByHyperplane

Convex OpenOr

Closed Regions

Arbitrary(Complexity

Limited by No.of Nodes)

A

AB

B

A

AB

B

A

AB

B

BA

BA

BA

Page 12: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 12

Gradient

• 각 변수로의 일차 편미분 값으로 구성되는 벡터• 벡터: 𝑓𝑓(. )의 값이 가파른 쪽의 방향을 나타냄• 벡터의 크기: 벡터 증가의 기울기를 나타냄

• 어떤 다변수 함수 𝑓𝑓(𝑥𝑥1, 𝑥𝑥2, … , 𝑥𝑥𝑛𝑛)가 있을 때, 𝑓𝑓의gradient는 다음과 같음

𝛻𝛻𝑓𝑓 = (𝜕𝜕𝑓𝑓𝜕𝜕𝑥𝑥1

,𝜕𝜕𝑓𝑓𝜕𝜕𝑥𝑥2

, … ,𝜕𝜕𝑓𝑓𝜕𝜕𝑥𝑥𝑛𝑛

)

• Gradient를이용한다변수 scalar 함수 𝑓𝑓의점 𝑙𝑙𝑘𝑘의근처에서의선형근사식 (using Taylor expansion)

𝑓𝑓 𝑙𝑙 = 𝑓𝑓 𝑙𝑙𝑘𝑘 + 𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 𝑙𝑙 − 𝑙𝑙𝑘𝑘 + 𝑛𝑛( 𝑙𝑙 − 𝑙𝑙𝑘𝑘 )

Page 13: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 13

Gradient Descent

• Formula

𝑙𝑙 𝑘𝑘+1 = 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 , 𝑘𝑘 ≥ 0

𝜂𝜂𝑘𝑘: 𝑙𝑙𝑛𝑛𝑙𝑙𝑙𝑙𝑛𝑛𝑖𝑖𝑛𝑛𝑤𝑤 𝑙𝑙𝑙𝑙𝑡𝑡𝑛𝑛

• Algorithm

𝒃𝒃𝒃𝒃𝒃𝒃𝒃𝒃𝒃𝒃 𝑖𝑖𝑛𝑛𝑖𝑖𝑡𝑡 𝑙𝑙, 𝑡𝑡ℎ𝑙𝑙𝑛𝑛𝑢𝑢ℎ𝑛𝑛𝑙𝑙𝑖𝑖 𝜃𝜃, 𝜂𝜂𝒅𝒅𝒅𝒅 𝑘𝑘 ← 𝑘𝑘 + 1

𝑙𝑙 ← 𝑙𝑙 − 𝜂𝜂𝛻𝛻𝑓𝑓 𝑙𝑙𝒖𝒖𝒃𝒃𝒖𝒖𝒃𝒃𝒖𝒖 𝜂𝜂𝛻𝛻𝑙𝑙 𝑘𝑘 < 0

𝒓𝒓𝒃𝒃𝒖𝒖𝒖𝒖𝒓𝒓𝒃𝒃 𝑙𝑙𝒃𝒃𝒃𝒃𝒅𝒅

출처: wikipedia

Page 14: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 14

Gradient Descent cont`

• 𝜂𝜂(. ) 학습률 구하기• Gradient를이용한다변수 scalar 함수 𝑓𝑓의점 𝑙𝑙𝑘𝑘의근처에서의 2차근사식

𝑓𝑓 𝑙𝑙 ≅ 𝑓𝑓 𝑙𝑙𝑘𝑘 + 𝛻𝛻𝑓𝑓𝑇𝑇 𝑙𝑙 − 𝑙𝑙𝑘𝑘 +12𝑙𝑙 − 𝑙𝑙𝑘𝑘 𝑡𝑡𝐻𝐻 𝑙𝑙 − 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 𝑙𝑙𝑘𝑘+1 ≅ 𝑓𝑓 𝑙𝑙𝑘𝑘 + 𝛻𝛻𝑓𝑓𝑇𝑇 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘+

12𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 +12𝜂𝜂𝑘𝑘2𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓𝑇𝑇𝛻𝛻𝑓𝑓 +12𝜂𝜂𝑘𝑘2𝛻𝛻𝑓𝑓𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓

⇒ 𝑓𝑓 − 𝜂𝜂𝑘𝑘 𝛻𝛻𝑓𝑓 2 +12𝜂𝜂𝑘𝑘2𝛻𝛻𝑓𝑓𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓

⇒ − 𝛻𝛻𝑓𝑓 2 + 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓

∴ 𝜂𝜂𝑘𝑘 =− 𝛻𝛻𝑓𝑓 2

𝛻𝛻𝑓𝑓𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓

(𝑓𝑓 𝑙𝑙𝑘𝑘 = 𝑓𝑓)

(𝜂𝜂𝑘𝑘로 미분)

𝜂𝜂𝑘𝑘를구하면

𝛻𝛻𝑓𝑓𝑡𝑡𝛻𝛻𝑓𝑓 = 𝛻𝛻𝑓𝑓 2

Page 15: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 15

Gradient Descent cont`

• 𝜂𝜂(. ) 학습률 구하기• Gradient를이용한다변수 scalar 함수 𝑓𝑓의점 𝑙𝑙𝑘𝑘의근처에서의 2차근사식

𝑓𝑓 𝑙𝑙 ≅ 𝑓𝑓 𝑙𝑙𝑘𝑘 + 𝛻𝛻𝑓𝑓𝑇𝑇 𝑙𝑙 − 𝑙𝑙𝑘𝑘 +12𝑙𝑙 − 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻 𝑙𝑙 − 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 𝑙𝑙𝑘𝑘+1 ≅ 𝑓𝑓 𝑙𝑙𝑘𝑘 + 𝛻𝛻𝑓𝑓𝑇𝑇 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘+

12𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘

Page 16: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 16

Gradient Descent cont`

• 𝜂𝜂(. ) 학습률 구하기• Gradient를이용한다변수 scalar 함수 𝑓𝑓의점 𝑙𝑙𝑘𝑘의근처에서의 2차근사식

𝑓𝑓 𝑙𝑙 ≅ 𝑓𝑓 𝑙𝑙𝑘𝑘 + 𝛻𝛻𝑓𝑓𝑇𝑇 𝑙𝑙 − 𝑙𝑙𝑘𝑘 +12𝑙𝑙 − 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻 𝑙𝑙 − 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 𝑙𝑙𝑘𝑘+1 ≅ 𝑓𝑓 𝑙𝑙𝑘𝑘 + 𝛻𝛻𝑓𝑓𝑇𝑇 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘+

12𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 +12𝜂𝜂𝑘𝑘2𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 (𝑓𝑓 𝑙𝑙𝑘𝑘 = 𝑓𝑓)

Page 17: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 17

Gradient Descent cont`

• 𝜂𝜂(. ) 학습률 구하기• Gradient를이용한다변수 scalar 함수 𝑓𝑓의점 𝑙𝑙𝑘𝑘의근처에서의 2차근사식

𝑓𝑓 𝑙𝑙 ≅ 𝑓𝑓 𝑙𝑙𝑘𝑘 + 𝛻𝛻𝑓𝑓𝑇𝑇 𝑙𝑙 − 𝑙𝑙𝑘𝑘 +12𝑙𝑙 − 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻 𝑙𝑙 − 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 𝑙𝑙𝑘𝑘+1 ≅ 𝑓𝑓 𝑙𝑙𝑘𝑘 + 𝛻𝛻𝑓𝑓𝑇𝑇 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘+

12𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 +12𝜂𝜂𝑘𝑘2𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓𝑇𝑇𝛻𝛻𝑓𝑓 +12𝜂𝜂𝑘𝑘2𝛻𝛻𝑓𝑓𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓

(𝑓𝑓 𝑙𝑙𝑘𝑘 = 𝑓𝑓)

𝛻𝛻𝑓𝑓𝑡𝑡𝛻𝛻𝑓𝑓 = 𝛻𝛻𝑓𝑓 2

Page 18: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 18

Gradient Descent cont`

• 𝜂𝜂(. ) 학습률 구하기• Gradient를이용한다변수 scalar 함수 𝑓𝑓의점 𝑙𝑙𝑘𝑘의근처에서의 2차근사식

𝑓𝑓 𝑙𝑙 ≅ 𝑓𝑓 𝑙𝑙𝑘𝑘 + 𝛻𝛻𝑓𝑓𝑇𝑇 𝑙𝑙 − 𝑙𝑙𝑘𝑘 +12𝑙𝑙 − 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻 𝑙𝑙 − 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 𝑙𝑙𝑘𝑘+1 ≅ 𝑓𝑓 𝑙𝑙𝑘𝑘 + 𝛻𝛻𝑓𝑓𝑇𝑇 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘+

12𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 +12𝜂𝜂𝑘𝑘2𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓𝑇𝑇𝛻𝛻𝑓𝑓 +12𝜂𝜂𝑘𝑘2𝛻𝛻𝑓𝑓𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓

⇒ 𝑓𝑓 − 𝜂𝜂𝑘𝑘 𝛻𝛻𝑓𝑓 2 +12𝜂𝜂𝑘𝑘2𝛻𝛻𝑓𝑓𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓

(𝑓𝑓 𝑙𝑙𝑘𝑘 = 𝑓𝑓)

𝛻𝛻𝑓𝑓𝑡𝑡𝛻𝛻𝑓𝑓 = 𝛻𝛻𝑓𝑓 2

(𝜂𝜂𝑘𝑘로 미분)

Page 19: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 19

Gradient Descent cont`

• 𝜂𝜂(. ) 학습률 구하기• Gradient를이용한다변수 scalar 함수 𝑓𝑓의점 𝑙𝑙𝑘𝑘의근처에서의 2차근사식

𝑓𝑓 𝑙𝑙 ≅ 𝑓𝑓 𝑙𝑙𝑘𝑘 + 𝛻𝛻𝑓𝑓𝑇𝑇 𝑙𝑙 − 𝑙𝑙𝑘𝑘 +12𝑙𝑙 − 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻 𝑙𝑙 − 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 𝑙𝑙𝑘𝑘+1 ≅ 𝑓𝑓 𝑙𝑙𝑘𝑘 + 𝛻𝛻𝑓𝑓𝑇𝑇 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘+

12𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 +12𝜂𝜂𝑘𝑘2𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓𝑇𝑇𝛻𝛻𝑓𝑓 +12𝜂𝜂𝑘𝑘2𝛻𝛻𝑓𝑓𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓

⇒ 𝑓𝑓 − 𝜂𝜂𝑘𝑘 𝛻𝛻𝑓𝑓 2 +12𝜂𝜂𝑘𝑘2𝛻𝛻𝑓𝑓𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓

⇒ − 𝛻𝛻𝑓𝑓 2 + 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓

(𝑓𝑓 𝑙𝑙𝑘𝑘 = 𝑓𝑓)

𝛻𝛻𝑓𝑓𝑡𝑡𝛻𝛻𝑓𝑓 = 𝛻𝛻𝑓𝑓 2

(𝜂𝜂𝑘𝑘로 미분)

Page 20: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 20

Gradient Descent cont`

• 𝜂𝜂(. ) 학습률 구하기• Gradient를이용한다변수 scalar 함수 𝑓𝑓의점 𝑙𝑙𝑘𝑘의근처에서의 2차근사식

𝑓𝑓 𝑙𝑙 ≅ 𝑓𝑓 𝑙𝑙𝑘𝑘 + 𝛻𝛻𝑓𝑓𝑇𝑇 𝑙𝑙 − 𝑙𝑙𝑘𝑘 +12 𝑙𝑙 − 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻 𝑙𝑙 − 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 𝑙𝑙𝑘𝑘+1 ≅ 𝑓𝑓 𝑙𝑙𝑘𝑘 + 𝛻𝛻𝑓𝑓𝑇𝑇 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘+

12 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 𝑙𝑙𝑘𝑘 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 +12 𝜂𝜂𝑘𝑘

2𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘 𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓 𝑙𝑙𝑘𝑘

⇒ 𝑓𝑓 − 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓𝑇𝑇𝛻𝛻𝑓𝑓 +12 𝜂𝜂𝑘𝑘

2𝛻𝛻𝑓𝑓𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓

⇒ 𝑓𝑓 − 𝜂𝜂𝑘𝑘 𝛻𝛻𝑓𝑓 2 +12 𝜂𝜂𝑘𝑘

2𝛻𝛻𝑓𝑓𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓⇒ − 𝛻𝛻𝑓𝑓 2 + 𝜂𝜂𝑘𝑘𝛻𝛻𝑓𝑓𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓

∴ 𝜂𝜂𝑘𝑘 =− 𝛻𝛻𝑓𝑓 2

𝛻𝛻𝑓𝑓𝑇𝑇𝐻𝐻𝛻𝛻𝑓𝑓

(𝑓𝑓 𝑙𝑙𝑘𝑘 = 𝑓𝑓)

𝛻𝛻𝑓𝑓𝑡𝑡𝛻𝛻𝑓𝑓 = 𝛻𝛻𝑓𝑓 2

(𝜂𝜂𝑘𝑘로 미분)

𝜂𝜂𝑘𝑘를구하면

Page 21: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 21

Gradient Descent cont`

• 𝐻𝐻는 𝑙𝑙에 종속 𝑙𝑙𝑘𝑘에 간접적으로 종속 됨

∴어떤 𝑙𝑙𝑘𝑘 근처에서 2차식을 전개할 때 𝜂𝜂𝑘𝑘의 최적 선정이 가능 함

• 즉, 기준함수 𝑓𝑓(𝑙𝑙)가 관심 영역 전체에 걸쳐 2차이면, 𝐻𝐻는 상수, 𝜂𝜂는 𝑘𝑘 − 𝑡𝑡ℎ에 독립적인 상수가 됨

• 어떤다변수함수 𝑓𝑓(𝑥𝑥1, 𝑥𝑥2, … , 𝑥𝑥𝑛𝑛)가 있을 때, 𝑓𝑓의 𝐻𝐻𝑛𝑛𝑢𝑢𝑢𝑢𝑖𝑖𝑙𝑙𝑛𝑛 𝑆𝑆𝑙𝑙𝑡𝑡𝑙𝑙𝑖𝑖𝑥𝑥는다음과 같음

𝐻𝐻 𝑓𝑓 =

𝜕𝜕2𝑓𝑓𝜕𝜕𝑥𝑥12

,𝜕𝜕2𝑓𝑓

𝜕𝜕𝑥𝑥1𝜕𝜕𝑥𝑥2, … ,

𝜕𝜕2𝑓𝑓𝜕𝜕𝑥𝑥1𝜕𝜕𝑥𝑥𝑛𝑛

𝜕𝜕2𝑓𝑓𝜕𝜕𝑥𝑥2𝜕𝜕𝑥𝑥1

,𝜕𝜕2𝑓𝑓𝜕𝜕𝑥𝑥12

, … ,𝜕𝜕2𝑓𝑓

𝜕𝜕𝑥𝑥2𝜕𝜕𝑥𝑥𝑛𝑛⋮

𝜕𝜕2𝑓𝑓𝜕𝜕𝑥𝑥𝑛𝑛𝜕𝜕𝑥𝑥1

,𝜕𝜕2𝑓𝑓

𝜕𝜕𝑥𝑥𝑛𝑛𝜕𝜕𝑥𝑥2, … ,

𝜕𝜕2𝑓𝑓𝜕𝜕𝑥𝑥𝑛𝑛2

Page 22: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 22

Least Square Error

• 어떤 모델의 파라미터를 정의할 때 sample(입력된 데이터)와 𝑙𝑙𝑛𝑛𝑢𝑢𝑖𝑖𝑖𝑖𝑖𝑖𝑙𝑙𝑙𝑙2의 합이 최소가 되도록 하는 것

발표자
프레젠테이션 노트
Residual: 입력된 데이터와 모델로부터의 거리
Page 23: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 23

Least Square Error cont`

• 어떤추정된모델 𝑓𝑓 𝑥𝑥 = 𝑙𝑙𝑥𝑥 + 𝑏𝑏인경우• 𝑙𝑙𝑛𝑛𝑢𝑢𝑖𝑖𝑖𝑖𝑖𝑖𝑙𝑙𝑙𝑙에대해서살펴보면다음과같음

𝑙𝑙𝑛𝑛𝑢𝑢𝑖𝑖𝑖𝑖𝑖𝑖𝑙𝑙𝑙𝑙𝑖𝑖 = 𝑙𝑙𝑖𝑖 − 𝑓𝑓 𝑥𝑥𝑖𝑖• 즉, LSE의 파라미터를 추정한다는 것은 min(𝑙𝑙𝑛𝑛𝑢𝑢𝑖𝑖𝑖𝑖𝑖𝑖𝑙𝑙𝑙𝑙2)을구한다는 것

• 따라서 수식으로 표현하면

�𝑖𝑖=1

𝑛𝑛

𝑙𝑙2 = �𝑖𝑖=1

𝑛𝑛

𝑙𝑙𝑖𝑖 − 𝑓𝑓 𝑥𝑥𝑖𝑖2

• 위의 모델, 즉 직선인 경우

�𝑖𝑖=1

𝑛𝑛

𝑙𝑙2 = �𝑖𝑖=1

𝑛𝑛

𝑙𝑙𝑖𝑖 − 𝑙𝑙𝑥𝑥𝑖𝑖 + 𝑏𝑏𝑖𝑖 2

• 따라서 𝑙𝑙2을 최소화 하는 파라미터 a, b를 결정

발표자
프레젠테이션 노트
Residual: 입력된 데이터와 모델로부터의 거리
Page 24: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 24

Back Propagation

• Delta Rule에 기반한 방법• LSE를 기반으로 target(t)과 output(z)의 오차 제곱을 최소로함

• Credit assignment problem• NN의 Hidden layer에서 정답을 확인할 방법 없음

• 따라서 Back Prop.을 이용하여 weight 갱신

weight

output(z) : target(t)

compare차이발생: error(=scalar function)

∴weight들은이 error 값을줄이도록조절 weight는패턴별로학습

Page 25: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 25

Back Propagation cont`

• 임의 패턴에 대한 학습률(training error)

9) 𝐽𝐽 𝑤𝑤 ≡12�𝑘𝑘=1

𝑐𝑐

𝑡𝑡𝑘𝑘 − 𝑧𝑧𝑘𝑘 2 =12

𝑡𝑡 − 𝑧𝑧 2

• 𝑡𝑡𝑘𝑘: 정답 출력(target), 𝑧𝑧𝑘𝑘: net 출력(train result)

• 𝑡𝑡, 𝑧𝑧: 길이가 c인 target, net의 출력 ‘vector’

• 𝑤𝑤: net의 모든 가중치 (training error)

• Back prop. training rule• gradient descent에 기반 (init: random weight)

10) ∆𝑤𝑤 = −𝜂𝜂𝜕𝜕𝐽𝐽𝜕𝜕𝑤𝑤

, 𝑛𝑛𝑙𝑙 11) ∆𝑤𝑤𝑝𝑝𝑝𝑝 = −𝜂𝜂𝜕𝜕𝐽𝐽

𝜕𝜕𝑤𝑤𝑝𝑝𝑝𝑝• 𝜂𝜂: 학습률(training error) 가중치 변화의 상대적 크기• 반복 m번일 때, gradient descent

기준함수(𝐽𝐽(𝑤𝑤))를 낮추도록 움직임12) 𝑤𝑤𝑚𝑚+1 = 𝑤𝑤𝑚𝑚 + ∆𝑤𝑤𝑚𝑚

Page 26: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 26

Back Propagation cont`

• Back Prop. of Hidden-to-Output

• 𝑡𝑡𝑙𝑙𝑙𝑙𝑖𝑖𝑛𝑛𝑖𝑖𝑛𝑛𝑤𝑤 𝑛𝑛𝑙𝑙𝑙𝑙𝑛𝑛𝑙𝑙 "𝑤𝑤𝑘𝑘𝑗𝑗" 최적화 필요 (∴ 𝐽𝐽 𝑤𝑤 를 𝑤𝑤로 최적화)

• 𝑤𝑤𝑘𝑘𝑗𝑗가 𝑤𝑤𝑗𝑗𝑘𝑘에 외연적으로 종속되지 않음

• 즉, 𝐽𝐽는 𝑛𝑛𝑛𝑛𝑡𝑡에 의존적: (9) 12𝑡𝑡 − 𝑧𝑧 2, (5) 𝑧𝑧𝑘𝑘 = 𝑓𝑓(𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘)

• 𝑛𝑛𝑛𝑛𝑡𝑡은 𝑤𝑤에 의존적: (4) 𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘 = 𝑤𝑤𝑘𝑘𝑇𝑇𝑙𝑙• 따라서 chain rule 적용 가능

𝑖𝑖 𝑗𝑗 𝑘𝑘

𝑧𝑧: 𝑡𝑡 (𝑟𝑟𝑛𝑛𝑠𝑠𝑖𝑖𝑙𝑙𝑙𝑙𝑛𝑛)ℎ𝑖𝑖𝑖𝑖𝑖𝑖𝑛𝑛𝑛𝑛 − 𝑡𝑡𝑛𝑛 − 𝑛𝑛𝑖𝑖𝑡𝑡에대한𝑡𝑡𝑙𝑙𝑙𝑙𝑖𝑖𝑛𝑛𝑖𝑖𝑛𝑛𝑤𝑤 𝑛𝑛𝑙𝑙𝑙𝑙𝑛𝑛𝑙𝑙 "𝑤𝑤𝑘𝑘𝑗𝑗"를계산

Page 27: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 27

Back Propagation cont`

• 𝑤𝑤𝑘𝑘𝑗𝑗최적화에 대한 𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘의 chain rule

13)𝜕𝜕𝐽𝐽𝜕𝜕𝑤𝑤𝑘𝑘𝑗𝑗

=𝜕𝜕𝐽𝐽

𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘𝜕𝜕𝑤𝑤𝑘𝑘𝑗𝑗

Page 28: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 28

Back Propagation cont`

• 𝑤𝑤𝑘𝑘𝑗𝑗최적화에 대한 𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘의 chain rule

13)𝜕𝜕𝐽𝐽𝜕𝜕𝑤𝑤𝑘𝑘𝑗𝑗

=𝜕𝜕𝐽𝐽

𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘𝜕𝜕𝑤𝑤𝑘𝑘𝑗𝑗

• unit k의 ‘𝛿𝛿𝑘𝑘’: Delta rule [(𝑡𝑡𝑘𝑘 − 𝑧𝑧𝑘𝑘)]• unit의 net 활성화에 따라 전반적 에러가 어떻게 바뀌는지 묘사

(LSE, 오차)

14) 𝑖𝑖𝑛𝑛𝑙𝑙𝑡𝑡𝑙𝑙: −𝛿𝛿𝑘𝑘 =𝜕𝜕𝐽𝐽

𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘• 활성함수 𝑓𝑓(. )가 미분 가능하다 가정: (5) 𝑧𝑧𝑘𝑘 = 𝑓𝑓(𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘),

9 𝐽𝐽 = 12∑𝑘𝑘=1𝑐𝑐 𝑡𝑡𝑘𝑘 − 𝑧𝑧𝑘𝑘 2에 기반하여, 출력 unit에 대한 𝛿𝛿𝑘𝑘는 다음

과 같음

15) 𝛿𝛿𝑘𝑘 = −𝜕𝜕𝐽𝐽

𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘= −

𝜕𝜕𝐽𝐽𝜕𝜕𝑧𝑧𝑘𝑘

𝜕𝜕𝑧𝑧𝑘𝑘𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘

= 𝑡𝑡𝑘𝑘 − 𝑧𝑧𝑘𝑘 𝑓𝑓𝑓(𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘)

Page 29: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 29

Back Propagation cont`

• 𝑤𝑤𝑘𝑘𝑗𝑗최적화에 대한 𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘의 chain rule

13)𝜕𝜕𝐽𝐽𝜕𝜕𝑤𝑤𝑘𝑘𝑗𝑗

=𝜕𝜕𝐽𝐽

𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘𝜕𝜕𝑤𝑤𝑘𝑘𝑗𝑗

• 우변의 마지막 미분식은 (4) 𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘 = 𝑤𝑤𝑘𝑘𝑇𝑇𝑙𝑙를 이용𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘𝜕𝜕𝑤𝑤𝑘𝑘𝑗𝑗

= 𝑙𝑙𝑗𝑗

• Hidden-to-output의 weight를 위한 학습룰17) ∆𝑤𝑤𝑘𝑘𝑗𝑗 = 𝑡𝑡𝑘𝑘 − 𝑧𝑧𝑘𝑘 𝑓𝑓′ 𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘 𝑙𝑙𝑗𝑗

∴output unit이 선형일 경우• 즉, 𝑓𝑓 𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘 = 𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘, 𝑓𝑓′ 𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘 = 1• ∆𝑤𝑤𝑘𝑘𝑗𝑗 = 𝑡𝑡𝑘𝑘 − 𝑧𝑧𝑘𝑘 𝑙𝑙𝑖𝑖• 식 (17)은 LSE(Least Square Error)와 같음

• LSE: 𝑙𝑙𝑘𝑘+1 = 𝑙𝑙𝑘𝑘 + 𝜂𝜂𝑘𝑘 𝑏𝑏𝑘𝑘 − 𝑓𝑓(𝑙𝑙𝑘𝑘) 𝑙𝑙𝑘𝑘 , 𝑓𝑓 𝑙𝑙𝑘𝑘 = 𝑙𝑙𝑘𝑘𝑇𝑇𝑙𝑙𝑘𝑘

Page 30: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 30

Back Propagation cont`

• Back Prop. of Input-to-Hidden

• 𝑡𝑡𝑙𝑙𝑙𝑙𝑖𝑖𝑛𝑛𝑖𝑖𝑛𝑛𝑤𝑤 𝑛𝑛𝑙𝑙𝑙𝑙𝑛𝑛𝑙𝑙 "𝑤𝑤𝑗𝑗𝑖𝑖" 최적화 필요 (∴ 𝐽𝐽 𝑤𝑤 를𝑤𝑤로 최적화)

𝑖𝑖 𝑗𝑗 𝑘𝑘

𝑧𝑧: 𝑡𝑡 (𝑟𝑟𝑛𝑛𝑠𝑠𝑖𝑖𝑙𝑙𝑙𝑙𝑛𝑛)

𝑖𝑖𝑛𝑛𝑖𝑖𝑖𝑖𝑡𝑡 − 𝑡𝑡𝑛𝑛 − ℎ𝑖𝑖𝑖𝑖𝑖𝑖𝑛𝑛𝑛𝑛에대한𝑡𝑡𝑙𝑙𝑙𝑙𝑖𝑖𝑛𝑛𝑖𝑖𝑛𝑛𝑤𝑤 𝑛𝑛𝑙𝑙𝑙𝑙𝑛𝑛𝑙𝑙 "𝑤𝑤𝑗𝑗𝑖𝑖"를계산

Page 31: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 31

Back Propagation cont`

• Back Prop. of Input-to-Hidden

• (11) ∆𝑤𝑤𝑝𝑝𝑝𝑝 = −𝜂𝜂 𝜕𝜕𝐽𝐽𝜕𝜕𝑤𝑤𝑝𝑝𝑝𝑝과 chain rule 이용

18)𝜕𝜕𝐽𝐽𝜕𝜕𝑤𝑤𝑗𝑗𝑖𝑖

=𝜕𝜕𝐽𝐽𝜕𝜕𝑙𝑙𝑗𝑗𝑖𝑖

𝜕𝜕𝑙𝑙𝑗𝑗𝑖𝑖𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑗𝑗

𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑗𝑗𝜕𝜕𝑤𝑤𝑗𝑗𝑖𝑖

• 위 식에서 우변의 첫 항은 𝑤𝑤𝑘𝑘𝑗𝑗를 모두 포함

19)𝜕𝜕𝐽𝐽𝜕𝜕𝑙𝑙𝑗𝑗𝑖𝑖

=𝜕𝜕𝜕𝜕𝑙𝑙𝑗𝑗𝑖𝑖

12�𝑘𝑘=1

𝑐𝑐

𝑡𝑡𝑘𝑘 − 𝑧𝑧𝑘𝑘 2

= −�𝑘𝑘=1

𝑐𝑐

𝑡𝑡𝑘𝑘 − 𝑧𝑧𝑘𝑘𝜕𝜕𝑧𝑧𝑘𝑘𝜕𝜕𝑙𝑙𝑗𝑗

= −�𝑘𝑘=1

𝑐𝑐

𝑡𝑡𝑘𝑘 − 𝑧𝑧𝑘𝑘𝜕𝜕𝑧𝑧𝑘𝑘𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘

𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘𝜕𝜕𝑙𝑙𝑗𝑗

= −�𝑘𝑘=1

𝑐𝑐

𝑡𝑡𝑘𝑘 − 𝑧𝑧𝑘𝑘 𝑓𝑓′ 𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘 𝑤𝑤𝑘𝑘𝑗𝑗 = −�𝑘𝑘=1

𝑐𝑐

𝑤𝑤𝑘𝑘𝑗𝑗𝛿𝛿𝑘𝑘

9) 𝐽𝐽 𝑤𝑤 ≡12�𝑘𝑘=1

𝑐𝑐

𝑡𝑡𝑘𝑘 − 𝑧𝑧𝑘𝑘 2 =12 𝑡𝑡 − 𝑧𝑧 2

𝑧𝑧𝑘𝑘 = 𝑓𝑓 𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘

𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘 = �𝑗𝑗

𝑙𝑙𝑗𝑗𝑤𝑤𝑘𝑘𝑗𝑗

𝛿𝛿𝑘𝑘 = 𝑡𝑡𝑘𝑘 − 𝑧𝑧𝑘𝑘 𝑓𝑓′ 𝑛𝑛𝑛𝑛𝑡𝑡𝑘𝑘 𝑙𝑙𝑗𝑗

chain rule

𝛿𝛿𝑘𝑘

Page 32: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 32

Back Propagation cont`

• unit k의 ‘𝛿𝛿𝑗𝑗’ (식(19)와 식(18)에서의 두 번째 식)

20) 𝛿𝛿𝑗𝑗 ≡ 𝑓𝑓′ 𝑛𝑛𝑛𝑛𝑡𝑡𝑗𝑗 �𝑘𝑘=1

𝑐𝑐

𝑤𝑤𝑘𝑘𝑗𝑗𝛿𝛿𝑘𝑘

𝑓𝑓′ 𝑛𝑛𝑛𝑛𝑡𝑡𝑗𝑗 =𝜕𝜕𝑙𝑙𝑗𝑗𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑗𝑗

=𝜕𝜕𝑓𝑓 𝑛𝑛𝑛𝑛𝑡𝑡𝑗𝑗𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑗𝑗

• Input-to-hidden의 weight 학습

21) ∆𝑤𝑤𝑗𝑗𝑖𝑖 = 𝜂𝜂𝑥𝑥𝑖𝑖𝛿𝛿𝑗𝑗 = 𝜂𝜂 �𝑘𝑘=1

𝑐𝑐

𝑤𝑤𝑘𝑘𝑗𝑗𝛿𝛿𝑘𝑘 𝑓𝑓′ 𝑛𝑛𝑛𝑛𝑡𝑡𝑗𝑗 𝑥𝑥𝑖𝑖

𝑥𝑥𝑖𝑖: 18 의마지막 =𝜕𝜕𝑛𝑛𝑛𝑛𝑡𝑡𝑗𝑗𝜕𝜕𝑤𝑤𝑗𝑗𝑖𝑖

=𝜕𝜕∑𝑖𝑖 𝑥𝑥𝑖𝑖𝑤𝑤𝑗𝑗𝑖𝑖𝜕𝜕𝑤𝑤𝑗𝑗𝑖𝑖

= 𝑥𝑥𝑖𝑖

Page 33: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 33

결론

• Back propagation은 chain rule을 이용한 목적함수의미분 계산을 multi layer model에 적용한 gradient descent에 기반

• 모든 gradient descent와 마찬가지로 Back Prop.의 동작은 시작점에 의존

• 시작을 즉, weight init은 가급적 0을 피해야 함

• 식 (17)을 보면, unit k에서의 가중치 갱신은 (𝑡𝑡𝑘𝑘 − 𝑧𝑧𝑘𝑘)에 비례해야 함

• (𝑡𝑡𝑘𝑘 = 𝑧𝑧𝑘𝑘)는 weight 변화 X

• sigmoid function 𝑓𝑓𝑓(𝑛𝑛𝑛𝑛𝑡𝑡)는 항상 양의 수• (𝑡𝑡𝑘𝑘 − 𝑧𝑧𝑘𝑘)와 𝑙𝑙𝑗𝑗가 둘 다 양이면 output은 작고 가중치는 증가돼

야 함

Page 34: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab. 34

결론

• weight 갱신은 입력 값에 비례해야 함• 𝑙𝑙𝑖𝑖 = 0 이면, hidden unit “j”는 output과 error에 영향을 주지않음 𝑤𝑤𝑗𝑗𝑖𝑖의 변경은 해당 패턴의 error에 영향 없음

• feed forward의 일반화를 사용한 Back prop.의 일반화• input unit들은 bias unit 포함

• input unit들은 hidden unit 뿐만 아니라 output unit들에도 직접 연결 가능 (그림 참조)

• 각 층마다 다른 비선형성이 있음• NN [i-to-h: sigmoid, h-to-o: ReLU]

• 각 unit들은 그 자신의 비선형성을 가짐

• 각 unit들은 다른 학습률(∆𝑤𝑤)을 가짐

Page 35: Artificial Neural Network - Kangwoncs.kangwon.ac.kr/~parkce/seminar/Artificial Neural... · 2016-06-17 · I. ntelligent . S. oftware. Lab. 2. Artificial Neural Network • Input

Intelligent Software Lab.