๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ”ฅ/AI ๐Ÿค–

[1์ฃผ์ฐจ] ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ์ดˆ๋ชจ๋ธ : MLP

by narang111 2021. 9. 29.

 

MLP - Multi Layer Perceptron

๊ฐ€์žฅ ๊ธฐ์ดˆ๊ฐ€๋˜๋Š” Feed Forward ANN (artificial neuron network) ๋ชจํ˜•์ด๋‹ค. - ์ธ๊ณต์ง€๋Šฅ ๋ชจํ˜•์˜ ๊ธฐ๋ณธ!

 

 

MLP๋Š” ์„ธ๊ฐ€์ง€ ์š”์†Œ๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค

MLP

Input์—๋Š” input ๊ฐ’์ด ๋“ค์–ด๊ฐ€๊ณ 

Hidden์—์„œ๋Š” input์˜ ๊ด€๊ณ„๋“ค์„ ํ•™์Šตํ•œ๋‹ค.

 

 

๋น„์„ ํ˜• ๋ชจํ˜•์„ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋”ฅ๋Ÿฌ๋‹ ๋ชจํ˜•์ด๋‹ค.

์ผ๋ฐ˜ ARIMA ๋ชจํ˜•๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๋…ธ์ด์ฆˆ๋‚˜ Missing Value์—๋„ ์ž˜ ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฌ๋Ÿฌ ํ˜•ํƒœ์˜, ์—ฌ๋Ÿฌ๊ฐœ์˜ input ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. Multi-step ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

MLP์˜ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ์—์„œ์˜ ํ•œ๊ณ„

์ง€์†์ ์ธ ์ƒ๊ฐ์„ ํ•˜์ง€ ๋ชปํ•œ๋‹ค.

์˜ˆ๋ฅผ๋“ค์–ด ์˜ํ™”์˜ ๋งค ์ˆœ๊ฐ„ ์ผ์–ด๋‚˜๋Š” ์‚ฌ๊ฑด์„ ๋ถ„๋ฅ˜ํ•  ๋•Œ ์ด์ œ๊นŒ์ง€ ์ผ์–ด๋‚ฌ๋˜ ์‚ฌ๊ฑด์„ ๋ฐ”ํƒ•์œผ๋กœ ์˜ˆ์ธกํ•˜์ง€ ๋ชปํ•˜๊ณ  ์ˆœ๊ฐ„ ์ˆœ๊ฐ„์˜ ์ƒํ™ฉ๋งŒ์„ ํŒ๋‹จํ•˜์—ฌ ์˜ˆ์ธกํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค. RNN์€ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ์Šค์Šค๋กœ๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ์ด์ „ ๋‹จ๊ณ„์—์„œ ์–ป์€ ์ •๋ณด๊ฐ€ ์ง€์†์ ์œผ๋กœ ๊ธฐ์–ต๋˜๋„๋ก ํ•œ๋‹ค.

 

์ด๋Ÿฌํ•œ ๊ฒƒ๋“ค์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ MLP๋ณด๋‹ค๋Š” ๋ณต์žกํ•˜์ง€๋งŒ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋‚˜ context๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋”ฅ๋Ÿฌ๋‹ ๋ชจํ˜•์„ ๋ฐฐ์›Œ๋ณผ ๊ฒƒ์ด๋‹ค.

 

 

 

 

๋”ฅ๋Ÿฌ๋‹ ๊ธฐ์ดˆ ๊ตฌ์„ฑ

๋”ฅ๋Ÿฌ๋‹์€ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ๊ฒฐ์ •์„ ๋งŒ๋“ค์–ด๋‚ด๋Š” ์„ ํ˜• ๋ชจ๋ธ์˜ ์ผ๋ฐ˜ํ™”๋œ ๋ชจ์Šต์ด๋‹ค.

๋‹จ์ธต Perceptron - single layer

x๊ฐ’์„ ๋„ฃ์–ด์„œ y๋ฅผ ์˜ˆ์ธกํ•˜๊ณ  ์‹ถ์–ดํ•œ๋‹ค.

x๊ฐ’์ด ์—ฌ๋Ÿฌ ๊ฐœ ์ด๊ธฐ ๋•Œ๋ฌธ์— w๊ฐ’ (๊ธฐ์šธ๊ธฐ) ๊ฐ’๋“ค์„ ํ•™์Šตํ•˜๊ฒŒ ๋œ๋‹ค.

 

 

