๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Deep Learning/2023 DL ๊ธฐ์ดˆ ์ด๋ก  ๊ณต๋ถ€

[๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹ 2] chap4(word2vec ์†๋„ ๊ฐœ์„ )

by ์ œ๋ฃฝ 2023. 7. 9.
728x90
๋ฐ˜์‘ํ˜•

 

  1. Embedding ๊ณ„์ธต
  1. negative sampling ์†์‹คํ•จ์ˆ˜ ๋„์ž…
๊ธฐ์กด word2vec์˜ ๋ฌธ์ œ์ 
  • ์–ดํœ˜๊ฐ€ 100๋งŒ๊ฐœ๋กœ ๋Š˜์–ด๋‚˜๊ฒŒ ๋  ๊ฒฝ์šฐ,
  • [1] ์ž…๋ ฅ์ธต์˜ ์›ํ•ซ ํ‘œํ˜„๊ณผ ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌ W_in ์˜ ๊ณฑ ๊ณ„์‚ฐ : 4.1 ์ž„๋ฒ ๋”ฉ ๊ณ„์ธต ๊ตฌํ˜„์œผ๋กœ ํ•ด๊ฒฐ
  • [2] ์€๋‹‰์ธต๊ณผ ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌ W_out์˜ ๊ณฑ ๋ฐ Softmax ๊ณ„์ธต์˜ ๊ณ„์‚ฐ : 4.2 ๋„ค๊ฑฐํ‹ฐ๋ธŒ ์ƒ˜ํ”Œ๋ง์œผ๋กœ ํ•ด๊ฒฐ
1. Embedding ๊ณ„์ธต
  • matmul ๊ณ„์ธต์„ ๋ณด๋ฉด, ํ•ด๋‹น ์›ํ•ซ๋ฒกํ„ฐ์— ๋งž๋Š” ๋ฒกํ„ฐ๋ฅผ ๋ฝ‘์•„๋‚ด๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Œ → ๋”ฐ๋ผ์„œ ํŠน์ • ํ–‰๋งŒ ์ถ”์ถœํ•˜์ž์˜ ์˜๋ฏธ๋กœ embedding ๊ณ„์ธต์„ ํ™œ์šฉ.
  • forward์˜ ๊ฒฝ์šฐ, index๋งŒ ๋„˜๊ฒจ ์€๋‹‰์ธต(h)๋ฅผ ์–ป๋Š”๋‹ค
  • backward ๋•Œ๋Š” dW ์—…๋ฐ์ดํŠธ ํ•ด์•ผํ•  index๊ฐ€ ๊ฒน์น˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ‘ํ• ๋‹น’์ด ์•„๋‹Œ ‘๋”ํ•˜๊ธฐ’๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค.
  • ์ค‘๋ณต๋˜๋Š” ๋‹จ์–ด์˜ ๊ฒฝ์šฐ(๋”ํ•ด์คŒ์œผ๋กœ์จ) ๋” ์ค‘์š”ํ•˜๋‹ค! ๋Š” ๊ฒƒ์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค. (๊ฐ•์กฐ์˜ ์˜๋ฏธ๋กœ)

ex) idx= 0 2 0 4์ธ ๊ฒฝ์šฐ

 

2. ( ๋‹ค์ค‘๋ถ„๋ฅ˜ → ์ด์ง„๋ถ„๋ฅ˜๋กœ)
  • ๊ธฐ์กด CBOW์˜ ๋ฌธ์ œ์ 
  1. ์€๋‹‰์ธต ๋‰ด๋Ÿฐ์˜ ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌ(Wout)์˜ ๊ณฑ
  1. softmax ๊ณ„์ธต์˜ ๊ณ„์‚ฐ

⇒ ๋‹ค์ค‘๋ถ„๋ฅ˜๋ฅผ ์ด์ง„๋ถ„๋ฅ˜๋กœ ๊ทผ์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•

ex) ๋งฅ๋ฝ์ด you์™€ goodbye์ผ ๋•Œ ํƒ€๊นƒ์€ say์ž…๋‹ˆ๊นŒ?

  • ์ฆ‰, ํƒ€๊นƒ ๋‹จ์–ด์— ํ•ด๋‹นํ•˜๋Š” index๋งŒ ํ™•๋ฅ ๋กœ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ž„.
  • say์— ํ•ด๋‹นํ•˜๋Š” ๋‹จ์–ด ๋ฒกํ„ฐ๋งŒ ์ถ”์ถœ.
  • ์€๋‹‰์ธต x ํ•ด๋‹น ๋‹จ์–ด ๋ฒกํ„ฐ์˜ ๊ณฑ → ๋‚˜์˜จ ๊ฐ’์ด ์ตœ์ข… ์ ์ˆ˜.
์‹œ๊ทธ๋ชจ์ด๋“œ / ๊ต์ฐจ ์—”ํŠธ๋กœํ”ผ ์˜ค์ฐจ ํ™œ์šฉ
  • ์ด์ง„ ๋ถ„๋ฅ˜์ด๊ธฐ์— ์‹œ๊ทธ๋ชจ์ด๋“œ๋กœ ๋ณ€๊ฒฝ
  • ์ „์ฒด ๊ทธ๋ฆผ
3. negative sampling
  • ์ด์ง„๋ถ„๋ฅ˜๋งŒ์œผ๋กœ๋Š” ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Œ
  • ๊ธ์ •์ ์ธ ์˜ˆ์— ๋Œ€ํ•ด์„œ๋งŒ ํ•™์Šตํ–ˆ์Œ
  • say๋งŒ์„ ๋Œ€์ƒ์œผ๋กœ ์ด์ง„ ๋ถ„๋ฅ˜.
  • ๋ถ€์ •์ (say) ์ œ์™ธํ•œ ๋‹จ์–ด์— ๋Œ€ํ•ด์„œ๋Š” sigmoid ์ถœ๋ ฅ์„ 0์— ๊ฐ€๊น๋„๋ก ๋งŒ๋“ฌ.
3-1) ๋„ค๊ฑฐํ‹ฐ๋ธŒ ์ƒ˜ํ”Œ๋ง์˜ ์ƒ˜ํ”Œ๋ง ๊ธฐ๋ฒ•
  • ๋ง๋ญ‰์น˜์˜ ํ†ต๊ณ„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ์ดˆ๋กœ ์ƒ˜ํ”Œ๋ง
  • ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ๋‹จ์–ด๋Š” ๋งŽ์ด ์ถ”์ถœ, ์ ๊ฒŒ ๋“ฑ์žฅํ•˜๋Š” ๋‹จ์–ด๋Š” ์ ๊ฒŒ ์ถ”์ถœ
  • ์ด๋•Œ ํฌ์†Œ ๋‹จ์–ด๋งŒ์„ ์ถ”์ถœํ•˜๋ฉด ์•ˆ๋˜๋Š” ์ด์œ :

์‹ค์ „์—์„œ๋„ ํฌ์†Œ๋‹จ์–ด๋Š” ๋งŽ์ด ์ถœํ˜„ํ•˜์ง€ ์•Š์Œ

๋“œ๋ฌธ ๋‹จ์–ด๋ฅผ ์ž˜ ์ฒ˜๋ฆฌํ•˜๋Š” ์ผ์˜ ๊ฒฝ์šฐ ์ค‘์š”๋„๊ฐ€ ๋‚ฎ์Œ

  • ๋”ฐ๋ผ์„œ ํ”ํ•œ ๋‹จ์–ด๋ฅผ ์ž˜ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€ ๊ฒฐ๊ณผ๋กœ ์ด์–ด์ง.
  • ์ด๋•Œ, ์ถœํ˜„ ๋นˆ๋„๊ฐ€ ๋‚ฎ์€ ๋‹จ์–ด์˜ ์„ ํƒ์„ ๋†’์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ํ™•๋ฅ  ๋ถ„ํฌ์—์„œ ๊ตฌํ•œ ๊ฐ’๋“ค 0.75 ์ œ๊ณฑํ•˜๊ณ  ํ•ด๋‹น ํ™•๋ฅ  ๊ฐ’์„ ๋‹ค์‹œ ๊ตฌํ•œ๋‹ค. → ์ถœํ˜„ ํ™•๋ฅ ์ด ๋‚ฎ์€ ๋‹จ์–ด๋ฅผ ๋ฒ„๋ฆฌ์ง€ ์•Š๊ธฐ ์œ„ํ•ด.
์ •๋ฆฌ
  • Embedding ๊ณ„์ธต์€ ๋‹จ์–ด์˜ ๋ถ„์‚ฐ ํ‘œํ˜„์„ ๋‹ด๊ณ  ์žˆ๋‹ค
  • word2vec์˜ ๊ฐœ์„ ์„ ์œ„ํ•ด ๋‹ค์Œ 2๊ฐ€์ง€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ๋‹ค.
    • Embedding ๊ณ„์ธต์—์„œ ํŠน์ • ๋‹จ์–ด์˜ index๋งŒ ๋ฝ‘์•„ ๊ณ„์‚ฐํ•˜๋„๋ก
    • Negative sampling์„ ํ†ตํ•ด ๋‹ค์ค‘ ๋ถ„๋ฅ˜๋ฅผ ์ด์ง„ ๋ถ„๋ฅ˜๋กœ, ๋ช‡ ๊ฐ€์ง€์˜ ๋‹จ์–ด๋“ค์˜ ํ™•๋ฅ ๊ฐ’๊ณผ Loss๋ฅผ ๊ณ„์‚ฐํ•˜๋„๋ก
    • wod2vec์˜ Embedding, ๋ถ„์‚ฐ ํ‘œํ˜„์—๋Š” ๋‹จ์–ด์˜ ์˜๋ฏธ๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๊ณ  ๋น„์Šทํ•œ ๋งฅ๋ฝ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋‹จ์–ด๋Š” Embedding ๊ณต๊ฐ„์—์„œ ์„œ๋กœ ๊ฐ€๊นŒ์ด ์œ„์น˜ํ•œ๋‹ค.
  • word2vec์˜ Embedding, ๋ถ„์‚ฐ ํ‘œํ˜„์„ ์ด์šฉํ•˜๋ฉด ์œ ์ถ” ๋ฌธ์ œ๋ฅผ ๋ฒกํ„ฐ์˜ ๋ง์…ˆ๊ณผ ๋บ„์…ˆ ๋ฌธ์ œ๋กœ ํ’€ ์ˆ˜ ์žˆ๋‹ค.
  • ์ „์ด ํ•™์Šต ์ธก๋ฉด์—์„œ ํŠนํžˆ ์ค‘์š”ํ•˜๋ฉฐ, ๋‹จ์–ด์˜ ๋ถ„์‚ฐ ํ‘œํ˜„์€ ๋‹ค์–‘ํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์ž‘์—…์— ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•