zaterdag 20 april 2019

4 - More NLP

Inmiddels een grote serie aan variaties getest. Voor een groot deel met een beeperkte dataset (50k zinnen). Helaas om tot de conclusie te komen dat het oorspronkelijke model met een extra Dropout layer en een conv layer met bereik 7 nog het beste werkt. Tevens is het bijvoorbeeld sneller dan een eenvoudig gru model.(full data conv: 961s gru: 2386s)

Hierbij een overzicht van de uitgevoerde tests:

0 Model_attention(), Datalower + adjusted punctualities. best val_acc : 0.953899987757206
1 Model:conv(), Datalower + adjusted punctualities. best val_acc : 0.9536999876499176
2 Model:bi(), Datalower + adjusted punctualities. best val_acc : 0.9497999875545502
3   F1 :  0.7710 Model:conv() + F1 (Model:bi() F10.7404, Datalower + adjusted punctualities. best val_acc : 0.9503999890089035
4   F1 :  0.7732 Model:conv() + Conv1D layer to 7. best val_acc : 0.9475999900698662
5   F1 :  0.7197 Model:conv() + add Maxpooling + add SeqSelfAttention. best val_acc : 0.9496999888420105
6   F1 :  0.6876 Model:conv() + slow learning:optimizer=Adam(lr=0.0001) best val_acc : 0.9425999903678894
7   F1 :  0.7362 Model:conv() + Adamax best val_acc : 0.950499990105629
8   F1 :  0.7656 Model:conv() + input_length200  best val_acc : 0.9486999864578247
9   F1 :  0.7254 Model:conv() + preprocess no eol best val_acc : 0.9531999888420105
10  F1 :  0.7577 Model:conv() + expanded eol best val_acc : 0.9498999876379967
11  F1 :  0.7393 Model:conv() + keep more patience(5) + 10 epochs best val_acc : 0.9478999860882759
12  F1 :  0.7606 Model:conv() + back to best test best val_acc : 0.9492999871969223
13  F1 :  0.7384 Model:conv() + back to best test(2) best val_acc : 0.950899987399578
14  F1 :  0.7548 Model:conv() + back to best test(3) best val_acc : 0.9519999876618386
15  F1 :  0.7617 Model:conv() + reloading best model best val_acc : 0.9534999892115593
16  F1 :  0.7524 Model:conv() + Conv1D backto 5 best val_acc : 0.9479999871253967
17  F1 :  0.7370 Model:conv() + Conv1D to 9 and 1024 hidden best val_acc : 0.9527999883294106
18  F1 :  0.7555 Model:conv() + Conv1D to 7 and 1024 hidden best val_acc : 0.953199989259243
19  F1 :  0.7580 Model:conv() + Dropout(.5) best val_acc : 0.9489999877214432
20  F1 :  0.7383 Model:gru() + Dropout(.5) best val_acc : 0.9483999890089035
21  F1 :  0.7814 Model:gru() + units from 32 to 128 best val_acc : 0.9478999906182289
22  F1 :  0.7610 Model:gru() + units from 32 to 128-retest gru best val_acc : 0.9533999870419503
23  F1 :  0.7713 Model:gru() + units from 128 to 256 best val_acc : 0.9524999901056289
24  F1 :  0.6871 Model:gru() + units from 128 to 256- retest best val_acc : 0.9507999865412712
25  F1 :  0.7328 Model:gru() + units from 128 to 256- retest 2 - random_state=0 best val_acc : 0.9533999865055084
26  F1 :  0.7746 Model:gru() + units back to 128 - random_state=0 best val_acc : 0.953399988412857
27  F1 :  0.7593 Model:gru() + units back to 128 - random_state=0 - retest best val_acc : 0.9515999898314476
28  F1 :  0.7617 Model:gru() random_state=0 - retest(2) same numpy randomstate best val_acc : 0.9531999880671501
29  F1 :  0.7626 Model:gru() random_state=0 - retest(2) same numpy randomstate best val_acc : 0.9528999896645546
30  F1 :  0.7587 Model:conv() random_state=0  same numpy randomstate best val_acc : 0.9545999875664711
31  F1 :  0.7301 Model:conv() remove dropoutlayer (.5) best val_acc : 0.9543999876976014
32  F1 :  0.7322 Model:gru() add dropout + MaxPooling  best val_acc : 0.9429999912977218
33  F1 :  0.7651 Model:gru() (no dropout)  + MaxPooling  best val_acc : 0.9505999882221222
34  F1 :  0.7562 Model:gru() (no dropout)  + MaxPooling retest best val_acc : 0.9501999878287315
35  F1 :  0.7557 Model:gru2() best val_acc : 0.9496999884843826
36  F1 :  0.7589 Model:gru2() including conv layer best val_acc : 0.950699988424778
37  F1 :  0.8049 Model:gru() - full data best val_acc : 0.9505727423971995
38  F1 :  0.8058 Model:conv() - full data best val_acc : 0.946965844508675
39  F1 :  0.6837 Model:conv() - + glove (btw full data conv: 961s gru: 2386s) best val_acc : 0.9486999891996384
40  F1 :  0.7486 Model:conv() - + glove (btw full data conv: 961s gru: 2386s) best val_acc : 0.9550999863147736
41  F1 :  0.8047 Model:conv() - + glove full data - trainable emb layer best val_acc : 0.9481459817551817
42  F1 :  0.5725 Model:conv() - + glove full data best val_acc non trainable : 0.9276404074803888

Glove (pretrained embeddings) lijkt zo op het eerste gezicht weinig toe te voegen. Het is beter als de embedded layer trainable is.


Geen opmerkingen:

Een reactie posten