Diese XHTML-Seite gibt einen Überblick über die Arbeiten im Rahmen eines "Grossen Beleges" im Fach Neuroinformatik an der HTW Dresden (Fh).
Das Belegthema ergab sich aus einer Aufgabenstellung am Fachbereich Landbau/Landespflege der HTW Dresden.
Betreut wurde die Belegarbeit durch folgende Professoren:
Prof. Dr. rer. nat. habil. Iwe (Fachbereich Informatik/Mathematik)
Prof. Dr. agr. Wild (Fachbereich Landbau/Landespflege)
Diese Seite hat Überblickscharakter. Nicht alle Details der Belegarbeit und ihrer Resultate sind auf dieser Seite enthalten.
Verwendete neuronale Netze, Datenvorverarbeitung und Reduktion der Anzahl der Eingabeneuronen
Einteilung des Datenmaterials in Trainings- und Validierungsmenge
Das Thema dieser Belegarbeit ist in der Landwirtschaft angesiedelt.
Mithilfe künstlicher neuronaler Netze soll der Feuchtigkeitsgehalt von Futtermitteln wie z.B. Gras, Mais oder Luzerne unmittelbar während des Erntens festgestellt werden.
Dieser Feuchtigkeitsgehalt ist ein wichtiger Parameter für die Silage. Zum Beispiel erfahren in Abhängigkeit von diesem Wert die anschließend in Silos eingelagerten Futtermittel eine entsprechende Behandlung, so das ihre Haltbarkeit bis zum Zeitpunkt der Verwendung sichergestellt ist.
Der Feuchtigkeitsgehalt wird auf dem fahrenden Feldhäcksler auf der Grundlage der Nahinfrarotreflexionsspektroskopie (NIR-S) ermittelt. Dazu wird ein Teil des Ernteguts an einem NIR-Sensor vorbeigeführt. Dieser nimmt dann innerhalb einer kurzen Zeitspanne mehrere NIR-Spektren vom Erntegut auf.
In solchen NIR-Spektren ist der Anteil reflektierten Lichts gegen die aufgenommene Wellenlänge abgetragen. Nachfolgende Abbildung zeigt ein solches Spektrum:

Abb. 1: NIR-Spektrum von geerntetem Gras. An der x - Achse ist der aufgenommene Wellenlängenbereich zu sehen. An der y - Achse ist der zur jeweiligen Wellenlänge gehörende Anteil reflektierten Lichts abgetragen.
Das Erntegut, welches auf dem Feld für die Erstellung von NIR-Spektren verwendet wurde, wird zusätzlich im Labor der sog. Trockenschrankmethode zugeführt. Mit diesem Verfahren wird ein zuverlässiger Referenzwert für den Feuchtigkeitsgehalt ermittelt.
Basierend auf Spektrum und zugehörigem Referenzwert kann z.B. mit der Partial Least Square - Regression (PLS) eine sog. Kalibration erstellt werden, mit deren Hilfe sich Feuchtigkeitswerte von Erntegutproben vorhersagen lassen.
Bedingt durch verschiedene Störfaktoren aber auch durch die Grenzen der Leistungsfähigkeit von Regressionsverfahren wie der PLS ist eine Vorhersage unbekannter Feuchtigkeitswerte immer mit einem Fehler behaftet.
Aufgabenstellung im Rahmen dieses Beleges ist es, herauszufinden, ob die Entwicklung einer Kalibration basierend auf NIR-Spektren und zugehörigen Referenzwerten mithilfe von künstlichen Neuronalen Netzen zu gleichwertigen oder sogar besseren Ergebnissen in der Vorhersage von Feuchtigkeitswerten führt.
Im Rahmen einer Recherche in wissenschaftlichen Veröffentlichungen hat sich gezeigt, dass für analoge Aufgabenstellungen bisher u.a. Feed-Forward-Netze in Verbindung mit den Lernstrategien Standard-Backpropagation und Backpropagation mit Momentum-Term mit Erfolg eingesetzt werden.
Meistens handelte es sich dabei um Netze mit einer Eingabe-, einer Ausgabe- und einer verdeckten Schicht. Als Aktivierungsfunktionen wurden oft die Logistische Funktion und der Tangens-Hyperbolikus verwendet.
In den recherchierten Artikeln wurden die Spektren, bevor sie den neuronalen Netzen zugeführt wurden oft einer Vorverarbeitung unterzogen. Ziel dieser Vorverarbeitung ist es, die gewünschte Information in den Spektren zu verstärken, während Störeinflüsse verringert werden sollen.
Zum Einsatz kamen Verfahren wie das Bilden von Ableitungen, die sog. Multiplicative Scatter Correction (MSC), Standard Normal Variate (SNV), die Log(1/R)-Transformation und die Kubelka-Munk-Transformation (KM). In der Regel werden auch Kombinationen dieser Verfahren aufeinanderfolgend auf die Spektren angewendet.
Nach der Vorverarbeitung wurde in vielen Fällen die Dimension des Eingabevektors für das neuronale Netz mithilfe einer Hauptkomponentenanalyse reduziert. Statt für den Wert bei jeder aufgenommenen Wellenlänge ein Eingabeneuron bereitzustellen, wird der Eingabevektor auf eine deutlich geringere Anzahl Hauptkomponenten (engl.: Principal Components (PC)) reduziert. Neuronale Netze zeigten sogar bessere Ergebnisse, wenn sie mit Eingabedaten trainiert wurden, deren Dimension auf diese Weise reduziert wurde.
Da all diese Verfahren in den recherchierten Fachartikeln mit gutem und auch sehr guten Erfolg in praktischen Aufgabenstellungen eingesetzt wurden, lag es nahe, im Rahmen dieser Belegarbeit zu prüfen in welcher Qualität Feuchtigkeitsgehaltsvorhersagen unter Einsatz der eben genannten Verfahren gemacht werden können.
Für die Vorverarbeitung der Spektren wurde in dieser Belegarbeit das Programm "The Unscrambler" [1] genutzt. Für das Training der künstlichen neuronalen Netze kam der "Stuttgarter Neuronale Netze Simulator" (SNNS) [2] in Verbindung mit dem darin enthaltenem Programm "batchman" zum Einsatz.
Die neuronalen Netze wurden basierend auf realen Messdaten trainiert. Der Fachbereich Landbau/Landespflege der HTW Dresden nimmt seit mehreren Jahren NIR-Spektren von Erntegut während der Ernte auf. Für diesen Beleg wurde Datenmaterial aus den Jahren 2006 und 2007 genutzt. Alle verwendeten NIR-Spektren wurden während der Ernte von Gras aufgenommen.
Die vorhandenen Daten wurden im Verhältnis 4 zu 1 in Trainings- und Validierungsmenge aufgeteilt. Dabei wurde darauf geachtet, dass sich die Referenzwerte für Feuchtigkeit gleichmäßig auf beide Mengen aufteilen.
Nachfolgende zwei Abbildungen zeigen die konkrete Aufteilung für das verwendete Datenmaterial. An der y - Achse sind die absolute Häufigkeit abgetragen. An der x - Achse sind die 10 Klassen für den Feuchtigkeitsgehalt abgetragen ([0; 0,1], (0,1; 0,2], (0,2; 0,3]..., (0,9; 1] ):

Abb. 2: Absolute Verteilung der Referenzwerte auf die 10 Feuchtigkeitsklassen für die Datensätze der Trainingsmenge. Man sieht zum Beispiel, dass keine Grasproben mit 0%, 90% oder 100% Wassergehalt vorhanden sind.

