Papiere bitte. Wie ein neuronales Netzwerk uns dabei hilft, Kunden zu überprüfen und Betrüger zu fangen

    Bevor ein Kunde Geldüberweisungen in ePayments tätigen kann, muss er eine Überprüfung durchführen. Er stellt uns seine persönlichen Daten zur Verfügung und lädt Dokumente hoch, um Identität und Adresse zu bestätigen. Und wir prüfen, ob sie den Anforderungen unserer Regulierungsbehörde entsprechen. Der Fluss der Anträge auf Verifizierung ist zunehmend gestiegen, es ist für uns schwierig geworden, einen solchen Dokumentenstrom zu verarbeiten. Wir hatten Angst, dass das Verfahren viel Zeit in Anspruch nehmen würde und alle angemessenen Konditionen für die Kunden überschreiten würde. Dann entschieden wir uns für ein tiefes Verifizierungssystem für das Lernen.



    Richtlinien für die Regulierungsbehörden und ihre Anforderungen


    Um elektronisches Geld ausgeben zu können, benötigen Sie eine Genehmigungsbehörde. Wenn Sie beispielsweise in Russland ein Zahlungssystem eröffnen, wird die Zentralbank der Russischen Föderation zu Ihrer Aufsichtsbehörde. ePayments ist das englische Zahlungssystem. Unsere Regulierungsbehörde ist die Financial Conduct Authority (FCA), eine dem britischen Finanzministerium unterstellte Einrichtung. FCA stellt sicher, dass wir die Anti-Geldwäsche-Richtlinie (AML) einhalten, die das KYC-Verfahren (Know Your Customer) beinhaltet.

    Laut KYC sind wir bestrebt zu prüfen, wer unser Kunde ist und ob er nicht mit sozial gefährlichen Gruppen verbunden ist. Daher haben wir zwei Verpflichtungen:

    1. Identifikation und Bestätigung der Kundenidentität.
    2. Verifizierung seiner Daten mit verschiedenen Listen: Terroristen, Personen mit Sanktionen, Regierungsmitgliedern und vielen anderen.

    Die Anforderungen von KYC werden von Jahr zu Jahr strenger und detaillierter. Zu Beginn des Jahres 2017 könnten ePayments-Kunden ohne Überprüfung noch Zahlungen erhalten oder Überweisungen tätigen. Nun ist dies nicht möglich, bis sie ihre Identität bestätigen.

    Manuelle Überprüfung


    Vor ein paar Jahren haben wir es geschafft. Die Russen schickten einen Scan bestimmter Seiten des Passes, um ihre Identität zu bestätigen, um die Adresse zu bestätigen - einen Scan des Mietvertrags, eine Quittung für die Bezahlung von Stromrechnungen. Erinnern Sie sich bitte an die Spielpapiere? Darin prüfen Sie, wenn Sie für einen Zollbeamten spielen, Dokumente über die zunehmend komplexen Anforderungen der Regierung. Unsere Kundenabteilung spielte es jeden Tag bei der Arbeit.



    Kunden werden fernüberwacht, ohne einen Besuch im Büro. Um das Verfahren zu beschleunigen, haben wir neue Mitarbeiter eingestellt. Dies ist jedoch ein Sackgasse. Dann schien der Gedanke einen Teil der Arbeit des neuronalen Netzwerks anzuvertrauen. Wenn es die Gesichtserkennung gut bewältigt, wird es unsere Aufgaben bewältigen. Aus geschäftlicher Sicht sollte ein schnelles Verifizierungssystem in der Lage sein:

    1. Dokument kategorisieren Wir erhalten eine ID und einen Adressnachweis. Das System muss beantworten, was es am Eingang erhalten hat: einen Pass eines Bürgers der Russischen Föderation, einen Mietvertrag oder etwas anderes.
    2. Vergleichen Sie das Gesicht in Foto und Dokument. Wir bitten Kunden, Selfies mit einer ID zu senden, um sicherzustellen, dass sie sich selbst im Zahlungssystem registrieren.
    3. Text extrahieren. Dutzende von Feldern von einem Smartphone aus zu füllen, ist nicht sehr bequem. Viel einfacher, wenn die Anwendung alles für Sie erledigt hat.
    4. Überprüfen Sie die Bilddateien auf Fotomontage. Wir dürfen Betrüger nicht vergessen, die betrügerisch in das System einsteigen wollen.

    Bei der Ausgabe sollte das System ein gewisses Vertrauen in den Client anzeigen: hoch, mittel oder niedrig. Wenn wir uns auf eine solche Abstufung konzentrieren, werden wir Kunden mit Verzögerungen schnell überprüfen und nicht stören.

    Dokumentenklassifizierer


    Die Aufgabe dieses Moduls ist es sicherzustellen, dass der Benutzer ein gültiges Dokument sendet und eine Antwort gibt, was genau er heruntergeladen hat: einen Pass eines kasachischen Bürgers, einen Mietvertrag oder eine Quittung für die Bezahlung von Versorgungsunternehmen.

    Der Klassifizierer empfängt Eingabedaten:

    • Foto oder Dokument scannen
    • Land des Wohnsitzes
    • Vom Kunden angegebene Dokumentart (ID oder Wohnsitznachweis)
    • Extrahierter Text (mehr dazu unten)

    Beim Beenden meldet der Klassifikator, dass er (Pass, Führerschein usw.) und wie sicher er die richtige Antwort erhalten hat.



    Jetzt arbeitet die Lösung mit der Wide Residual Network-Architektur. Wir kamen nicht sofort zu ihr. Die erste Version des Schnellverifikationssystems basiert auf der Architektur, für die uns VGG inspiriert hat. Sie hatte zwei offensichtliche Probleme: eine große Anzahl von Parametern (etwa 130 Millionen) und Instabilität der Position des Dokuments. Je mehr Parameter, desto schwieriger ist es, ein solches neuronales Netzwerk zu trainieren - es verallgemeinert das Wissen nicht gut. Das Dokument auf dem Foto muss sich in der Mitte befinden, andernfalls müsste der Klassifikator anhand von Mustern trainiert werden, in denen er sich in verschiedenen Teilen des Fotos befindet. Daher haben wir die VGG aufgegeben und beschlossen, zu einer anderen Architektur zu wechseln.

    Residual Network (ResNet) war kühler als VGG. Durch das Überspringen von Verbindungen können Sie eine große Anzahl von Ebenen erstellen und eine hohe Genauigkeit erzielen. ResNet hat nur etwa 1 Million Parameter und war der Position des Dokuments gleichgültig. Egal wo im Bild es sich befindet, die Lösung dieser Architektur wurde mit der Klassifizierung gemeistert.

    Während wir die Lösung mit einer Datei fertigstellten, wurde eine neue Modifikation der Architektur, das Wide Residual Network (WRN), veröffentlicht. Der Hauptunterschied zu ResNet ist in der Tiefe einen Schritt zurück. WRN hat weniger Schichten, aber mehr Faltungsfilter. Jetzt ist es die beste neuronale Netzwerkarchitektur für die meisten Aufgaben, und unsere Lösung funktioniert darauf.

    Einige nützliche Lösungen.


    Problem Nummer 1. Der Klassifikator musste trainiert werden. Wir mussten viele russische, kasachische und belarussische Pässe und Führerscheine laden. Natürlich können Sie keine Kundendokumente mitnehmen. Es gibt Beispiele im Netzwerk, aber zu wenige für ein erfolgreiches Lernen des neuronalen Netzwerks.

    Die EntscheidungUnsere technische Abteilung erzeugte eine Stichprobe von mehr als 8000 Mustern jedes Typs. Wir erstellen eine Dokumentvorlage und verbreiten sie in vielen Stichproben. Dann generieren wir eine zufällige Position des Dokuments im Raum relativ zur Kamera, unter Berücksichtigung seines mathematischen Modells und seiner Eigenschaften: Brennweite, Auflösung der Matrix usw. Beim Erzeugen eines künstlichen Fotos wird ein zufälliges Bild aus dem fertigen Datensatz als Hintergrund ausgewählt. Danach wird ein Dokument mit perspektivischen Verzerrungen zufällig auf dem Bild platziert. Bei einem solchen Beispiel war unser neuronales Netzwerk gut ausgebildet und definierte das Dokument "im Kampf" perfekt. Ergebnisse - am Ende des Artikels.

    Problem Nummer 2.Banale Einschränkung bei Rechenressourcen und Speicher. Es macht keinen Sinn, ein tiefes neuronales Netzwerk der Eingabe großer Bilder zu unterziehen. Und Fotos von modernen Smartphones sind so.

    Die Entscheidung Vor der Übergabe an den Eingang wird das Foto auf eine Größe von ca. 300 x 300 Pixel komprimiert. In dem Bild einer solchen Auflösung ist es möglich, ein Identitätsdokument leicht von einem anderen zu unterscheiden. Um dieses Problem zu lösen, können wir die standardmäßige Wide ResNet-Architektur verwenden.

    Problem Nummer 3. Die Dokumente, die die Adresse des Wohnsitzes bestätigen, sind umso schwieriger. Der Mietvertrag oder Kontoauszug kann nur durch den Text auf dem Blatt unterschieden werden. Nachdem Sie die Bildgröße auf 300 x 300 Pixel reduziert haben, sieht jedes dieser Dokumente gleich aus - wie ein A4-Blatt mit unleserlichem Text.

    Die Entscheidung Um beliebige Dokumente zu klassifizieren, haben wir Änderungen an der Architektur des neuronalen Netzwerks selbst vorgenommen. Darin erschien eine zusätzliche Eingabeschicht von Neuronen, die mit der Ausgabeschicht verbunden ist. Die Neuronen dieser Eingabeschicht empfangen einen Eingabevektor, der den zuvor erkannten Text unter Verwendung des Bag-of-Words- Modells beschreibt .

    Zuerst haben wir das neuronale Netzwerk geschult, um Identitätsdokumente zu klassifizieren. Wir haben die Gewichte des trainierten Netzwerks verwendet, um ein anderes Netzwerk mit einer zusätzlichen Schicht für die Klassifizierung beliebiger Dokumente zu initialisieren. Diese Lösung hatte eine hohe Genauigkeit, aber die Texterkennung dauerte einige Zeit. Der Unterschied in der Verarbeitungsgeschwindigkeit durch verschiedene Module und die Genauigkeit der Klassifizierung sind in Tabelle 2 aufgeführt.

    Gesichtserkennung


    Wie kann man das Zahlungssystem täuschen, das die Belege prüft? Sie können sich den Pass einer anderen Person ausleihen und sich damit registrieren. Um sicherzustellen, dass sich der Kunde selbst registriert, bitten wir Sie, ein Selfie mit Ihrem Ausweis aufzunehmen. Das Erkennungsmodul sollte das Gesicht auf dem Dokument und das Gesicht auf dem Selfie vergleichen und antworten, es sind eine oder zwei Personen unterschiedlich.

    Wie vergleichen Sie 2 Personen, wenn Sie ein Auto sind und wie ein Auto denken? Verwandeln Sie ein Foto in eine Reihe von Parametern und vergleichen Sie deren Werte. So erkennen neuronale Netzwerke Gesichter. Sie nehmen ein Bild und verwandeln es in einen 128-dimensionalen Vektor (zum Beispiel). Wenn Sie ein anderes Gesichtsbild an die Eingabe senden und sie zum Vergleichen auffordern, wandelt das neuronale Netzwerk die zweite Person in einen Vektor um und berechnet den Abstand zwischen ihnen.


    Tabelle 1. Beispiel für die Berechnung der Differenz zwischen Vektoren bei der Gesichtserkennung. Steve Buscemi unterscheidet sich in verschiedenen Fotos bei 0,44. Und von Jennifer Aniston - durchschnittlich 1,33.

    Natürlich gibt es Unterschiede zwischen dem Aussehen einer Person im Leben und einem Pass. Wir haben auch den Abstand zwischen den Vektoren ermittelt und an realen Personen getestet, um Ergebnisse zu erzielen. In jedem Fall wird nun die endgültige Entscheidung von der Person getroffen und der Kommentar des Systems wird nur eine Empfehlung sein.

    Texterkennung


    Die Dokumente verfügen über Textfelder, die dem Klassifizierer helfen zu verstehen, was vor ihm liegt. Es ist für den Benutzer praktisch, wenn der Text aus demselben Pass automatisch übertragen wird und Sie nicht manuell eingeben müssen, von wem und wann er ausgestellt wurde. Zu diesem Zweck haben wir das folgende Modul - Erkennung und Textextraktion - erstellt.

    In einigen Dokumenten, z. B. in neuen RF-Pässen, befindet sich eine maschinenlesbare Zone (MRZ). Mit dieser Funktion können Informationen einfach aufgenommen werden. Dies ist ein leicht lesbarer schwarzer Text auf weißem Hintergrund, der leicht zu erkennen ist. Darüber hinaus verfügt MRZ über ein bekanntes Format, dank dessen die benötigten Daten leichter beschafft werden können.



    Wenn die Aufgabe Dokumente mit MRZ hat, wird es für uns einfacher. Der gesamte Prozess liegt im Bereich der Bildverarbeitung. Wenn diese Zone nicht vorhanden ist, müssen Sie nach dem Erkennen des Textes eine interessante Aufgabe lösen - um zu verstehen, und welche Informationen haben wir erkannt? Zum Beispiel ist "05/15/1999" das Geburtsdatum oder das Ausstellungsdatum. In dieser Phase können Sie auch einen Fehler machen. MRZ ist gut, weil es eindeutig decodiert ist. Wir wissen immer, nach welchen Informationen und in welchem ​​Teil des MRZ gesucht werden soll. Es ist sehr günstig für uns. Aber MRZ war nicht das beliebteste Dokument, mit dem das Netzwerk arbeiten wird - der Pass der Russischen Föderation.

    Für die Texterkennung brauchten wir eine sehr effektive Lösung. Der Text muss aus dem vom Kamerahandy erstellten Bild entfernt werden, nicht von den meisten professionellen Fotografen. Wir haben Google Tesseract und mehrere kostenpflichtige Lösungen getestet. Nichts kam auf - entweder hat es schlecht funktioniert oder es war unverhältnismäßig teuer. Daher haben wir begonnen, eine eigene Lösung zu entwickeln. Jetzt testen wir es ab. Die Lösung zeigt anständige Ergebnisse - Sie können sie weiter unten lesen. Wir werden etwas später über das Fotomontage-Überprüfungsmodul berichten, wenn genaue Untersuchungsergebnisse zu Testproben und zum „Kampf“ vorliegen.

    Das Ergebnis


    Das System wird derzeit auf dem Verifikationsanwendungssegment aus Russland getestet. Das Segment wird anhand einer Stichprobe ermittelt, die Ergebnisse werden gespeichert und mit den Entscheidungen des Betreibers der Kundenabteilung für einen bestimmten Kunden abgeglichen.

    LandKlassifizierertypGenauigkeitArbeitszeit mit
    RusslandAusweis99,96%0,41
    RusslandBeliebiges Dokument98,62%6,89
    KasachstanAusweis99,51%0,47
    KasachstanBeliebiges Dokument97,25%7,66
    WeißrusslandAusweis98,63%0,46
    WeißrusslandBeliebiges Dokument98,63%9.66

    Tabelle 2. Genauigkeit des Klassifizierers von Dokumenten (korrekte Klassifizierung des Dokuments im Vergleich zur Schätzung des Bedieners).

    Einer der großen Vorteile des maschinellen Lernens ist, dass das neuronale Netzwerk wirklich lernt und immer weniger Fehler macht. In Kürze werden wir das Segment testen und das Verifikationssystem im Kampfmodus starten. 30% der Anträge auf Überprüfung stammen aus Russland, Kasachstan und Weißrussland. Nach unseren Schätzungen wird die Einführung der Belastung der Kundenabteilung um 20 bis 25% helfen. Zukünftig kann die Lösung auf europäische Länder skaliert werden.

    Auf der Suche nach einem Job?


    Wir suchen Mitarbeiter für ein Büro in St. Petersburg. Wenn Sie sich für ein internationales Projekt mit einem großen Pool ehrgeiziger Aufgaben interessieren, warten wir auf Sie. Wir haben nicht genug Leute, die keine Angst haben, sie umzusetzen. Nachfolgend finden Sie Links zu Stellenangeboten auf hh.ru.


    Jetzt auch beliebt: