Mir ist bewusst, dass neuronale Netze wahrscheinlich nicht dafür ausgelegt sind. Ist es jedoch möglich, das tiefe neuronale Netz (oder ähnliches) zu trainieren, um mathematische Gleichungen zu lösen?
Bei 3 Eingaben: 1. Nummer, Vorzeichen des Bedieners (1 - +
, 2 - -
, 3 - /
, 4 - *
usw.) und 2. Nummer, sollte das Netzwerk nach dem Training die gültigen Ergebnisse liefern.
Beispiel 1 ( 2+2
):
- Eingang 1:
2
; Eingabe 2:1
(+
); Eingang 3:2
; Erwartete Ausgabe:4
- Eingang 1:
10
; Eingabe 2:2
(-
); Eingang 3:10
; Erwartete Ausgabe:0
- Eingang 1:
5
; Eingabe 2:4
(*
); Eingang 3:5
; Erwartete Ausgabe:25
- und so
Das Obige kann auf anspruchsvollere Beispiele erweitert werden.
Ist das möglich? Wenn ja, welche Art von Netzwerk kann das lernen / erreichen?
neural-networks
math
Kenorb
quelle
quelle
Antworten:
Ja, es wurde getan!
Die Anwendungen sollen jedoch keine Taschenrechner oder ähnliches ersetzen. Das Labor, mit dem ich in Verbindung stehe, entwickelt neuronale Netzwerkmodelle für das Gleichungssystem, um besser zu verstehen, wie Menschen diese Probleme lösen können. Dies ist ein Teil des Gebiets, das als mathematische Erkenntnis bekannt ist . Leider ist unsere Website nicht sonderlich informativ, aber hier ist ein Link zu einem Beispiel für eine solche Arbeit.
Abgesehen davon neigen neuere Arbeiten zur Erweiterung neuronaler Netze auf externe Speicher (z. B. Neuronale Turing-Maschinen) dazu, mathematische Probleme als guten Proof-of-Concept-Ansatz zu verwenden. Dies liegt daran, dass viele arithmetische Probleme lange Prozeduren mit gespeicherten Zwischenergebnissen beinhalten. Lesen Sie die Abschnitte in diesem Artikel über lange binäre Additionen und Multiplikationen.
quelle
Nicht wirklich.
Neuronale Netze eignen sich zum Bestimmen nichtlinearer Beziehungen zwischen Eingaben, wenn ausgeblendete Variablen vorhanden sind. In den obigen Beispielen sind die Beziehungen linear und es gibt keine versteckten Variablen. Aber selbst wenn sie nicht linear wären, wäre ein traditionelles ANN-Design nicht gut geeignet, um dies zu erreichen.
Wenn Sie die Ebenen sorgfältig aufbauen und das Training genau überwachen, können Sie ein Netzwerk aufbauen, das konsistent die Ausgabe 4.01 erzeugt, beispielsweise für die Eingaben: 2, 1 (+) und 2, aber dies ist nicht nur falsch, sondern von Natur aus unzuverlässig Anwendung der Technologie.
quelle
1) Es ist möglich! Tatsächlich ist es ein Beispiel für das beliebte Deep-Learning-Framework Keras. Schauen Sie sich diesen Link an, um den Quellcode zu sehen .
2) In diesem speziellen Beispiel wird ein wiederkehrendes neuronales Netzwerk (RNN) verwendet, um das Problem als Folge von Zeichen zu verarbeiten, wobei eine Folge von Zeichen erzeugt wird, die die Antwort bilden. Beachten Sie, dass sich dieser Ansatz offensichtlich davon unterscheidet, wie Menschen dazu neigen, einfache Additionsprobleme zu lösen, und wahrscheinlich auch nicht, wie ein Computer jemals ein solches Problem lösen soll. Meist ist dies ein Beispiel für Sequenz-zu-Sequenz-Lernen mit Keras. Bei der Verarbeitung von sequentiellen oder Zeitreiheneingaben sind RNNs eine beliebte Wahl.
quelle
Ja - es scheint, dass es jetzt möglich ist, mehr zu erreichen. Das Beispiel in diesem Artikel beschreibt eine DL-Lösung für ein erheblich schwierigeres Problem - die Generierung des Quellcodes für ein in natürlicher Sprache beschriebenes Programm .
Beide können als Regressionsprobleme beschrieben werden (dh das Ziel besteht darin, eine Verlustfunktion auf dem Validierungssatz zu minimieren), aber der Suchraum in der natürlichen Sprache ist viel größer.
quelle
Es gibt das ziemlich gut etablierte Gebiet der automatisierten Theoremprüfung . Dies umfasst höchstwahrscheinlich das Lösen von Gleichungen, beinhaltet jedoch nicht notwendigerweise KI. Dieser Beitrag vom Cross Validated StackExchange enthält weitere Informationen zum Thema.
quelle