Schweitzer Fachinformationen
Wenn es um professionelles Wissen geht, ist Schweitzer Fachinformationen wegweisend. Kunden aus Recht und Beratung sowie Unternehmen, öffentliche Verwaltungen und Bibliotheken erhalten komplette Lösungen zum Beschaffen, Verwalten und Nutzen von digitalen und gedruckten Medien.
Widmung 7
Einführung 9
Über Künstliche Intelligenz 9
Über dieses Buch 11
Über dich 11
Über die Symbole, die wir in diesem Buch verwenden 12
Kapitel 1: Denken 13
Wie denken eigentlich Menschen? 13
Netze ohne Spinnen - dafür mit Knoten und Kanten 15
Schlussfolgerndes Denken mit semantischen Netzen 17
Wissensfragen 17
Schlussfolgerungsfragen 18
Komplizierte Schlussfolgerungsfragen 18
Baue dein eigenes semantisches Netz 21
Was heißt eigentlich »Denken«? 22
Deduktives Denken 22
Abduktives Denken 23
Induktives Denken 24
Denken mit Wahrscheinlichkeiten 25
Kapitel 2: Lernen 27
Warum Lernen so wichtig ist 27
Wie lernen wir Menschen? 28
Wie kann ein Computer lernen? 28
Geschenke, Katzen und andere Konzepte 30
Lernen mit Perzeptron 31
Testen des Perzeptrons 35
Schwierigere Paketprobleme 36
Vom Perzeptron zum neuronalen Netz 37
Vom neuronalen Netz zum tiefen Lernen 39
Auswendiglernen vermeiden 41
Lernen aus ganz wenigen Beispielen 42
Lernen mit Bäumen 42
Lernen und Vorurteile 48
Und die Profis? 49
Lösung: Welche Pakete enthalten ein Geschenk? 50
Kapitel 3: Sprechen und Schreiben 51
Natürliche und künstliche Sprachen 51
Sprachverarbeitung mit Künstlicher Intelligenz 52
Muster suchen und erkennen 52
Porzellankisten sind nicht immer Porzellankisten 52
Computer, die Sprache verstehen - von SHRDLU, WATSON und ELIZA 53
Hallo LILI 55
Familiengespräche 55
Schreiben statt sprechen 56
Mensch oder Computer? 56
Die Chatbots kommen 57
Der Chatbot, der alle zum Staunen bringt 57
Ein Blick hinter die Kulissen 58
Sehr überzeugend - bei völliger Ahnungslosigkeit! 59
Wo bleibt der Link zu ChatGPT? 60
Kapitel 4: Bilder generieren 61
Ein Prompt, aber prompt! 61
So malst du mit Generativer KI 62
Tipps und Tricks für bessere Ergebnisse 65
SDXL - kein Buchstabensalat, sondern eine KI, die Bilder generiert 66
Kapitel 5: Spielen 69
Roboterfußball - Toooor 69
Schlangen und ärgerliche Vögel 70
Brett vorm Kopf? Nicht bei Brettspielen! 72
Tic-Tac-Toe 73
Die Regeln 73
Tic-Tac-Toe mit einem Computer spielen 73
Gute Spieler, schlechte Spieler 74
Warum kann man nicht alle Züge ausprobieren? 76
Schieben und rutschen 78
Kapitel 6: Fühlen 81
Über die Emotionen 81
Computer, die einen ärgern 82
Kreise und Dreiecke mit Absichten 83
Ein emotionaler Staubsauger? 84
Erklären, was die Künstliche Intelligenz sieht 85
Kapitel 7: Was du jetzt über KI weißt 87
Wie unterscheiden sich KI-Systeme von Standard-Software? 88
KI ist nicht immer korrekt, aber trotzdem nützlich 90
Was unterscheidet menschliche und künstliche Intelligenz? 90
Geschichte der KI 92
KI vor der KI 92
Von Informatik- und KI-Pionieren 94
Wo steht KI jetzt? 95
Ein Blick in die Glaskugel 96
Kapitel 8: KI selber programmieren mit Python 97
Schnelleinstieg Python 98
Der Python-Editor IDLE 98
Einfache Datentypen und Variablen 100
Listen und Tupel 102
Bedingte Anweisungen 104
Schleifen 106
Funktionen 109
Module 110
Klassen 112
Denken 113
Netze ohne Spinnen - dafür mit Knoten und Kanten 113
Semantische Netze in Python 115
Darf's ein bisschen komplizierter werden? 119
Lernen 120
Pakete wahrnehmen 121
Das Perzeptron lernt aus Fehlern 122
Testen des Perzeptrons 124
Schwierigere Paketprobleme 126
Entscheidungsbäume in Python 128
Testen des Entscheidungsbaums 131
Sprechen und Schreiben 132
Familiengespräche 134
Schreiben statt Sprechen 135
LILI spricht 139
Spielen 140
Tic-Tac-Toe in Python 140
Der Minimax-Algorithmus 142
Wer gewinnt? 145
Zum Wiederfinden 147
Über die Autoren 151
Danksagung 153
Was du jetzt denkst 155
Kapitel 1
Ich denke, also bin ich. Gilt das auch für Computer? In diesem Kapitel wollen wir dem Computer beibringen zu denken - wenigstens ein bisschen! Hierfür erklären wir dir, auf welch unterschiedliche Arten man denken kann.
Wir Menschen denken fast die ganze Zeit etwas, oft merken wir es gar nicht. Manchmal aber schon: Zum Beispiel, wenn du gefragt wirst, was 56 plus 18 ist, dann denkst du vielleicht: »Okay, 56 plus 10 ist 66 und jetzt muss ich noch 8 dazu tun, das sind dann 66 plus 8, also 74.« Vielleicht hättest du diese Rechenaufgabe auch anders gelöst, vielleicht hättest du erst plus 4 gerechnet und dann plus 14, aber du hättest sicher mehrere Rechenschritte nacheinander ausgeführt.
Wenn man einem Computer eine Aufgabe gibt, führt er auch meistens mehrere Rechenschritte nacheinander durch. Aber: Die sind vorprogrammiert. Das heißt, das Addieren von zwei Zahlen wird immer auf die gleiche Art erledigt. Du dagegen wirst beim Kopfrechnen unterschiedliche Lösungswege wählen - je nachdem welche Zahlen zu addieren sind. Wenn du dagegen schriftlich addierst, machst du es nach einer festen Vorschrift, wie du es im Matheunterricht gelernt hast, also ähnlich wie ein Computer.
Häufig kann man nicht sofort mit dem Programmieren beginnen, sondern muss die Arbeitsschritte und Rechenvorschriften für Programme erst einmal allgemeiner beschreiben. Erst wenn man sich einen Überblick über die wichtigsten Schritte verschafft hat, kann man sich Detailfragen widmen.
Eine allgemeine Formulierung von Rechenschritten oder Handlungsvorschriften zur Lösung eines Problems heißt Algorithmus.
Das immer gleiche Anwenden von Regeln ist typisch für Computerprogramme. Will man eine Künstliche Intelligenz programmieren, muss man es hinkriegen, Computerprogramme zu schreiben, die nicht so starr nach einem immer gleichen Schema arbeiten, sondern auf verschiedene Situationen flexibel reagieren, ähnlich wie wir Menschen. Wir wollen dir das mal zeigen, wie das gehen kann. Dafür gehen wir mal weg von der Welt der Zahlen und schauen uns ein Beispiel aus der Biologie an. Wenn du gefragt wirst, ob ein Pandabär eine Lunge hat, wirst du sagen: »Ja, klar.« Vielleicht sagst du sogar: »Ja, logisch!«, und damit hast du dann tatsächlich den Nagel auf den Kopf getroffen!
Um die Frage zu beantworten, hast du, wie vorher bei dem Rechenproblem, verschiedene Denkschritte nacheinander ausgeführt - aber du hast es nicht gemerkt. Wir sind uns ziemlich sicher, dass du nicht gelernt hast, dass ein Panda eine Lunge hat. Was du im Biologieunterricht gelernt hast, ist, dass ein Panda ein Säugetier ist und dass Säugetiere Lungen haben. Um die Frage »Hat ein Panda eine Lunge?« zu beantworten, hast du eine Kette von Denkschritten ausgeführt. Genau genommen hast du sogar eine logische Schlussfolgerung gezogen!
Wenn du dir den Ausschnitt aus dem Schaubild zur Einteilung von Tieren anschaust, kannst du deine Denkschritte noch mal bewusst nachvollziehen: Zeige mit dem Finger auf den Panda und gehe immer eine Ebene nach oben, so lange bis du bei einem Wort bist, das mit dem Merkmal »hat eine Lunge« versehen ist.
Du kannst natürlich auch mehr als nur einen Denkschritt ausführen. Wenn dich jemand fragt, ob ein Panda frisst, dann wirst du dem zustimmen. Du weißt, dass ein Panda ein Säugetier ist und dass Säugetiere zu den Tieren gehören. Deshalb kannst du logisch schließen: Ein Panda frisst, weil er ein Säugetier und somit ein Tier ist und Tiere fressen Nahrung. Anders übrigens als Pflanzen, die ihre Nährstoffe mithilfe der Fotosynthese aufnehmen. Aber das ist ein anderes Thema .
Das schrittweise Nach-oben-Laufen entspricht einer wichtigen logischen Regel - dem sogenannten transitiven Schluss. Den hat schon der alte Grieche Aristoteles vor mehr als 2000 Jahren gekannt und unter dem Namen »modus barbara« zu einer der grundlegenden Regeln für logisches Schließen erklärt.
Aber was hat jetzt Aristoteles mit Künstlicher Intelligenz zu tun? Damals gab es doch gar keine Computer! Es ist tatsächlich so, dass Aristoteles mit seinen Regeln für logisches Schließen eine ganz wichtige Grundlage für Künstliche Intelligenz geschaffen hat. Er hat damit zumindest einen Teil der Art, wie Menschen denken, so beschrieben, dass man daraus ein Computerprogramm machen kann.
Das Schaubild zur Einteilung von Tieren ist aus Sicht der Künstlichen Intelligenz ein semantisches Netz. »Netz« deshalb, weil die Begriffe miteinander verbunden sind, wie zum Beispiel die Stationen im Streckennetz der Bahn. »Semantisch« deshalb, weil jedes Wort - Panda, Hund, Säugetier und so weiter - eine Bedeutung hat. Das Fachwort für Bedeutung heißt Semantik.
Bei einem semantischen Netz werden die Begriffe als Knoten und die Verbindungen dazwischen als Kanten bezeichnet. Ein solches Gebilde - egal ob Streckennetz oder semantisches Netz - heißt in der Informatik Graph.
Logisches Schließen ist eine spezielle Art zu rechnen. In der Mathematik rechnet man mit Zahlen, in der Logik mit Symbolen, die für etwas stehen. So können wir hund schreiben und meinen damit einen Hund. Damit wir nun zum Beispiel berechnen können, ob es stimmt, dass ein Hund ein Tier ist, müssen wir das semantische Netz, das wir als Graph gezeichnet haben, in eine Form bringen, mit der wir logische Schlüsse ausrechnen können. Dazu zerlegen wir das Netz so, dass wir jede Kante mit den zugehörigen Knoten einzeln der Reihe nach aufschreiben:
hund
ist_ein(saeugetier,tier) ist_ein(fisch,tier) ist_ein(panda,saeugetier) ist_ein(hase,saeugetier) ist_ein(hund,saeugetier) ist_ein(dackel,hund) ist_ein(karpfen,fisch)
ist_ein(saeugetier,tier)
ist_ein(fisch,tier)
ist_ein(panda,saeugetier)
ist_ein(hase,saeugetier)
ist_ein(hund,saeugetier)
ist_ein(dackel,hund)
ist_ein(karpfen,fisch)
Der Graph ist jetzt zu einer Menge von einzelnen Fakten geworden. Auf diese Art kann man beliebige Graphen speichern. Zum Beispiel kannst du ein U-Bahn-Netz als Liste von Paaren speichern, wobei hier die Werte direkt benachbarte Stationen sind.
Die Kanten im Schaubild zur Einteilung von Tieren haben eine Richtung: ("sauegetier", "tier") sagt, dass jedes Säugetier ein Tier ist. Die umgekehrte Aussage - jedes Tier ist ein Säugetier - ist falsch, denn es gibt ja verschiedene Tierarten. Neben Säugetieren gibt es zum Beispiel noch Vögel oder Reptilien. Die Richtung haben wir im Schaubild durch Pfeile angezeigt.
("sauegetier", "tier")
Bei den U-Bahn-Stationen braucht man beide Richtungen - man kommt direkt von Bahnhof Zoo zum Ernst-Reuter-Platz und umgekehrt auch! Das heißt, in der Liste müssen beide Richtungen vorkommen: ("Bahnhof Zoo", "Ernst-Reuter-Platz") und ("Ernst-Reuter-Platz", "Bahnhof Zoo").
("Bahnhof Zoo", "Ernst-Reuter-Platz")
("Ernst-Reuter-Platz", "Bahnhof Zoo")
Wir haben bei den Fakten erst den Namen der Kante geschrieben und dann in Klammern die Knoteninformation. Eine solche Schreibweise nennt man Präfixnotation. Man könnte auch mathematische Ausdrücke so schreiben. Zum Beispiel kann man 4 + 7 auch so schreiben: +(4,7), was dasselbe bedeutet. Manche Programmiersprachen nutzen eine solche Präfixschreibweise. Man sieht gleich am ersten Symbol, worum es gehen soll, und muss nicht erst weiter schauen. Beispielsweise erkennt man bei 4 - 7 erst nachdem man die 4 gelesen hat, dass es um Subtraktion gehen soll. Bei -(4,7) hat man die Information, was man rechnen soll, gleich als Erstes. Die Symbole in Klammern nennt man auch Argumente. Das Anfangssymbol gibt an, in welcher Beziehung die Argumente stehen oder was man mit ihnen tun soll. Das kann eine mathematische Operation wie plus oder minus sein oder eben auch die ist_ein-Beziehung zwischen zwei Tieren.
ist_ein
Du möchtest das semantische Netz mit Tieren programmieren? Schau mal in Kapitel 8 - unter »Denken« findest du den Code dazu.
Jetzt haben wir einen Ausschnitt unseres menschlichen Wissens so aufgeschrieben, dass wir damit »rechnen« können. Auf diese Art kann man auch dem Computer das Denken beibringen.
Wir fangen ganz einfach an und schauen uns an, wie man reine Wissensfragen mithilfe eines semantischen Netzes beantworten kann. Wir fragen die Beziehungen ab, die schon direkt gegeben sind, also die Fakten, die wir oben aufgeschrieben haben. Das ist so, wie wenn deine Lehrer und Lehrerinnen auswendig gelerntes Wissen abfragen.
Um Fragen wie
zu beantworten, musst du die Frage in das von uns gewählte Format übersetzen, also zum Beispiel ist_ein(karpfen, fisch) und prüfen, ob der Fakt vorhanden ist. Wenn der Fakt da ist, kannst du mit »ja« (das weiß ich)...
ist_ein(karpfen, fisch)
Dateiformat: ePUBKopierschutz: Adobe-DRM (Digital Rights Management)
Systemvoraussetzungen:
Das Dateiformat ePUB ist sehr gut für Romane und Sachbücher geeignet – also für „fließenden” Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Adobe-DRM wird hier ein „harter” Kopierschutz verwendet. Wenn die notwendigen Voraussetzungen nicht vorliegen, können Sie das E-Book leider nicht öffnen. Daher müssen Sie bereits vor dem Download Ihre Lese-Hardware vorbereiten.Bitte beachten Sie: Wir empfehlen Ihnen unbedingt nach Installation der Lese-Software diese mit Ihrer persönlichen Adobe-ID zu autorisieren!
Weitere Informationen finden Sie in unserer E-Book Hilfe.