์˜ค๋ธŒ ๐Ÿง™‍โ™‚๏ธ 2024. 7. 29. 01:30

https://www.youtube.com/watch?v=HXa7Ah87_gM

* ์œ„ ์˜์ƒ์„ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ์‹œ ๋ง์”€ํ•ด ์ฃผ์„ธ์š”! *


LSTM์€,

- ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. 

- RNN์˜ ์žฅ๊ธฐ์˜์กด์„ฑ ๋ฌธ์ œ ์•ฝ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์™”๋‹ค. => LSTM์˜ ์…€ ์ƒํƒœ (Cell State, CS)๋ผ ๋ถˆ๋ฆฌ๋Š” ์ •๋ณด๊ฐ€ ํ•ต์‹ฌ์ 

 

RNN์˜ ์•ฝ์ , ์žฅ๊ธฐ์˜์กด์„ฑ

 

์ฒด์ธ๋ฃฐ์ด ๊ณ„์†ํ•ด์„œ ๋Š˜์–ด๋‚จ.-> ๊ธฐ์šธ๊ธฐ๊ฐ€ ์ž‘์•„์ง -> ํ•™์Šต์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์ด ๋ฏธ๋ฏธํ•˜๋‹ค๋Š” ๋œป -> ์‹œ๊ฐ„์ ์œผ๋กœ ๋จผ ์ž…๋ ฅ๊ฐ’์ผ์ˆ˜๋ก ํ•™์Šต์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์ด ์ž‘์•„์ง

ex. don't / underestimate / your / inner / strength์„ ๋ฒˆ์—ญ => ๋‹น์‹ ์˜ / ๋‚ด๋ฉด์˜ / ํž˜์„ / ๊ณผ์†Œํ‰๊ฐ€ํ•˜์ง€ / ๋งˆ์„ธ์š”

don't์™€ ๋งˆ์„ธ์š”๋Š” ์˜๋ฏธ์ ์œผ๋กœ ๊ฐ€๊น์ง€๋งŒ, ์ด๋Ÿฌํ•œ ๊ด€๊ณ„๊ฐ€ ๋ฐ˜์˜๋˜์ง€ ์•Š๊ณ  ํ•™์Šต๋œ๋‹ค๋ฉด ์ •ํ™•๋„๊ฐ€ ๋†’์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค. 

 

- RNN๊ณผ ๋‹ค๋ฅด๊ฒŒ 4๊ฐœ์˜ ๊ฒŒ์ดํŠธ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ( forget, input, candidate, output gate)

1. forget gate

- ์–ด๋–ค ์ •๋ณด๋ฅผ ์ง€์šธ์ง€ ๊ฒฐ์ •ํ•œ๋‹ค

- ์ง€๋‚œ ์€๋‹‰์ƒํƒœ์™€ ํ˜„์žฌ์ž…๋ ฅ๊ฐ’์„ concatenate(์ธ๊ฐ€)ํ•œ๋‹ค.

concatenate๋Š” ๋‘ ํ–‰๋ ฌ์„ ๋‚˜๋ž€ํžˆ ํ•œ ๊ฐœ์˜ ํ–‰๋ ฌ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. [123] [456] => [123456]

concatenate ๋œ ํ˜„์žฌ ์ž…๋ ฅ๊ฐ’์€ ์ด์ „ ์€๋‹‰์ƒํƒœ์™€ ํ˜„์žฌ ์ž…๋ ฅ๊ฐ’์ด ํ•œ๋ฐ ๋ฌถ์ธ ์ผ์ข…์˜ ๋‹จ๊ธฐ๊ธฐ์–ต์ฒ˜๋Ÿผ ๋œ๋‹ค.

 

- ํ˜„์žฌ์ž…๋ ฅ๊ฐ’์€ ๋ชจ๋“  ๊ฒŒ์ดํŠธ๋“ค์˜ ์ž…๋ ฅ๊ฐ’์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

- ์•ˆ์— ์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ์‹œ๊ทธ๋ชจ์ด๋“œ๋Š” 0,1 ์‚ฌ์ด๊ฐ’๋งŒ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. 

๋“ค์–ด์˜ค๋Š” ์ž…๋ ฅ๊ฐ’์„(๋ฐ”๋กœ ์•ž์˜ ๊ณผ๊ฑฐ, ํ˜„์žฌ) ๋ฐ›์•„์„œ ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•œ ๋’ค, 0,1 ์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.

- ๋ฐ”๋€ ๊ฐ’๋“ค์€ CS ๊ฐ’์„ ๋งŒ๋‚˜, element-wise ์—ฐ์‚ฐ์„ ํ•˜๊ฒŒ ๋œ๋‹ค.

