Seite 1 von 1

Maschinelles Lernen Grundverständniss

Verfasst: Freitag 25. Mai 2018, 14:32
von Fohlen
Hey Leute,

von meiner Firma hab ich ein Projekt über maschinelles Lernen erhalten. Nun habe ich mich ein/zwei Wochen mit der Theorie beschäftigt und Kurse (z.B. Google Crash Course) mit Tensorflow durchgeführt.

Ich verstehe nun wie man ein Modell aufbaut allerdings werden nirgends Informationen bereitgestellt die ich erstemal benötige. Daher hoffe ich auf ein paar Erklärungen/Erfahrungen eurerseits.

Die Aufgabe ist erstmal simpel, es soll mit verschiedenen Sensoren eine Präsenzerkennung gemacht werden. (Aktualisierung ca. alle 5min.)

1. Das Zielsystem ist ein 528 MHz Controller 50MB freier Speicher. Sind die Ressourcen ausreichend oder gleich auf einem Android-Smartphone implementieren?
2. Was ich noch nicht verstanden habe: Ich implementiere mein Modell und trainiere es mit mit Beispieltrainingsdaten, ist das Modell danach ein anderes oder läuft das Training jedes mal aufs neue bei der Berechnung durch?

Mir fehlt das Verständnis was nachher auf meinem System läuft und was benötigt wird.

Hoffe jemand kann mir das ein bisschen erklären. :)

MfG Fohlen

Re: Maschinelles Lernen Grundverständniss

Verfasst: Freitag 25. Mai 2018, 16:11
von __deets__
Die ueblichen Verfahren im ML lernen *nicht* kontinuierlich, sondern nur in der Trainingsphase. Ausnahmen sind Dinge wie Eigen-Face-basierte Gesichtserkennung, die waere sonst ja ziemlich wertlos.

Ob deine Anwendung auf diesem Rechner laufen kann, kann ich dir nicht sagen. Das Tensorflow weniger Resouren zum laufen als zum trainieren braucht ist klar, aber wieviel weniger genau haengt nun auch davon ab, was das Netzwerk tut etc. Da behaupte ich mal geht probieren ueber studieren.

Re: Maschinelles Lernen Grundverständniss

Verfasst: Freitag 25. Mai 2018, 17:02
von ThomasL
Wenn du dein Modell mit Beispieldaten trainierst, unterstelle ich mal ein Supervised ML Modell, d.h. du hast deine Sensorendaten und dazu jeweils die Zieldaten.
Nach dem Training sollte man das Modell mit Testdaten prüfen, d.h. eventuell den vorhandenen Beispieldatenpool aufteilen, so ca. 20% der Daten als Testdaten nehmen.
Wenn die Fehlerrate akzeptabel ist, kann das Modell dann auf das Zielsystem übertragen werden, dort läuft dann das Modell live mit Produktionsdaten.
Wenn du zu den Produktionsdaten keine Zieldaten hast, kann kein Training mehr stattfinden, ausser du speicherst die Produktionsdaten und ergänzt sie manuell mit Zieldaten und trainierst damit dein
ursprüngliches Modell, so dass es immer besser wird.
Wenn letzteres automatisiert passieren soll, dann muss das Ganze als Reinforced ML Modell gebaut werden.

Re: Maschinelles Lernen Grundverständniss

Verfasst: Freitag 25. Mai 2018, 17:28
von Fohlen
Okay das hilft mir schon mal ein bisschen.
Da die Sensordaten (Labels) für jeden Haushalt unterschiedlich sind muss das ganze demnach als Reinforced ML Modell implementiert werden. Auf dem Zielsystem befinden sich die Verlaufsdaten mit jeweils Päsenz/keine Präsenz (bisher vom Nutzer gesteuert).

Nun nehme ich die Verlaufsdaten und trainiere damit das jeweilige Modell, dazu kommt die Berechnung des aktuellen Präsenzwertes. Ist die Aussage falsch kann der Nutzer diese korrigieren und die Verlaufsdaten anpassen. So sollte das System immer besser werden, ist das so richtig?

Klingt alles sehr kompliziert und aufwändig :D

Re: Maschinelles Lernen Grundverständniss

Verfasst: Freitag 25. Mai 2018, 18:18
von ThomasL
Ich vermute mal es geht um Smart Home Beleuchtungssteuerung?
Was soll den dein Modell lernen?
Die Erkennnung ob jemand im Raum ist oder wann oder welche Wege benutzt werden, etc?

Re: Maschinelles Lernen Grundverständniss

Verfasst: Freitag 25. Mai 2018, 18:28
von Fohlen
Richtig im Smart-Home-Bereich.

Wie oben genannt wollen wir eine intelligente Möglichkeit, um die Präsenz-/Anwesenheit einer Person im Raum herauszufinden. Aufgrund verschiedener Sensoren (Bewegungsmelder, Präsenzmelder, CO2-Sensor, Temperatursensor ect.) lässt sich darauf schließen ob eine Person nun da ist oder nicht. Dies soll das Modell lernen und einen boolschen Wert (alle 5 min oder wenn neue Daten verfügbar sind) ausgeben.

Re: Maschinelles Lernen Grundverständniss

Verfasst: Freitag 25. Mai 2018, 18:46
von ThomasL
Da hat ja schon jeder Sensor eine entsprechende Zuverlässigkeit der Präsenzerkennung,
in der Kombination könnte man ja an Überwachung von High-Security Räumlichkeiten denken....
wobei da die Angabe alle 5 min dagegen spricht

Sämtliche Sensorenwerte sind die Inputdaten des NN, (True/False) ob jemand im Raum ist der Zielwert
Welche Werte liefern denn die Sensoren so, nur 0/1 oder lineare Werte von bis ?
Interessantes Projekt.

Re: Maschinelles Lernen Grundverständniss

Verfasst: Freitag 25. Mai 2018, 19:05
von Fohlen
Das Problem an Bewegungsmeldern ist, dass man nicht sieht ob jemand am Kommen oder Gehen ist. Durch zusätzliche Werte und deren Änderung wie Kohlendioxid (0 - 4000 ppm), Temperaturwerte (-20°C - 40′C) oder evtl. gar Zeiten (Alltagsroutinen) lässt sich die Anwesenheit deutlich besser definieren. Also spielt sowohl die Anzahl als auch die Art der Sensoren eine Rolle, wie genau das System schlussendlich ist.

Hast du dazu eine Idee/Erfahrungswerte welche Ressourcen oder Implementierungsart sich dazu empfiehlt?

Re: Maschinelles Lernen Grundverständniss

Verfasst: Freitag 25. Mai 2018, 19:34
von ThomasL
Wenn du Ressourcen oder Implementierungsart auf Neuronale Netze und ML beziehst so bin ich da selber noch in der Lernphase,
habe erst Anfang des Jahres mit Python Programmierung begonnen und bin von der Materie NN und ML fasziniert.