Künstliche Intelligenz kapieren & programmieren -  Michael Weigend

Künstliche Intelligenz kapieren & programmieren (eBook)

Visuell lernen & verstehen mit Illustrationen und Projekten zum Experimentieren
eBook Download: EPUB
2023 | 1. Auflage
272 Seiten
MITP Verlags GmbH & Co. KG
978-3-7475-0654-7 (ISBN)
Systemvoraussetzungen
24,99 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
  • Neuronale Netze selbst programmieren ohne Vorkenntnisse
  • Spannende Projekte von Chatbots bis hin zu Bilderkennung
  • Alle Grundlagen anhand von Bildern und Beispielen leicht verständlich erklärt

Du möchtest wissen, was hinter künstlicher Intelligenz und neuronalen Netzen steckt und deine eigenen selbstlernenden Programme schreiben?

In diesem Buch erfährst du mit anschaulichen Erklärungen und vielen Bildern, wie KI funktioniert und wie du neuronale Netze ganz einfach selbst programmieren kannst. Dafür brauchst du keine Vorkenntnisse. Alle notwendigen mathematischen Konzepte werden von Grund auf und sehr anschaulich erklärt. Ganz nebenbei erhältst du eine Einführung in die Programmiersprache Python.

In jedem Kapitel erwarten dich spannende Projekte von ersten kleinen Programmen wie einem selbstlernenden Währungsrechner bis hin zu praxistauglicher Bilderkennung.

Denkaufgaben und Programmierübungen mit Lösungen zum Download helfen dir, dein Wissen zu testen und zu vertiefen. So lernst du Schritt für Schritt, wie du mit einfachen Programmiertechniken deine eigenen künstlichen neuronalen Netze entwickelst und trainierst.

Aus dem Inhalt
  • Entscheidungsbäume
  • Überwachtes und nicht überwachtes Lernen
  • Clustering
  • Perzeptron
  • Vorhersagen treffen
  • Datenvisualisierung mit matplotlib
  • Neuronale Netze programmieren und trainieren
  • Aktivierungsfunktionen
  • Verborgene Schichten
  • Berechnungen mit NumPy
  • Bilderkennung
  • Python Imaging Library (PIL)
  • Computer Vision
  • Mathematisches Glossar


Michael Weigend war mehr als 30 Jahre lang als Lehrer tätig und hält an der Universität Münster Vorlesungen zur Python-Programmierung. In seinen Büchern legt er besonderen Wert auf leicht verständliche Erklärungen und visuelle Lehrmethoden.

Kapitel 1:
Denkende Maschinen


Das erste Kapitel gibt dir einen leicht verständlichen Einstieg in die Welt der KI. Du gewinnst einen Überblick über Formen des Machine Learnings und erfährst, welche Rolle künstliche neuronale Netze hierbei spielen. Ganz nebenbei lernst du die Grundlagen der Programmiersprache Python.

1.1  Was ist künstliche Intelligenz?


Der Begriff »Künstliche Intelligenz« (KI) ist gar nicht so neu, wie man vielleicht glauben mag. Tatsächlich hat man die ersten funktionierenden Computer in den 1960er-Jahren gerne als »denkende Maschinen« oder »Elektronengehirne« bezeichnet. Heute würde man diese Vorstellung belächeln. Die damaligen Computer konnten zwar schon große Datenmengen zur Buchhaltung und Verwaltung verarbeiten, aber sie konnten nicht im Entferntesten selbstständig denken wie ein Mensch. Inzwischen ist viel Zeit vergangen. Heute gibt es tatsächlich digitale Systeme, die Autos steuern, Musik komponieren und Aufsätze schreiben können. Und es gibt ernst gemeinte Warnungen, dass künstliche Intelligenzen den Menschen überflügeln und ihm gefährlich werden könnten.

