Copyright © Dipl.-Ing. Johannes Hofer 2022, Auszug aus dem neuen active learn book
Die KI-SPS
Die Möglichkeit einer Programmierung für eine SPS, um diese am Geschehen der künstlichen Intelligenz zu beteiligen
4.1.1
Falsches Lernen
Betrachten wir für den Einstieg in unserem
Simulator ein einfaches Beispiel für einen analogen Eingang in Verbindung mit einem
digitalen Ausgang. Hier möchte ich zeigen, dass wir auch bei analogen Signalen ein SD
anwenden können. Allerdings sollten wir nun besonders darauf achten, dass
richtig gelernt wird, um unser geplantes Ziel zu erreichen.
Nun was ist richtig oder falsch?
Bei den binären Signalen haben wir nur true und false und die entsprechende Verknüpfung dazu. Das KV-Diagramm lässt sich also hier wunderbar als
Lernsystem einsetzen. Wie ist das nun bei unserem analogen Bild mit seinen 100 möglichen Zuständen?
Das kennen wir ja aus der Programmierung, das
mit den Operatoren <=, >= und
ganz besonders gefährlich der Vergleich =, ☹.
Auch
hier gilt die Regel, nicht ans Programmieren denken!
Ein kleines Beispiel: Wir möchten eine Heizung
ab 0°C einschalten und bei 20° C abschalten. Dabei betrachten wir einen gesamten,
möglichen Temperaturbereich von 0°-100°C unipolar. So müssen wir in unseren Steuergerät keine besondere Skalierung
vorbereiten, da diese bereits von 0-100 skaliert wird. Betrachten wir dazu den
ersten Lernprozess in Bild 14.
Bei 0°C wird die Heizung am digitalen Ausgang eingeschaltet (Punkt 1) und bei 20°Celsius (Punkt 2) wieder ausgeschaltet.
Ganz einfach und mehr nicht. In Punkt 3
sehen wir das gelernte über zwei Regeln, welche auch so an das Steuergerät bzw.
an den internen Simulator im JSON-Format
übertragen werden.
Bild 14: Falsches
Lernen durch fehlende Information
Im Test (Bild 15)
können wir nun zufriedenstellend feststellen, dass vorerst alles wunderbar so
funktioniert, wie wir uns das ausgedacht haben. Warum der Button CIL On/Off eingeschaltet ist, haben wir bereits aus Kapitel 3 gelernt. Zur Erinnerung: Die Heizung
würde sonst bei 2°C wieder abschalten, da das Signal Critical-InputLayer aufleuchtet und alle Ausgänge abgeschaltet
werden, falls wir den Button CIL On/Off nicht
betätigen. Unsere Heizung ist bei 20°C, wie in Punkt 2 erkennbar, ausgeschaltet. Das verhält sich so auch weiterhin
bis 100°C so.
Die Überraschung im Test erleben wir erst,
wenn wir die Temperatur wieder senken und erwarten, dass sich die Heizung bei
19°C wieder einschaltet, was beim Hochfahren der Temperatur bei 19°C, der Fall
war.
Bei Betrachtung des Bildes 14 unter Punkt 3
erkennen wir, dass nur 2 Signaturen gelernt wurden. Das war das Einschalten bei
0°C und das Ausschalten bei 20°C. Alle anderen Punkte sind nun nicht gelernt
und erzeugen den Fehler Critical-Error,
welcher allerdings durch den Button überbrückt
wurde. Warum haben wir das so gemacht?
Eine
Überbrückung der nicht gelernten Signale ist dann sinnvoll, wenn wir diese noch
nicht kennen, diese zurzeit nicht zur Verfügung stehen, keine Notwendigkeit
gesehen wird oder letztendlich nicht genügend Speicher im Steuergerät zur
Verfügung steht.
Bild 15:
Falsches Lernen durch fehlende Informationen
In unserem Beispiel haben wir allerdings nicht
damit gerechnet, dass wir uns hier einen kleinen Fehler einhandeln. In Bild 16 sehen wir die Situation in
Punkt 1, da wir uns bereits bei
15°C befinden und immer noch die Heizung ausgeschaltet ist (Punkt 2).
Wieso ist das so? Nun ganz einfach, wir haben
vergessen das zu lernen, denn das Einschalten wurde nur in einem Punkt bei 0°C
gelernt. Auch erkennen wir, dass der SLF auf
2% steht (Punkt 3), somit den
zwei gelernten Signaturen entspricht.
Hätten
wir bei 19°C den Ausgang für die Temperatur auch eingeschaltet und das gelernt,
also einen dritten Punkt eingefügt, dann würde sich die Heizung bei 19°C auch
wieder einschalten und eingeschaltet bleiben, wenn sich die Temperatur weiter
senkt.
Da kommt sofort der Gedanke, um ganz sicher zu
gehen, könnte man ja alle bekannten Punkte lernen, also bei 0°C einschalten und
danach jedes weitere Grad wieder den Button der Kamera drücken. So hätten wir lückenlos
das Einschalten bis 19°C gelernt.
Wird
jeder Schritt gelernt, gibt es auch keine Lernlücken und es kann durch den KI-Automat lückenlos umgesetzt werden.
Das Warning Critical-InputLayer würde nicht entstehen und wir haben damit den SLF auf 100% gesetzt.
Das hört sich doch gut an und außerdem sind
100 Signaturen nicht viel. Dafür spricht auch, dass alles richtig funktionieren
muss, auch wenn wir ab z. B. 15°C erst einschalten und testen.
Bild 16: Erst
beim Senken der Temperatur wird der Fehler bemerkt
Kritisch wird das erst dann bei der Forderung
eine Kommastelle im Prozentwert zu erweitern. Das sieht man häufig bei Regelventilen,
welche über PID mit einer Stelle
hinter dem Komma angezeigt werden sollen. Da kommen wir dann schon auf 1000
Signaturen, ☹.
Nun halten wir den Ball zunächst flach und
betrachten uns das Lernen mit allen Punkten aus diesem Beispiel, indem wir
halbautomatisch lernen.