element-wise ์—ฐ์‚ฐ์€ ๋‘ ํ–‰๋ ฌ์„ ๊ณฑํ•˜๋Š”๋ฐ ๊ฐ๊ฐ์˜ ์›์†Œ ๋ณ„๋กœ ๊ณฑํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. 

- ์ด ๊ณผ์ •์„ ํ†ตํ•ด ๊ฒŒ์ดํŠธ๋ฅผ ์ง€๋‚˜๋ฉด์„œ ์žŠ์–ด๋ฒ„๋ ค์•ผ ํ•  ๊ฒƒ๋“ค์€ ์žŠ์–ด๋ฒ„๋ฆฌ๊ฒŒ ๋œ๋‹ค.

 

2. input gate

- forget gate์™€ ์—ฐ์‚ฐ๊ณผ์ •์€ ๋™์ผํ•˜๋‹ค.(๊ฐ€์ค‘์น˜๊ฐ’๋งŒ ๋‹ค๋ฆ„)

- candidate gate์™€ ๊ฐ™์ด ์—ฐ์‚ฐํ•ด์„œ ์…€์ƒํƒœ๋ฅผ ๊ธฐ์–ตํ•ด์•ผํ•  ๊ฒƒ๋“ค๋กœ ์—…๋ฐ์ดํŠธํ•œ๋‹ค. 

 

3. candidate gate

- ๋‚ด๋ถ€ ์—ฐ์‚ฐ์ด ์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜๊ฐ€ ์•„๋‹Œ tanh ํ•จ์ˆ˜์ด๋‹ค.

tanhํ•จ์ˆ˜๋Š” ๋“ค์–ด์˜ค๋Š” ๊ฐ’์„ -1๊ณผ 1 ์‚ฌ์ด์˜ ๊ฐ’์„ ๋ฐ”๊พธ์–ด ์ค€๋‹ค.

- ์ž…๋ ฅ๊ฐ’์— ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•œ ๋’ค, ๊ณ„์‚ฐ๊ฐ’์˜ ๊ทน์„ฑ์€ ๋ณด์กดํ•˜๊ณ , ๋ฒ”์œ„๋ฅผ -1~1 ์‚ฌ์ด๊ฐ€ ๋˜๋„๋ก ์ •๊ทœํ™”ํ•œ๋‹ค.

input gate์—์„œ ๋‚˜์˜จ 0~1 ์‚ฌ์ด์˜ ๊ฐ’๋“ค๊ณผ element-wise ์—ฐ์‚ฐ์„ ํ†ตํ•ด์„œ ์–ด๋–ค ๊ฐ’์€ 0์œผ๋กœ ๋งŒ๋“ค๊ณ , ์–ด๋–ค ๊ฐ’์€ ๊ทธ๋Œ€๋กœ ๋†”๋‘๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ๊ทธ๋Œ€๋กœ ๋†”๋‘๊ฒŒ ๋˜๋Š” ๊ฐ’๋“ค์€ ํ˜„์žฌ ์ž…๋ ฅ ์ค‘ ๊ธฐ์–ตํ•ด์•ผ ํ•  ๋ถ€๋ถ„์ด ๋œ๋‹ค. ๋‚จ์€ ๊ฐ’๋“ค์„ ์…€์ƒํƒœ์— ๋”ํ•˜์—ฌ ์—…๋ฐ์ดํŠธํ•˜๊ฒŒ ๋œ๋‹ค.

 

4. output gate

tanh์™€ ํ˜‘๋ ฅํ•ด ์—…๋ฐ์ดํŠธ๋œ ์…€ ์ƒํƒœ์—์„œ ํ˜„์žฌ ์ž…๋ ฅ๊ฐ’์˜ ํŠน์„ฑ์„ ๋” ๋ฐ˜์˜ํ•˜๋Š” ์ƒˆ๋กœ์šด ํžˆ๋“  ์ƒํƒœ๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๋Š” ๊ฒƒ

ํžˆ๋“ ์ƒํƒœ๋Š” ์…€์ƒํƒœ์— ๋น„ํ•ด ์ข€ ๋” short-termํ•œ ํŠน์„ฑ์„ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค. ์ด๋Š” ๊ฐ™์€ ์ž…๋ ฅ์œผ๋กœ๋„ short-term์— ๋” ๊ฐ€๊นŒ์šด ์ •๋ณด๋ฅผ ๋‹ด๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. 

 

์—ญ์ „ ํŒŒ๋Š” ์†์‹คํ•จ์ˆ˜์— ๋Œ€ํ•œ ๊ฐ๊ฐ์˜ ๋ฏธ๋ถ„๊ฐ’์„ ๊ตฌํ•œ๋‹ค.(์ฒด์ธ๋ฃฐ๋กœ)