[NLP] ์‹œํ€€์Šค ๋ชจ๋ธ - RNN, LSTM, GRU

2023. 11. 6. 16:56ใ†ML&DL/NLP

 

๐Ÿ“Œ

FFNN์€ ์ธ๊ณต ์‹ ๊ฒฝ๋ง์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ํ˜•ํƒœ์ด๋ฉฐ, MLP๋Š” ๋‹ค์ธต ํผ์…‰ํŠธ๋ก ์„ ๋œปํ•˜๋ฉฐ ์€๋‹‰์ธต์ด ์žˆ๋Š” FFNN ์œ ํ˜• ์ค‘ ํ•˜๋‚˜.

 

RNN์€  FFNN๊ณผ ๋‹ฌ๋ฆฌ ์ˆœํ™˜ ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด์ „ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ํ˜„์žฌ ์ž‘์—…์— ๋ฐ˜์˜ํ•˜๋ฏ€๋กœ ์ˆœ์ฐจ์ ์ธ ๋ฐ์ดํ„ฐ์— ํšจ๊ณผ์ ์ž„.

+) RNN์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ LSTM ๋ชจ๋ธ , LSTM์„ ๊ฐœ์„ ํ•œ GRU ๋ชจ๋ธ ๋“ฑ ๋‹ค์–‘ํ•œ ์‹œํ€€์Šค ๋ชจ๋ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

1. Feed Forward Neural Network (์ˆœ๋ฐฉํ–ฅ ์‹ ๊ฒฝ๋ง)

 

 

- ์ธ๊ณต์‹ ๊ฒฝ๋ง์˜ ์ตœ์ดˆ ์œ ํ˜•์ด์ž. ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํ˜•ํƒœ

- MLP๋Š” FFNN(Feed Forward Neural Network)์˜ ํ•œ ์œ ํ˜• 

- ์ž…๋ ฅ ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ์ถœ๋ ฅ ๋…ธ๋“œ ๋ฐฉํ–ฅ์œผ๋กœ ํ•œ ๋ฐฉํ–ฅ(์ˆœ๋ฐฉํ–ฅ)์œผ๋กœ๋งŒ ์›€์ง์ž„. 

- ์ž…๋ ฅ์ธก -> ์€๋‹‰์ธต -> ์ถœ๋ ฅ์ธต 

 

- ๋‹จ์ธต ํผ์…‰ํŠธ๋ก  (์€๋‹‰ ๋…ธ๋“œ x)

- ๋‹ค์ธต ํผ์…‰ํŠธ๋ก  (์€๋‹‰ ๋…ธ๋“œ o)

 

2. RNN(Recurrent Neural Network) - ์ˆœํ™˜ ์‹ ๊ฒฝ๋ง

 

 

- ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์„ ์‹œํ€€์Šค ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ์‹œํ€€์Šค(Sequence) ๋ชจ๋ธ

- ์ž…๋ ฅ์˜ ๊ธธ์ด๋งŒํผ ์‹ ๊ฒฝ๋ง์ด ํŽผ์ณ์ง

- ์ž…๋ ฅ๋ฐ›๋Š” ๊ฐ ์ˆœ๊ฐ„์„ ์‹œ์ (time step) ์ด๋ผ๊ณ  ํ•จ  - ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ์—์„œ ๊ฐ ์‹œ์ ์˜ ์ž…๋ ฅ์€ ๋‹จ์–ด ๋ฒกํ„ฐ or ํ˜•ํƒœ์†Œ ๋ฒกํ„ฐ

- ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์˜ ๊ธธ์ด์— ๋”ฐ๋ผ RNN ํ˜•ํƒœ๊ฐ€ ๋‹ฌ๋ผ์ง (์ผ๋Œ€๋‹ค/ ๋‹ค๋Œ€์ผ/๋‹ค๋Œ€๋‹ค)

ex) ์ผ๋Œ€๋‹ค - ์‚ฌ์ง„์˜ ์ œ๋ชฉ(์ด๋ฏธ์ง€ ์บก์…”๋‹) , ๋‹ค๋Œ€์ผ - ์ŠคํŒธ ๋ฉ”์ผ ๋ถ„๋ฅ˜, ๋‹ค๋Œ€๋‹ค - ์ฑ—๋ด‡

 

 

์…€(cell)

- ์€๋‹‰์ธต์— ์žˆ๋Š” RNN์˜ ์ฒ˜๋ฆฌ ๋‹จ์œ„.

