Ich möchte ANNs für mein Problem verwenden, aber das Problem ist, dass meine Ein- und Ausgabeknotennummern nicht behoben sind.
Ich habe eine Google-Suche durchgeführt, bevor ich meine Frage gestellt habe, und festgestellt, dass der RNN mir bei meinem Problem helfen kann. Aber alle Beispiele, die ich gefunden habe, haben irgendwie eine definierte Anzahl von Eingabe- und Ausgabeknoten.
Also suche ich nach einer Strategie, wie man sie real macht oder zumindest nach einigen Beispielen, die in Keras oder PyTorch vorzuziehen sind.
Weitere Details zu meinem Problem:
Ich habe zwei Eingabelisten, in denen die Länge der ersten fest ist und zwei beträgt, z.
in_1 = [2,2]
aber die Länge der zweiten Liste ist flexibel, die Länge kann von drei bis inf sein, zB:
in_2 = [1,1,2,2]
oder
in_2 = [1,1,1,2,2,2,3,3,3]
Auch Eingabelisten hängen voneinander ab. Die erste Liste zeigt die Dimension der Ausgabeliste. Wenn also in_1 = [2,2], bedeutet dies, dass die Ausgabe die Möglichkeit haben muss, sich in die Form [2,2] umzuformen.
Derzeit denke ich daran, zwei Eingabelisten zu einer zu kombinieren:
in = in_1 + in_2 = [2, 2, 1, 1, 2, 2]
Darüber hinaus hat die Ausgabe die gleiche Länge wie die in_2- Liste, z.
wenn Eingabelisten sind:
in_1 = [2, 2]
in_2 = [1, 1, 2, 2]
Die Ausgabe sollte sein:
out = [1, 2, 1, 2]
Irgendwelche Ideen sind willkommen!
Ich denke, Sie haben möglicherweise die feste Anzahl von Eingaben für das RNN falsch verstanden. Dies ist die Anzahl der Eingänge pro Zeitschritt . Alle Ihre Beispiele haben eine feste Anzahl von Eingaben pro Zeitschritt: 1! Sie geben sie einzeln an Ihr neuronales Netzwerk weiter und beenden sie mit einem speziellen "End" -Token (Sie könnten immer eine zweite Eingabe dafür haben). Bringen Sie ihm bei, keine Ausgabe zu geben, bis das End-Token angezeigt wird, und geben Sie dann die Komponenten des Ergebnisses einzeln aus, wobei Sie mit einem speziellen End-Ausgabe-Token enden.
quelle
Wenn Sie wissen, dass die erste Liste ziemlich unveränderlich ist (nur eine bestimmte Geometrie beschreibt), können Sie auch versuchen, viele verschiedene, spezialisierte NN für jede unterschiedliche in_1- Konfiguration zu erstellen und nur in_2 zum Einspeisen des Netzwerks zu verwenden.
So in_1 verschiedene networks.ie fahren
In einem ersten Schritt bestimmen Sie die Konfiguration (dh erstellen ein Diktat) und trainieren / speisen dann die spezialisierten Netzwerke entsprechend.
quelle