PyTorch๋กœ ๋ฐฐ์šฐ๋Š” ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ
๐Ÿฅ”

PyTorch๋กœ ๋ฐฐ์šฐ๋Š” ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ

ํŒ€์›
ํŒ€ ์ฃผ์ œ
NLP
ย 

PyTorch๋กœ ๋ฐฐ์šฐ๋Š” ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ

๐Ÿฅ”
์šฐ๋ฆฌ์™€ ํ•จ๊ป˜ ๋งํ•˜๋Š” ๊ฐ์ž๋ฅผ ํƒˆ์ถœํ•˜์ž!
๊ฐ•๋ˆํ˜(๋„๋…)
๊ตญ๋ฏผ๋Œ€ํ•™๊ต ์†Œํ”„ํŠธ์›จ์–ดํ•™๊ณผ
๋ฐ•์„ฑ๋ฏผ(๋ ˆ๋“œ)
์ค‘์•™๋Œ€ํ•™๊ต ์†Œํ”„ํŠธ์›จ์–ดํ•™๊ณผ
ํ•œ์ค€ํฌ(์ค€ํฌ)
์ดํ™”์—ฌ์ž๋Œ€ํ•™๊ต ์ „๊ธฐ์ „์ž๊ณตํ•™๋ถ€
ย 

๊ต์žฌ ์†Œ๊ฐœ

ใ€ŒํŒŒ์ดํ† ์น˜๋กœ ๋ฐฐ์šฐ๋Š” ์ž์—ฐ์–ด ์ฒ˜๋ฆฌใ€ - ํ•œ๋น›๋ฏธ๋””์–ด
์ด ์ฑ…์€ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์™€ ๋”ฅ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•™์Šต์— ํ•„์š”ํ•œ ์ง€์‹๋“ค์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๋˜ํ•œ ํŒŒ์ดํ† ์น˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๊ณผ์ •์—์„œ ๊ฒช์„ ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋“ค๊ณผ ์—ฌ๋Ÿฌ ๋ฐฉ์‹์˜ ํ…์ŠคํŠธ๋ฅผ ํ‘œํ˜„ํ•ด๋‚ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด์ค๋‹ˆ๋‹ค.
notion image
ย 
ย 

2์žฅ - ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ธฐ๋ณธ ์–ธ์–ด ๊ฐœ๋…

2์žฅ์—์„œ๋Š” ์ „ํ†ต์ ์ธ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(Natural Language Processing)์˜ ๊ฐœ๋…๊ณผ ๋ฐฉ๋ฒ•๋ก ์— ๋Œ€ํ•ด ๋‘˜๋Ÿฌ๋ด…๋‹ˆ๋‹ค. ์ •ํ™•ํžˆ๋Š” ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๋ถ„์•ผ๋กœ ๋ฐœ์ „ํ•˜๊ธฐ ์ „์˜ ๋ถ„์•ผ์ธ ์ „์‚ฐ ์–ธ์–ดํ•™ ์† ๊ฐœ๋…์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์•Œ์•„๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์Œ์„ฑ ์ธ์‹, ๋ฒˆ์—ญ, ๊ฐ์ • ๋ถ„์„, ์งˆ์˜ ์‘๋‹ต ๋“ฑ์„ ๊ฐœ๋ฐœํ•˜๋Š” ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๋ถ„์•ผ์™€ ๋‹ค๋ฅด๊ฒŒ, ์ „์‚ฐ ์–ธ์–ดํ•™์€ ์ปดํ“จํ„ฐ๊ฐ€ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์–ธ์–ด์˜ ํŠน์ง•์„ ์ดํ•ดํ•˜๋Š” ๋ถ„์•ผ์ž…๋‹ˆ๋‹ค. ์ „์‚ฐ ์–ธ์–ดํ•™์˜ ๊ฐœ๋…๋“ค์€ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ์˜ ๊ธฐ์ดˆ์ง€์‹์œผ๋กœ ํ™œ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์ „์‚ฐ ์–ธ์–ดํ•™์˜ ๊ฐœ๋…๋“ค์„ ์•Œ๋ฉด ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ๋ฅผ ๋”์šฑ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ย 
2-1 ๋ง๋ญ‰์น˜, ํ† ํฐ, ํƒ€์ž…
2-2 N-๊ทธ๋žจ
2-3 ํ‘œ์ œ์–ด์™€ ์–ด๊ฐ„
2-4 ๋ฌธ์žฅ๊ณผ ๋ฌธ์„œ ๋ถ„๋ฅ˜ : TF-IDF
2-5 ๋‹จ์–ด ๋ถ„๋ฅ˜ํ•˜๊ธฐ: ํ’ˆ์‚ฌ ํƒœ๊น…
2-6 ์ฒญํฌ ๋‚˜๋ˆ„๊ธฐ์™€ ๊ฐœ์ฒด๋ช… ์ธ์‹
2-7 ๋ฌธ์žฅ ๊ตฌ์กฐ
2-8 ๋‹จ์–ด ์˜๋ฏธ์™€ ์˜๋ฏธ๋ก 
ย 

