Hallo Habr!
Lehnen Sie sich zurück, machen Sie sich eine Möwe, denn ich schreibe etwas fester und durch das rechte Ohr. Also, bist du bereit? Gut, dann fangen wir an.
ACHTUNG! Die unten beschriebenen Informationen dienen ausschließlich Forschungszwecken und dürfen nicht zum persönlichen Vorteil verwendet werden!
Ich werde vielleicht mit dem Hintergrund beginnen. Mit der Entwicklung eines Netzwerklaufwerks, dessen Sektoren sich in der Cloud befinden. Die Essenz dieser Technologie ermöglichte es, eine Yandex.Disk mit jeweils 10 GB (die sich zum Zeitpunkt des Lesens ändern kann) aus mehreren Konten (also etwa 100 oder 1 KB) eine große Festplatte (z. B. 10 TB) zu erstellen. Hier ...
Ich habe es genommen, was bedeutet, dass ich dieses Programm vor ein paar Jahren entwickelt habe (ich habe das Programm trotzdem geschrieben, aber darüber in einem anderen Artikel) und die Frage stellte sich - wie man YaCaptcha einführt.
Also habe ich mir dieses Captcha angesehen, ein wenig gegoogelt und ich denke - es wäre notwendig, TensorFlow zu verwenden und dann zu FANN zu übertragen. Natürlich ein wenig verärgert, aber nichts zu tun. Lassen Sie mich denken, dass ich ein paar Bilder (~ 100.000) herunterladen werde, damit Sie dann die Neuronen trainieren können, aber jetzt werde ich mich an die U-Net-Segmentierung erinnern. Nun, ich habe ein paar Codezeilen auf Delphi + Synapase skizziert, sie gestartet und über das Neuron gegoogelt. Ich habe während der Suche heruntergeladen, muss ich sagen, bevor ... im Allgemeinen viel. Und hier beginnt der Spaß.
Ich bin reingegangen, das heißt, ich bin in einem Papa mit Bildern und ich sehe - nur Wiederholungen! Ja, ja, es gab viele sich wiederholende Bilder. Nun, ich denke, das wird nicht funktionieren, und ich habe das erste Programm heruntergeladen, das die gleichen Dateien zu löschen schien (es scheint, wenn sich der Speicher nicht ändert, klonespy ). Startete es, legte sich aber auf den Herd, um zu schlafen. Am Morgen habe ich mir die Statistiken angesehen und nachdenklich: Von 100.000 Bildern wurden 76.000 Wiederholungen gelöscht, und sie sind nicht nur ähnlich - sie sind 100% identisch! Was bedeutet das, fragst du? Ich werde es jetzt erklären.
Wenn Sie ein Neuron nehmen, können Sie irgendwo Anerkennung finden ~ 18%, wie unser Freund schreibt (nun, es scheint mir, Sie können bis zu 45-50% drücken, wenn Sie wollen). Aber selbst wenn ja, vergessen wir nicht, wie viel Aufwand mit ähnlichen Methoden (Datenbanken müssen erstellt, dox manuell eingegeben werden ... viel Captcha, dann müssen Sie immer noch alles systematisieren und warten, bis alles zusammenkommt) und wie viel Platz und Zeit benötigt wird Leistung noch sagen, dass das Programm großartig sein wird.
Ist es möglich, irgendwie in die andere Richtung zu gehen? - Du fragst. Und hier schlage ich vor zu zählen - wir haben 100.000 Bilder, von denen 76.000 Wiederholungen, d. H. Wenn wir die Datenbank von diesen Bildern verstopfen (z. B. den Hash der Summe), erhalten wir einen Erkennungsprozentsatz von bis zu 76%, der höher als das Neuron ist, und das Datenbankgewicht entspricht ungefähr (wenn nicht weniger) der Gewichtstabelle für TensorFlow. Gleichzeitig funktioniert diese Methode überall und benötigt keine Bibliotheken.
Wir bekommen, dass Yandex so robust ist, dass sie so wenige Variationen von Captcha erzeugt haben. Und dank dessen können Sie ein Programm schreiben, über das ich oben geschrieben habe. Ist das nicht eine visuelle Schwachstelle des Systems? Oder halten Sie über 100 TB Festplattenspeicher für billig?
Dank für das Ansehen!
Verwendete Informationen: