Eine Schritt-für-Schritt-Anleitung zum Framing von Machine Learning-Problemen

Eintauchen in maschinelles Lernen (ML) ohne zu wissen, was Sie erreichen wollen, ist ein Rezept für eine Katastrophe. Beginnen Sie mit diesem Schritt-für-Schritt-Leitfaden zum Schutz vor Katastrophen einen guten Start.

In den letzten vier Jahren (bei Google und davor bei Comet Labs) hatte ich die Gelegenheit, mit Hunderten von Start-ups und Unternehmen auf der ganzen Welt zusammenzuarbeiten, um sie bei der Definition ihrer ML-Strategie zu unterstützen, von der Problemlösung bis zum End-to-End Implementierung eines ML-Modells in der Produktion beenden. Wir haben gemeinsam Modelle entwickelt, um die betriebliche Effizienz zu steigern (z. B. interne Werkzeuge, DevOps usw.), Engpässe zu beseitigen (z. B. Kundendienstteams „magische Kräfte“ zu verleihen), ML-betriebene Produktfunktionen zu entwickeln und neue Produkte zu entwickeln zusammen.

Dabei haben wir den Einsatz von ML aus allen Richtungen angegangen: technologische Implementierung, Produktentwicklung, Organisationsstruktur und -kultur, Personalmanagement, Markteinführung, Preisgestaltung / Monetarisierung, UI / UX usw. In jedem Fall haben wir immer angefangen mit dem Fokus auf die Gestaltung des Problems, das wir mit maschinell erlernten Modellen lösen wollten. Dieser Beitrag konzentriert sich speziell auf Best Practices für die Definition Ihres ML-Modells im Hinblick auf Erfolg, Skalierung und Fairness.

Nachdem Sie diesen Beitrag durchgearbeitet haben und Ihr Design überprüft haben, sollten Sie einen klaren Weg nach vorne haben, um Ihre erste ML-Implementierung zu steuern.

Schritt 0: Führen Sie eine vorläufige Systemprüfung durch

Unabhängig von der Phase Ihres Unternehmens sollten Sie zunächst eine kritische Überprüfung der aktuellen Betriebspraktiken, Engpässe, Wachstumschancen und der möglichen Entwicklung neuer Funktionen und Produkte durchführen. Es gibt viele Möglichkeiten, ML als Teil einer Lösung zu nutzen. Beachten Sie, dass viele Bausteine ​​Ihres Unternehmens aller Wahrscheinlichkeit nach „miteinander sprechen“ und sich nach der Bereitstellung der Dateninfrastruktur gegenseitig beeinflussen.

Machen Sie Ihr Geschäft effizienter (und kostengünstiger)

Stellen Sie sich folgende Fragen: Welche Prozesse sind für Ihr Geschäft von entscheidender Bedeutung? Könnte einer von ihnen (weiter) optimiert werden? Durchsuchen von Operationen, BD, Marketing, Produktentwicklung usw. Wie viel Zeit / Geld würden Sie sparen, wenn Sie einen Workflow über einen anderen optimieren? Wie lange dauert es Ihrer Meinung nach, einen automatischen Workflow einzubauen? Wie planen Sie, Menschen auszubilden, um sie zu erhalten? Wo in Ihrem Prozess benötigen Sie Menschen in der Schleife?

Denken Sie daran, dass dieser Prozess wahrscheinlich schmerzhaft sein wird, aber Sie werden auch in die Lage versetzt, datengesteuerte Entscheidungen zu treffen und die Menschen hinter Daten zu stellen, anstatt willkürliche Prozessentscheidungen. Durch die Auswahl eines Arbeitsablaufs für die Optimierung mit ML und dem Aufbau einer starken Dateninfrastruktur können Sie schrittweise weitere Prozesse optimieren und möglicherweise sogar zur Entwicklung einer Produktfunktion führen.

