Neuronale Netze für Dummies: eine kurze Einführung in dieses faszinierende Gebiet

Haben Sie sich jemals gefragt, was all diese neuronalen Netze sind, von denen alle sprechen, und hatten zu viel Angst zu fragen? Nun, fürchte dich nicht mehr! Am Ende dieses Beitrags können Sie in jede Konferenz eintreten und den Mittagstisch mit Ihren neu erworbenen Schlagworten blenden!

Wenn Sie Ihren Browser in den letzten Jahren geöffnet haben, müssen Sie den Ausdruck "Neuronale Netze" einige (hundert) Mal gesehen haben.

In dieser kurzen Lektüre werde ich Ihnen einen Kontext zur Domäne und zur Sache selbst geben. Sie werden in den nächsten 5 Minuten nicht zum Experten der Welt auf diesem Gebiet, aber Sie werden die nicht triviale Onboarding-Phase durchlaufen. Sie werden auch einige Schlagworte lernen, um die Familie am Esstisch zu beeindrucken, besonders wenn Sie der Leseliste am Ende folgen.

Was ist maschinelles Lernen?

Um neuronale Netze zu verstehen, müssen wir zuerst das maschinelle Lernen verstehen. Um maschinelles Lernen zu verstehen, sprechen wir zuerst über menschliches Lernen oder „klassische Programmierung“.

In der klassischen Programmierung muss ich als Entwickler die Aspekte des Problems verstehen, das ich zu lösen versuche, und genau wissen, welche Regeln es gibt, um zur Lösung zu gelangen.

Angenommen, ich möchte, dass mein Programm den Unterschied zwischen einem Quadrat und einem Kreis erkennt. Eine Möglichkeit, damit umzugehen, besteht darin, ein Programm zu schreiben, das Ecken erkennen kann , und es dann anzuwenden, um die Ecken zu zählen . Wenn mein Programm 4 Ecken sieht , ist diese Form ein Quadrat, und wenn es keine Ecken sieht , ist diese Form ein Kreis.

Und maschinelles Lernen? Ganz allgemein gesagt: Maschinelles Lernen = Lernen aus Beispielen.

Wenn wir beim maschinellen Lernen genau das gleiche Problem haben, Kreise und Quadrate auseinander zu halten, würden wir ein Lernsystem entwerfen , das viele Beispiele für Formen und ihre Klasse (Quadrat oder Kreis) als Eingabe verwendet . Wir würden hoffen, dass die Maschine selbst die Eigenschaften lernt, die sie voneinander unterscheiden.

Und dann, meine Freunde, wenn die Maschine all diese Eigenschaften gelernt hat, kann ich ihr ein neues Bild eines Kreises oder eines Quadrats geben, das sie zuvor noch nicht gesehen hat , und es wird es hoffentlich richtig klassifizieren.

Was ist ein Neuron?

Ein Neuron ist im Kontext von Neuronalen Netzen ein ausgefallener Name, den Smart-Alecky-Leute verwenden, wenn sie zu ausgefallen sind, um Funktion zu sagen . Eine Funktion im Kontext von Mathematik und Informatik ist ein ausgefallener Name für etwas, das Eingaben benötigt, Logik anwendet und das Ergebnis ausgibt.

Genauer gesagt kann ein Neuron als eine Lerneinheit betrachtet werden .

Daher müssen wir verstehen, was eine Lerneinheit im Kontext des maschinellen Lernens ist. Dann werden wir auch den grundlegendsten Baustein eines neuronalen Netzwerks verstehen , nämlich das Neuron.

Nehmen wir zur Veranschaulichung an, ich versuche, die Beziehung zwischen der Anzahl der Wörter in einem Blog-Beitrag und der Anzahl der Wörter zu verstehen, die tatsächlich aus diesem Blog-Beitrag gelesen werden. Denken Sie daran - wir befinden uns im Bereich des maschinellen Lernens, wo wir aus Beispielen lernen.

Ich sammle also viele Beispiele für die Anzahl der Wörter in Blog-Posts, die mit x bezeichnet sind , und wie viele Wörter die Leute tatsächlich in diesen Posts lesen, y , und ich stelle mir vor, dass es eine Beziehung zwischen ihnen gibt, die mit f bezeichnet wird .

