Neuronale Netze selbst programmieren
eBook - ePub

Neuronale Netze selbst programmieren

Ein verstÀndlicher Einstieg mit Python

Tariq Rashid, Frank Langenau

Share book
  1. 232 pages
  2. German
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Neuronale Netze selbst programmieren

Ein verstÀndlicher Einstieg mit Python

Tariq Rashid, Frank Langenau

Book details
Book preview
Table of contents
Citations

About This Book

Neuronale Netze sind SchlĂŒsselelemente des Deep Learning und der KĂŒnstlichen Intelligenz, die heute zu Erstaunlichem in der Lage sind. Sie sind Grundlage vieler Anwendungen im Alltag wie beispielsweise Spracherkennung, Gesichtserkennung auf Fotos oder die Umwandlung von Sprache in Text. Dennoch verstehen nur wenige, wie neuronale Netze tatsĂ€chlich funktionieren.Dieses Buch nimmt Sie mit auf eine unterhaltsame Reise, die mit ganz einfachen Ideen beginnt und Ihnen Schritt fĂŒr Schritt zeigt, wie neuronale Netze arbeiten: - ZunĂ€chst lernen Sie die mathematischen Konzepte kennen, die den neuronalen Netzen zugrunde liegen. DafĂŒr brauchen Sie keine tieferen Mathematikkenntnisse, denn alle mathematischen Ideen werden behutsam und mit vielen Illustrationen und Beispielen erlĂ€utert. Eine KurzeinfĂŒhrung in die Analysis unterstĂŒtzt Sie dabei.- Dann geht es in die Praxis: Nach einer EinfĂŒhrung in die populĂ€re und leicht zu lernende Programmiersprache Python bauen Sie allmĂ€hlich Ihr eigenes neuronales Netz mit Python auf. Sie bringen ihm bei, handgeschriebene Zahlen zu erkennen, bis es eine Performance wie ein professionell entwickeltes Netz erreicht.- Im nĂ€chsten Schritt tunen Sie die Leistung Ihres neuronalen Netzes so weit, dass es eine Zahlenerkennung von 98 % erreicht – nur mit einfachen Ideen und simplem Code. Sie testen das Netz mit Ihrer eigenen Handschrift und werfen noch einen Blick in das mysteriöse Innere eines neuronalen Netzes.- Zum Schluss lassen Sie das neuronale Netz auf einem Raspberry Pi Zero laufen.Tariq Rashid erklĂ€rt diese schwierige Materie außergewöhnlich klar und verstĂ€ndlich, dadurch werden neuronale Netze fĂŒr jeden Interessierten zugĂ€nglich und praktisch nachvollziehbar.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Neuronale Netze selbst programmieren an online PDF/ePUB?
Yes, you can access Neuronale Netze selbst programmieren by Tariq Rashid, Frank Langenau in PDF and/or ePUB format, as well as other popular books in Computer Science & Data Mining. We have over one million books available in our catalogue for you to explore.

Information

Publisher
O'Reilly
Year
2017
ISBN
9783960101031

KAPITEL 1

Wie neuronale Netze arbeiten

»Lass dich von all den kleinen Dingen um dich herum inspirieren.«

Leicht fĂŒr mich – schwer fĂŒr dich

Computer sind im Grunde nichts weiter als Rechenmaschinen. Arithmetische Aufgaben können sie Ă€ußerst schnell ausfĂŒhren.
Damit sind sie prĂ€destiniert fĂŒr Aufgaben, die vor allem mit Rechnen zu tun haben – Zahlen addieren, um den Umsatz zu ermitteln, Prozentwerte bilden, um die Umsatzsteuer zu berechnen, Diagramme vorhandener Daten zeichnen usw.
Selbst beim Ansehen von Catch-up-TV oder beim Streamen von Musik hat der Computer nicht viel mehr zu tun, als immer und immer wieder einfache arithmetische Anweisungen auszufĂŒhren. Es mag Sie ĂŒberraschen, doch auch die ĂŒber das Internet ĂŒbertragenen Videos, die aus Einsen und Nullen bestehen, werden mit arithmetischen Operationen rekonstruiert, die nicht komplexer sind als die Grundrechenarten, die wir in der Schule gelernt haben.
Zahlen wirklich schnell zu addieren – Tausende oder sogar Millionen pro Sekunde –, ist sicherlich eindrucksvoll, doch das hat nichts mit kĂŒnstlicher Intelligenz zu tun. Einem Menschen erscheint es vielleicht schwer, schnell große Summen zu bilden, doch ist hierzu kaum Intelligenz erforderlich. Es genĂŒgt vollauf, die einfachsten Anweisungen zu befolgen, und genau das ist es, was die Elektronik in einem Computer realisiert.
Drehen wir nun den Spieß um und tauschen wir die Rolle mit dem Computer!
Sehen Sie sich die folgenden Bilder an und versuchen Sie, zu erkennen, was sie enthalten:
image
Abbildung 1-1: Bilderkennung – einfacher fĂŒr den Computer oder fĂŒr den Menschen?
Wir können ein Bild mit menschlichen Gesichtern, einer Katze und einem Baum sehen und erkennen. Praktisch sind wir dazu sehr schnell in der Lage und noch dazu mit einer ziemlich hohen Genauigkeit. Nur in wenigen FÀllen liegen wir falsch.
Die recht großen Informationsmengen, die die Bilder enthalten, können wir sehr erfolgreich verarbeiten, um den Bildinhalt zu erfassen. Derartige Aufgaben sind fĂŒr Computer nicht so einfach lösbar – es ist sogar unglaublich schwierig.
Tabelle 1-1: Wer kann was besonders gut verarbeiten?
Problem
Computer
Mensch
Tausende großer Zahlen schnell multiplizieren
Leicht
Schwer
Gesichter auf einem Foto mit einer Menschenmenge heraussuchen
Schwer
Leicht
Wir ahnen, dass fĂŒr die Bilderkennung menschliche Intelligenz erforderlich ist – etwas, das Maschinen fehlt, egal wie komplex und leistungsfĂ€hig wir sie gebaut haben, weil es eben keine Menschen sind.
Doch es sind genau solche Probleme, die wir dem Computer ĂŒbertragen möchten – denn Computer arbeiten schnell und werden nicht mĂŒde. Um derartige Probleme geht es bei der kĂŒnstlichen Intelligenz.
Da Computer immer auf Elektronik basieren, besteht die Aufgabe der kĂŒnstlichen Intelligenz darin, neue Rezepte bzw. Algorithmen zu finden, die auf neuartige Weise versuchen, derart schwierigere Probleme zu lösen. Selbst wenn das nicht perfekt gelingt, dann immerhin noch gut genug, um einen Eindruck von einer menschenĂ€hnlichen Intelligenz in der Praxis zu geben.
Kernideen
  • Manche Aufgaben sind fĂŒr herkömmliche Computer leicht, fĂŒr Menschen aber schwer, beispielsweise das Multiplizieren von Millionen Zahlenpaaren.
  • Andererseits sind manche Aufgaben fĂŒr herkömmliche Computer schwer, fĂŒr Menschen jedoch leicht, beispielsweise das Erkennen von Gesichtern auf einem Foto einer Menschenmenge.

