E-Book, Deutsch, 272 Seiten
Reihe: mitp Professional
Weigend Künstliche Intelligenz kapieren & programmieren
1. Auflage 2023
ISBN: 978-3-7475-0654-7
Verlag: mitp Verlags GmbH & Co.KG
Format: EPUB
Kopierschutz: 6 - ePub Watermark
Visuell lernen & verstehen mit Illustrationen und Projekten zum Experimentieren
E-Book, Deutsch, 272 Seiten
Reihe: mitp Professional
ISBN: 978-3-7475-0654-7
Verlag: mitp Verlags GmbH & Co.KG
Format: EPUB
Kopierschutz: 6 - ePub Watermark
Zielgruppe
Alle, die sich für künstliche Intelligenz in der Praxis interessieren
Autoren/Hrsg.
Weitere Infos & Material
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...