Ingenieure für maschinelles Lernen: Mythen vs. Realitäten

Veröffentlicht: 2018-05-08

Maschinelles Lernen verleiht Computern die Fähigkeit zu lernen und ihre Aufgaben iterativ zu verbessern. Es konzentriert sich auf die Entwicklung dynamischer Algorithmen, die sich selbst ändern (modifizieren) können, wenn sie einem neuen Datensatz ausgesetzt werden. Einfach ausgedrückt ist maschinelles Lernen das, was Facebook dazu bringt, zu sagen: „Möchtest du deine Freunde auf diesem Bild markieren?“ , jedes Mal, wenn Sie ein Gruppenfoto hochladen. Die Menschen, die hinter den Kulissen arbeiten, um all dies zu ermöglichen, werden demütig als Machine Learning Engineers bezeichnet.
Nun, wie bei jedem anderen Bereich unter dem breiten Dach der Datenwissenschaft gibt es auch beim maschinellen Lernen viele Missverständnisse darüber. Und genau diese zu beseitigen, ist unser heutiges Ziel. Aber es ist wichtig, dass wir Sie zuerst durch das Leben eines Machine Learning-Ingenieurs führen, einschließlich der Fähigkeiten und Werkzeuge, die sie besitzen.
Ingenieure für maschinelles Lernen
Lassen Sie uns zunächst Machine Learning klar von Data Science abgrenzen.

Inhaltsverzeichnis

Sind Machine-Learning-Ingenieure Datenwissenschaftler?

Data Science ist ein allumfassender Begriff, aber die Art und Weise, wie maschinelles Lernen funktioniert, ist grundlegend anders. Data Science und Analysten untersuchen im Wesentlichen Daten und versuchen, Ansätze oder Modelle zu finden, die ihren Geschäftsanforderungen entsprechen.
Maschinelles Lernen hingegen verändert dieses Modell komplett. Machine-Learning-Ingenieure beschäftigen sich nicht direkt mit den Daten. Sie kennen die gewünschten Ergebnisse, lassen aber Algorithmen die Arbeit für sich erledigen. Maschinelles Lernen baut eine Maschine auf, die Go-Champions schlägt, Fotos taggt oder zwischen Sprachen übersetzt. Diese Ziele werden – anders als bei der Datenanalyse – nicht durch sorgfältige Exploration von Daten erreicht. Es gibt eine Menge Daten zu erforschen und viel zu viele Dimensionen zu bewältigen (zum Beispiel, was ist die Dimensionalität eines Go-Spiels? Oder eine Sprache?) Das Versprechen des maschinellen Lernens ist, dass es das Modell selbst erstellt: es führt seine Datenexploration durch und stimmen.
Der Unterschied zwischen Data Science, Machine Learning und Big Data!

Infolgedessen „erforschen“ Ingenieure für maschinelles Lernen nicht so viel wie Datenwissenschaftler oder Analysten – zumindest nicht im wahrsten Sinne des Wortes. Ihr Ziel ist es nicht, Bedeutung in ihren Daten zu finden – sie glauben, dass die Bedeutung bereits vorhanden ist. Stattdessen zielen sie darauf ab, ein Modell/einen Algorithmus/eine Maschine/ein System zu bauen, das die Daten analysieren und Ergebnisse liefern kann. Oder um ein funktionierendes neuronales Netzwerk zu erstellen, das so angepasst werden kann, dass es zuverlässige Ergebnisse für jeden Eingabedatensatz liefert.
Schauen wir uns einige entscheidende Punkte an, die sich auf Ingenieure für maschinelles Lernen beziehen:

  • Sie verfügen über stärkere Software-Engineering-Fähigkeiten als typische Datenanalysten/Wissenschaftler. Machine Learning Engineers arbeiten mit Ingenieuren zusammen, die für die Wartung von Produktionssystemen verantwortlich sind. Daher müssen sie Softwareentwicklungsmethoden, agile Praktiken und die modernsten Softwareentwicklungstools verstehen. Sie müssen mit allem, von IDEs wie Eclipse oder IntelliJ bis hin zu den Komponenten einer Softwarebereitstellungspipeline, gründlich umgehen.
  • Ingenieure für maschinelles Lernen konzentrieren sich darauf, Datenprodukte in der Produktion zum Laufen zu bringen. Dadurch verfolgen sie einen ganzheitlichen Ansatz. Sie bilden einen Kernbestandteil jedes Softwareentwicklungsteams und wissen daher, was A/B-Tests sind. Sie „verstehen“ es nicht nur, sondern wissen auch, wie man A/B-Tests auf Produktionssystemen durchführt. Sie verstehen die Bedeutung von Protokollierung und Sicherheit für das Schicksal jeder Anwendung.
  • Sie sind auf Zack, wenn es um die Überwachung von Datenprodukten in der Produktion geht. Obwohl es viele Ressourcen gibt, um den Prozess der Anwendungsüberwachung zu automatisieren, gehen die Anforderungen des maschinellen Lernens noch einen Schritt weiter. Datenpipelines, Modelle, Algorithmen oder sogar Systeme können veraltet sein und müssen neu trainiert werden. Ein maschinelles Lernsystem kann leicht verzerrt werden, indem die Datenpipelines, die es speisen, kompromittiert werden. Daher müssen die Ingenieure für maschinelles Lernen immer wissen, wie sie diese Kompromisse erkennen können.
