E-Book, Deutsch, 320 Seiten
Reihe: mitp Professional
Weigend KI-Projekte mit Python
1., 2025
ISBN: 978-3-7475-0997-5
Verlag: mitp Verlags GmbH & Co.KG
Format: EPUB
Kopierschutz: 6 - ePub Watermark
Dein einfacher Einstieg. Generative KI, Chatbots, Objekterkennung & Co.
E-Book, Deutsch, 320 Seiten
Reihe: mitp Professional
ISBN: 978-3-7475-0997-5
Verlag: mitp Verlags GmbH & Co.KG
Format: EPUB
Kopierschutz: 6 - ePub Watermark
- KI-Programmierung leicht gemacht - praktische Projekte ohne überflüssige Mathematik
- Einsatz mächtiger Bibliotheken wie TensorFlow, SpaCy und music21 - auch ohne Vorkenntnisse in Python
- Mit Programmieraufgaben, Bildern zur Veranschaulichung, Übungsfragen und vielen Anregungen zum Ausprobieren
Starte direkt mit echten KI-Projekten
Mit diesem Buch startest du direkt durch: Du lernst künstliche Intelligenz, indem du selbst programmierst - praxisnah, kreativ und verständlich. Schritt für Schritt entwickelst du spannende KI-Anwendungen mit wenigen Codezeilen: vom Chatbot über Bilderkennung bis hin zur Musik- und Bildgenerierung. Du experimentierst mit maschinellem Lernen und verstehst, wie lernende Systeme wirklich funktionieren. Alles, was du brauchst, sind grundlegende Programmierkenntnisse.
Alles dabei - von den Python-Grundlagen bis zu modernen KI-Bibliotheken
Dank klarer Erklärungen und anschaulicher Beispiele findest du dich auch als Einsteiger schnell zurecht. Du lernst alle wichtigen Techniken kennen und setzt sie direkt um - von einfachen Klassifikationsmodellen bis hin zu generativer KI mit GANs, RNNs und Diffusionsmodellen. Dabei nutzt du professionelle Bibliotheken wie NumPy, TensorFlow, Matplotlib, SpaCy und music21.
Programmieren, verstehen, experimentieren
Jedes Kapitel lädt zum Mitmachen ein - mit abwechslungsreichen Aufgaben, anschaulichen Abbildungen und vielen Ideen zum Ausprobieren. Du lernst, wie du KIs mit eigenen Daten trainierst oder Daten aus dem Internet nutzt, um spannende Anwendungen zu entwickeln. Die Programme kannst du entweder lokal auf deinem Rechner umsetzen oder du arbeitest im Browser mit Google Colab.
Aus dem Inhalt:
- Grundlagen der künstlichen Intelligenz
- Generative und diskriminierende KI
- KI programmieren mit Python-Bibliotheken:
- NumPy
- Matplotlib
- TensorFlow
- SpaCy
- music21
- Sprachmodelle und Natural Language Processing
- Überwachtes, unüberwachtes und Verstärkungslernen
- Künstliche neuronale Netze
- Bildgenerierung mit GAN und CNN
- Text erzeugen mit RNN und LSTM
- Musik komponieren mit music21
- Zahlreiche Aufgaben mit Lösungen
Zielgruppe
Einsteiger in die KI-Programmierung
Autoren/Hrsg.
Weitere Infos & Material
Kapitel 1:
Denkende Maschinen
Was ist eigentlich Intelligenz? In diesem Kapitel gehen wir dieser Frage auf den Grund und schaffen gleichzeitig die Grundlage für die im Buch folgenden KI-Projekte. Falls du mit der Programmiersprache Python noch nicht vertraut bist, erhältst du ganz nebenbei eine kurze Einführung.
Zunächst werfen wir einen Blick auf ein psychologisches Modell der menschlichen Intelligenz. Die »Primärfaktoren« dieses Modells sind dir wahrscheinlich von populärwissenschaftlichen Intelligenztests und Denksportaufgaben bekannt (Gegenstände in Gedanken rotieren, Bildfolgen ergänzen, memorieren, Synonyme finden etc.). Einige dieser Fähigkeiten beherrschen Computer ganz hervorragend. Mit 3D-Editoren kann man 3D-Objekte aus beliebigen Blickwinkeln betrachten, Computer besitzen ein hervorragendes Gedächtnis etc.
Im Anschluss wird der Turing-Test (»Imitation Game«) behandelt. Demzufolge ist ein System intelligent, wenn es in seinem Verhalten nicht von einem Menschen unterschieden werden kann.
Im Rest des Kapitels werden einige Programme erläutert, die auf diesem KI-Verständnis (»KI als Ersatzmensch«) basieren: Chatbots, mit denen man sich unterhalten kann oder die von sich aus Menschen ansprechen, und ein Spiel mit einer KI als Spielgegner (»Nim«). Alle in diesem Kapitel beschriebenen Programme sind Beispiele für symbolische KI, deren Arbeitsweise durch nachvollziehbare Regeln bestimmt ist. Später schauen wir uns subsymbolische KI an. Dazu gehören künstliche neuronale Netze. Sie lernen aus Beispielen, aber wie sie Entscheidungen treffen, ist nicht zu durchschauen.
1.1 Was ist Intelligenz?
Bist du intelligent? Aber klar, alle Menschen sind intelligent. Intelligenz ist eine menschliche Eigenschaft. Auch wenn es in der Wissenschaft keine einheitliche Definition gibt, verstehen die meisten Psychologen darunter die Fähigkeit, Probleme zu lösen. Hier ist ein Problem. Kannst du es lösen?
Aufgabe 1: Ein Streichholzproblem
Verschiebe ein einziges Streichholz und sorge dafür, dass die Gleichung stimmt.
Um eine Lösung zu finden, nutzt du mehrere Fähigkeiten deines Verstandes. Zunächst einmal bist du in der Lage, den Text der Aufgabenstellung zu lesen und zu verstehen. Du erkennst die Bedeutung der mathematischen Symbole und kannst durch Nachrechnen feststellen, dass die Gleichung 3 + 1 = 8 nicht stimmt. Um das Problem zu lösen, brauchst du kein einziges Streichholz anzufassen, sondern kannst in Gedanken die Streichhölzer verschieben und dir das Ergebnis vorstellen.
Der US-amerikanische Psychologe Louis Leon Thurstone hat sieben voneinander unabhängige Grundfähigkeiten beschrieben, die unsere Intelligenz ausmachen. Er nannte sie Primärfaktoren der Intelligenz:
-
Rechnen mit Zahlen
-
Räumliches Vorstellungsvermögen
-
Gedächtnis
-
Sprachverständnis
-
Schlussfolgerndes Denken
-
Wortflüssigkeit (Fähigkeit, schnell und leicht Wörter zu produzieren)
-
Wahrnehmungsgeschwindigkeit
Dieses Modell bildet die Grundlage vieler moderner Intelligenztests. Werfen wir einen genaueren Blick auf einige der Primärfaktoren und vergleichen die Leistungsfähigkeit von Menschen und Computern. Falls du mit der Programmiersprache Python nicht vertraut bist, erhältst du jetzt ganz nebenbei eine kleine Einführung in einige Grundtechniken.
1.1.1 Rechnen mit Zahlen
Das Rechnen mit Zahlen (number facility) haben wir mühsam in der Schule gelernt. Wir können kleinere Zahlen im Kopf addieren, subtrahieren und multiplizieren. Das klappt einigermaßen und hilft uns, durch den Alltag zu kommen. Bei spezielleren Operationen wie Wurzelziehen wird es schon schwieriger. Das können nur wenige Menschen im Kopf. Wie steht es um die Geschwindigkeit? Der Weltmeister im Kopfrechnen ist der Inder Aaryan Shukla. Bei der Weltmeisterschaft in Paderborn 2024 brauchte er für die Addition von zehn zehnstelligen Zahlen 96,39 Sekunden. Dein Computer rechnet sehr viel schneller. Selbst, wenn du alle Zahlen eintippen musst, kann du mit einem Taschenrechner den Weltmeister im Kopfrechnen leicht schlagen.
Abb. 1.1: Der Weltmeister im Kopfrechnen: Aaryan Shukla (2024, 14 Jahre alt)
Rechnen mit Python
Sorge dafür, dass auf deinem Computer Python installiert ist. Python ist eine weitverbreitete Programmiersprache, die leicht zu lernen ist. Die meisten KI-Programme sind in Python geschrieben.
Hinweis: Python installieren
Python ist kostenlos und kann einfach von der Webpräsenz der Python Software Foundation heruntergeladen werden. Besuche die Webseite https://www. python.org/ und klicke auf Download. Es kann sinnvoll sein, nicht die aktuellste Python-Version zu wählen, sondern z.B. Python 3.11, denn manche Module, die wir später installieren werden, funktionieren noch nicht mit der aktuellsten Version.
Unter Microsoft Windows lädst du eine ausführbare Datei (Name endet auf .exe) herunter, die du durch Doppelklick startest.
Auf einem Mac läuft die Installation genauso, mit dem kleinen Unterschied, dass der Name der heruntergeladenen Datei auf .pkg endet.
Auf Linux-Rechnern ist Python meist schon vorinstalliert. Die neueste Version kannst du auf den meisten Linux-Systemen mit folgendem Befehl installieren:
Wenn du Python installiert hast, befindet sich auf deinem Computer neben der eigentlichen Programmiersprache auch eine Entwicklungsumgebung namens IDLE. Die Abkürzung steht für Integrated Development and Learning Environment. Mit einer Entwicklungsumgebung kann man Programmtexte erstellen und testen. Außer IDLE gibt es auch viele andere Entwicklungsumgebungen für Python.
Um ein Programm zu schreiben, brauchst du eine Entwicklungsumgebung (Integrated Development Environment, IDE). Wir verwenden in diesem Buch ausschließlich IDLE. Wenn du IDLE startest, öffnet sich die IDLE-Shell. Darin kannst du einzelne Python-Befehle ausprobieren. Insbesondere kannst du die IDLE-Shell zum Rechnen verwenden. Schreibe einfach hinter den Prompt >>> einen arithmetischen Ausdruck und drücke die Taste Enter. In der nächsten Zeile erscheint das Ergebnis.
Abb. 1.2: Die IDLE-Shell als Taschenrechner
Für Multiplikationen verwendest du * und für Divisionen /:
Der Operator wird für ganzzahlige Divisionen verwendet. Das Ergebnis einer ganzzahligen Division ist immer eine ganze Zahl, nämlich das nach unten gerundete Ergebnis einer exakten Division:
In einigen Projekten werden wir auch den Modulo-Operator % verwenden. Der Ausdruck ist der Rest der Division . Beispiele:
Wenn man 5 durch 2 teilt, ergibt das 2 und es bleibt der Rest 1.
Wenn man 4 durch 2 teilt, geht das glatt auf und es bleibt kein Rest.
Für das Potenzieren verwendet man den Operator . Beispiel: .
Python unterscheidet zwischen ganzen Zahlen (Typ ) und Gleitkommazahlen (Typ ). Eine Gleitkommazahl wird mit einem Punkt (und nicht mit einem Komma) geschrieben, z.B. . Die Stellen nach dem Punkt sind die Nachkommastellen. Besonders große Zahlen oder Zahlen, die sehr nahe an 0 sind, werden in der Exponentenschreibweise dargestellt. Hinter dem Buchstaben (oder ) steht der Exponent einer Zehnerpotenz. Der Ausdruck ist 1,3 · 106, also 1.300.000. ist 2,9 · 10-5, also 0,000029.
Du kannst auch komplizierte arithmetische Ausdrücke mit Klammern auswerten lassen:
1.1.2 Gedächtnis
Thurstone definierte das assoziative Gedächtnis (associative memory) als die Fähigkeit, sich an Paare von Elementen zu erinnern und sie schnell abrufen zu können. Menschen mit gutem assoziativem Gedächtnis fällt es leicht, sich an zusammengehörige Informationen zu erinnern, z.B. Wortpaare oder Ursache-Wirkungs-Beziehungen. Dies hilft bei der Entwicklung von Problemlösungen.
In einem Python-Programm kannst du Daten durch eine Zuweisung speichern. Das ist eine Anweisung der Form
In einer Zuweisung wird einer Variablen ein Wert zugewiesen. Das kannst du in der IDLE-Shell ausprobieren.
Hier wird der Variablen mit dem Namen der Wert 15 zugewiesen. Man kann auch sagen, die Variable enthält als Wert die Zahl 15. Du kannst dir die Variable als Behälter vorstellen, die einen Wert enthält (Abbildung 1.3 links).
Abb. 1.3: Zwei Veranschaulichungen für Variablen
Eine andere Anschauung ist, dass man an die Zahl 15 ein Etikett mit dem Namen geklebt hat (Abbildung 1.3 rechts). Über den Namen einer Variablen kommt man an ihren Inhalt.
Mit einer -Anweisung kannst du den Inhalt einer Variablen ausgeben.




