1. language model

์–ธ์–ด ๋ชจ๋ธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” beam search๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์ „์—, ๋จผ์ € ์–ธ์–ด ๋ชจ๋ธ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๊ธฐ๋กํ•œ๋‹ค.

 

์–ธ์–ด๋ชจ๋ธ์€ ๋‹จ์–ด ์‹œํ€€์Šค์— ํ™•๋ฅ ์„ ํ• ๋‹นํ•˜๋Š” ์ผ์„ ํ•˜๋Š” ๋ชจ๋ธ์ด๋‹ค.

 

๋‹จ์–ด ์‹œํ€€์Šค์— ํ™•๋ฅ ์„ ํ• ๋‹นํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ด์ „ ๋‹จ์–ด๋“ค์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ๋‹ค์Œ ๋‹จ์–ด๊ฐ€ ๋‚˜์˜จ ๋นˆ๋„๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์–‘์ชฝ์˜ ๋‹จ์–ด๋กœ๋ถ€ํ„ฐ ์ค‘์‹ฌ๋‹จ์–ด๊ฐ€ ๋‚˜์˜ค๋Š” ๋นˆ๋„๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‹จ์–ด ์‹œํ€€์Šค์— ํ™•๋ฅ ์„ ๋ถ€์—ฌํ•˜๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋„ ์žˆ๊ธด ํ•˜๋‹ค.

 

ํ™•๋ฅ  ํ• ๋‹น ์‹œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ด์ „ ๋‹จ์–ด๋“ค์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ๋‹ค์Œ ๋‹จ์–ด๊ฐ€ ๋‚˜์˜ค๋Š” ๋นˆ๋„๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•˜์˜€๋Š”๋ฐ,

์ด ํ™•๋ฅ ์„ ์ˆ˜์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

$$ P(W) = P(w_1, w_2, w_3, ..., w_n) = \prod_{i=1}^{n}P(w_i|w_1, w_2, ..., w_{i-1}) $$

$$ = P(w_1)P(w_2|w_1)P(w_3|w_1, w_2)...P(w_n|w_1, w_2, ..., w_{n-1}) $$

 


2. greedy search

 

1) greedy search๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€?

greedy search(=hill climbing search)๋Š” heuristic search์— ์†ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, ์ตœ์ ํ•ด๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ทผ์‚ฌ์ ์ธ ๋ฐฉ๋ฒ•์ด๋‹ค.

์—ฌ๋Ÿฌ ๊ฒฝ์šฐ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ฒฐ์ •ํ•ด์•ผ ํ•  ๋•Œ๋งˆ๋‹ค ๊ทธ ์ˆœ๊ฐ„์— ์ตœ์ ์ด๋ผ๊ณ  ์ƒ๊ฐ๋˜๋Š” ๊ฒƒ์„ ์„ ํƒํ•˜๋ฉฐ ์ง„ํ–‰ํ•ด๋‚˜๊ฐ€๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

 

greedy search๋ฅผ ์ด์šฉํ•ด ๊ตฌํ•œ ํ•ด๊ฐ€ ์ตœ์ ์ด๋ผ๋Š” ๋ณด์žฅ์€ ์—†๋‹ค.

๋ฐ˜๋Œ€๋กœ, ์ตœ์ ์˜ ํ•ด๊ฐ€ ํ•˜๋‚˜๋งŒ ์กด์žฌํ•˜๋Š” uni-modal problem์—์„œ๋Š” ์ตœ์ ์˜ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

 

https://www.geeksforgeeks.org/search-algorithms-in-ai/

 

2) language model์—์„œ greedy search๊ฐ€ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”๊ฐ€?

language model์—์„œ๋Š” ๊ฐ step๋งˆ๋‹ค ์ด์ „ ๋‹จ์–ด๋“ค์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์Œ์— ๋‚˜์˜ฌ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•œ๋‹ค.

 

์ด ๋•Œ greedy search๋ฅผ ์ด์šฉํ•ด ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๊ฒฝ์šฐ,

P(w_n|w_1, w_2, ..., w_n-1)์ด ์ตœ๋Œ€๊ฐ€ ๋˜๋Š” ๋‹จ์–ด w_n์„ ์˜ˆ์ธก๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

์ฆ‰ ์ด์ „ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ํŠน์ • ๋‹จ์–ด๊ฐ€ ๋‹ค์Œ์— ๋‚˜์˜ฌ ํ™•๋ฅ ์„ ๊ตฌํ•œ ๋’ค, ๊ทธ ์ค‘ ์ตœ๋Œ€ ํ™•๋ฅ ๊ฐ’์„ ์‚ฐ์ถœํ•˜๋Š” ๋‹จ์–ด๋ฅผ ๋‹ค์Œ ๋‹จ์–ด๋กœ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