Eine einfache Vorhersagemaschine

Wir beginnen supereinfach und bauen Schritt fĂŒr Schritt darauf auf.
Stellen Sie sich eine simple Maschine vor, die eine Frage entgegennimmt, etwas »nachdenkt« und eine Antwort ausgibt. Das lĂ€uft genau wie im obigen Beispiel ab, in dem wir selbst die Eingaben ĂŒber die Augen aufnehmen, mit unserem Gehirn die Szene analysieren und daraus ableiten, was die Objekte in dieser Szene bedeuten. Abbildung 1-2 stellt dies schematisch dar.
image
Abbildung 1-2: Schema einer einfachen Vorhersagemaschine
Computer denken nicht wirklich, sie sind lediglich bessere Taschenrechner. Deshalb wollen wir die VorgÀnge mit treffenderen Worten beschreiben (siehe Abbildung 1-3).
image
Abbildung 1-3: Alternative Beschreibung der Vorhersagemaschine
Ein Computer nimmt eine Eingabe entgegen, fĂŒhrt bestimmte Berechnungen aus und liefert dann eine Ausgabe. Das folgende Beispiel soll das veranschaulichen. Es wird eine Eingabe von »3 x 4« verarbeitet. Das geschieht möglicherweise dadurch, dass die Multiplikation in einen einfacheren Satz von Additionen ĂŒberfĂŒhrt wird. Die ausgegebene Antwort lautet »12«.
image
Abbildung 1-4: Beispiel fĂŒr die Verarbeitung einer Multiplikation
Vielleicht denken Sie jetzt: »Was soll daran beeindruckend sein?« Das stimmt schon. Wir verwenden hier einfache und vertraute Beispiele. Damit veranschaulichen wir die Konzepte, die auf die interessanteren neuronalen Netze angewendet werden, die wir uns spÀter ansehen.
Fahren wir die KomplexitÀt jetzt eine winzige Stufe höher.
Stellen Sie sich eine Maschine vor, die Kilometer in Meilen umrechnet (siehe Abbildung 1-5).
image
Abbildung 1-5: Umrechnung von Kilometern in Meilen
Nun nehmen wir an, dass wir die Formel fĂŒr die Umrechnung zwischen Kilometern und Meilen nicht kennen. Wir wissen lediglich, dass die Beziehung zwischen beiden linear ist. Wenn man also die Anzahl der Meilen verdoppelt, wird die gleiche Entfernung in Kilometern ebenfalls verdoppelt. Das ist intuitiv verstĂ€ndlich. Das Universum wĂ€re ein seltsamer Ort, sollte dies nicht gelten!
Diese lineare Beziehung zwischen Kilometern und Meilen liefert uns einen Anhaltspunkt ĂŒber diese geheimnisvolle Berechnung – sie muss die Form haben: Meilen = Kilometer × c, wobei c eine Konstante ist. Den Wert dieser Konstanten c kennen wir aber noch nicht.
Die einzigen anderen Anhaltspunkte liefern einige Beispiele, die Kilometer und Meilen paarweise angeben. Diese sind wie Beobachtungen der Wirklichkeit, mit denen man wissenschaftliche Theorien ĂŒberprĂŒft – sie sind Beispiele fĂŒr die Wahrheit der echten Welt.
Tabelle 1-2: Wertepaare fĂŒr die Umrechnung zwischen Kilometern und Meilen
Wahrheitsbeispiel
Kilometer
Meilen
1
0
0
2
100
62,137
Was sollten wir tun, um die fehlende Konstante c zu ermitteln? Setzen wir einfach einmal einen zufÀlligen Wert ein und probieren wir es aus! Versuchen wir es mit c = 0,5 und schauen wir, was passiert.
image
Abbildung 1-6: ZufÀllig gewÀhlte Konstante c
Hier haben wir Meilen = Kilometer × c, wobei Kilometer gleich 100 und c unsere derzeitige SchĂ€tzung 0,5 sind. Damit erhalten wir 50 Meilen.
Nun gut. Das ist gar nicht mal so schlecht unter dem Aspekt, dass wir c = 0,5...

Table of contents