5์žฅ - ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ๊ณผ CBOW

์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๋ถ„์•ผ์—์„œ๋Š” ์–ธ์–ด๋ฅผ ๋ฐ€์ง‘ ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„๋˜๋Š” ์ด์‚ฐ์ ์ธ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. โ€˜์ž„๋ฒ ๋”ฉ - Embeddingโ€™์ด๋ผ๋Š” ์šฉ์–ด๋Š” ์ด์‚ฐ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ์™€ ๋ฒกํ„ฐ ๊ณต๊ฐ„์˜ ์ ์„ ๋งคํ•‘ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ์ด๋ž€ N์ฐจ์›์˜ ๋ฒกํ„ฐ ๊ณต๊ฐ„์— ๋‹จ์–ด๋ฅผ ์ ์ ˆํ•œ ์œ„์น˜์— ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ, ๋” ์ ์€ ์ฐจ์›์˜ ๋ฒกํ„ฐ ๊ณต๊ฐ„์— ๋” ๋งŽ์€ ๋‹จ์–ด ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์„์ˆ˜๋ก ์—ฐ์‚ฐ์ด ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋ฒˆ ์žฅ์—์„œ๋Š” ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ๊ณผ ๊ด€๋ จ๋œ ๋ฒกํ„ฐ ํ‘œํ˜„, ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ ๋ฐฉ๋ฒ•, ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ์˜ ์ตœ์ ํ™”, ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ์„ ๋ฌธ์žฅ์ด๋‚˜ ๋ฌธ์„œ์™€ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ฉ๋‹ˆ๋‹ค!
ย 
5-1 ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ์˜ ์ค‘์š”์„ฑ
5-2 ์‚ฌ์ „ ํ›ˆ๋ จ๋œ ์ž„๋ฒ ๋”ฉ ๊ฐ€์ ธ์™€ ์‚ฌ์šฉํ•˜๊ธฐ
5-3 CBOW ์ž„๋ฒ ๋”ฉ ํ•™์Šตํ•˜๊ธฐ
5-4 ์‚ฌ์ „ ํ›ˆ๋ จ๋œ ์ž„๋ฒ ๋”ฉ์„ ํ™œ์šฉํ•œ ์ „์ด ํ•™์Šต
ย 

6์žฅ - ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์‹œํ€€์Šค ๋ชจ๋ธ๋ง - ์ดˆ๊ธ‰