Neuronale Netze für Dummies: Ein umfassender Leitfaden

Einige notwendige Fähigkeiten für einen erfolgreichen Ingenieur für maschinelles Lernen:

  • Grundlegende Kenntnisse in Informatik und Programmierung
  • Wahrscheinlichkeit und Statistik
  • Datenmodellierung und Auswertung
  • Finden Sie die richtige ML-Bibliothek, die Sie verwenden können, und optimieren Sie sie nach Bedarf
  • Software Engineering und Modellierung

Mythos Nr. 1: Ingenieure für maschinelles Lernen lassen Systeme genau wie Menschen denken.

Obwohl dies ein mögliches Endziel ist, ist es im Moment weit von der Wahrheit entfernt. Vergleichen Sie kurz den Lernprozess eines Kindes mit dem einer Maschine und Sie werden feststellen, dass maschinelles Lernen noch ziemlich in den Kinderschuhen steckt. Zum Beispiel muss ein Baby nicht Hunderte von Menschen für einfache Dinge wie Gehen oder Essen beobachten. Sie setzen ihre eigenen Ziele, nehmen andere Menschen in ihrer Umgebung wahr, entwickeln intuitiv ihre Lernstrategie und verfeinern diese durch Versuch und Irrtum, bis sie Erfolg haben. Auch ohne viel äußeres Eingreifen oder Anleitung kann ein Baby erfolgreich laufen lernen, zusammen mit anderen wichtigen Dingen.
Maschinen hingegen erfordern bei jedem Lernschritt eine Überwachung. Darüber hinaus kombiniert ein Kind mühelos verschiedene Eingaben, die es von mehreren Sinnesorganen erhält, ganzheitlich und effizient. So kann ein Kind beispielsweise Bilder sofort erkennen und auch jeden darüber geschriebenen Text verstehen. Aber um einer Maschine das Gleiche beizubringen, brauchen wir separate hochentwickelte Algorithmen, jeder für die Erkennung von Daten, die Identifizierung von Geräuschen und das Verständnis des Textes.

Mythos Nr. 2: Alle Daten sind für Machine-Learning-Ingenieure nützlich.

Zweifellos brauchen auch Ingenieure für maschinelles Lernen Daten, aber nicht alle davon sind für maschinelles Lernen relevant. Sie benötigen repräsentative Daten, die die Muster und Ergebnisse abdecken, die ihr System verarbeiten muss. Die Daten sollten keine irrelevanten Muster enthalten, da das maschinelle Lernmodell diese nicht verwandten Muster widerspiegelt und in den Daten, mit denen es verwendet wird, nach ihnen sucht.
Alle Daten, die Sie für das Training verwenden, müssen gut beschriftet und mit den Funktionen gekennzeichnet sein, die den Fragen entsprechen, die Sie dem maschinellen Lernsystem stellen werden, was viel Arbeit erfordert. All diese Daten müssen gut mit den Merkmalen gekennzeichnet sein, die den Fragen entsprechen, die Sie Ihrem System stellen werden. Es sollte auch makellos und frei von Inkonsistenzen oder Fehlern sein. Daher sind nicht alle Daten für Machine-Learning-Ingenieure wertvoll – nur die relevanten Daten sind es!
Halten Sie Ausschau nach dem nächsten großen Ding: Maschinelles Lernen

Mythos Nr. 3: Ingenieure für maschinelles Lernen ignorieren bereits vorhandenes Wissen.

