Comment Amazon Go peut imposer des achats Just-Come

image

De nos jours, les communiqués de presse des entreprises technologiques nous surprennent peu. Les détails des innovations s'écoulent quelques mois plus tôt ou ne sont pas très impressionnants. Mais récemment, nous avons rencontré plusieurs vraies surprises. Quelques mois avant la sortie de Switch, Nintendo a décidé que l'avenir des consoles était leur passé et a annoncé la NES Classic . Et la victoire d' AlphaGo de Google sur le champion a découragé les experts qui pensaient que de tels résultats pouvaient être obtenus au plus tôt dix ans plus tard.

L' annonce de décembre du magasin de vente au détail Amazon Go, où vous pouvez simplement saisir des produits dans les étagères et sortir, peut être comparée au choc de l'actualité AlphaGo. La méthode de "ramasser et partir" pendant un certain temps était connue comme "l'avenir des ventes au détail" et n'était "qu'à quelques années" de notre époque. Je travaille dans le département de recherche en robotique à Caltech, Stanford et Berkeley depuis plus de dix ans, et maintenant je suis en charge d'une startup qui fabrique des caméras de sécurité pour une utilisation en extérieur. La vision par ordinateur était une grande partie de mon travail. Mais quelques mois seulement avant l'annonce, j'ai dit en toute confiance à quelqu'un qu'il faudrait encore plusieurs années pour mettre en œuvre le système «a pris et est parti». Et je n'étais pas le seul à le penser - juste deux mois avant cela, Planet Money avait un épisode sur ce sujet.

Donc, quand Amazon nous a soudainement surpris en créant une telle chose, la première question était évidente: comment cela fonctionnera-t-il? Dans une vidéo promotionnelle, ils se précipitent avec de grands mots comme la vision par ordinateur, l'apprentissage en profondeur et la synthèse de capteurs. Mais qu'est-ce que tout cela signifie et comment vraiment combiner toutes ces choses?

Je vais commencer par la révélation de l'intrigue: en fait, je ne le sais pas. Je n'ai pas participé au développement du projet et la société n'a pas parlé de son fonctionnement. Mais, compte tenu de mon expérience et de mon travail dans le domaine de la vision par ordinateur, je peux faire quelques suppositions appuyées par des connaissances. À la base, Amazon Go ressemble au développement de l'IA, à la vision par ordinateur et à la prise de décision automatique, comme AlphaGo, et à des percées soudaines dans le domaine des robots. Les percées dans les statistiques et le calcul parallèle au cours des cinq dernières années ont créé une nouvelle étape dans le domaine de l'intelligence artificielle.

C'est pourquoi les développements de pointe se produisent par vagues, et donc, en permettant au robot de vous emmener au magasin pour acheter un paquet de lait, vous détruisez l'interaction entre les gens beaucoup plus tôt que quiconque aurait pu l'imaginer.



Panier d'achat


Pour mieux comprendre le fonctionnement des écosystèmes Amazon Go, vous devez définir une tâche. Dans le cas d'une épicerie, Amazon doit répondre à une question: qu'est-ce qu'un visiteur emporte avec lui lorsqu'il quitte le magasin? En d'autres termes, que contient son panier d'achat?

En fait, il n'y a que deux façons de répondre à la question. Amazon doit soit regarder dans le panier lorsque l'utilisateur quitte, soit garder une trace de ce qui tombe exactement dans ce panier. La première méthode que nous appelons la ligne de paiement, et c'est ainsi que la plupart des magasins modernes fonctionnent (vérifiez tout ce que l'utilisateur emporte avec lui). Une autre approche que j'appelle un compte de bar. Comme le barman surveille toutes les commandes des clients, l'entreprise peut découvrir ce qu'il y a dans le panier, suivre ce qui entre exactement dans le panier ou le quitte. Idéalement, vous saurez exactement ce qui s'y trouve et vous n'aurez pas à forcer les utilisateurs à démontrer leurs achats.