3) language model์—์„œ greedy search๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌด์—‡์ด ๋ฌธ์ œ์ธ๊ฐ€?

 

  • ๊ตญ์†Œ์ ์œผ๋กœ๋Š” ์ตœ์ ์˜ ๋‹จ์–ด์ด๋‚˜, ์ „์—ญ์ ์œผ๋กœ๋Š” ์ตœ์ ์˜ ๋‹จ์–ด๊ฐ€ ์•„๋‹ ์ˆ˜ ์žˆ๋‹ค.
    • ์ฆ‰, ์ „์ฒด ๋ฌธ์žฅ์„ ๋ณด์•˜์„ ๋•Œ ๊ทธ ๋‹จ์–ด๊ฐ€ ์ตœ์ ์˜ ๋‹จ์–ด๊ฐ€ ์•„๋‹ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ง์ด๋‹ค.
  • ๋ฌธ์žฅ ์ƒ์„ฑ ์‹œ input ๋‹จ์–ด๊ฐ€ ๋™์ผํ•˜๋ฉด ๋งค๋ฒˆ ๋™์ผํ•œ ๋ฌธ์žฅ์ด ์ƒ์„ฑ๋œ๋‹ค.

3. beam search

 

1) beam search๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€?

beam search ์—ญ์‹œ ์œ„์—์„œ ๋‹ค๋ค˜๋˜ hill climbing search์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ heuristic search์— ์†ํ•œ๋‹ค.

beam search๋Š” ํ‰๊ฐ€๊ฐ’์ด ์šฐ์ˆ˜ํ•œ ์ผ์ • ๊ฐœ์ˆ˜์˜ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋…ธ๋“œ๋งŒ์„ ๋ฉ”๋ชจ๋ฆฌ์— ๊ด€๋ฆฌํ•˜๋ฉด์„œ ์ตœ์ƒ ์šฐ์„  ํƒ์ƒ‰์„ ์ ์šฉํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.

์ฆ‰, best first search์—์„œ ๊ธฐ์–ต ๋…ธ๋“œ์˜ ์ˆ˜๋ฅผ ์ œํ•œํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

 

https://d2l.ai/chapter_recurrent-modern/beam-search.html

 

 

2) language model์—์„œ beam search๊ฐ€ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”๊ฐ€?

language model์—์„œ๋Š” ๊ฐ step๋งˆ๋‹ค ์ด์ „ ๋‹จ์–ด๋“ค์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์Œ์— ๋‚˜์˜ฌ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•œ๋‹ค.

 

์ด ๋•Œ beam search๋ฅผ ์ด์šฉํ•ด ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๊ฒฝ์šฐ,

P(w_n|w_1, w_2, ..., w_n-1)์„ ๋ชจ๋“  ๋‹จ์–ด์— ๋Œ€ํ•ด ๊ตฌํ•œ ํ›„ ์ƒ์œ„ K๊ฐœ์˜ ๋‹จ์–ด๋งŒ ๋‚จ๊ธฐ๊ณ  ๋‚˜๋จธ์ง€๋Š” ๊ณ ๋ ค๋Œ€์ƒ์—์„œ ์ œ์™ธํ•œ๋‹ค.

์ฒซ ๋ฒˆ์งธ step์—์„œ ์ด๋ ‡๊ฒŒ ๋ฝ‘ํžŒ k๊ฐœ์˜ ๋‹จ์–ด๋ฅผ w_21, w_22, ..., w_2k๋ผ ํ•˜์ž.

 

๊ทธ ๋‹ค์Œ์—๋Š” P(w_3|w_1, w_21), P(w_3|w_1, w_22), ... P(w_3|w_1, w_2k)๋ฅผ ๋ชจ๋“  ๋‹จ์–ด w_3์— ๋Œ€ํ•ด์„œ ๊ตฌํ•œ ๋’ค ์ƒ์œ„ K๊ฐœ์˜ ๋‹จ์–ด๋งŒ ํ›„๋ณด ๋‹จ์–ด๋กœ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

 

์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉด ์ตœ์ข…์ ์œผ๋กœ K๊ฐœ์˜ sequence๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ์ค‘ ์ตœ๋Œ€ ํ™•๋ฅ ๊ฐ’์„ ๊ฐ€์ง„ sequence๋ฅผ ์ตœ์ข… sequence๋กœ ์„ ํƒํ•œ๋‹ค.

์œ„์— ์ฒจ๋ถ€ํ•œ ์‚ฌ์ง„์„ ๋ณด๋ฉด ์ดํ•ด์— ๋„์›€์ด ๋  ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค.

 

3) language model์—์„œ beam search๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌด์—‡์ด ํ•ด๊ฒฐ๋˜๋Š”๊ฐ€?

