
Heutzutage überraschen uns Pressemitteilungen von Technologieunternehmen wenig. Die Details von Innovationen fließen entweder einige Monate früher weg oder sind nicht sehr beeindruckend. Vor kurzem sind wir jedoch auf einige echte Überraschungen gestoßen. Einige Monate vor der Veröffentlichung von Switch entschied Nintendo, dass die Zukunft der Konsolen ihre Vergangenheit war, und kündigte den
NES Classic an . Und der
Sieg von Googles AlphaGo über den Champion unter den Menschen entmutigte Experten, die glaubten, dass solche Ergebnisse nicht früher als zehn Jahre später erzielt werden könnten.
Die
Ankündigung des Amazon Go-Einzelhandelsgeschäfts im Dezember, in dem Sie einfach Produkte aus den Regalen holen und aussteigen können, kann mit dem Schock der AlphaGo-Nachrichten verglichen werden. Die Methode des "Abholens und Verlassens" war für einige Zeit als "Zukunft des Einzelhandelsverkaufs" bekannt und "nur wenige Jahre" von unserer Zeit entfernt. Ich arbeite seit mehr als zehn Jahren in der Robotik-Forschungsabteilung in Caltech, Stanford und Berkeley und bin jetzt verantwortlich für ein
Startup , das Überwachungskameras für den Außenbereich herstellt. Computer Vision war ein großer Teil meiner Arbeit. Aber nur wenige Monate vor der Ankündigung sagte ich zuversichtlich zu jemandem, dass die Implementierung des Systems noch einige Jahre dauern würde. Und ich war nicht der einzige, der das glaubte - nur zwei Monate zuvor hatte
Planet Money eine Episode zu diesem Thema.
Als Amazon uns alle plötzlich mit so etwas überraschte, war die erste Frage offensichtlich: Wie wird es funktionieren? In einem Werbevideo stürzen sie sich auf große Worte wie Computer Vision, Deep Learning und Sensorsynthese. Aber was bedeutet das alles und wie kann man all diese Dinge wirklich kombinieren?
Ich werde mit der Enthüllung von Intrigen beginnen: Tatsächlich weiß ich das nicht. Ich habe mich nicht an der Entwicklung des Projekts beteiligt, und das Unternehmen hat nicht darüber gesprochen, wie es funktioniert. Aufgrund meiner Erfahrung und meiner Arbeit auf dem Gebiet der Computer Vision kann ich jedoch einige Vermutungen anstellen, die auf Wissen beruhen. Im Kern sieht Amazon Go wie KI-Entwicklung, Computer Vision und automatische Entscheidungsfindung wie AlphaGo und plötzliche Durchbrüche im Bereich der Robomobile aus. Die Durchbrüche in Statistik und Parallel Computing in den letzten fünf Jahren haben einen neuen Meilenstein auf dem Gebiet der Maschinenintelligenz gesetzt.
Aus diesem Grund finden in Wellen die neuesten Entwicklungen statt. Wenn Sie also mit dem Robomobile zum Laden fahren, um eine Packung Milch zu kaufen, zerstören Sie die Interaktion zwischen Menschen viel früher, als sich irgendjemand hätte vorstellen können.
Einkaufswagen
Um besser zu verstehen, wie Amazon Go-Ökosysteme funktionieren, müssen Sie eine Aufgabe skizzieren. Bei einem Lebensmittelgeschäft muss Amazon eine Frage beantworten: Was nimmt ein Besucher mit, wenn er das Geschäft verlässt? Mit anderen Worten, was ist in seinem Einkaufswagen?
Tatsächlich gibt es nur zwei Möglichkeiten, die Frage zu beantworten. Amazon muss entweder in den Warenkorb schauen, wenn der Benutzer ihn verlässt, oder nachverfolgen, was genau in diesen Warenkorb fällt. Die erste Methode nennen wir die Kasse, und so funktionieren die meisten modernen Geschäfte (überprüfen Sie alles, was der Benutzer mitnimmt). Ein anderer Ansatz nenne ich ein Bar-Konto. Da der Barkeeper alle Kundenbestellungen überwacht, kann das Unternehmen herausfinden, was sich im Warenkorb befindet, und verfolgen, was genau in den Warenkorb gelangt oder diesen verlässt. Im Idealfall wissen Sie genau, was sich dort befindet, und müssen die Benutzer nicht zwingen, ihre Einkäufe zu demonstrieren.
Natürlich ist Amazon Go kein gewöhnliches Lebensmittelgeschäft. Er muss nicht nur herausfinden, was sich in den einzelnen Körben befindet, sondern auch verstehen, wer dafür Geld verlangen muss. Um in einer Welt ohne Kassierer Gebühren zu erheben, müssen Sie den Benutzer identifizieren.
Wie wird Amazon damit umgehen? Wie wird das Unternehmen die Leute im Geschäft verfolgen und was sie aus den Regalen nehmen oder ohne Fehler zurückkehren? Alles beginnt mit Kameras. Sie sind unauffällig und billig und können überall aufgestellt werden. Amazon sprach darüber, indem es im Video Computer Vision erwähnte. Aber wie kann man verarbeiten, was Kameras sehen, und damit Käufer und ihre Aktionen verfolgen? Hier kommt der zweite große Begriff, tiefes Lernen.
Neuronen
Die Idee, Kameras beim Aufladen zu verwenden, wurde vor langer Zeit geboren, blieb aber bis vor kurzem nur eine Idee.
Bisher haben Bildverarbeitungsalgorithmen die wahrnehmbaren Eigenschaften des Bildes ermittelt und in Objekten gesammelt. Es war möglich, Linien, Winkel und Flächen aus dem Bild zu extrahieren. Vier Linien und vier Ecken in einer bestimmten Kombination ergeben ein Quadrat (oder Rechteck). Dieselben Prinzipien können verwendet werden, um komplexere Objekte mithilfe komplexerer Eigenschaften und Mengen zu identifizieren und zu verfolgen. Die Komplexität von Bildalgorithmen hängt von der Komplexität der Eigenschaften und Techniken ab, die zum Erkennen bestimmter Sätze von Eigenschaften von Objekten verwendet werden.
Der interessanteste Fortschritt in der Bildverarbeitung und im maschinellen Lernen hing lange Zeit von der Erfindung immer komplexerer Eigenschaften durch Forscher ab. Anstelle von Linien und Winkeln kamen Wavelets und Gaußsche Unschärfe sowie Eigenschaften mit esoterischen Namen wie SIFT und SURF. Für einige Zeit hieß die beste Eigenschaft zur Bestimmung einer Person in einem Bild HOG. Aber ziemlich schnell wurde klar, dass die sorgfältige Erstellung von Immobilien von Hand schnell an der Decke ihrer Fähigkeiten liegt.
Algorithmen, die auf der Erkennung bestimmter Eigenschaften basieren, konnten überraschend gut erkennen, was sie bereits gesehen hatten. Zeigen Sie dem Algorithmus das Verpackungsbild von sechs Dosen Cola, und er wird zum Weltexperten für die Erkennung von Packungen mit sechs Dosen Cola. Eine Verallgemeinerung dieser Algorithmen wurde jedoch nicht gegeben; Es war viel schwieriger für sie, Soda im Allgemeinen oder die weitere Welt der Getränke zu erkennen.
Erschwerend kam hinzu, dass diese Systeme unzuverlässig waren und es sehr schwierig war, sie zu verbessern. Die Korrektur von Fehlern erforderte eine sorgfältige manuelle Anpassung der Arbeitslogik, und nur Ärzte der Wissenschaft, die verstehen konnten, wie der Algorithmus funktionierte, konnten dies tun. Im Falle eines Geschäfts wäre es Ihnen wahrscheinlich egal, ob der Algorithmus eine Flasche Cola mit einer Flasche Pepsi verwechselt, aber Sie wären besorgt, wenn der Algorithmus eine Flasche Wein im Wert von 20 USD für eine Flasche Soda im Wert von 2 USD akzeptieren würde.
Die heutigen Deep-Learning-Möglichkeiten sind bewusst darauf ausgelegt, die manuelle Suche und Feinabstimmung von Bildfunktionen zu vermeiden. Anstatt zu versuchen, die charakteristischen Eigenschaften manuell zu finden, verwenden Sie große Datenmengen, um das neuronale Netzwerk zu trainieren. Anhand der Beispiele dessen, was es erkennen sollte, findet das neuronale Netzwerk Merkmale selbst. Neuronen auf niedriger Ebene lernen, einfache Dinge wie Linien zu erkennen, und ihre Ausgabe wird an die Neuronen weitergegeben, die diese Grundelemente zu komplexeren Dingen wie Formen in einer hierarchischen Architektur kombinieren.
Es ist nicht notwendig anzugeben, welche Merkmale von Neuronen erkannt werden sollen, während des Trainings erscheinen sie einfach von selbst. Neuronen bestimmen, für welche Muster es besser ist, eine Empfindlichkeit zu entwickeln. Wenn Sie versuchen, ein System zu erstellen, das Soda erkennt, zeigen Sie Zehntausende von Bildern von Soda an, und es geht von Linien und Kurven zu Formen und dann zu Kisten und Flaschen.
Unser Gehirn arbeitet ungefähr auf die gleiche Weise, und daher erfolgt die Fehlerkorrektur nach menschlichen Schemata. Auf den Beispielen. Wenn Ihr neuronales Netzwerk Wein und Soda verwechselt, müssen Sie es beheben, indem Sie ein paar tausend weitere oder andere Beispiele finden und es darauf trainieren. Sie selbst wird herausfinden, wie man Objekte unterscheidet.
Software zur Simulation der Arbeit von Neuronen gibt es seit mehreren Jahrzehnten, aber ihre Verwendung für Computer Vision ist seit langem im theoretischen Bereich geblieben. Um das Sehen von Tieren zu simulieren, sind Zehntausende von Neuronenschichten erforderlich, von denen jede Zehntausende von Neuronen enthält. Und mit jeder neuen Schicht wächst die Anzahl der Bindungen zwischen den Schichten exponentiell. Für den Betrieb solcher Netzwerke ist eine enorme Computerleistung und für das Training große Datenmengen erforderlich.
Um ein neuronales Netzwerk zu erstellen, das in angemessener Zeit funktioniert, muss seine Struktur angepasst werden, um die Anzahl der internen Verbindungen zu minimieren. Dann ist aber zu viel PS erforderlich.