Allerdings ist der Trick, dass ich nur die Maschine sagen müssen (das Programm) Art , was ist die Beziehung , die ich erwarte (eine gerade Linie zum Beispiel) , um zu sehen, und die Maschine wird die aktuelle Zeile muss verstehen , es zu zeichnen.

Was habe ich hier gewonnen?

Nächstes Mal , wenn ich eine Blog - Post schreiben mag, hat x Worte darin, die Maschine kann die Beziehung gilt f gefunden, und mir sagen , wie viele Worte , die ich Menschen erwarten kann , um tatsächlich zu lesen, y .

Ein neuronales Netzwerk ist also…

Wenn ein Neuron eine Funktion ist, dann ist ein neuronales Netzwerk ein Netzwerk von Funktionen! Das heißt, wir haben viele (viele, viele) solcher Funktionen, solche Lerneinheiten , und alle ihre Ein- und Ausgänge sind miteinander verflochten und sie speisen sich gegenseitig.

Als Designer dieses Netzwerks ist es meine Aufgabe, einige Fragen zu beantworten:

  • Wie modelliere ich die Ein- und Ausgänge ? (Wenn es sich bei der Eingabe beispielsweise um einen Text handelt, kann ich ihn in Buchstaben, Zahlen, Vektoren, Modellen modellieren.)
  • Was sind die Funktionen in jedem Neuron? (Sind sie linear? exponentiell?…)
  • Wie ist die Architektur des Netzwerks? (Das heißt, welche Funktion wird ausgegeben, welche Funktion wird eingegeben?)
  • Was sind die Schlagworte ?Kann ich mein Netzwerk beschreiben?

Sobald ich diese Fragen beantwortet habe, kann ich dem Netzwerk viele (viele, viele) Beispiele für korrekte Ein- und Ausgänge "zeigen", in der Hoffnung, dass es weiß, wenn ich ihm eine neue Beispieleingabe "zeige", die es noch nie zuvor gesehen hat um die richtige Ausgabe zu geben.

Wie dieser Lernprozess funktioniert, geht über den Rahmen dieses Beitrags hinaus. Weitere Informationen finden Sie hier. Sie können auch zu diesem wahnsinnig coolen Spielplatz für neuronale Netze gehen, um ein besseres Gefühl dafür zu bekommen, was dies bedeutet.

Neuronale Netze - Die unendliche Geschichte

Da dieses Feld buchstäblich explodiert, ist es für jeden Menschen unmöglich, der Menge an neuen (und qualitativ hochwertigen!) Inhalten zu folgen, die jede Minute herauskommen. (OMG, glaubst du, es wird eine Zeit kommen, in der Menschen eine KI bauen können, die in der Lage ist, die menschlichen Fortschritte in der KI-Domäne zu verfolgen?)

Wenn Sie auf dieses Gebiet kommen, müssen Sie als Erstes wissen, dass NIEMAND alles weiß. Fühlen Sie sich also wohl, wo Sie sind, und bleiben Sie einfach neugierig :)

Daher möchte ich, dass meine letzten Worte in diesem Beitrag einen Verweis auf einige meiner persönlichen Lieblingsressourcen enthalten, aus denen ich lernen kann:

  • Gal Yona - einer meiner Lieblingsblogger auf dem Gebiet. Ihre Beiträge reichen von technischen Kernerklärungen bis hin zu halbphilosophischen Rezensionen.
  • Siraj Raval - ein Youtuber mit einer riesigen Sammlung von Videos, die von theoretischen Erklärungen bis zu praktischen Tutorials reichen und alles super Spaß machen!
  • Christopher Olah - ein leidenschaftlicher und aufschlussreicher Forscher - unterhält einen visuell einladenden Blog mit Beiträgen von Grundkonzepten bis zu Tieftauchgängen.
  • Towards Data Science ist die größte Medium-Publikation auf diesem Gebiet, und ich liebe es, dass die Herausgeber hervorragende Kuratoren sind. Wenn Sie ein paar Minuten / Stunden Zeit haben, gehen Sie einfach auf die Homepage und erkunden Sie alles , von praktischen Tools bis hin zu umfangreichen algorithmischen Inhalten.