machine learning ๋ชจ๋ธ์— ๋„ฃ์–ด ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ˆซ์ž ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ์ด์—ฌ์•ผ ํ•œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์ž์—ฐ์–ด์˜ ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ์ˆซ์ž๋กœ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ•™์Šต์ด ์ž˜ ์ด๋ค„์งˆ ์ˆ˜ ์žˆ์„๊นŒ?

 

  • one-hot embedding
  • featurized embedding
  • word embedding

 


์ฒซ ๋ฒˆ์งธ ์‹œ๋„ : one hot embedding

 

 

์ „์ฒด vocabulary๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ ,

๊ฐ๊ฐ์˜ ๋‹จ์–ด๋ฅผ ๊ฐ ๋‹จ์–ด์— ํ•ด๋‹นํ•˜๋Š” ์œ„์น˜์˜ ์›์†Œ๋งŒ 1, ๋‚˜๋จธ์ง€์˜ ์›์†Œ๋Š” 0์ธ one-hot vector๋กœ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€ ๋ฐฉ๋ฒ•์ผ๊นŒ?

 

์šฐ์„  ๊ฐ€์žฅ ์ƒ๊ฐํ•˜๊ธฐ ์‰ฌ์šด ๋ฐฉ๋ฒ•์ธ ๊ฒƒ์€ ๋งž๋‹ค.

ํ•˜์ง€๋งŒ ๋‹จ์–ด๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํŒŒ์•…ํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ๋งค์šฐ ํฐ ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค.

 

๋‹จ์–ด๊ฐ„์˜ ์œ ์‚ฌ์„ฑ์„ ํŒ๋‹จํ•˜๊ธฐ ์œ„ํ•ด cosine similarity๋‚˜ ๋ฒกํ„ฐ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ •ํ•˜๊ณค ํ•˜๋Š”๋ฐ,

์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๋‹จ์–ด๊ฐ„์˜ ๋‚ด์ ์„ ๊ตฌํ•˜๋ฉด 0์ด๊ณ , ๋ชจ๋“  ๋ฒกํ„ฐ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ ๋˜ํ•œ ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์—

์œ ์‚ฌ์„ฑ/๋น„์œ ์‚ฌ์„ฑ์„ ์ธก์ •ํ•  ์ˆ˜ ์—†๋‹ค. (๋„ˆ๋ฌด ํฐ ๋‹จ์ )

 


๋‘ ๋ฒˆ์งธ ์‹œ๋„ : featurized representation

 

๋‹จ์–ด์˜ ํŠน์ง•์„ ๊ตฌ๋ถ„ํ• ๋งŒํ•œ ํ•ญ๋ชฉ์„ ๊ณ ๋ฅธ ๋‹ค์Œ์— ๊ทธ ๊ด€๊ณ„๋ฅผ ์ˆ˜์น˜์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

gender์— ๋Œ€ํ•ด์„œ ๋‚จ์„ฑ์˜ ๊ฒฝ์šฐ ์Œ์ˆ˜๊ฐ’์„ ๋„๋„๋ก, ์—ฌ์„ฑ์˜ ๊ฒฝ์šฐ ์–‘์ˆ˜๊ฐ’์„ ๋„๋„๋ก ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์œ„์˜ ์‚ฌ์ง„์„ ๋ณด๋ฉด man, king๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ (-) ๊ฐ’์„ ๊ฐ€์ง€๊ณ , woman, queen๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ (+)๊ฐ’์„ ์ง€๋‹Œ๋‹ค.

๋ฐ˜๋ฉด, ์„ฑ๋ณ„ ๊ฐœ๋…์ด ์—†๋Š” apple, oragne์˜ ๊ฒฝ์šฐ 0์— ๊ฐ€๊นŒ์šด ๊ฐ’์„ ๊ฐ–๋Š”๋‹ค.

 

์œ„์—๋Š” ์˜ˆ์‹œ๋ฅผ ์œ„ํ•ด 4๊ฐ€์ง€ ํ•ญ๋ชฉ๋งŒ ๋‚˜์™€์žˆ์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ธฐ์ค€์„ ์„ ์ •ํ•ด์•ผ ํ•œ๋‹ค.

์ดํ›„ ์ด ๊ธฐ์ค€์— ๋งž๊ฒŒ ์ˆ˜์น˜๊ฐ’์„ ๋ถ€์—ฌํ•˜๋ฉด ๊ฐ ๋‹จ์–ด์— ๋Œ€์‘๋˜๋Š” ์—ด๋ฒกํ„ฐ๊ฐ€ ๋‹จ์–ด์˜ embedding vector๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

one-hot vector๋ณด๋‹ค๋Š” ๋‹จ์–ด๊ฐ„์˜ ์œ ์‚ฌ์„ฑ/๋น„์œ ์‚ฌ์„ฑ์„ ํฌ์ฐฉํ•˜๊ธฐ ์‰ฌ์›Œ์กŒ์ง€๋งŒ,