»Künstliche Intelligenz« umfasst ein weites Gebiet der Digitaltechnik. Man unterscheidet grob zwischen symbolischer KI und subsymbolischer KI:

  • Bei symbolischer KI wird das intelligente Verhalten durch klare Regeln bestimmt, die jeder Mensch nachvollziehen kann. Beispiele sind konventionelle Chatbots, mit denen man einfache Gespräche führen kann, und Programme, die auf der Grundlage von vorgegebenen Merkmalen Objekte erkennen können.

  • Bei subsymbolischer KI erlernt das System durch viele Beobachtungen intelligente Verhaltensweisen, etwa die Fähigkeit, Buchstaben zu erkennen. Jedoch ist das Wissen, das das Verhalten bestimmt, für Menschen nicht nachvollziehbar. Das System ist wie eine »Black Box«. Das Innere bleibt verborgen und rätselhaft. Diese Art von Intelligenzerwerb nennt man »Machine Learning« oder auf Deutsch »maschinelles Lernen«.

In diesem Buch geht es vor allem um die Programmierung künstlicher neuronaler Netze. Sie gehören zum zweiten Typ, der subsymbolischen KI. Um besser zu verstehen, was den Unterschied ausmacht, werden wir uns zunächst mit zwei Beispielen symbolischer KI beschäftigen. Du wirst in diesem Kapitel einen Chatbot und ein lernfähiges Programm, das Personen erkennen kann, entwickeln.

1.2  Chatbots


Im Jahr 1950 beschrieb der englische Wissenschaftler Alan Turing in seinem Artikel »Computing Machinery and Intelligence« eine Methode, mit der man – seiner Meinung nach – beweisen kann, ob eine Maschine intelligent ist und denken kann wie ein Mensch. Er nannte sie »imitation game«; inzwischen ist sie als »Turing-Test« in die Geschichte eingegangen. Die Grundidee des Turing-Tests ist, dass sich Intelligenz im Gespräch zeigt. Ein Mensch (der Befrager) unterhält sich über geschriebenen Text mit zwei Gesprächspartnern A und B. Der eine Partner ist ein Computer, der andere ein Mensch. Wenn der Befrager aufgrund der Antworten seiner Gesprächspartner Mensch und Computer nicht unterscheiden kann, zeigt der Computer Intelligenz.

1966 entwickelte der deutsch-amerikanische Informatiker Joseph Weizenbaum am MIT (Massachusetts Institute of Technology) in den USA das erste Computerprogramm, das in Ansätzen den Turing-Test bestehen konnte. Das Programm heißt Eliza und wurde rasch weltberühmt. Eliza verhält sich wie eine Gesprächstherapeutin. Du kannst dich mit ihr unterhalten und sie versucht, dich zum Reden zu bringen.

Im Internet findest du einige Online-Versionen von Eliza, zum Beispiel auf der Webpräsenz von Medical Artificial Intelligence, http://www.med-ai.com/models/eliza.html.de.

Ein Dialog mit Eliza kann z.B. so verlaufen:

Eliza: Hallo, ich bin Eliza. Was hast du auf dem Herzen?
Du: Ich hasse meinen Job.
Eliza: Hass kann Wertvolles zerstören.
Du: Außerdem schlafe ich schlecht.
Eliza: Kannst du mir das Problem näher erklären?
...

Eliza funktioniert so: Bei jeder Benutzereingabe prüft das Programm, ob bestimmte Wörter wie z.B. hass vorkommen, und gibt dann eine Antwort, die irgendwie dazu passt. So hat man das Gefühl, von Eliza verstanden zu werden. Im folgenden Projekt kannst du diese Idee selbst umsetzen ( Abschnitt 1.4). Bevor es an das Programmieren geht, musst du allerdings noch einige Dinge vorbereiten.

1.3  Vorbereitung: Python installieren


Für dieses Projekt benötigst du keinerlei Vorkenntnisse, aber auf deinem Computer muss die Programmiersprache Python installiert sein. Der Kasten gibt dir einige Hinweise, was zu tun ist.

Python installieren

Die Programmiersprache Python ist leicht zu erlernen und dennoch sehr mächtig. Viele Apps, die du aus deinem Alltag kennst, sind in Python geschrieben, z.B. Routenplaner, Gesichtserkennung oder Wettervorhersagen. Python ist kostenlos und kann einfach von der Webpräsenz der Python Software Foundation heruntergeladen werden. Besuche die Webseite https://www.python.org/, klicke auf Downloads, und wähle die aktuelle Python-Version, die zu deinem Betriebssystem passt.

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 neuste Version kannst du auf den meisten Linux-Systemen mit folgendem Befehl installieren:

sudo apt-get install python3

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. Dieses Buch bezieht sich aber ausschließlich auf IDLE.

Projektordner erstellen

Richte mit dem Dateimanager (bei Windows also im Explorer) einen Projektordner ein, in dem du alle deine Programme zu diesem Buch speicherst. Dieser Ordner könnte z.B. Python-Programme heißen. Ich empfehle dir, in diesem übergeordneten Verzeichnis für jedes Kapitel des Buchs ein eigenes Verzeichnis anzulegen (Kapitel_1, Kapitel_2, …). Verwende besser nicht die Ordner mit den fertigen Programmbeispielen, die du von der Webseite des mitp-Verlags heruntergeladen hast. Die Originaldateien bleiben dann unverändert. Das kann vor allem bei der Suche nach Fehlern in den eigenen Programmversionen helfen. Wenn dein eigenes Programm nicht läuft, kannst du in der Downloadversion nachsehen, was da anders ist.

Den IDLE-Programmeditor starten

Starte die Entwicklungsumgebung IDLE. Unter Windows gibst du in das Suchfeld am unteren Bildschirmrand idle ein und doppelklickst dann das Programmicon.

Auf dem Mac öffnest du ein Spotlight-Suchfenster, gibst idle ein und wählst dann die IDLE-App. Unter Linux gibst du auf der Kommandozeile den Befehl idle3 ein.

Es öffnet sich das Fenster der IDLE-Shell. Klicke in der Menüleiste oben links auf File. Klicke dann im Pulldown-Menü auf den Befehl New File.

Nun öffnet sich das Editor-Fenster. Hier schreibst du deinen Programmtext.

Speichere als Erstes den noch leeren Programmtext in deinem Projektordner ab. Wähle als Dateinamen eliza.py.

Du bist soweit. Beginnen wir mit dem Programmieren.

1.4  Projekt: Mini-Eliza


In diesem Projekt entwickeln wir in fünf Schritten eine Mini-Version eines Chatbots. Das Programm ist ganz einfach und wird bestimmt keinen Turing-Test bestehen. Dennoch zeigt es einige Features von Chatbots. Falls du noch nie mit Python programmiert hast, wirst du jetzt einige grundlegende Programmiertechniken kennenlernen.

1.4.1  Schritt 1: Auf eine Eingabe reagieren


Ein Gespräch zwischen Mensch und Computer ist ein Wechselspiel von Texten. Das folgende Programm schreibt etwas auf einen Bildschirm, wartet auf eine Benutzereingabe und liefert dann eine passende Antwort. Das ist alles. Aber es ist ja auch nur der erste Schritt auf dem Weg zum Chatbot. Gib den Programmtext in das Editorfenster ein und speichere ihn, indem du im Menü File auf den Befehl Save klickst. Beachte, dass einige Zeilen um 4 Leerstellen eingerückt sind.

Programm:

# eliza.py
print('Eliza: Hallo, ich bin Eliza. Was hast du auf dem Herzen?')
eingabe = input('Du: ')
if 'hass' in eingabe:
print('Eliza: Hass kann Wertvolles zerstören.')
else:
print('Eliza: Kannst du mir das Problem näher erklären?')

Starte das Programm vom Editor aus. Klicke zuerst in der Menüleiste auf Run und dann auf den Befehl Run Module.

Es öffnet sich ein Shell-Fenster. Oben stehen einige Informationen zu der Python-Version, die du verwendest. Hinter dem Prompt >>> erscheint eine Meldung, die mit = RESTART beginnt. Sie...

Erscheint lt. Verlag 28.9.2023
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
ISBN-10 3-7475-0654-2 / 3747506542
ISBN-13 978-3-7475-0654-7 / 9783747506547
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Wasserzeichen)
Größe: 16,4 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­gerä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.

Mehr entdecken
aus dem Bereich
Das umfassende Handbuch

von Johannes Ernesti; Peter Kaiser

eBook Download (2023)
Rheinwerk Computing (Verlag)
31,43
Das Handbuch für Webentwickler

von Philip Ackermann

eBook Download (2023)
Rheinwerk Computing (Verlag)
34,93
Deterministische und randomisierte Algorithmen

von Volker Turau; Christoph Weyer

eBook Download (2024)
De Gruyter (Verlag)
64,95