KI-Projekte mit Python - Michael Weigend - E-Book

KI-Projekte mit Python E-Book

Michael Weigend

0,0

Beschreibung

  • 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

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 331

Veröffentlichungsjahr: 2025

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Inhaltsverzeichnis
KI-Projekte programmieren mit Python
Impressum
Einleitung
Wie ist das Buch aufgebaut?
Programmbeispiele zum Download und Colab Notebooks
Kapitel 1: Denkende Maschinen
1.1 Was ist Intelligenz‌?
1.1.1 Rechnen mit Zahlen
1.1.2 Gedächtnis
1.1.3 Räumliches Vorstellungsvermögen
1.1.4 Sprachverständnis
1.1.5 Schlussfolgerndes Denken
1.1.6 Wortflüssigkeit
1.1.7 Wahrnehmungsgeschwindigkeit
1.1.8 Starke und schwache KI
1.2 Projekt: Wie schnell kann ein Computer rechnen?‌
Vorbereitung
Schritt 1: Funktionen importieren
Schritt 2: Eine Liste mit Zufallszahlen erzeugen
Schritt 3: Summe bilden und Zeitmessung
Schritt 4: Das Messergebnis ausgeben
Schritt 5: Das Programm testen
1.3 Maschinen als Ersatzmenschen – Der Turing-Test‌
1.4 Projekt: Eine freundliche Maschine‌
1.4.1 Den Computer sprechen lassen
1.5 Projekt: Ein Stichwort-Chatbot‌
Schritt 1: Antwort auf eine Frage
Schritt 2: Mehr »Intelligenz« durch verschachtelte if-else-Anweisungen
Schritt 3: Mit elif die technische Qualität verbessern
Schritt 4: Zusammengesetzte Bedingungen verwenden
Schritt 5: Von der einfachen Reaktion zum Gespräch
1.6 Projekt: Eine KI als Spielgegner‌
1.6.1 Das Nim-Spiel
1.6.2 Die Programmierung der Basisversion
Schritt 1: Ein Modell für Streichhölzer
Schritt 2: Eine Funktion definieren
Schritt 3: Spielzüge von Mensch und KI
Schritt 4: Das Hauptprogramm
1.7 Rückblick
1.8 Lösungen
Aufgabe 1: Ein Streichholzproblem
Aufgabe 2: Was sieht der Roboter?
Aufgabe 3: Wortbeziehungen erkennen
Aufgabe 4: Fortsetzung einer Folge
Aufgabe 5: Zahlensuche
Aufgabe 6: Bilderkennung
Aufgabe 7: Mehr Zufälligkeit
Aufgabe 8: Sichere Eingabe
Aufgabe 9: Mehr Menschenähnlichkeit
Kapitel 2: Sprache und Denken – Natural Language Processing (NLP)
2.1 Trainingscamp: Strings
2.1.1 Station 1: Strings erstellen
2.1.2 Station 2: Unicode-Zeichen
2.1.3 Station 3: Strings durchsuchen
2.1.4 Station 4: Neue Strings aus alten Strings
2.1.5 Station 5: Formatierung
2.2 Projekt: Storytelling ‌
2.2.1 Mad Libs
2.2.2 Eine digitale Version
2.3 Sprachmodelle nutzen – Natural Language Processing (NLP)
2.3.1 spaCy in einer virtuellen Umgebung installieren
Schritt 1: Python installieren
Schritt 2: In den Projektordner wechseln
Schritt 3: Pfad finden
Schritt 4: Virtuelle Umgebung einrichten
Schritt 5: Aktivieren
Schritt 6: spaCy installieren
2.4 NLP mit spaCy ausprobieren
2.4.1 Tokenisierung
2.4.2 Stoppwörter‌
2.4.3 Einen Text‌ in Sätze zerlegen
2.5 Projekt: Mit NLP einen Text automatisch zusammenfassen‌
2.5.1 Vorüberlegung: Wie erkennt man, was wichtig ist?
2.5.2 Programmierung
Schritt 1: Text tokenisieren und Schlüsselwörter finden
Schritt 2: Sätze gewichten
Schritt 3: Schwellenwert für Satzgewichte finden
Schritt 4: Text zusammenfassen und ausgeben
2.6 Was ist ein Apfel? Die Bedeutung von Wörtern
2.6.1 Semantisches Netz‌‌
2.6.2 Embeddings und Ähnlichkeit – Experimente mit spaCy
2.6.3 Ähnlichkeit
2.7 Projekt: Schlag nach bei Goethe! Ähnliche Wörter finden‌
Schritt 1: Den »Faust« lesen und eine Menge von Wörtern vorbereiten
Schritt 2: Suche nach Wörtern
2.8 Projekt: Fitness-Chatbot ‌für Reisende
Schritt 1: Fragen und Antworten
Schritt 2: Zu einer Frage die beste Antwort finden
Schritt 3: Der Dialog
2.9 Rückblick
2.10 Lösungen
Aufgabe 1: Zeichenkunst
Aufgabe 2: Unicode-Zeichen finden
Aufgabe 3: Strings durchsuchen
Aufgabe 4: Strings verarbeiten
Aufgabe 5: Neue Features
Aufgabe 6: Was ähnelt »hurz«?
Aufgabe 7: Glück und Unglück
Aufgabe 8: Ein Schwellenwert für die Ähnlichkeit
Kapitel 3: Lernende Programme
3.1 Wie Computer »intelligent« werden
3.1.1 Überwachtes Lernen: Regression‌
3.1.2 Überwachtes Lernen‌‌: Klassifizieren
3.1.3 Unüberwachtes Lernen
3.1.4 Verstärkungslernen‌
3.2 Projekt: Lernen durch Versuch und Irrtum‌‌ – Wegesuche auf dem Mond
3.2.1 Turtle-Grafik
3.2.2 Das Simulationsprogramm
Schritt 1: Die Mondlandschaft
Schritt 2: Den Roboter steuern
Schritt 3: Das gelernte Wissen anwenden: Zweiter Lauf vom Start zum Ziel
Schritt 4: Besser werden
3.2.3 Fazit
3.3 Rückblick
3.4 Lösungen
Aufgabe 1: Lernrate
Aufgabe 2: Nadelbäume erkennen
Aufgabe 3: Blätter bestimmen
Aufgabe 4: Eine Birne ist anders
Aufgabe 5: Verdächtige Nachricht
Aufgabe 6: Mehr Zufälligkeit
Kapitel 4: Inspiriert durch das Gehirn – Künstliche neuronale Netze
4.1 Das Gehirn – Ein natürliches neuronales Netz
4.2 Künstliches neuronales Netz
4.2.1 Aktive Knoten
4.2.2 Aktivierungsfunktionen
4.3 Ein neuronales Netz‌ entwerfen und trainieren
4.3.1 Uneinigkeit erkennen
4.3.2 Vorhersagen berechnen
4.3.3 Trainingsprozess und Batchgröße
4.3.4 Verlustfunktion (Loss‌)
4.3.5 Gradientenabstieg
4.3.6 Klassischer Gradientenabstieg und Stochastischer Gradientenabstieg
4.3.7 Adam-Optimierer
4.4 Trainingscamp: Arrays verarbeiten mit NumPy
4.4.1 Vorbereitung
4.4.2 Station 1: Arrays erzeugen
4.4.3 Station 2: Rechnen mit Arrays
4.4.4 Station 3: Arrays in Form bringen
4.5 Projekt: Uneinigkeit erkennen‌
4.5.1 Vorbereitung
4.5.2 Google Colab‌ verwenden
4.5.3 Programmierung
Schritt 1: Die Trainingsdaten vorbereiten
Schritt 2: Das neuronale Netz (Modell) definieren
Schritt 3: Das Modell trainieren und testen
4.6 Projekt: Ziffern erkennen‌
4.6.1 Programmierung
Schritt 1: Vorbereitung der Trainingsdaten
Schritt 2: Definition des neuronalen Netzes
Schritt 3: Das Modell trainieren und testen
4.7 Rückblick
4.8 Lösungen
Aufgabe 1: Gehirnquiz
Aufgabe 2: Arrays erzeugen
Aufgabe 3: Rechnen mit Arrays
Aufgabe 4: Arrays in Form bringen
Aufgabe 5: Experimente mit dem Uneinigkeits-Detektor
Aufgabe 6: Experimente zur Erkennung handgeschriebener Ziffern
Kapitel 5: Der Computer als Künstler – Bilder generieren mit einem GAN
5.1 Was ist generative KI?
5.2 Wie funktioniert ein GAN?
5.3 Trainingscamp: Tensoren
5.3.1 Station 1: Eigenschaften eines Tensors
5.3.2 Station 2: Tensoren erzeugen
5.3.3 Station 3: Tensoren in Form bringen
5.3.4 Station 4: Zugriff auf Teile eines Tensors
5.3.5 Station 5: Tensoren als Bilder anzeigen
5.4 Projekt: Kreative Ziffern‌
5.4.1 Programmierung
Schritt 1: Daten laden und vorbereiten
Schritt 2: Tensoren erstellen
Schritt 3: Der Generator
Schritt 4: Der Diskriminator
Schritt 5: Das GAN
Schritt 6: Das Training
Schritt 7: Bilder ausgeben
5.4.2 Weiterentwicklung: Modelle speichern und trainierte Modelle nutzen
5.5 Projekt: Künstliche Gesichter‌
5.5.1 Vorbereitung
5.5.2 Programmierung
5.6 Rückblick
5.7 Lösungen
Aufgabe 1: Echt oder Fake?
Aufgabe 2: Auf die Form kommt es an
Aufgabe 3: Tensoren erzeugen
Aufgabe 4: Zugriff auf Ausschnitte eines Tensors
Aufgabe 5: Tensorbilder
Aufgabe 6: Experimente mit dem GAN
Kapitel 6: Textproduktion mit rekurrenten neuronalen Netzen (RNN)
6.1 »Es war einmal« – Ein Sprachmodell mit Bleistift und Papier
Schritt 1: Das Sprachmodell nutzen
Schritt 2: Das Sprachmodell trainieren
Schritt 3: Neue Sätze bilden
6.2 Wie funktioniert ein RNN?
6.2.1 Hat ein künstliches neuronales Netz ein Gedächtnis‌?
6.2.2 Neuronen mit Gedächtnis – Rekurrente neuronale Netze (RNNs)
6.2.3 Gradientenverschwinden und Gradientenexplosionen
6.2.4 Die Arbeitsweise von LSTM-Zellen
6.3 Projekt: In sechs Schritten zum Textgenerator‌
6.3.1 Die Grundidee
6.3.2 Die Programmierung
Schritt 1: Daten sammeln
Schritt 2: Preprocessing
Schritt 3: Sequenzen für das Modell vorbereiten
Schritt 4: Ein generatives Modell einrichten
Schritt 5: Das Modell trainieren
Schritt 6: Text generieren
6.4 Das Projekt weiterentwickeln
6.4.1 Mehr Zufall‌
6.4.2 Mehr Komplexität‌ durch zusätzliche Schichten
6.4.3 Eine moderne Weiterentwicklung: Gated Recurrent Unit (GRU‌)
6.4.4 Preprocessing: Satzzeichen verarbeiten
6.5 Eine Alternative zu RNN: Transformer
6.5.1 Programmierung
6.6 Rückblick
6.7 Lösungen
Übung: Es war einmal
Aufgabe 1: Reflexion »Es war einmal«
Aufgabe 2: Trainierbare Parameter
Aufgabe 3: Ein Vergleich
Aufgabe 4: Mehr Tracing
Aufgabe 5: Experimente
Aufgabe 6: Postprocessing
Kapitel 7: Musik komponieren mit KI
7.1 Trainingscamp: Noten verarbeiten mit music21
7.1.1 Station 1: Vorbereitung
7.1.2 Station 2: Melodien mit Streams
7.1.3 Station 3: Eine Melodie definieren und abspielen
7.1.4 Station 4: Mehrstimmige‌ Partituren mit Scores
7.1.5 Station 5: Aus einer MIDI-Datei die Melodie gewinnen
7.1.6 Station 6: Eine Melodie transponieren
7.2 Projekt: Melodien komponieren ‌
Schritt 1: Aus einer MIDI-Datei Noten gewinnen
Schritt 2: Nummern für die Noten
Schritt 3: Sequenzen für das Training bilden
Schritt 4: Das Modell definieren und trainieren
Schritt 5: Eine Melodie generieren
7.2.1 Erweiterung: Mehr Trainingsdaten
7.2.2 Anregungen für Experimente und Entwicklungen
7.3 Rückblick
7.4 Lösungen
Aufgabe 1: Noten und Pausen
Aufgabe 2: Eine Partitur mit zwei Stimmen
Aufgabe 3: Noten-Tupel weiterverarbeiten
Aufgabe 4: Ein schöner Abschluss
Aufgabe 5: Trainingsmelodien in einheitlicher Tonart
Kapitel 8: Diffusionsmodelle – Bilder aus Rauschen
8.1 Die Grundidee
8.2 Faltung‌ (Konvolution‌) – Ein Bild durch Features beschreiben
8.2.1 Features im Alltag
8.2.2 Mit Filtern Features erkennen
8.2.3 Padding und Stride
8.2.4 Lernende Filter in einem Convolutional Neural Network (CNN)
8.2.5 Faltung als neuronales Netz
8.3 Wie entrauscht man ein verrauschtes Bild‌?
8.3.1 Das U-Net und Bildsegmentierung in der Medizin
8.3.2 Faltung, Pooling und Skip-Connections – Die Magie der U-Nets
8.3.3 Veranschaulichung: Ein beschädigtes Bild rekonstruieren
8.4 Projekt: Künstliche Ziffern‌
Schritt 1: Vorbereitung
Schritt 2: Die Trainingsdaten vorbereiten
Schritt 3: Eine Pipeline mit Trainingsdaten aufbauen
Schritt 4: Ein U-Net-Modell erstellen
Schritt 5: Das Modell trainieren
Schritt 6: Das U-Net testen
Schritt 7: Künstliche Ziffern
8.5 Rückblick
8.6 Lösungen
Aufgabe 1: Japanische Schriftzeichen
Aufgabe 2: Farbige Fantasieblumen

