Skip to main content
swissICT Booster  |  M&F Academy  |  M&F Events   |  +41 44 747 44 44  | 
8 Minuten Lesezeit (1564 Worte)

Artificial Intelligence und Machine Learning: Eine Einführung

Im Rahmen eines Workshops hat uns Dr. Christian Spindler, CEO von Data Ahead Analytics, eine Einführung in Artificial Intelligence und Machine Learning gegeben. Data Ahaed Analytics bietet Services im Bereich Big Data an, um wertvolle Informationen aus den Daten zu gewinnen und quantitative Entscheidungsprozesse zu ermöglichen. Die wichtigsten Infos aus dem Workshop habe ich Euch hier zusammengefasst. 

Was ist Artificial Intelligence?

Artificial Intelligence (AI) wird oft als Buzzword gebraucht. Deswegen ist es wichtig, sich Klarheit über den Begriff zu verschaffen und zu wissen, wo AI im Moment an ihre Grenzen stösst.

In den meisten Fällen führt eine AI ein Mapping von Input nach Output aus.

Hier zwei Beispiele dazu:

  • Input: Photograph
  • Output: Caption
  • Application: Image Tagging

  • Input: Historical market data
  • Output: Future market data
  • Application: Trading Bots

 

Dabei werden zwei Arten von AI unterschieden:

  • Narrow AI = Löst ein spezifisches Problem (z.B. Klassifizierung von Bildern)
  • General AI = Kann alle intellektuellen Aufgaben durchführen, die ein Mensch kann (z.B. in einem Haus einen Kaffee zubereiten und servieren)

Im Falle einer General AI stossen heutige Technologien schnell an ihre Grenzen.

Anwendungsbeispiele AI

AI kann in vielen unterschiedlichen Bereichen verwendet werden. Hier einige Beispiele.

  • Predictive Maintenance: Für eine Maschine wird ein digitaler Zwilling erstellt, welcher die Maschine simuliert. Sensordaten echter Maschinen können in dieses Modell einfliessen. Damit können auftretende Maschinenfehler vorzeitig entdeckt und behoben werden, z.B. via Anomaly Detection
  • Workplace Safety: Mithilfe von Sensordaten kann erkennt werden, ob sich eine Maschine natürlich verhält. Bei unnatürlichem Verhalten kann ein Notstop eingeleitet werden, um die Arbeiter zu schützen. Beispiel: Circular Saw Kickback Killer (We used science to make tools safer)
  • Process Mining: Durch Process Mining können Prozessabläufe dargestellt und optimiert werden. Für die Analyse ist lediglich ein Prozess Log nötig, welches die Zeit und den Prozess notiert.

 

Machine Learning

Machine Learning (ML) bildet die Basis für viele AI Anwendungen. Währenddem man beim Schreiben von traditioneller Software die Regeln eines Modelles kennen muss, lernt ML die Regeln eines Modelles anhand von bestehenden Datensätzen selbst.

Ein ML Algorithmus lernt ein Modell in der sogenannten Training Phase mithilfe eines Learning Algorithmus. In dieser Phase werden die Modellparameter durch einen iterativen Prozess so angepasst, dass das Modell eine Lossfunktion minimiert. Eine typische Lossfunktion ist der Mean-Square-Error.

Es gibt unterschiedliche Learning Algorithmen, welche abhängig von der Anwendung mehr oder minder geeignet sind. In den folgenden Abschnitten werden einige dieser Learning Algorithms vorgestellt.

Supervised Learning

Beim Supervised Learning ist der Datensatz kategorisiert, zum Beispiel 'Katze' oder 'Hund'. Man kennt bei dem Datensatz also den Output, was die Definition der Lossfunktion vereinfacht. Ein Modell wird so angepasst, dass dessen Output mit dem bekannten Output übereinstimmt.

 

Unsupervised Learning

Beim Unsupervised Learning ist der Datensatz nicht kategorisiert, man kennt also den Output nicht. Der Algorithmus versucht Gruppen ähnlicher Datenpunkte zu finden (Clustering) und kategorisiert so die Daten. Dazu wird gleichzeitig

  • Intra-Cluster Sum-of-Squares minimiert
  • Inter-Cluster Sum-of-Squares maximiert

 

