[PYTHON] Ich möchte es nicht zugeben ... Die dynamische Systemdarstellung von Neural Network

Dieser Artikel ist der Artikel zum 18. Tag von NTT Communications Adventskalender 2019. Gestern war @ yusuke84s Artikel Über die Unterstützung der WebRTC-Plattform SkyWay nachdenken. **Fröhliche Weihnachten! **: santa :: christamas_tree :: gift :: santa :: christamas_tree :: gift :: santa :: christamas_tree :: gift :: santa :: christamas_tree :: gift :: santa :: christamas_tree :: gift :: santa :: : christums_tree :: gift ::

Einführung

Da es sich um den Adventskalender des Unternehmens handelt, schreiben wir am Anfang einige technische Tipps! Als ich darüber nachdachte, suchte ich nach einer Geschichte über das Neuronale Netz, aber am Ende entschied ich mich für eine Geschichte, die mich interessierte, die eher theoretisch als umsetzend war, und dieser Artikel ist das Ende davon. (Nun, es ist okay für eine Person, wegzulaufen, da bin ich mir sicher)

Also werde ich eine Geschichte schreiben, die mich schon seit einiger Zeit interessiert, über den Ausdruck physikalischer Systeme unter Verwendung des neuronalen Netzwerks. In der Zwischenzeit werde ich eine neuartige Methode veröffentlichen, die auf der Geschichte dieses Gebiets basiert. Ich träume daher davon, dass ich eine entsprechende Bewertung vom Unternehmen erhalten möchte. (Funkeln

Wer bist du! ??

Ich bin ein Mitarbeiter im zweiten Jahr, der normalerweise grundlegende Technologien erforscht und entwickelt, die zur Datenwissenschaft und KI in der Abteilung für Technologieentwicklung beitragen. Dies ist ein Beitrag von @ BootCamp_2019, da der echte Schmutz (fast nur ROM) stärker kontaminiert ist.

Wie Sie diesem Namen entnehmen können, war ich Dozent des diesjährigen Data Science & AI-Kurses unseres internen Trainings "BootCamp".

Danach gibt es jedes Mal etwas, "Statistischer Test 1. Klasse" "Mathematischer Test 1. Klasse ", Er zeigt seine Qualifikationen, die in der Forschungsbranche nutzlos sind.

Das Unternehmen erforscht und entwickelt hauptsächlich multivariate Zeitreihenanalysen, spärliche Schätzungen, Faktorenanalysen usw., aber ich persönlich mag nichtlineare Mechanik, Kontraktionstheorie und informationsstatistische Mechanik.

Infolgedessen basiert dieser Artikel auch auf meinem persönlichen Geschmack. (Tehepero

Motiviert

Seit einiger Zeit wird die Anwendung von Deep Learning in verschiedenen Bereichen diskutiert. Dies ist eine sehr erfreuliche Sache, und für mich, der ich ursprünglich im theoretischen System der Mathematik war, ist es eine große Motivation, mich ernsthaft mit Deep Learning zu beschäftigen. Wird gemunkelt, dass die Einbeziehung von Theorien und Schemata, die in verschiedenen Bereichen geschätzt werden, in Deep Learning in eine Phase der Ernüchterung eingetreten ist? Es ist gleichbedeutend mit einem neuen Wind in Deep Learning, und ich denke, es ist eine wunderbare Sache, die nächste Entwicklung aus vielen Perspektiven erforschen zu können.

Dieser Artikel wurde mit der Hoffnung geschrieben, dass Sie damit sympathisieren werden.

Ich beabsichtige, es mit einem einfachen Modell und einer Erklärung so weit wie möglich zusammenzufassen. Ich würde es begrüßen, wenn Sie der Meinung sind, dass die Atmosphäre interessant ist. (Wenn Sie damit vertraut sind, teilen Sie mir bitte die Hamilton-Dynamik des Mehrkörper-Phasenoszillatormodells mit. Ich bin jetzt am meisten daran interessiert.)

Mechanische Systemdarstellung mit Neural Network

Neuronales Netz und Differentialgleichungen

Die Welt besteht aus Differentialgleichungen.

Zum Beispiel wird die kinetische Gleichung der einfachen Federschwingung, die in der Physik der High School gelernt wurde, wie folgt beschrieben. (Angenommen, $ m $ ist Masse, $ a $ ist Beschleunigung, $ k $ ist Federkonstante, $ x $ ist die Position des Objekts und die Gleichgewichtsposition ist der Ursprung, eine einfache eindimensionale Bewegung.) $ ma = -kx $ tan.png[^1] [^ 1]: Teilweise zitiert aus Unbekannte Lösung der physikalischen Bewegungsgleichung [einfache Vibration]. Am Beispiel der einfachen Vibration zeigen und vergleichen wir vielfältige Lösungen wie Taylor-Expansion, Exponentialfunktion und konservative Menge.

Wenn Sie in Zukunft etwas tiefer graben und lernen, werden Sie lernen, dass die Geschwindigkeit $ v $ eines Objekts die Zeitdifferenzierung erster Ordnung der Position $ x $ ist und die Beschleunigung $ a $ die Zeitdifferenzierung erster Ordnung der Geschwindigkeit $ v $ bedeutet. Ich werde. Das heißt, Beschleunigung $ a $ bedeutet zeitliche Differenzierung zweiter Ordnung der Position $ x $. Indem klar angegeben wird, dass die Position eine Funktion der Zeit $ x (t) $ ist, und sie sorgfältig beschrieben wird, kann die obige kinetische Gleichung wie folgt umgeschrieben werden. $ m\frac{d^2x(t)}{dt^2} = -kx(t) $

Eine Differentialgleichung ist eine Funktionsgleichung, die als relationaler Ausdruck zwischen einer unbekannten Funktion und ihrer Ableitung beschrieben wird. Die kinetische Gleichung der einfachen Federschwingung ist auch eine Differentialgleichung.

Ein besseres mathematisches Modell ist für eine bessere theoretische Interpretation physikalischer Phänomene unerlässlich. Durch die Verwendung von Differentialgleichungen können reale Phänomene als mathematische Probleme formuliert werden (basierend auf einigen Annahmen und Näherungen) und durch Interpretation der Bedeutung der Lösung des Problems, des ursprünglichen Phänomens selbst Sie können eine theoretische Interpretation geben.

Wenn Sie beispielsweise die Differentialgleichung, die die einfache Federschwingung ausdrückt, mathematisch lösen, erhalten Sie die folgende Lösung. ($ A $ ist jedoch die Amplitude und $ \ alpha $ ist die Anfangsphase, die beide aus der Anfangsposition $ x (0) $ und der Anfangsgeschwindigkeit $ v (0) $ bestimmt werden.) $ x(t)=A\sin\left(\sqrt{\frac{k}{m}} t +\alpha\right) $ Wenn Sie diese Lösung auf der Zeitebene $ t $ darstellen und $ x $ wie in der folgenden Abbildung gezeigt positionieren, können Sie sehen, dass sie dem Verhalten der tatsächlichen einfachen Vibration entspricht.

image-phy5-1.gif[^2]

[^ 2]: Prüfungsnotiz Der schwierigste Teil der Mechanik! Was ist einfache Vibration? Gründlicher Kommentar von Doktoranden der Universität Tokio![Physik der High School]. Es behandelt die Theorie der einfachen Schwingung gleichmäßig und die Figur ist leicht zu verstehen.

Tatsächlich ist die Formulierung mathematischer Modelle unter Verwendung von Differentialgleichungen nicht nur für physikalische Phänomene nützlich, sondern auch für eine Vielzahl von Phänomenen wie Biologie, Chemie, Politik, Wirtschaft und Gesellschaft. Mit anderen Worten, die Phänomene in der Welt können durch die Differentialgleichungen ausgedrückt werden, und umgekehrt kann die Entdeckung einer gültigen Differentialgleichung als ein Problem bezeichnet werden, das der theoretischen Interpretation des Phänomens entspricht. (Du solltest einen Traum haben und ihn sagen!)

Leider lehren wir in der japanischen Hochschulbildung, obwohl wir lehren, wie man Differentialgleichungen löst, nicht viel, wie man Differentialgleichungen macht. Während es für jeden leicht ist, mit den richtigen Werkzeugen zu lösen, ist es sehr schwierig, ein neues zu erstellen, und es ist viel wichtiger als es zu lösen. Wenn Sie Differentialgleichungen erstellen möchten, wird dieses Buch [^ 3] empfohlen. Es ist ein gutes Buch mit einer Vielzahl von Anwendungsbeispielen und eignet sich ideal zum Trainieren des Modellbaus.

41oNUWfit7L.jpg

[^ 3]: Erstellen wir ein mathematisches Modell mit Differentialgleichungen, Japan Critics (1990/4/9).

Differentialgleichungen und ResNet

Ich habe vergessen zu erwähnen, dass die in diesem Artikel behandelten Differentialgleichungen streng genommen eine Gruppe sind, die gewöhnliche Differentialgleichungen genannt wird. Aber was ist eine normale Differentialgleichung? Da es lang sein wird, werde ich es an einen anderen Ort geben, und da es schwierig ist, es zu reparieren, werde ich die gewöhnliche Differentialgleichung weiterhin als Differentialgleichung bezeichnen.

Nun wird die grundlegende Differentialgleichung erster Ordnung im Allgemeinen im folgenden Format angegeben. $ \frac{dx(t)}{dt}=f(x(t)) $ Die Differenzierung kann übrigens in den folgenden Grenzen aus der Definition erhalten werden. $ \frac{dx(t)}{dt}=\lim_{\Delta t\to0}\frac{x(t+\Delta t)-x(t)}{\Delta t} $ Wenn Sie also das Verhalten einer Differentialgleichung mit einem Computer simulieren möchten, ist es am einfachsten, die Zeit in Intervallen von $ \ Delta t $ zu verteilen und numerische Berechnungen basierend auf der diskreten Zeit $ t_n = n \ Delta t $ durchzuführen. Ich werde. $ \frac{x(t_{n+1})-x(t_n)}{\Delta t}=f(x(t_n)) $ Dies wird ein wenig verändert. $ x(t_{n+1})=x(t_n)+f(x(t_n))\Delta t $ Und obwohl es ein wenig bergab geht, können Sie es schließlich wie folgt ausdrücken, wenn Sie es durch $ g (x (t_n)) = f (x (t_n)) \ Delta t $ ersetzen. $ x(t_{n+1})=x(t_n)+g(x(t_n)) $ Haben Sie jemals einen Praktiker mit diesem Format und einem guten Verständnis gesehen? Wenn Sie darauf starren, können Sie es als eine Gleichung des gleichen Formats wie ResNet [^ 4] sehen, das bei der Bilderkennungsaufgabe vorherrschte.

Im Gegenteil, von der Seite des neuronalen Netzwerks aus werde ich versuchen, diese Gleichung Schritt für Schritt zu erreichen.

Das folgende Diagramm stammt aus Abbildung 2 von ResNet [^ 4].

20171104001512.png

Schließlich werden auf jeder Ebene einer Architektur für einige Eingaben $ x $ eine flexible nichtlineare Transformation (wie die Afiine-Transformation) und eine nichtlineare Transformation (wie die Aktivierungsfunktion) angemessen kombiniert. Die Konvertierung $ \ mathcal {F} (x) $ wird ausgegeben und an die nächste Ebene weitergegeben. Der Ausbreitungsweg des zentralen vertikalen Pfeils in der Abbildung veranschaulicht dies genau. (Die Abbildung sagt Relu, aber im Allgemeinen ist auch etwas anderes als Relu möglich.)

Das Herz von ResNet befindet sich auf der rechten Seite des Ausbreitungspfads (Umweg) mit der Aufschrift "$ x $ identity". Details bleiben dem Originalpapier überlassen [^ 4], aber dieser Ausbreitungspfad (Umweg) ist eine konstante Abbildung, und die Eingabe wird so wie sie ist mit der Ausgabe zusammengeführt. Infolgedessen ist bekannt, dass das Lernen selbst in einem Netzwerk mit einer sehr großen Anzahl von Schichten effizient verläuft, und es wird angenommen, dass der Grund dafür ist, dass die Fehlerrückübertragung effizient verläuft.

Wenn die Eingabe $ x_n $ und die Ausgabe $ x_ {n + 1} $ für den $ n $ -ten ResNet-Block ist, kann die vorherige Abbildung wie folgt umgeschrieben werden.

x_{n+1}=x_n+\mathcal{F}^{(n)}(x_n)

Es kann gesagt werden, dass dies genau die gleiche Form der diskreten Differentialgleichung selbst ist, die zuvor gezeigt wurde. Genauer gesagt wäre es einfacher zu verstehen, ob $ x (t_n) $ in der Differentialgleichung und $ x_n $ im ResNet-Block übereinstimmen.

Darüber hinaus hat in RevNet [^ 5], das als Verallgemeinerung von ResNet bekannt ist, jeder Block die folgende symmetrische Struktur.

\begin{eqnarray} x_{n+1}&=&x_n+\mathcal{F}(y_n)\\\ y_{n+1}&=&y_n+\mathcal{G}(x_n) \end{eqnarray}

Wenn wir dieselbe Diskussion wie zuvor betrachten, können wir sehen, dass dies eine diskrete Version der folgenden simultanen Differentialgleichungen ist. $ \begin{eqnarray} \frac{dx(t)}{dt}&=&f(y(t))\\\ \frac{dy(t)}{dt}&=&g(x(t)) \end{eqnarray} $

Aus der bisherigen Diskussion sollte hervorgehen, dass nicht alle Differentialgleichungen in ResNet (oder RevNet) beschrieben werden können. Weitere Informationen zu diesem Bereich finden Sie in diesem kürzlich populären Buch [^ 6]. Dieses Buch ist ein sehr gutes Buch. Wenn Sie also die tiefe Beziehung zwischen tiefem Lernen und Physik untersuchen möchten, wäre ich Ihnen dankbar, wenn Sie es aufgreifen könnten. Insbesondere in diesem Artikel wurde zur Vereinfachung der Diskussion die Berücksichtigung der Anzahl der Einheiten usw. abgeschnitten. Überprüfen Sie daher bitte die Details in diesem Buch usw.

[^ 6]: Das Verständnis der Prinzipien des tiefen Lernens und der Physik kann angewendet werden, Kodansha (2019/6/22) ).

ODENet (Neural Ordinary Differential Equations) Diese Arbeit [^ 8], die als beste Arbeit von NeurIPS 2018 [^ 7] ausgewählt wurde, schlägt eine epochale Methode vor, die die durch die Differentialgleichung und das neuronale Netzwerk gesteuerte Zeitentwicklungsgleichung verbindet. Die Implementierung des Autors wird auf Github veröffentlicht [^ 9].

ODENet betrachtet die Verarbeitung jeder Schicht wie der verborgenen Schicht von ResNet und RNN als eine Zeitentwicklungsgleichung mit einer kontinuierlichen Grenze in der Zeitrichtung und baut ein neuronales Netzwerk auf, indem es explizit als (normale) Differentialgleichung gelöst wird. ist. Indem es kontinuierlich gemacht wird, verschwindet das Konzept der tiefen Lernschicht, die Effizienz des Speichers und der Berechnungsmenge ist gut, und als Optimierung, die der Rückausbreitung entspricht, kann ein Löser der (normalen) Differentialgleichung verwendet werden, und verschiedene innovative Dinge wie Wir schlagen eine Methode vor.

Dies ist ein Diagramm aus Abbildung 1 von ODENet [^ 8]. Während die Abbildung links die diskrete Zeitentwicklung mit normalem ResNet beschreibt, kann ODENet rechts die kontinuierliche Zeitentwicklung darstellen. Das Konzept der diskreten Schichten gibt es nicht mehr. (Es ist perfekt, wenn Sie das Gefühl haben, dass es viele Atmosphärenpfeile (Vektorfelder) gibt.) 68747470733a2f2f692e696d6775722e636f6d2f753650645337522e706e67.png

Darüber hinaus kann der kontinuierliche Normalisierungsfluss (CNF), eine Erweiterung des Normalisierungsflusses ^ 10, verwendet werden, um die Wahrscheinlichkeitsdichte effizient zu lernen, und die zeitliche Entwicklung latenter Variablen kann kontinuierlich gemacht werden, um Zeitreihendaten effizienter zu gestalten. Eine Lernmethode wird vorgeschlagen.

Auf dieser Seite [^ 11] [^ 12] [^ 13] finden Sie eine detaillierte Erklärung der Theorie über ODENet.

Abgesehen davon wird der Code in diesem Normalizing Flow, einem anderen Repository [^ 14] desselben Autors, veröffentlicht. Es macht Spaß, tatsächlich eine seltsame Wahrscheinlichkeitsdichte zu konstruieren.

Zum Beispiel kann die Wahrscheinlichkeitsdichte eines Mannes, der immer warm über uns wacht, ziemlich genau so berechnet werden.

traj.gif

[^ 7]: Neuronale Informationsverarbeitungssysteme, kurz NeuroIPS. Heutzutage ist die alte Abkürzung NIPS noch besser geeignet.

Neuronales Netz und Hamilton-Dynamik

Was ist Hamilton-Mechanik?

Die Hamilton-Mechanik ist eine Form der analytischen Mechanik, die Phänomene unter Verwendung einer mysteriösen charakteristischen Funktion namens Hamiltonian analysiert. Hamiltonian ist eine physikalische Größe, die der Energie in der Physik entspricht, und viele Eigenschaften eines physikalischen Systems können von Hamiltonian beschrieben werden. (Hamiltonian ist nicht unbedingt ein Konzept, das auf physikalische Phänomene beschränkt ist, aber es ist einfacher, sich die folgenden Diskussionen vorzustellen, wenn das Thema physikalische Phänomene sind, also sage ich hier Energie.)

Nun, ich werde die schwierige Geschichte zurückstellen und denken, dass sie der Gesamtenergie der Physik der High School entspricht. Das heißt, wenn Hamiltonsche und kinetische Energie und potentielle Energie als $ \ mathcal {H}, \ mathcal {K} bzw. \ mathcal {U} $ ausgedrückt werden, hängen sie wie folgt zusammen.

\mathcal{H}=\mathcal{K}+\mathcal{U}

Ein weiteres wichtiges Konzept ist, dass die Hamilton-Mechanik verallgemeinerte Koordinaten und verallgemeinerten Impuls einführt. Hier reicht es jedoch aus, verallgemeinerte Koordinaten einfach als normale Koordinaten und verallgemeinerten Impuls als normalen Impuls (Produkt aus Masse und Geschwindigkeit) zu betrachten. Wenn diese als $ q bzw. p $ ausgedrückt werden, können sie in der folgenden Beziehung zu gewöhnlichen physikalischen Größen ausgedrückt werden.

\begin{eqnarray} q(t)&=&x(t)\\\ p(t)&=&mv(t) \end{eqnarray}

Es geht sehr bergab, aber ich denke, dass es so eine verrückte Notation gibt, und ich werde tatsächlich nach einem Hamiltonianer über die Differentialgleichung der einfachen Federschwingung fragen.

Dies ist sehr einfach. Es reicht aus, die kinetische Energie und die potentielle Energie unter Verwendung von verallgemeinerten Koordinaten bzw. verallgemeinertem Impuls wie folgt umzuschreiben: $ \begin{eqnarray} \mathcal{K}&=&\frac{1}{2}mv^2(t)=\frac{1}{2m}p^2(t)\\\ \mathcal{U}&=&\frac{1}{2}kx^2(t)=\frac{1}{2}kq^2(t) \end{eqnarray} $ Das heißt, der Hamiltonianer mit einfacher Federschwingung sieht wie folgt aus. $ \mathcal{H}=\frac{1}{2m}p^2(t)+\frac{1}{2}kq^2(t) $

Der Grund für die Einführung der Größe wie Hamilton ist, dass die Symmetrie der kanonischen Transformation und der kanonischen Gleichung schön ist, aber es gibt eine bequeme Beziehung. Es ist frustrierend, aber ich überlasse die Details anderen und glaube, dass sie hier die folgenden Beziehungen haben. $ \begin{eqnarray} \frac{dq(t)}{dt}&=&\frac{\partial \mathcal{H}}{\partial p}\\\ \frac{dp(t)}{dt}&=&-\frac{\partial \mathcal{H}}{\partial q} \end{eqnarray} $

Lassen Sie uns als Beispiel Hamiltonian mit einfachen Federvibrationen anwenden. $ \begin{eqnarray} \frac{dq(t)}{dt}&=&\frac{\partial \mathcal{H}}{\partial p}=\frac{p(t)}{m}\\\ \frac{dp(t)}{dt}&=&-\frac{\partial \mathcal{H}}{\partial q}=-kq(t) \end{eqnarray} $

Da es ein wenig schwer zu verstehen ist, werden die verallgemeinerten Koordinaten und der verallgemeinerte Impuls auf die ursprünglichen physikalischen Größen zurückgesetzt. $ \begin{eqnarray} \frac{dx(t)}{dt}&=&\frac{mv(t)}{m}=v(t)\\\ m\frac{dv(t)}{dt}&=&-kx(t) \end{eqnarray} $

Der erste relationale Ausdruck drückt aus, dass Geschwindigkeit ein Zeitdifferential der Position ist. Das Problem ist der zweite relationale Ausdruck, der eigentlich die ursprüngliche Bewegungsgleichung der einfachen Federschwingung selbst ist. Wenn man ersetzt, dass die Geschwindigkeit tatsächlich das Zeitdifferential der Position ist (der erste relationale Ausdruck), wird klar, dass sie mit der am Anfang dieses Artikels erwähnten kinetischen Gleichung der einfachen Federschwingung übereinstimmt. $ m\frac{dv(t)}{dt}=m\frac{d^2x(t)}{dt^2}=-kx(t) $

Tatsächlich enthält Hamiltonian zu viele wichtige Informationen, um das Phänomen zu beschreiben, und die Analyse des Phänomens aus Hamiltonian-Sicht (um ein kleines Missverständnis zuzulassen) ist genau die Essenz der Hamilton-Dynamik. Da wir uns hier mit der einzelnen Bewegung der einfachen Federschwingung befasst haben, ist es schwierig, die Dankbarkeit zu vermitteln, aber wenn es um komplizierte Phänomene wie Mehrkörperbewegung und Verbindung geht, wird der wahre Charakter demonstriert.

Für Hamiltonian (und Lagrangian) ist es möglicherweise eine gute Idee, diesen Bereich [^ 15] zuerst zu lesen. [^ 15]: Siehe Kamakiri Analytical Dynamics in Space Lagrange- und Hamilton-Formaten. Insbesondere der Vergleich mit dem Lagrange-Format ist leicht zu verstehen. Übrigens heißt die Geschichte wie die Physik der High School vorher Newton-Mechanik.

Hamilton Neural Network Hier werden wir einen anderen Ansatz als ODENet vorstellen, der zuvor unter den neuronalen Netzen eingeführt wurde, die Phänomene ausdrücken. Diese Methode wurde auch in NeuroIPS 2019 [^ 7] übernommen, und Sie können sie sofort mit diesem Originalpapier [^ 16] und der Implementierung des Autors [^ 17] ausprobieren.

Diese Methode ist intuitiv sehr einfach und leicht zu verstehen. Indem wir die kanonische Gleichung, die den Kern der Hamilton-Mechanik bildet, als Verlustfunktion verwenden, lernen wir ein neuronales Netzwerk, das Hamilton aus der Eingabe verallgemeinerter Koordinaten und des verallgemeinerten Impulses gut ausdrückt.

Der Punkt hier ist, dass Sie nicht unbedingt Hamiltonian selbst lernen, ob gut oder schlecht, sondern etwas Ähnliches wie Hamiltonian. Selbst wenn der spezifische Hamilton-Operator des Phänomens unbekannt ist, kann daher erwartet werden, dass ein neuronales Netzwerk aufgebaut werden kann, das die zeitliche Entwicklung gut ausdrücken kann.

Der allgemeine Lernfluss im Hamilton Neural Network ist wie folgt.

(1) Die in Zeitrichtung getrennten verallgemeinerten Koordinaten und der verallgemeinerte Impuls werden als Eingabedaten verwendet.

(2) Das neuronale Netz ist durch den Parameter $ \ theta $ zu kennzeichnen

(3) Geben Sie den Skalarwert $ \ mathcal {H} _ \ {\ theta } $ durch Vorwärtsausbreitung aus (beachten Sie, dass die Anforderung von Hamiltonian in dieser Ausgabestufe nicht enthalten ist).

(4) Berechnen Sie die folgenden Werte durch Backpropagation unter Verwendung der automatischen Differenzierung. $ \frac{\partial \mathcal{H}\_\theta}{\partial p},\\:\frac{\partial \mathcal{H}\_\theta}{\partial q} $

(5) Ermitteln Sie die zeitliche Differenzierung von verallgemeinerten Koordinaten und verallgemeinertem Impuls anhand der Informationen der Zeit, die einen Schritt voraus ist (dies entspricht den Lehrerdaten). $ \frac{dq(t)}{dt},\\:\frac{dp(t)}{dt} $

(6) Lernen Sie anhand der kanonischen Gleichung, die folgende Verlustfunktion zu minimieren. $ L_{HNN}=\left(\frac{\partial \mathcal{H}\_\theta}{\partial p}-\frac{dq(t)}{dt}\right)^2+\left(\frac{\partial \mathcal{H}\_\theta}{\partial q}+\frac{dp(t)}{dt}\right)^2 $

Das Folgende ist ein Diagramm aus Abbildung 1. des Hamilton-Netzwerks [^ 16].

overall-idea.png

Im Vergleich zu dem einfachen neuronalen Netz, das als Basislinie bezeichnet wird, ist ersichtlich, dass die vorgeschlagene Methode das Verhalten des ursprünglichen physikalischen Phänomens gut ausdrücken kann.

Ist es als interessante Anwendung, wie in Abbildung 4 unten gezeigt, möglich, das Phänomen gut zu reproduzieren, selbst wenn nur die Bilddaten des physikalischen Phänomens eingegeben werden? Screen-Shot-2019-11-18-at-15.24.38.png

Das Problem ist jedoch, dass eine einzelne Bewegung zwar etwas ausdrücken kann, das dem gemessenen Wert relativ äquivalent ist, jedoch für Mehrkörperbewegungen mit Interaktion nicht sehr gut lernen konnte.

Wie Sie in Abbildung B.3 sehen können, ist das Verhalten der Drei-Körper-Übung relativ früh zusammengebrochen. (Es ist wahrscheinlich, dass es mit der Anziehungskraft des anderen kollidiert ...) Im Vergleich zu Baseline habe ich jedoch das Gefühl, dass versucht wird, eine kreisförmige Umlaufbahn aufrechtzuerhalten, daher denke ich, dass dies relativ gut ist.

スクリーンショット 2019-12-18 15.14.38.png

Obwohl es sich um ein sehr intuitives und einfaches neuronales Netzwerk handelt, ist es sehr interessant, eine einzelne Bewegung konkret ausdrücken zu können. Ich denke, es gibt noch Raum für Entwicklung, daher werden Forschung und Entwicklung Fortschritte machen.

Informationen zu diesem Dokument finden Sie in den Erläuterungen auf den Websites [^ 18] [^ 19], da diese leicht zu verstehen sind. [^ 18]: AI-SCHOLAR Hamiltonian Neural Networks, das die Vorhersage von Objektbewegungen ermöglicht, die dem Energieeinsparungsgesetz entsprechen, Ich bin immer verschuldet. [^ 19]: Github yoheikikuta / Papierlesen [2019] Hamiltonian Neural Networks, es ist immer noch leicht zu verstehen.

Zusammenfassung

Es war ein Artikel, der den Inhalt der Stiche für diejenigen zusammenfasste, die so stechen. Ich dachte, ich würde eine sehr tugendhafte Zusammenfassung schreiben, aber ich komme gerade zu Nanki Shirahama im Entwicklungslager des Unternehmens, und ich habe weniger als 10 Minuten bis zur Besprechungszeit, um zum Abendessen zu gehen. Wenn ich mich also noch einmal an diese Zeit erinnere Ich werde! Ich bin hungrig. .. ..

Es scheint, dass der Gott unseres Teams auch aus dem öffentlichen Bad zurückgekehrt ist, also ist es das fürs Erste.

Morgen ist ein sehr tugendhafter Artikel von @kirikei, einem großartigen Senior aus demselben Team und derselben Universität! !! !! Wir warten darauf, dass Sie aufrecht sitzen! !! !! Wird lernen! !! !!

Recommended Posts

Ich möchte es nicht zugeben ... Die dynamische Systemdarstellung von Neural Network
Ich möchte die Legende der IT-Technologiewelt kennenlernen
Ich möchte das Erscheinungsbild von zabbix anpassen
Ich möchte das Ausführungsergebnis von strace erfassen
Ich möchte die Grundlagen von Bokeh vollständig verstehen
Ich möchte die Sicherheit der SSH-Verbindung erhöhen
Ich möchte nur die SudachiPy-Normalisierungsverarbeitung verwenden
Ich möchte Betriebsinformationen über die Yahoo-Route erhalten
Ich möchte die Authentizität eines Elements eines numpy-Arrays bestimmen
Ich möchte die Natur von Python und Pip kennenlernen
Keras Ich möchte die Ausgabe einer beliebigen Ebene erhalten !!
Ich möchte den Namen der ausgeführten Funktion / Methode erhalten
[Pytorch] Ich möchte die Trainingsparameter des Modells manuell zuweisen
Ich möchte die HTML-Version der OpenCV 3.1-Version "OpenCV-Python Tutorials" lesen
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
Vergleich von GCP-Computerdiensten [Ich möchte es serverlos verwenden]
Ich möchte die Position meines Gesichts mit OpenCV überprüfen!
Ich möchte die Bevölkerung jedes Landes der Welt kennenlernen.
Ich möchte Spyder an die Taskleiste anheften
Ich möchte kühl auf die Konsole ausgeben
Ich möchte mit dem Reim Teil1 umgehen
Ich möchte mit dem Reim part3 umgehen
Ich möchte den Fortschrittsbalken anzeigen
Ich möchte mit dem Reim part2 umgehen
Ich möchte mit dem Reim part5 umgehen
Ich möchte mit dem Reim part4 umgehen
Ich habe versucht, die Genauigkeit meines eigenen neuronalen Netzwerks zu verbessern
Ich möchte das Ergebnis von "Zeichenfolge" .split () in Python stapelweise konvertieren
Ich möchte die abstrakte Klasse (ABCmeta) von Python im Detail erklären
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
Ich möchte meine Gefühle mit den Texten von Mr. Children ausdrücken
Ich möchte die Gefühle von Menschen analysieren, die sich treffen und zittern wollen
Ich möchte den Erfolg von NBA-Spielern mit dem Qore SDK vorhersagen
Ich möchte einen beliebigen Befehl im Befehlsverlauf von Shell belassen
Ich möchte das automatische Löschen des tmp-Bereichs in RHEL7 stoppen
Python: Ich möchte die Verarbeitungszeit einer Funktion genau messen
Die mit vim bearbeitete Datei war schreibgeschützt, aber ich möchte sie speichern
Ich möchte den Pfad des Verzeichnisses abrufen, in dem die laufende Datei gespeichert ist.
Ich möchte den Transferstatus der 2020 J League visualisieren. Was soll ich tun?
Die Geschichte der IPv6-Adresse, die ich auf ein Minimum beschränken möchte
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
P100-PCIE-16GB wurde der GPU von Google Colab hinzugefügt, bevor ich es wusste
Ich möchte mit dem Reim part7 (BOW) umgehen
Ich möchte keinen Codierungstest machen
Ich habe versucht, die Trapezform des Bildes zu korrigieren
Ich möchte PyTorch verwenden, um so etwas wie den Text von Japari Park zu generieren
Ich möchte einen Lebenszyklus in der Aufgabendefinition von ECS festlegen
Arbeitsmemorandum (Pymongo) Teil 3. Ich möchte es nicht noch einmal überprüfen, also notieren Sie es sich (Aggregat)
Ich möchte dem Anfang einer WAV-Datei 1 Sekunde lang Stille hinzufügen
Ich möchte die Daten von League of Legends ③ erhalten
Ich möchte die Daten von League of Legends ② erhalten
Ich möchte eine Liste der WebDAV-Dateien im Modul Anfragen anzeigen
Ich möchte -inf nicht mit np.log verwenden
Ich möchte das Bild entlang der Kontur anstelle des Rechtecks zuschneiden [Python OpenCV]
Ich möchte die Ergebnisse von% time, %% time usw. in einem Objekt (Variable) speichern.
Ich habe versucht, die Daten des Laptops durch Booten unter Ubuntu zu retten
Ich habe versucht, die Lernfunktion im neuronalen Netzwerk sorgfältig zu verstehen, ohne die Bibliothek für maschinelles Lernen zu verwenden (erste Hälfte).
Ich habe die Größenänderung von TensorFlow nicht verstanden und sie daher visuell zusammengefasst.