modulabs / beyondBERT

11.5기의 beyondBERT의 토론 내용을 정리하는 repository입니다.
MIT License
60 stars 6 forks source link

BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension #6

Closed seopbo closed 4 years ago

seopbo commented 4 years ago

어떤 내용의 논문인가요? 👋

Abstract (요약) 🕵🏻‍♂️

1. BART ?!

2. Results

이 논문을 읽어서 무엇을 배울 수 있는지 간략하게 적어주세요! 🤔

이 논문의 아이디어를 적어주세요.

스크린샷 2020-07-03 오후 12 23 56 스크린샷 2020-07-03 오후 12 24 05 스크린샷 2020-07-03 오후 12 25 01 스크린샷 2020-07-03 오후 12 25 20 스크린샷 2020-07-03 오후 12 25 30 스크린샷 2020-07-03 오후 12 25 47

이 논문의 결론을 적어주세요.

Reference

[1] this paper: (arXiv) https://arxiv.org/abs/1910.13461 [2] Introducing BART: https://sshleifer.github.io/blog_v2/jupyter/2020/03/12/bart.html (Research engineer at huggingface) [3] youtube: https://www.youtube.com/watch?v=v7diENO2mEA (KoreaUniv DSBA) [4] transformers: https://huggingface.co/transformers/model_doc/bart.html (BART)

simonjisu commented 4 years ago

[질문]

논문을 읽고난 뒤의 느낌은 Encoder(BERT)-Decoder(GPT) 구조 + Text infilling (특정 구간의 token을 masking) 방법이 좋다는 것인데, Table 1의 결과를 보고난 느낌은 상대적으로 짧은 문장생성하는 task에서는 좋은 성능을 보이지만, 긴 문장을 생성해야하는 ELI5 에서는 결과가 좋지 못한데 왜그럴까요? Key word(최종 output에 영향을 미치는 단어들, 예를들어 고유명사 등)를 필요로하는 task에서 pretrain을 Text infilling 방법으로 하는것이 도움이 된다라고 해석해도 될까요?

oglee815 commented 4 years ago

[질문]

Text Infilling 과 Sentence Shuffling Task를 어떻게 동시에 할 수 있을까요?

Input의 형태는 문장들을 섞은 다음, 각 문장을 마스킹하면 될 것 같긴 한데, 마지막에 logit을 뽑아내고 Loss를 계산하는 방식이 궁금하네요 (BERT에서는 Mask 토큰으로 MLM Loss를 계산하고 CLS 토큰으로 NSP Loss를 계산하는 방식으로 두가지 Task를 진행한 것 같던데)

bj1123 commented 4 years ago

[질문] bart 방식은 source text와 target text가 같기 때문에 model이 cheating 하기 쉬운 구조가 아닌가요? corruption이 이루어진다 하더라도, encoder가 full text를 입력으로 받기 때문에 decoder는 text에 대한 내용을 미리 알고 decoding을 하는 방식인 것 같습니다. 실험 section을 보면 입력의 30%에만 마스킹이 된다고 써있는데요, 이 경우 70%의 단어에 대해서 decoder는 정답 token을 알고 들어가는 세팅이 아닌가요 (permutation이 이루어졌다고 하지만 이 경우에도 최소한 등장했던 단어에 대해서는 인지가 가능)?

soeque1 commented 4 years ago

[질문]

최종 선택된 Denoising 방법 (Text Infilling + Sentence Shuffling)에 대해 의문이 있습니다. => 왜 다른 방법에 비해 효과적인지 잘 모르겠습니다. ++ 성능이 좋은 것인가에 대한 의문도 있습니다.

본문에는

text-infilling perform well on all tasks. (생략) Based on the results in Section § 4, we use a combination of text infilling and sentence permutation.

라고 주장하고 있으나,

Table 1을 보면

(1) Token Masking, Token Deletion, Text Infilling의 성능이 크게 차이 나지 않는 점 (2) BART Base (denoising 하지 않고 그냥 input만 사용) 성능이 누락됨 (3) Document Rotation, Sentence Shuffling의 성능이 낮은점

(2)의 성능이 없어서 머라고 말하기는 힘들지만, (1) denoising 의 역할이 크지 않을 수 있다고 생각됩니다. (3)은 오히려 모형에게 부정적으로 작용해 (1)의 성능이 부각된 것 처럼 보인 것?

또한, Sentence Shuffling 단독으로는 성능이 좋지 못한대, Text Infilling + Sentence Shuffling 성능이 좋게 나온 것도 좀 의아하네요.

실험 결과에는 없지만 Token Deletion + Sentence Shuffling 과는 뭐가 다른지.. Denoising 효과에 대한 실험 근거가 조금 부족한 것이 아닌가 생각이 듭니다.

warnikchow commented 4 years ago

[질문]

전반적으로 BART의 성능이 기존 BERT 스타일의 모델들에 비해 NLI나 Acceptability 측면에서는 경쟁력 있지 못한 것 같습니다. 그 이유는 아무래도 그 training objective가 BERT보다는 좀 더, 문서를 복원하기 이전에 많은 훼손을 가했기에 그것을 복원하는 데에 너무 많은 bias가 산입되어 오히려 주어진 상황을 보고 판단해야 하는 logic task들에는 좀 덜 맞는 게 아닌가 하는 생각이 들었습니다.