Comprendre le modĂšle d'apprentissage automatique qui brise CAPTCHA
Bonjour à tous! Ce mois-ci, OTUS recrute un nouveau groupe sur le cours Machine Learning . Selon la tradition établie, à la veille du début du cours, nous partageons avec vous la traduction de matériel intéressant sur le sujet.
La vision par ordinateur est l'un des sujets les plus pertinents et les plus recherchĂ©s de l'IA [1], cependant, les mĂ©thodes actuelles de rĂ©solution de problĂšmes utilisant des rĂ©seaux de neurones convolutifs sont sĂ©rieusement critiquĂ©es en raison du fait que de tels rĂ©seaux sont facilement trompĂ©s. Pour ne pas ĂȘtre infondĂ©, je vais vous expliquer plusieurs raisons: les rĂ©seaux de ce type donnent un rĂ©sultat incorrect avec une grande confiance pour les images naturelles qui ne contiennent pas de signaux statistiques [2], sur lesquels les rĂ©seaux de neurones convolutionnels s'appuient, pour les images qui Ă©taient auparavant correctement classĂ©es, mais dans lequel un pixel [3] ou des images avec des objets physiques qui ont Ă©tĂ© ajoutĂ©s Ă la scĂšne mais n'ont pas eu Ă changer le rĂ©sultat de la classification [4] a changĂ©. Le fait est que si nous voulons crĂ©er des machines vraiment intelligentes,il nous semble raisonnable d'investir dans l'Ă©tude de nouvelles idĂ©es.Lâune de ces nouvelles idĂ©es est lâapplication par Vicarious du rĂ©seau cortical rĂ©cursif (RCN), qui sâinspire des neurosciences. Ce modĂšle prĂ©tendait ĂȘtre extrĂȘmement efficace pour briser le captcha de texte, provoquant ainsi beaucoup de discussions autour de lui . J'ai donc dĂ©cidĂ© d'Ă©crire plusieurs articles, chacun expliquant un certain aspect de ce modĂšle. Dans cet article, nous parlerons de sa structure et de la façon dont la gĂ©nĂ©ration d'images prĂ©sentĂ©es dans les matĂ©riaux de l'article principal sur RCN [5] est gĂ©nĂ©rĂ©e.Cet article suppose que vous ĂȘtes dĂ©jĂ familier avec les rĂ©seaux de neurones convolutionnels, je vais donc en tirer de nombreuses analogies.Pour se prĂ©parer Ă la connaissance des RCN, vous devez comprendre que les RCN sont basĂ©s sur l'idĂ©e de sĂ©parer la forme (esquisse de l'objet) de l'apparence (sa texture) et qu'il s'agit d'un modĂšle gĂ©nĂ©ratif, et non discriminant, afin que nous puissions gĂ©nĂ©rer des images en l'utilisant, comme dans un gĂ©nĂ©rateur rĂ©seaux antagonistes. De plus, une structure hiĂ©rarchique parallĂšle est utilisĂ©e, similaire Ă l'architecture des rĂ©seaux de neurones convolutionnels, qui commence par l'Ă©tape de dĂ©termination de la forme de l'objet cible dans les couches infĂ©rieures, puis son apparence est ajoutĂ©e sur la couche supĂ©rieure. Contrairement aux rĂ©seaux de neurones convolutifs, le modĂšle que nous envisageons repose sur une riche base thĂ©orique de modĂšles graphiques, au lieu de sommes pondĂ©rĂ©es et de descente de gradient. Examinons maintenant les caractĂ©ristiques de la structure RCN.Couches d'entitĂ©s
Le premier type de couche dans RCN est appelĂ© la couche d'entitĂ©s. Nous considĂ©rerons le modĂšle progressivement, supposons donc pour l'instant que toute la hiĂ©rarchie du modĂšle se compose uniquement de couches de ce type empilĂ©es les unes sur les autres. Nous passerons de concepts abstraits de haut niveau Ă des fonctionnalitĂ©s plus spĂ©cifiques des couches infĂ©rieures, comme le montre la figure 1 . Une couche de ce type se compose de plusieurs nĆuds situĂ©s dans un espace bidimensionnel, de la mĂȘme maniĂšre que les cartes caractĂ©ristiques des rĂ©seaux de neurones convolutifs.
Figure 1 : plusieurs couches d'entitĂ©s situĂ©es l'une au-dessus de l'autre avec des nĆuds dans un espace Ă deux dimensions. La transition de la quatriĂšme Ă la premiĂšre couche signifie la transition du gĂ©nĂ©ral au particulier.Chaque nĆud se compose de plusieurs canaux, chacun reprĂ©sentant une caractĂ©ristique distincte. Les canaux sont des variables binaires qui prennent la valeur True ou False, indiquant si un objet correspondant Ă ce canal existe dans l'image gĂ©nĂ©rĂ©e finale dans les coordonnĂ©es (x, y) du nĆud. Ă tous les niveaux, les nĆuds ont le mĂȘme type de canaux.Par exemple, prenons une couche intermĂ©diaire et parlons de ses canaux et des couches ci-dessus pour simplifier l'explication. La liste des canaux sur cette couche sera une hyperbole, un cercle et une parabole. Sur un certain parcours lors de la gĂ©nĂ©ration d'image, les calculs des couches sus-jacentes ont nĂ©cessitĂ© un cercle dans la coordonnĂ©e (1,1). Ainsi, le nĆud (1, 1) aura un canal correspondant Ă l'objet «cercle» dans la valeur True. Cela affectera directement certains nĆuds de la couche infĂ©rieure, c'est-Ă -dire que les entitĂ©s de niveau infĂ©rieur associĂ©es au cercle dans le voisinage (1,1) seront dĂ©finies sur True. Ces objets de niveau infĂ©rieur peuvent ĂȘtre, par exemple, quatre arcs d'orientations diffĂ©rentes. Lorsque les fonctionnalitĂ©s de la couche infĂ©rieure sont activĂ©es, elles activent les canaux sur les couches encore plus bas jusqu'Ă ce que la derniĂšre couche soit atteinte,gĂ©nĂ©ration d'images. La visualisation de l'activation est indiquĂ©e dansGraphique 2 .Vous pouvez demander, comment deviendra-t-il clair que la reprĂ©sentation d'un cercle est de 4 arcs? Et comment RCN sait-elle qu'elle a besoin d'un canal pour reprĂ©senter le cercle? Des canaux et leurs liaisons avec d'autres couches seront formĂ©s au stade de la formation de la MRC.
Figure 2: Flux d'informations dans les couches d'entitĂ©s. Les nĆuds de signes sont des capsules contenant des disques reprĂ©sentant des canaux. Certaines des couches supĂ©rieures et infĂ©rieures ont Ă©tĂ© prĂ©sentĂ©es sous la forme d'un parallĂ©lĂ©pipĂšde Ă des fins de simplification, cependant, en rĂ©alitĂ©, elles sont Ă©galement constituĂ©es de nĆuds caractĂ©ristiques en tant que couches intermĂ©diaires. Veuillez noter que la couche intermĂ©diaire supĂ©rieure se compose de 3 canaux et la deuxiĂšme couche se compose de 4 canaux.Vous pouvez indiquer une mĂ©thode trĂšs rigide et dĂ©terministe pour gĂ©nĂ©rer le modĂšle adoptĂ©, mais pour les personnes, les petites perturbations de la courbure du cercle sont toujours considĂ©rĂ©es comme un cercle, comme vous pouvez le voir sur la figure 3 .
Figure 3: De nombreuses variantes de la construction d'un cercle de quatre arcs courbes de la figure 2.Il serait difficile de considĂ©rer chacune de ces variations comme un nouveau canal distinct dans la couche. De mĂȘme, le regroupement des variations dans la mĂȘme entitĂ© facilitera grandement la gĂ©nĂ©ralisation en nouvelles variations lorsque nous adapterons RCN Ă la classification au lieu de la gĂ©nĂ©ration un peu plus tard. Mais comment changer la MRC pour profiter de cette opportunitĂ©?Sous-Ă©chantillonnage des couches
Pour ce faire, vous avez besoin d'un nouveau type de couche - la couche de regroupement. Il est situĂ© entre deux couches de signes et sert d'intermĂ©diaire entre elles. Il se compose Ă©galement de canaux, mais ils ont des valeurs entiĂšres, pas binaires.Pour illustrer le fonctionnement de ces calques, revenons Ă l'exemple du cercle. Au lieu d'exiger 4 arcs avec des coordonnĂ©es fixes de la couche d'entitĂ©s au-dessus de celle-ci en tant que caractĂ©ristique d'un cercle, la recherche sera effectuĂ©e sur la couche de sous-Ă©chantillons. Ensuite, chaque canal activĂ© dans la couche de sous-Ă©chantillon sĂ©lectionnera un nĆud sur la couche sous-jacente Ă son voisinage pour permettre une lĂ©gĂšre distorsion de l'entitĂ©. Ainsi, si nous Ă©tablissons une communication avec 9 nĆuds directement en dessous du nĆud de sous-Ă©chantillon, le canal de sous-Ă©chantillon, chaque fois qu'il est activĂ©, sĂ©lectionnera uniformĂ©ment l'un de ces 9 nĆuds et l'activera, et l'indice du nĆud sĂ©lectionnĂ© sera l'Ă©tat du canal de sous-Ă©chantillon - un entier. Dans la figure 4vous pouvez voir plusieurs exĂ©cutions, oĂč chaque exĂ©cution utilise un ensemble diffĂ©rent de nĆuds de niveau infĂ©rieur, respectivement, vous permettant de crĂ©er un cercle de diffĂ©rentes maniĂšres.
Figure 4: Fonctionnement des couches de sous-Ă©chantillonnage. Chaque image de cette image GIF est un lancement distinct. Les nĆuds de sous-Ă©chantillonnage sont cubĂ©s. Dans cette image, les nĆuds de sous-Ă©chantillon ont 4 canaux Ă©quivalents Ă 4 canaux de la couche d'entitĂ©s en dessous. Les couches supĂ©rieures et infĂ©rieures ont Ă©tĂ© complĂštement supprimĂ©es de l'image.MalgrĂ© le fait que nous avions besoin de la variabilitĂ© de notre modĂšle, il serait prĂ©fĂ©rable qu'il reste plus restreint et ciblĂ©. Dans les deux figures prĂ©cĂ©dentes, certains cercles semblent trop Ă©tranges pour vraiment les interprĂ©ter comme des cercles en raison du fait que les arcs ne sont pas interconnectĂ©s, comme le montre la figure 5. Nous aimerions Ă©viter de les gĂ©nĂ©rer. Ainsi, si nous pouvions ajouter un mĂ©canisme de sous-Ă©chantillonnage des canaux pour coordonner la sĂ©lection des nĆuds d'entitĂ©s et se concentrer sur les formes continues, notre modĂšle serait plus prĂ©cis.
Figure 5: Nombreuses options pour construire un cercle. Ces options que nous voulons supprimer sont marquées de croix rouges.Les auteurs du RCN ont utilisé la connexion latérale dans les couches de sous-échantillonnage à cette fin. Essentiellement, les canaux de sous-échantillonnage auront des liens avec d'autres canaux de sous-échantillonnage de l'environnement immédiat, et ces liens ne permettront pas à certaines paires d'états de coexister dans deux canaux simultanément. En fait, la zone d'échantillonnage de ces deux canaux sera simplement limitée. Dans diverses versions du cercle, ces connexions, par exemple, ne permettront pas à deux arcs adjacents de s'éloigner l'un de l'autre. Ce mécanisme est illustré à la figure 6.. Encore une fois, ces relations sont établies au stade de la formation. Il convient de noter que les réseaux neuronaux artificiels modernes de vanille n'ont pas de connexions latérales dans leurs couches, bien qu'ils existent dans les réseaux neuronaux biologiques et on suppose qu'ils jouent un rÎle dans l'intégration des contours dans le cortex visuel (mais, franchement, le cortex visuel a un appareil plus complexe que cela ne pourrait paraßtre dans la déclaration précédente).
Figure 6: GIF- RCN . , . , RCN , , . .Jusqu'Ă prĂ©sent, nous avons parlĂ© de couches intermĂ©diaires de RCN, nous n'avons que la couche la plus haute et la couche la plus basse qui interagissent avec les pixels de l'image gĂ©nĂ©rĂ©e. La couche supĂ©rieure est une couche d'entitĂ©s rĂ©guliĂšre, oĂč les canaux de chaque nĆud seront des classes de notre ensemble de donnĂ©es Ă©tiquetĂ©. Lors de la gĂ©nĂ©ration, nous sĂ©lectionnons simplement l'emplacement et la classe que nous voulons crĂ©er, allons au nĆud avec l'emplacement spĂ©cifiĂ© et disons qu'il active le canal de la classe que nous avons sĂ©lectionnĂ©e. Cela active certains des canaux de la couche de sous-Ă©chantillons en dessous, puis la couche d'entitĂ©s en dessous, et ainsi de suite, jusqu'Ă ce que nous atteignions la derniĂšre couche d'entitĂ©s. Sur la base de votre connaissance des rĂ©seaux de neurones convolutifs, vous devriez penser que la couche supĂ©rieure aura un seul nĆud, mais ce n'est pas le cas, et c'est l'un des avantages du RCN,mais une discussion de ce sujet dĂ©passe le cadre de cet article.La derniĂšre couche d'entitĂ©s sera unique. Rappelez-vous, j'ai parlĂ© de la façon dont les MRC sĂ©parent la forme de l'apparence? C'est cette couche qui sera chargĂ©e d'obtenir la forme de l'objet gĂ©nĂ©rĂ©. Ainsi, cette couche devrait fonctionner avec des caractĂ©ristiques de trĂšs bas niveau, les blocs de construction les plus Ă©lĂ©mentaires de toute forme, ce qui nous aidera Ă gĂ©nĂ©rer la forme souhaitĂ©e. Les petites bordures tournant sous diffĂ©rents angles conviennent parfaitement, et ce sont prĂ©cisĂ©ment elles que les auteurs de la technologie utilisent.Les auteurs ont sĂ©lectionnĂ© les attributs du dernier niveau pour reprĂ©senter une fenĂȘtre 3x3 qui a une bordure avec un certain angle de rotation, qu'ils appellent un descripteur de patch. Le nombre d'angles de rotation qu'ils ont choisi est 16. De plus, pour pouvoir ajouter une apparence plus tard, vous avez besoin de deux orientations pour chaque rotation afin de pouvoir dire si l'arriĂšre-plan est Ă gauche ou Ă droite, s'il s'agit de bordures extĂ©rieures et une orientation supplĂ©mentaire dans le cas de limites internes (c'est-Ă -dire Ă l'intĂ©rieur de l'objet). La figure 7 montre les caractĂ©ristiques du dernier assemblage de couches et la figure 8 montre comment les descripteurs des correctifs peuvent gĂ©nĂ©rer une certaine forme.
Figure 7: . 48 ( ) , 16 3 . â 45 . âIN " , âOUTâ â .
8: «i» .Maintenant que nous avons atteint la derniĂšre couche de signes, nous avons un diagramme sur lequel les limites de l'objet sont dĂ©terminĂ©es et la comprĂ©hension de savoir si la zone est en dehors de la frontiĂšre est interne ou externe. Il reste Ă ajouter une apparence, dĂ©signant chaque zone restante de l'image comme IN ou OUT et peindre sur la zone. Un champ alĂ©atoire conditionnel peut aider ici. Sans entrer dans les dĂ©tails mathĂ©matiques, nous attribuons simplement Ă chaque pixel de l'image finale une distribution de probabilitĂ© par couleur et Ă©tat (IN ou OUT). Cette distribution reflĂ©tera les informations obtenues Ă partir de la bordure de la carte. Par exemple, s'il y a deux pixels adjacents, dont l'un est IN et l'autre OUT, la probabilitĂ© qu'ils aient une couleur diffĂ©rente augmente considĂ©rablement. Si deux pixels adjacents se trouvent sur des cĂŽtĂ©s opposĂ©s de la bordure intĂ©rieure, la probabilitĂ©qui aura une couleur diffĂ©rente augmentera Ă©galement. Si les pixels se trouvent Ă l'intĂ©rieur de la bordure et ne sont sĂ©parĂ©s par rien, la probabilitĂ© qu'ils aient la mĂȘme couleur augmente, mais les pixels externes peuvent avoir une lĂ©gĂšre dĂ©viation les uns des autres, etc. Pour obtenir l'image finale, il vous suffit de faire une sĂ©lection Ă partir de la distribution de probabilitĂ© conjointe que nous venons d'installer. Pour rendre l'image gĂ©nĂ©rĂ©e plus intĂ©ressante, nous pouvons remplacer les couleurs par la texture. Nous ne discuterons pas de cette couche car RCN peut effectuer la classification sans ĂȘtre basĂ© sur l'apparence.Pour obtenir l'image finale, il vous suffit de faire une sĂ©lection Ă partir de la distribution de probabilitĂ© conjointe que nous venons d'installer. Pour rendre l'image gĂ©nĂ©rĂ©e plus intĂ©ressante, nous pouvons remplacer les couleurs par la texture. Nous ne discuterons pas de cette couche car RCN peut effectuer la classification sans ĂȘtre basĂ© sur l'apparence.Pour obtenir l'image finale, il vous suffit de faire une sĂ©lection Ă partir de la distribution de probabilitĂ© conjointe que nous venons d'installer. Pour rendre l'image gĂ©nĂ©rĂ©e plus intĂ©ressante, nous pouvons remplacer les couleurs par la texture. Nous ne discuterons pas de cette couche car RCN peut effectuer la classification sans ĂȘtre basĂ© sur l'apparence.Eh bien, nous terminerons ici pour aujourd'hui. Si vous voulez en savoir plus sur RCN, lisez cet article [5] et l'annexe avec des documents supplĂ©mentaires, ou vous pouvez lire mes autres articles sur les conclusions logiques , la formation et les rĂ©sultats de l'utilisation de RCN sur divers ensembles de donnĂ©es .Sources:
- [1] R. Perrault, Y. Shoham, E. Brynjolfsson, et al., The AI ââIndex 2019 Annual Report (2019), Human-Centered AI Institute - Stanford University.
- [2] D. Hendrycks, K. Zhao, S. Basart, et al., Natural Adversarial Exemples (2019), arXiv: 1907.07174.
- [3] J. Su, D. Vasconcellos Vargas et S. Kouichi, One Pixel Attack for Fooling Deep Neural Networks (2017), arXiv: 1710.08864.
- [4] M. Sharif, S. Bhagavatula, L. Bauer, A General Framework for Adversarial Exemples with Objectives (2017), arXiv: 1801.00349.
- [5] D. George, W. Lehrach, K. Kansky, et al., A Generative Vision Model that Trains with High Data Efficiency and Break Text-based CAPTCHAs (2017), Science Mag (Vol 358 â Issue 6368).
- [6] H. Liang, X. Gong, M. Chen, et al., Interactions Between Feedback and Lateral Connections in the Primary Visual Cortex (2017), Proceedings of the National Academy of Sciences of the United States of America.
: « : ». Source: https://habr.com/ru/post/undefined/
All Articles