Öhm, hab mich wohl nicht eingeloggt...
Druckbare Version
Öhm, hab mich wohl nicht eingeloggt...
Ich würde gerne nochmal das Beispiel von der Entfernungsmessung nehmen:Zitat:
Ob die Clients die Output-Daten des Servers dann zyklisch abfragen müssen, oder automatisch permanent gesendet bekommen, weiß ich noch nicht. Abfragen hat natürlich den Vorteil, dass man einen Client nicht mit Daten zuballert, die er u.U. so schnell gar nicht verarbeiten kann...
Ein Entfernungswert könnte jederzeit bei Bedarf abgeholt werden (Reaktion).
Dieser Bedarfsfall sollte nicht die Regel sein, um zu überprüfen, ob eine "gefährliche" Distanz unterschritten wurde, sonder um sie z.B. für die Auswertung eines anderen Ereignisses heran zu ziehen.
Sollte im Gegensatz dazu eine Schwellenwert unterschreitung stattfinden, so sollte eine Aktion ausgelöst werden (Aktion).
Das letzte Wort irritiert mich aus Deinem "Munde". O:)Zitat:
Ich denke, es wäre für's erste doch eine Option, das Protokoll festzuschreiben.
Ich würde es gerne so formulieren:
Um zeitnahe erste Tests machen zu können, sollte ein Basisprotokoll geschaffen werden, auf dem sich weitere (höhere) Protokollschichten aufsetzen lassen. Oder ?
Jep, einfach und in vielen Fällen ausreichend, da häufig keine Rückmeldung (Dialog) erforderlich ist.Zitat:
Meinst Du das Starten einer Exe durch ein Output-Neuron getriggert? Wäre natürlich auch eine Idee, die relativ "kostengünstig" zu implementieren ist.
Bsp.: Das Starten einer "Shutdown.exe" erklärt sich von selbst...
Unabhängig von irgendwelchen Protokollen könnte eine "Plugin"-Funktion, ev. auch selbstprogrammierte, Aufgaben getriggert durchführen.Zitat:
Was möchtest Du mit einer DLL Schnittstelle erreichen? Möchtest Du DLLs für unterschiedliche Protokolle einbinden oder woran hast Du dabei gedacht?
Bsp.: Perfomancekritische Aktionen
Eine Information ist ein Datum mit einer zugehörigen Interpretation.Zitat:
Die Werte der IO-Neuronen übers Netz zu senden/empfangen ist in dieser Hinsicht wohl machbarer. Die Frage ist doch, wer deutet die Werte? Der Sender oder der Empfänger?
Eine Nachricht ist das Übermitteln einer Information von einem Sender zu einem Empfänger.
Eine Nachricht kommt also nur dann zustande, wenn Sender UND Empfänger die Daten interpretieren können !
Hi zusammen,
wollte nur schnell sagen, dass ich im Moment nicht so zum Antworten komme, aber trotzdem zwischendurch immer mit Interesse mitlese.
Da sind einige Punkte aufgetaucht, die ich gerne nochmal aufgreifen würde.. habe hoffentlich bald wieder einen Zeitschlitz dafür frei... 8-[
Hat nebenbei außerdem einer ne Idee, warum ich in diesem Forum immer wieder mal plötzlich ausgeloggt bin, wenn ich eine Antwort schreibe oder in ein anderes Forum wechsle?!
Grüße,
Friggle
... wie zum Beispiel gerade eben, als ich definitiv beim Abschicken der Antwort eingeloggt war!
Mal sehen, ob's diesmal klappt... da muß man ja zur Sicherheit immer den Namen drunterschreiben...
Friggle
Ziemlich gutes Programm.
Blick nur noch nicht ganz mit der Bedienung durch
Freut mich!
Wenn Du konkrete Fragen hast, einfach stellen. Wenn man so eine Software schreibt, wird man auch irgendwann "betriebsblind" und kann nicht mehr ganz einschätzen, ob bestimmte Dinge für andere verständlich sind oder nicht.
Und dann kommt's natürlich auch noch darauf an, ob man schon gewisse Grundkenntnisse über NNe hat, oder nicht...
Gruß,
Friggle
Ich denke, dass das nicht ganz vergleichbar ist: Bei MemBrain müsste ein Client ja schließlich bestimmen können, mit welcher MemBrain Instanz er sich verbinden möchte (jede enthält ja u.U ein völlig anderes Netz mit anderen I/O Namen etc.). Dementsprechend müsste jede MemBrain Instanz ein eigener Server sein, der auf einem in bestimmten Grenzen zuweisbaren Port lauscht.Zitat:
So müsste MemBrain mit mehreren Instanzen doch auch agieren
Da hab' ich sowieso Bedenken: Für Backpropagation müsste man jeder MemBrain Instanz auch noch Fehler-Signale übermitteln. Außerdem müsste das Ganze synchronisiert ablaufen, in einer bestimmten, bekannten Reihenfolge der Sub-Netze. Eine Instanz müsste "Master" sein, die I/O Daten kennen und dann das Lernen triggern, welches dann in einer Art Kettenreaktion über alle Instanzen laufen müsste, bis zurück zum Master. In einem ersten Anlauf möchte ich das ganz bestimmt noch nicht realisieren. Hinzu kommt, dass der Backprop Algorithmus sowieso ein Problem mit Netzen mit vielen Layern hat: Die Fehlersignale werden beim Zurückpropagieren per Definition immer kleiner, so dass Schichten, die weit vom Ausgang weg liegen, kaum trainiert werden.Zitat:
Uuhh, dann stellt sich die Frage, wie man ein Netz, das sich auf diverse PCs verteilt, die zwar übers Netz verbunden sind, trainiert.
Was ich mir da schon eher vorstellen kann, ist eine Art Hebb'scher Lernalgorithmus, bei dem ein Neuron lediglich seine direkten Nachbarn kennen muss, um seine Aktivierungsschwelle und sein Verbindungsstärken zu ändern. Das entspricht auch vielmehr der Biologie, es muss keine bestimmte Netzarchitektur vorliegen. Allerdings habe ich mit solchen Teachern bisher keine Erfolge gehabt, da bin ich noch am Tüfteln.
Mit einem solchen Teacher könnte jede MemBrain Instanz für sich selbst lernen, ohne von den anderen zu wissen. Dann bräuchte man vielleicht nur noch so eine Art Botenstoff-Arsenal, welches als globale Messages von verschiedenen MemBrain Instanzen verteilt werden könnte... fantasier...
Kann man doch schon mit Hilfe der Think- und Teach-Geschwindigkeit. Gibt es da immer noch Probleme?Zitat:
Vielleicht könnte man ja doch was drehen an der Priorität von MemBrain, damit auch stärkerer Netzwerkverkehr noch durchkommt:-)
Allerdings... der Gedanke macht mir auch wirklich Spaß!!Zitat:
Ein (MemBrain-)Netz über ein (TCP-)Netzwerk zu verteilen, stößt meiner Ansicht nach an schon fast philosophische Grenzen.
Generell würde ich das einheitlich gestalten (z.B. Inputs pollen, Outputs berechnen und bei Anfragen nach außen zur Verfügung stellen). Prinzipiell benötigt ein Netz bei jedem Berechnungsschritt einen möglichst aktuellen Satz Input Daten. Ob es die nun gesendet bekommt oder zyklisch pollt ist aus meiner Sicht gar nicht so wichtig, ich denke man sollte hier auf ein möglichst robustes und performanzoptimiertes Modell zielen.Zitat:
Ich würde gerne nochmal das Beispiel von der Entfernungsmessung nehmen:
Ein Entfernungswert könnte jederzeit bei Bedarf abgeholt werden (Reaktion).
Dieser Bedarfsfall sollte nicht die Regel sein, um zu überprüfen, ob eine "gefährliche" Distanz unterschritten wurde, sonder um sie z.B. für die Auswertung eines anderen Ereignisses heran zu ziehen.
Sollte im Gegensatz dazu eine Schwellenwert unterschreitung stattfinden, so sollte eine Aktion ausgelöst werden (Aktion).
Schön gesagt... dieser Formulierung kann ich natürlich nur zustimmen ;-)Zitat:
Ich würde es gerne so formulieren:
Um zeitnahe erste Tests machen zu können, sollte ein Basisprotokoll geschaffen werden, auf dem sich weitere (höhere) Protokollschichten aufsetzen lassen. Oder ?
bin auf die Software gespannt.
Gruß
Ich auch ;-)
Bitte nicht ungeduldig werden, das kann noch ein Weilchen dauern...
Grüße,
Friggle
Hallo zusammen,
es gab einen Bug Fix, so dass im Download-Bereich jetzt die MemBrain Version 02.00.00.08 zu haben ist.
Die Simulation hatte die Unart, einzufrieren, sobald im sichtbaren Fensterbereich keine Änderung mehr auftrat.
Grüße,
Friggle