ํฌ์ŠคํŠธ

๐ŸŒ’ Neural Networks & Backpropagation Algorithm - ์‹ ๊ฒฝ๋ง & ์—ญ์ „ํŒŒ ์•Œ๊ณ ๋ฆฌ๋“ฌ

10, 11์ฐจ์‹œ

๐Ÿ’ซ Neural Networks & Backpropagation Algorithm - ์‹ ๊ฒฝ๋ง & ์—ญ์ „ํŒŒ ์•Œ๊ณ ๋ฆฌ๋“ฌ


์‹ ๊ฒฝ๋ง๊ณผ ์—ญ์ „ํŒŒ ์•Œ๊ณ ๋ฆฌ๋“ฌ
๋‰ด๋Ÿฐ๊ณผ ์‹œ๋ƒ…์Šค

๋ฐฐ์šฐ๋Š” ๊ฒƒ (๊ตฌ์กฐ, ํ•™์Šต ์•Œ๊ณ ๋ฆฌ๋“ฌ)
ํ•™์Šต ์•Œ๊ณ ๋ฆฌ๋“ฌ : Error Backpropagation Learning Algorithm ์—ญ์ „ํŒŒ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ๋“ฌ์„ ํ†ตํ•œ
Architectures ๊ตฌ์กฐ : Feed-Forward ์ „์ง„ ์ „ํŒŒ / Multi-Layer Neural Network ๋‹ค์ธต ์‹ ๊ฒฝ๋ง(๋‰ด๋Ÿฐ์ ์ธ) ๋„คํŠธ์›Œํฌ

์—ญ์ „ํŒŒ ์•Œ๊ณ ๋ฆฌ๋“ฌ์ด ์‹ ๊ฒฝ๋ง ์—ฐ๊ตฌ์— ๋ถ€ํ™œ์„ ์ผ์œผ์ผฐ๋‹ค?
@ Resurgence ๋ถ€ํ™œ

Topologies ์ด์ƒ = Architectures ๊ตฌ์กฐ

@ U ์ค‘๊ฐ„๊ณ ์‚ฌ ์ถœ์ œ : ์‹ ๊ฒฝ๋ง์˜ ์ผ๋ฐ˜ํ™”๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.
โ†’ ์‹ ๊ฒฝ๋ง์˜ ๊ฐ€์žฅ ํฐ ํŠน์ง• : ์ผ๋ฐ˜ํ™”

โ†’ @ ์ผ๋ฐ˜ํ™”์— ์˜ํ•ด ๊ฐˆ๋ผ์ง„
โ†’ @ ๊ธฐํ˜ธ์ฃผ์˜ : ๋…ผ๋ฆฌ/์ˆ˜ํ•™์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ
โ†’ @ ์—ฐ๊ฒฐ์ฃผ์˜ : ๊ฐ๊ฐ/๊ณ„์‚ฐ์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ
โ†’ @ ์ง€๊ธˆ์€ ์„œ๋กœ ์ž˜ ์„ž์ธ

โ†’ @ vs ์ถ”์ƒํ™”-๊ฐœ์ฒด์ง€ํ–ฅ
โ†’ @ ์ฑ…์„ ๋งŽ์ด ์ฝ์–ด๋ผ, ๊ฐ™์€ ์ƒ๊ฐ๋งŒํ•ด์„œ, ์ƒ๊ฐ์ด ๊ฒฝ์ง๋˜๋‹ˆ๊นŒ

@ U ์ค‘๊ฐ„๊ณ ์‚ฌ ์ถœ์ œ : ์ฃผ์–ด์ง„ ์‹ ๊ฒฝ๋ง์— ๋Œ€ํ•ด, ์ฃผ์–ด์ง„ ์ž…๋ ฅ๊ณผ ๊ฐ€์ค‘์น˜์— ๋”ฐ๋ฅธ ์ตœ์ข… ์ถœ๋ ฅ ๊ณ„์‚ฐ
โ†’ Feed-Forward ~

์ด๋Ÿฌํ•œ ์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋˜๋ƒ? (์‹œํ—˜ x)
โ†’ @ ์ด๋Ÿฌํ•œ ์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋˜๋ƒ?
โ†’ @ ๋‹ค์Œ ์ธต์˜ ๋‰ด๋Ÿฐ๊ณผ ๋ชจ๋‘ ์—ฐ๊ฒฐ๋œ๋‹ค โ†’ @ ๋งจ ์œ„, ๋งจ ์•„๋ž˜ ๋‰ด๋Ÿฐ ๋นผ๊ณ  ๋ชจ๋‘ ์ƒ๋žตํ•ด์„œ ๊ทธ๋ฆฌ๊ธฐ

๐Ÿ’ซ Neuron, Artificial Neuron, Neural Networks - ๋‰ด๋Ÿฐ, ์ธ๊ณต ๋‰ด๋Ÿฐ, ์‹ ๊ฒฝ๋ง


@ AI์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ~๊ฐœ๋‹ค
@ ์ธ๊ฐ„์˜ ์‹œ๋ƒ…์Šค๊ฐ€ ~๊ฐœ๋‹ค

@ Neuron - ๋‰ด๋Ÿฐ : ์ž…๋ ฅ N๊ฐœ, ์ถœ๋ ฅ์€ 1๊ฐœ
@ (์ถœ๋ ฅ - ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜๋กœ ๋‚˜๋ˆ ์ง€์ง€๋งŒ, ๊ฐ’์€ ๋˜‘๊ฐ™์€ ํ•˜๋‚˜์˜ ๊ฐ’)

Weight - W - ๊ฐ€์ค‘์น˜
โ†’ Like ์‹œ๋ƒ…์Šค
โ†’ Like ์ˆ˜๋„๊ผญ์ง€, ์‹ ํ˜ธ๋Ÿ‰ ํ†ต์ œ/์กฐ์ ˆ

  1. Weighted Sum (Xn), ์ž…๋ ฅ๋“ค์„ ๊ฐ๊ฐ€์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•ด X๋ฅผ ๊ตฌํ•˜๊ณ  ๋”ํ•จ
  2. Activation Function - ํ™œ์„ฑ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ตœ์ข… ๊ฐ’ yn ๊ณ„์‚ฐ
    • Weighted Sum (Xn)๊ฐ€ ๊ฒ๋‚˜ ํฌ๋‹ˆ๊นŒ ์ž‘๊ฒŒ ์ฐŒ๊ทธ๋Ÿฌ๋œจ๋ฆฌ๊ธฐ/์กฐ์ ˆํ•˜๊ธฐ

Neural Network - ๋‹ค์ธต ์‹ ๊ฒฝ๋ง

@ ์ธต(๋ ˆ์ด์–ด) 256๊ฐœ? ๋ช‡ ๋ฐฑ๊ฐœ?
@ ๋‡Œ๋„ ๋ ˆ์ด์–ด๊ฐ€ ๋‚˜๋‰จ (๋‰ด๋Ÿฐ ์ง‘์ค‘ or ์˜…์€)

์ค‘๊ฐ„์ธต(= ๊ตฌ ์€๋‹‰์ธต)

@ ์ž…๋ ฅ์ธต์˜ ๋‰ด๋Ÿฐ์€ ๋ชจ์–‘์ด ๋‹ค๋ฅด๋‹ค !?
@ โ†’ ๋ชจ๋“  ๋‰ด๋Ÿฐ์€ ์ž…๋ ฅ์„ ๋ฐ›์•„์„œ ๊ณ„์‚ฐ์„ ํ•˜๊ณ  ๋ฟŒ๋ฆฌ๋Š”๋ฐ,
@ โ†’ ์ž…๋ ฅ์ธต ๋‰ด๋Ÿฐ์€ ์ž…๋ ฅ์„ ๋ฐ›์•„์„œ ๋ฟŒ๋ฆฌ๊ธฐ๋งŒ ํ•จ
@ โ†’ ๋ฐ˜๋Œ€๋กœ ๋ณด๋ฉด, ์ž…๋ ฅ์„ ๋ฐ›์„ ๋•Œ ๊ฐ€์ค‘์น˜ W ๊ณฑํ•œ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ, ์ž…๋ ฅ์ธต์€ ๊ทธ๋ƒฅ ๊ฐ€์ ธ์˜ด
@ โ†’ So, (์—„๋ฐ€ํžˆ ๋งํ•˜๋ฉด) ์ž…๋ ฅ์ธต != ๋‰ด๋Ÿฐ

