Die größte Hürde mit KI

Denken Sie an eine Herausforderung in Ihrem Leben zurück, die einst unmöglich schien. Vielleicht, um in die Position befördert zu werden, die Sie sich schon immer bei der Arbeit gewünscht haben, oder sich jeden Tag an eine neue Übungsroutine zu halten. Was braucht es, um etwas Neues zu entdecken, auch wenn es zunächst entmutigend sein könnte? Wie ich kürzlich durch den Beginn der Arbeit mit künstlicher Intelligenz gelernt habe, besteht der schwierigste Teil bei der Bewältigung solcher Herausforderungen darin, sich selbst davon zu überzeugen, überhaupt erst anzufangen.

Künstliche Intelligenz ist nicht nur für verrückte Wissenschaftler

Künstliche Intelligenz hat in den letzten Jahren in den Medien viel Aufmerksamkeit erhalten. Es scheint, dass hochqualifizierte Wissenschaftler jeden Tag einen Weg finden, es in einer anderen Branche anzuwenden. Der Gedanke, dass gewöhnliche Menschen auch die Verwendung dieser Technologie entdecken könnten, mag lächerlich erscheinen, insbesondere angesichts des erforderlichen technischen Wissens. Kürzlich stellte ich jedoch fest, dass dies mehr als möglich war, indem ich mein erstes neuronales Netzwerk zur Identifizierung handgeschriebener Ziffern erstellte (wenn Sie mit neuronalen Netzwerken nicht vertraut sind, lesen Sie meine Einführung zum Thema Medium).

Was genau bedeutet die Identifizierung handschriftlicher Ziffern? Grundsätzlich betrachtet das neuronale Netzwerk [sehr verschwommen, danke für die Daten der US-Regierung] Bilder mit Zahlen wie diesen:

Und dann entscheidet es, welche Zahl es sieht. Dies scheint eine einfache Aufgabe zu sein. Warum sollte jemand etwas so Komplexes wie künstliche Intelligenz brauchen, um dies zu tun? Tatsächlich kann es sehr schwierig sein, handgeschriebene Ziffern zu erkennen. Versuchen Sie beispielsweise, diese zu identifizieren:

Sie würden wahrscheinlich zustimmen, dass dies keine so einfache Aufgabe ist, aber neuronale Netze können dabei eine nahezu perfekte Genauigkeit erreichen (mein grundlegendes neuronales Netz hat eine Genauigkeit von bis zu 94% erreicht, während professionell optimierte Versionen eine Genauigkeit von bis zu 99,79% erreicht haben). . Eine solche visuelle Erkennung wird in vielen Apps wie Google Translate und Search verwendet, hat aber auch implizitere Verwendungszwecke. Überlegen Sie beispielsweise, wie selbstfahrende Autos Geschwindigkeitsschilder um sie herum verarbeiten. Angesichts dieser wichtigen und weit verbreiteten Verwendung von Klassifikator-Neuronalen Netzen dachte ich, mein erstes Unternehmen in der Technologie wäre auf diesem Gebiet gut aufgestellt.

Lernen erforderlich? Ja. Lernen möglich? Bestimmt

Ich musste neue Informationen über die technischen Aspekte der künstlichen Intelligenz lernen, um dies zu tun, aber es war ziemlich überschaubar und dauerte nur wenige Tage. Die wichtigsten Lektionen, die ich lernen musste, waren zu verstehen, warum die Algorithmen hinter neuronalen Netzen funktionierten, nicht nur die technischen Details ihrer Codierung. Diese Details enthalten:

  1. Wie Daten in neuronalen Netzen verwendet werden;
  2. Wie die Gewichte und Vorurteile der Neuronen (die Einstellungen) angepasst wurden;
  3. Wie sich Gewichte und Vorurteile (die Einstellungen) auf das Ergebnis auswirken;
  4. Und wie man Fehler minimiert und das Netzwerk genauer macht.

Der erste Punkt ist vor allem empfindlich gegenüber schlechter Planung und Ausführung. Wenn Ihre Daten nicht ausreichen, funktioniert das gesamte System nicht. Die US-Regierung erfuhr diesen teuren Fehler, als sie versuchte, ein neuronales Netzwerk für Panzer bereitzustellen, landete jedoch aufgrund von Datenproblemen amüsanterweise mit einem Wetterdetektor im Wert von mehreren Millionen Dollar (weitere Informationen hier).

Natürlich gab es Momente, in denen die technischen Aspekte von Algorithmen ziemlich kompliziert zu erfassen waren. Zum Beispiel haben neuronale Netze viele Algorithmen, die auf Kalkül basieren, mit schönen Gleichungen und Notationen wie:

Das Verständnis, warum die Algorithmen hinter diesen Gleichungen funktionierten, ermöglichte es mir jedoch, diese Schwierigkeit zu überwinden, indem ich immer noch wusste, was das Netzwerk bei jedem Schritt tat.

Was ist, wenn ich es versuchen möchte?

Sie fragen sich jetzt vielleicht: "Nun, wenn es wirklich so einfach ist, kann ich es einfach selbst tun?" Ja! Die Hauptvoraussetzung ist, dass Sie eine gemeinsame Programmiersprache wie Python kennen. Diese Programmiersprachen verfügen über viele Verknüpfungen, z. B. externe Bibliotheken in Python, mit denen Sie die Schwierigkeit komplizierter Gleichungen wie der oben genannten überwinden können. Darüber hinaus sind Bilder handgeschriebener Ziffern in der MNIST-Datenbank der US-Regierung frei verfügbar, und es gibt viele Online-Tutorials, in denen erklärt wird, wie und warum neuronale Netze funktionieren, anstatt nur technische Details bereitzustellen.

Insgesamt mag künstliche Intelligenz für den Durchschnittsmenschen frustrierend unerreichbar erscheinen, aber der schwierigste Teil besteht darin, gerade erst anzufangen. In der Tat sehen einige Details so aus, als stammten sie von einem anderen Planeten, aber wenn man versteht, was das Netzwerk tut, umgeht das alles. Schließlich, wie Nelson Mandela sagte: "Es scheint immer unmöglich, bis es fertig ist."

Wenn Sie sehen möchten, wie mein neuronales Netzwerk funktioniert, finden Sie es in meinem Github-Repository. Wenn Sie mehr über die Funktionsweise neuronaler Netze erfahren möchten, lesen Sie die folgenden Ressourcen:

https://www.youtube.com/watch?v=aircAruvnKk&t=1000s

http://neuralnetworksanddeeplearning.com/chap1.html