issues
search
subinium
/
Deep-Papers
Deep Learning Paper Simple Review + Helpful Article
48
stars
2
forks
source link
XLNet: Generalized Autoregressive Pretraining for Language Understanding
#9
Closed
subinium
closed
3 years ago
subinium
commented
3 years ago
https://arxiv.org/pdf/1906.08237.pdf
XLNet
Transformer-XL
의 확장이라고 함
이 친구는 리젝되었지만 성능이 좋아 허깅페이스, 구글 블로그에 올라옴 (저자 같음. 리젝 후 XLNET으로 업그레이드)
PR12 박성남님 발표
로 살펴보기
transformer 문제점
long-term dependency (고정 길이라 긴 길이 불가)
context fragmentations (이전 시퀀스에 대한 문맥 정보 전달 불가)
해결책
Segment-level Recurrence (cache로 다음 시퀀스에게 정보 전달)
메모리만 가능하다면 이전 시퀀스 정보 사용 가능
Relative Positional Embeddings
연속적인 시퀀스 학습을 할 수 없기 때문에 기존 positional embedding 불가
autoregressive + receptive field로 이해하면 될 듯.
evaluation : PPL, BPC, RECL
limit : downstream task에서 안해봄, documentation generation 결과 없음, GPT2가 이김
subinium
commented
3 years ago
Concept
BERT의 단점
MASK는 independent 하지 않지만 독립이라 가정
downstream finetuning에서는 마스킹하지 않아 generalization이 어려움
길이에 한정적
Permutation Language Modeling
(기존 Masked Language Model이 autoencoding기반이었다면)
순서를 바꾼 새로운 시퀀스를 만듬 (N! case)
이 순서가 원래 순서인 양 autoregressive(ar)하게 다음 단어를 예측하도록 함
MASk의 종속적인 관계도 학습 가능!
순서를 바꾼 새로운 시퀀스는 역방향/정방향 둘 다 서브셋으로 포함함 (양방향 문맥정보 학습 가능)
실제 모든 케이스를 하지는 않고, 샘플링하긴 함
셔플된 순서가 3번 토큰을 맞추는 테스크라면
[1, 4, 2, 3], [4, 3, 2, 1], [1, 2, 3, 4]로 셔플되었다면 각각 [1, 4, 3], [4], [1, 2] 토큰을 사용하여 예측
섞는 것은 시퀀스가 아닌 마스킹을 섞는 방법을 사용
Two-Stream Self Attention
근데 섞였는데 예측 결과는 어떤 순서인지 어떻게 알까?
섞인 상태에서 Transformer에 넣으면 같은 sequence에 다른 representation이 출력되야 하는 상황도 발생...
2가지 attention 사용 (그림으로 보면 좀 더 쉬움)
Content Stream : 예측하는 토큰의 정보도 들어가 있는 어텐션
Query Stream : 예측하는 토큰의 정보는 안들어간 어텐션
subinium
commented
3 years ago
ETC
이론적으로는 어느 정도 이해가 가지만...마음에 쏙 와닿지는 않는다.
태환님의 구현적 정리본
을 보고 구현을 좀 더 살펴보면 좋을까 싶기도 하다.
핑퐁팀 블로그의 NLP recent model들 정리본이 퀄리티가 상당히 좋았는데..루다 이슈로 다 내려갔다.ㅠㅠ
subinium
commented
3 years ago
도움되는 자료
PR12 박성남님 발표
ratsgo 블로그
[Paper Review] Transformer to T5 (XLNet, RoBERTa, MASS, BART, MT-DNN,T5)
Korea Univ. DSBA 발표자 이유경님, 자료/설명/분석 좋은 듯. RoBERTa랑 T5보고 다시 볼 예정