Michael Weigend

KI-Projekte programmieren mit Python

Dein einfacher Einstieg

Generative KI, Chatbots, Objekterkennung und Co.

Impressum

Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über https://portal.dnb.de/opac.htm abrufbar.

ISBN 978-3-7475-0997-5 1. Auflage 2025

www.mitp.de E-Mail: [email protected] Telefon: +49 7953 / 7189 - 079 Telefax: +49 7953 / 7189 - 082

© 2025 mitp Verlags GmbH & Co. KG, Augustinusstr. 9a, DE 50226 Frechen

Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften.

Dieses E-Book verwendet das EPUB-Format und ist optimiert für die Nutzung mit Apple Books auf dem iPad von Apple. Bei der Verwendung von anderen Readern kann es zu Darstellungsproblemen kommen.

Der Verlag räumt Ihnen mit dem Kauf des E-Books das Recht ein, die Inhalte im Rahmen des geltenden Urheberrechts zu nutzen. Dieses Werk, einschließlich aller seiner Teile, ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen.

Der Verlag schützt seine E-Books vor Missbrauch des Urheberrechts durch ein digitales Rechtemanagement. Bei Kauf im Webshop des Verlages werden die E-Books mit einem nicht sichtbaren digitalen Wasserzeichen individuell pro Nutzer signiert. Bei Kauf in anderen E-Book-Webshops erfolgt die Signatur durch die Shopbetreiber. Angaben zu diesem DRM finden Sie auf den Seiten der jeweiligen Anbieter.

