Deutschland - Kennzeichen Deutschland

Incoterms:DDP
Alle Preise sind inklusive Zoll und Gebühren bei der Auswahl der Versandart.

Bitte bestätigen Sie Ihre Währungsauswahl:

Euro
Versand ist kostenfrei bei den meisten Bestellungen über 50 € (EUR)

US Dollar
Versand ist kostenfrei bei den meisten Bestellungen über $60 (USD)

Bench Talk for Design Engineers

Mouser German Blog

rss

Mouser Electronics, Inc german language blogs


Wie immer ausgereiftere Programmiersprachen die Entwicklung der KI unterstützen M. Tim Jones

(Source: Virrage Images/Shutterstock.com)

In ihren Anfangszeiten wurde die KI vorwiegend mit der Programmiersprache Lisp (LISt Processor) auf dedizierter Hardware betrieben, die einfache Lisp-Aufgaben ausführte. Als eine der frühesten Programmiersprachen ermöglichte Lisp eine effiziente Verarbeitung von Elementlisten. Mit zunehmender Beliebtheit von Universal-Maschinen folgten auch entsprechende Programmiermodelle. Seit dem Aufkommen von maschinellem Lernen, und hierbei insbesondere Deep Learning, werden diese Datenströme heute jedoch mithilfe neuer Ansätze und Toolkits optimiert. In diesem Beitrag befassen wir uns mit dem Zusammenführen von maschinellem Lernen und Software-Plattformen.

 

Die Frühgeschichte der KI

Künstliche Intelligenz und Lisp sind untrennbar miteinander verwoben, denn sowohl das Konzept als auch die Programmiersprache gehen auf denselben Erfinder zurück – John McCarthy (1927-2011). In ihrer anfänglichen Form lag der Schwerpunkt der KI mehr auf den Aspekten Suche und symbolische Verarbeitung, jedoch weniger auf den heute vorherrschenden numerischen Ansätzen. Mit ihrer Fähigkeit, komplexe Daten einfach und natürlich darzustellen, und der Nutzung der Rekursion (die für Iteration und Suche verwendet wird) war Lisp die perfekte Programmiersprache für viele Probleme der damaligen Zeit. Dank des interaktiven Interpreters REPL (Read Evaluate Print Loop) wurde die explorative Programmierung mit Lisp einfacher – und damit ideal zur Lösung von Problemen, die noch nicht vollständig verstanden wurden.

 

Leider war die Stärke von Lisp auch ihre Schwäche, denn der funktionale Programmierstil war schwierig und ebnete neuen Paradigmen für Programmiersprachen Tür und Tor. Auch wenn die funktionale Programmierung heute noch angewandt wird, sind imperative, objektorientierte und Multi-Paradigmen-Sprachen heute häufiger anzutreffen.

 

Moderne KI-Sprachen

KI-Anwendungen lassen sich zwar in jeder beliebigen Programmiersprache entwickeln – einige davon sind jedoch besser geeignet als andere. Ob es nun an der Sprache selbst liegt oder an der Unterstützung rund um die Sprache: Manche Programmiersprachen vereinfachen die KI-Entwicklung deutlich.

 

Logik-Programmierung

Die 1972 entwickelte Programmiersprache Prolog hat ihre Wurzeln in der Logik erster Ordnung, bei der Programme durch Fakten und Regeln definiert werden. Prolog versucht mithilfe von Regeln aus einer Reihe von Fakten ein Ergebnis zu finden. Die Sprache wird auch heute noch häufig für Anwendungen wie Expertensysteme und automatisierte Planungssysteme verwendet. Prolog wurde ursprünglich für die Verarbeitung natürlicher Sprache entwickelt und findet in diesem Bereich auch heute noch Anwendung.

 

Universelle Sprachen