๋‹ค์ธต Perceptron

Hidden layer ๋ผ๋Š” ๋”ฅ๋Ÿฌ๋‹์˜ ํ•ต์‹ฌ ๊ตฌ์กฐ๊ฐ€ ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค!

MLP์—์„œ๋Š” ๋จผ์ € ์ค‘๊ฐ„ ๋‹จ๊ณ„๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” Hidden Unit์„ ๊ณ„์‚ฐํ•˜๊ณ  ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ์‚ฐ์ถœํ•˜๊ธฐ ์œ„ํ•ด

๋‹ค์‹œ ๊ฐ€์ค‘์น˜(w) ํ•ฉ์„ ๊ณ„์‚ฐํ•œ๋‹ค. ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ€์ค‘์น˜ ํ•ฉ์„ ๊ณ„์‚ฐํ• ๋•Œ์— ์ผ๋ฐ˜ ์„ ํ˜•๋ชจ๋ธ๋ณด๋‹ค ๊ฐ•๋ ฅํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด

๊ฐ hidden unit์˜ ๊ฐœ์ˆ˜๋ฅผ ์ •ํ•˜๊ณ  ์ด๋“ค์˜ ๊ฐ€์ค‘์น˜ ํ•ฉ์„ ๊ณ„์‚ฐ → "๋น„์„ ํ˜•" ํ™œ์„ฑ ํ•จ์ˆ˜(Activation Function) ์ ์šฉ→ ๊ฐ€์ค‘์น˜ ๊ฐ’์œผ๋กœ y ๋„์ถœ

 

์š”์•ฝ: x ๋„ฃ๊ณ  ๊ฐ€์ค‘์น˜ ๋„ฃ์–ด์„œ ๊ฐ’์„ ๋„์ถœํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ hidden unit์—์„œ ๊ฐ€์ค‘์น˜ ํ•ฉ์„ ํ•œ ๋ฒˆ ๋” ๊ณ„์‚ฐํ•˜๋„๋ก!

x์—์„œ y๋กœ ๋ฐ”๋กœ ๋„˜์–ด๊ฐ€๋Š” ๊ฒƒ์ด ์•„๋‹Œ x์—์„œ ์ค‘๊ฐ„ hidden ๊ฐ’์„ ๊ฑฐ์น˜๋ฉฐ ๋น„์„ ํ˜• ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•˜๊ณ  y๊ฐ’์„ ๋„์ถœํ•œ๋‹ค.

 

 

1) ๋‹จ์ธต                                                                     2) ๋‹ค์ธต(Hidden layer๊ฐ€ ํ•˜๋‚˜)

 

 

์™œ ๋”ฅ๋Ÿฌ๋‹์ด๋ผ๊ณ  ๋ถ€๋ฅด๋ƒ?

ํผ์…‰ํŠธ๋ก ์ด ์—ฌ๋Ÿฌ๊ฐ€์ง€ layer๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ์›ํ•˜๋Š” ๋งŒํผ ์Œ“์„ ์ˆ˜ ์žˆ๋‹ค!

๋Œ€๊ทœ๋ชจ์˜ ์‹ ๊ฒฝ๋ง์ด ์ƒ๊ธฐ๋ฉด์„œ ๋”ฅ๋Ÿฌ๋‹์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๊ฒŒ ๋˜์—ˆ๋‹ค.

 

RNN - Recurrent Neuron Network

- ๋˜ํ’€์ด๋˜๋Š”, ๋ฐ˜๋ณต๋˜๋Š”, ์žฌ๋ฐœ๋˜๋Š”

์‹œ๊ฐ„, ์ˆœ์„œ ๋ผ๋Š” ๊ฐœ๋…์ด ๋“ค์–ด๊ฐ„ ๋”ฅ๋Ÿฌ๋‹์˜ ๊ฐ€์žฅ ์ง€์ดˆ๊ฐ€ ๋˜๋Š” ๋ชจํ˜•์ด๋‹ค.

ํŠนํžˆ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด RNN์€ ๋ฌด์กฐ๊ฑด์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค๊ณ  ๋ด์•ผํ•œ๋‹ค.

 