- ์…€์˜ ์ถœ๋ ฅ์„ ์€๋‹‰ ์ƒํƒœ(hidden state) ๋ผ๊ณ  ํ•จ

- RNN์€ ์‹œ์ (time step)์— ๋”ฐ๋ผ์„œ ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋ฐ ํ˜„์žฌ ์‹œ์ ์˜ ์—ฐ์‚ฐ์„ ์œ„ํ•ด ์ง์ „ ์‹œ์ ์„ ์ž…๋ ฅ ๋ฐ›์Œ 

-> RNN์€ ๊ณผ๊ฑฐ์˜ ์ •๋ณด๋ฅผ ํ˜„์žฌ์— ๋ฐ˜์˜ํ•˜์—ฌ ํ•™์Šตํ•˜๋Š” ๋ชจ๋ธ. ์ˆœ์ฐจ์ ์ธ ๋ฐ์ดํ„ฐ์— ํšจ๊ณผ์ ์ž„

 

RNN ์˜ ๋ฌธ์ œ์ 

- ์žฅ๊ธฐ ์˜์กด์„ฑ ๋ฌธ์ œ : ์‹œ์ ์ด ๊ธธ์–ด์ง€๋ฉด์„œ ์•ž์— ์žˆ๋˜ ์ •๋ณด๊ฐ€ ์†Œ์‹ค๋˜๋Š” ๋ฌธ์ œ

 

3. LSTM (Long Short-Term Memory)

 

 

- ๊ธฐ์กด RNN์„ ๋ณ€ํ˜•ํ•˜์—ฌ ์žฅ๊ธฐ ์˜์กด์„ฑ ๋ฌธ์ œ๋ฅผ ๋ณด์™„ํ•œ ๋ชจ๋ธ

- RNN ๋ณด๋‹ค ๊ธด ์‹œํ€€์Šค์˜ ์ž…๋ ฅ์„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํƒ์›”ํ•œ ์„ฑ๋Šฅ์„ ๋ณด์ž„

- RNN์— ์—†์—ˆ๋˜ Cell State ๋ผ๋Š” ๊ฐœ๋…์ด ์ถ”๊ฐ€ (RNN์€ hidden state๋งŒ, LSTM ์€ hidden state+Cell State )

- ์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜ (0~1) ์—์„œ  ํ•˜์ดํผ๋ณผ๋ฆญํƒ„์  ํŠธ ํ•จ์ˆ˜(-1 ~ 1 ) ์ง€๋‚˜์˜จ ๋‘ ๊ฐ€์ง€ ๊ฐ’์„ Cell state ์— ๋ฐ˜์˜

 

์‚ญ์ œ ๊ฒŒ์ดํŠธ / ์ž…๋ ฅ ๊ฒŒ์ดํŠธ /  ์ถœ๋ ฅ ๊ฒŒ์ดํŠธ

- ์‚ญ์ œ ๊ฒŒ์ดํŠธ : ์ด์ „ ์‹œ์ ์˜ ์ž…๋ ฅ์„ ์–ผ๋งˆ๋‚˜ ๋ฐ˜์˜ํ• ์ง€ ๊ฒฐ์ •

- ์ž…๋ ฅ ๊ฒŒ์ดํŠธ : ํ˜„์žฌ ์‹œ์ ์˜ ์ž…๋ ฅ์„ ์–ผ๋งˆ๋‚˜ ๋ฐ˜์˜ํ• ์ง€ ๊ฒฐ์ • 

- ์ถœ๋ ฅ ๊ฒŒ์ดํŠธ : Hidden State๋ฅผ ์—ฐ์‚ฐํ•˜๋Š” ์ผ์— ์‚ฌ์šฉ

 

 

4. GRU(Gated Recurrent Unit)

 

- LSTM์˜ ๋ณต์žก๋„๋ฅผ ์ค„์ธ ๋ชจ๋ธ. 

- 3๊ฐœ์˜ ๊ฒŒ์ดํŠธ๊ฐ€ ์žˆ๋Š” LSTM์™€ ๋‹ฌ๋ฆฌ 2๊ฐœ์˜ ๊ฒŒ์ดํŠธ๊ฐ€ ์žˆ์Œ (์—…๋ฐ์ดํŠธ ๊ฒŒ์ดํŠธ, ๋ฆฌ์…‹ ๊ฒŒ์ดํŠธ)