Lektorat: Janina Vervost Sprachkorrektorat: Franziska Kaltenberger Fachkorrektorat: Petra Heubach-Erdmann Covergestaltung: Christian Kalkert Coverbild: © Slowlifetrader / stock.adobe.com Satz: III-satz, Kiel, www.drei-satz.deelectronic publication: III-satz, Kiel, www.drei-satz.de

Einleitung

Wenn Menschen heute über künstliche Intelligenz (KI) reden oder schreiben, denken sie meist an Systeme wie ChatGPT. Tatsächlich gibt es aber viele Formen von KI, und einige davon sind schon seit vielen Jahren in Betrieb, ohne von der breiten Öffentlichkeit bemerkt worden zu sein.

Eine generative künstliche Intelligenz (generative KI) ist ein Computerprogramm, das Medienprodukte (z.B. Bilder, Texte) erstellen kann, die aussehen, als wären sie von einem Menschen erschaffen worden. Generative KI ist also schöpferisch und produktiv. Im Unterschied dazu steht diskriminierende KI. Das sind Programme, die z.B. Verkehrszeichen oder Gesichter auf Bildern erkennen können.

Dieses Buch möchte dich inspirieren, selbst aktiv und kreativ zu werden. In vielen kleinen Projekten, die du am Computer ausprobieren und weiterentwickeln kannst, näherst du dich den wichtigsten Prinzipien der KI. Es werden keine speziellen Vorkenntnisse vorausgesetzt.

Wie ist das Buch aufgebaut?

Wir beginnen einfach. Die ersten Projekte nutzen Standardtechniken der Programmiersprache Python, insbesondere Strings, Listen und Dictionaries. Später kommen dann umfangreiche, kostenlos verfügbare Programmbibliotheken hinzu, die du installieren musst: NumPy, Matplotlib, SpaCy, TensorFlow und music21.

In jedem Kapitel gibt es:

Fragen zum Verständnis

Beobachtungsaufgaben

Programmierprojekte

Kästen mit praktischen Tipps und Hintergrundwissen

am Ende einen Rückblick auf die wichtigsten Dinge

Darüber hinaus enthalten einige Kapitel:

Rätsel oder Übungen mit Bleistift und Papier

ein Trainingscamp, um neue Programmiertechniken zu lernen und zu üben

Experimente, z.B. um komplexe Datenstrukturen besser zu verstehen

Programmbeispiele zum Download und Colab Notebooks

Alle Programmbeispiele kannst du von der Webpräsenz des mitp-Verlags herunterladen. Besuche die Adresse https://www.mitp.de/0995, wähle die Registerkarte Downloads und klicke auf den Link Programmbeispiele. Nach dem Entpacken hast du einen Ordner mit allen Programmen, die im Buch erklärt werden. Die Ordner für die Kapitel 4 bis Kapitel 8 sind in einem Ordner namens tensorflow zusammengefasst. Sie enthalten Programme, die man sinnvollerweise in einer virtuellen Umgebung ausführt.

