Wir sprechen von einer visuellen Suchmaschine, die die ersten westlichen Risikokapitalinvestitionen in IT in Russland erhalten hat, die auf der Grundlage aktiver semantischer neuronaler Netze aufgebaut sind. Im Rahmen des Schnitts werden wir Ihnen die Grundprinzipien von Betrieb und Architektur erläutern.
Ursprünge
Ich hatte großes Glück in meinem Leben - ich habe bei Nikolai Mikhailovich Amosov studiert , einem herausragenden Menschen, Herzchirurgen und Kybernetiker. Ich habe in Abwesenheit studiert - der Zusammenbruch der UdSSR gab mir keine Gelegenheit, mich persönlich zu treffen.
Über Nikolai Mikhailovich kann viel gesagt werden. Er wurde in einer Bauernfamilie in einem Dorf in der Nähe von Cherepovets geboren und erhielt gleichzeitig den zweiten Platz im Projekt "Große Ukrainer", womit er Jaroslaw dem Weisen den ersten Platz einbrachte. Hervorragender Herzchirurg und kybernetischer Ingenieur, der unabhängig die erste künstliche Klappe in der UdSSR entwickelte. Straßen, eine medizinische Fakultät, ein College, ein Boot, das im Ivankovskoye-Stausee kreuzt, sind nach ihm benannt.
Auf Wikipedia und anderen Websites wurde viel darüber geschrieben .
Ich möchte auf die nicht so weit beleuchtete Seite von Amosov eingehen. Zwei Ausbildungen (Medizin und Ingenieurwesen) ermöglichten es ihm, die Theorie der aktiven semantischen neuronalen Netze (M-Netze) zu entwickeln, in denen vor mehr als 50 Jahren Dinge implementiert wurden, die in ihrer Einzigartigkeit immer noch auffällig sind.
Und wenn zu diesem Zeitpunkt genügend Rechenleistung vorhanden wäre, wäre möglicherweise bereits heute eine starke KI implementiert worden.
In seinen Arbeiten gelang es Amosov, ein Gleichgewicht zwischen Neurophysiologie und Mathematik aufrechtzuerhalten und die Informationsprozesse der Intelligenz zu studieren und zu beschreiben. Die Ergebnisse seiner Arbeit werden in mehreren Werken vorgestellt, das Finale war die 1979 veröffentlichte Monographie "Algorithms of the Mind" .
Ich werde daraus ein kurzes Zitat über eines der Modelle geben:
„… (Wir) haben eine Studie durchgeführt, deren Ziel es war, die Möglichkeiten von M-Netzwerken auf dem Gebiet der Neurophysiologie und Neuropsychologie zu untersuchen und die praktische und kognitive Bedeutung solcher Modelle zu bewerten. Es wurde ein M-Automat entwickelt und untersucht, der Sprachmechanismen simuliert. Das Modell präsentiert Aspekte der mündlichen Sprache wie Wahrnehmung, Verständnis, verbaler Ausdruck.
Das Modell ist darauf ausgelegt, relativ einfache Sprachfunktionen (!!!) zu reproduzieren - Antworten auf Fragen eines begrenzten Typs, Wiederholung, Benennung. Es enthält die folgenden Blöcke: Hörwahrnehmung, sensorische Sprache, propriozeptive Sprache, konzeptionelle, emotionale, motivationale, motorische Sprache, Artikulations- und SUT-Block. Die Blöcke des Modells sind mit bestimmten Gehirnformationen korreliert ...
... Die Eingabe des Modells waren die Buchstaben des russischen Alphabets, kombiniert zu Wörtern und Phrasen, sowie spezielle Objekte, die den Bildern von Objekten entsprechen. Bei der Ausgabe des Modells wurden je nach Funktionsweise Buchstabenfolgen des russischen Alphabets beobachtet, die entweder Antworten auf Eingabefragen oder eine Wiederholung von Eingabewörtern oder die Namen von Objekten waren.
Die Tatsache, dass bei der Erstellung des Modells häufig neurophysiologische Daten verwendet wurden, ermöglichte es in Experimenten, eine Reihe von Hirnläsionen organischer und funktioneller Natur zu simulieren, was zu einer Beeinträchtigung der Sprachfunktionen führte.
Und das ist nur eines der Werke.
Ein weiterer Grund ist die Steuerung eines mobilen Roboters. „… Das Robotersteuerungssystem setzt die Umsetzung einer zielgerichteten Bewegung voraus, indem es seine eigene Sicherheit gewährleistet (Hindernisse vermeiden, gefährliche Orte vermeiden, interne Parameter innerhalb der festgelegten Grenzen halten) und Zeit- und Energiekosten minimiert.“
Die Monographie beschreibt auch die Ergebnisse der Modellierung des freien Verhaltens eines bestimmten Subjekts in einer Umgebung, die nützliche und gefährliche Objekte für ihn enthielt. Die Motive des Verhaltens des Probanden wurden durch Müdigkeit, Hunger und den Wunsch nach Selbsterhaltung bestimmt. Das Subjekt untersuchte die Umgebung, wählte das Ziel der Bewegung, erstellte einen Plan, um dieses Ziel zu erreichen, und setzte ihn dann um, indem es Aktionsschritte durchführte, die während der Bewegung erzielten Ergebnisse mit den geplanten verglich und den Plan in Abhängigkeit von den sich abzeichnenden Situationen ergänzte und anpasste.
Merkmale der Theorie
In seinen Arbeiten versuchte Amosov, ein informatives / algorithmisches Modell der „starken Intelligenz“ zu erstellen, und meiner Meinung nach beschreibt seine Theorie am genauesten, was tatsächlich im Gehirn von Säugetieren geschieht.
Die Hauptmerkmale von M-Netzwerken, die sie grundlegend von anderen neuronalen Netzwerkparadigmen unterscheiden, sind die strikte semantische Belastung jedes Neurons und das Vorhandensein eines Systems zur internen Bewertung seines Zustands. Es gibt Neuronenrezeptoren, Neuronenobjekte, Neuronengefühle, Neuronenaktionen.
Das Lernen erfolgt nach der modifizierten Hebb-Regel unter Berücksichtigung Ihres inneren Zustands. Dementsprechend wird die Entscheidung auf der Grundlage einer verständlichen Verteilung der Aktivität von semantisch bezeichneten Neuronen getroffen.
Das Netzwerk lernt "on the fly" ohne wiederholte Wiederholung. Dieselben Mechanismen arbeiten mit verschiedenen Arten von Informationen, sei es Sprache oder Wahrnehmung visueller Daten, motorische Aktivität. Dieses Paradigma simuliert sowohl die Arbeit des Bewusstseins als auch des Unterbewusstseins.
Interessenten finden Amosovs Bücher mit einer detaillierteren Beschreibung der Theorie und praktischen Implementierung verschiedener Aspekte der Intelligenz. Ich werde Ihnen jedoch über unsere Erfahrungen beim Aufbau der visuellen Suchmaschine Quintura Search berichten.
Quintura
Das Unternehmen Quintura wurde 2005 gegründet. Ein Prototyp einer Desktop-Anwendung, der unseren Ansatz demonstriert, wurde mit unserem eigenen Geld implementiert. Mit dem Engelsgeld von Ratmir Timashev und Andrey Baronov (später ABRT- Fonds ) wurde der Prototyp fertiggestellt, Verhandlungen geführt und Investitionen vom Luxemburger Fonds Mangrove Capital Partners erhalten . Dies war die erste westliche Investition in Russland im IT-Bereich. Alle drei Partner des Fonds kamen zu Sergiev Posad, um uns in die Augen zu schauen und eine Investitionsentscheidung zu treffen.
Sechs Jahre lang wurden die erhaltenen Mittel verwendet, um die volle Funktionalität einer Websuchmaschine zu entwickeln - Informationen zu sammeln, zu indizieren, Anfragen zu bearbeiten und Ergebnisse herauszugeben. Der Kern war ein M-Netzwerk oder vielmehr eine Reihe von M-Netzwerken (ein konzeptionelles Netzwerk und Netzwerke für jedes Dokument). Das Netzwerk wurde in einem Durchgang über das Dokument geschult. Für einige Neuberechnungszyklen wurden Schlüsselwörter ausgewählt, Dokumente gefunden, deren Bedeutung der Abfrage entsprach, und ihre Anmerkungen wurden erstellt. Das Netzwerk verstand den Kontext der Anfrage genauer und ermöglichte es dem Benutzer, ihn zu klären, indem es die erforderlichen Bedeutungen für die Suche hinzufügte und Dokumente mit irrelevanten Kontexten aus den Suchergebnissen entfernte.
Grundprinzipien und Ansätze
Wie oben erwähnt, hat jedes Neuron im Netzwerk seine eigene semantische Last. Zur Veranschaulichung der Patente haben wir ein visuelles Bild vorgeschlagen (ich entschuldige mich für die Qualität - die Originale der Bilder sind nicht erhalten geblieben, im Folgenden haben wir Bilder aus Scans unserer Patente und aus Artikeln über uns von verschiedenen Standorten verwendet):
Vereinfacht ausgedrückt ist ein konzeptionelles Netzwerk eine Reihe von Neuronenkonzepten miteinander durch Verbindungen, proportional zur Häufigkeit ihres Auftretens miteinander. Wenn der Benutzer ein Abfragewort eingibt, "ziehen" wir die Neuronen dieses Wortes und er zieht wiederum die damit verbundenen. Und je stärker die Verbindung ist, desto näher sind andere Neuronen dem Anforderungsneuron.
Wenn die Anfrage mehrere Wörter enthält, werden alle Neuronen, die den Wörtern der Anfrage entsprechen, mitgezogen.
Wenn wir uns entscheiden, ein irrelevantes Wort zu löschen, hängen wir eine Art Last daran, die sowohl das gelöschte Konzept als auch die damit verbundenen herunterzieht.
Als Ergebnis erhalten wir eine Tag-Cloud, in der sich die Abfragewörter oben befinden (die größte Schriftart) und verwandte Konzepte nebeneinander angeordnet sind. Je größer der Link, desto größer die Schriftart.
Unten finden Sie eine semantische Karte von Dokumenten, die von der Abfrage "Schönheit" gefunden wurden.
Wenn Sie mit der Maus über das Wort "Mode" fahren, wird die Karte neu erstellt:
Wenn Sie den Mauszeiger über das Wort "Reisen" bewegen, erhalten Sie eine weitere Karte:
So können wir die Abfrage verfeinern, indem wir in die gewünschte Richtung zeigen und den gewünschten Kontext bilden.
Gleichzeitig mit der Neuerstellung der Karte erhalten wir auch Dokumente, die für den jeweiligen Kontext am relevantesten sind, und wir schließen unnötige Verzweigungen aus, indem wir irrelevante Wörter löschen.
Wir erstellen den Dokumentenindex nach folgendem Prinzip:
Es gibt 4 Schichten von Neuronen. Ebene von Wörtern, Ebene von Konzepten (sie können zu einer Ebene kombiniert werden), Ebene von Sätzen, Ebene von Dokumenten.
Neuronen können durch zwei Arten von Verbindungen miteinander verbunden werden - verstärkend und hemmend. Dementsprechend kann sich jedes Neuron in drei Arten von Zuständen befinden: aktiv, neutral und unterdrückt. Neuronen übertragen Aktivität über die verstärkenden Verbindungen über das Netzwerk, hemmende "Anker". Die Konzeptebene ist nützlich, um mit Synonymen zu arbeiten und "starke" oder wichtige Konzepte gegenüber anderen hervorzuheben und Dokumentkategorien zu definieren.
Zum Beispiel würde das Wort Apfel in der Wortebene mit den Konzepten Frucht, anatomischer Begriff und Gesellschaft assoziiert. Öl - mit Öl und Öl. Das russische Wort "Geflecht" mit einer Frisur, einem Arbeitsinstrument, einer Waffe, einem Relief. Usw.
Wir stellen bidirektionale Verbindungen her - sowohl direkt als auch umgekehrt. Das Lernen (Änderungen an Links) erfolgt in einem Durchgang durch das Dokument basierend auf der Hebb-Regel. Wir erhöhen die Verknüpfungen zwischen Wörtern, die nahe beieinander liegen, und verknüpfen zusätzlich Wörter, die sich im selben Satz, Absatz oder Dokument befinden, mit kleineren Links. Je häufiger Wörter sowohl innerhalb desselben Dokuments als auch innerhalb einer Gruppe von Dokumenten nebeneinander gefunden werden, desto stärker wird die Verbindung zwischen ihnen.
Mit dieser Architektur können Sie die folgenden Aufgaben effektiv lösen:
- Einstellen und Verwalten des Suchkontexts;
- Suche nach Dokumenten, die dem Suchkontext entsprechen (nicht nur Abfragewörter enthalten);
- Anzeigen semantischer Kontexte einer Reihe von Dokumenten (welche Assoziationen hat die Suchmaschine mit den Wörtern der Abfrage);
- Hervorheben der Schlüsselwörter des Dokuments / der Dokumente;
- Kommentieren eines Dokuments;
- Suche nach Dokumenten mit ähnlichen Bedeutungen.
Betrachten wir die Implementierung jeder Aufgabe.
Festlegen und Verwalten des Suchkontexts
Dieser Fall wurde früher dargestellt. Der Benutzer gibt die Abfragewörter ein, diese Wörter regen alle mit ihnen verbundenen Wörter an. Dann können wir entweder die nächstgelegenen Konzepte (mit maximaler Erregung) auswählen oder die Erregung von allen im vorherigen Schritt angeregten Neuronen durch das Netzwerk weiter übertragen und so weiter - in diesem Fall beginnen sie Arbeitsverbände. Auf der Karte werden einige der aufgeregtesten Wörter / Konzepte angezeigt (Sie können auch auswählen, was angezeigt werden soll - eine Ebene mit Wörtern, Konzepten oder beidem). Bei Bedarf werden irrelevante Wörter entfernt (Entfernen der zugehörigen Konzepte aus der Karte), wodurch eine genaue Beschreibung des erforderlichen Suchkontexts bereitgestellt wird.
Suchen von Dokumenten, die dem Suchkontext entsprechen
Der Zustand der ersten beiden Schichten des Netzwerks in diesem Schritt überträgt ihre Erregung auf die nächsten Schichten, deren Neuronen nach Anregung geordnet sind, und wir erhalten eine Liste von Dokumenten, die nicht nur für die Wörter der Abfrage, sondern auch für den generierten Kontext nach Relevanz geordnet sind.
Daher enthalten die Suchergebnisse nicht nur Dokumente, die die Wörter der Abfrage enthalten, sondern auch diejenigen, deren Bedeutung mit ihnen zusammenhängt. Die resultierenden Dokumente können verwendet werden, um den Suchkontext zu ändern, indem entweder die in den für uns "notwendigen" Dokumente enthaltenen Konzepte gestärkt oder das Gewicht der mit irrelevanten Dokumenten verbundenen Konzepte verringert werden. Auf diese Weise können Sie Ihre Abfrage einfach und intuitiv verfeinern und Suchergebnisse verwalten.
Anzeigen semantischer Kontexte einer Reihe von Dokumenten
Die Übertragung der Erregung in die entgegengesetzte Richtung, von Neuronendokumenten zu Neuronen zu Konzepten / Wörtern, ermöglicht es Ihnen, eine visuelle Karte zu erhalten, welche semantischen Kontexte in der Menge von Dokumenten vorhanden sind. Dies ist eine alternative Möglichkeit, eine aussagekräftige Tag-Map zu erhalten und im Bedeutungsraum zu navigieren. Dieser Vorgang kann iterativ durchgeführt werden, indem die Anregungsrichtung geändert wird - indem Dokumente für Suchkontexte empfangen werden oder indem der Suchkontext für aktive Dokumente geändert wird.
Normalerweise sieht das Szenario der Suchmaschine wie folgt aus: Die erste Karte wird entweder auf der Grundlage der neuesten Nachrichten, populärer Artikel, Abfragen oder ihrer Kombination erstellt. Anschließend kann der Benutzer entweder eine Anfrage erstellen, indem er auf die Wörter in der Karte klickt, oder indem er eine neue Anfrage erstellt, indem er die gewünschten Wörter in das Eingabefeld eingibt.
In unserem Kinderdienst Quintura Kids konnten sogar Kinder, die nicht schreiben konnten (oder Schwierigkeiten damit hatten), arbeiten und nach den notwendigen Informationen suchen.
So sah die ursprüngliche Karte aus.
Und der Benutzer sah dies, nachdem er auf das Wort "Leerzeichen" geklickt hatte.
Der Kinderdienst wurde auf manuell ausgewählten und genehmigten Standorten aufgebaut, sodass das Kind von einem Erwachsenen nichts sehen konnte. Dies erklärt die geringe Anzahl gefundener Dokumente. Die englische Version enthielt viel mehr Dokumente - dank des Yahoo-Kinderverzeichnisses.
Hervorheben der Schlüsselwörter des Dokuments / der Dokumente
Tatsächlich sind die Wörter und Konzepte, die aktiv werden, wenn die Erregung von der Dokumentenebene oder der Satzschicht übertragen wird, die Schlüsselwörter. Sie werden auch nach Aktivität geordnet, dann wird ein bestimmter Betrag von ihnen abgeschnitten, der angezeigt wird.
Hier haben wir eine andere Lösung angewendet. Wir glauben, dass die gesamte Aufregung aller Wörter oder Konzepte 100% beträgt. Dann können wir leicht die Anzahl der Wörter steuern, die wir als Schlüsselwörter betrachten, indem wir den Prozentsatz der Aktivität als Schwellenwert festlegen.
Angenommen, es gibt ein Dokument, das sich mit einem Boeing-Headliner-Vertrag befasst. Als die Erregung vom Neuron dieses Dokuments auf die Wort- / Konzeptschicht übertragen wurde, waren die in dieser Figur dargestellten Wörter angeregt. Die auf 100% reduzierte gewichtete Gesamterregung gab uns für jedes Wort ein individuelles Gewicht. Und wenn wir 75% der "Bedeutung" der Schlüsselwörter erhalten möchten, sehen wir die Wörter "BOEING", "787", "DREAMLINER", und wenn wir 85% der "Bedeutung" sehen möchten, fügen wir diesen Wörtern "SALES" hinzu.
Mit dieser Methode können Sie die Anzahl der angezeigten Schlüsselwörter und Sätze / Dokumente automatisch begrenzen.
Kommentieren Sie das Dokument.
Das Empfangen von Schnipsel wurde ebenfalls auf die oben beschriebene Weise durchgeführt. Zuerst erhalten wir die Schlüsselwörter des Dokuments. Danach erhalten wir durch direkte Verteilung der Erregung durch die Schlüsselwörter eine Liste von Sätzen, bringen die Gewichte dieser Sätze auf 100% und schneiden die erforderliche Menge an "Bedeutung" ab. Danach zeigen wir diese Sätze in der Reihenfolge an, in der sie im Text des Dokuments vorkommen ...
Dokumente mit ähnlicher Bedeutung finden
Die Übertragung der Erregung von dem Neuron, das dem Dokument entspricht, für das wir nach Wörtern / Konzepten suchen, deren Bedeutung der Schicht ähnlich ist, und danach in der entgegengesetzten Richtung zur Dokumentschicht, ermöglicht es uns, Dokumente zu finden, die im Kontext oder in der Bedeutung dem Original ähnlich sind. Wenn wir in der Wort- / Konzeptebene mehrere Beats der Übertragung von Erregung ausführen, können wir den ursprünglichen Kontext erweitern. In diesem Fall können wir Dokumente finden, die nicht in allen Wörtern genau übereinstimmen, aber thematisch gleich sind.
Tatsächlich kann dieser Mechanismus verwendet werden, um die Ähnlichkeit von irgendetwas zu bestimmen, indem beispielsweise eine Schicht zum Netzwerk hinzugefügt wird, in der die Benutzer-ID Neuronen entspricht, können wir Personen mit ähnlichen Interessen finden. Durch Ersetzen der Ebene von Sätzen und Dokumenten durch Indizes von Musik- oder Videoarbeiten erhalten wir eine Musik- / Videosuche.
Fortsetzung folgt
Dieser Artikel behandelt nur die Grundprinzipien der visuellen Suchmaschine von Quintura. In den sechs Lebensjahren des Unternehmens wurden viele komplexe Probleme gelöst, sowohl im Zusammenhang mit der Architektur aktiver semantischer neuronaler Netze als auch beim Aufbau eines fehlertoleranten, erweiterbaren Clusters. Der Suchindex bestand aus vielen parallel arbeitenden neuronalen Netzen, das Ergebnis dieser Netze wurde kombiniert und eine individuelle Karte der Benutzerinteressen erstellt.
Im Rahmen des Projekts wurden ein Site-Suchdienst, eine Kindersuchmaschine und ein Textanalysetool implementiert, die Arbeiten zur Bildung einer Informationsontologie der Welt begannen, der Aufbau einer neuronalen Netzwerkmorphologie, 9 US-Patente wurden erhalten.
Wir konnten unser System jedoch nie monetarisieren. Zu diesem Zeitpunkt gab es noch keinen Boom bei neuronalen Netzen, wir konnten uns nicht mit großen Suchmaschinen einverstanden erklären (wie der Architekt einer von ihnen sagte: „Wir haben zu unterschiedliche Paradigmen und verstehen nicht, wie man sie kombiniert“).
Das Projekt musste geschlossen werden.
Persönlich habe ich immer noch eine "Untertreibung" - ich habe den großen Wunsch, diesem Projekt ein zweites Leben zu geben. Zu wissen, dass der frühere Werbeleiter bei Google eine werbefreie Suchmaschine aufbaut, in der Nutzer „aus der Blase der Filter zur Personalisierung von Inhalten und Tracking-Tools ausbrechen können“, stärkt mein Vertrauen in die Relevanz unserer Entwicklungen.
Ich werde noch einmal die Merkmale aktiver neuronaler Netze auflisten, die auf der Grundlage von Nikolai Amosovs Theorie aufgebaut sind:
- spontan lernen;
- Hinzufügen neuer Entitäten, ohne dass das gesamte Netzwerk neu geschult werden muss;
- klare Semantik - es ist klar, warum das Netzwerk diese oder jene Entscheidung getroffen hat;
- einheitliche Netzwerkarchitektur für verschiedene Anwendungen;
- einfache Architektur als Ergebnis - hohe Leistung.
Ich hoffe, dieser Artikel ist der erste Schritt zur Öffnung der implementierten Technologien für die breite Öffentlichkeit der Entwickler und dient als Beginn des OpenSource-Projekts der aktiven semantischen neuronalen Netze von Amosov.