| Neuronale Netze: Optimierung und Kontrolle | |||||||||||||
7. Optimierung und KontrolleNeuronale Netze können (und müssen) auch im laufenden Betrieb kontrolliert und optimiert werden. Dazu gibt es unterschiedliche Möglichkeiten. Speziell die mit Hilfe des Netzes entwickelten Regeln (siehe Abschnitt Regeln) können für Kontrollzwecke genutzt werden.
7.1 EinführungEin funktionierendes neuronales Netz kann unter unterschiedlichen Aspekten optimiert und kontrolliert werden:
Auch hier können sich die unterschiedlichen Aspekte widersprechen. Deshalb ist es auch hier wichtig, die Ziele, die erreicht werden sollen, genau festzulegen.
Eine wesentliche Voraussetzung für eine mögliche Kontrolle eines neuronalen Netzes ist eine ausreichende Dokumentation des Projekts (siehe Abschnitt Dokumentation). Dies ist schon bei der Planung zu berücksichtigen und kann am besten durch die Einhaltung festgelegter Standards gesichert werden.
7.2 Optimierung der Struktur des NetzesDie Optimierung der Netzstruktur, also die Optimierung der Anzahl der Knoten, ihrer Eigenschaften und ihrer Verknüpfungen, gehört meist noch in den Bereich der Entwicklung des Netzes. Für die Kontrolle spielt sie weniger eine Rolle. Doch auch für ein fertig erstelltes Netz kann eine solche Optimierung sinnvoll sein. Im laufenden Betrieb ist beispielsweise immer zu kontrollieren, ob die Eingabedaten in dem Bereich liegen, in dem das Netz trainiert wurde. Erkennen lassen sich solche Eingabedaten dadurch, daß sie in der Statistik als Ausreißer auftreten oder etablierte Regeln verletzen. Wenn solche Eingabedaten auftreten, bedeutet dies meist, daß die Trainingsmenge nicht optimal gewählt war. Das neuronale Netz kann zwar für diese Daten unter Umständen trotzdem ein befriedigendes Ergebnis liefern, man sollte dann aber in Erwägung ziehen, das Netz neu zu trainieren und die neuen Bereiche von Eingabedaten zu berücksichtigen. Auch für die Rechengeschwindigkeit kann eine Optimierung des Netzes sinnvoll sein, wobei aber immer darauf zu achten ist, inwieweit dabei Qualitätseinbußen auftreten. Bei dieser Optimierung sind nicht nur die Kosten für den Betrieb des Netzes selbst zu berücksichtigen. Die Kosten für die Beschaffung der Eingabedaten können unter Umständen recht hoch sein. Die Optimierung der Struktur des Netzes kann also auch unter der Frage betrieben werden, ob man wirklich alle Eingabedaten benötigt oder ob es ohne wesentliche Qualitätsverluste möglich ist, auf einen Teil der Eingabedaten zu verzichten.
7.3 Optimierung und Kontrolle der SoftwareNeuronale Netze sind letztlich ein Software-Produkt, daß wie andere Software-Produkte auch der Kontrolle unterliegen muß. Es kann passieren, daß Fehler erst nach längerem Betrieb auftreten, zum Beispiel deshalb, weil dann zum ersten Mal Datensätze auftreten, die aus einem Bereich kommen, der nicht hinreichend trainiert wurde. Im Gegensatz zu herkömmlicher Software basiert ein neuronales Netz aber nicht auf einem eindeutigen Algorithmus. Es liefert mit Fehlern behaftete Ausgabewerte.
In vielen Fällen werden neuronale Netze mit fertigen Programmpaketen entwickelt (siehe Abschnitt Resourcen). Diese Programmpakete sind häufig relativ einfach zu bedienen und bieten dem Anwender ein Fülle von Analysemöglichkeiten, die auf graphischen Darstellungen basieren. Dadurch entsteht für die spätere Anwendung des Netzes der Nachteil, daß dieses mehr Rechenzeit und viel mehr Speicher benötigt, als bei einer direkten Programmierung des Netzes auftreten würde. Es ist daher sinnvoll, die Software, mit der das Netz betrieben wird, für den Betrieb umzustellen. In der Regel ist dies mit einmaligen Kosten verbunden, die durch den geringeren Resourcenbedarf wieder eingespart werden können. Ist die Rechenzeit für den laufenden Betrieb eine kritische Größe, dann sollte man diese Optimierung in jedem Fall vornehmen. Zudem ist die Kontrolle eines kleineren Programmpakets in der Regel sehr viel einfacher.
7.4 Optimierung der HardwareNeuronale Netze können auf beliebigen Rechnern programmiert werden. Bei der Optimierung der Hardware spielen zwei Aspekte eine Rolle: Rechengeschwindigkeit und Stabilität. Bei dem Betrieb eines neuronalen Netzes kann die Geschwindigkeit durch neuere Hardware oft gesteigert werden. Meist bringt eine Optimierung der Software für diesen Punkt aber mehr. Ein zweiter Aspekt, der auch für die Kontrolle eine Rolle spielt, ist die Stabilität. In vielen Fällen soll das neuronale Netz über mehrere Jahre zuverlässig arbeiten. Dann muß die Hardware so ausgelegt sein, daß sie diesen Anforderungen Stand hält. Dazu gehört natürlich auch die Auswahl des Betriebssystems und die Pflege des Systems.
|
|
|
Copyright (c) Andreas Mielke 1999-2010. Letzte Änderung: 04.03.2011. info@andreas-mielke.de |