Eines der Startups, mit denen wir kürzlich zusammengearbeitet haben, stellte fest, dass eines seiner Mitarbeiterschulungsprogramme 15 Millionen US-Dollar pro Jahr kostete. Sie versuchten herauszufinden, wie ein Teil der Einstufung für den Schulungsprozess automatisiert werden kann, um Zeit für die Zeitnutzer freizugeben und die Ausbildung vielversprechender Mitarbeiter zu verdoppeln. Durch die Implementierung ihres ML-basierten Prozesses konnten sie diese Kosten nach der ersten Implementierung um 32% senken und mit der Schulung eines NLP-Modells beginnen, das sie seit ihrer Integration in ihr Produkt integriert haben, um den Kunden einen besseren Service bieten zu können.

Verleihen Sie Ihrem Team und Ihren Benutzern Superkräfte

Stellen Sie sich folgende Fragen: Gibt es interne Tools, die Sie entwickeln könnten, um Ihre Mitarbeiter, Benutzer und / oder eine andere Person in Ihrer Wertschöpfungskette effizienter zu machen? Könnten Sie Ihren Mitarbeitern Zeit geben, z. indem Sie Collaboration-Tools oder standardisierte Prozesse und Vorlagen entwickeln, um die Servicebereitstellung zu standardisieren? Können Sie das Fachwissen Ihrer Mitarbeiter oder anderer Stakeholder bei der „Kennzeichnung“ Ihrer Datensätze nutzen, was letztendlich zu einem besseren Produktangebot insgesamt führt.

Zum Beispiel entwickelte ein anderes Startup, mit dem wir zusammengearbeitet haben, eine Leitfunktion für ihr Produkt, die eine Heatmap für Anomalien in medizinischen Bildern generierte, auf die Ärzte mehr Wert legen sollten. Dies ermöglichte es den Ärzten, etwa 50% weniger Zeit für das Scannen von Bildern auf Anomalien auf hohem Niveau zu verwenden und sich auf statistisch relevante Teile der Bilder zu konzentrieren. Die Ärzte fügten diesen Bildern dann Beschriftungen und Notizen hinzu, die dann als Merkmale in das Modell zurückgeführt wurden. Das daraus resultierende Modell wird immer genauer.

Beachten Sie, dass sie nicht mit der Aussage „Das ML-Modell muss zu 99% genau sein muss“ beginnen. Sie beginnen damit, dass das Produkt als Ganzes 98% genau sein muss. Um dies zu erreichen, können wir ein ML-Modell verwenden Das hat eine Genauigkeit von 99% bei 90% der Eingaben, trifft jedoch keine Entscheidung für 10% und gibt diese an ein Panel von drei erfahrenen Radiologen weiter. “

Bringen Sie eine ML-gestützte Funktion oder ein Produkt auf den Markt

Stellen Sie sich folgende Fragen: Welche Datensätze erfassen Sie mit Ihrem aktuellen Produkt / Ihrer aktuellen Dienstleistung? Daten zum Nutzerverhalten, Kundenservice usw.? Wie können Sie diese Daten nutzen, um ein besseres oder maßgeschneiderteres Angebot zu entwickeln? Könnten Sie tatsächlich ein völlig neues Produkt bauen, das vollständig auf diesen Daten basiert? Was ist, wenn Sie den Anwendungsfall / die Industrie anhand der ersten Prinzipien betrachten, können Sie ein völlig neues Produkt entwickeln, das auf einer Mischung aus vorhandenen und neuen Datenquellen basiert?

Ein Team, mit dem wir zusammengearbeitet haben, überlegt beispielsweise, wie man die Neuroplastizität verbessern kann (dh die Fähigkeit des Gehirns, sich durch Bildung neuer neuronaler Verbindungen neu zu organisieren), indem völlig neuartige Datensätze über ein EEG-Erfassungsgerät erfasst und verschiedene EEG-Ergebnisse verglichen werden, um Daten zu generieren EEG-Behandlung Die Menschen beginnen wieder, sich zu bewegen - verrückt! Ein Hinweis hier ist, wie Sie überlegen, wie Sie neue Datensätze generieren und wie Sie den relativen Wert der vorhandenen Datensätze, die Sie in Ihr Modell einbeziehen, einschätzen - wir werden später in diesem Beitrag kurz auf Voreingenommenheit und Fairness eingehen.

In allen Fällen ist es wichtig, zwischen einem Problem und einer Lösung sowie zwischen Zielen auf Produktebene und Zielen auf Modellebene zu unterscheiden. „Machine Learning“ ist immer Teil der Lösung. Der erste Schritt könnte sein: "Wir wollen X zuverlässig identifizieren." Der zweite Schritt ist dann: "Wir entscheiden uns für ein maschinell erlerntes Modell als Teil unseres Prozesses." ein Ganzes, und das sollte sich immer auf das ML-Modell auswirken.

Schritt 1: Beschreiben Sie Ihr Problem auf Englisch

Schreiben Sie, was das maschinell erlernte Modell tun soll. Schreibe eigentlich auf: "Wir wollen, dass das maschinell erlernte Modell ____ ist". Ein Beispiel dafür könnte sein: „Wir möchten, dass das maschinell erlernte Modell vorhersagt, wie beliebt ein gerade hochgeladenes Video in Zukunft werden wird.“ Zu diesem Zeitpunkt kann die Aussage qualitativ sein, aber stellen Sie sicher, dass dies Ihr tatsächliches Ziel darstellt kein indirekter.

Schritt 2: Identifizieren Sie Ihr ideales Ergebnis

Ihr ML-Modell soll einige wünschenswerte Ergebnisse erzielen. Was ist das für ein Ergebnis, unabhängig vom Modell selbst? Beachten Sie, dass sich das Ergebnis möglicherweise von der Einschätzung des Modells und seiner Qualität unterscheidet (wir werden im nächsten Abschnitt auf Metriken eingehen). Schreiben Sie auf: "Unser ideales Ergebnis ist: ____". Wenn Sie sich an das oben beschriebene Beispiel halten, könnte Ihr ideales Ergebnis darin bestehen, nur populäre Videos zu transcodieren, um die Auslastung der Serverressourcen zu minimieren und um Videos vorzuschlagen, die die Menschen für nützlich, unterhaltsam und wertvoll halten.

In dieser Phase müssen Sie sich nicht auf Metriken beschränken, für die Ihr Produkt bereits optimiert hat (diese werden im nächsten Schritt behandelt). Versuchen Sie stattdessen, sich auf das größere Ziel Ihres Produkts oder Ihrer Dienstleistung zu konzentrieren.

Schritt 3: Definieren Sie Ihre Erfolgsmetriken

Notieren Sie Ihre Messwerte für Erfolg und Misserfolg mit dem ML-System. Die Fehlermetriken sind wichtig (d. H. Woher wissen Sie, ob das ML-System ausgefallen ist?). Beachten Sie, dass die Messwerte für Erfolg und Misserfolg unabhängig von Bewertungsmetriken für das Modell formuliert werden sollten (sprechen Sie beispielsweise nicht über Präzision, Rückruf oder AUC; stattdessen über die erwarteten Ergebnisse). Oft werden diese Metriken an das ideale Ergebnis gebunden, das Sie oben angegeben haben. Schreiben Sie Antworten zu den Aussagen: „Unsere Erfolgsmetriken sind: ____“, „Unsere wichtigsten Ergebnisse (KR) für die Erfolgsmetriken sind: ____“ und „Unser ML-Modell gilt als Fehlschlag, wenn: ____“.

Ihre Erfolgsmetrik könnte beispielsweise die Auslastung der CPU-Ressourcen sein. In diesem Fall erzielen Sie mit Ihrem KR für die Erfolgsmetrik 35% weniger CPU-Kosten für die Transcodierung. Ihr ML-Modell wird als nicht erfolgreich angesehen, wenn die CPU-Ressourcenkosten geringer sind als die CPU-Kosten für das Training und die Bedienung des Modells. Ein weiterer Erfolgsmaßstab könnte die Anzahl der richtig vorausgesagten Videos sein. Ihr KR für die Erfolgsmetrik ist es, die Top 95% 28 Tage nach dem Hochladen richtig vorherzusagen. Ihr ML-Modell wird als nicht erfolgreich erachtet, wenn die Anzahl der richtig vorausgesagten Videos der aktuellen Heuristik nicht übersteigt.