Zwanzig Jahre nach der Einführung von Prolog wurde die universelle Programmiersprache Python entwickelt, die sich auf die Lesbarkeit von Code konzentrierte. Obwohl Python schon frühzeitig Interesse als Programmier-Lehrsprache weckte, ist sie mittlerweile in verschiedenen Bereichen weit verbreitet, unter anderem auf dem Gebiet der Künstlichen Intelligenz und des maschinellen Lernens. Zu den größten Vorteilen von Python zählt die Vielzahl an Bibliotheken und Toolkits, die die Erstellung von Anwendungen vereinfachen. So kann Python beispielsweise mit dem Open-Source-Toolkit TensorFlow für die Erstellung von Deep-Learning-Anwendungen eingesetzt werden. Dies ist vor allem von Vorteil, wenn man Deep Learning einsetzen möchte, ohne jedoch die dafür erforderlichen detaillierten Strukturen tiefer neuronaler Netze zu entwickeln.

 

Statistische Berechnungen

Ein ähnliches Modell wurde bei der Sprache R verwendet, die sowohl eine Programmiersprache als auch eine Umgebung für statistische Berechnungen und Grafiken ist. R ist durch die Integration von R-Paketen hochgradig erweiterbar. Diese Pakete enthalten Funktionen und sammeln Daten für bestimmte Anwendungen, die in R-Programmen zum Einsatz kommen können, beispielsweise statistische Funktionen oder vollständige Deep-Learning-Toolkits. Mit Stand 2020 sind mehr als 15.000 Pakete für die Programmiersprache R erhältlich.

 

Neue funktionale Ansätze

Obwohl Lisp im Bereich des maschinellen Lernens heute eine eher untergeordnete Rolle einnimmt, sind aus den funktionalen Wurzeln der Programmiersprache neue Sprachen entstanden, die dem Vorbild von Lisp folgen. Haskell beispielsweise ist eine rein funktionale Programmiersprache mit einem starken Typsystem, das für einen sicheren Code sorgt – ein ausgesprochen nützliches Merkmal im Hinblick auf das maschinelle Lernen und die explosionsartige Verbreitung von IoT-Geräten. Haskell ist zwar nicht mit so vielen Bibliotheken ausgestattet wie etwa Python und R, ermöglicht jedoch Binding für Machine-Learning-Toolkits, womit das Erstellen von Machine-Learning-Anwendungen mit Haskell vereinfacht wird.

 

Toolkits

Im Hinblick auf die Entwicklung von Anwendungen für maschinelles Lernen haben sich neben den Sprachen auch Toolkits und Bibliotheken weiterentwickelt. Mit Toolkits wie etwa TensorFlow können Programmiersprachen komplexe Machine-Learning-Anwendungen entwickeln, ohne diese Funktionen von Grund auf neu erstellen zu müssen. Dank Schnittstellen zu verschiedenen Sprachen wie Python, Haskell und R lassen sich Deep-Learning-Anwendungen mit TensorFlow mühelos erstellen und einsetzen.

 

Fazit

Das Konzept der KI und die Entstehung des maschinellen Lernens als numerischer Abkömmling haben zu einer Koevolution von Programmiersprachen und Toolkits geführt. Während die Sprachen universelle Fähigkeiten für den Aufbau vielfältiger Anwendungen bieten, erweitern Toolkits diese Sprachen mit speziellen Machine-Learning-Fähigkeiten.



« Zurück


M. Tim Jones hat über 30 Jahre Erfahrung im Bereich IT-Architekturen und Entwicklung, insbesondere für Embedded Systems.  Er hat mehrere Bücher und zahlreiche Artikel zu einer Fülle an Themen wie Software- und Firmware-Entwicklung verfasst.  Seine Fachkenntnisse reichen von der Entwicklung von Kernels für geostationäre Raumfahrzeuge bis hin zu Architekturen für Embedded Systems und die Protokoll-Entwicklung. 


Alle Autoren

Alle anzeigen Alle anzeigen
Blog nach Datum anzeigen