i๋ฒˆ์งธ ๋‰ด๋Ÿฐ๊ณผ j๋ฒˆ์งธ ๋‰ด๋Ÿฐ์„ ์ž‡๋Š” ๊ฐ€์ค‘์น˜ Wij

I.E. ๋Œ€ํ™” ์ธ๊ณต์ง€๋Šฅ์— ์งˆ๋ฌธ์„ ํ•˜๋ฉด, ๋ญ”๊ฐ€ ์ฒ˜๋ฆฌ๋˜๊ณ , ๋‹ต๋ณ€์ด ์˜ด
๋ฌดํŠผ ์‚ฌ์šฉํ•˜๋Š” ์ž…์žฅ์—์„œ๋Š” ๋‰ด๋Ÿด ๋„คํŠธ์›Œํฌ ์•ˆ์˜ ๊ณผ์ •/์›๋ฆฌ๋ฅผ ๋ชจ๋ฅธ์ฑ„ ์”€

์šฐ๋ฆฌ๋Š” (์ž…๋ ฅ, ์ถœ๋ ฅ) Pair๋งŒ ์ „๋‹ฌํ•˜๊ณ , ๊ทธ ๊ฐ€์ค‘์น˜ W๋ฅผ ์ฐพ๋Š” ๊ณผ์ •์„ AI๊ฐ€
์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฐ’์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ ์ง์ ‘ ๊ฐ€์ค‘์น˜ W๋ฅผ ์กฐ์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฑฐ๋ฉด ์•ˆ์“ฐ์ง€

์ถœ๋ ฅ ๊ณ„์‚ฐ ๋ฐฉํ–ฅ : โ†’
ํ•™์Šต ๋ฐฉํ–ฅ : โ†

๐Ÿ’ซ Backpropagation - ์—ญ์ „ํŒŒ


Feed-Forward
โ†’ ์ž…๋ ฅ์„ ๊ณ„์‚ฐํ•ด์„œ ์ถœ๋ ฅ์„ ์•ž์œผ๋กœ โ†’ ์•ž์œผ๋กœ โ†’
โ†’ Back Backpropagation (Forward propagation)

Feed-Back
์ž…๋ ฅ์„ ๊ณ„์‚ฐํ•ด์„œ ์ถœ๋ ฅ์„ ๋’ค๋กœ โ† ๋’ค๋กœ โ†

RNN, ์ˆœํ™˜ ์‹ ๊ฒฝ๋ง
โ†’ ํ•œ ์ธต์—์„œ ๋‹ค์Œ ์ธต์œผ๋กœ, ๋‰ด๋Ÿฐ์ด ์ถœ๋ ฅ์„ ํ•  ๋•Œ
โ†’ ์ž๊ธฐ ์ž์‹ ์—๊ฒŒ๋„ ์ถœ๋ ฅ๊ฐ’์„ ์ž…๋ ฅํ•จ (Feedback)

Backpropagation - (์˜ค๋ฅ˜) ์—ญ์ „ํŒŒ (ํ•™์Šต) ์•Œ๊ณ ๋ฆฌ๋“ฌ
โ†’ ์˜ค๋ฅ˜ : ์šฐ๋ฆฌ๊ฐ€ AI์—๊ฒŒ ์ค€ (์ž…๋ ฅ, ์ถœ๋ ฅ) ํŽ˜์–ด๋ž‘ ์ถœ๋ ฅ์ด ๋‹ค๋ฅธ ๊ฑฐ
โ†’ ์˜ค๋ฅ˜๋ฅผ ์ด์šฉํ•ด ๋‹ค์‹œ ๊ฐ€์ค‘์น˜๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ๋“ฌ

