Eigene KI-Anwendungen programmieren (eBook)
450 Seiten
Rheinwerk Computing (Verlag)
978-3-8362-9765-3 (ISBN)
KI-Anwendungen selbst erstellen und mit eigenen Daten nutzen - das ist möglich mit frei verfügbarer Technologie, lokaler Hardware und sogar ohne Programmierkenntnisse.
Die KI-Technologie wird in atemberaubendem Tempo immer zugänglicher. Mit diesem Buch sind Sie immer einen Schritt voraus. Lernen Sie einschlägige KI-Verfahren kennen und setzen Sie für jedes dieser Verfahren eine Anwendung selbst um. Dafür nutzen Sie die Data Science Plattform KNIME - ideal, um eigene Daten aus unterschiedlichen Quellen zu integrieren und mit rein grafischer Programmierung Anwendungen zu erstellen.
Das Buch deckt eine Reihe von Themen ab, darunter:
Künstliche neuronale Netze
Entscheidungsbäume
Bilderkennung
Convolutional Neural Networks
Transfer Learning
Textgenerierung
Unsupervised und Reinforcement Learning
Transformer: ChatGPT, DALL-E und Co.
Außerdem führen wir Sie in die Welt von TensorFlow und Keras ein und zeigen Ihnen, wie Sie Anwendungen in einfachem Python erstellen können. Alle vorgestellten Projekte sind in der beruflichen Bildung erprobt und haben sich als effektiv erwiesen.
So bereichern Sie Ihre Skills mit einem modernen Werkzeugkasten, mit dem Sie maschinelles Lernen in der Datenanalyse, dem Controlling und vielen weiteren Anwendungsfeldern nutzen können.
Alle Codebeispiele zum Download; Jupyter Notebooks erleichtern die Arbeit mit dem Material zum Buch. Starten Sie jetzt mit Ihrer eigenen KI!
Aus dem Inhalt:
- Installation und Konfiguration
- Mit verschiedenen Datenquellen arbeiten
- Bilderkennung
- Klassifizierungsaufgaben
- Convolutional Neural Networks
- Transfer Learning
- Zeitreihenanalysen
- Texte generieren
- Unsupervised Learning
- Reinforcement Learning
- Datenanalyse mit KNIME
- Evolutionäre Algorithmen
- ChatGPT und DALL-E
1.4 Verwendete Werkzeuge
Es stehen viele Programmiersprachen, Bibliotheken und Tools zur Verfügung, um KIs zu entwickeln. Hier soll eine kurze Vorstellung über die Auswahl erfolgen, die in diesem Buch Anwendung findet. Es wird noch nichts installiert oder programmiert.
1.4.1 Python
Die Programmiersprache Python ist eine sehr einfach zu erlernende, aber gleichzeitig sehr mächtige Sprache. Schon bei der Entwicklung wurde Wert auf Lesbarkeit, Plattformunabhängigkeit und einfache Strukturen gelegt. Auch wenn Sie unter Windows programmieren, ist das Programm anschließend auf einem Linux-Rechner oder macOS lauffähig. Diese Vorteile haben dazu geführt, dass sie mittlerweile eine der beliebtesten Programmiersprachen überhaupt ist. In der Welt der Data Science und KI hat sie sich als De-facto-Standard durchgesetzt. Wie schon erwähnt, soll dieses Buch keine Einführung in die Programmiersprache Python sein. Für uns ist sie nur Mittel zum Zweck. Die folgenden Python-Anweisungen sollen die Einfachheit verdeutlichen. Wir werden mit der Programmierung erst beginnen, nachdem im nächsten Kapitel die Installation erfolgt ist.
Das obligatorische »Hallo Welt«-Beispiel sieht folgendermaßen aus:
Mit der print-Funktion können Daten in der Konsole ausgegeben werden, in diesem Falle »Hallo Welt!«. Wir können diese Zeichenkombination (Datentyp String) auch erst in einer Variable speichern und danach ausgeben:
print(ausgabe)
Datentypen
Die elementarsten Datentypen in Python sind
-
Strings (Zeichenketten), welche in einfachen oder doppelten Anführungszeichen geschrieben werden (z. B. »Hallo Welt!«),
-
Integer (Ganzzahlen, z. B. 72) und
-
Float (Fließkommazahlen, z. B. 3,14).
Je nach Datentyp sind bestimmte Operationen möglich. String-Daten wie »Hallo« und »Welt« können zu »Hallo Welt« zusammengefügt werden. Integer- oder Float-Daten können miteinander verrechnet werden, z. B. 3 × 8.
Weitere Datentypen werden wir erst vorstellen, wenn sie zur Lösung einer bestimmten Aufgabenstellung benötigt werden.
Dieselbe Variable kann auch für eine Ganzzahl (Datentyp Integer) oder Fließkommazahl (Datentyp Float) wiederverwendet werden. In Python-Variablen können Daten beliebigen Typs gespeichert werden.
print(ausgabe)
ausgabe = 42
print(ausgabe)
ausgabe = 42.2
print(ausgabe)
Hier wird nacheinander »Hallo Welt!«, 42 und 42.2 ausgegeben. Sehen wir uns nun ein vermeintlich komplizierteres Programm an:
alter = 20
# Abfrage, ob eine Volljährigkeit vorliegt
if alter >= 18:
print("Du bist volljährig!")
else:
print("Du bist noch nicht volljährig!")
Das #-Zeichen leitet Kommentare ein, die beim Lesen des Codes helfen können, diese Zeilen werden nicht ausgeführt. In der Variablen alter wird die Zahl 20 gespeichert. Danach kommt eine Abfrage, ob das Alter größer oder gleich 18 ist. Trifft das zu (wie in diesem Beispiel der Fall), erfolgt die entsprechende Ausgabe. Der else-Zweig wird übersprungen und das Programm beendet. Klären wir folgende Fragen:
-
Welche Auswirkung hätte es, wenn in der Variable alter der Wert 16 gespeichert werden würde? Antwort: Der if-Zweig würde übersprungen und der else-Zweig ausgeführt werden. Die Ausgabe wäre »Du bist noch nicht volljährig!«
-
In manchen Ländern ist man erst mit 21 volljährig. Welche Änderung ist an diesem Programm dafür notwendig? Antwort: Bei der if-Abfrage erfolgt der Vergleich mit der Zahl 21 statt mit 18.
-
Kann man die oben durchgeführte Änderung für die Abfrage der Volljährigkeit als »Programmierung« bezeichnen? Oder als »Konfiguration«? Darüber kann man streiten, wenn man nichts Besseres zu tun hat.
Wie Sie sehen, ist es in Python recht einfach, den Quellcode nachzuvollziehen.
1.4.2 Jupyter Notebook
Wir benötigen eine Software, in welche wir die Python-Befehle eintippen können. Mithilfe dieser Software soll programmiert, ausgeführt und getestet werden. Software dieser Art nennt man integrierte Entwicklungsumgebung (IDE, Integrated Development Environment). Für Python gibt es eine Reihe von sehr guten Entwicklungsumgebungen. In Data Science und KI-Entwicklung haben sich jedoch einfache Jupyter Notebooks (open source) etabliert. Hier wird im Browser programmiert, meist besteht das Programm aus einer einzigen Datei. Um Python sowie Jupyter Notebook (und bei Bedarf viele weitere Tools) zu installieren und zu konfigurieren, werden wir die kostenlose, für diesen Einsatzzweck entwickelte Anaconda-Distribution verwenden. Diese gibt es für Windows, Linux und macOS. Mit Anaconda können Sie einfache Entwicklungsumgebungen lokal am PC oder zentral auf einem Server einrichten. Der Vorteil der Servervariante ist, dass man von mehreren Clients aus einfach per Browser mit Jupyter Notebook programmieren kann. An diesen Clients ist keine weitere Installation notwendig. Wenn Sie hingegen keinen eigenen Server benutzen wollen, sondern einen von Anaconda in der Cloud zur Verfügung gestellten, kostet es Geld.
Entwicklungsumgebung
Eine integrierte Entwicklungsumgebung (IDE, Integrated Development Environment) stellt wichtige Werkzeuge zur Verfügung, welche Sie bei der Programmierung unterstützen. Dazu gehören das automatische Erkennen und Vervollständigen von Befehlen, Autokorrektur sowie hilfreiche Hinweise bei Programmierfehlern.
1.4.3 KNIME
Die Software KNIME Analytics Platform verfolgt einen ganz anderen Ansatz: Die Programmierung erfolgt mittels grafischer Bausteine, welche per Drag-and-Drop in den Arbeitsbereich gezogen, miteinander verbunden und konfiguriert werden. Man nennt das auch visuelle Programmierung.
KNIME basiert auf Eclipse, einer weit verbreiteten Entwicklungsumgebung für verschiedenste Programmiersprachen. Sie ist open source, kostenlos und plattformunabhängig.
Das folgende Beispiel zeigt ein Programm, welche die Inhalte einer Excel-Datei ausliest und die Zahlenwerte in einem Grafen plottet (siehe Abbildung 1.1).
Abbildung 1.1 Laden einer Excel-Datei und Plotten der Inhalte
Die Ausgabe des Bausteins »Line Chart« sehen Sie in Abbildung 1.2: Dazu müssen Sie nach dem Ausführen einen Rechtsklick auf den Baustein ausführen und auf View: Line Chart klicken.
Abbildung 1.2 Plotten der Inhalte
Ist die Datenquelle nicht eine Excel-Datei, sondern z. B. eine Datenbank oder CSV-Datei, müssen Sie nur den Baustein Excel Reader ersetzen.
1.4.4 ChatGPT und GPT-4
Fragen wir einfach ChatGPT (oder den Nachfolger GPT-4) selbst, wer oder was es ist …
User: Wer oder was bist du? Erkläre es mir so, als wäre ich 12 Jahre alt.
Antwort: Natürlich! Stell dir vor, ich bin wie ein extrem fortgeschrittenes Computerprogramm, das Fragen beantworten kann. Du kannst mich ein bisschen wie ein interaktives Lexikon oder einen digitalen Gesprächspartner betrachten, der viele Informationen kennt.
Ich bin nicht wirklich eine Person und habe keine eigenen Gedanken oder Gefühle. Ich bin ein Werkzeug, das von Menschen geschaffen wurde, um Fragen zu beantworten und Informationen bereitzustellen, basierend auf dem, was bis zum Jahr 2021 bekannt war.
Auf der Webseite https://chat.openai.com können Sie diesen Chatbot der Firma OpenAI ausprobieren. Dieses beeindruckende Tool werden wir uns noch genauer anschauen.
1.4.5 DALL-E 2 bzw. DALL-E 3
DALL-E 2 und der Nachfolger DALL-E 3 basieren auf dem ChatGPT-Modell, das für die Text-zu-Bild-Synthese angepasst wurde. Der Name ist von Salvador Dali (bedeutender surrealer Künstler) und WALL-E (Pixar-Filmroboter) abgeleitet.
Mit diesem Tool...
Erscheint lt. Verlag | 1.2.2024 |
---|---|
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Informatik ► Theorie / Studium ► Künstliche Intelligenz / Robotik | |
ISBN-10 | 3-8362-9765-5 / 3836297655 |
ISBN-13 | 978-3-8362-9765-3 / 9783836297653 |
Haben Sie eine Frage zum Produkt? |
Größe: 15,2 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich