์ด ํ๋ก์ ํธ๋ T5(Text-to-Text Transfer Transformer) ๋ชจ๋ธ์ ํ์ฅํ์ฌ Dynamic Context Gates(DCG)๋ฅผ ์ ์ฉํ ์์ฐ์ด ์์ฑ ์คํ์ ๋ด๊ณ ์์ต๋๋ค. ์ฃผ์ ์์ฉ ์ฌ๋ก๋ก๋ ArXiv ๋ ผ๋ฌธ ์ด๋ก์ผ๋ก๋ถํฐ ๋ ผ๋ฌธ ์ ๋ชฉ์ ์์ฑํ๋ ์์ (Abstract to Title, Ab2Ti)์ ์ํํฉ๋๋ค.
ํ์ ๋ ผ๋ฌธ ์์ฑ ์ ์ด๋ก(Abstract)์ ์์ฑ๋์์ผ๋ ์ ์ ํ ์ ๋ชฉ์ ์ฐพ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ณธ ํ๋ก์ ํธ๋ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ ผ๋ฌธ ์ด๋ก์์ ํต์ฌ ๋ด์ฉ์ ํ์ ํ๊ณ ์ ์ ํ ์ ๋ชฉ์ ์๋์ผ๋ก ์์ฑํ๋ ๋ชจ๋ธ์ ๊ฐ๋ฐํ์ต๋๋ค. ์ด๋ฅผ ํตํด:
- ์ฐ๊ตฌ์๋ค์ด ๋ ผ๋ฌธ ์ ๋ชฉ ์์ฑ์ ์์๋๋ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ ์ ์ฝ
- ์ด๋ก์ ํต์ฌ ๋ด์ฉ์ ํจ๊ณผ์ ์ผ๋ก ๋ฐ์ํ๋ ์ ๋ชฉ ์์ฑ
- ๋ค์ํ ํ์ ๋ถ์ผ์ ๋ฒ์ฉ์ ์ผ๋ก ์ ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ธ ๊ฐ๋ฐ
๊ธฐ๋ณธ T5 ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด Dynamic Context Gates(DCG) ๋ฉ์ปค๋์ฆ์ ๋์ ํ์ต๋๋ค. DCG๋ ์์ค ์ปจํ ์คํธ(์ธ์ฝ๋)์ ํ๊ฒ ์ปจํ ์คํธ(๋์ฝ๋) ์ฌ์ด์ ์ ๋ณด ํ๋ฆ์ ๋์ ์ผ๋ก ์ ์ดํ์ฌ ์์ฐ์ด ์์ฑ์ ํ์ง์ ํฅ์์ํค๋ ๋ฉ์ปค๋์ฆ์ ๋๋ค. ๊ธฐ์กด Transformer ๋ชจ๋ธ์ ์๊ธฐ ์ฃผ์(self-attention)์ ๊ต์ฐจ ์ฃผ์(cross-attention) ๋ฉ์ปค๋์ฆ์ ๋ณด์ํ๋ ๋ฐฉ์์ผ๋ก ์๋ํฉ๋๋ค.
ArXiv ๋ ผ๋ฌธ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ก์์ ์ ๋ชฉ์ ์์ฑํ๋ ์คํ์ ์งํํฉ๋๋ค. ๋ฐ์ดํฐ์ ์ ๋ค์๊ณผ ๊ฐ์ด ์ ๊ณต๋ฉ๋๋ค:
- ์๋ณธ ๋ฐ์ดํฐ: Kaggle ArXiv ๋ฐ์ดํฐ์
- ์ ์ฅ ๊ฒฝ๋ก:
arxiv_data/arxiv-metadata-oai-snapshot.json(์๋ณธ ๋ฐ์ดํฐ)data/arxiv_papers.json(์ ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ)
์ฐธ๊ณ : ์๋ณธ ๋ฐ์ดํฐ์ ์ ํฌ๊ธฐ๊ฐ 4GB ์ด์์ผ๋ก, GitHub์ ํ์ผ ํฌ๊ธฐ ์ ํ(100MB)์ ์ด๊ณผํฉ๋๋ค. ๋ฐ๋ผ์ ์ Kaggle ๋งํฌ์์ ์ง์ ๋ค์ด๋ก๋ํ์ฌ ์ฌ์ฉํ์๊ธฐ ๋ฐ๋๋๋ค.
- 170๋ง ๊ฐ ์ด์์ STEM(๊ณผํ, ๊ธฐ์ , ๊ณตํ, ์ํ) ๋ถ์ผ ๋ ผ๋ฌธ ๋ฉํ๋ฐ์ดํฐ
- 1991๋ ๋ถํฐ ํ์ฌ๊น์ง์ ArXiv ๋ ผ๋ฌธ ์ ๋ณด ํฌํจ
- ๊ฐ ๋ ผ๋ฌธ๋ณ๋ก title, abstract, authors, categories ๋ฑ์ ์ ๋ณด ์ ๊ณต
-
๋ฐ์ดํฐ ์์ง ๋ฐ ์ ์ฒ๋ฆฌ:
- ArXiv ๋ฉํ๋ฐ์ดํฐ์์ ์ด๋ก๊ณผ ์ ๋ชฉ ์์ ์ถ์ถ
- ํ ์คํธ ์ ์ ๋ฐ ํ ํฐํ
- ํ๋ จ/๊ฒ์ฆ/ํ ์คํธ ๋ฐ์ดํฐ์ ๋ถํ
-
๋ชจ๋ธ ๊ฐ๋ฐ:
- ๊ธฐ๋ณธ T5 ๋ชจ๋ธ ๊ตฌํ
- DCG ๋ฉ์ปค๋์ฆ ์ค๊ณ ๋ฐ ํตํฉ
- ๋ ๊ฐ์ง ๋ฒ์ ์ DCG ๊ตฌํ (ํฅ์๋ ๋ฒ์ ๊ณผ ๋จ์ํ๋ ๋ฒ์ )
-
๋ชจ๋ธ ํ์ต:
- ๋ค์ํ ํ์ดํผํ๋ผ๋ฏธํฐ ์ค์ ์ผ๋ก ์คํ
- ๊ฒ์ดํธ ์ ๊ทํ ๋ฐ ์ ์์ ์๊ณ๊ฐ ์ ์ฉ
- ์ ์ง์ DCG ํ์ฑํ๋ฅผ ํตํ ์์ ์ ํ์ต
-
ํ๊ฐ ๋ฐ ๋ถ์:
- ROUGE, BLEU ๋ฑ์ ๋ฉํธ๋ฆญ์ ํตํ ์ ๋์ ํ๊ฐ
- ์์ฑ๋ ์ ๋ชฉ์ ์ ์ฑ์ ๋ถ์
- ์ผ๋ฐ T5์ DCG ์ ์ฉ ๋ชจ๋ธ ๊ฐ์ ์ฑ๋ฅ ๋น๊ต
NLP1/
โโโ __pycache__/ # ํ์ด์ฌ ์บ์ ํ์ผ
โโโ .vscode/ # VSCode ์ค์
โโโ arxiv_data/ # ArXiv ๋ฉํ๋ฐ์ดํฐ
โโโ common/ # ๊ณตํต ์ ํธ๋ฆฌํฐ ๋ฐ ๋ชจ๋ธ ์ปดํฌ๋ํธ
โโโ data/ # ํ์ต ๋ฐ ํ๊ฐ ๋ฐ์ดํฐ์
โโโ exp_code/ # ์คํ ์ฝ๋
โ โโโ dcg_train_2.py # ํฅ์๋ DCG ๋ชจ๋ธ ํ์ต ์ฝ๋
โ โโโ rp_dcg_train_3.py # ๋จ์ํ๋ DCG ๋ชจ๋ธ ํ์ต ์ฝ๋
โ โโโ ... # ๊ธฐํ ๋ชจ๋ธ ํ๊ฐ ๋ฐ ํ์ต ์ฝ๋
โโโ notebooks/ # ์ฃผ์ฐจ๋ณ ์ค์ต ๋
ธํธ๋ถ
โโโ pdf/ # ์์
์๋ฃ ๋ฐ ๋ฐํ ์๋ฃ
โโโ source/ # ์์ค ์ฝ๋
โโโ test_markdown/ # ๋งํฌ๋ค์ด ํ
์คํธ ํ์ผ
โโโ text-to-text-transfer-transformer/ # T5 ๊ธฐ๋ณธ ์ฝ๋๋ฒ ์ด์ค
โโโ ์์ฐ์ด์ฒ๋ฆฌ1 ์ค๊ฐ์ฃผ์ ๋ฐํ_250409/ # ๋ฐํ ์๋ฃ
DCG(Dynamic Context Gates)๋ ์์ค ์ปจํ ์คํธ(์ธ์ฝ๋)์ ํ๊ฒ ์ปจํ ์คํธ(๋์ฝ๋) ์ฌ์ด์ ์ ๋ณด ํ๋ฆ์ ๋์ ์ผ๋ก ์ ์ดํ๋ ๋ฉ์ปค๋์ฆ์ ๋๋ค. ์๋ Tu et al.(2017)์ด RNN ๊ธฐ๋ฐ ๊ธฐ๊ณ ๋ฒ์ญ์์ ์ ์ํ๋ ๊ฐ๋ ์ Transformer ๊ธฐ๋ฐ T5 ๋ชจ๋ธ์ ์ ์ฉํ์ต๋๋ค.
- ์์ค์ ํ๊ฒ ์ปจํ ์คํธ ๊ท ํ ์กฐ์
- ๊ฒ์ดํ ๋ฉ์ปค๋์ฆ์ ํตํ ์ปจํ ์คํธ ์ ํ์ ํ์ฉ
- ๋ด์ฉ์ด(content words) ์ค์ฌ์ ์ ๋ณด ํ๋ฆ ๊ฐํ
gate = sigmoid([c; ht] ยท W + b)
- c: ์ธ์ฝ๋ ์ปจํ ์คํธ ๋ฒกํฐ
- ht: ๋์ฝ๋ ํ์ฌ ํ๋ ์คํ ์ดํธ
- W, b: ํ์ต ๊ฐ๋ฅํ ํ๋ผ๋ฏธํฐ
c't = gate * c + (1 - gate) * ht
- c't: ์ตํฉ๋ ์ปจํ ์คํธ (๋ค์ ๋ ์ด์ด ์ ๋ ฅ)
ํ๋ก์ ํธ์๋ ๋ ๊ฐ์ง ์ฃผ์ DCG ๊ตฌํ์ด ํฌํจ๋์ด ์์ต๋๋ค:
- ๋ค์ค ๋์ฝ๋ ๋ ์ด์ด์ DCG ์ ์ฉ (์ ๋ต์ ์์น: ๋ ์ด์ด 0, 2, 4)
- ๋ฉํฐํค๋ ์ดํ ์ ๊ธฐ๋ฐ ๊ฒ์ดํ
- ๋ด์ฉ์ด ํธํฅ ๋ฉ์ปค๋์ฆ
- ์์น ์ธ์ ๊ฒ์ดํ
- ์ ์ํ ์๊ณ๊ฐ ํ์ต
- ๋จ์ผ ๋์ฝ๋ ๋ ์ด์ด์๋ง DCG ์ ์ฉ (๋ง์ง๋ง ๋ ์ด์ด)
- ๋จ์ํ๋ ๊ฒ์ดํธ ๋ฉ์ปค๋์ฆ
- ์ ์ง์ DCG ํ์ฑํ๋ก ์์ ์ ์ธ ํ์ต
- ๊ฒฝ๋ํ๋ ์ํคํ ์ฒ
- ๋ชจ๋ธ: t5-small
- ๋ฐฐ์น ํฌ๊ธฐ: 8
- ํ์ต๋ฅ : 3e-5
- ์ํญ: 5
- ์ ๋ ฅ ๊ธธ์ด: 512 (์ด๋ก)
- ์ถ๋ ฅ ๊ธธ์ด: 128 (์ ๋ชฉ)
- ํ๋ จ ๋ฐ์ดํฐ: 9000๊ฐ ์ํ
- ๊ฒ์ฆ/ํ ์คํธ ๋ฐ์ดํฐ: ๊ฐ 1000๊ฐ ์ํ
# Kaggle์์ ArXiv ๋ฐ์ดํฐ์
๋ค์ด๋ก๋
kaggle datasets download -d Cornell-University/arxiv
# ๋ค์ด๋ก๋ํ ํ์ผ์ arxiv_data ๋๋ ํ ๋ฆฌ์ ์์ถ ํด์
mkdir -p arxiv_data
unzip arxiv.zip -d arxiv_dataํฅ์๋ DCG ๋ชจ๋ธ ํ์ต:
python exp_code/dcg_train_2.py๋จ์ํ๋ DCG ๋ชจ๋ธ ํ์ต:
python exp_code/rp_dcg_train_3.pypython exp_code/dcg_eval_2.py
python exp_code/rp_dcg_eval_3.py| ๋ชจ๋ธ | ROUGE-1 | ROUGE-2 | ROUGE-L | BERT Score F1 |
|---|---|---|---|---|
| Base T5 | 0.383 | 0.213 | 0.348 | 0.843 |
| AdvancedDCG T5 | 0.242 | 0.094 | 0.204 | 0.787 |
| SimpleDCG T5 | 0.389 | 0.214 | 0.353 | 0.844 |
- SimpleDCG T5๊ฐ ๋ชจ๋ ํ๊ฐ ์งํ์์ ์ต๊ณ ์ฑ๋ฅ์ ๋ณด์์ต๋๋ค.
- ๋จ์ํ๋ DCG ๋ชจ๋ธ์ด ๊ธฐ๋ณธ T5๋ณด๋ค ROUGE-1, ROUGE-2, ROUGE-L, BERT Score ๋ชจ๋์์ ์ํญ ํฅ์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์์ต๋๋ค.
- ํฅ์๋ DCG ๋ชจ๋ธ(AdvancedDCG)์ ์คํ๋ ค ์ฑ๋ฅ์ด ์ ํ๋์๋๋ฐ, ์ด๋ ๋ณต์กํ ๊ฒ์ดํธ ๋ฉ์ปค๋์ฆ์ด ์คํ๋ ค ํ์ต์ ๋ฐฉํดํ์ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
- ๊ธธ์ด ๋ถ์ ๊ฒฐ๊ณผ, Base T5๋ ํ๊ท ์ ๋ชฉ ๊ธธ์ด๊ฐ 8.1 ๋จ์ด, SimpleDCG T5๋ 8.4 ๋จ์ด๋ก ์ค์ ๋ ผ๋ฌธ ์ ๋ชฉ๊ณผ ์ ์ฌํ ๊ธธ์ด๋ฅผ ์์ฑํ์ต๋๋ค.
- RNN ๊ธฐ๋ฐ ๋ชจ๋ธ์์๋ง ์ ์ฉ๋๋ DCG๋ฅผ Transformer ๊ธฐ๋ฐ T5 ๋ชจ๋ธ์ ์ฑ๊ณต์ ์ผ๋ก ์ ์ฉ
- ๋จ์ํ๋ DCG ๊ตฌํ์ด ๊ฐ์ฅ ์ข์ ์ฑ๋ฅ์ ๋ณด์ (BLEU ์ ์: 0.087, ROUGE-1: 0.389)
- ๋ณธ ์ฐ๊ตฌ๋ ๋ ผ๋ฌธ ์ด๋ก์์ ์ ๋ชฉ ์์ฑ์ด๋ผ๋ ํน์ ํ์คํฌ์์ DCG ๋ฉ์ปค๋์ฆ์ ํจ๊ณผ๋ฅผ ์ ์ฆ
- DCG๋ ํนํ '๋ด์ฉ ์ถฉ์ค์ฑ(content faithfulness)'์ ํฅ์์ํค๋ ๋ฐ ํจ๊ณผ์ ์
- ๊ฒ์ดํธ ์ตํฉ ๋ฉ์ปค๋์ฆ ๊ฐ์ : ์ฌ์ด ๋ฐ์ดํฐ ๋ถํฐ ํ์ตํ๋ curriculum learning ์๊ณ ๋ฆฌ์ฆ ์ ์ฉ
- ์ปค๋ฆฌํ๋ผ ๋ฌ๋ ์ ์ฉ: ๋ณต์ก๋๊ฐ ๋ฎ์ ์ด๋ก-์ ๋ชฉ ์๋ถํฐ ์ ์ง์ ์ผ๋ก ํ์ต
- ํ์ต ์ค ํ๊ฐ ๋ฉํธ๋ฆญ ๋ณด์: BERT-Score, METEOR Score ๋ฑ ์ถ๊ฐ ํ๊ฐ ์งํ ๋์
- ์ ์ฑ์ ํ๊ฐ ํ๋: ์ธ๊ฐ ํ๊ฐ์๋ฅผ ํตํ ์ ๋ชฉ์ ํ์ง ํ๊ฐ
- ์คํ ๊ฒฐ๊ณผ์ ์ถ๊ฐ ๋ถ์์
exp_code/๋๋ ํ ๋ฆฌ์์ ํ์ธํ ์ ์์ต๋๋ค. - ๋ฐํ ์๋ฃ๋
pdf/์์์์ฐ์ด์ฒ๋ฆฌ1 ์ค๊ฐ์ฃผ์ ๋ฐํ_250514.pdf/์ ๋๋ค. - T5 ์๋ณธ ๋ ผ๋ฌธ
- Kaggle ArXiv ๋ฐ์ดํฐ์
- Context Gates for Neural Machine Translation (Tu et al., 2017)
- BERTScore (Zhang et al., ICLR 2020)
- METEOR (Banerjee & Lavie, ACL 2005)