Reinforcement Learning

Beim Reinforcement Learning lernt ein Modell, in dem es einer stochastischen Umgebung ausgesetzt ist. Sie konzentriert sich darauf, intelligente Lösungen auf komplexe Steuerungsprobleme zu finden.

Ensemble Learning

Beim Ensemble Learning werden mehrere Learning Algorithmen kombiniert, um das Ergebnis zu verbessern. Der Output des Modelles wird schlussendlich durch eine Abstimmung der Learning Algorithmen gewählt.

Neural Networks

Neuronale Netze verwandeln einen Input durch Neuronen in einen Output. Die Aufgabe eines Neurons wiederum ist es, Inputs durch eine "Activation Function" in einen Output zu verwandeln. Je nach Aufgabe des Neuronalen Netzes können unterschiedliche "Activation Functions" verwendet werden, unter anderem die Sigmoid, Tanh und Rectified Linear Unit Funktionen. Alle Inputs xi eines Neurons sind mit einem Gewicht wi versehen. Der Output eines Neurons mit drei Inputs wird folgendermassen berechnet: f(w0 x0 + w1 x1 + w2 x2), wobei f(x) eine "Activation Function" ist.

In einem Neuronalen Netz werden Layers von Neuronen aneinandergereiht. Es gibt folgende Layers: Input Layer, Hidden Layer, Output Layer. Die Tiefe eines Neuronalen Netzwerkes ist durch die Anzahl an Hidden Layers gegeben. Wenn ein neuronales Netzwerk viele Hidden Layers hat, handelt es sich um Deep Learning.

 

 

Ein Neuronales Netz wird anhand eines Training Datasets justiert. Dabei werden die Gewichte innerhalb des Netzes so angepasst (z.B. durch Gradient Descent), dass sich die Lossfunktion, gemessen am Output, minimiert.

Es gibt verschiedene Typen von Neuronalen Netzen.

Convolutional Neural Networks

CNN werden vor allem im Bereich der Computer Vision verwendet. Der Name ist durch den Gebrauch von Convolutions als Hidden Layers gegeben. In einem CNN folgen in der Regel Convolution Layers und Pooling Layers aufeinander. Ein Pooling Layer macht ein Downsampling des Inputs und ermöglicht damit dem Netzwerk, feine und grobe Features zu erkennen.

CNN

 

Recurrent Neural Networks

In einem normalen neuronalen Netz gilt die Annahme, dass zwei aufeinander folgende Inputs unabhängig voneinander sind. Oft ist dies aber in der Realität nicht der Fall. Zum Beispiel ist ein Wort in einem Satz von den vorherigen Wörter abhängig. Dieses Verhalten versucht das RNN nachzubilden, indem es einen weiteren Wert als Input eines Neurons definiert, welcher von den vorherigen Inputs abhängig ist.

RNN

 

Machine Learning Value Chain

Die Machine Learning Value Chain beschreibt die Prozesse von Data Acquisition bis Delivery. Jeder Prozess ist elementar für die Qualität des Ergebnisses und verlangt unterschiedliche Skillsets.

 

 

Data Acquisition & Preparation

Machine Learning braucht Daten in einer geeigneten numerischen Form, in der Regel in Tabellenform. Je nach Inputdaten gibt es verschiedene Methoden, die Daten in eine Tabellenform zu konvertieren. Zum Beispiel werden unstrukturierter Text via Word embedding und Bilder als drei zwei-dimensionale Arrays verarbeitet.

Zu Beginn müssen die Daten bereinigt werden. Zum Beispiel sollten fehlerhafte Datenpunkte gelöscht werden. Auch sollte geklärt werden, ob man zwischen Datenpunkten interpolieren darf.

 

Um ein Modell zu testen, lohnt es sich, die Daten in ein Training Data Set und ein Test Data Set aufzuteilen. Das Modell sollte dabei zum Lernen nie das Test Data Set gebrauchen. Bei Projekten mit wenig Daten sollte man etwa 30% der Daten fürs Testen verwenden. Bei Projekten mit viel Daten kann 1% fürs Testen schon reichen.

