deeplearning.ai์ course 5์์ week3๋ฅผ ๊ณต๋ถํ๊ณ ์ ๋ ๋ฆฌ๋ทฐ์
๋๋นโ๐ป
Basic Models
์ด๋ป๊ฒ ํ๋ จ์ํฌ ๊ฒ์ธ๊ฐ
์ฌ๊ธฐ์๋ sequence to sequence์ ๋ํด์ ๋ฐฐ์ธ ๊ฒ๋๋ค.
- ๋ณดํต์ machine translation problem์์๋ ์ธํ(x)์๋ ์์ด๋ฌธ์ฅ, ์์ํ(y)์ผ๋ก๋ ํ๋์ค์ด์ธ ๋ฐ์ดํฐ๋ก ํ๋ จ์ํต๋๋ค.
- ์ด ๋ชจ๋ธ์ encoder์ decoder ๋๊ฐ์ง์ ๊ตฌ์กฐ๋ฅผ ํฌํจํฉ๋๋ค. ์ฌ๊ธฐ์ encoder๋ ์ด์ ์ ๋ฐฐ์ด LSTM์ด๋ GRU๋ฅผ ์ฌ์ฉํ๊ณ , input sequence๋ฅผ ๋ฐ์ผ๋ฉด ๊ทธ ์ธํ์ ๋ํ๋ด์ฃผ๋ vector๋ฅผ ๋ง๋ค์ด์ค๋๋ค.
- ์ด ๊ตฌ์กฐ๋ image captioning ๊ตฌ์กฐ์ ๋น์ทํฉ๋๋ค. ์๋ํ๋ฉด image captioning์ ํ ๋๋ ์ธํ์ ์ฌ์ง์ผ๋ก ๋ฐ์ผ๋ฉด ์์ํ์ผ๋ก ๋ฌธ์ฅ(caption)์ ๋ง๋ค์ด์ฃผ๊ธฐ ๋๋ฌธ์ ๋๋ค.
picking the most likely sentence
conditional probability๋ฅผ ์ต๋ํ ์ํค๋ y๋ฅผ ์์ธกํด์ค๋๋ค. ๊ทธ๋์ machine translation์ conditional language model์ด๋ผ๊ณ ๋ ํฉ๋๋ค.
Example:
X = "Jane visite lโAfrique en septembre."
Y may be:- Jane is visiting Africa in September.
- Jane is going to be visiting Africa in September.
- In September, Jane will visit Africa.
- ์ด๋ฐ ์์ผ๋ก y๋ก ๋ค์ํ ๋ฒ์ญ๋ฌธ์ด ๋์ฌ ์ ์๋๋ฐ, ์ด ์ค ๊ฐ์ฅ ๊ฐ๋ฅ์ฑ์ด ๋์ ๋ฒ์ญ๋ฌธ์ ๋๋ค์ผ๋ก ๋ณด์ฌ์ค๋๋ค.
์ฌ๊ธฐ์ ๊ฐ์ฅ ํํ๊ฒ ์ฐ์ด๋ ์๊ณ ๋ฆฌ์ฆ์ด beam search์ธ๋ฐ, ์ ๊ทธ๋ฆฌ๋ ๊ธฐ๋ฒ์ ์์ฐ๊ณ ๋น ์์น๋ฅผ ์ฌ์ฉํ๋ ๊ฑธ๊น์?
- ์๋ํ๋ฉด ํ๋ฅ ์ ๋์๋ less optimal ํ ์ ์๊ธฐ ๋๋ฌธ!
- ๊ทธ๋์ ์ฐ๋ฆฌ๋ 'search algorithm'์ ๋ฐฐ์์ผ ํฉ๋๋ค.
Beam Search
์ด ์๊ณ ๋ฆฌ์ฆ์ heuristic search algorithm์ ๋๋ค.
B, ์ฆ beam width๋ฅผ 3์ผ๋ก ๋๋ฉด ๋ฒ์ญ๋ ๋ฌธ์ฅ์ ์ฒซ๋ฒ์งธ ๋จ์ด๋ก ๋ชจ๋ ๋จ์ด๋ค์ ํ์ ๋ ๊ฐ์ฅ ์ ํฉํ ๋จ์ด 3๊ฐ์ง๋ฅผ ์ฒ์์ ๊ณ ๋ฅด๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๊ทธ๋์ [in, jane, september]์ด ๊ณจ๋ผ์ก์ฃ ? ๊ทธstep 2์์๋ ๊ณ ๋ฅธ 3๊ฐ์ ๋จ์ด์ ๋ํ candidat์ ํ๋ฅ ๋ค์ ๊ณ์ฐํ๊ณ ๊ฑฐ๊ธฐ์ ๋ ํ๋ฅ ์ด ์ ์ผ ๋์ 3๊ฐ์ง์ ๋จ์ด๋ฅผ ๊ณจ๋ผ์ฃผ๋ฉด ๋ฉ๋๋ค. ๋ง์ฝ์ ๋จ์ด์ ์ด ๊ฐ์๊ฐ 10,000๊ฐ๋ผ๊ณ ํ์ ๋ step2์์๋ ๋จ์ด๊ฐ ์ด 30,000๊ฐ๊ฐ ๋๊ฒ ์ฃ ? ์ด๋ฐ์์ผ๋ก ๋งค ์คํ ๋ง๋ค ์ธ์คํด์ค๋ ํญ์ 3๊ฐ๊ฐ ์์ด์ผ ํ๊ณ , ์ด๋ฐ ์์ผ๋ก ํ๋ฅ ์ ๊ณ์ ๊ณ์ฐํด์ค๋๋ค. ๋ง์ฝ์! ์ฌ๊ธฐ์ B=1์ด ๋๋ฉด, ์ด๋ greedy search๊ฐ ๋ผ ๋ฒ๋ฆฝ๋๋ค.
Refinements to Beam Search
- Beam search๋ ํ๋ฅ ์ ์ต๋ํ ์์ผ์ฃผ๋ ๊ฒ์ด ๋ชฉํ์ธ๋ฐ, ๊ฐ๊ฐ์ ํ๋ฅ ์ ๊ณ์ ๊ณ์ ๊ณฑํด์ฃผ๋ฉด ์์ฒญ ์์ฒญ ์์ ์ซ์๊ฐ ๋์๋ฒ๋ ค์. ๊ทธ๋์ numerically stable ํ๊ฒ ํ๋ ค๊ณ ๋ก๊ทธ๋ฅผ ์ทจํด์ค์ผ๋ก์จ Length Normalization์ ํด์ค์ผ ํฉ๋๋ค. ๋ฐ์ ์ฌ์ง์ฒ๋ผ ๋ฒ์ญํ๋ ค๋ ๋จ์ด์ ๊ฐฏ์๋ก Normalizeํด์ฃผ๋ฉด ๋ฉ๋๋ค.
- ๊ทธ๋ ๋ค๋ฉด Beam width๋ ์ด๋ป๊ฒ ์กฐ์ ํด์ค์ผ ํ ๊น?
- B is Larger : ์ ํํ ์ ์๋ option์ด ๋ง์์ง๋๊น ๋ ๋์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๊ฒ์ฃ ๊ทผ๋ฐ ์๋๋ ๋๋ ค์ง๋๋ค.
- B is Smaller : ๊ฒฐ๊ณผ๋ ๋ ์์ข์์ง๊ฒ ์ง๋ง ์๋๋ ๋นจ๋ผ์ง๋๋ค.
Error Analysis
beam search์ ํ์ดํผํ๋ผ๋ฏธํฐ์ธ B๊ฐ ๋ฌธ์ ์ธ์ง, RNN๋ถ๋ถ์ด ๋ฌธ์ ์ธ์ง๋ฅผ ์ ์ํ๊ธฐ ์ํด์ ์ด Error Analysis๋ฅผ ์ฌ์ฉํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
๋จผ์ ์ธ๊ฐ์ด ํด์ํ ๋ฌธ์ฅ์ y_๋ผ๊ณ ํ๊ณ , ๊ธฐ๊ณ๊ฐ ๋ฒ์ญํ ๋ฌธ์ฅ์ yhat์ด๋ผ๊ณ ํด๋ด ์๋ค. ๊ทธ๋ฆฌ๊ณ P(y_ | X) and P(ลท | X)๋ฅผ ๊ณ์ฐํฉ๋๋ค. ์ด ๊ณ์ฐ๊ฐ์ ํตํด์ 2๊ฐ์ง์ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด๋ณผ ์ ์๋๋ฐ
- case 1 (P(y* | X) > P(ลท | X)): beam search๋ ลท๋ฅผ ํํ๋๋ฐ, y*๊ฐ ํ๋ฅ ์ด ๋ ๋๋ค๋ฉด ์ด๊ฒ์ Beam search์์ ์ค๋ฅ๊ฐ ๋ ๊ฑฐ๋ผ ๋น์ ํญ์ ๋๋ ค์ค์ผ ํฉ๋๋ค.
- case 2 (P(y* | X) <= P(ลท | X)): ์ธ๊ฐ์ด ํ ๋ฒ์ญ์ด ๋ ๋์๋ฐ๋ RNN์ด ์ ๋ ๊ฒ ์์ธก์ ํ๋ค๋ฉด RNN๋ชจ๋ธ์ด ์๋ชป ๋ ๊ฒ์์ ์ ์ ์๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํ๋ จ๋ฐ์ดํฐ๋ฅผ ๋ ๋๋ฆฌ๊ฑฐ๋, ๋ ์ด์ด๋ฅผ ๋ deepํ๊ฒ ๋ง๋ ๋ค๊ฑฐ๋, ๋ค๋ฅธ ๋คํธ์ํฌ ๊ตฌ์กฐ๋ฅผ ์๊ฐํด๋ด์ผ ํฉ๋๋ค.
x = "Jane visite lโAfrique en septembre."
y* = "Jane visits Africa in September." - right answer
ลท = "Jane visited Africa last September." - answer produced by model
Attention Model intution
encoder์ decoder๋ฅผ ์ฌ์ฉํ sequence model์ ๋ ์ข์ ๋ฐฉํฅ์ผ๋ก ๋ฐ์ ์ํจ ๊ฒ์ด ๋ฐ๋ก 'attention'์ด๋ผ ๋ถ๋ฆฌ๋ ๊ธฐ์ ์ ๋๋ค. ๊ธด ์ํ์ค์ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ๊ฐ์ ํ ๋, attention์ด ์๋ค๋ฉด ์ธ์ฝ๋๋ ๊ทธ ๊ธด ๋ฌธ์ฅ์ ๋ชจ๋ ๋ฒกํฐ๋ก ๋ฐ๊ฟ์ค์ผ ํ๋ฉฐ, ๋์ฝ๋๋ ๊ทธ ๋ฒกํฐ๋ฅผ ๋ฒ์ญ ๋ฌธ์ฅ์ผ๋ก ๋ฐ๊ฟ์ค์ผ ํ ๊ฑฐ์์. ๊ทผ๋ฐ attention model์ ์ฌ์ฉํ๋ฉด ์๋์ ํ์ ๊ฐ์ด ์ฑ๋ฅ์ด ๋งค์ฐ ์ข์์ง๋๋ค.
- ํ ๋จ์ด๋ฅผ ๋ฒ์ญํ ๋, ๋ฒ์ญ์ ํด์ผํ๋ ๋จ์ด์ ์ผ๋ง๋ ์ง์ค์ ํด์ผํ๋๊ฐ
Attention Model
ํ์ต ๋ชฉ์ ์ผ๋ก a<t'>๊ฐ ์๋ค๊ณ ์๊ฐํด๋ด
์๋ค. ์๋ Bidirectional RNN์์ ๋ ๋ฐฉํฅ์ ๋ํ ์๊ฐ t'์ผ ๋ activation ๊ฐ์ ๋ด๊ณ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ context c๋ฅผ ๊ณ์ฐํด์ค ๊ฑด๋ฐ, ์๋ alpha<1, t'>์ a<t'>๋ฅผ ๊ณฑํ ๊ฐ์ ํฉ๋ค์ ๋ด์ ๋ฒกํฐ์
๋๋ค.
์ด๋ฒ์ attention weight์ธalpha<1, t'>๋ฅผ ์ด๋ป๊ฒ ๊ตฌํ๋์ง ์์๋ด ์๋ค. alpha<1, t'>๋ y๊ฐ a< t'' > ์ ์ผ๋ง๋ ์ง์คํด์ผ ํ๋์ง๋ฅผ ์๋ฏธํฉ๋๋ค.
์ด ์๊ณ ๋ฆฌ์ฆ์ ๋จ์ ์ quadratic ์๊ฐ์ด ๋ค์ด์ ๋น์ฉ์ด ๋ง์ด ๋ญ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด attention weight๋ฅผ ์๊ฐํ ํ ์๋ ์์ต๋๋ค.
Speech Recognition
์์ฑ ์ธ์์ ํ ๋๋ input X : audio clip, output Y : transcript์ผ๋ก ์ค์ ํด์ค๋๋ค.
'Computer Science > ํ์ด์ฌ๋ผ์ด๋ธ๋ฌ๋ฆฌ&sklearn&keras' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ML&DL_sklearn๊ณต๋ถ(2) << Iris Data๋ฅผ ์ด์ฉํ ํ์ต๊ณผ ํ๊ฐ (0) | 2020.08.13 |
---|---|
ML&DL_sklearn๊ณต๋ถ(1) << Decision Tree (0) | 2020.08.13 |
ํ๊ต ๊ณต๋ถ >> dlib ์ค์น ์ค๋ฅ&ํด๊ฒฐ (0) | 2020.04.11 |
DataStructure::Segmentation fault 11 error (0) | 2019.04.24 |