Halte hier! Fragen Sie sich selbst: „Sind die Metriken messbar?“ „Wie messe ich sie?“ Es ist in Ordnung, wenn dies über ein Live-Experiment erfolgt. Viele Erfolgsmetriken können nicht offline erfasst werden. Denken Sie bei der Entscheidung für Ihre Metriken über das ideale Ergebnis nach, das Sie im vorherigen Schritt angegeben haben. Wann können Sie sie messen? Wie lange dauert es, bis Sie wissen, ob Ihr neues ML-System Erfolg oder Misserfolg hat?

Beschränken Sie sich nicht auf einen binären Erfolg oder Misserfolg. Es gibt ein breiteres Spektrum: katastrophal / schlechter als vorher / in etwa genauso wie zuvor / eine Verbesserung, aber nicht so gut, wie wir es erwartet hatten / alles ist großartig. Beachten Sie außerdem, dass bei mehreren Metriken ein System sich auf einer Ebene und eine andere auf einer anderen Metrik befinden kann.

Berücksichtigen Sie auch die Engineering- und Wartungskosten, um den langfristigen Gewinn zu berücksichtigen. Fehler können trotz erfolgreicher Metrik auftreten. Zum Beispiel; Ein Modell kann möglicherweise vorhersagen, ob die empfohlenen Videos sehr gut angeklickt werden, es empfiehlt sich jedoch immer, "Click Baity" -Videos zu empfehlen.

Ein Hinweis zu Design Reviews: Sie werden feststellen, dass dieser Leitfaden mit „Design Reviews“ durchsetzt ist, um Ihren Ansatz zu überprüfen, bevor Sie mit dem nächsten Abschnitt fortfahren. Es wird dringend empfohlen, ein anderes Engineering- oder Produktteam (in Ihrem Unternehmen oder extern) zu finden, das sich ebenfalls mit der Bereitstellung von ML befasst. Wenn Sie ML an und für sich einsetzen, wird dies niemals Ihre geheime Sauce sein (es geht nur um Daten!), Und Sie werden tatsächlich davon profitieren, wenn Sie Best Practices mit anderen Praktizierenden teilen, die sich ebenfalls in den Schützengräben befinden. Wenn Sie über Ihren Cloud-Anbieter Zugriff auf ein Cloud-Kundenteam haben oder über ein anderes Programm auf den Engineering-Support zugreifen, bitten wir Sie, in dieser Schritt-für-Schritt-Anleitung Feedback zu Ihren Antworten zu erhalten.

** Design Review: ML-Systemziele **

Wie oben erläutert, lade ich Sie jetzt ein, sich mit einem Kollegen oder Team zusammenzuschließen und die Antworten der anderen auf die oben genannten Schritte (1–3) zu überprüfen, während Sie sich Folgendes fragen:

Problembeschreibung klar: Verstehen Sie den Zweck des Modells?

Misserfolg und Erfolg: Können Sie als Außenseiter den Erfolg oder Misserfolg des ML-Systems anhand der definierten Metriken und Ziele beurteilen? Fügen Sie ein Beispiel hinzu, wo Sie das System als fehlerhaft beurteilen würden.

Schritt 4: Definieren Sie Ihre ideale Ausgabe

Schreiben Sie die Ausgabe, die Ihr ML-Modell erzeugen soll. Schreiben Sie erneut (in englischer Sprache) auf: „Die Ausgabe unseres ML-Modells lautet: ____“ und „Es ist definiert als: ____“. Zum Beispiel wird die Ausgabe Ihres ML-Modells eine der 3 Videoklassen sein (sehr beliebt, etwas beliebt, nicht beliebt). Sie wird 28 Tage nach dem Hochladen als oberstes {3, 7, 90} -Perzentil der Überwachungszeit definiert.

Denken Sie daran, dass die Ausgabe mit einer Definition quantifiziert werden kann, die eine Maschine produzieren kann. Zum Beispiel: "Der Benutzer hat den Artikel gern gelesen" führt zu weit schlechteren Ergebnissen als "der Benutzer teilt den Artikel". Fragen Sie sich, ob Sie Beispielausgaben für Trainingsdaten erhalten können. Wie und aus welcher Quelle erhalten Sie diese? Ihre Ausgabebeispiele müssen möglicherweise wie im obigen Beispiel entwickelt werden, wodurch die Video-Überwachungszeit in ein Perzentil umgewandelt wird.