Abb. 3: Absolute Verteilung der Referenzwerte auf die 10 Feuchtigkeitsklassen für die Datensätze der Validierungsmenge.
Zu Beginn der Beschäftigung mit dem Datenmaterial wurde zunächst viel herumexprimentiert. Verschiedene Netztopologien, Aktivierungsfunktionen und Vorverarbeitungsverfahren wurden unterschiedlich kombiniert, um zunächst ein Gefühl dafür zu erhalten, welche Kombinationen aus den verschiedenen Verfahren die besten Vorhersageergebnisse bringen und vor allem in welchen Wertebereichen sich Lern-Parameter wie z.B. die Lernrate bewegen sollten.
Im Anschluss an die "Probierphase" wurde das Training der neuronalen Netze mit den vorverabeiteten Spektren systematisiert.
Mithilfe von batchman-Skripten wurden automatisiert 6 verschiedene Netztopologien (von n-5-1 bis n-20-20-1) jeweils mit den Aktivierungsfunktionen sin(x) (siehe Abbildung 4), tanh(x) und logistic(x) und unterschiedlichen Kombinationen aus Vorverarbeitungsverfahren trainiert. Dabei wurden alle sinnvollen Kombinationen aus den Vorverarbeitungsverfahren einfach durchprobiert. Jede Kombination wurde jeweils 3 mal mit exakt den gleichen Parametern trainiert, um festzustellen, ob ein erreichtes Ergebniss "Zufall" war, oder ob eine gegebene Konfiguration auch dauerhaft ein gleichbleibendes Ergebnis hervorbringt.

Abb. 4: Eine sigmoidale Aktivierungsfunktion. Im Übergangsbereich um den Wert x=0 entspricht der Verlauf dieser Funktion der Funktion y=sin(x)
Die Lernrate η und ggf. der Wichtungsfaktor μ für dem Momentum-Term (wenn die Lernstrategie Backpropagation mit Momentum-Term angewendet wurde) wurden im Verlauf des Trainings in Abhängigkeit von den bereits durchlaufenen Trainingszyklen wie folgt angepasst:

Abb. 5: Die Funktion y = f(x) = ln(100) - ln(x) über dem Definitionsbereich von x=0 bis x=100
In der Abbildung ist die Funktion f(x) = ln(100) - ln(x) über dem Definitionsbereich von x=0 bis x=100 zu sehen.
Der Verlauf der Lernrate und des Wichtungsfaktors über die Dauer des Trainingsprozesses gleicht in seiner Form dem Verlauf der in der Abbildung dargestellten Funktion. Immer nach einer gewissen Anzahl von Trainingszyklen werden während des automatisierten Trainings beide Parameter aktualisiert, wobei obige Funktion vorher natürlich linear auf die erforderlichen Intervalle skaliert wird (d.h.: statt von x = 0 bis x = 100 hat f(x) den Definitionsbereich x = 0 bis x = MAX_TRAININGSZYKLEN; der Wertebereich von f(x) entspricht dem Intervall y = MIN_LERNRATE bis y = MAX_LERNRATE; die Form von f(x) bleibt bei der Skalierung allerdings erhalten).
Diese Vorgehensweise bei der Anpassung von Lernrate und Wichtungsfaktor während des automatisierten Trainings resultierte aus folgender Erfahrung während des Experimentierens mit verschiedenen Vorgehensweisen:
Bei fast allen Versuchen zeigte sich, dass das neuronale Netz sich erst dann in einem (lokalen) Fehlerminimum einfindet, wenn die Lernrate während des Trainingsverlaufs "schubweise" abgesenkt wird. Die Fehlerkurve machte oft erst nach Anhalten des Trainings und Absenken von Lernrate/Wichtungsfaktor und anschliessendem Fortführen des Trainings einen "Sprung nach unten". Beispielhaft zeigt dies folgendes Bildschirmfoto aus dem SNNS:

Abb. 6: SSE-Fehlerkurven für Muster der Trainingsmenge (schwarz) und Muster der Validierungsmenge (rot). Trainiert wurde ein 1-20-1 – Netz mit tanh(x) als Aktivierungsfunktion sowie mit Standard-Backpropagation. Die Lernrate wurde sukzessive von 0,9 auf bis fast 0 abgesenkt. Mit jedem Absenken der Lernrate, machte die schwarze Fehlerkurve einen „Sprung“ nach unten.
Ein etabliertes und oft verwendetes Verfahren für das Erstellen einer Kalibration für die Feuchtigkeitsvorhersage ist die PLS1-Regression. Parallel zum Training der Neuronalen Netze wurde mit den gleichen Trainings- und Validierungsdatensätzen eine PLS1-Regression mit dem Werkzeug "The Unscrambler" durchgeführt. Die Vorhersageleistung der neuronalen Netze wurde mit der Vorhersageleistung der PLS1-Regression verglichen.
Der Vergleich erfolgt anhand verschiedener in der Literatur definierter Kennzahlen:
Die Vorhersageergebnisse bei den Datensätzen der Validierungsmenge wurden für die Ermittlung der Leistungsfähigkeit herangezogen.
Nachfolgende zwei Tabellen zeigen aus den erzielten Ergebnissen beispielhaft die jeweils 3 besten Ergebnisse einmal für die PLS1-Regression und einmal für die Neuronalen Netze:
| Vorverarbeitungskombination | Anstieg | Achsenabschnitt | R^2 | SEP |
|---|---|---|---|---|
| Log(1/R), SNV, 1.Abl. 4-4-2, 5PC | 0,997 | 0,002 | 0,98 | 1,65 |
| KM, SNV, 2.Abl. 8-8-2, 2PC | 0,955 | 0,026 | 0,94 | 2,81 |
| KM, MSC, 2.Abl. 8-8-2, 2PC | 0,954 | 0,027 | 0,94 | 2,84 |
Tabelle 1: Vorhersageleistung der PLS1 - Kalibration bei stationär erfassten Spektren. Kalibrationsdatensätze und Validierungsdatensätze sowie Parameter der Vorverarbeitung waren die selben wie bei den Neuronalen Netzen. Die Ergebnisse sind aufsteigend nach dem SEP sortiert.
Zum Vergleich die analogen Ergebnisse der Neuronalen Netze:
| Vorverarbeitungskombination | Anstieg | Achsenabschnitt | R^2 | SEP |
|---|---|---|---|---|
| KM, SNV, 2.Abl. 8-8-2, 3HK | 0,983 | 0,009 | 0,98 | 1,67 |
| KM, MSC, 2.Abl. 8-8-2, 3HK | 0,984 | 0,012 | 0,98 | 1,72 |
| Log(1/R), SNV, 1.Abl. 4-4-2, 4HK | 0,986 | 0,009 | 0,98 | 1,78 |
Tabelle 2: Vorhersageergebnisse der jeweils besten Neuronalen Netze für stationär erfasste NIR-Spektren
Man sieht anhand der Datensätze für stationär (d.h. nicht auf dem Feld) erzeugte Spektren, dass die Ergebnisse beider Verahren gleichwertig sind.
Einen visuellen Eindruck der Vorhersageleistung künstlicher Neuronaler Netze für mobil erfasste NIR-Spektren vermittelt beispielhaft folgende Abbildung:

Abb. 7: Vorhersagewert vs. Referenzwert. Der Plot wurde aus den Auswertungsergebnissen mit der Software MATLAB [3] erstellt.
An der x - Achse ist der Referenzwert und an der y - Achse der vorhergesagte Feuchtigkeitswert für jeden Datensatz abgetragen. Jeder blaue Punkt in der Abbildung entspricht einem Validierungsdatensatz. Im Idealfall einer perfekten Kalibration, bei welcher der Vorhersagewert gleich dem Referenzwert ist, ohne dass das Neuronale Netz auswendig gelernt hätte, würden sich alle blauen Punkte auf der Geraden y = x befinden. Je mehr die Punkte in einer Abbildung wie der obigen um diese Gerade streuen, umso schechter ist die gegebene Kalibration.
In Abbildung 7 ist zusätzlich eine Regressionsgerade eingezeichnet, welche die "Punktwolke" im Sinne der Methode der kleinsten Quadrate am besten annähert. In Verbindung mit der dargestellten Punktwolke gibt die Regressionsgerade ebenfalls einen Anhaltspunkt dafür, wie gut eine Kalibration ist. Oben links in der Abbildung ist die Geradengleichung für die Regressionsgerade angegeben. Anstieg und Achsenabschnitt dieser Geradengleichung werden für Aufgabenstellungen wie die hier im Beleg bearbeitete oft als Maß für die Güte einer Kalibration verwendet. Anstieg und Achsenabschnitt der Geradengleichung dürfen jedoch nicht als einzige Kenngrößen für die Kalibrationsgüte herangezogen werden, da auch eine willkürlich verteilte Punktwolke zufällig die gleiche Regressionsgerade hervorbringen kann.
Im Mittelpunkt des Beleges standen vorrangig mobil auf dem Feldhäcksler erfasste Spektren. Zu Vergleichszwecken wurden die neuronalen Netze aber auch mit stationär erfassten Spektren trainiert. Hier zeigte sich, dass die Vorhersagegüte noch einmal wesentlich besser ist. Folgende Abbildung vermittelt davon einen visuellen Eindruck:

Abb. 8: Vorhersagewert vs. Referenzwert für die Validierungsdatensätze aus stationär aufgenommenen Daten. Die durchgezogende Linie entspricht der Regressionsgeraden durch die "Punktwolke".
Die blauen Punkte streuen wesentlich weniger um die ideale Gerade y=x. Diese Verbesserung in der Vorhersageleistung begründet sich vor allem in deutlich verringerten Störeinflüssen bei der Aufnahme der Spektren unter stationären Bedingungen.
Während der Belegarbeit hat sich gezeigt, dass künstliche Neuronale Netze potenziell geeignet sind, die gestellte Aufgabenstellung zufriedenstellend zu lösen.
Die Vorhersageerfolge von Neuronalen Netzen sind denen einer entsprechenden Kalibration mit PLS1 ebenbürtig.
Die Ergebnisse dieses Beleges wurde mit vergleichsweise einfachen Methoden erzielt. Die hier angewendeten Methoden/Netztypen etc. gehen über grundlegendes Standardrepertoire aus dem Bereich der Neuronalen Netze nicht hinaus.
Trotzdem wurden bereits mit diesen Methoden gute Vorhersageergebnisse erzielt. Dies legt nahe, dass hier möglicherweise noch einiges an Potential zur weiteren Verbesserung der Vorhersageergebnisse vorhanden ist. In dieser Belegarbeit wurde beispielsweise noch nicht dem Umstand Rechnung getragen, dass bestimmte Wellenlängenbereich des NIR-Spektrums für die Aufgabenstellung besonders wichtig sind, während andere kaum Informationen enthalten, die für die Ermittlung des Feuchtigkeitsgehaltes wichtig sind. Hier sind stets alle aufgenommen Wellenlängen der NIR-Spektren mit gleicher Wichtung in die Vorverarbeitung und somit auch in das Training eingeflossen.
Für die bearbeitete Aufgabenstellung wurden Feed-Forward-Netze verwendet. Ebenso bieten sich für diese Aufgabenklasse aber auch Radiale Basisfunktions Netzwerke (RBF) an. Deren Eignung wurde in dieser Belegarbeit noch nicht untersucht.
Dies zeigt beispielhaft, das bezüglich der bekannten Methoden und Verfahren auf dem Gebiet Neuronale Netze bei weitem noch nicht alles ausgeschöpft wurde.