๊ธฐ๋ณธ์ปจ์…‰

์ง€๊ธˆ ์ˆœ๊ฐ„(t) ๊ทธ ์ „ ์ˆœ๊ฐ„(t-1)์„ ๋ฐ”ํƒ•์œผ๋กœ (context)์ดํ•ดํ•œ๋‹ค.

๊ณผ๊ฑฐ๋ฅผ ์ƒ๊ฐํ•˜๊ณ  ๊ธฐ์–ตํ•˜๋ฉด์„œ ์ง€๊ธˆ์˜ ์ƒํ™ฉ์„ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

RNN์€ ์Šค์Šค๋กœ๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ์ด์ „ ๋‹จ๊ณ„์„œ ์–ป์€ ์ •๋ณด๊ฐ€ ์ง€์†์ ์œผ๋กœ ๊ธฐ์–ต๋˜๋„๋ก ํ•œ๋‹ค.

RNN

RNN์˜ ๊ตฌ์กฐ

RNN์€ ๊ธฐ์กด์˜ ANN๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๋ฉ์–ด๋ฆฌ์ง„ Unit๋“ค์ด ์ด๋ฃจ์–ด์ ธ์žˆ๋Š” ์‚ฌ์Šฌ์ด๋‹ค.

Input x_t๋ฅผ ๋ฐ›์•„์„œ h_t๋ฅผ ๋‚ด๋ณด๋‚ธ๋‹ค. ๋‹ค์Œ๋‹จ๊ณ„์—์„œ์˜ network๊ฐ€ ์ด์ „๋‹จ๊ณ„์˜ ์ •๋ณด๋ฅผ ๋ฐ›๋Š”๋‹ค๋Š”๊ฒƒ์„ ์˜๋ฏธ!

RNN unit chain

๊ฐ ์œ ๋‹›์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ณต์žกํ•œ ์ˆ˜ํ•™์‹์ด ๋‚˜์˜จ๋‹ค.

ํ•จ์ˆ˜์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ๊ฐœ๋…์ธ y=f(x) ๋ฅผ ๋ณธ๋”ฐ๊ณ  ์žˆ๋‹ค.

์ƒ‰๊น”์นœ ๋ถ€๋ถ„๋“ค์ด f(x)๋ฅผ ์ˆ˜์‹ํ•˜๋Š” ์ˆซ์ž๋“ค์ด๊ณ  ์ด ์ˆซ์ž๋“ค์„ ๋ฐ˜๋ณตํ•ด์„œ ํ•™์Šต์‹œํ‚จ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ๋‹ค.

์˜ˆ์ธกํ•˜๊ณ ์žํ•˜๋Š” ๊ฐ’: y_t

์˜ˆ์ธกํ•˜๊ธฐ์›ํ•˜๋Š” ์‹œ์ : t

์˜ˆ์ธก์˜ input๊ฐ’: h_t (์ „ ๋‹จ๊ณ„์˜ hidden unit ๊ฐ’ - ์ด์ „ ์ƒํƒœ๋กœ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ์˜ˆ์ธก)

 

 

์ดํ›„์˜ ๊ฐ•์˜์—์„œ ๋‚˜์˜ค๋Š”๋ฐ, activation function ์„ ํ†ตํ•ด์„œ ๋‹ค์Œ ๋‹จ๊ณ„์—์„œ์˜ hidden unit์ด ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค. (??)

 

์ง€๊ธˆ์˜ ์ƒํƒœ๊ฐ’(h_t)์€ ์ „ ๋‹จ๊ณ„์˜ hidden unit, state(h_t-1) ๊ฐ’์„ ๋ฐ›๊ณ  ์ง€๊ธˆ์˜ input ๊ฐ’(x_t)์„ ๋ฐ›์•„

์ง€๊ธˆ์˜ y๊ฐ’์„ ์˜ˆ์ธกํ•œ๋‹ค.

 

ํ˜„์žฌ์‹œ์ ์˜ input์ธ x_t๋งŒ์„ ๋ฐ›๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๊ณผ๊ฑฐ ์‹œ์ ์˜ ์ƒํƒœ์ธ h_{t-1} ์ด ๋“ค์–ด๊ฐ„๋‹ค.

