일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- LLM
- Programmers
- rnn
- attention
- Linear Regression
- Linear Model
- deque
- Django
- 일기
- 부스트캠프
- 코테
- BFS
- prompt engineering
- GPT
- LeetCode
- ChatGPT
- dl
- NLP
- 머신러닝
- 프로그래머스
- gradient descent
- Python
- transformer
- Deeplearning
- 코딩테스트
- 프롬프트
- 기계학습
- 알고리즘
- 파이썬
- machinelearning
- Today
- Total
크크루쿠쿠
Beam Search and BLEU score 본문
Beam Search
Greedy decoding
근시안적으로 현재 time step에서 좋아보이는것을 decode -> 중간에 오류가 나면 어떻게함?
Exhaustive search
확률값을 제일 크게 만드는 y를 찾아야함!
앞에서 가장 큰 값만을 찾는게 아니라 적절하게 뒤에 값들도 고려를 해줘야함.
-> 계산값이 너무 많아져서 불가능함
Beam search
앞의 경우 두개의 경우를 조합한 idea
매 time step마다 k개의 가지수를 고려해준다.
마지막 까지 고려한 뒤에 가장 적절한 후보를 뽑아준다.
k = beam size (5~10)
globally optimal solution을 항상 찾아주는것은 아니지만 계산량이 효율적임.
k^2 개 중에서 k개만큼 골라서 나아간다.
T 라는 timestep 만큼만 하거나 end token 발생시 중단한다.
최종 score가 가장 높은것을 예측값으로 내준다.
-> 길이가 길수록 lower score가 나오므로 normalize 해줘야 한다.
BLEU Score
Precision and Recall
Reference: Half of my heart is in Havana ooh na na
Predicted: Half as my heart is in Obama ooh na
precision (정밀도): 예측값 중에 얼마나 있나?
recall (재현율) : 정답중에 얼마나 나왔나?
F-measure -> 조화평균
-> model 2는 문법이 이상한데?
BLEU score
앞에 보인 문제 해결하기 위한 score
- BiLingual Evaluation Understudy
N-gram phrase가 얼마나 겹치는지 반영!
recall은 사용 안하고 precision만 사용한다.
1,2,3,4 -gram 의 precision을 사용한 뒤 기하평균을 사용
짧은 문장일 때 precision 값이 높아질 확률이 높으므로 gravity penalty 부여 (min 부분)
앞의 예시로 model2의 경우 문법이 완전 틀린경우 score가 0이 되는걸 볼 수가 있다.
'DeepLearning > 부스트캠프 AI Tech' 카테고리의 다른 글
Transformer (2) (0) | 2021.09.20 |
---|---|
Transformer (1) (0) | 2021.09.14 |
Sequence to Sequence with Attention (0) | 2021.09.13 |
[NLP] LSTM and GRU (0) | 2021.09.07 |
[NLP]Recurrent Neural Network and Language Modeling (0) | 2021.09.07 |