Computergestützte Zusammenarbeit
Der nächste Durchbruch war die Verwendung der GPU als Desktop-Supercomputer. Die Simulation eines neuronalen Netzwerks erfordert die Erfassung von Eingabedaten und die Berechnung von Ausgabedaten für viele Neuronen - und dieser Prozess ist leicht zu parallelisieren. Die Stunden, die die leistungsstärksten CPUs in Anspruch nahmen, liefen im Durchschnitt der GPU in Minuten.
Paralleles Rechnen auf der GPU ermöglichte es den Forschern schließlich, die alte Entdeckung zu nutzen - die Strukturierung eines neuronalen Netzwerks zur Simulation des Sehens. Denken Sie daran, dass selbst ein einfaches Netzwerk von mehreren hunderttausend Neuronen Milliarden von Verbindungen haben kann. Sie müssen alle simuliert werden, es sei denn, es gibt eine Verknüpfung, damit diese Verbindungen funktionieren.
Glücklicherweise können Sie ein wenig schummeln, um sehende Netzwerke zu erstellen - wir haben erstaunliche Beispiele für neuronale Netzwerke, die für das Sehen optimiert sind, direkt in unseren Köpfen. Die Neurobiologie markiert seit Jahrzehnten den visuellen Kortex von Säugetieren, was als Inspiration diente. So wurde das
Convolutional Neural Network (SNS) geboren. In den letzten Jahren hat es sich zu einem der beliebtesten und leistungsstärksten Tools im Bereich Computer Vision entwickelt.
Faltung ist ein erstaunliches mathematisches Konzept, dessen einfache Erklärung meine Fähigkeiten sprengt. Eine der farbenfrohen, aber aus technischer Sicht absolut falschen Möglichkeiten, sich das vorzustellen, besteht darin, eine mathematische Funktion zu übernehmen und über eine andere zu verschieben und das Ergebnis zu beobachten.
In der SNA gibt es wie im visuellen Kortex Neuronen, die für bestimmte Eigenschaften (z. B. Nasen) empfindlich sind und über das Sichtfeld verteilt sind. Die Ausgabe dieser Neuronen ist so verbunden, als hätten wir das einzige nervensensitive Neuron genommen und sie über das gesamte Sichtfeld geführt. Das Ergebnis ist eine Ausgabe, die Standortinformationen im Bild der Nasen enthält. Dies ist natürlich nicht auf Nasen beschränkt - der Effekt wird verwendet, um räumliche Markierungen dafür zu erstellen, wo sich bestimmte Merkmale auf den Bildern befinden. Diese räumlichen Beziehungen werden den höheren Schichten des Netzwerks zugeführt und in diesen kombiniert, um Muster und Objekte zu erkennen.
Die SNA ist zu einer Offenbarung auf dem Gebiet der Computer Vision geworden. Sie sind äußerst nützlich für die allgemeine Objekterkennung: Sie trainieren die SNA, um nicht ein bestimmtes Auto oder eine bestimmte Person, sondern Autos oder Personen im Allgemeinen zu erkennen. Sie machten sogar einen der berühmten XKCD-Comics irrelevant.

Und aufgrund der räumlichen Natur ihrer Struktur eignen sie sich sehr gut für die Parallelisierung auf der GPU. Verschiedene Neuronen, die verschiedene Teile des Bildes beobachten, können völlig unabhängig voneinander simuliert werden. Plötzlich wurde es möglich, Menschen, Orte und Objekte mit beeindruckender Genauigkeit schnell und kostengünstig zu erkennen.
Die gleichzeitige Explosion der Popularität von Mobiltelefonen und des Netzwerks führte dazu, dass Hunderte Millionen Menschen online gingen und Milliarden von Bildern zu Diensten wie
Facebook und Google hochluden, um unabsichtlich riesige Sets für Trainingsalgorithmen zu erstellen.
Die jüngsten Entwicklungen gehen noch weiter. Forscher haben ein
wiederkehrendes neuronales Netzwerk (RNS) mit integriertem Speicher erstellt. Anstatt einfach Verbindungen zur nächsten Schicht zu übertragen, werden interne Verbindungen verwendet, um schreibgeschützten Speicher zu erstellen. Wenn Sie mit digitaler Logik vertraut sind, können Sie sich Trigger als Analogie vorstellen. Dies bedeutet, dass Sie Netzwerke mit einer einzigen visuellen Ebene trainieren können, die das Bild „betrachtet“ und alles, was sie sehen, in den Speicher überträgt, sodass das Netzwerk Aktionen im Video erkennen kann.
Und nach diesen Entwicklungen haben Sie plötzlich Algorithmen, die Personen, Objekte und Handlungen mit extrem hoher Genauigkeit erkennen können. Mit anderen Worten, Sie können Algorithmen zum Erkennen einer Person trainieren, wissen, wo sich das Produkt aus dem Geschäft auf dem Bild befindet, wenn es bewegt wird, und erkennen, wann die Person es aus dem Regal stellt oder aus dem Regal nimmt. Sie brauchen nur eine kleine GPU. Und wie praktisch es ist, dass eine der größten auf Anfrage verfügbaren GPU-Sammlungen Amazon gehört - es ist ihr äußerst leistungsfähiger und profitabler AWS-Cloud-Service.
Haben wir das Geheimnis von Amazon Go gelüftet, indem wir billige Kameras mit Gehirnalgorithmen und einer Armee von Computern kombiniert haben? Nicht wirklich, denn ein weiteres Problem muss gelöst werden. Der Blickwinkel der Kameras ist begrenzt. Wie kann ein Unternehmen sie in einem Geschäft abdecken? Was ist, wenn der Kunde zwischen Kamera und Regal steht?
Stellen Sie dazu sicher, dass alle Bereiche auf mehreren Kameras angezeigt werden. Dies wirft jedoch eine andere Frage auf: Wie können die Eingabedaten mehrerer Kameras zu einem kohärenten Bild des Geschehens kombiniert werden?
Nahrungsmittelsynthese
Dafür werden wir in den 1960er Jahren zurückkehren. Dann standen die NASA-Ingenieure vor einem großen Problem: Sie hatten viele verschiedene Navigationswerkzeuge, von Gyroskopen bis zur Verfolgung von Sternen, und sie mussten alle Messungen auf eine bestmögliche Schätzung des Standorts des Raumfahrzeugs reduzieren.
Amazon Go hatte ein ähnliches Problem. Damit diese ganze Idee funktioniert, müssen Beobachtungen von mehreren verschiedenen Kameras für verschiedene Zeiträume zu einer zusammenhängenden Information über den Einkaufswagen kombiniert werden. Der Haken ist, dass die Welt im Wesentlichen ein unbestimmter Ort ist, daher wurde beschlossen, diese Unsicherheit zu akzeptieren. Anstatt zu versuchen, alles mit maximaler Genauigkeit zu bestimmen, verwenden erfolgreiche Modelle einen probabilistischen Ansatz.
Bei der NASA gab es einen Algorithmus namens
Kalman Filter , mit dem die Fehler jedes Instruments und die Kombination der Messungen bei der bestmöglichen Schätzung berücksichtigt wurden. Der Kalman-Filter basiert auf der
Bayes-Formel .
Im Wesentlichen ist die Bayes-Formel eine mathematische Beziehung, die die Beobachtung eines Ereignisses und die Wahrscheinlichkeit seines Auftretens miteinander verbindet und Ihnen die Wahrscheinlichkeit gibt, dass das Ereignis tatsächlich eingetreten ist. Das Ergebnis ist wie folgt: Unsere Überzeugung, dass einer der wahrscheinlichen Zustände wahr ist (a posteriori Wahrscheinlichkeit), entspricht der Stärke unseres Vertrauens in diesen Zustand vor der Beobachtung (a priori Wahrscheinlichkeit), multipliziert mit der Unterstützung dieses Zustands mit Daten, die von Sensoren erhalten wurden.
Zurück zum Beispiel Wein und Soda: Ein neuronales Netzwerk meldet beispielsweise, dass der Kunde den Wein genommen hat. Die Bayes-Formel sagt uns, dass die Wahrscheinlichkeit, dass er es wirklich genommen hat, gleich der Wahrscheinlichkeit ist, dass er den Wein nimmt, multipliziert mit der Wahrscheinlichkeit, dass die Kamera die Tatsache, dass er den Wein nimmt, korrekt meldet.
Amazon hat zwei große Vorteile bei der Verwendung eines Bayes'schen probabilistischen Schemas. Erstens kann das Unternehmen a priori Wahrscheinlichkeiten berücksichtigen, da es die Geschichte früherer Einkäufe vieler Kunden kennt. Das heißt, wenn ein Amazon Go-Kunde jeden Dienstag Kaffee und einen Cupcake kauft, kann das Geschäft die Wahrscheinlichkeit dieser Einkäufe bereits erhöhen, bevor er in die entsprechenden Regale geht. Dies ist eine natürliche Möglichkeit, eine große Menge von Benutzerdaten zu verwenden, über die das Unternehmen bereits verfügt.
Der zweite große Vorteil besteht darin, dass Sie durch die Übersetzung aller Daten in eine Wahrscheinlichkeitssprache mehrere Messungen von mehreren Sensoren über mehrere Zeiträume addieren können. Unter der Annahme der Unabhängigkeit von Beobachtungen können wir die Wahrscheinlichkeiten einfach multiplizieren. Auch die hintere Wahrscheinlichkeit eines Ereignisses kann a priori für ein anderes verwendet werden.