Bien sûr, Amazon Go n'est pas une épicerie ordinaire. Il doit non seulement savoir ce qu'il y a dans chaque panier particulier, mais aussi savoir qui charger de l'argent pour cela. Pour facturer dans un monde sans caissiers, vous devez identifier l'utilisateur.

Comment Amazon va-t-il gérer cela? Comment l'entreprise suivra-t-elle les personnes dans le magasin et ce qu'elles retirent des rayons ou retourne sans faire d'erreurs? Tout commence par les caméras. Ils sont discrets et bon marché, et ils peuvent être installés partout. Amazon en a parlé en mentionnant la vision par ordinateur dans la vidéo. Mais comment traiter ce que les caméras voient et l'utiliser pour suivre les acheteurs et leurs actions? Voici le deuxième grand terme, l'apprentissage en profondeur.

Les neurones


L'idée d'utiliser des caméras dans le processus de charge est née il y a longtemps, mais jusqu'à récemment, elle n'était qu'une idée.

Jusqu'à présent, les algorithmes de vision ont travaillé à trouver les propriétés perceptibles de l'image et à les collecter en objets. Il a été possible d'extraire des lignes, des angles et des visages de l'image. Quatre lignes et quatre coins dans une certaine combinaison vous donnent un carré (ou rectangle). Les mêmes principes peuvent être utilisés pour identifier et suivre des objets plus complexes à l'aide de propriétés et d'ensembles plus complexes. La complexité des algorithmes de vision dépend de la complexité des propriétés et des techniques utilisées pour reconnaître certains ensembles de propriétés d'objets.

Pendant longtemps, les progrès les plus intéressants en vision par ordinateur et en apprentissage automatique ont dépendu de l'invention de propriétés de plus en plus complexes par les chercheurs. Au lieu de lignes et d'angles, on trouve des ondelettes et un flou gaussien, et des propriétés avec des noms ésotériques tels que SIFT et SURF. Pendant un certain temps, la meilleure propriété pour déterminer une personne dans une image s'appelait HOG. Mais assez rapidement, il est devenu clair que la création minutieuse des propriétés à la main repose rapidement sur le plafond de leurs capacités.

Les algorithmes basés sur la reconnaissance de certaines propriétés ont étonnamment bien fonctionné pour reconnaître ce qu'ils avaient déjà vu. Montrez à l'algorithme une image d'un pack de six canettes de cola, et il deviendra un expert mondial dans la reconnaissance des packs de six canettes de cola. Mais une généralisation de ces algorithmes n'a pas été donnée; il leur était beaucoup plus difficile de reconnaître le soda en général ou le monde plus large des boissons.

Pour aggraver les choses, ces systèmes n'étaient pas fiables et il était très difficile de les améliorer. La correction des erreurs nécessitait un ajustement manuel assidu de la logique du travail, et seuls les docteurs en sciences qui pouvaient comprendre le fonctionnement de l'algorithme pouvaient le faire. Dans le cas d'un magasin, vous ne vous soucieriez probablement pas si l'algorithme mélangeait une bouteille de cola avec une bouteille de Pepsi, mais vous seriez inquiet si l'algorithme acceptait une bouteille de vin d'une valeur de 20 $ pour une bouteille de soda d'une valeur de 2 $.

Les possibilités d'apprentissage en profondeur d'aujourd'hui sont délibérément conçues pour se débarrasser de la recherche manuelle et du réglage fin des fonctionnalités d'image. Au lieu d'essayer de trouver manuellement les propriétés caractéristiques, vous utilisez d'énormes quantités de données pour entraîner le réseau neuronal. Par les exemples de ce qu'il devrait reconnaître, le réseau neuronal trouve lui-même des caractéristiques. Les neurones de bas niveau apprennent à reconnaître des choses simples comme les lignes, et leur sortie est transmise aux neurones qui combinent ces primitives en des choses plus complexes, telles que des formes, dans une architecture hiérarchique.

