Implementierung von End-to-End-Speichernetzwerken mit sklearn-ähnlicher Schnittstelle mit TensorFlow. Aufgaben erfolgen aus dem Babl -Datensatz.
git clone [email protected]:domluna/memn2n.git
mkdir ./memn2n/data/
cd ./memn2n/data/
wget http://www.thespermwhale.com/jaseweston/babi/tasks_1-20_v1-2.tar.gz
tar xzvf ./tasks_1-20_v1-2.tar.gz
cd ../
python single.py
Eine einzige Babi -Aufgabe ausführen
Ausführen eines gemeinsamen Modells für alle Babi -Aufgaben
Diese Dateien sind auch ein gutes Beispiel für die Nutzung.
Damit eine Aufgabe übertrifft, muss sie 95%+ Testgenauigkeit erfüllen. Gemessen an einzelnen Aufgaben auf den 1K -Daten.
Pass: 1,4,12,15,20
Mehrere andere Aufgaben haben eine Genauigkeit von 80%+ Testgenauigkeit.
Stochastischer Gradientenabstieg Optimierer wurde mit einem amerikanischen Lernrate-Zeitplan verwendet, der in Abschnitt 4.2 von End-to-End-Speichernetzwerken angegeben ist
Die folgenden Parameter wurden verwendet:
| Aufgabe | Trainingsgenauigkeit | Validierungsgenauigkeit | Testgenauigkeit |
|---|---|---|---|
| 1 | 1.0 | 1.0 | 1.0 |
| 2 | 1.0 | 0,86 | 0,83 |
| 3 | 1.0 | 0,64 | 0,54 |
| 4 | 1.0 | 0,99 | 0,98 |
| 5 | 1.0 | 0,94 | 0,87 |
| 6 | 1.0 | 0,97 | 0,92 |
| 7 | 1.0 | 0,89 | 0,84 |
| 8 | 1.0 | 0,93 | 0,86 |
| 9 | 1.0 | 0,86 | 0,90 |
| 10 | 1.0 | 0,80 | 0,78 |
| 11 | 1.0 | 0,92 | 0,84 |
| 12 | 1.0 | 1.0 | 1.0 |
| 13 | 0,99 | 0,94 | 0,90 |
| 14 | 1.0 | 0,97 | 0,93 |
| 15 | 1.0 | 1.0 | 1.0 |
| 16 | 0,81 | 0,47 | 0,44 |
| 17 | 0,76 | 0,65 | 0,52 |
| 18 | 0,97 | 0,96 | 0,88 |
| 19 | 0,40 | 0,17 | 0,13 |
| 20 | 1.0 | 1.0 | 1.0 |
Pass: 1,6,9,10,12,13,15,20
Wiederum wurde der Optimierer des stochastischen Gradientenabfälle mit einem geglühten Lernrate-Zeitplan verwendet, der in Abschnitt 4.2 von End-to-End-Speichernetzwerken angegeben ist
Die folgenden Parameter wurden verwendet:
| Aufgabe | Trainingsgenauigkeit | Validierungsgenauigkeit | Testgenauigkeit |
|---|---|---|---|
| 1 | 1.0 | 0,99 | 0,999 |
| 2 | 1.0 | 0,84 | 0,849 |
| 3 | 0,99 | 0,72 | 0,715 |
| 4 | 0,96 | 0,86 | 0,851 |
| 5 | 1.0 | 0,92 | 0,865 |
| 6 | 1.0 | 0,97 | 0,964 |
| 7 | 0,96 | 0,87 | 0,851 |
| 8 | 0,99 | 0,89 | 0,898 |
| 9 | 0,99 | 0,96 | 0,96 |
| 10 | 1.0 | 0,96 | 0,928 |
| 11 | 1.0 | 0,98 | 0,93 |
| 12 | 1.0 | 0,98 | 0,982 |
| 13 | 0,99 | 0,98 | 0,976 |
| 14 | 1.0 | 0,81 | 0,877 |
| 15 | 1.0 | 1.0 | 0,983 |
| 16 | 0,64 | 0,45 | 0,44 |
| 17 | 0,77 | 0,64 | 0,547 |
| 18 | 0,85 | 0,71 | 0,586 |
| 19 | 0,24 | 0,07 | 0,104 |
| 20 | 1.0 | 1.0 | 0,996 |
Die Ergebnisse der einzelnen Aufgaben stammen aus 10 wiederholten Trails des Einzelaufgabenmodells, die alle 20 Aufgaben mit unterschiedlichen Zufallsinitialisierungen abrufen. Die Leistung des Modells mit der niedrigsten Validierungsgenauigkeit für jede Aufgabe ist in der obigen Tabelle angezeigt.
Die gemeinsamen Trainingsergebnisse stammen aus 10 wiederholten Wegen des Gelenkmodells, die alle Aufgaben abrufen. Die Leistung des einzelnen Modells, dessen Validierungsgenauigkeit die meisten Aufgaben übergab (> = 0,95), ist in der obigen Tabelle (Joint_Scores_Run2.csv) angezeigt. Die Ergebnisse aller 10 Läufe befinden sich im Ergebnis/ Verzeichnis.