Die größte Hürde mit AI

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

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

Künstliche Intelligenz hat in den letzten Jahren in den Medien viel Beachtung gefunden. Es scheint, dass hochqualifizierte Wissenschaftler jeden Tag einen Weg finden, ihn in einer anderen Branche anzuwenden. Der Gedanke, dass auch normale Menschen die Verwendung dieser Technologie entdecken könnten, mag lächerlich erscheinen, insbesondere angesichts der erforderlichen technischen Kenntnisse. Vor kurzem habe ich jedoch festgestellt, dass dies mehr als möglich ist, indem ich mein erstes neuronales Netzwerk zur Identifizierung handgeschriebener Ziffern erstellt habe.

Was genau bedeutet es, handschriftliche Ziffern zu identifizieren? Grundsätzlich sieht das neuronale Netz [sehr verschwommen, danke für die Daten der US-Regierung] Bilder mit Zahlen wie diesen aus:

Und dann entscheidet es, welche Zahl es sieht. Dies scheint eine einfache und unkomplizierte 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 hatte eine Genauigkeit von etwa 94%, während professionell optimierte Versionen eine Genauigkeit von 99,79% aufwiesen). . Eine solche visuelle Erkennung wird in vielen Apps wie Google Translate und Search verwendet, hat aber auch implizitere Verwendungen. Überlegen Sie beispielsweise, wie selbstfahrende Autos Geschwindigkeitsschilder verarbeiten. Angesichts dieser wichtigen und weit verbreiteten Verwendung von neuronalen Klassifizierernetzwerken war ich der Meinung, dass mein erstes Vorhaben mit der Technologie in diesem Bereich gut platziert sein würde.

Lernen erforderlich? Ja. Lernen möglich? Bestimmt

Dazu musste ich neue Informationen über die technischen Aspekte der künstlichen Intelligenz erlernen, die jedoch recht überschaubar waren und nur einige Tage in Anspruch nahmen. Die wichtigsten Lektionen, die ich lernen musste, waren zu verstehen, warum die Algorithmen hinter neuronalen Netzen funktionierten, nicht nur die technischen Aspekte der Codierung. Diese Details beinhalteten:

  1. Wie Daten in neuronalen Netzen verwendet werden;
  2. Wie die Gewichte und Vorspannungen der Neuronen (die Einstellungen) angepasst wurden;
  3. Wie sich Gewichte und Vorspannungen (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 schlechte Planung und Ausführung. Wenn Ihre Daten nicht ausreichen, funktioniert das gesamte System nicht. Die US-Regierung lernte diesen teuren Fehler, als sie versuchte, ein neuronales Netzwerk für Panzer einzurichten, landete jedoch aufgrund von Datenproblemen amüsanterweise bei einem mehrere Millionen Dollar teuren Wetterdetektor (weitere Informationen finden Sie hier).

Natürlich gab es Momente, in denen die technischen Aspekte von Algorithmen ziemlich kompliziert zu erfassen waren. Neuronale Netze haben zum Beispiel 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?

Vielleicht fragen Sie sich jetzt: "Wenn es wirklich so einfach ist, kann ich es dann einfach selbst machen?" Ja! Die Hauptvoraussetzung ist die Kenntnis einer gemeinsamen Programmiersprache wie Python. Diese Programmiersprachen verfügen über zahlreiche 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 von handgeschriebenen Ziffern in der MNIST-Datenbank der US-Regierung frei verfügbar. Außerdem gibt es zahlreiche 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 erscheinen, aber der schwierigste Teil besteht darin, gerade erst anzufangen. In der Tat sehen einige Details so aus, als ob sie von einem anderen Planeten stammen, aber das Verständnis, was das Netzwerk tut, umgeht all das. 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