๊ฐ ๋‹จ์–ด๋ฅผ ์ด๋ ‡๊ฒŒ embeddingํ•˜๋Š” ๊ฒƒ์€ ์œ„์˜ ๋„ํ‘œ๋งŒ ๋ณด์•„๋„ ๊ฒฐ์ฝ” ์‰ฌ์šด ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ embedding ํ•ด์•ผ ์œ ์‚ฌ์„ฑ/๋น„์œ ์‚ฌ์„ฑ์„ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ + ์ข‹์€ embedding ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ์„๊นŒ?

 


์„ธ ๋ฒˆ์งธ ์‹œ๋„ : word embedding

 

word embedding์„ neural network๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•™์Šต์‹œํ‚ค์ž๋Š” ์•„์ด๋””์–ด๊ฐ€ ๋‚˜์˜ค๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค.

 

ํ•™์Šตํ•ด์„œ ์–ป๊ณ ์‹ถ์€ embedding vector๋Š” ์–ด๋–ค ๋ฒกํ„ฐ์ธ๊ฐ€?

  • ์ˆ˜๋งŽ์€ text data ์† ๋‹จ์–ด ์‚ฌ์ด์˜ ๋‹ค์–‘ํ•œ ๊ด€๊ณ„๋ฅผ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก
  • ๋‹จ์–ด์˜ ์œ ์‚ฌ์„ฑ/๋น„์œ ์‚ฌ์„ฑ์„ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก

์ด์ „์— face recognition ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃจ๋ฉด์„œ

๋™์ผํ•œ ์‚ฌ๋žŒ์„ ๋‚˜ํƒ€๋‚ธ ์ด๋ฏธ์ง€ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋Š” ์ตœ์†Œํ™”๋˜๋„๋ก, ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์„ ๋‚˜ํƒ€๋‚ธ ์ด๋ฏธ์ง€ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋Š” ์ตœ๋Œ€ํ™”๋˜๋„๋ก

neural network๋ฅผ ํ•™์Šตํ•œ๋‹ค๊ณ  ํ–ˆ์—ˆ๋Š”๋ฐ, ์ด๊ฒƒ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•œ ์•„์ด๋””์–ด์ด๋‹ค.

์œ ์‚ฌํ•œ ๊ด€๊ณ„์— ์žˆ๋Š” ๋‹จ์–ด ์‚ฌ์ด์˜ ์œ ์‚ฌ์„ฑ์€ ์ตœ๋Œ€ํ™”๋˜๋„๋ก, ๊ด€๋ จ์ด ์—†์–ด๋ณด์ด๋Š” ๋‹จ์–ด ์‚ฌ์ด์˜ ์œ ์‚ฌ์„ฑ์€ ์ตœ์†Œํ™”๋˜๋„๋ก ํ•™์Šตํ•˜๊ณ ์ž ํ•œ๋‹ค.

 

์ด๋ ‡๊ฒŒ ํ•™์Šต์„ ์ง„ํ–‰ํ•˜๋Š” word embedding ๋ฐฉ๋ฒ• ์ค‘ word2vec ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๊ณ ์ž ํ•œ๋‹ค.

 


word2vec

word2vec์˜ ์•„์ด๋””์–ด๋Š” "์ฃผ๋ณ€ ๋‹จ์–ด๋ฅผ ๋ณด๋ฉด ๊ทธ ๋‹จ์–ด์˜ ์˜๋ฏธ๋ฅผ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋‹ค"๋ผ๋Š” ์•„์ด๋””์–ด๋ฅผ ํ™œ์šฉํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

word2vec์—๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ,

  • CBOW : ์ฃผ๋ณ€ ๋‹จ์–ด๋กœ ์ค‘์‹ฌ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ์‹
  • skip-gram : ์ค‘์‹ฌ ๋‹จ์–ด๋กœ ์ฃผ๋ณ€ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ์‹

์ด๋ ‡๊ฒŒ 2๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค.

 

์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” ์ฃผ๋ณ€๋‹จ์–ด๋Š” ์ค‘์‹ฌ๋‹จ์–ด ์ „/ํ›„์— ์œ„์น˜ํ•œ ๋‹จ์–ด๋ฅผ ๋งํ•œ๋‹ค.์ด "์ฃผ๋ณ€"์˜ ์ •๋„๋Š” window๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ,window=2๋ผ๋ฉด ์ค‘์‹ฌ๋‹จ์–ด ์ „์˜ 2๋‹จ์–ด + ์ค‘์‹ฌ๋‹จ์–ด ์ดํ›„์˜ 2๋‹จ์–ด๋ฅผ ์ฃผ๋ณ€๋‹จ์–ด๋กœ ๋ณด๋Š” ๊ฒƒ์ด๋‹ค.

 

