Vor ungefähr einem Jahr hat ein ehemaliger eingebetteter Systementwerfer aus der japanischen Automobilindustrie, genannt Makoto Koike, angefangen, auf der Gurkenfarm seiner Eltern auszuhelfen, und war überrascht von der Arbeit, die es macht, um Gurken nach Größe, Form, Farbe und anderen Attributen zu sortieren.
In Japan hat jede Farm ihren eigenen Klassifikationsstandard und es gibt keinen Industriestandard. Auf der Farm von Makoto sortieren sie die Gurken in neun verschiedene Klassen, und seine Mutter sortiert sie alle selbst — und braucht bis zu acht Stunden pro Tag zum Erntehöhepunkt.
Es gibt einige automatische Sortiermaschinen auf dem Markt, aber sie sind beschränkt im Bezug auf Leistung und Kosten, und kleine Farmen neigen nicht dazu, sie zu verwenden.
Die vielen Gebrauchsmöglichkeiten des tiefen Lernens
Makoto bekam zuerst die Idee, Maschine zu erforschen, die Gurken sortieren, von einer ganz anderen Quelle - Google AlphaGo - die sich mit dem Spitzenfachmann der Welt Go player misst.
"Als ich AlphaGo von Google gesehen habe, habe ich begriffen, dass hier etwas wirklich Ernstes geschieht”, sagte Makoto. “Das war der Anstoß für mich, anzufangen, den Gurkensortierer mit einer tiefen Lerntechnologie zu entwickeln."
Das Verwenden des tiefen Lernens für die Bilderkennung erlaubt einem Computer, aus einer Lehrdatei zu erfahren, was die wichtigsten "Eigenschaften" des Objekts sind. Durch das Verwenden einer Hierarchie von zahlreichen künstlichen Neuronen kann tiefes Lernen Objekte mit einem hohen Grad an Genauigkeit automatisch klassifizieren. So können Nervennetze verschiedener Katzensorten oder Modelle von Autos oder Flugzeugen erkannt werden. Manchmal können Nervennetze sogar die Leistung des menschlichen Auges für bestimmte Anwendungen überschreiten.
TensorFlow demokratisiert die Macht des tiefen Lernens
Aber können Computer wirklich die Kunst der Mutter beim Gurkensortieren erlernen? Makoto hat getestet, ob er die Lerntechnologie zum Sortieren verwenden könnte, die offene Quellmaschinenlernbibliothek von Google, TensorFlow dafür nutzend.
"Google hatte TensorFlow gerade eröffnet, und so habe ich angefangen, es mit Bildern meiner Gurken auszuprobieren”, sagte Makoto. “Das war das erste Mal, dass ich das Maschinen-Lernen oder die tiefe Lerntechnologie erprobt habe, und habe sofort viel höhere Genauigkeit erfahren, mehr als erwartet. Das hat mir die Hoffnung gegeben, mein Problem zu beheben."
Grenzen des tiefen Lernens überschreiten
Eine der aktuellen Herausforderungen des tiefen Lernens ist, dass man eine Vielzahl der Datensets haben muss. Um das Modell zu trainieren, hat Makoto ungefähr drei Monate gebraucht, 7,000 Bilder von den von seiner Mutter sortierten Gurken genommen, aber das ist wahrscheinlich nicht genug.
"Als ich eine Gültigkeitserklärung von den Testbildern gemacht habe, hat die Erkennungsgenauigkeit 95% überschritten. Aber wenn Sie das System bei echten Gebrauchsfällen ausprobieren, fällt die Genauigkeit ab auf ungefähr 70%. Ich vermute, dass das Nervennetzmodell das Problem einer "Überanpassung" (das Phänomen im Nervennetz, wo das Modell trainiert wird, nur zur kleinen Datenset zu passen) hat, wegen der nicht ausreichenden Zahl von Lehrbildern."
Die zweite Herausforderung des tiefen Lernens besteht darin, dass es viel Computerenergie verbraucht. Der aktuelle Sortierer verwendet einen typischen Windows Desktop-PC, um das Nervennetzmodell zu trainieren. Obwohl es die Gurkenbilder zu 80 x 80 Pixel Bilder mit niedriger Auflösung umwandelt, braucht man noch zwei bis drei Tage, um das Training des Modells mit 7,000 Bildern fertig zu stellen.
"Sogar mit diesem niedrigen Res Bild kann das System nur eine Gurke klassifizieren, die auf ihre Gestalt, Länge und das Niveau der Verzerrung gestützt ist. Es kann keine Farbe, Textur, Kratzer und Stacheln erkennen”, erklärt Makoto. Die Erhöhung der Bildauflösung durch heranzoomen an die Gurke würde auf eine viel höhere Genauigkeit hinauslaufen, aber es würde auch die Lehrzeit bedeutsam verlängern.
Um das tiefe Lernen zu verbessern, haben einige große Unternehmen angefangen, groß angelegte dezentralisierte Ausbildung zu machen, aber jene Server kommen auf enorme Kosten. Google bietet Cloud Machine Learning (Cloud ML) an, eine preisgünstige Cloud-Plattform für das Training und die Prognose, die Hunderte von Cloud-Servern in die Ausbildung eines Netzes mit TensorFlow einweiht. Mit der Cloud ML, erstellt Google eine groß angelegte Cluster für die dezentralisiertes Training, und man zahlt nur für das, was man verwendet, was es leichter für Entwickler macht, tiefes Lernen auszuprobieren, ohne eine bedeutende Kapitalanlage zu starten.