Wenn es in diesem Stadium schwierig ist, Beispielausgaben für das Training zu erhalten, müssen Sie möglicherweise Ihre Antworten auf die bisherigen Schritte erneut überdenken, um Ihr Problem und Ihre Ziele in Form zu formulieren, in der Sie ein Modell mit Ihren Daten trainieren können.

Schritt 5: Verwenden Sie die Ausgabe

Überlegen Sie, wann Ihre Ausgabe vom ML-Modell abgerufen werden muss und wie sie in Ihrem Produkt verwendet wird. Schreiben Sie auf: „Die Ausgabe des ML-Modells wird ausgeführt: ____“ und „Das Ergebnis wird verwendet für: ____“.

Zum Beispiel wird die Vorhersage der Popularität eines Videos gemacht, sobald ein neues Video hochgeladen wird. Das Ergebnis wird zur Bestimmung des Transcodierungsalgorithmus für das Video verwendet.

Überlegen Sie, wie Sie das vorhergesagte Ergebnis in Ihrem Produkt verwenden werden. Wird es dem Benutzer in einer Benutzeroberfläche sofort angezeigt? Wird es von nachfolgender Geschäftslogik genutzt? Welche Latenzanforderungen haben Sie?

Diese Anforderungen (die auch die Anforderungen des ML-Modells sind) können beeinflussen, welche Informationen für Vorhersagen verwendet werden können. Beispielsweise kann die Latenz der Verwendung von Daten von Remote-Diensten dazu führen, dass sie nicht mehr verwendet werden können. Wenn Datenquellen bei der Bereitstellung neuer Informationen verzögern, werden verarbeitete Protokolle möglicherweise nur einmal pro Tag generiert, und / oder bestimmte Informationen sind erst bekannt, wenn sie tatsächlich auftreten (z. B. Konvertierungsereignisse).

Schritt 6: Identifizieren Sie Ihre Heuristiken

Bevor wir uns weiter fortbewegen, lassen Sie uns überlegen, wie Sie das Problem lösen könnten, wenn Sie ML nicht verwenden würden (z. B. welche Heuristiken Sie verwenden könnten). Schreiben Sie auf: "Wenn wir ML nicht verwenden würden, würden wir: ____". Wenn Sie beispielsweise kein ML verwenden, würden Sie davon ausgehen, dass neue Videos, die von Erstellern hochgeladen wurden, die in der Vergangenheit beliebte Videos hochgeladen haben, wieder populär werden. Stellen Sie sich ein Szenario vor, in dem Sie das Produkt morgen liefern müssen, und Sie können nur die Geschäftslogik fest codieren. Was würden Sie tun? Schreib es auf.

** Design Review: Ausgaben **

Verbinden Sie sich mit einem Team und überprüfen Sie die Antworten der anderen auf die obigen Schritte (4–6) anhand der folgenden Kriterien:

Modellausgaben: Wird das ML-Modell eine brauchbare und nützliche Ausgabe erzeugen?

Heuristiken: Gibt es vernünftige Heuristiken, mit denen das Konzept zunächst ohne ML getestet werden kann? Wie können diese verbessert werden? Welche zusätzlichen Heuristiken können Sie vorschlagen?

Schritt 7: Formulieren Sie Ihr Problem als ML-Problem

Bevor wir herausfinden, welche Art von ML Sie einsetzen sollten, um Ihr Problem zu lösen, finden Sie hier eine kurze Zusammenfassung der vier wichtigsten Möglichkeiten, mit denen ML heute effektiv eingesetzt werden kann: Regression (numerische Werte vorhersagen), 3) Clustering (ähnlichste andere Beispiele), 4) Erzeugung (komplexe Ausgabe). Schlagen Sie im MLCC-Material nach, wenn Sie sich bezüglich der verschiedenen Modellklassen nicht sicher sind.

Schreiben Sie jetzt auf, was Ihrer Meinung nach die beste technische Lösung für Ihr Problem ist. Ihr Problem könnte beispielsweise als 3-Klassen-Klassifizierung mit einem einzigen Etikett bezeichnet werden, die vorhersagt, ob ein Video 28 Tage nach dem Hochladen in eine der drei Klassen (sehr beliebt, etwas beliebt, nicht beliebt) fällt.