์ด๋ฏธ์ง€๋‚˜ ๋ถ“๊ฝƒ ์ •๋ณด์™€ ๊ฐ™์€ ์ˆซ์ž ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š”, ์•ž๋’ค ๋ฐ์ดํ„ฐ๊ฐ„์˜ ์—ฐ๊ด€์„ฑ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋”ฐ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š”๊ฒŒ ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ์–ธ์–ด, ์Œ์„ฑ ๋“ฑ์˜ ๋ฐ์ดํ„ฐ์—์„œ๋Š” ๊ฐ ๋ฐ์ดํ„ฐ๋“ค์ด ์•ž๋’ค ๋ฐ์ดํ„ฐ์™€ ๊นŠ์€ ๊ด€๋ จ์ด ์žˆ์–ด ๋ณ„๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋กœ์จ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ์ฃผ์–ด์— ๋”ฐ๋ผ ๊ฐ™์€ ์˜๋ฏธ์˜ ๋™์‚ฌ๋ผ๋„ ๋‹ค๋ฅธ ํ˜•ํƒœ๋ฅผ ๋ณด์ด๋ฉฐ, ๋™์‚ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์•ž ์ฃผ์–ด ๋ฐ์ดํ„ฐ์— ํฐ ์˜์กด๋„๋ฅผ ๋ณด์ด๊ณ  ์žˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์นœ๊ตฌ๊ฐ€ ๋ฐฅ์„ ๋จน๋Š”๋‹ค. ์•„๋ฒ„์ง€๊ฐ€ ๋ฐฅ์„ ๋“œ์‹ ๋‹ค. ํ• ์•„๋ฒ„์ง€๊ฐ€ ์ง„์ง€๋ฅผ ์žก์ˆ˜์‹ ๋‹ค.
ย 
์ด๋Ÿฌํ•œ ์˜์กด๋„๋Š” ๋ฌธ์žฅ์—์„œ ๋‹จ์–ด ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๋ฉ€์–ด์ง€๋”๋ผ๋„ ์œ ์ง€๋˜์–ด์ง‘๋‹ˆ๋‹ค.
์ง„์ง€๋ฅผ ์žก์ˆ˜์‹ ๋‹ค๋ฉฐ ๋†€๊ณ ์žˆ๋˜ ๋‚˜์—๊ฒŒ ๊ฐ‘์ž‘์Šค๋ ˆ ๋งˆ๋‹น ์ฒญ์†Œ๋ฅผ ๋ถ€ํƒํ•˜์‹  ํ• ๋จธ๋‹ˆ๊ฐ€ ์ง€๊ธˆ ์ฃผ๋ฌด์‹ ๋‹ค.
ย 
์ด๋ ‡๊ฒŒ ์–ธ์–ด์ฒ˜๋Ÿผ ์ˆœ์„œ์— ๋Œ€ํ•œ ์˜์กด๋„๋ฅผ ๋ณด์ด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ ๋ฐ์ดํ„ฐ(Sequence Data)๋ผ๊ณ  ํ•˜๋ฉฐ, ์–ธ์–ด๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ ์‹œํ€€์Šค๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฅ๋Ÿฌ๋‹์—์„œ ์ด๋Ÿฌํ•œ ์‹œํ€€์Šค์— ๋Œ€ํ•œ ๋ชจ๋ธ๋ง์€ ์ƒํƒœ ์ •๋ณด ํ˜น์€ ์€๋‹‰์ƒํƒœ (Hidden State)๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ๊ณผ ์—ฐ๊ด€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์‹œํ€€์Šค์— ๋Œ€ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์‹œํ€€์Šค ํ‘œํ˜„(Sequence Representation)์ด๋ผ ๋ถ€๋ฅด๋Š” ํ•˜๋‚˜์˜ ๋ฒกํ„ฐ์— ๋‹ด์•„ ๋ถ„๋ฅ˜์™€ ์˜ˆ์ธก ๋“ฑ์˜ ๋‹ค์–‘ํ•œ task์— ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.
ย 
์ด๋ฒˆ ์žฅ์—์„œ๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์‹ ๊ฒฝ๋ง ์‹œํ€€์Šค ๋ชจ๋ธ๋กœ, RNN์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋”์šฑ ์นœ์ˆ™ํ•œ ์ˆœํ™˜ ์‹ ๊ฒฝ๋ง ๋ชจ๋ธ(Recurrent Neural Network)์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•˜๋ฉฐ ์–ธ์–ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ชจ๋ธ๊ณผ ๋ถ„๋ฅ˜ ์˜ˆ์ œ๋ฅผ ๊ณต๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ 7์žฅ์—์„œ ์‹œํ€€์Šค ๋ชจ๋ธ์„ ํ†ตํ•ด ์‹œํ€€์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค๋ฃฐ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
ย 
6-1 ์ˆœํ™˜ ์‹ ๊ฒฝ๋ง RNN
6-2 RNN ์‹ค์Šต : ์„ฑ์”จ ๊ตญ์  ๋ถ„๋ฅ˜ (1)
6-3 RNN ์‹ค์Šต : ์„ฑ์”จ ๊ตญ์  ๋ถ„๋ฅ˜(2)
ย 