Experten in vielen Bereichen lehnen maschinelles Lernen ab, weil sie in ihren Lernalgorithmen einen „unbeschriebenen“ Ansatz verfolgen. Sie gehen davon aus, dass alle maschinellen Lernalgorithmen bei Null beginnen – ohne Kenntnis bereits vorhandener Daten. Machine-Learning-Ingenieure verstehen besser, dass Lernen ein langer Prozess ist, der ständig überwacht werden muss. Es kann nicht nachgeahmt werden, indem man die Daten einfach in einen Algorithmus einspeist. Daher beginnen nicht alle Lernalgorithmen mit einem leeren Blatt; Einige verwenden Datensätze, um einen bereits vorhandenen Wissenspool zu verfeinern. Letztendlich hängt es von den Geschäftsanforderungen der Organisation ab.
Mythos Nr. 4: Einfachere Modelle für maschinelles Lernen sind immer genauer.

Dies steht im Einklang mit Occams Rasiermesser. Aber lassen Sie uns Ihnen sagen, dass das Rasiermesser nur sagt, dass einfachere Erklärungen vorzuziehen sind, nicht warum. Sie werden bevorzugt, weil sie leichter zu verstehen, zu merken und zu handhaben sind. Wenn es jedoch um maschinelles Lernen geht, ist manchmal die einfachste Hypothese, die mit den Daten übereinstimmt, weniger genau für die Vorhersage als eine kompliziertere. Einige der leistungsstärksten Lernalgorithmen geben Modelle aus, die unnötig kompliziert erscheinen – manchmal werden sie sogar weiter ergänzt, nachdem sie die Daten richtig angepasst haben – aber so schlagen sie die weniger leistungsfähigen.

Lernen Sie ML-Kurse online von den besten Universitäten der Welt. Erwerben Sie Master-, Executive PGP- oder Advanced Certificate-Programme, um Ihre Karriere zu beschleunigen.

Ist Mathematik ein Muss für Machine-Learning-Ingenieure?

Da Machine Learning ein Teil von Data Science ist, einer Kombination aus Informatik und Mathematik, sind Mathematikkenntnisse ein Muss für Machine Learning-Ingenieure. Sie benötigen Kenntnisse über mathematische Konzepte wie lineare Algebra, Analysis, Optimierung, Wahrscheinlichkeit und Statistik, um die Algorithmen des maschinellen Lernens zu erstellen und zu verstehen. Um genauer zu sein, müssen Sie eine grundlegende Vorstellung von mathematischen Operationen haben, die bei der Datenanalyse helfen. Aber das Beste daran ist, dass Sie diese grundlegenden Konzepte der Mathematik mit der Zeit lernen können, während Sie maschinelles Lernen lernen, und die meisten dieser Konzepte sind mäßig leicht zu verstehen.

Brauchen Data Scientists maschinelles Lernen?

Wir wissen, dass Data Science und maschinelles Lernen untrennbar miteinander verbunden sind, sodass maschinelles Lernen nur so gut sein wird wie die bereitgestellten Daten und die Fähigkeit der Algorithmen, sie aufzunehmen. Datenwissenschaftler müssen über ein grundlegendes Verständnis des maschinellen Lernens verfügen. Data Scientists extrahieren nützliches Wissen aus riesigen Datenmengen. Sie decken Trends auf und helfen bei der Entwicklung von Lösungen zur Automatisierung bestimmter Geschäftsabläufe. Für genaue Prognosen und Schätzungen müssen Data Scientists maschinelles Lernen verstehen. Dies kann Roboter dabei unterstützen, bessere Urteile zu fällen und klügere Maßnahmen in Echtzeit zu ergreifen, ohne dass eine menschliche Interaktion erforderlich ist. Data Mining und Interpretation werden durch maschinelles Lernen transformiert. Traditionelle statistische Verfahren wurden durch genauere automatisierte Sätze generischer Algorithmen ersetzt.

Welche Programmiersprache wird von ML-Ingenieuren bevorzugt?

Python ist die am häufigsten verwendete Sprache für Datenanalyse und maschinelles Lernen. Die Mehrheit der Machine Learning-Ingenieure wählt Python für NLP-Herausforderungen, R oder Python werden für Stimmungsanalysejobs bevorzugt und Java wird für andere Machine Learning-Anwendungen wie Sicherheit und Bedrohungserkennung verwendet. Python ist aufgrund seines umfangreichen Bibliotheks-Ökosystems zur bevorzugten Sprache für Datenanalyse, maschinelles Lernen und künstliche Intelligenz (KI) geworden, das es Fachleuten für maschinelles Lernen ermöglicht, auf Daten einfach zuzugreifen, sie zu verwalten, zu konvertieren und zu analysieren. Python ist bei Entwicklern für maschinelles Lernen aufgrund seiner Plattformunabhängigkeit, Einfachheit und Lesbarkeit beliebt.