일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- pytorch
- Relation Extraction
- Transformers
- boj
- Eliza
- bert
- 백준
- ai-tech
- NLP
- text classification
- BoostCamp
- beam search
- BELU
- 취업
- Chatbot
- multi-head attention
- BLEU Score
- Prompt Tuning with Rules for Text Classification
- huggingface
- KLUE-RE
- fine-tuning
- layer normalization
- scaled dot-product attention
- MT-DNN
- KLUE
- Dialogue System
- GPT-1
- Conversation System
- FSML
- Transformer
Archives
- Today
- Total
dukim's blog
[WK06-Day028][21.09.09.Thu] 팀 결성, BLEU Score 추가 학습, Beam Search HF 구현체 뜯기 본문
Boostcamp AI Tech 2th
[WK06-Day028][21.09.09.Thu] 팀 결성, BLEU Score 추가 학습, Beam Search HF 구현체 뜯기
eliza.dukim 2021. 9. 12. 20:37Intro
- 수요일 저녁 팀원을 찾습니다 뜨고 나서 만 하루 정도만에 팀 결성을 완료
- 오늘 피어세션은 BLEU 스코어와 Beam Search에 대해 애매했던 부분을 바로 잡을 수 있었던 시간이었다.
- 강의 수강은 이미 마쳤고, 오늘 Seq2Seq과 Attention에 대한 발표를 준비하면서 강의 수강 시간을 보낸 뒤, 피어세션 시간에 학습 내용을 공유하였다.
학습 내용
- 강의 수강 완료로 생략
피어세션
블로그 추천
BLEU Score에 대한 질문 답변
beam search에서 중간에 토큰을 만나 종료된 hypothesis가 있을 경우, 나머지 beam search 과정에서는 계속 $k-1$개의 후보를 보는가?
- 종료된 $k$번째 후보 바로 다음인 $k + 1$번째 후보를 추가하여 계속해서 $k$개의 후보에 대한 beam search를 수행
- 참고
강의에는 없었던 개념 Clipping
- BLEU에서 1-gram으로 precision을 구할 때 모델이 예측된 단어들에서 동일 단어를 중복되어 있는 경우, 정답 문장 내에 포함된 해당 단어의 최대 갯수까지만 카운트한다(자세한 내용은 김동화님의 BLEU Score 포스팅 참고)
ROUGE(Recall-Oriented Understudy for Gisting Evaluation)
- 강의 초반에 BLEU 설명 전에 제시된 Precision과 Recall 만을 이용한 평가방법으로 Chin-Yew Lin에 의해 제안된 summarization task의 성능 평가 지표
- 강의에서 소개된 기본 개념 외에도 ROUGE-N, ROUGE-L, ROUGE-S 등 다른 지표들도 존재
- 고현웅님 블로그, 예시를 통한 ROUGE 성능 지표의 이해
Further Question) BLEU score가 번역 문장 평가에 있어서 갖는 단점은 무엇이 있을까요?
- Human Evaluation과 다르다는 점
- 사람은 n-gram을 카운트해서 번역이 잘 되었음을 평가하지 않는다.
- 다른 의미적인 표현이 있을 수 있다.(의미론적 문장 유사관계)
- 낮은 BLEU로 나타난 문장들이 더 인간적인 경우가 많았다.
- BLEU Score를 개선하는 더 나은 평가 방법에 대한 연구
Beam Search hugging face 구현체 작동 과정 확인하기
- 진명훈님께서 라이브러리를 뜯어보시면서 파악한 내용으로 같이 뜯어보길 권장
modeling_utils.py
의PreTrainModel
클래스에서GenerationMixin
클래스를 상속 받는데, 이 클래스가 문장 생성과 관련된 기능이 담긴 클래스- 해당 클래스는
generation_utils.py
에 위치하여 greedy search, sampling, beam search, beam sampling, grouping 등 생성과 관련된 옵션 존재 - 디버깅 툴에서
generation_utils.py
에generate
메서드에 중단점 걸어두고 실행시켜 각 과정 확인하기
학습 회고
- 생성과 관련된 지표는 아직도 정리가 덜 되었다. 생성 모델의 평가지표에 대한 것들을 정리할 필요가 있다.
'Boostcamp AI Tech 2th' 카테고리의 다른 글
Comments