Professional Documents
Culture Documents
Bert Fine Tuning Concept Explained
Bert Fine Tuning Concept Explained
안재학 프로
BertForSequenceClassification
Metric
f1_score
roc_auc_score
Accuracy
Loss
BCEWithLogitsLoss
Metric
f1_score
roc_auc_score
Accuracy
Confusion Matrix
분류결과표 ( 혼돈
행렬 )
Accuracy ( 정확도 )
Recall ( 재현률 )
Precision ( 정밀도 )
Confusion Matrix
Accuracy ( 정확도 )
( TP + TN ) / ( TP + TN
+ FP + FN )
Recall ( 재현률 )
TP / ( TP + FN )
Precision ( 정밀도 )
TP / ( TP + FP )
Accuracy 의 문제점
6 월에 눈이 내릴지 여부 예측
Recall 을 사용해보자
Recall
6 월에 눈이 내릴지 여부 예측
실제 눈이 내린 날 ( TP + FN )
중 몇 번이나 맞췄는가 ( TP )?
Negative 만 예측할 경우 TP 는
작아지고 FN 는 커져 Recall
점수 0 에 가까워 짐
Recall 의 문제
전부 Positive 로 예측
정확도 99.9%
그럼 Precision 사용하자
Precision
6 월에 눈이 내릴지 여부 예측
눈이 내릴 것이라고 한 날 ( TP
+ FP ) 중 실제로 몇 일이나
내렸나 ( TP )?
언제나 Positive 라고 할 경우
FP 가 커지기 때문에 Precision
은 0 에 가까워 짐
F1
두 개를 평균내자
Recall, Precision 의 조화 평균
Recall = Sensitivity
1 - Specificity
ROC curve
True Positive Rate(TPR)
Recall = Sensitivity
TP / ( TP + FN)
1 - Specificity
1 - ( TN / (TN + FP) )
FP / ( FP + TN )
Draw ROC
T = [ 1, 0, 0, 1, 1, 0 ]
Threshold = 0.5
P = [ 1, 1, 0, 0, 0, 1 ]
(0.6, 0.3)
TPR = TP / ( TP + FN ) = 1 / 3
FPR = FP / ( FP + TN ) = 2 / 3
Draw ROC
(0.6, 1.0)
T = [ 1, 0, 0, 1, 1, 0 ]
Threshold = 0.3
P = [ 1, 1, 0, 1, 1, 1 ]
(0.6, 0.3)
TPR = TP / ( TP + FN ) = 3 / 3
FPR = FP / ( FP + TN ) = 2 / 3
Draw ROC
(0.6, 1.0) (1.0, 1.0)
T = [ 1, 0, 0, 1, 1, 0 ]
Threshold = 0.1
P = [ 1, 1, 1, 1, 1, 1 ]
(0.6, 0.3)
TPR = TP / ( TP + FN ) = 3 / 3
FPR = FP / ( FP + TN ) = 3 / 3
Draw ROC
(0.6, 1.0) (1.0, 1.0)
T = [ 1, 0, 0, 1, 1, 0 ]
P = [ 1, 1, 0, 1, 0, 1 ]
(0.6, 0.3)
TPR = TP / ( TP + FN ) = 2 / 3
FPR = FP / ( FP + TN ) = 2 / 3
Draw ROC
어떻게 비교 ..?
AUC
코드 : transformers/modeling_bert.py
BCEWithLogitsLoss()
..?
BCEWithLogitsLoss()
Wn 무시
Yn = True
Xn = Prediction
Log = 자연로그
 = sigmoid
BCEWithLogitsLoss()
Y = [ 1, 0, 0, 1 ]
Y = [ 1, 0, 0, 1 ]
Y = [ 1, 0, 0, 1 ]
Y = 1 일 때의 loss : 3.968
BCEWithLogitsLoss()
Y = [ 1, 0, 0, 1 ]
Y = [ 1, 0, 0, 1 ]
Y = [ 1, 0, 0, 1 ]
Y = 1 일 때의 loss : 3.968
Y = 0 일 때의 loss : 5.8274
“ 이 카페 디저트
진짜 맛있구요 , BERT True = [ 1, 0, 0, 1 ]
Multi-Label
깨끗하기도 합니다 .” Classification
Model Predict = [ -3.9, -3.7, 5.8, 3 ]
BCEWithLogitsLoss = 9.7954
Back Propagation