Lassen Sie beispielsweise mehrere Kameras ein Regal sehen. Einige stehen näher, andere weiter. Mehrere Kameras glauben, dass der Kunde billiges Soda aus dem Regal genommen hat, eine glaubt, dass er ein teures Produkt genommen hat, man hat nichts gesehen und die letztere glaubt, dass er nur seine Nase gepflückt hat. Und was jetzt?
Amazon könnte für diesen Fall eine komplexe Logik entwickeln, aus der hervorgeht, welcher Kamera vertraut werden kann. War es näher und besser war die Sicht auf die Kamera, die glaubte, dass der Kunde teures Soda genommen hatte? Wurde der Käufer von einer Kamera blockiert, die ein Picking in der Nase sah? Aber Sie brauchen nur Glaubwürdigkeit. Basierend auf der Anzahl der Fehler jeder Kamera, abhängig von ihrem Standort und ihrer Übersicht, gibt die Bayes-Formel an, wie alle Eingabedaten kombiniert werden müssen, um zu verstehen, wie wahrscheinlich es ist, dass der Benutzer billiges Soda, teuer oder nichts genommen hat.
Seit Sie in die wunderbare Welt der Wahrscheinlichkeiten eingetreten sind, können Sie mit der Bayes-Formel Eingaben mit völlig unterschiedlichen Sensortypen kombinieren.
Aus diesem Grund hat Amazon
Patentanmeldungen für die Verwendung von RFID-Sensoren zur automatischen Bezahlung von Einkäufen
eingereicht . Passive RFID-Sensoren werden auf der Ware platziert und dann von Scannern im Geschäft gelesen. Diese Technologie ist ein ausgezeichneter Kandidat für die Erstellung eines automatisierten Geschäfts, da sie heute billig und weit verbreitet ist. Und da es Remote-Scannen ermöglicht, kann es anstelle einer Kasse verwendet werden. Platzieren Sie den Scanner dort, wo Kunden hingehen, und Sie werden sehen, was sich in ihrem Warenkorb befindet, ohne die Waren holen und der Kasse präsentieren zu müssen. Als ich mir ein Werbevideo ansah, bemerkte ich, dass alle Waren vorverpackt waren - Konserven, Päckchen Chips und Plastikbehälter mit Lebensmitteln. Diese Produkte haben nicht nur mehr Gewinn, sondern ermöglichen es Ihnen auch, jeden Artikel zu markieren.
Die alleinige Verwendung von RFID hat jedoch auch Nachteile. . , , , , , ? , RFID . , , , .
. Amazon . : «» ( ).
: RFID Amazon , - .
. , . , , . .
Amazon …
, , Amazon , , .
Wenn Sie den Laden betreten, wischen Sie mit Ihrem Smartphone über den Scanner. Kameragesteuerte Algorithmen mit Bilderkennung und ausführlichem Training verfolgen Sie beim Einkaufen. Jedes Mal, wenn Sie einen Gegenstand nehmen oder zurückgeben, erkennen Kameras diese Aktion. Beobachtungen von mehreren Kameras werden nach der Bayes'schen Formel kombiniert und geben Auskunft darüber, was Sie aufgenommen haben. Das System überwacht alle möglichen Kombinationen der von Ihnen übernommenen Waren. Jedes Mal, wenn Sie durch eine Tür oder einen Rahmen gehen, werden Sie nach RFID-Tags durchsucht, wodurch das System die Liste der Kombinationen reduzieren kann. Wenn Sie das Geschäft verlassen, überprüft das System die Liste der Ihrer Meinung nach vorhandenen Daten, wählt die wahrscheinlichste Schätzung aus und zieht den erforderlichen Betrag von Ihrem Konto ab.All dies wurde durch die Entwicklung von Deep Learning, Cloud Computing und probabilistischen Bewertungen möglich. Amazon Go konnte noch vor fünf Jahren nicht durchgeführt werden, aber heute sind alle Komponenten bereits verfügbar. Die gleiche Kombination steht derzeit im Mittelpunkt der Entwicklung von Robomobilen, KI, Textübersetzungssystemen und vielem mehr. Heute ist es sehr interessant, im Bereich der Computerausbildung zu arbeiten. Und obwohl ich sehr interessiert bin zu wissen, was uns sonst noch erwartet, hoffe ich, bald einen Besuch im Geschäft zu genießen, wo Sie einfach die Waren abholen und gehen können.