Auf der Website des mitp-Verlags findest du auch einen Link zu einem Google-Drive-Ordner mit Jupyter-Notebooks (für Google Colab). Der direkte Link ist: https://drive.google.com/drive/folders/1RwzldzzQ5EauBPZ0N3dj6PowYHfxHB6z

Dort kannst du die meisten Programmbeispiele direkt im Browser ausprobieren und weiterentwickeln – ganz ohne Installation auf deinem eigenen Computer.

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.3  Maschinen als Ersatzmenschen – Der Turing-Test‌

Im Jahr 1950 diskutierte der englische Wissenschaftler Alan Turing‌ in seinem Artikel »Computing Machinery and Intelligence« die Frage, ob Maschinen denken können und unter welchen Bedingungen man sie als intelligent bezeichnen könne. Seine Idee war folgende: Eine Maschine ist intelligent, wenn man ihr Verhalten nicht von dem Verhalten eines Menschen unterscheiden kann.

Abb. 1.10: »Können Maschinen alles tun, wozu wir als denkende Wesen fähig sind?«

In diesem Artikel beschrieb er eine einfache Methode, mit der man prüfen kann, ob eine Maschine intelligent ist. Er nannte sie »Imitation Game‌«; inzwischen ist sie als »Turing-Test« in die Geschichte eingegangen. Der klassische Turing-Test funktioniert so: Ein Mensch (Prüfer) unterhält sich über geschriebenen Text auf Zetteln mit zwei Gesprächspartnern A und B. Die Zettel werden von einem Vermittler weitergereicht, sodass der Prüfer nicht weiß, mit wem er sich unterhält. Der eine Gesprächspartner ist ein Computer, der andere ein Mensch. Wenn der Prüfer aufgrund der Antworten Mensch und Computer nicht unterscheiden kann, zeigt der Computer Intelligenz.

Abb. 1.11: Der Turing-Test

Beachte, dass sich Turings Konzept von Maschinenintelligenz nicht auf Gespräche beschränkt. Es geht darum, dass ganz allgemein das Verhalten einer intelligenten Maschine von menschlichem Verhalten nicht unterschieden werden kann. In der Digitaltechnik werden heute Turing-Tests zu verschiedenen Zwecken verwendet:

Web-Programmierung: Manche Webseiten enthalten einen Turing-Test, um sicherzustellen, dass der Besucher der Seite ein Mensch ist und kein Roboter. Es gibt da unterschiedliche Systeme. Häufig muss man zu einem Bild mit verzerrt dargestellten Buchstaben (siehe Abbildung 1.12) die korrekte Zeichenfolge eingeben (Capcha).

Abb. 1.12: Capcha (completely automated public Turing test to tell computers and humans apart)

Generative KI‌‌: Der Diskriminator‌ eines Generative Adversarial Network (GAN‌) versucht, zu erkennen, ob Daten maschinell erstellt worden oder (menschengemachte) Originaldaten sind. Mehr dazu in Kapitel 5.