BERT(Bidirectional Encoder Representations from Transformers)
BERT๋ ์์ฐ์ด ์ฒ๋ฆฌ (NLP) ๋ถ์ผ์์ ํ์ ์ ์ธ ๋ชจ๋ธ ์ค ํ๋๋ก, ๊ตฌ๊ธ์ด ๊ฐ๋ฐํด 2018๋
์ ๊ณต๊ฐ๋์๋ค. BERT๋ ์ด์ ์ NLP ๋ชจ๋ธ๋ณด๋ค ๋ ํ์ํ ์ฑ๋ฅ์ ์ ๊ณตํ์ฌ ๋ค์ํ ์์ฐ์ด ์ฒ๋ฆฌ ์์
์์ ์์ ์ฑ๊ณผ๋ฅผ ์ด๋ฃจ์ด ๋๋ค. ์ด ๋ชจ๋ธ์ ํนํ ์ฌ์ ํ๋ จ๋ ์ธ์ด ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ NLP ์์
์ ์ ์ฉํ ์ ์๋ ๋ค๋ชฉ์ ๋ชจ๋ธ๋ก ์ฃผ๋ชฉ๋ฐ์๋ค.
๋
ผ๋ฌธ ์ ๋ชฉ์ ์๋์ ๊ฐ์ผ๋ฉฐ ํผ์ธ์ฉ์๋ ์ฝ 8๋งํ(23๋
9์ ๊ธฐ์ค)๋ก ์ด์ ๋ LM ๋ถ์ผ์์ ์ ๋ง ๊ธฐ๋ณธ์ด ๋๋ ์ฐ๊ตฌ๋ผ๊ณ ํ ์ ์๋ค.
- paper : BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
- ๋ ผ๋ฌธ : https://arxiv.org/pdf/1810.04805
- ์ฐธ๊ณ ์๋ฃ : https://www.youtube.com/watch?v=30SvdoA6ApE
Transformer Encoder & Decoder
- ๊ธฐ๋ณธ์ ์ธ ํธ๋์คํฌ๋จธ์ ์ธ์ฝ๋๋ ์๋ฐฉํฅ์ผ๋ก ํ ์คํธ๋ฅผ ์ดํดํ๊ณ ๋์ฝ๋๋ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฌธ๋งฅ์ ์ดํดํ๋ค.(์๊ด๊ด๊ณ๋ฅผ ์ถ์ถ)
- ๋ฌธ์ฅ์ด ๋จ์ด ๋จ์๋ก ์ชผ๊ฐ์ ธ ํ๋ฒ์ ์ธ์ฝ๋์ ์ธํ์ผ๋ก ๋ค์๊ฐ์ self-attention์ ์ทจํ๊ธฐ ๋๋ฌธ์ ๋จ์ด ๊ฐ์ ๊ด๊ณ๋ฅผ ํ๋ฒ์ ์ถ์ถํ๋ฏ๋ก ์๋ฐฉํฅ์ผ๋ก ํ ์คํธ๋ฅผ ์ดํดํ๋ ๊ฒ
- ๋์ฝ๋์์๋ ์ธ์ฝ๋์ ํ ํฐ๋ณ ์์ํ์ด ํ๋์ฉ ๋์ฝ๋์ ์ธํ์ผ๋ก ๋ค์๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ๊ตฌ์กฐ
Traditional LM vs Bidirectional LM
- ์ธ์ฝ๋-๋์ฝ๋์ ํน์ง์ ๋ง๊ฒ ๋จ๋ฐฉํฅ(Traditional) LM์ ์ฌ๋ฌ ๋จ์ด๊ฐ ์ ๋ ฅ์ผ๋ก ๋ค์ด์ค๋ฉด ๋ค์ ๋จ์ด๋ฅผ ์์ธกํ๋๋ก ํ์ตํ ์ ์์
- Bidirectional(์๋ฐฉํฅ) LM์ ์ฌ๋ฌ ๋จ์ด๊ฐ ์ ๋ ฅ์ผ๋ก ๋ค์ด์ค๊ณ ๊ทธ ์ค์ ๊ฐ๋ ค์ง ๋จ์ด๋ฅผ ์์ธกํ๋๋ก ํ์ต ๊ฐ๋ฅ
- ์ฆ, ์๋ฐฉํฅ์ผ๋ก ์๊ด๊ด๊ณ๋ฅผ ์ถ์ถํ๋ ๋ชจ๋ธ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋ ค์ง ๋จ์ด ์๋ค์ ๋ฌธ๋งฅ์ ๋ณด๊ณ ๊ฐ๋ ค์ง ๋จ์ด๋ฅผ ์ ์์ธกํ ์ ์๋ ๊ฒ์ด ์ฅ์
BERT ์ Input ๊ตฌ์กฐ
BERT ์ ์ ๋ ฅ ๊ตฌ์กฐ๋ ํ ํฐ ์๋ฒ ๋ฉ, ์ธ๊ทธ๋จผํธ ์๋ฒ ๋ฉ, ํฌ์ง์ ์๋ฒ ๋ฉ ์ธ ๊ฐ์ง์ ํฉ๊ณผ ์คํ์ ํ ํฐ์ธ [CLS], [SEP] ์ผ๋ก ๊ตฌ์ฑ๋๋ค.
- ํ ํฐ ์๋ฒ ๋ฉ : ๋ฌธ์ฅ์ ๋จ์ด์ ์๋ฏธ ๋จ์๋ก ๋์ด์ ์๋ฒ ๋ฉํ ๊ฒฐ๊ณผ
- ์ธ๊ทธ๋จผํธ ์๋ฒ ๋ฉ : ๋ฌธ์ฅ ๋ณ ์ธ๋ฑ์ค. BERT ๋ 2๊ฐ์ ๋ฌธ์ฅ๋ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๊ตฌ๋ณํ๊ธฐ ์ํจ
- ํฌ์ง์ ์๋ฒ ๋ฉ : ํ ํฐ๋ณ(๋จ์ด๋ณ) ์๋์ ์์น. 0~1 ์ฌ์ด ๊ฐ์ผ๋ก ๋ฌธ์ฅ ํ๋๊ฐ ๊ธธ๋๋ผ๋ ๋ชจ๋ ์ปค๋ฒํ ์ ์๊ฒ
- [CLS] : ๋ถ๋ฅ ํ ์คํฌ๋ฅผ ์ํ ํ ๊ทผ์ผ๋ก ๋ฌธ์ฅ ์ ์ฒด๊ฐ ์๋ฒ ๋ฉ๋ ์คํ์ ํ ํฐ
- [SEP] : ๋ ๋ฌธ์ฅ์ ์ ๋ ฅ์ผ๋ก ๋ฐ๋ ๊ฒฝ์ฐ ์ด ํ ํฐ์ ๊ธฐ์ค์ผ๋ก ๋ ๋ฌธ์ฅ์ ๊ตฌ๋ถ
BERT ๋ WordPiece embedding ์ด๋ผ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ ๋ฌธ์ฅ์ ํ ํฐ ๋จ์๋ก ๋๋๋ฐ, ์ด๋ ๋จ์ํ ๋์์ฐ๊ธฐ ๋จ์๋ก ๋๋ ๊ฒ๋ณด๋ค ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ด๋ค. ์ ๋์ฌ, ์ ๋ฏธ์ฌ ๊ฐ์ ๊ฒฝ์ฐ๋ ๋ง์ด ์ฌ์ฉ๋๊ณ ๋ถ์์๋ ์ด๋ค ์๋ฏธ๋ฅผ ์ง๋๋ฏ๋ก ์๋ก์ด ๋จ์ด๊ฐ ๋์์ ๋๋ ๋ป์ ์ ์ถํ ์ ์๋ ์ฅ์ ์ด ์๊ธฐ๋ ๋ฐฉ๋ฒ์ด๋ผ ๋ณผ ์ ์๋ค. ์๋ฅผ ๋ค์ด playing ์ด๋ผ๋ ๋จ์ด๋ play ์ ing ๋ก ํ ํฐ์ ๋๋๋ค.
BERT Training
BERT์ ํ์ต ๊ณผ์ ์ Pre-training → Fine-tuning ๋ ๊ฐ์ง ๋จ๊ณ๋ก ๋๋๋ค.
GPT์ ๋น๊ตํ๋ฉด GPT๋ ์ด๊ฑฐ๋ ๋ชจ๋ธ๋ก ๋ชจ๋ธ ํฌ๊ธฐ๊ฐ ์๋นํ ํฌ๊ณ ํ์ต์ํค๊ธฐ ์ด๋ ต์ง๋ง ํ ๋ฒ ํ์ตํด๋๋ฉด ์ฌ๋ฌ NLP ์์
์ ์ฌ์ฉ๊ฐ๋ฅํ ๋ชจ๋ธ์ด๊ณ , BERT ์ ๊ฒฝ์ฐ ๊ฐ๋ ค์ง ๋จ์ด(๋ง์คํน๋ ํ ํฐ)๋ฅผ ์์ธกํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ๋งฅ์ ์ดํดํ๋๋ก pre-training ์ํจ ๋ค์, ๊ฐ NLP ํ
์คํฌ์ ๋ง๋ ๋ฐฉ๋ฒ์ผ๋ก fine-tuning ์์ผ์ค์ผ ํ๋ค.
๋๋ฌธ์, BERT๋ pre-training๋ ๋ชจ๋ธ์ ๋ฐ์์ ์ด๋ป๊ฒ fine-tuning ์์ผ์ ์ฐ๋์ง๊ฐ ์ค์ํ ๋ถ๋ถ์ด๋ค.
# BERT Pre-training
- ๋ฌธ์ฅ์ด ์ ๋ ฅ์ผ๋ก ๋ค์ด์ค๊ณ ํ ํฐ์ผ๋ก ์ชผ๊ฐ ๋ค ๋๋คํ๊ฒ ๋จ์ด๋ฅผ ๊ฐ๋ฆฌ๊ณ (ํ ํฐ์ ๋ง์คํนํ๊ณ ) ์ด๋ฅผ ์์ธกํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ์ต
- ๋๋ฌธ์ (๋จ๋ฐฉํฅ LM ๋ชจ๋ธ๋ ๊ทธ๋ ๊ธด ํ์ง๋ง) BERT๋ฅผ pre-training์ํค๊ธฐ ์ํ ํ์ต ๋ฐ์ดํฐ์ GT ๋ ๋ฐ๋ก ํ์ํ์ง ์์
# BERT Fine-tuning
Pre-training ์ ๋ง์น BERT ๋ชจ๋ธ์ ํ ์คํฌ์ ๋ง๋ ์์ ์ ์ํํ๊ธฐ ์ํค fine-tuning ์ ํด์ค์ผ ํ๋๋ฐ ๋ ผ๋ฌธ์์๋ ์๋์ ๊ฐ์ 4๊ฐ์ NLP ํ ์คํฌ๋ฅผ ์๊ฐํ๋ค.
- (a) ๋ ๋ฌธ์ฅ์ ์ธํ์ผ๋ก ๋ฃ๊ณ ๋ ๋ฌธ์ฅ์ ๊ด๊ณ๋ฅผ ์์ธก
- (b) ํ ๋ฌธ์ฅ์ ์ธํ์ผ๋ก ๋ฃ๊ณ ์ด๋ค ๋ฌธ์ฅ์ธ์ง ์์ธก
- (c) ์ง๋ฌธ-๋ต ๋ ๋ฌธ์ฅ์ ์ธํ์ผ๋ก ๋ฃ๊ณ ์๋ฌธ ์ ์ ๋ต์ ์์, ๋ ์ธ๋ฑ์ค๋ฅผ ์์ธก
- (d) ํ ๋ฌธ์ฅ์ ์ธํ์ผ๋ก ๋ฃ๊ณ ํ ํฐ๋ณ ํ๊น ์ ์์ธก
BERT๊ฐ ์ฒ์ ๊ณต๊ฐ๋์์ ๋๋ง ํด๋ ์ฌ์ฉํ๊ธฐ ์ฝ์ง ์์ ์ฐ๊ตฌ์ฉ ML ๋ชจ๋ธ๋ก ์ทจ๊ธ๋ฐ๊ธฐ๋ ํ์ง๋ง, 19๋
๊ตฌ๊ธ์ ๊ฒ์ ๊ธฐ๋ฅ์ BERT๋ฅผ ํ์ฉํด ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ํ๊ณ , 23๋
์ธ ์ง๊ธ์ BERT๋ฅผ ํ์ฉํ ๋ค์ํ ์ ์ฆ์ผ์ด์ค(์ธ์ด ๋ฒ์ญ, ํ
์คํธ ์์ฝ, ์ถ์ฒ ์์คํ
๋ฑ,...)๋ฅผ ์ ํ ์ ์๋ค.