์ค‘๊ฐ„-์ถœ๋ ฅ์ธต ์‚ฌ์ด์˜ ๊ฐ€์ค‘์น˜ ์กฐ์ •
Wij = Wjk + โ–ณWjk
โ–ณ๋ธํƒ€Wjk๋ฅผ ์•„๋Š” ๊ฐ’๊ณผ (์ด์ƒ-์—๋Ÿฌ ์˜ค์ฐจ)๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ณ„์‚ฐ

์ž…๋ ฅ-์ค‘๊ฐ„์ธต ์‚ฌ์ด์˜ ๊ฐ€์ค‘์น˜ ์กฐ์ •
Wij = Wjk + โ–ณWjk
โ–ณ๋ธํƒ€Wjk๋ฅผ ์•„๋Š” ๊ฐ’๊ณผ (์ค‘๊ฐ„-์ถœ๋ ฅ์ธต ์‚ฌ์ด์˜ ๊ฐ€์ค‘์น˜ ์กฐ์ • ๊ณผ์ •์—์„œ ๊ตฌํ•œ ๊ฐ’)์„ ์ด์šฉํ•˜์—ฌ ๊ณ„์‚ฐ

โ†’ ์ž…๋ ฅ-์ค‘๊ฐ„์ธต ์‚ฌ์ด ๊ฐ€์ค‘์น˜๋ฅผ ๊ณ ์น˜๊ธฐ ์œ„ํ•ด์„œ,
โ†’ ์ค‘๊ฐ„-์ถœ๋ ฅ์ธต ์‚ฌ์ด ๊ฐ€์ค‘์น˜๋ฅผ ๋จผ์ € ๊ณ ์น˜๊ณ  ๋‚˜์˜จ ๊ฐ’์„ ์ด์šฉ
โ†’ = ์•ž์—์„œ ๊ณ„์‚ฐํ•œ ๊ฐ’์„ ์—ญ์œผ๋กœ (๋’ค๋กœ) ์ „ํŒŒํ•œ๋‹ค

๐Ÿ’ซ ~


์—ฌ๊ธฐ์„œ ๋ฌธ์ œ,
์—ฌ๋Ÿฌ ์ธต์„ ๊ฑฐ์ณ ์˜ฎ๊ฒจ์˜ค๋‹ค๋ณด๋ฉด ์ œ๋Œ€๋กœ ๋™์ž‘ ์•ˆํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€
โ†’ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ๊ฒŒ ๋”ฅ๋Ÿฌ๋‹

์•Œ๊ณ ๋ฆฌ๋“ฌ์„ ๋ณด๋ฉด ๊ทธ๋ƒฅ ๋”ํ•˜๊ธฐ๋งŒ ์žˆ์Œ (๊ณฑํ•˜๊ธฐ๋„ ๋”ํ•˜๊ธฐ)
โ†’ ๊ฐ„๋‹จํ•œ ๊ณ„์‚ฐ, ๊ทธ๋ž˜์„œ ํ•œ ๋ฒˆ์— ๋งŽ์€ ๋‹จ์ˆœ ๊ณ„์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ๋Š” GPU ์‚ฌ์šฉ

๋‹ต์„ ์•„๋Š” ๊ฒฝ์šฐ
๋‹ต์„ ๋ชจ๋ฅด๋ฉด ๊ฐ•ํ™”ํ•™์Šต, ๋น„์ง€๋„ ํ•™์Šต?

Neural Network ๋ชจ์˜ ์‹คํ—˜ - ์ฐธ๊ณ 

Sample Project - Game NPC AI
Health, Has-Knife, Has-Gun, Enemies ์ƒํƒœ์— ๋”ฐ๋ฅธ
Attack, Hide, Wander, Run ํ–‰๋™ ๊ฒฐ์ • ์•Œ๊ณ ๋ฆฌ๋“ฌ

์ด ๊ธฐ์‚ฌ๋Š” ์ €์ž‘๊ถŒ์ž์˜ CC BY 4.0 ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.