Il n'est pas nécessaire d'indiquer quelles caractéristiques doivent être reconnues par les neurones; pendant l'entraînement, elles apparaissent simplement par elles-mêmes. Les neurones déterminent à quels modèles il est préférable de développer la sensibilité. Si vous essayez de créer un système qui reconnaît le soda, vous lui montrez des dizaines de milliers d'images de soda, et cela passera des lignes et des courbes aux formes, puis aux boîtes et bouteilles.

Notre cerveau fonctionne à peu près de la même manière et, par conséquent, la correction des erreurs a lieu selon les schémas humains. Sur les exemples. Si votre réseau de neurones confond le vin et le soda, vous devez le réparer en trouvant quelques milliers d'autres ou d'autres exemples, et le former sur eux. Elle découvrira elle-même comment distinguer les objets.

Un logiciel de simulation du travail des neurones existe depuis plusieurs décennies, mais son utilisation pour la vision par ordinateur est restée longtemps dans le domaine théorique. Pour simuler la vision des animaux, des dizaines à des centaines de couches de neurones sont nécessaires, chacune contenant des dizaines de milliers de neurones. Et à chaque nouvelle couche, le nombre de liaisons entre les couches augmente exponentiellement. Pour le fonctionnement de ces réseaux nécessite une puissance informatique énorme, et pour la formation - de grandes quantités de données.

Pour créer un réseau neuronal qui fonctionne dans un laps de temps raisonnable, il est nécessaire d'affiner sa structure pour minimiser le nombre de connexions internes. Mais alors, trop de puissance est requise.



Coopération informatique


La percée suivante a été l'utilisation du GPU comme supercalculateurs de bureau. La simulation d'un réseau neuronal nécessite la collecte de données d'entrée et le calcul de données de sortie pour de nombreux neurones - et ce processus est facile à paralléliser. Les heures qui ont pris sur les processeurs les plus puissants ont commencé à fonctionner en quelques minutes sur la main moyenne du GPU.

Le calcul parallèle sur le GPU a finalement permis aux chercheurs de profiter de l'ancienne découverte - structurer un réseau neuronal pour simuler la vision. Rappelons que même un simple réseau de plusieurs centaines de milliers de neurones peut avoir des milliards de connexions. Ils doivent tous être simulés, sauf s'il existe un raccourci pour que ces composés fonctionnent.

Heureusement, vous pouvez tricher un peu pour créer des réseaux de visualisation - nous avons des exemples étonnants de réseaux de neurones optimisés pour la vision directement dans nos têtes. La neurobiologie marque le cortex visuel des mammifères depuis des décennies, ce qui a servi d'inspiration. Le réseau neuronal convolutif (SNS) est donc né. Au cours des dernières années, il est devenu l'un des outils les plus populaires et les plus puissants dans le domaine de la vision par ordinateur.

La convolution est un concept mathématique incroyable, dont une explication simple dépasse mes capacités. L'une des façons imaginatives colorées, mais d'un point de vue technique absolument erroné, est de prendre une fonction mathématique et de la déplacer sur une autre, en observant le résultat.

Dans le SNA, comme dans le cortex visuel, il y a des neurones qui sont sensibles à certaines propriétés (disons, les nez), et ils sont répartis dans le champ de vision. La sortie de ces neurones est connectée comme si nous prenions le seul neurone sensible aux nerfs et les guidions à travers tout le champ de vision. Le résultat est une sortie contenant des informations de localisation dans l'image du nez. Bien sûr, cela ne se limite pas au nez - l'effet est utilisé pour créer des marquages ​​spatiaux de l'emplacement de certaines caractéristiques sur les images. Ces relations spatiales sont transmises aux couches supérieures du réseau et y sont combinées pour reconnaître les motifs et les objets.