Es kann vorkommen, dass ein Data Set 'imbalanced' ist. Dies bedeutet, dass es in einer Klasse viel mehr Daten gibt als in anderen. Um das Data Set zu balancieren, kann under-sampling oder over-sampling verwendet werden. Der meistverwendete Algorithmus ist die Synthetic Minority Over-sampling Technique (SMOTE), mit welcher neue Punkte zur schwach vertretenen Klasse hinzugefügt werden.

SMOTE

Deployment

Bei einem Deployment wird die ML Applikation an User gebracht, die die Applikation in einem realistischen Setting gebrauchen.

Beim Deployment einer ML Anwendung sind folgende Punkte wichtig:

  • Easy Accessibility -> REST Web Service, z.B. Flask
  • High Performance
  • Fault Tolerance -> Web Service in Container (Neue Container können einfach gestartet werden, falls ein Container abstürzt.)
  • Scalability -> Cluster Service, z.B. Kubernetes
  • Maintainability -> Google Cloud storage bucket erlaubt es, einfach ältere Modelle mit neuen zu ersetzen.

Best Practices für AI Projekte

AI ermöglicht viel Innovation. Eine Firma kann sich aber überstürzt für eine AI Lösung entscheiden.

Wichtig für ein erfolgreiches AI Projekt sind folgende Punkte:

  • Klarer Anwendungsfall: Welchen Mehrwert bringt das Projekt? Welche Pain Points der Firma bzw. des Kunden werden durch das Projekt beseitigt?
  • Gemässigte Erwartungshaltung: Sich bewusst sein, was durch AI möglich ist, wo die Technik noch nicht weit genug ist und wie komplex die Lösung sein wird.
  • Realistische Abschätzung des Aufwandes für Datenexploration: Jeder Datensatz ist unterschiedlich und die Datenexploration kann oft nicht verschnellert werden.
  • Kein Verzicht auf echtes Software Development: Nach einem Prototyp sollte auf echtes Software Development umgeschaltet werden.
  • Regelkonformität: Sich der Datenschutzrichtlinien (GDPR) bewusst sein.
  • Fokus auf Benutzer: Verständliches User-Interface, User Bedürfnisse befriedigen.

Interpretation von Machine-Learning

Bei ML ist es oft schwer, das Modell zu erklären und zu begründen. Die Neuronalen Netze sind undurchsichtig. Es kann sein, dass ein ML Algorithmus den Profit einer Firma maximiert, aber sich diskriminierend gegenüber bestimmten Gruppen verhält ('Attacking discrimination with smarter machine learning').

Folgende Risiken treten bei ML Modellen auf:

Performance risks

  • Risk of Bias
  • Risk of Opaqueness or ‘black box’ risk
  • Risk of Explainability
  • Risk of stability of performance

Control risks

  • Risk of AI going ‘rogue’
  • Inability to control malevolent AI
  • Risk of cyber intruders impacting AI
    decision making

Economic risks

  • Liability risk
  • Reputation risk

Ethical risks

  • ‘Lack of Values’ risk
  • Value Alignment risk
  • Goal Alignment risk

Diese Risiken gilt es zu minimieren, um ein Vertrauen in die AI zu schaffen.

“It may not be enough for us that machines make right or even ideal judgments. We want those judgments to be made as a result of the same psychological processes that cause us to make them: Emotional reactions and intuitive responses that have evolved to make us distinctly moral creatures” - Why are we reluctant to trust robots?

Weiterführende Links und Empfehlungen

  • ML / Data Science / AI Courses of deeplearning.ai, currently on Coursera: coursera.org/specializations/deep-learning
  • Google Tensorflow Machine Learning library tensorflow.org
  • Python Machine Learning library scikit-learn.org
  • Python Natural Language Processing Library spacy.io
  • KNIME: Data analytics, reporting and integration platform. Integrates various components for machine learning and data mining through its modular data pipelining concept knime.com

 


Dieser und viele weitere Workshops kannst Du für dich und dein Team unter M&F Academy buchen. Melde Dich bei Interesse direkt bei .

1
UX im Industrieumfeld
Der neue Trainee Florian stellt sich vor

Ähnliche Beiträge

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Mittwoch, 15. Mai 2024

Sicherheitscode (Captcha)