KÜNSTLICHE INTELLIGENZ IN DER PRAXIS - Das Magazin für Künstliche Intelligenz - Die Suche nach dem passenden Algorithmus - b+m Informatik AG
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
r ck AI Spektrum 2019 fü rdru e nd So Das Magazin für Künstliche Intelligenz KÜNSTLICHE INTELLIGENZ Die Suche nach dem passenden Algorithmus IN DER PRAXIS Pragmatisch zum Einsatz: Machine Learning in der Cloud
Convolutional Neural Nets – Praxisbeispiel I AUTOENCODER – EINE VIELSEITIG EINSETZBARE ARCHITEKTUR Autoencoder sind generative neuronale Netzwerke, die äußerst vielseitig einsetzbar sind. Sie finden unter anderem beim maschinellen Übersetzen Anwendung, bei der Anomalieerkennung oder der Bildbearbeitung. Welche Spezialformen sind für die semantische Segmentierung von Bildern geeignet – wie es etwa beim autonomen Fahren unerlässlich ist? Convolutional Neural Nets (CNN) spielen seit Artikels steht die Lösungsarchitektur für diese drei bis vier Jahren eine führende Rolle im Be- und andere Aufgabenklassen: der Autoencoder. reich der Computer Vision. Autonomes Fahren zum Beispiel kann nur dann funktionieren, wenn Autoencoder-Architektur das Fahrzeug unterschiedliche Objekte auf Ka- merabildern pixelgenau identifizieren kann. Die- Autoencoder stellen eine spezielle Klasse neu- se Aufgabe ist deutlich schwerer als etwa eine ronaler Netzwerke dar. Sie werden darauf trai- Bildklassifikation oder eine Bounding Box-Lo- niert, ihren Input zu rekonstruieren. Im Prinzip kalisation. Eine verwandte, speziellere Aufga- bestehen sie aus drei Teilen: dem Encoder, der Abb. 1: Autoencoder benklasse ist das Freistellen von Objekten etwa Codierung und dem Decoder. führen im Prinzip drei von Fahrzeugen auf Bildern, also die Trennung Aufgaben durch von Objekt und Hintergrund. Im Fokus dieses Ein einfacher Autoencoder kann als Hinterein- anderausführung zweier Funktionen h (Encoder) und g (Decoder) modelliert werden: g∘h. Im Fall des Feature Learnings ist man jedoch nicht an der Ausgabe des Decoders g(h(x)) interessiert, son- dern an der Codierung h(x). Eine Möglichkeit, die Abstraktion der Features zu fördern, besteht darin, eine kleinere Dimension für h(x) im Ver- gleich zu x wählen. Eine exakte Rekonstruktion, das heißt g(h(x)) = x ist zudem oftmals nicht das Ziel: Ein tradi- tioneller Autoencoder minimiert beim Training den Loss L(x,g(h(x))). Bei ausreichender Ka- pazität begünstigt dies das Lernen der Identi- tätsfunktion. Ein Denoising-Autoencoder hin- gegen minimiert nun L(x,g(h(x*))), wobei x* eine korrumpierte Version von x ist. Der Auto- encoder muss also lernen, die Korrumpierung rückgängig zu machen. AI SPEKTRUM
Autoencoder – eine vielseitig einsetzbare Architektur Abb. 2: Semantic (Instance) Segmentation klassifiziert Bildinhalte beim autonomen Fahren Autoencoder kommen traditionell bei der Di- Das Unet (vgl. [UNET17]) ist eine Autoenco- mensionsreduktion oder beim Feature Learning der-Architektur aus dem medizinischen Be- zum Einsatz. In jüngerer Zeit hingegen werden reich, deren Fokus auf der effektiven Nutzung sie häufig auch als generative Methode genutzt des Trainingssets und der Anwendung von – insbesondere sind hier die Variational Autoen- Daten-Augmentierung liegt. Diese spezielle coder im Kontext des maschinellen Übersetzens Architektur gehört zu den Fully Convolutional sowie die Semantic Segmentation zu nennen. Networks und wird häufig zur Semantic Seg- mentation und insbesondere zur Binary Seg- Semantic Segmentation beim Autonomen mentation verwendet. Fahren Abbildung 3 zeigt das Unet. Der Encoder bildet Fahrzeuge benötigen ein Konzept ihrer Umge- in mehreren Schritten den Feature-Raum aus. bung, um selbstständig navigieren zu können. Mit jedem Schritt vergrößert sich die Anzahl an Dazu analysieren sie vor allem auch die Um- Features, während sich die Größe der Eingabe gebungsbilder der Außenkameras und müssen verkleinert. Der Decoder bildet darauffolgend auf diesen Aufnahmen Objekte voneinander den Feature-Raum auf die ursprüngliche Größe unterscheiden können. Eine Möglichkeit be- der Eingabe zurück. steht darin, jedem Pixel eine eigene Klasse zuzuordnen (zum Beispiel „Fahrzeug“, „Fuß- gänger“ oder „Verkehrszeichen“). Der zugehö- rige Problemtyp heißt Semantic Segmentation. Werden die klassengleichen Bereiche zudem in identifizierbare Objekte unterteilt, spricht man von Instance Segmentation. Autonomes Fahren benötigt diese Unterscheidbarkeit, da etwa bei Straßenschildern die Instanzen ent- scheidend sind, um richtig agieren zu können. Für den Anwendungsfall der Objektfreistellung ist die klassenweise Semantic Segmentation hinreichend. Aufgrund ihrer generativen Eigenschaft sind Autoencoder für Semantic Segmentation gut Encoder und Decoder sind mit Long Range Skip Abb. 3: geeignet – wenn dabei das Trainingsziel ange- Connections verbunden. Diese erlauben es dem Die Autoencoder- passt wird: Es geht nicht darum, das Ausgangs- Decoder, auf Attribute des Encoders zuzugreifen Architektur Unet bild zu reproduzieren, sondern eine Segmen- und damit durch das Downsampling verloren tierung zu erzeugen. Allgemein bestehen die gegangene, räumliche Information wiederher- Samples aus dem Ausgangsbild (Input) und ei- zustellen. Diese sind insbesondere wichtig, nem Zielbild (Target). Das Target ordnet jedem um eine pixelscharfe Rekonstruktion des Inputs Pixel eine Klasse zu. Jede Klasse entspricht also zu erhalten. Encoder und Decoder sind durch genau einer Farbe (vgl. Abbildung 2). das Bottleneck verbunden. Das Unet schließt mit Abb. 4: Originalbild, Binärmaske und freige- stelltes Fahrzeug mittels Binary Segmentation
Diese Rate ist also ein Maß für die Granularität der Features. Der Decoder verwendet diese verschiedenen “Sichten” für die Rekonstruktion beziehungsweise die Generierung der Maske. Encoder, Decoder, Classification Layer und Skip Connections orientieren sich wieder an der klas- sischen Unet-Architektur. Trainingsdaten und Augmentierung Abb. 5: 3x3-Filter mit den Ausdehnungsraten 1, 2 und 4 Das im hier geschilderten Praxisbeispiel gewählte Trainingsset ist mit rund 5.000 Fahrzeugen und etwa 17.500 Samples recht klein. Zudem weist es nur wenige, unterschiedliche Fahrzeugperspekti- ven und -lagen auf. Auch der Bildhintergrund vari- iert nur schwach. Diese Effekte stellen einen Bias im Trainingsset dar, der durch dessen Erstellung begründet ist und motiviert den Einsatz von Da- ten-Augmentierung, das heißt der Anreicherung des Trainingssets um künstlich erzeugte Samples. Dem Bias bei der Fahrzeugdarstellung wird mit Standard-Augmentierungen wie Skalierung und Translation auf dem Trainingsset begegnet. Der Bildhintergrund benötigt ein anderes Vorgehen: Während des Trainings ersetzen hier realistische oder synthetische Bilder den Originalhintergrund. Abb. 6: Bottleneck des Dilated Unet mit kaskadierten Dilated Convolutional Layern Wir benötigen also Wissen darüber, welcher Teil eines Inputs den Hintergrund ausmacht. Auf- einem Convolutional Layer ab, dessen 1x1-Con- grund der Natur der Aufgabe enthält das gewähl- volution der pixelweisen Klassifikation dient. te Trainingsset dieses Wissen. Spezialfall Binary Segmentation Abbildung 7 zeigt die Pipeline zur Batch-Ge- nerierung. Standard-Augmentierungen werden Ein Spezialfall der Semantic Segmentation stellt von den Keras-Generatoren ausgeführt und die sogenannte Binary Segmentation dar, bei der können mit der Hintergrund-Augmentierung nur genau zwei Klassen existieren. Ein typisches kombiniert werden. Die synthetischen Hinter- Einsatzgebiet ist die Segmentierung eines Bildes gründe werden mithilfe eines parametrischen in Objekt und Hintergrund, also das Lernen einer Frameworks generiert. entsprechenden Binärmaske. Die Hintergrund-Augmentierung zielt weniger Die Architektur des im Folgenden behandelten auf die Accuracy der Modelle als vielmehr auf die CNN orientiert sich am bereits vorgestellten Generalisierungsfähigkeit und damit die Praxis- Unet. Den Bottleneck haben wir im Vergleich zum tauglichkeit. Dieser Ansatz hat sich im Verlauf der klassischen Unet durch abgestufte Dilated Con- Experimente als sehr wirksam herausgestellt. volutions (vgl. [MSCA15]) ausgebaut (vgl. Abb. 5). Transfer Learning und Fine Tuning Es handelt sich hier um eine Sequenz von Con- volutional Layern, welche mit einer zunehmenden In unserem Projekt konnten wir Transfer Lear- Ausdehnungsrate (Dilation Rate) versehen sind. ning und Fine Tuning (siehe Kasten) erfolgreich Abb. 7: Im Praxisbeispiel verwendete Pipeline AI SPEKTRUM
Autoencoder – eine vielseitig einsetzbare Architektur Autoren Transfer Learning und Fine Tuning Dabei können dem Grunde nach zwei ver- schiedene Techniken angewandt werden: Transfer Learning steht für die Übertragung bereits gelernten Wissens auf eine verwand- XX "Einfrieren" der bereits gelernten te oder sogar neue Domäne und/oder Auf- CNN-Filter (Gewichte/Biases) des Res- gabenklasse. Technisch geschieht das in der Net50-Cortex, so dass nur der neue Klas- Regel in zwei Schritten: sifikator trainiert wird. Dann spricht man im engeren Sinne von Transfer Learning. 1. Architektur-Adaption XX Verwenden der bereits gelernten CNN-Filter lediglich im Sinne einer Ge- Thomas Stahl 2. Adaption der lernbaren Parameter durch wichts-Initialisierung für das Re-Trainieren. (thomas.stahl@bmiag.de) fokussiertes Training Dieser Ansatz wird meist als Fine Tuning ist Informatiker/Mathema- tiker und arbeitet als Lead bezeichnet. Architect/CTO bei der b+m Das populäre "ResNet50" (vgl. [DERES15]) Informatik AG. Er beschäftigt zum Beispiel ist als auf dem ImageNet-Da- Natürlich sind auch (Layer-weise) Abstufun- sich seit dem Studium intensiv tensatz vortrainierter CNN-Klassifikator frei gen und Mischformen über mehrere Trainings- mit AI und Machine Learning. verfügbar und kennt 1.000 Klassen aus dem stufen hinweg anwendbar. Bereich Tiere, Natur und Alltagsgegenstän- de. Ein solches Netz hat also bereits einen Die wesentlichen Vorteile von Transfer Lear- “alltagstauglichen visuellen Cortex" ausge- ning/Fine Tuning sind: bildet. XX Das Training benötigt in der Regel we- Angenommen, die neue Domäne wäre die sentlich weniger Daten und damit auch Klassifikation 200 verschiedener amerika- Rechenzeit, sofern die Zieldomäne genü- nischer Automarken, dann bestünde die gend nah an der Transferbasis liegt. Architektur-Adaption im Austausch des Res- XX Die resultierenden Systeme abstrahieren/ Net50-Klassifikators durch einen neuen, un- generalisieren in der Regel wesentlich Christian Koch trainierten Klassifikator mit 200 Output-Neu- besser als solche, die dem Problem der (christiankochjj@gmx.de) arbeitet als Data Scientist ronen. Im zweiten Schritt würde dann das geringen Trainingsdaten allein durch Aug- bei einer Bank in Hamburg. neu entstandene CNN zum Beispiel mit dem mentierung begegnen (siehe oben). Er ist für das Modellieren von Stanford-Cars-Datensatz re-trainiert. hochdimensionalen Daten und Automatisieren von komplexen Prozessen zuständig. im Bereich der Autoencoder-Architekturen ein- Fazit setzen. Die Architektur-Adaption besteht dabei darin, den Encoder des Dilated Unet beispiels- Für den hier vorgestellten Anwendungsfall, die weise durch eine vortrainierte Instanz des Res- Freistellung von Objekten auf Fotos, hat sich Net50 (ohne Klassifikator-Kopf) zu ersetzen und die binäre semantische Segmentierung als ge- geeignete Long Range Skip Connections zwi- eignetes Problem-Framing herausgestellt. Und schen den Residual Blocks des neuen Encoders eine Autoencoder-Architektur bietet einen und dem Decoder zu etablieren. dazu passenden Lösungsansatz. Dilated Unets und Derivate sind in diesem Bereich durch- Neben Architekturvariationen haben wir ver- aus State-of-the-Art, wie unter anderem Kag- Stephan Wersig schiedene Experimente mit abgestuftem Trans- gle-Challenges zeigen. Mit dem Transfer Lear- (stephan.wersig@bmiag.de) fer Learning und Fine Tuning durchgeführt. Als ning-Ansatz, Hintergrund-Augmentierung und arbeitet als Softwarearchi- vielversprechend für unser Szenario hat sich Ensembling verbesserte sich die Accuracy leicht tekt bei der b+m Informatik AG. Seine Schwerpunkte sind dabei ein mehrstufiges Verfahren herausge- und die Generalisierungsfähigkeit deutlich. Das Machine Learning und Soft- stellt, bei dem der neue Encoder mit kleiner finale Ensemble besitzt eine Accuracy von 99,4 ware-Engineering. Learning Rate und sehr breiter Augmentierung Prozent auf dem Testdatensatz des Beispiels. zunächst für wenige Epochen antrainiert wird, Zudem sind die Ergebnisse von Bildfreistellun- bevor die Encoder-Layer eingefroren werden. gen im realen Betrieb sehr vielversprechend. Transfer Learning mit eingefrorenem Encoder Um das Modell weiter zu entwickeln, werden gleich in der ersten Stufe anzuwenden, hat sich wir deshalb mehr und besser verteilte Trainings- für unseren Kontext als nicht-optimal herausge- daten akquirieren sowie eine (automatisierte) stellt, zumal die vortrainierten ResNet50-Filter Hyperparameter-Optimierung durchführen. offenbar nicht genau genug auf unsere Zieldo- mäne passen. Literatur & Links [UNET17] Ronneberger, O., Fischer, P. & Brox, T. (2017). U-Net: Convolutional Networks for Biomedical Image Segmentation. Bildverarbeitung für die Medizin. Stichproben mit frei gewählten Testdaten aus dem Internet zeigen bessere Generalisierungs- [MSCA15] Yu, F. & Koltun, V. (2016). Multi-Scale Context Aggregation by Dilated eigenschaften der mittels Transfer Learning und Convolutions. CoRR, abs/1511.07122. Fine Tuning erzeugten Modelle als Modelle [DERES15] Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun (2015). ohne diesen Ansatz. Deep Residual Learning for Image Recognition. Mehr Fachbeiträge unter ai-spektrum.de
Innovation. Intelligent. Individuell. ARTIFICIAL INTELLIGENCE AS A SERVICE Mehr Innovation für Ihr Business Nutzen Sie unsere AI-Kompetenz: • Risikoprognosen (Klassifikation/Regression) • Computer-Vision (Bildanalyse und -verarbeitung) • Semantische Textanalyse • Anomalieerkennung (z. B. Fraud oder IT-Infrastruktur) • Data Mining Erfahren Sie mehr auf bmiag.de
Sie können auch lesen