Le SCN est devenu une révélation dans le domaine de la vision par ordinateur. Ils sont extrêmement utiles pour la reconnaissance généralisée d'objets: vous entraînez le SCN à reconnaître non pas une voiture ou une personne en particulier, mais des voitures ou des personnes en général. Ils ont même rendu inutile l'une des célèbres bandes dessinées XKCD.

image

Et en raison de la nature spatiale de leur structure, ils se prêtent très bien à la parallélisation sur le GPU. Différents neurones qui observent différentes parties de l'image peuvent être simulés de manière totalement indépendante. Du coup, il est devenu possible de reconnaître rapidement et à peu de frais des personnes, des lieux et des objets avec une précision impressionnante.

L'explosion simultanée de la popularité des téléphones mobiles et du réseau a signifié que des centaines de millions de personnes se sont connectées en ligne et ont téléchargé des milliards d'images vers des services comme Facebook et Google, créant involontairement d'énormes ensembles d'algorithmes de formation.

Les développements récents de pointe vont encore plus loin. Les chercheurs ont créé un réseau neuronal récurrent (RNS) avec mémoire intégrée. Au lieu de simplement transférer des connexions vers la couche suivante, il utilise des connexions internes pour créer une mémoire en lecture seule. Si vous connaissez la logique numérique, vous pouvez imaginer les déclencheurs comme une analogie. Cela signifie que vous pouvez former des réseaux avec une seule couche visuelle qui «regarde» l'image et transfère tout ce qu'ils voient en mémoire, afin que le réseau puisse reconnaître les actions sur la vidéo.

Et après ces développements, vous disposez soudain d'algorithmes qui peuvent reconnaître des personnes, des objets et des actions avec une précision extrêmement élevée. En d'autres termes, vous pouvez former des algorithmes pour reconnaître une personne, savoir où le produit du magasin se trouve sur l'image lorsqu'elle est déplacée et reconnaître quand la personne la met ou la retire de l'étagère. Vous n'avez besoin que d'un petit GPU. Et à quel point il est pratique qu'une des plus grandes collections de GPU disponibles sur demande appartient à Amazon - c'est leur service cloud AWS extrêmement puissant et rentable.

Avons-nous percé le secret d'Amazon Go en combinant des caméras bon marché avec des algorithmes cérébraux et une armée d'ordinateurs? Pas vraiment, car un problème supplémentaire doit être résolu. L'angle de vue des caméras est limité - alors comment une entreprise peut-elle les couvrir partout dans un magasin? Que faire si le client se trouve entre la caméra et l'étagère?

Pour ce faire, assurez-vous que n'importe quelle zone est affichée sur plusieurs caméras. Mais cela soulève une autre question - comment combiner les données d'entrée de plusieurs caméras en une image cohérente de ce qui se passe?

Synthèse alimentaire


Pour cela nous reviendrons dans les années 1960. Ensuite, les ingénieurs de la NASA ont été confrontés à un gros problème - ils avaient de nombreux outils de navigation différents, des gyroscopes au suivi des étoiles, et ils devaient réduire toutes les mesures à une meilleure estimation de l'emplacement de l'engin spatial.

Amazon Go a eu un problème similaire. Pour que cette idée fonctionne, il est nécessaire de combiner les observations de plusieurs caméras différentes pour différentes périodes en une seule information cohérente sur le panier. Le hic, c'est que le monde est essentiellement un endroit indéfini, donc la décision a été d'accepter cette incertitude. Au lieu d'essayer de tout déterminer avec une précision maximale, les modèles réussis utilisent une approche probabiliste.

À la NASA, il disposait d'un algorithme appelé filtre de Kalman , qu'ils utilisaient pour prendre en compte les erreurs de chaque instrument et la combinaison de mesures dans la meilleure estimation possible. Le filtre de Kalman est basé sur la formule de Bayes .