greedy search๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ์„ ํƒํ•˜๋ฉด ๊ตญ์†Œ์ ์œผ๋กœ๋Š” ์ตœ์ ์˜ ๋‹จ์–ด์ด๋‚˜, ์ „์—ญ์ ์œผ๋กœ๋Š” ์ตœ์ ์˜ ๋‹จ์–ด๊ฐ€ ์•„๋‹ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ–ˆ๋‹ค.

ํ•˜์ง€๋งŒ beam search๋ฅผ ์ด์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ์™„ํ™”๋  ์ˆ˜ ์žˆ๋‹ค (์™„์ „ํžˆ ํ•ด๊ฒฐ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค)

 

์ด ๋•Œ ๊ธฐ์–ตํ•˜๊ณ ์ž ํ•˜๋Š” ํ›„๋ณด ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์„์ˆ˜๋ก ์ตœ์ ์˜ ํ•ด์— ๊ฐ€๊นŒ์›Œ์ง€์ง€๋งŒ, ์†๋„๊ฐ€ ๋Š๋ ค์ง„๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค.

๋ฐ˜๋Œ€๋กœ ํ›„๋ณด ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ ์„์ˆ˜๋ก ์ตœ์ ์˜ ํ•ด์—์„œ๋Š” ๋น„๊ต์  ๋ฉ€์–ด์ง€์ง€๋งŒ ์†๋„๋Š” ๋น ๋ฅด๋‹ค๋Š” ์žฅ์ ์ด ์กด์žฌํ•œ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด ํ›„๋ณด ๋…ธ๋“œ์˜ ์ˆ˜๊ฐ€ ์ ์ ˆํ•œ ์ง€, ๋ถ€์ ์ ˆํ•œ ์ง€ ์–ด๋–ป๊ฒŒ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?

 


4. error analysis on beam search

 

์‚ฌ๋žŒ์ด ๋ณด๊ธฐ์— ์ตœ์ ์˜ ๋ฌธ์žฅ์ด๋ผ๊ณ  ํŒ๋‹จํ•œ ๋ฌธ์žฅ์„ y, ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ตœ์ ์ด๋ผ๊ณ  ํŒ๋‹จํ•œ ๋ฌธ์žฅ์„ y_hat ๋ผ๊ณ  ํ•˜์ž.

 

  • ๋ชจ๋ธ์— ๋„ฃ์—ˆ์„ ๋•Œ P(y) > P(y_hat)์ธ ๊ฒฝ์šฐ
    • RNN ๋ชจ๋ธ์€ ์ž˜ ํ•™์Šต๋˜์—ˆ์œผ๋‚˜, beam search์—์„œ ์ž˜๋ชป ํŒ๋‹จํ•œ ๊ฒฝ์šฐ์ด๋‹ค.
    • ๋”ฐ๋ผ์„œ beam search์—์„œ ๊ธฐ์–ตํ•˜๊ณ ์ž ํ•˜๋Š” ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋Š˜๋ ค์•ผ ํ•œ๋‹ค.
  • ๋ชจ๋ธ์— ๋„ฃ์—ˆ์„ ๋•Œ P(y) < P(y_hat)์ธ ๊ฒฝ์šฐ
    • RNN ๋ชจ๋ธ์ด ์ž˜๋ชป ํ•™์Šต๋œ ๊ฒƒ
    • ์ •๊ทœํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ํ•™์Šต๋ฐ์ดํ„ฐ๋ฅผ ์ฆ๊ฐ€์‹œ์ผœ ๋‹ค์‹œ ํ•™์Šตํ•ด์•ผ ํ•œ๋‹ค.

 

์—ฌ๋Ÿฌ๊ฐ€์ง€์˜ (y, y_hat) ์Œ์„ ๊ตฌํ•œ ๋’ค ๊ฐ๊ฐ์˜ sequence๊ฐ€ ๋‚˜์˜ฌ ํ™•๋ฅ ์„ ๊ตฌํ•œ ๋’ค

RNN model์ด ์ž˜๋ชป๋œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜๋Š”์ง€, beam search๊ฐ€ ์ž˜๋ชป๋œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜๋Š”์ง€ ํŒ๋‹จํ•˜์—ฌ ์ ์ ˆํ•œ ์กฐ์น˜๋ฅผ ์ทจํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

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

WEEK8 : Attention  (0) 2020.12.27
WEEK8 : Bleu score  (0) 2020.12.27
WEEK8 : negative sampling  (0) 2020.12.26
WEEK8 : Word Embedding (word2vec)  (0) 2020.12.26
WEEK7 : LSTM, GRU  (0) 2020.12.25

+ Recent posts