์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ๋ฐฑ์ค
- c++
- ๋ถ์
- ๋ฐ์ดํฐ
- ์๊ณ ๋ฆฌ์ฆ
- Git
- ํ์ดํ๋
- ๋ฐ์ดํฐ๋ถ์
- ๋ฐ์ดํฐ์๊ฐํ
- react
- ๋์
- ์ ํ๋์ํ
- native
- ์ธํ๋ฐ
- ํ๊ตญ์ด์๋ฒ ๋ฉ
- ์ํ์ฝ๋ฉ
- ๋ค์ดํฐ๋ธ
- ๋จธ์ ๋ฌ๋
- nlp
- ๋ฆฌ์กํธ
- ์๋๋ก์ด๋์คํ๋์ค
- AI
- Kaggle
- ์๋ฒ ๋ฉ
- Titanic
- linearalgebra
- ๊นํ
- ๊ฒฐ์ ํธ๋ฆฌ
- ๋ฅ๋ฌ๋
- cs231n
- Today
- Total
yeon's ๐ฉ๐ป๐ป
[๋์] ํ๊ตญ์ด ์๋ฒ ๋ฉ - 1์ฅ. ๋ค์ํ ์๋ฒ ๋ฉ ๊ธฐ๋ฒ๋ค ๋ณธ๋ฌธ
1.3 ์๋ฒ ๋ฉ ๊ธฐ๋ฒ์ ์ญ์ฌ์ ์ข ๋ฅ
1.3.1 ํต๊ณ ๊ธฐ๋ฐ์์ ๋ด๋ด ๋คํธ์ํฌ ๊ธฐ๋ฐ์ผ๋ก
์ด๊ธฐ ์๋ฒ ๋ฉ ๊ธฐ๋ฒ: ์ ์ฌ ์๋ฏธ ๋ถ์(Latent Semantic Analysis)
: ๋จ์ด ์ฌ์ฉ ๋น๋ ๋ฑ ๋ง๋ญ์น์ ํต๊ณ๋ ์ ๋ณด๊ฐ ๋ค์ด ์๋ ์ปค๋ค๋ ํ๋ ฌ์ ํน์ด๊ฐ ๋ถํด(SVD) ๋ฑ ์ํ์ ๊ธฐ๋ฒ์ ์ ์ฉํด ํ๋ ฌ์ ์ํ ๋ฒกํฐ๋ค์ ์ฐจ์์ ์ถ์ํ๋ ๋ฐฉ๋ฒ
-> ์ด ๊ฒฐ๊ณผ๋ก ๋ง๋ญ์น์ ์ฃผ์ ๋ฅผ ์ถ์ถํ ์ ์๋ค.
ex) ๋จ์ด-๋ฌธ์ ํ๋ ฌ์ ์ ์ฌ ์๋ฏธ ๋ถ์์ ์ ์ฉ
- ๋๋ถ๋ถ์ ํ๋ ฌ์ ํฌ์ ํ๋ ฌ(๋๋ถ๋ถ์ ์์ ๊ฐ์ด 0์ธ ํ๋ ฌ)์ธ๋ฐ,
์ด๋ฐ ํฌ์ ํ๋ ฌ์ด ๋ค๋ฅธ ๋ชจ๋ธ์ ์ ๋ ฅ๊ฐ์ผ๋ก ์ฐ์ด๊ฒ ๋๋ฉด ๊ณ์ฐ๋, ๋ฉ๋ชจ๋ฆฌ ์๋น๋์ด ๋๋ฌด ์ปค์ง
-> ์ด๋ฐ ์ด์ ๋ก ์๋ ํ๋ ฌ์ ์ฐจ์์ ์ถ์ํ ๋ค ์ฌ์ฉํ๋ค.
- ๋จ์ด or ๋ฌธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฐจ์์ ์ถ์ํ ์ ์์
- ๋จ์ด ๊ธฐ์ค์ผ๋ก ์ถ์: ๋จ์ด ์์ค ์๋ฒ ๋ฉ
- ๋ฌธ์ ๊ธฐ์ค์ผ๋ก ์ถ์: ๋ฌธ์ ์๋ฒ ๋ฉ
1.3.2 ๋จ์ด ์์ค์์ ๋ฌธ์ฅ ์์ค์ผ๋ก
๋จ์ด ์์ค ์๋ฒ ๋ฉ: NPLM, Word2Vec, GloVe, FastText, Swivel ๋ฑ
- ๊ฐ๊ฐ์ ๋ฒกํฐ๋ค์ ๋ํด ํด๋น ๋จ์ด์ ๋ฌธ๋งฅ์ ์๋ฏธ๋ฅผ ํจ์ถํจ
* ํ์ง๋ง ๋์์ด์์ด๋ฅผ ๋ถ๊ฐํ๊ธฐ ์ด๋ ต๋ค๋ ๋ฌธ์ ์
- ๋จ์ด์ ํํ๊ฐ ๊ฐ๋ค๋ฉด ๋์ผํ ๋จ์ด๋ก ๊ฐ์ฃผํจ
๋ฌธ์ฅ ์์ค ์๋ฒ ๋ฉ: ELMo, BERT, GPT ๋ฑ
: ๊ฐ๋ณ ๋จ์ด๊ฐ ์๋ ๋จ์ด ์ํ์ค ์ ์ฒด์ ๋ฌธ๋งฅ์ ์๋ฏธ๋ฅผ ํจ์ถํจ
- ๋จ์ด ์๋ฒ ๋ฉ ๊ธฐ๋ฒ๋ค๋ณด๋ค ์ ์ด ํ์ต ํจ๊ณผ๊ฐ ์ข์
ex) ๋จน๋ ๋ฐฐ, ์ ์ฒด ๋ถ์ ๋ฐฐ, ๊ตํต ์๋จ ๋ฐฐ๋ค์ ๋ถ๋ฆฌํด ์ดํดํ ์ ์์
1.3.3 ๋ฃฐ -> ์๋ํฌ์๋ -> ํ๋ฆฌํธ๋ ์ธ/ํ์ธ ํ๋
90๋ ๋๊น์ง ์์ฐ์ด ์ฒ๋ฆฌ ๋ชจ๋ธ์ ์ฌ๋์ด feature(๋ชจ๋ธ์ ์ ๋ ฅ๊ฐ)๋ฅผ ์ง์ ์ ํํจ
- ์ธ์ด ๋ฌธ์ฅ์ ๊ท์น์ ๋ชจ๋ธ์ ์ง์ ์๋ ค์ค
2000๋ ๋ ์์ฐ์ด ์ฒ๋ฆฌ ๋ถ์ผ์ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ด ์ฃผ๋ชฉ๋ฐ๊ธฐ ์์ํจ
- ์ฌ๋์ด ๋ชจ๋ธ์ ๊ท์น์ ์ง์ ์๋ ค์ฃผ์ง ์์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ผ๋ฉด ์ ์ถ๋ ฅ ์ฌ์ด์ ๊ด๊ณ๋ฅผ ์ฌ๋์ ๊ฐ์ ์์ด ์ค์ค๋ก ์ดํดํ ์ ์์
: ์๋ํฌ์๋ ๋ชจ๋ธ ex) seq2seq
2018๋ ELMo๊ฐ ์ ์๋ ํ ํ๋ฆฌํธ๋ ์ธ(pretrain)๊ณผ ํ์ธ ํ๋(fine-tuning) ๋ฐฉ์์ผ๋ก ๋ฐ์ ํจ
- ๋จผ์ ๋๊ท๋ชจ ๋ง๋ญ์น๋ก ์๋ฒ ๋ฉ์ ๋ง๋ฌ (pretrain)
- ์ด ์๋ฒ ๋ฉ ์์๋ ๋ง๋ญ์น์ ์๋ฏธ์ , ๋ฌธ๋ฒ์ ๋งฅ๋ฝ์ด ํฌํจ๋จ
- ์ด๋ฐ ์๋ฒ ๋ฉ์ ์ ๋ ฅ์ผ๋ก ํ๋ ์๋ก์ด ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ๋ง๋ค๊ณ ,
์ํ๋ ๊ตฌ์ฒด์ ๋ฌธ์ ์ ๋ง๋ ์๊ท๋ชจ ๋ฐ์ดํฐ์ ๋ง๊ฒ ์๋ฒ ๋ฉ์ ํฌํจํ ๋ชจ๋ธ ์ ์ฒด๋ฅผ ์ ๋ฐ์ดํธ ํจ (fine-tuning, ์ ์ด ํ์ต)
* ๋ค์ด์คํธ๋ฆผ ํ์คํฌ(downstream task): ์ฐ๋ฆฌ๊ฐ ํ๊ณ ์ถ์ ๊ตฌ์ฒด์ ๋ฌธ์ ๋ค
ex) ํ์ฌ ํ๋ณ, ๊ฐ์ฒด๋ช ์ธ์, ์๋ฏธ์ญ ๋ถ์ ๋ฑ
* ์ ์คํธ๋ฆผ ํ์คํฌ(upstream task): ๋ค์ด์คํธ๋ฆผ ํ์คํฌ์ ์์ ํด๊ฒฐํด์ผ ํ ๊ณผ์ ๋ค
ex) ๋จ์ด/๋ฌธ์ฅ ์๋ฒ ๋ฉ์ pretrain ํ๋ ์์
์ ๋ฌผ์ด ๋ง์์ผ ์๋ซ๋ฌผ์ด ๋ง๋ค.
-> ์๋ฒ ๋ฉ ํ์ง์ด ์ข์์ผ ๋ฌธ์ ๋ฅผ ์ ๋๋ก ํ ์ ์๋ค.
1.3.4 ์๋ฒ ๋ฉ์ ์ข ๋ฅ์ ์ฑ๋ฅ
(1) ํ๋ ฌ ๋ถํด ๊ธฐ๋ฐ ๋ฐฉ๋ฒ
: ํ๋ ฌ์ ๋ ๊ฐ ์ด์์ ์์ ํ๋ ฌ๋ก ์ชผ๊ฐ๋ ๋ฐฉ์์ ์๋ฒ ๋ฉ ๊ธฐ๋ฒ
- ๋ถํดํ ํ ๋ ์ค ํ๋์ ํ๋ ฌ๋ง ์ฌ์ฉํ๊ฑฐ๋ ๋์ ๋ํ๊ฑฐ๋ ์ด์ด ๋ถ์ฌ ์๋ฒ ๋ฉ์ผ๋ก ์ฌ์ฉ
ex) GloVe, Swivel ๋ฑ
(2) ์์ธก ๊ธฐ๋ฐ ๋ฐฉ๋ฒ
: ์ด๋ค ๋จ์ด ์ฃผ๋ณ์ ํน์ ๋จ์ด๊ฐ ๋ํ๋ ์ง ์์ธกํ๊ฑฐ๋,
์ด์ ๋จ์ด๋ค์ด ์ฃผ์ด์ก์ ๋ ๋ค์ ๋จ์ด๊ฐ ๋ฌด์์ผ์ง ์์ธกํ๊ฑฐ๋,
๋ฌธ์ฅ ๋ด ์ผ๋ถ ๋จ์ด๋ฅผ ์ง์ฐ๊ณ ํด๋น ๋จ์ด๊ฐ ๋ฌด์์ผ์ง ๋ง์ถ๋ ๊ณผ์ ์์ ํ์ตํ๋ ๋ฐฉ๋ฒ
ex) Word2Vec, FastText, BERT, ELMo, GPT ๋ฑ
(3) ํ ํฝ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ
: ์ฃผ์ด์ง ๋ฌธ์์ ์ ์ฌ๋ ์ฃผ์ ๋ฅผ ์ถ๋ก ํ๋ ๋ฐฉ์์ผ๋ก ์๋ฒ ๋ฉ์ ์ํ
ex) ์ ์ฌ ๋๋ฆฌํด๋ ํ ๋น(Latent Dirichlet Allocation)
(4) ์๋ฒ ๋ฉ ์ฑ๋ฅ ํ๊ฐ
ํ์ธ ํ๋ ๋ชจ๋ธ์ ๊ตฌ์กฐ๋ฅผ ๊ณ ์ ํ ๋ค ๊ฐ ์๋ฒ ๋ฉ์ ์ ์ด ํ์ต์ํค๋ ํํ๋ก ์ ํ๋๋ฅผ ์ธก์ ํจ
GloVe < ELMo < GPT < BERT-base < BERT-large
- ์๋ฒ ๋ฉ ํ์ง์ด ๊ฐ ๋ค์ด์คํธ๋ฆผ ํ์คํฌ ์ฑ๋ฅ์ ํฌ๊ฒ ์ํฅ์ ์ฃผ๊ณ ์์
1.5 ์ด ์ฑ ์ด ๋ค๋ฃจ๋ ๋ฐ์ดํฐ์ ์ฃผ์ ์ฉ์ด
* ๋ง๋ญ์น(corpus): ์๋ฒ ๋ฉ ํ์ต์ด๋ผ๋ ํน์ ๋ชฉ์ ์ ๊ฐ์ง๊ณ ์์ ํ ํ๋ณธ(sample)
- ์ปฌ๋ ์ (collection): ๋ง๋ญ์น์ ์ํ ๊ฐ๊ฐ์ ์งํฉ
์ฑ ์์ ๋ค๋ฃจ๋ ๋ฐ์ดํฐ์ ๊ธฐ๋ณธ ๋จ์: ๋ฌธ์ฅ
์๊ฐ์ด๋ ๊ฐ์ , ์ ๋ณผ๋ฅด ๊ณต์ ํ๋ ๋ฌธ์ฅ ์งํฉ: ๋ฌธ์
์ฑ ์์ ๋ค๋ฃจ๋ ๊ฐ์ฅ ์์ ๋จ์: ํ ํฐ(token)
- ๋ฌธ์ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ ํฐ์ผ๋ก ๊ตฌ์ฑ๋จ
- ๋ฌธ๋งฅ์ ๋ฐ๋ผ์๋ ํ ํฐ์ ๋จ์ด, ํํ์, ์๋ธ์๋๋ผ๊ณ ๋ถ๋ฆ
* ํ ํฌ๋์ด์ฆ(tokenize): ๋ฌธ์ฅ์ ํ ํฐ ์ํ์ค๋ก ๋ถ์ํ๋ ๊ณผ์
ex) ์ค์, ์ธ, ์ด์์, ๋, ๋ชจ๋, ๋ฌด๋ฆฌ์, ์ด, ๋ค.
* ํํ์ ๋ถ์: ๋ฌธ์ฅ์ ํํ์ ์ํ์ค๋ก ๋๋๋ ๊ณผ์
- ํํ์ ๋ถ์, ํ ํฌ๋์ด์ฆ, ํ ํฐํ๋ผ๊ณ ๋ถ๋ฆ
* ์ดํ ์งํฉ: ๋ง๋ญ์น์ ์๋ ๋ชจ๋ ๋ฌธ์๋ฅผ ๋ฌธ์ฅ์ผ๋ก ๋๋๊ณ ์ฌ๊ธฐ์ ํ ํฌ๋์ด์ฆ๋ฅผ ์ค์ํ ํ ์ค๋ณต์ ์ ๊ฑฐํ ํ ํฐ๋ค์ ์งํฉ