์ด๋Ÿฌํ•œ ์ˆœ์„œ(sequence)๊ฐ€ ๋ฐ˜๋ณต๋˜๋ฉด์„œ t=0์˜ input๊ณผ ์ƒํƒœ๊ฐ€ ์–ด๋А์ •๋„๋Š” t์‹œ์ ๊นŒ์ง€ ๊ธฐ์–ต๋˜๊ณ  ์—ฐ๊ฒฐ๋˜์–ด์ง€๋ฉฐ ์–ด๋А์ •๋„ chain ํ˜•ํƒœ๋ฅผ ์ด๋ฃจ๊ฒŒ ๋œ๋‹ค.

 

 

 

RNN ์žฅ์ 

1) RNN์€ Sequence๊ธธ์ด์— ์ƒ๊ด€์—†์ด Input๊ณผ Output์„ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ๋‹ค.

One-to-One์˜ ๊ธฐ๋ณธ๊ฐœ๋…์„ ๋„˜์–ด์„œ์„œ One-to-many, many-to-one, many-to-many๋“ฑ

๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋ฅผ ๋ฐ›์•„๋“ค์ผ์ˆ˜ ์žˆ์–ด NLP(์ž์—ฐ์–ด ์ฒ˜๋ฆฌ-natural language processing)์— ํŠนํžˆ ํ™œ์šฉ๋„๊ฐ€ ๋†’๋‹ค.

2) sequence ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฌ๋‹ค. sequence๊ฐ€ ๋‹ค์ด๋‚˜๋ฏนํ•˜๋‹ค๋ฉด RNN ๋ชจํ˜•์ด ๊ธฐ์ดˆ๊ฐ€ ๋˜์–ด์•ผํ•œ๋‹ค.

 

์˜ˆ๋ฅผ๋“ค์–ด ์‚ฌ์ง„์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ๋‹จ์–ด๋“ค์„ ์˜ˆ์ธกํ• ์ˆ˜๋„, ์—ฌ๋Ÿฌ๋‹จ์–ด๋“ค๋กœ ํ•˜๋‚˜์˜ ์ˆซ์ž๋กœ ํ‘œํ˜„๋˜๋Š” ๊ฐ์„ฑ์ ์ˆ˜๋ฅผ ์˜ˆ์ธกํ• ์ˆ˜๋„, ๋‹จ์–ด๋“ค์„ ํ†ตํ•ด ๋‹ค์Œ๋‹จ์–ด๋“ค์„ ์˜ˆ์ธกํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด Google์˜ ์ด๋ฉ”์ผ ์ž๋™์™„์„ฑ ๊ธฐ๋Šฅ์ด ์ด๋Ÿฐ ๋ชจํ˜•์„ ํ†ตํ•ด ๊ตฌํ˜„๋  ์ˆ˜๋„ ์žˆ๋‹ค.

 

 

RNN ํ•œ๊ณ„

ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ์œ ์šฉํ•˜๊ณ  ์“ธ๋ชจ์žˆ๋Š” RNN์˜ ๋‹จ์ ์€ ์งง์€ ๊ธฐ๊ฐ„์— ์˜์กดํ•˜๊ฒŒ ๋˜๋Š” ๊ตฌ์กฐ์ƒ์˜ ๋ฌธ์ œ์— ์žˆ๋‹ค.

์˜ˆ๋ฅผ๋“ค์–ด "The clouds are in the sky"์˜ ๊ฒฝ์šฐ๋Š” sky๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ์œ„ํ•ด 4๋‹จ์–ด ์ „์˜ cloud์˜ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•œ๋ฐ ์ƒ๋Œ€์ ์œผ๋กœ ์งง์•„์„œ ํฐ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค. ํ•˜์ง€๋งŒ ํ˜„์žฌ์‹œ์ ์˜ ์ •๋ณด๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋” ๋งŽ์€ ๋ฌธ๋งฅ์„ ์ดํ•ดํ•˜๊ณ  ๋ฉ€๋ฆฌ์žˆ๋Š” ๋‹จ์–ด๋“ค์„ ๊ธฐ์–ตํ•  ํ•„์š”๊ฐ€ ์žˆ์„์ˆ˜ ์žˆ๋‹ค. 

 

 

์ŠคํŒŒ๋ฅดํƒ€ ๊ฐ•์˜ ์˜ˆ์‹œ