Was ist künstliche Intelligenz? - Teil 2

Author Image

Von Kirsten Kleim

07 Juni 2021

In diesem Artikel wird die Nutzung der «Analytical Process Automation» (APA) Software Alteryx aus Sicht eines Data Scientisten beschrieben: Mittels eines Python Plugins in der Software «Alteryx» wird ein einfaches neuronales Netz zur Bilderkennung trainiert und anschliessend anderen Business-Anwendern als Macro zur Verfügung gestellt.

Ein bekanntes Teilgebiet von künstlicher Intelligenz, das sich auf neuronale Netze stützt, ist Computer Vision. Computer Vision beschäftigt sich zum Beispiel mit der Erkennung von Bildern oder sogar Videos. Aus diesem anschaulichen Feld kommt auch der hier demonstrierte hypothetische Bild-Erkennungs – Use Case:

«Ein Supermarkt hat sich entschlossen, den Kunden das Merken von Obst- und Gemüse-Kennziffern zu ersparen und möchte eine Supermarkt-Wage mit integrierter Bilderkennung entwickeln. Dabei soll das Obst nach dem Wiegen vor eine Kamera gehalten werden, die das Obst dann erkennt und den richtigen Preis ermittelt.»

Für einen ersten Versuch wurden dafür zwei Obstsorten ausgewählt: Apfel und Orange. Als Trainingsdaten können «Fruits 360 Dataset» [4] genutzt werden. Dieses Datenset ist verfügbar auf Kaggle und enthält Bilder verschiedenster Obst- und Gemüsesorten.

Beim Training von Neuronalen Netzen sind die Trainingsdaten ein sehr grundlegendes Element. Neuronale Netze werden oft als intelligent wahrgenommen. Diese Wahrnehmung kann dabei recht irreführend sein. Anders als Menschen können neuronale Netze nicht anhand einer Erklärung verstehen, welches Wissen benötigt wird oder gar ‘intuitiv verstehen’. Stattdessen benötigt das neuronale Netz Beispiel-Daten und zu jedem Beispiel die exakte Lösung (= Label), die es vorhersagen soll.;>

Für die intelligente Supermarkt-Waage für Äpfel und Orangen bedeutet das einen folgenden Eingabe-Datensatz:

Auch die hohe Anzahl der notwendigen Trainingsdaten kann überraschend hoch sein.  

Für Fragestellungen üblicher Komplexität empfiehlt es sich mehrere hunderte bis tausende Beispiele pro Lösungs-Gruppe als Trainingsdaten anzubieten.

In diesem stark vereinfachten Use Case, bei dem bereits die Farbe eindeutig auf die Lösung hindeutet, kann ein gutes Ergebnis auch mit weniger Daten (in diesem Fall wurden 50 Orangen und 50 Äpfel verwendet) erzielt werden. Kommen allerdings Schatten, verschiedene Beleuchtungsarten, oder Hintergrund-Elemente ins Spiel, würden auch hier mehr Daten bessere Ergebnisse erzielen.

Training

Viele Data Scientist verwenden R- oder Python-Code, um die neuronalen Netze zu trainieren. «Alteryx» bietet über Plugins eine komfortable Möglichkeit, Daten zwischen einem Alteryx - Workflow und der Coding-Umgebung, z.B. einem Jupyter-Notebook, zu übertragen. So kann entweder Python-Code in Alteryx in einem eingebetteten Jupyter-Notebook geschrieben werden, oder das neuronale Netz kann in der bevorzugten Umgebung trainiert werden und dann in das «Alteryx» Python- / R- Plugin geladen werden.

In diesem Beispiel wurde ein neuronales Netz von dem Typ convolutional neuronal network (CNN) in Python mit Keras entwickelt und trainiert. Alternativ kann auch R verwendet werden. Zusätzlich bietet Alteryx Werkzeuge für Neuronale Netze an.

Wer sich für die technischen Details der Funktionsweise von neuronalen Netzen interessiert, kann einen guten Einblick in die Einführungsvorlesungen des MIT zum Thema Deep Learning erhalten: https://www.youtube.com/watch?v=5tvmMX8r_OM

Sobald ein neuronales Netzwerk zur Zufriedenheit trainiert wurde, kann es für zukünftige Anwendungen gespeichert werden.

Mit "Alteryx-Macros" kann ein trainiertes neuronales Netz mit entsprechenden Ein- und Ausgabe-Elementen angesprochen und den Fachanwendern als Applikation zur Verfügung gestellt werden. In diesem Beispiel nimmt ein Eingabeanker Bildpfade zu den vorherzusagenden Bildern auf und ein Ausgabeanker gibt die Bildpfade mit den Vorhersagen des trainierten Modells zurück. Da der Modus auf "APPLY" eingestellt ist, wird das neuronale Netz nur geladen und angewendet. 

Diese einfache Einbindung von in Python oder R entwickeltem Code als Alteryx-Makro erleichtert die Zusammenarbeit zwischen Data Scientists und Fachanwendern.

Welche Besonderheiten bei der Anwendung von Neuronalen Netzen wichtig sein können, wird im nächsten Artikel genauer erläutert.

Ausblick:

In Artikel 3 folgt: Die Nutzung der Alteryx Software aus Sicht eines Business Anwenders: Wurde ein neuronales Netz von Data Scientisten gefertigt, ermöglicht die Software «Alteryx» auch anderen Businessanwendern solche vorgefertigten Neuronale Netze auf elegante Weise selbst zu nutzen, ohne sich in Python oder R – Code vertiefen zu müssen.  In einer beispielhaften Anwendung werden ausserdem die Grenzen von KI verdeutlicht.

In Artikel 4 folgt: In welchen Bereichen können die Stärken der KI also in KMUs genutzt werden? Ein typischer Umsetzungsprozessfluss wird vorgestellt.  

Weiterführende Literatur:

Wen die Funktionsweise von Neuronalen Netzen im Detail interessiert, kann beispielsweise aus den Einführungsvorlesungen des MIT zu Deep Learning https://www.youtube.com/watch?v=5tvmMX8r_OM einen guten Einblick gewinnen.

Für einen allgemeineren Einblick in die Verarbeitung von Daten mittels KI, bietet Alteryx-Community einen Data Science learning path an.

Literaturverzeichnis:

[4] Muresan, H., Oltean, M. “Fruit recognition from images using deep learning”, 2018, in Acta Univ. Sapientiae, Informatica. Vol. 10, №1, pp. 26–42. [online] Available: https://arxiv.org/abs/1712.00580.

Content


Twitter


Adresse

St. Jakobs-Strasse 3, 4052 Basel, CH

Telefonnummer

+41 (0)61 551 0012

Linkedin

banian-ag

Wir freuen uns, von dir zu hören