En substance, la formule de Bayes est une relation mathématique qui relie l'observation d'un événement et la probabilité de son occurrence, et vous donne la probabilité que l'événement se soit réellement produit. Le résultat est le suivant: notre conviction que l'un des états probables est vrai (probabilité a posteriori) est égale à la force de notre foi en cet état avant observation (probabilité a priori), multipliée par le soutien de cet état avec des données obtenues à partir de capteurs.

Revenons à l'exemple du vin et du soda: par exemple, un réseau de neurones rapporte que le client a pris le vin. La formule de Bayes nous indique que la probabilité qu'il l'ait réellement prise est égale à la probabilité qu'il prenne le vin, multipliée par la probabilité que la caméra signale correctement le fait de prendre le vin.

Amazon a deux grands avantages lors de l'utilisation d'un schéma probabiliste basé sur la bayésienne. Premièrement, l'entreprise peut considérer les probabilités a priori, car elle connaît l'historique des achats antérieurs de nombreux clients. Cela signifie que si un client Amazon Go achète du café et un cupcake tous les mardis, alors même avant de se rendre dans les rayons appropriés, le magasin peut déjà augmenter la probabilité de ces achats. C'est un moyen naturel d'utiliser une énorme quantité de données utilisateur que l'entreprise possède déjà.

Le deuxième gros avantage est que tout traduire dans un langage de probabilité vous permet d'ajouter plusieurs mesures à partir de plusieurs capteurs sur plusieurs périodes. En supposant l'indépendance des observations, vous pouvez simplement multiplier les probabilités. De même, la probabilité postérieure d'un événement peut être utilisée a priori pour un autre.



Par exemple, laissez plusieurs caméras voir une étagère. Certains se rapprochent, certains plus loin. Plusieurs caméras pensent que le client a pris de la soude peu coûteuse sur l'étagère, on pense qu'il a pris un produit cher, on n'a rien vu, et ce dernier croit qu'il vient de se cueillir le nez. Et maintenant quoi?

Amazon pourrait proposer une logique complexe pour ce cas, à partir de laquelle il serait possible de faire confiance à quel appareil photo. Était-ce plus proche et meilleur était la vue de la caméra, qui croyait que le client avait pris du soda cher? L'acheteur a-t-il été bloqué par une caméra qui a vu une piqûre dans le nez? Mais vous n'avez besoin que de crédibilité. En fonction du nombre d'erreurs de chaque caméra, selon son emplacement et sa vue d'ensemble, la formule Bayes nous indique comment combiner toutes les données d'entrée afin de comprendre la probabilité que l'utilisateur prenne du soda bon marché, cher ou ne prenne rien.

En fait, depuis que vous êtes entré dans le monde merveilleux des probabilités, la formule de Bayes vous permet de combiner l'entrée avec des types de capteurs complètement différents.

Par conséquent, Amazon a déposé des demandes de brevet pour l'utilisation de capteurs RFID pour payer automatiquement les achats. Des capteurs RFID passifs sont placés sur les marchandises, puis lus par des scanners situés dans le magasin. Cette technologie est un excellent candidat pour créer un magasin automatisé, car elle est bon marché et répandue aujourd'hui. Et comme il permet la numérisation à distance, il peut être utilisé à la place d'un caissier. Placez le scanner où les clients vont et vous verrez ce qu'il y a dans leur panier, sans avoir à récupérer les marchandises et à les présenter à la caisse. En regardant une vidéo promotionnelle, j'ai remarqué que toutes les marchandises étaient préemballées - des aliments en conserve, des paquets de chips et des contenants en plastique avec de la nourriture. Ces produits ont non seulement plus de bénéfices, ils vous permettent également de placer une marque sur chaque article.

Mais l'utilisation de la RFID seule a ses inconvénients. . , , , , , ? , RFID . , , , .

. Amazon . : «» ( ).

: RFID Amazon , - .

. , . , , . .

Amazon …


, , Amazon , , .

, . , . , , . , , . . , , RFID , . , , , , , , .

, . Amazon Go , . , , . . , , , .

Source: https://habr.com/ru/post/fr403797/


All Articles