Schritt 8: Geben Sie Ihr Problem als "einfaches" Problem an

Einfachere Problemformulierungen lassen sich beim ersten Start leichter überdenken und implementieren. Ich empfehle, das gegebene Problem als binäre Klassifikation oder als eindimensionales Regressionsproblem (oder als beides) anzugeben. Zum Beispiel: „Wir werden vorhersagen, ob hochgeladene Videos höchstwahrscheinlich sehr beliebt werden (binäre Klassifizierung)“ oder „Wir sagen voraus, wie beliebt ein hochgeladenes Video in Bezug auf die Anzahl der Aufrufe ist, die es in einem 28-tägigen Fenster erhält (Regression). "

** Design Review: Modellierung **

Verbinden Sie sich mit einem Team und überprüfen Sie die Antworten der anderen auf die obigen Schritte (7–8) anhand der folgenden Kriterien:

Gesamtansatz: Scheint es so, als würden die vorgeschlagenen Modelle das angegebene Problem lösen? Warum oder warum nicht?

Erstes Design: Ist das vereinfachte Modell ausreichend vereinfacht und reduziert? Beschreiben Sie, wie das Design weiter vereinfacht werden kann.

Schritt 9: Gestalten Sie Ihre Daten für das Modell

Schreiben Sie die Daten, die das ML-Modell für Vorhersagen verwenden soll, in die folgende Tabelle:

Eine Zeile stellt ein Datenelement dar, für das eine Vorhersage gemacht wird. Sie sollten nur Informationen angeben, die zum Zeitpunkt der Vorhersage verfügbar sind.

Zum Beispiel:

Schritt 10: Finden Sie heraus, woher Ihre Daten stammen

Notieren Sie sich, woher jede Eingabe kommt, und bewerten Sie, wie viel Arbeit die Entwicklung einer Datenpipeline für die Erstellung jeder Spalte für eine Zeile sein wird. Informieren Sie sich über Ressourcen, die Ihnen dabei helfen zu überlegen, welche Daten in Ihr Modell aufgenommen werden sollen und wie Sie ein Datenanmerkungsteam einrichten, sobald Sie die Daten erfasst haben.

Überlegen Sie, wann die Beispielausgabe für Trainingszwecke verfügbar wird. Wenn die Beispielausgabe schwierig zu erhalten ist, möchten Sie möglicherweise Schritt 5 (Ihre Ausgabe) erneut aufrufen und prüfen, ob Sie eine andere Ausgabe für Ihr Modell verwenden können.

Stellen Sie sicher, dass alle Ihre Eingaben zum Zeitpunkt der Bereitstellung (wenn die Vorhersage gemacht wird) in genau dem Format verfügbar sind, das Sie aufschreiben. Wenn es schwierig ist, alle Eingaben zur Serving-Zeit in genau demselben Format zu erhalten, empfiehlt es sich, Schritt 9 (Gestalten Sie Ihre Daten für das Modell) zu überdenken, um die Eingaben zu überdenken, oder Schritt 5 (Bereitstellen der Ausgabe), wenn Sie bedient werden können gemacht sein.

Beispiel

Schritt 11: Konzentrieren Sie sich auf leicht erhaltene Eingaben

Wählen Sie unter den Eingaben, die Sie in Schritt 9 aufgeführt haben, 1 bis 3 Eingänge aus, die leicht zu erhalten sind und von denen Sie annehmen, dass sie ein vernünftiges Anfangsergebnis liefern.

In Schritt 6 haben Sie eine Reihe von Heuristiken aufgelistet, die Sie verwenden könnten. Welche Eingaben wären für die Implementierung dieser Heuristiken hilfreich? Berücksichtigen Sie die Engineering-Kosten für die Entwicklung einer Datenpipeline zur Vorbereitung der Eingaben und den erwarteten Nutzen jeder Eingabe im Modell. Konzentrieren Sie sich auf Eingaben, die mit einer einfachen Pipeline aus einem einzigen System abgerufen werden können. Es ist ratsam, mit einer möglichst geringen Infrastruktur zu beginnen.