์ด๋ ‡๊ฒŒ window ๊ฐ’์„ ํ†ตํ•ด ์ฃผ๋ณ€๋‹จ์–ด์˜ ๋ฒ”์œ„๋ฅผ ์„ค์ •ํ•˜๋ฉด ์ฃผ๋ณ€๋‹จ์–ด๋ฅผ X๋กœ, ์ค‘์‹ฌ๋‹จ์–ด๋ฅผ y๋กœ ๋‘๊ณ  ๋ฐ˜๋ณต์ ์œผ๋กœ ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.์ด ๋•Œ ํ•™์Šต๋˜๋Š” parameter๊ฐ€ embedding matrix๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 

 

 

  • ์ฃผ๋ณ€ ๋‹จ์–ด K๊ฐœ์˜ one-hot vector๊ฐ€ ๋ชจ๋ธ๋กœ ๋“ค์–ด๊ฐ„๋‹ค.
  • matrix W์™€ ๊ณฑํ•ด์ง€๋ฉด์„œ K๊ฐœ์˜ embedding vector๊ฐ€ ๊ณ„์‚ฐ๋œ๋‹ค.
  • K๊ฐœ์˜ embedding vector๋ฅผ ํ‰๊ท  ์ทจํ•˜์—ฌ h๋ฒกํ„ฐ๋ฅผ ๋งŒ๋“ ๋‹ค.
  • h๋ฒกํ„ฐ์— matrix W'๋ฅผ ๊ณฑํ•˜์—ฌ y_hat ๋ฒกํ„ฐ๋ฅผ ๋งŒ๋“ ๋‹ค.
  • y_hat ๋ฒกํ„ฐ์™€ W์˜ ๊ฐ ํ–‰๋ฒกํ„ฐ(=word embedding)๋ฅผ ๋‚ด์ ํ•œ ๊ฒƒ์— softmax ์ ์šฉํ•˜์—ฌ cross-entropy loss๋ฅผ ๊ตฌํ•œ๋‹ค.
  • backpropagationํ•˜์—ฌ ํ–‰๋ ฌ W, W' ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค.
  • ์œ„์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ ์–ป๊ฒŒ๋œ W, W' ํ–‰๋ ฌ์ด embedding matrix๊ฐ€ ๋œ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ W, W' ์ค‘ ํ•˜๋‚˜์˜ ํ–‰๋ ฌ๋งŒ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์•„๋‹ˆ๋ฉด ๋‘ ํ–‰๋ ฌ์„ ํ†ตํ•ด ๊ตฌํ•ด์ง„  embedding vector์˜ ํ‰๊ท ์„ ์ตœ์ข…์ ์ธ embedding vector๋กœ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

 

์œ„์—์„œ ์„ค๋ช…ํ•œ ๋ชจ๋ธ์€ ์ฃผ๋ณ€๋‹จ์–ด๋กœ ์ค‘์‹ฌ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” CBOW ๋ชจ๋ธ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•œ ๊ฒƒ์ด๊ณ ,

์ค‘์‹ฌ๋‹จ์–ด๋กœ ์ฃผ๋ณ€๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” skip-gram ๋ชจ๋ธ๋„ ์ด์™€ ์œ ์‚ฌํ•˜๋‹ค.

๋‹ค๋งŒ, input์œผ๋กœ ์ค‘์‹ฌ๋‹จ์–ด์˜ one-hot vector ํ•˜๋‚˜, output์œผ๋กœ K๊ฐœ์˜ vector๊ฐ€ ๋‚˜์˜จ๋‹ค๋Š” ๊ฒƒ์ด ์ฐจ์ด์ ์ด๋‹ค.

 

 

 

์ผ๋ฐ˜์ ์œผ๋กœ CBOW ๋ณด๋‹ค๋Š” skip-gram์˜ ์„ฑ๋Šฅ์ด ์ข‹๊ธฐ ๋•Œ๋ฌธ์— skip-gram์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

ํ•œ ๋‹จ์–ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ณด์•˜์„ ๋•Œ CBOW๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ •๋‹ต์ด ๋˜๋Š” ๊ฒฝ์šฐ๋Š” 1๋ฒˆ๋งŒ ์กด์žฌํ•˜๋Š” ๋ฐ˜๋ฉด,

skip-gram์„ ์‚ฌ์šฉํ•˜๋ฉด ์ •๋‹ต์ด ๋˜๋Š” ๊ฒฝ์šฐ๋Š” 2*W๋ฒˆ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋งŽ์€ ์—…๋ฐ์ดํŠธ ๊ธฐํšŒ๊ฐ€ ์žˆ๋‹ค. (W=window ํฌ๊ธฐ)

๋”ฐ๋ผ์„œ ๋ง๋ญ‰์น˜์˜ ํฌ๊ธฐ๊ฐ€ ๋™์ผํ•˜๋”๋ผ๋„ ํ•™์Šต๋Ÿ‰์ด 2*W๋ฐฐ ์ฐจ์ด๋‚˜๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— word2vec๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ CBOW ๋Œ€์‹  skip-gram์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. 

 

 

'๐Ÿ™‚ > Coursera_DL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

WEEK8 : beam search in language model  (0) 2020.12.27
WEEK8 : negative sampling  (0) 2020.12.26
WEEK7 : LSTM, GRU  (0) 2020.12.25
WEEK7 : RNN  (0) 2020.12.25
WEEK7 : convNet in 1D, 2D, 3D  (0) 2020.12.25

+ Recent posts