Der Gedanke, Maschinen intelligenter als Menschen zu gestalten, ist keine neue Idee.
Ein früher Ansatz der Informatik, die menschliche „Intelligenz“ herauszufordern, war das Schachspiel. Schach wurde lange Zeit als ultimativer Test menschlichen Intellekts und der Kreativität angesehen. In den 1960er und 70er Jahren entwickelten sich unterschiedliche Denkweisen innerhalb der Informatik.
Einige Experten waren der Ansicht, dass es nur eine Frage der Zeit sei, bis Computer den Menschen im Schach überlegen sein würden, während andere diese Vorstellung für unmöglich hielten.
Kasparov gegen Deep Blue
Das wohl aufsehenerregendste Aufeinandertreffen zwischen Mensch und Maschine im intellektuellen Wettkampf war das Schachspiel im Jahr 1996 zwischen dem damaligen Weltmeister Garry Kasparov (viele halten ihn für den besten Schachspieler aller Zeiten) und Deep Blue, einem Supercomputer, den IBM speziell für dieses Ereignis entwickelte.
Bildquelle: Wikipedia
Kurz gesagt, Kasparov gewann das Spiel 1996 deutlich (4:2), verlor aber das Rückspiel 1997 (4,5:3,5). Diese Niederlage war von zahlreichen Kontroversen und direkten Betrugsvorwürfen von Kasparov gegen IBM begleitet.
Unabhängig davon ging eine Ära im Schach und in der Informatik zu Ende. Computer galten nun als intelligenter als jeder lebende Mensch. IBM, zufrieden mit der erlangten Genugtuung, baute Deep Blue ab und wandte sich neuen Herausforderungen zu.
Heutzutage ist es für keinen Schachgroßmeister mehr möglich, eine durchschnittliche Schach-Engine zu schlagen, die auf handelsüblicher Hardware läuft.
Was maschinelles Lernen nicht ist
Bevor wir uns genauer mit maschinellem Lernen beschäftigen, sollten wir einige Missverständnisse aus dem Weg räumen. Maschinelles Lernen ist keineswegs ein Versuch, das menschliche Gehirn nachzubilden. Trotz der sensationslüsternen Ansichten von Persönlichkeiten wie Elon Musk betonen Informatikforscher, dass sie nicht nach diesem Heiligen Gral suchen und sich auch nicht in seiner Nähe befinden.
Vereinfacht ausgedrückt ist maschinelles Lernen die Anwendung von Lernprozessen anhand von Beispielen auf Computer. Dies steht im Gegensatz zum traditionellen Ansatz, bei dem ein menschlicher Programmierer alle möglichen Szenarien durchdenkt und Regeln dafür fest in ein System implementiert.
Ehrlich gesagt, ist das im Wesentlichen das, worum es beim maschinellen Lernen geht: einen Computer mit riesigen Datenmengen zu füttern, damit er aus Beispielen lernen kann (Versuch → Fehler → Vergleich → Verbesserung), anstatt sich auf den Quellcode zu verlassen.
Anwendungen des maschinellen Lernens
Wenn maschinelles Lernen also keine Zauberei ist und keine Terminatoren hervorbringt, wozu ist es dann gut?
Maschinelles Lernen ist hilfreich, wenn herkömmliche Programmierung an ihre Grenzen stößt, und diese Fälle lassen sich in der Regel in zwei Kategorien einteilen.
Wie der Name schon sagt, geht es bei der Klassifizierung darum, Dinge korrekt zu kennzeichnen, während es bei der Vorhersage darum geht, zukünftige Prognosen zu treffen, sofern ein ausreichend großer Datensatz vergangener Werte vorhanden ist.
Einige interessante Anwendungen des maschinellen Lernens sind:
Spam-Filterung
E-Mail-Spam ist allgegenwärtig, aber der Versuch, ihn aufzuhalten, kann schwierig sein. Wie definiert man Spam? Ist es das Vorhandensein bestimmter Schlüsselwörter? Oder die Art, wie es geschrieben ist? Aus programmiertechnischer Sicht ist es schwierig, sich ein vollständiges Regelwerk auszudenken.
Aus diesem Grund setzen wir auf maschinelles Lernen. Wir zeigen dem System Millionen von Spam- und Nicht-Spam-Nachrichten und überlassen es ihm, den Rest herauszufinden. Das war das Geheimnis hinter den hervorragenden Spam-Filtern von Gmail, die die persönliche E-Mail-Kommunikation in den frühen 2000er Jahren revolutionierten!
Empfehlungen
Alle großen E-Commerce-Unternehmen verwenden heute hochentwickelte Empfehlungssysteme. Manchmal ist ihre Fähigkeit, Dinge zu empfehlen, die wir „vielleicht“ nützlich finden, erstaunlich präzise, selbst wenn wir noch nie zuvor auf diesen Artikel geklickt haben.
Zufall? Keineswegs!
Maschinelles Lernen ist hier im Einsatz, es verarbeitet Terabyte um Terabyte an Daten und versucht, unsere flüchtigen Stimmungen und Vorlieben vorherzusagen.
Chatbots
Sind Sie schon einmal auf einen Kundenservice der ersten Ebene gestoßen, der seltsam roboterhaft wirkte, aber dennoch interessante Smalltalk-Konversationen führen konnte?
Dann sind Sie vom maschinellen Lernen „überrumpelt“ worden!
Das Lernen aus Gesprächen und das Bestimmen, was wann gesagt werden soll, ist ein aufstrebendes und spannendes Anwendungsgebiet von Chatbots.
Unkrautentfernung
In der Landwirtschaft werden Roboter, die auf maschinellem Lernen basieren, verwendet, um Unkraut und andere unerwünschte Pflanzen gezielt zwischen Feldfrüchten zu besprühen.
Andernfalls müsste dies von Hand erfolgen oder wäre eine große Verschwendung, da das System das Produkt mit der Unkrautbekämpfungsmittel besprühen würde!
Sprachsuche
Die sprachbasierte Interaktion mit Computersystemen ist keine Science-Fiction mehr. Heute haben wir digitale Assistenten wie Alexa, Siri und Google Home, die verbale Befehle entgegennehmen können und dabei fast nie Fehler machen.
Manche mögen argumentieren, dass es eine Erfindung ist, die man lieber vermeiden sollte, weil sie die Menschheit fauler macht als je zuvor, aber man kann die Effizienz nicht bestreiten.
Medizinische Diagnose
Wir stehen kurz vor einer Revolution in der medizinischen Diagnose, da Systeme, die auf maschinellem Lernen basieren, beginnen, erfahrene Ärzte in der Diagnose mittels Röntgenaufnahmen usw. zu übertreffen.
Bitte beachten Sie, dass dies nicht bedeutet, dass Ärzte bald nicht mehr benötigt werden, aber die Qualität der medizinischen Versorgung wird sich drastisch verbessern, während die Kosten sinken werden (es sei denn, Wirtschaftskartelle schreiben etwas anderes vor!).
Dies waren nur einige Beispiele dafür, wofür maschinelles Lernen eingesetzt wird. Selbstfahrende Autos, Strategie-Spiel-Bots, T-Shirt-Faltmaschinen, Captcha-Knacken und das Kolorieren von Schwarz-Weiß-Fotos sind heutzutage alltäglich.
Arten des maschinellen Lernens
Es gibt zwei grundlegende Arten von Techniken des maschinellen Lernens.
Überwachtes Lernen, bei dem das System von menschlichen Entscheidungen geleitet wird, und unüberwachtes Lernen, bei dem das System selbst lernen muss. Eine andere Art, dasselbe auszudrücken, ist, dass wir beim überwachten Lernen einen Datensatz haben, der sowohl die Eingaben als auch die erwarteten Ausgaben enthält, die das System zum Vergleichen und zur Selbstkorrektur verwendet. Beim unüberwachten Lernen gibt es jedoch keine vorhandene Ausgabe, an der man sich orientieren kann, so dass die Ergebnisse stark variieren können.
Eine aufregende und unheimliche Anwendung des unüberwachten maschinellen Lernens?
Das wären Bots, die Brettspiele spielen, wobei das Programm die Spielregeln und Gewinnbedingungen beigebracht bekommt und dann sich selbst überlassen wird. Das Programm spielt dann Millionen von Spielen gegen sich selbst, lernt aus seinen Fehlern und verstärkt die vorteilhaften Entscheidungen.
Wenn man einen ausreichend leistungsfähigen Computer verwendet, kann innerhalb weniger Stunden eine spielende KI auf Weltklasse-Niveau erschaffen werden!
Die folgenden Bilder veranschaulichen diese Konzepte prägnant (Quelle: Medium):
Ressourcen für den Einstieg ins maschinelle Lernen
Nachdem Sie nun von maschinellem Lernen begeistert sind und wissen, wie es Ihnen helfen kann, die Welt zu erobern, wo sollten Sie anfangen?
Im Folgenden habe ich einige fantastische Ressourcen im Internet aufgelistet, die Ihnen helfen können, maschinelles Lernen fließend zu beherrschen, ohne einen Doktortitel in Informatik zu erwerben! Wenn Sie kein Forscher im Bereich des maschinellen Lernens sind, werden Sie den Bereich des maschinellen Lernens genauso praktisch und unterhaltsam finden wie das Programmieren im Allgemeinen.
Machen Sie sich also keine Sorgen, egal auf welchem Niveau Sie sich gerade befinden, Sie können sich selbst weiterbilden und besser werden, wie bei einem guten maschinellen Lernprogramm. 😛
#1. Programmierung
Die erste Voraussetzung für den Einstieg ins maschinelle Lernen ist das Erlernen des Programmierens. Das liegt daran, dass Systeme für maschinelles Lernen in Form von Bibliotheken für verschiedene Programmiersprachen vorliegen.
Python wird am meisten empfohlen, zum Teil, weil es unglaublich angenehm zu lernen ist, und zum Teil, weil es ein riesiges Ökosystem von Bibliotheken und Ressourcen gibt.
Der offizielle Beginner’s Guide ist ein großartiger Ausgangspunkt, auch wenn Sie schon etwas mit Python vertraut sind. Oder nehmen Sie den Bootcamp-Kurs, um von null zum Helden zu werden.
#2. Statistisches Denken
Sobald Sie die Grundlagen von Python beherrschen, empfehle ich Ihnen als Nächstes, zwei herausragende Bücher durchzugehen. Sie sind 100 % kostenlos und stehen als PDF zum Download bereit. Denken Sie an Statistik und Denken Sie an Bayes sind zwei moderne Klassiker, die jeder angehende Machine-Learning-Ingenieur verinnerlichen sollte.
#3. Udemy
An dieser Stelle würde ich Ihnen empfehlen, ein paar Kurse von Udemy zu belegen. Das interaktive Format zum Selbststudium hilft Ihnen, in die Materie einzutauchen und Selbstvertrauen aufzubauen.
Achten Sie darauf, dass Sie sich die Kursvorschau, Bewertungen (insbesondere die negativen!) und den allgemeinen Eindruck des Kurses ansehen, bevor Sie beginnen.
Sie können auch auf kostenlose, großartige Tutorials auf YouTube stoßen. Sentdex ist ein solcher Kanal, den ich empfehlen kann, wo es eine Menge Spaß gibt, aber seine Herangehensweise ist nicht anfängerfreundlich.
#4. Andrew Ng
Der von Andrew Ng unterrichtete Kurs auf Coursera ist wohl die beliebteste Lernressource für die Grundlagen des maschinellen Lernens.
Obwohl er die Programmiersprache R verwendet, ist er in seiner Herangehensweise an das Thema und seinen klaren Erklärungen beispiellos. Aufgrund dieses Kurses hat Andrew Ng in ML-Kreisen eine Art gottähnlichen Status erlangt, und die Leute sehen zu ihm auf, wenn es um ultimative Weisheit geht (ich mache keine Witze!).
Dies ist kein Kurs für Anfänger, aber wenn Sie bereits gut im Umgang mit Daten sind und es Sie nicht stört, etwas zusätzliche Recherche zu betreiben, ist dieser Kurs die beste Empfehlung.
#5. Udacity
Werden Sie Ingenieur für maschinelles Lernen, indem Sie diesen Nanograd von Udacity absolvieren.
Der Kurs dauert ungefähr 3 Monate und am Ende sollten Sie eine gute Vorstellung von maschinellen Lernalgorithmen haben, wie man sie modelliert und in der Produktion einsetzt.
Fazit
Es gibt unzählige Ressourcen im Internet, und man kann sich leicht verlieren, wenn man anfängt. Die meisten Tutorials und Diskussionen sind mathematisch anspruchsvoll oder unstrukturiert und können Ihr Selbstvertrauen brechen, bevor Sie überhaupt angefangen haben.
Deshalb möchte ich Sie vor Selbstzerstörung warnen: Setzen Sie sich bescheidene Ziele und bewegen Sie sich in kleinen Schritten voran. Maschinelles Lernen ist nichts, mit dem man sich innerhalb von ein oder zwei Tagen vertraut machen kann, aber ziemlich bald werden Sie Spaß daran haben, und wer weiß, vielleicht schaffen Sie ja etwas Beängstigendes!
Viel Spaß! 🙂