Dieser Artikel beschreibt die wichtigsten Unterschiede der Programmierung und Arbeitsweise von herkömmlicher Software und KI-Systemen.
Klassische Programmierung
Herkömmliche Computerprogramme bzw. Algorithmen werden von menschlichen Programmierern auf analytische Weise in aufwändigen Arbeitsprozessen geschaffen. D.h. die Anforderungen und die Datenstruktur werden analysiert und daraufhin wird der Programmecode kreiert, sodass die Daten verarbeitet auf die angeforderte Weise verarbeitet werden. Die Anweisungen aus dem das Programm besteht sind statisch und führen immer die gleichen Funktionen aus. Der Input an Daten muss immer gleich sein, sonst kann das System nicht korrekt arbeiten. Da der Code festgelegt ist und sich nicht verändert ist der Output somit auch immer gleich und vorhersehbar.
Beispiel:
FUNCTION Add(a, b)
RETURN a + b
END FUNCTION
In dieser Beispielfunktion nimmt die Funktion mit dem Namen „Add“ zwei Variablen entgegen „a“ und „b“. Innerhalb der Funktion werden beide Variablen miteinander addiert und ausgegeben. Würde man nun anstatt einer Zahl einen Buchstaben in die Funktion geben, würde ein Fehler entstehen und entweder das Programm würde abstürzen, oder es würde ein unsinniger Wert ausgegeben werden.
KI-Systeme
KI-Systeme werden darauf ausgelegt, dass die Algorithmen und unterliegenden Parameter auf ein Problem hin automatisiert, angepasst werden können. Die KI ist somit in der Lage Muster zu erkennen und daraufhin Regeln abzuleiten, welche auf neue Daten angewendet werden können. Der Input und der Output von KI-Systemen sind somit variabel. Dieses Konzept der dynamisch anpassbaren Parameter, wird auch maschinelles Lernen oder „Machine learning“ genannt und ist ein wachsender Teilbereich innerhalb der KI-Technologie. Dabei wird der Algorithmus von der KI so weit optimiert, dass die Fehlerquote auf die unterliegende Trainingsdaten so minimal wie möglich ist.
Verschieden Problemdomänen
Dabei ist wichtig zu erwähnen, dass die beiden Arten der Programmierung nicht für die gleichen Problemstellungen herangezogen werden. Die klassische Programmierung adressiert ein sehr weites Feld an verschiedenen Problemen bzw. Anforderungen, wie z. B. ein Online-Shop mit allen verbundenen Funktionalitäten. KI-Systeme lösen zwar komplexe Problemstellungen, allerdings müssen diese thematisch gut eingrenzt werden können. Das ist notwendig, um geeignete Trainingsdaten für die KI bereitzustellen und am Ende repräsentative Ergebnisse zu erzielen.
Maschinelles Lernen
Die zugrunde liegende Technik mit dem Daten verarbeitet werden und die das maschinelle Lernen ermöglichen sind neuronale Netze. Diese Netze sind ähnlich den verbundenen Neuronen des menschlichen Gehirns aufgebaut und arbeiten nach dessen Vorbild. Maschinelles Lernen, welches über sehr tiefe bzw. vielschichtige neuronale Netze ablaufen und bei dem riesige Mengen Daten verarbeitet werden, nennt man „Deep Learning“.
Wenn du mehr über künstliche Intelligenz erfahren möchtest, dann schaue doch mal hier vorbei.
Quellen:
https://polygon-software.ch/blog/was-ist-der-unterschied-zwischen-kuenstlicher-intelligenz-und-maschinellem-lernen/
https://wirtschaftslexikon.gabler.de/definition/machine-learning-120982
https://www.sap.com/germany/products/artificial-intelligence/what-is-machine-learning.html
https://explore.iteratec.com/blog/trainierst-du-schon-oder-programmierst-du-noch
https://towardsdatascience.com/differences-between-machine-learning-and-regular-code-9edd0e54ea58
Artikelbild:
Bild von Innova Labs auf Pixabay