3 Stimmen

Maschinelles Lernen - Implementierung einer Helmholtz-Maschine

Ich bin auf der Suche nach einer Implementierung der Helmholtz-Maschine.

Referenzen:

Ich bin auf der Suche nach quelloffenen oder kostenlosen Implementierungen. Ich bevorzuge Java-Implementierungen, aber auch Implementierungen in anderen Sprachen (vor allem c, C++, c# oder Python) würden mir helfen. Bei meiner Suche im Web habe ich nur abstrakte Beschreibungen dieses Ansatzes gefunden, aber keine konkrete Implementierung. Meine Hoffnung ist, einen Experten zu finden, der mehr Informationen zu diesem Thema hat.

3voto

racknuf Punkte 444

Deeplearning4j ist eine Open-Source-Implementierung verschiedener Deep-Learning-Maschinen, die Hinton als "Helmholtz" bezeichnen könnte. http://deeplearning4j.org/

0voto

Clive Williams Punkte 105

Ich habe mir das unter dem von Ihnen angegebenen Link kurz angesehen.

Ich arbeite seit 1968 mit einem kleinen Team an KI-Sensitivität" ..... !!!

Meine Gedanken sind wie folgt:

  1. Alle Ereignisse finden in einer "Zeitreihe" statt.

  2. Es gibt eine vergangene Zeitreihe, die aus Sicht des empfindungsfähigen Beobachters eine "hohe" Wahrscheinlichkeit hat.

  3. Es gibt eine zukünftige "vorhergesagte" Zeitreihe, die auf der Grundlage des "besten" (Zeitreihen-)Modells, das der empfindungsfähige Beobachter erstellen kann, vorhergesagt wird, und während die Zeitreihe in der Zukunft verschwindet, sinkt die Wahrscheinlichkeit, dass diese Zeitreihe "zur vergangenen Zeitreihe wird", gegen Null, und das könnte in Millisekunden oder in Milliarden von Jahren geschehen - je nach der Modelldynamik.

  4. Ich glaube nicht, dass es jemals eine "gegenwärtige Zeit" gibt.

  5. Leider bin ich nach dem Studium von Kalman-Filtern und Prädiktoren und deren Einsatz bei der Zielerfassung von Raketen zu dem Schluss gekommen, dass das ganze "Thema" der "mathematischen Darstellung" der besten Algorithmen (d. h. Modelle), die sich Menschen ausdenken können, Zeitverschwendung ist, da selbst das einfachste "Programm" eine Aufgabe erfüllt, die nicht durch mathematische Symbole dargestellt werden kann. ... und so bin ich zu dem Schluss gekommen, dass "Computeralgorithmen" mathematische Formeln "SIND" ... d.h. Formeln, für deren Beschreibung die normale symbolische Mathematik nicht über die nötigen Mittel verfügt (d.h. Programme sind einem komplexen mathematischen Notationssystem überlegen).

  6. Mathematik ist gut für "Beweise" und "große statistische Ideen", aber ... (und ich nähere mich jetzt dem Ende) ... ich würde deinem eigenen Instinkt "vertrauen", um ein "Modell" zu erstellen, das die Zukunft am besten vorhersagt .... d.h. es könnte das Konzept "abwechselnd mittwochs in den USA" enthalten ... und auch tausende anderer solcher nicht-mathematischer "Zustände" oder verschiedener "Axiome" ... was in Ordnung ist!

Sie fragen also, wie dies mathematisch korrekt sein kann !!!!

Die Antwort ist eigentlich ganz einfach >> das beste Modell - ist das beste Modell zur Vorhersage der Zukunft!

Und die Zukunft taucht überraschend oft auf - und so ist es einfach zu testen - und weiter zu testen!

Alles, was Sie brauchen, um zu wissen, dass Sie die beste "Mathematik" (d.h. das beste Programm) haben, ist zu sehen, wie viel "Rauschen" oder "Abweichung von der Vorhersage" in der Vorhersage im Vergleich zum tatsächlichen Ergebnis in der Zeitreihe existiert.

"State-Space" ist die beste "Mathematik", die man dafür verwenden kann ... d.h. man geht davon aus, dass es einen "zugrundeliegenden Zustand" gibt, und nimmt dann an, dass Ihre "Beobachtungen" nur fehlerhafte "verrauschte oder einfach falsche" Beobachtungen dieses zugrundeliegenden Zustands sind - d.h. die Ausgangssignale des Systems basieren "irgendwie" auf diesen "unsichtbaren" internen Systemzuständen.

Es gibt eine "Computersprache" für künstliche Intelligenz namens MTR, die wir (hauptsächlich in den 1980er Jahren) entwickelt haben und die für diese Art der dynamischen Modellerstellung gedacht ist - der Nachteil für uns (Menschen) ist jedoch, dass sie für KI-Entitäten und nicht für Menschen gedacht ist, obwohl wir sie bald mit einem "Pascal-ähnlichen" Frontend versehen werden, damit normale Menschen sie benutzen können. IBM, Intel, GCHQ, MOD, DOD usw. hatten alle Lizenzen - aber wir haben es dann auf Eis gelegt!

Wir beabsichtigen, das Projekt bald wieder aufzunehmen.

Wie auch immer, das ist es, was ich denke - ich hoffe, es ist nicht zu abstrakt für Ihre Zwecke!

Wir könnten sagen ... (und dabei scherze ich) .... dass Programmierer, die versuchen, "reine Mathematik" zu verwenden, um Programme zu schreiben, "die Hörner beim Stier haben" ?

So können Programmierer hoffentlich viel entspannter sein, wenn sie nicht die ganze Mathematik verstehen!!!

Ich hoffe, dass dieser Gedanke auch allen "Nicht-Mathe"-Lesern .... dieser Antwort hilft.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X