第三階段實驗 - s9891326/Fine-Tuning-BERT GitHub Wiki
- 使用少量的資料改善模型弱點
- 設計持續更新模型機制
- 延續第二階段實驗的資料,進行第三階段實驗,主要使用少量的資料來改善模型弱點。
- 只使用新資料進行模型訓練
- 載入跟新資料對應比例的舊資料混合起來訓練
- eg:假設新資料集各標籤筆數[0, 1, 489],混合筆數[1000, 1000, 500] => [1000, 1001, 989]
- 加入固定數量的舊資料到各個標籤
- eg:
mix_number
= 100,假設新資料集各標籤筆數[0, 1, 489],混合筆數[100, 100, 100] => [100, 101, 589]
- eg:
- 載入少量的資料進行新模型的訓練,並不會導致原本的正確率下降
-
準備三種測試集(2019、2019 + 修正弱點、修正弱點),訓練集(2019、2019 + 修正弱點的資料集、各種混合情況比較),驗證舊測試集的Loss/Accuracy
-
(新訓練集)修正弱點(490筆, 0:
0
、1:1
、2:489
),以此為基底下去混合舊資料 -
這裡引用的舊模型為: 2019的訓練集,訓練出來0.2806/0.9022的舊模型
-
訓練
- (舊模型)2019資料集(14023筆,0:
4248
、1:5403
、2:4372
) - (新)2019資料集 + 修正弱點
- (新-不混)直接load_model進行新資料集training
- (新-比例混)按照新資料集的各標籤比例來混合舊資料集,再load_model進行新資料集training
- (新-固定數量混)依照指定混合的數目進行training
- (舊模型)2019資料集(14023筆,0:
-
測試
- 2019資料集(3506筆,0:
1079
、1:1307
、2:1120
) - 2019 + 修正弱點(3626筆,0:
1079
、1:1307
、2:1240
)- 修正弱點(120筆, 0:
0
、1:0
、2:120
)
- 修正弱點(120筆, 0:
- 修正弱點(120筆, 0:
0
、1:0
、2:120
)
(舊)2019 (新)2019 + 修正弱點 新-不混 新-比例混 (新)mix_100 (新)mix_300 (新)mix_500 (新)mix_700 2019資料集 0.2806/0.9022 0.2661/0.9113
3.9492/0.3366 0.3373/0.8982 0.3981/0.8851 0.4119/0.8913 0.3587/0.8856 0.4237/0.8851 2019 + 修正弱點 0.2789/0.9035 0.2583/0.9137
3.9497/0.3439 0.2620/0.9131 0.3109/0.8991 0.3429/0.9032 0.3001/0.8985 0.3172/0.9057 修正弱點 0.2261/0.9426 0.0334/0.9836 0.1230/0.9836 0.0033/1.0000
0.0074/1.0000
0.0016/1.0000
0.0140/0.9918 0.0402/0.9836 訓練時間 369.485s 383.941s 101.511s 196.689s 113.19s 135.604s 158.523s 181.504s (舊)2019
2019資料集 precision recall f1-score support 0 0.9637 0.8911 0.9260 1102 1 0.8697 0.9575 0.9115 1318 2 0.8871 0.8462 0.8662 1086 accuracy 0.9022 3506 macro avg 0.9068 0.8983 0.9012 3506 weighted avg 0.9046 0.9022 0.9020 3506 2019 + 修正弱點 precision recall f1-score support 0 0.9590 0.8911 0.9238 1102 1 0.8685 0.9575 0.9109 1318 2 0.8982 0.8557 0.8764 1206 accuracy 0.9035 3626 macro avg 0.9086 0.9014 0.9037 3626 weighted avg 0.9059 0.9035 0.9033 3626 修正弱點 precision recall f1-score support 0 0.1667 1.0000 0.2857 1 1 0.3333 1.0000 0.5000 1 2 1.0000 0.9417 0.9700 120 accuracy 0.9426 122 macro avg 0.5000 0.9806 0.5852 122 weighted avg 0.9877 0.9426 0.9605 122
(新)2019 + 修正弱點
2019資料集 precision recall f1-score support 0 0.9377 0.9292 0.9335 1102 1 0.8981 0.9431 0.9201 1318 2 0.9010 0.8545 0.8771 1086 accuracy 0.9113 3506 macro avg 0.9123 0.9089 0.9102 3506 weighted avg 0.9115 0.9113 0.9110 3506 2019 + 修正弱點 precision recall f1-score support 0 0.9360 0.9292 0.9326 1102 1 0.8981 0.9431 0.9201 1318 2 0.9111 0.8673 0.8887 1206 accuracy 0.9137 3626 macro avg 0.9151 0.9132 0.9138 3626 weighted avg 0.9140 0.9137 0.9134 3626 修正弱點 precision recall f1-score support 0 0.3333 1.0000 0.5000 1 1 1.0000 1.0000 1.0000 1 2 1.0000 0.9833 0.9916 120 accuracy 0.9836 122 macro avg 0.7778 0.9944 0.8305 122 weighted avg 0.9945 0.9836 0.9876 122
新-不混
2019資料集 precision recall f1-score support 0 0.0000 0.0000 0.0000 1102 1 1.0000 0.0311 0.0603 1318 2 0.3134 1.0000 0.4773 1086 accuracy 0.3214 3506 macro avg 0.4378 0.3437 0.1792 3506 weighted avg 0.4730 0.3214 0.1705 3506 2019 + 修正弱點 precision recall f1-score support 0 0.0000 0.0000 0.0000 1102 1 1.0000 0.0311 0.0603 1318 2 0.3364 1.0000 0.5034 1206 accuracy 0.3439 3626 macro avg 0.4455 0.3437 0.1879 3626 weighted avg 0.4754 0.3439 0.1894 3626 修正弱點 precision recall f1-score support 0 0.0000 0.0000 0.0000 1 1 0.0000 0.0000 0.0000 1 2 0.9836 1.0000 0.9917 120 accuracy 0.9836 122 macro avg 0.3279 0.3333 0.3306 122 weighted avg 0.9675 0.9836 0.9755 122
新-比例混
2019資料集 precision recall f1-score support 0 0.9605 0.9038 0.9313 1102 1 0.9176 0.9211 0.9193 1318 2 0.8560 0.9033 0.8790 1086 accuracy 0.9102 3506 macro avg 0.9114 0.9094 0.9099 3506 weighted avg 0.9120 0.9102 0.9106 3506 2019 + 修正弱點 precision recall f1-score support 0 0.9605 0.9038 0.9313 1102 1 0.9176 0.9211 0.9193 1318 2 0.8697 0.9129 0.8908 1206 accuracy 0.9131 3626 macro avg 0.9159 0.9126 0.9138 3626 weighted avg 0.9147 0.9131 0.9135 3626 修正弱點 precision recall f1-score support 0 1.0000 1.0000 1.0000 1 1 1.0000 1.0000 1.0000 1 2 1.0000 1.0000 1.0000 120 accuracy 1.0000 122 macro avg 1.0000 1.0000 1.0000 122 weighted avg 1.0000 1.0000 1.0000 122
(新)mix_100
2019資料集 precision recall f1-score support 0 0.8772 0.9450 0.9099 1036 1 0.8996 0.9111 0.9053 1328 2 0.8746 0.8004 0.8358 1142 accuracy 0.8851 3506 macro avg 0.8838 0.8855 0.8837 3506 weighted avg 0.8849 0.8851 0.8840 3506 2019 + 修正弱點 precision recall f1-score support 0 0.9104 0.9220 0.9161 1102 1 0.9019 0.9203 0.9110 1318 2 0.8850 0.8549 0.8697 1206 accuracy 0.8991 3626 macro avg 0.8991 0.8991 0.8989 3626 weighted avg 0.8988 0.8991 0.8988 3626 修正弱點 precision recall f1-score support 0 1.0000 1.0000 1.0000 1 1 1.0000 1.0000 1.0000 1 2 1.0000 1.0000 1.0000 120 accuracy 1.0000 122 macro avg 1.0000 1.0000 1.0000 122 weighted avg 1.0000 1.0000 1.0000 122
(新)mix_300
2019資料集 precision recall f1-score support 0 0.8826 0.9363 0.9087 1036 1 0.9071 0.8968 0.9019 1328 2 0.8528 0.8170 0.8345 1142 accuracy 0.8825 3506 macro avg 0.8808 0.8834 0.8817 3506 weighted avg 0.8822 0.8825 0.8820 3506 2019 + 修正弱點 precision recall f1-score support 0 0.9173 0.9156 0.9164 1102 1 0.9101 0.9067 0.9084 1318 2 0.8664 0.8715 0.8690 1206 accuracy 0.8977 3626 macro avg 0.8979 0.8979 0.8979 3626 weighted avg 0.8978 0.8977 0.8977 3626 修正弱點 precision recall f1-score support 0 0.5000 1.0000 0.6667 1 1 1.0000 1.0000 1.0000 1 2 1.0000 0.9917 0.9958 120 accuracy 0.9918 122 macro avg 0.8333 0.9972 0.8875 122 weighted avg 0.9959 0.9918 0.9932 122
(新)mix_500
2019資料集 precision recall f1-score support 0 0.8906 0.9431 0.9161 1036 1 0.8887 0.9142 0.9013 1328 2 0.8763 0.8004 0.8366 1142 accuracy 0.8856 3506 macro avg 0.8852 0.8859 0.8847 3506 weighted avg 0.8852 0.8856 0.8846 3506 2019 + 修正弱點 precision recall f1-score support 0 0.9253 0.9211 0.9231 1102 1 0.8895 0.9226 0.9058 1318 2 0.8838 0.8516 0.8674 1206 accuracy 0.8985 3626 macro avg 0.8995 0.8984 0.8988 3626 weighted avg 0.8985 0.8985 0.8983 3626 修正弱點 precision recall f1-score support 0 1.0000 1.0000 1.0000 1 1 0.5000 1.0000 0.6667 1 2 1.0000 0.9917 0.9958 120 accuracy 0.9918 122 macro avg 0.8333 0.9972 0.8875 122 weighted avg 0.9959 0.9918 0.9932 122
(新)mix_700
2019資料集 precision recall f1-score support 0 0.8665 0.9527 0.9076 1036 1 0.8923 0.9104 0.9012 1328 2 0.8962 0.7942 0.8422 1142 accuracy 0.8851 3506 macro avg 0.8850 0.8858 0.8837 3506 weighted avg 0.8860 0.8851 0.8839 3506 2019 + 修正弱點 precision recall f1-score support 0 0.9070 0.9383 0.9224 1102 1 0.9027 0.9287 0.9155 1318 2 0.9080 0.8507 0.8784 1206 accuracy 0.9057 3626 macro avg 0.9059 0.9059 0.9054 3626 weighted avg 0.9057 0.9057 0.9053 3626 修正弱點 precision recall f1-score support 0 0.5000 1.0000 0.6667 1 1 0.5000 1.0000 0.6667 1 2 1.0000 0.9833 0.9916 120 accuracy 0.9836 122 macro avg 0.6667 0.9944 0.7750 122 weighted avg 0.9918 0.9836 0.9863 122
- 2019資料集(3506筆,0:
- 實驗報告
- 使用load_model的方式進行模型的訓練,也有不錯的結果,建議使用
按照比例
的方式來抓取舊資料集內的資料。從實驗結果上來說是比較好的