7์žฅ - ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์‹œํ€€์Šค ๋ชจ๋ธ๋ง - ์ค‘๊ธ‰

์•ž์„œ ๊ณต๋ถ€ํ•œ 6์žฅ์—์„œ ์†Œ๊ฐœํ•œ ์—˜๋งŒ RNN์„ ์‹œํ€€์Šค ์˜ˆ์ธก ์ž‘์—…์— ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ์‹ค์ œ๋กœ ๊ธ€์ด ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ๊ฒฝ์šฐ ์˜์กด์„ฑ์„ ์ž˜ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž˜ ๋™์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ด๋ฒˆ ์žฅ์—์„œ๋Š” ๊ฒŒ์ดํŠธ ๋„คํŠธ์›Œํฌ๋ผ๋Š” ์ƒˆ๋กœ์šด RNN ๊ตฌ์กฐ๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ๊ทน๋ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
ย 
7-1 ์—˜๋งŒ RNN์˜ ๋ฌธ์ œ์ 
7-2 ๊ฒŒ์ดํŒ… : LSTM, GRU
7-3 ๋ฌธ์ž RNN์œผ๋กœ ์„ฑ์”จ ์ƒ์„ฑํ•˜๊ธฐ ์‹ค์Šต
7-4 ์‹œํ€€์Šค ๋ชจ๋ธ ํ›ˆ๋ จ ๋…ธํ•˜์šฐ
ย 

8์žฅ - ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์‹œํ€€์Šค ๋ชจ๋ธ๋ง - ๊ณ ๊ธ‰

์ด๋ฒˆ ์žฅ์—์„œ๋Š” ๊ธฐ๋ณธ์ ์ธ RNN ๋ชจ๋ธ์˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋ณ€ํ˜•ํ•˜์—ฌ ์˜ˆ์ธก ์„ฑ๋Šฅ์„ ๋Œ์–ด์˜ฌ๋ฆฐ ๋‹ค์–‘ํ•œ ๋ชจ๋ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ํŠนํžˆ ์ž์—ฐ์–ด์ฒ˜๋ฆฌ ์™ธ์˜ ์—ฌ๋Ÿฌ ๋ถ„์•ผ์—์„œ๋„ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ด๋ฉฐ ๋‹ค์–‘ํ•˜๊ฒŒ ์ ์šฉ๋˜๊ณ ์žˆ๋Š” ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ์˜ ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•ด์„œ๋„ ์ด๋ฒˆ ์žฅ์—์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
ย 
8-1 ์กฐ๊ฑด๋ถ€ ์ƒ์„ฑ ๋ชจ๋ธ, ์ธ์ฝ”๋”-๋””์ฝ”๋” ๋ชจ๋ธ, ์‹œํ€€์Šค-ํˆฌ-์‹œํ€€์Šค ๋ชจ๋ธ
8-2 ์–‘๋ฐฉํ–ฅ ์ˆœํ™˜๋ชจ๋ธ
8-3 ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜
8-4 ์‹œํ€€์Šค ๋ชจ๋ธ ํ‰๊ฐ€
8-5 ์‹ ๊ฒฝ๋ง ๊ธฐ๊ณ„ ๋ฒˆ์—ญ ์‹ค์Šต