** Design Review: Daten **

Koppeln Sie sich mit einem Team und überprüfen Sie die Antworten der anderen auf die obigen Schritte (9–11) anhand der folgenden Kriterien.

Easy Inputs: Sind die „Easy Input Features“ ausreichend vereinfacht und einfach zu erhalten? Wie können diese Eingaben weiter vereinfacht werden?

Etiketten: Können Sie Ausgabebeispiele (Etiketten) für Schulungszwecke erhalten?

Verzerrung: Jeder Datensatz wird in gewisser Weise verzerrt. Diese Vorurteile können das Training und die gemachten Vorhersagen beeinträchtigen. Beispielsweise können Worteinbettungen, die von einer bestimmten Datenquelle trainiert werden, eine Verzerrung aufweisen, die für ihre Verwendung in einem anderen Kontext ungeeignet ist. Oder die Schulungssätze sind möglicherweise nicht repräsentativ für die Endbenutzer der Modelle. Nennen Sie einige potenzielle Quellen für Verzerrungen in den Datensätzen, die verwendet werden sollen (und halten Sie Ausschau nach fantastischen Ressourcen, die vom Google ML Fairness-Team, das sich näher an I / O im Mai 2019 befindet, ausgelagert werden sollen).

Implementierungsrisiken und -komplexität: Führen Sie Aspekte des Entwurfs auf, die möglicherweise schwer zu implementieren sind, riskant oder übermäßig kompliziert oder nicht erforderlich sind.

Lernfähigkeit: Kann das ML-Modell lernen? Listen Sie Szenarien auf, in denen das System Schwierigkeiten beim Lernen hat. Beispielsweise gibt es nicht genügend positive Beispiele, die Trainingsdaten sind möglicherweise zu klein, die Bezeichnungen sind zu laut, das System hat möglicherweise Schwierigkeiten, auf neue Fälle zu verallgemeinern usw.

Schritt 12: Definieren Sie Ihr eigenes ML-System

Überprüfen Sie die Tipps unter https://www.tensorflow.org/programmers_guide/

Schritt 13: Nächste Schritte

Nachdem Sie dieses Arbeitsblatt ausgefüllt und Feedback zum Design erhalten haben, sollte Ihre erste Implementierung auf dem vereinfachten Modell basieren (entweder binäre Klassifizierung oder Regression), wobei einige (1–3) leicht abrufbare Eingaben verwendet werden. Sobald dieses grundlegende Setup funktioniert, können Sie dieses Design iterieren, um es der endgültigen Vision näher zu bringen. Wenn Sie bereit sind, "es selbst zu tun", überprüfen Sie diese Ressource. Viel Glück! Lass uns wissen, wie es geht.

Malika Cantor ist weltweit führend bei Google Developers Launchpad und Herausgeber des Launchpad-Blogs. Sie ist die KI / ML-Führungskraft in allen globalen Launchpad-Programmen (deshalb nennen die Leute sie MALI, nur ein Scherz). Zuvor war sie Gründungspartnerin bei Comet Labs, einem experimentellen Forschungslabor und einer VC-Firma, die sich auf die Unterstützung von Start-ups für angewandte Maschinenlernen konzentriert. Fragen und Kommentare im Kommentarbereich beantworten und / oder twittern!

Es braucht ein Dorf: Riesige Kudos an Ola Ben Har, Sashko Zakharchuk, Pawel Nowak usw., um das Machine Learning Kickstarter-Event in Warschau (Frühjahr 2018) zu organisieren und das Arbeitsblatt „ML Problem Framing“ zu erstellen (in diesem Beitrag stark dargestellt). Vielen Dank an das Google EngEDU-Team für die offizielle Externalisierung von Inhalten (Herbst 2018). DANKE an Tom White für das Editieren und Korrekturlesen von Superstars, Jeremy Neuner für Bilder und Witze, Brett Kamita, Josh Yellin, Nishu Lahoti und Rich Hydman für das Editieren, Maya Grossman für das Marketing, Peter Norvig und Cassie Kozyrkov für meine Verbrechenspartner. Roy Glasberg, der uns dieses Ding ins Leben gerufen hat.