Frage

Hinweis: Ich bin kein mathematisches Genie, noch habe ich keine Erfahrung mit neuronalen Netzen zu schreiben. Also, bitte, verzeihen, was idiotische Dinge, die ich passiere, hier zu sagen. ;)

ich immer über neuronale Netze für Maschine gelesen habe Lernen verwendet werden, aber mit dem Schreiben von einfachen virtuellen Maschinen beim Experimentieren, begann ich zu fragen, ob sie in einer anderen Art und Weise angewandt werden könnten.

Insbesondere kann eine virtuelle Maschine als neuronales Netz geschaffen werden? Wenn ja, wie es funktionieren würde (fühlen sich frei, hier eine abstrakte Beschreibung zu verwenden, wenn Sie müssen)?

Ich habe von der Joycean Maschine gehört, aber ich kann keine andere Informationen als sehr, sehr vage Erklärungen.

EDIT: Was ich hier suchen ist eine Erklärung, genau wie ein neuronales Netzwerk-basierte VM Montag interpretieren würde. Wie würden Eingaben behandelt werden, etc? Würde jede einzelne Eingabe eine Speicheradresse sein? Lassen Sie uns ein Brainstorming!

War es hilfreich?

Lösung

Sie haben wirklich mein Tag Kumpel ...

Da ein bereits trainierten neuronalen Netzwerk nicht viel anders sein wird als eine normale Zustandsmaschine, gibt es keinen Punkt ein neuronales Netz VM für einen deterministischen Befehlssatz geschrieben werden.

Es könnte interessant sein, eine solche VM zu trainieren, mit mehreren Befehlssätzen oder einem unbekannten Satz. Ich bezweifle jedoch, es sinnvoll sein wird, eine solche Ausbildung auszuführen und sogar eine 99% richtige Dolmetscher wird für konventionelle Bytecode von Nutzen sein.

Die einzige Verwendung eines neuronalen Netzes VM I denken kann, ist die Ausführung eines Programms, das Fuzzy-Logik-Konstrukten oder AI-Algorithmus Heuristik enthält.

Einige dumme Stapelmaschine Beispiel die Idee zu demonstrieren:

push [x1]
push [y1] ;start coord
push [x2]
push [y2] ;end coord
pushmap [map] ;some struct
stepastar ;push the next step of A* heuristics to accumulator and update the map
pop ;do sth with is and pop
stepastar ;next step again
... ;stack top is a map
reward ;we liked the coordinate. reinforce the heuristic
stepastar
... ;stack top is a map
punish ;we didn't like the next coordinate. try something different

Es gibt keine explict heuristische hier. Gerade übernehmen wir alle Zustand in * Karte einschließlich des heuristischen Algorithmus halten.

Sie sehen, es sieht albern und nicht ganz sensiblen Kontext, sondern ein neuronales Netz ist wertlos, wenn sie nicht online lernen.

Andere Tipps

Natürlich. Mit einem recht komplexen Netzwerk keinen Zweifel.

Ein Großteil des Parsing von Bytecodes / Opcodes ist Musterübereinstimmung, die bei neuronalen Netzen treffen.

Sie könnten sicherlich dies mit einem neuronalen Netz -. Ich sehe, könnte leicht die korrekten Zustandsübergänge für ein bestimmtes Stück Bytecode Lernen

Input könnte etwas wie:

  • Wert oben auf dem Stack
  • Wert in Stromspeicher
  • Byte-Code an aktuellen Befehlszeiger
  • Byte-Wert bei aktuellen Datenzeigern
  • Zurück Flags

Output könnte etwas wie:

  • Wechseln Sie auf Befehlszeiger
  • Ändern zu Datenzeiger
  • Ändern zum Akkumulator
  • Stack-Betrieb (push, pop, oder nichts)
  • Speicherbetrieb (lesen Akkumulator, schreiben Akkumulator oder nichts)
  • Neue Flags

Allerdings - ich bin mir nicht sicher, warum diese in erster Linie tun möchte. Ein neuronales Netz wäre viel weniger effizient (und möglicherweise Fehler machen, wenn Sie es gut genug trainiert) im Vergleich zu nur den Bytecode direkt ausführen. Sie würden vermutlich eine genaue Bytecode Auswerter sowieso schreiben müssen nur genug Trainingsdaten ....

erstellen

Auch in meiner Erfahrung neigen neuronale Netze bei der Mustererkennung, gut zu sein, aber sehr schlecht zu lernen logische Operationen (wie binäre Addition oder XORs), wenn Sie über einen gewissen Umfang erhalten (das heißt mehr als ein paar Bits). So abhängig von der Komplexität des Befehlssatzes, wobei das Netzwerk eine sehr große Menge an Zeit in Anspruch nehmen könnte zu trainieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top