Der Boom neuronaler Netze: Wer stellt neuronale Netze her, warum werden sie benötigt und wie viel Geld können sie bringen? Anfangsbedingungen beim Anpassen der Koeffizienten. Wo werden neuronale Netze eingesetzt?

Es tauchen ständig neue Arten neuronaler Netzwerkarchitekturen auf, die verwirrend sein können. Wir haben für Sie eine Art Spickzettel zusammengestellt, der die meisten davon enthält vorhandene Arten INS. Obwohl sie alle als Unikate dargestellt werden, deuten die Bilder darauf hin, dass viele von ihnen sehr ähnlich sind.

Das Problem mit den obigen Grafiken besteht darin, dass sie nicht zeigen, wie die entsprechenden Netzwerke in der Praxis verwendet werden. Beispielsweise sehen Variational Autoencoder (VAE) genauso aus wie einfache Autoencoder (AE), ihre Lernprozesse unterscheiden sich jedoch erheblich. Die Anwendungsfälle sind noch unterschiedlicher, da es sich beim VAE um einen Oszillator handelt, dem neues Rauschen zugeführt wird, um ein neues Sample zu erzeugen. AE vergleicht einfach die empfangenen Daten mit der ähnlichsten Probe, die während des Trainings erhalten wurde.

Es ist erwähnenswert, dass die meisten dieser Abkürzungen zwar allgemein akzeptiert sind, es jedoch Ausnahmen gibt. Mit RNN meinen sie manchmal ein rekursives neuronales Netzwerk, aber normalerweise meinen sie rekurrent. Wenn man darüber spricht, sieht man auch häufig die Verwendung der Abkürzung RNN beliebig wiederkehrende NS. Auch Autoencoder stehen vor diesem Problem, wenn Variations- und Rauschunterdrückungs-Autoencoder (VAE, DAE) einfach Autoencoder (AE) genannt werden. Darüber hinaus unterscheiden sich viele Abkürzungen durch die Anzahl der Buchstaben „N“ am Ende, da in manchen Fällen „Neuronales Netzwerk“ und in anderen einfach „Netzwerk“ verwendet wird.

Für jede Architektur wird sehr viel gegeben Kurzbeschreibung und ein Link zu einem Artikel, der diesem Thema gewidmet ist. Wenn Sie schnell von Grund auf mit neuronalen Netzen beginnen möchten, folgen Sie unserem übersetzten Tutorial, das aus nur vier Schritten besteht.


Feedforward-Neuronale Netze
(Feed-Forward-Neuronale Netze, FF oder FFNN) und Perzeptrone (Perzeptrone, P) Sie sind sehr unkompliziert und vermitteln Informationen von der Eingabe bis zur Ausgabe. Neuronale Netze werden oft als Schichtkuchen beschrieben, wobei jede Schicht aus Eingabe-, versteckten oder Ausgabezellen besteht. Zellen in einer Schicht sind nicht miteinander verbunden, während benachbarte Schichten normalerweise vollständig verbunden sind. Das einfachste neuronale Netzwerk verfügt über zwei Eingangszellen und eine Ausgangszelle und kann als Modell für Logikgatter verwendet werden. FFNN wird normalerweise mithilfe von Backpropagation trainiert, bei dem das Netzwerk mehrere Ein- und Ausgänge empfängt. Dieser Vorgang wird als überwachtes Lernen bezeichnet und unterscheidet sich vom unüberwachten Lernen dadurch, dass im zweiten Fall das Netzwerk einen Großteil der Ausgabedaten selbst zusammenstellt. Der obige Fehler ist der Unterschied zwischen Eingabe und Ausgabe. Wenn ein Netzwerk über genügend versteckte Neuronen verfügt, ist es theoretisch in der Lage, die Interaktion zwischen Eingabe und Ausgabe zu modellieren. In der Praxis werden solche Netzwerke selten verwendet, sie werden jedoch häufig mit anderen Typen kombiniert, um neue zu erstellen.

Netzwerke Radiale Basisfunktionen (radiale Basisfunktion, RBF) ist ein FFNN, das radiale Basisfunktionen als Aktivierungsfunktionen verwendet. Sie fällt nicht mehr auf :)

Neuronales Hopfield-Netzwerk(Hopfield-Netzwerk, HN) ist ein vollständig verbundenes neuronales Netzwerk mit einer symmetrischen Verbindungsmatrix. Während des Eingabeprozesses ist jeder Knoten eine Eingabe, während des Trainingsprozesses wird er ausgeblendet und dann zur Ausgabe. Das Netzwerk wird folgendermaßen trainiert: Die Werte der Neuronen werden nach dem gewünschten Muster eingestellt, anschließend werden Gewichte berechnet, die sich später nicht ändern. Sobald das Netzwerk auf ein oder mehrere Muster trainiert wurde, konvergiert es immer mit einem dieser Muster (jedoch nicht immer mit dem gewünschten). Es stabilisiert sich abhängig von der gesamten „Energie“ und „Temperatur“ des Netzwerks. Jedes Neuron hat seine eigene temperaturabhängige Aktivierungsschwelle, nach der das Neuron einen von zwei Werten annimmt (normalerweise -1 oder 1, manchmal 0 oder 1). Ein solches Netzwerk wird oft als assoziatives Speichernetzwerk bezeichnet; So wie eine Person, die die Hälfte des Tisches sieht, sich die zweite Hälfte des Tisches vorstellen kann, so stellt dieses Netzwerk, wenn es einen halb verrauschten Tisch empfängt, ihn wieder in den vollen Zustand zurück.

Markov-Ketten(Markov-Ketten, MC oder zeitdiskrete Markov-Ketten, DTMC) sind die Vorgänger der Boltzmann-Maschinen (BM) und Hopfield-Netzwerke (HN). Ihre Bedeutung lässt sich wie folgt erklären: Wie groß sind meine Chancen, in einen der folgenden Knoten zu gelangen, wenn ich mich in diesem befinde? Jeder nachfolgende Zustand hängt nur vom vorherigen ab. Obwohl Markov-Ketten eigentlich keine NNs sind, sind sie sich doch recht ähnlich. Außerdem sind Markov-Ketten nicht unbedingt vollständig verknüpft.

Boltzmann-Maschine(Boltzmann-Maschine, BM) ist einem Hopfield-Netzwerk sehr ähnlich, allerdings sind darin einige Neuronen als Eingabe und andere als ausgeblendet markiert. Eingabeneuronen werden anschließend zu Ausgabeneuronen. Eine Boltzmann-Maschine ist ein stochastisches Netzwerk. Das Training erfolgt mit der Backpropagation-Methode oder dem vergleichenden Divergenzalgorithmus. Generell ist der Lernprozess dem des Hopfield-Netzwerks sehr ähnlich.

Eingeschränkte Boltzmann-Maschine(eingeschränkte Boltzmann-Maschine, RBM) ist einer Boltzmann-Maschine und damit einem Hopfield-Netzwerk bemerkenswert ähnlich. Der einzige Unterschied besteht in seinen Einschränkungen. Darin sind Neuronen des gleichen Typs nicht miteinander verbunden. Eine eingeschränkte Boltzmann-Maschine kann wie ein FFNN trainiert werden, jedoch mit einer Einschränkung: Anstelle von Vorwärts- und Rückwärtsübertragung müssen Sie Daten zuerst in Vorwärtsrichtung und dann in Rückwärtsrichtung übertragen. Anschließend erfolgt das Training mit der Methode der Vorwärts- und Rückwärtspropagierung von Fehlern.

Autoencoder(Autoencoder, AE) ist FFNN in gewisser Weise ähnlich, da es sich um eine andere Art der Verwendung von FFNN handelt und nicht um eine grundlegend andere Architektur. Die Grundidee ist die automatische Verschlüsselung (im Sinne einer Komprimierung, nicht einer Verschlüsselung) von Informationen. Das Netzwerk selbst hat die Form einer Sanduhr, seine verborgenen Schichten sind kleiner als die Eingabe- und Ausgabeschichten und es ist symmetrisch. Das Netzwerk kann mithilfe von Backpropagation trainiert werden, indem Eingabedaten eingespeist werden und der Fehler auf die Differenz zwischen Eingabe und Ausgabe festgelegt wird.

Sparse-Autoencoder(sparse Autoencoder, SAE)- gewissermaßen das Gegenteil des Üblichen. Anstatt das Netzwerk darauf zu trainieren, Informationen in einem kleineren „Volumen“ von Knoten anzuzeigen, erhöhen wir deren Anzahl. Anstatt sich zur Mitte hin zu verengen, schwillt das Netzwerk dort an. Diese Arten von Netzwerken eignen sich für die Arbeit mit einer großen Anzahl kleiner Eigenschaften eines Datensatzes. Wenn Sie das Netzwerk wie einen normalen Autoencoder trainieren, wird nichts Nützliches dabei herauskommen. Daher wird zusätzlich zu den Eingabedaten auch ein spezieller Sparsity-Filter mitgeliefert, der nur bestimmte Fehler durchlässt.

Variationale Autoencoder(variativer Autoencoder, VAE) haben eine ähnliche Architektur wie AE, bringen ihnen aber etwas anderes bei: die Annäherung an die Wahrscheinlichkeitsverteilung von Eingabestichproben. Sie stammen dabei von Boltzmann-Maschinen ab. Sie verlassen sich jedoch auf die Bayes'sche Mathematik, wenn es um probabilistische Schlussfolgerungen und Unabhängigkeit geht, was intuitiv, aber schwer umzusetzen ist. Zusammenfassend können wir sagen, dass dieses Netzwerk den Einfluss von Neuronen berücksichtigt. Wenn an einem Ort etwas passiert und an einem anderen etwas anderes, dann hängen diese Ereignisse nicht unbedingt zusammen und dies sollte berücksichtigt werden.

Rauschreduzierende Autoencoder(Rauschunterdrückungs-Autoencoder, DAE) sind AEs, denen die Eingangsdaten in einem verrauschten Zustand zugeführt werden. Wir berechnen den Fehler auf die gleiche Weise und vergleichen die Ausgabedaten mit den verrauschten Daten. Dadurch kann das Netzwerk lernen, auf umfassendere Eigenschaften zu achten, da sich kleine durch Rauschen ändern können.


Deep Belief-Netzwerk
(Deep Believe Networks, DBN) ist die Bezeichnung für eine Art Architektur, bei der das Netzwerk aus mehreren verbundenen RBMs oder VAEs besteht. Solche Netzwerke werden Block für Block trainiert, und jeder Block muss nur in der Lage sein, den vorherigen zu kodieren. Diese Technik wird „Greedy Learning“ genannt und besteht darin, lokal optimale Lösungen auszuwählen, die kein optimales Endergebnis garantieren. Das Netzwerk kann auch trainiert werden (mithilfe der Backpropagation-Methode), um Daten in Form eines probabilistischen Modells anzuzeigen. Kommt unüberwachtes Lernen zum Einsatz, kann das stabilisierte Modell zur Generierung neuer Daten genutzt werden.


Faltungs-Neuronale Netze
(Faltungsneuronale Netze, CNN)und tiefe Faltungs-Neuronale Netze(Deep Convolutional Neural Networks, DCNN) unterscheidet sich stark von anderen Arten von Netzwerken. Sie werden meist zur Bildbearbeitung eingesetzt, seltener zur Audiobearbeitung. Eine typische Art, CNN zu verwenden, ist die Klassifizierung von Bildern: Wenn eine Katze im Bild ist, gibt das Netzwerk „Katze“ aus, wenn ein Hund vorhanden ist, „Hund“. Solche Netzwerke verwenden normalerweise einen „Scanner“, der nicht alle Daten auf einmal analysiert. Wenn Sie beispielsweise ein 200x200-Bild haben, werden Sie nicht alle 40.000 Pixel auf einmal verarbeiten. Stattdessen zählt das Netzwerk ein 20 x 20 großes Quadrat (normalerweise von der oberen linken Ecke), bewegt sich dann um 1 Pixel und zählt ein neues Quadrat und so weiter. Diese Eingaben werden dann durch Faltungsschichten geleitet, in denen nicht alle Knoten miteinander verbunden sind. Diese Schichten neigen dazu, mit der Tiefe zu schrumpfen, wobei häufig Zweierpotenzen verwendet werden: 32, 16, 8, 4, 2, 1. In der Praxis wird zur weiteren Datenverarbeitung ein FFNN an das Ende des CNN angehängt. Solche Netzwerke werden Deep Networks (DCNN) genannt.

Entfaltung neuronaler Netze(Entfaltungsnetzwerke, DN), auch inverse Graphnetzwerke genannt, sind die Umkehrung von Faltungs-Neuronalen Netzwerken. Stellen Sie sich vor, Sie geben das Wort „Katze“ an das Netzwerk weiter und es generiert Bilder von Katzen, die wie echte Bilder von Katzen aussehen. DNN kann auch mit FFNN kombiniert werden. Es ist erwähnenswert, dass es sich in den meisten Fällen nicht um eine Zeichenfolge handelt, die an das Netzwerk übertragen wird, sondern um einen binären Vektor: zum Beispiel<0, 1>- Es ist eine Katze,<1, 0>- ein Hund, und<1, 1>- sowohl eine Katze als auch ein Hund.

Wie ist der aktuelle Stand von künstlicher Intelligenz, neuronalen Netzen und maschinellem Lernen? Warum gab es so eine lebhafte Diskussion, eine solche Gärung und alle möglichen Diskussionen darüber, dass wir alle im letzten Jahr oder sechs Monaten sterben werden?

Sehr coole Frage! Ich habe viel darüber nachgedacht. Lassen Sie mich versuchen, ausführlich zu antworten.

Als ich am Institut studierte, haben wir zum Beispiel Texte analysiert. Es gibt ein solches Problem: Wir nehmen einen Text, schauen uns einige Markierungswörter an, wie häufig sie im Text vorkommen, und basierend auf der Anzahl und den Beziehungen dieser Markierungswörter im Text können wir diesen Text beispielsweise klassifizieren: B. wissenschaftliche Literatur, Belletristik oder Korrespondenz von Twitter.

Die Algorithmen dort waren recht interessant. Einer der Algorithmen waren neuronale Netze. Bei solchen einfachen Perzeptronen ist alles klar. Sie sagten uns: „Leute, neuronale Netze sind cool, sie sind romantisch, sie sind interessant. Höchstwahrscheinlich ist dies die Zukunft, aber diese Zukunft liegt noch in weiter Ferne.“ Es war 2010. Sie haben an allen Fronten gegenüber anderen Analysealgorithmen verloren, die statistischer sind. Vor allem aufgrund der Tatsache, dass sie unkontrolliert waren, hatten sie viele Fehler und viele Lernschwierigkeiten.

Wenn es in die menschliche Sprache übersetzt wird, kann es beispielsweise in eine Komfortzone oder in ein lokales Minimum fallen, in der mathematischen Sprache, und wird dort nicht herauskommen. Sie sagt: „Das gefällt mir so.“ Ich kann es nicht besser machen. Alle. Verschwinde!“, schüttle, schlage oder ohrfeige sie sogar. Aus diesem Grund gab es großen Pessimismus gegenüber neuronalen Netzen. Wir sind angekommen. Großartig. Es scheint zu funktionieren. Cool. Das ist wahrscheinlich die Zukunft. Wir wissen noch nicht, was wir dagegen tun sollen.

Dies war bereits die zweite Wiederholung des Pessimismus. Das erste war etwa in den 80er Jahren, als sie eröffnet wurden. Ich glaube, das war Hebbs Lernregel. Sie taten etwas Ähnliches wie das Gehirn lernt, allerdings nur in einem sehr primitiven neuronalen Netzwerkmodell. Es hat irgendwie gelernt. Alle: „Wow! Cool". Aber diese Regel (hebba) offenbarte schnell viele Probleme und war im Alltag, wie sich herausstellte, nicht sehr anwendbar. Es gab viel Skepsis und Pessimismus und diese neuronalen Netze wurden etwa 20 Jahre lang vernachlässigt, bis sie eine Lernmethode namens „Backpropagation“ entwickelten.

Doch zwischen 1998 und 2003 kam es zu einer interessanten Entwicklung. Es wurde „Faltungsnetzwerk“ genannt. Sie lag lange da. Die Idee war einfach – es ist in etwa wie der menschliche visuelle Kortex aufgebaut. Die Idee ist einfach. Wir nehmen ein großes Bild auf, teilen es in kleine Quadrate auf und führen für jedes Quadrat den gleichen Vorgang durch. Wir erstellen kein Neuron, das beispielsweise mit allen Pixeln im Bild verbunden ist. Er arbeitet in kleinen Quadraten und auf jedem von ihnen auf die gleiche Weise. Dadurch wurde die Rechenlast neuronaler Netze vereinfacht. Das Unterrichten dieses Geschäfts ist einfacher geworden. Die Genauigkeit hat sich verbessert. Das Wichtigste ist, dass alles mehr oder weniger kontrolliert ist.

Und dann begannen die ersten interessanten Probleme mit Google und Yandex. Darüber hinaus haben die Parteien etwa ab 2013 damit begonnen, aktiv daran zu arbeiten. Die erste besteht darin, Katzen auf YouTube zu erkennen.

Dabei handelt es sich um Faltungs-Neuronale Netze. Sie sind nicht so gruselig. Sie funktionieren sogar noch klarer als das, was ich im Artikel beschrieben habe. Man muss es nur ein wenig herausfinden. Bezogen auf ein 10x10 Pixel großes Quadrat könnte ein Neuron beispielsweise sagen: „Hier gibt es eine Diagonale von links nach rechts.“ Und das zweite Neuron wird sagen: „Hier gibt es ein diagonales Element von rechts nach links.“ Dementsprechend verwandeln wir das Bild mit Diagonalen, horizontalen und vertikalen Linien bereits fast von einem Pixelbild in ein Vektorbild. Wow! Wir haben es genommen und gedreht, wir sprechen nicht mehr in Pixeln, sondern in Diagonalen. Cool! Natürlich hat sie besser funktioniert. Das ist einerseits.

Andererseits kam rechtzeitig ein genetischer Lernalgorithmus. Das Problem ist folgendes. Schauen Sie sich das Netzwerk an, es kann definitiv großartig funktionieren. Aber aus irgendeinem Grund ist unklar, wie diese 5 Milliarden Koeffizienten ausgewählt werden sollen. Anfangs nutzten sie rein mathematische Algorithmen, gaben dann aber auf und sagten: „Komm schon!“ Zum Teufel mit ihm! Kümmern Sie sich nicht um die Beweise. Lasst uns sie irgendwie trainieren.“ Nehmen wir zum Beispiel den genetischen Algorithmus.

In der Praxis bedeutet das, dass wir wahllos etwas ändern und überprüfen. Genau wie im Leben. Wir haben etwas verändert, etwas ausprobiert. UM! Besser. Gehen wir in diese Richtung. Hat nicht funktioniert. Lassen Sie uns etwas anderes tun. Diese beiden haben gute Eigenschaften, kombinieren wir sie. So etwas in der Art: Sie begannen, stochastischer und zufälliger zu unterrichten. Wir haben begonnen, sehr gute Ergebnisse zu erzielen. Darüber hinaus waren diese Ergebnisse nicht mehr so ​​stark wie zuvor von der Komplexität der Netzwerkarchitektur abhängig.

Dann kamen viele sehr kluge Leute angerannt und der Begriff „Deep Learning“ tauchte auf. Dies ist nicht nur ein genetischer Algorithmus. Das ist ein ganzes Klondike von Algorithmen. Irgendwo nutzen sie Mathematik. Irgendwo verwenden sie einen genetischen Algorithmus. Irgendwo verwenden sie möglicherweise einen anderen Algorithmus. Alles wurde kreativ. Solche Netzwerke begannen mit Anerkennung zu arbeiten statische Bilder. Sie kennen diese Geschichte wahrscheinlich. Wir haben Tierrassen gemacht – Bilder von 122 Hunderassen. Im Laufe der Zeit, bis 2015, begann das Netzwerk, die Rasse von Tieren (Hunden) anhand von Fotos besser zu bestimmen als Hundezüchter.

Wie hat es funktioniert?

Die Geschichte besagt, dass alle skeptisch waren und sagten: „Bildbearbeitung ist nur etwas für Menschen.“ Es gibt eine Website mit Trainingsbeispielen. Es gab 122 Hunderassen – viele Fotos für jede Rasse. Sie zeigten alles in einem Raster. Es gab einen Wettbewerb. Labore, die Algorithmen erstellt haben (keine neuronalen Netze, sondern Bilderkennungsalgorithmen), ergaben eine fehlerfreie Erkennung von 80 %. Dies ist ein sehr guter Indikator für jegliche Anerkennung. 80-86 % ist eine gute Erkennungsrate.

Die Leute, die anfangs (meiner Meinung nach im Jahr 2013) nur an neuronalen Netzen gearbeitet haben, zeigten etwa 80 %. Im Jahr 2014 erreichten sie 87 % und übertrafen damit diese Labore. Aber bis 2015 waren es 95 %. Trotz der Tatsache, dass Hundezüchter nur 92 % erkennen. Sie haben ihr ein Fragment eines Bildes eines Hundes gezeigt, und allein anhand der Position des Fells (es ist nicht einmal klar, wie, welche Zeichen sie für sich identifiziert hat) weiß sie bereits, um welche Rasse es sich handelt. Darüber hinaus gibt es Auskunft über die Wahrscheinlichkeit, diese Rassen zu identifizieren. Ein reguläres Netzwerk arbeitet viel stabiler als ein Mensch. Zuerst bekamen die Leute sofort ein wenig Angst: „Oh mein Gott! Dies bedeutet, dass Bediener in Umspannwerken und an vielen anderen Standorten ausgetauscht werden können.“ Dies ist die erste Technologie, die „explodiert“. Man nennt es Faltungsnetzwerke.

Die zweiten Netzwerke sind LSTM. Sie begannen ungefähr zur gleichen Zeit. Es handelt sich um wiederkehrende Netzwerke. Das Problem ist folgendes. In dem, was ich Ihnen erzählt habe, präsentieren wir ein statisches Bild: ein statisches Wort, eine statische Zahlenmenge. Verstehst du? Foto. Das System teilt der Ausgabe mit, zu welcher Klasse sie gehört. Und wenn ich zum Beispiel die Bewegungen eines Roboters programmiere, ist das schon interessanter. Ich habe etwas, das in der Vergangenheit passiert ist – eine Zeitreihe von Sensormesswerten. Ich habe zum Beispiel 20 Sensoren und es geht Bild für Bild weiter. Beispielsweise erhalte ich alle 20 Millisekunden 20 Sensorwerte, normalisiert von Null auf Eins.

Natürlich muss ich Vorerfahrungen berücksichtigen, um eine Art Kontrollmaßnahme oder Lagebeurteilung zu generieren oder etwas einzuordnen. Erste Wahl. Ich habe zum Beispiel 20 Eingänge Kontrollsystem. Ich gehe zum Beispiel Daten 10 Schritte zurück. Dies führte zu 200 Einträgen.

Dafür haben sie sich eine sehr interessante Technologie ausgedacht. Es heißt LSTM. Mein Artikel zeigt zum Beispiel, wie Neuronen ein Signal übertragen, es nicht übertragen und irgendwie damit interagieren. Es ist eine statische Sache. Dort begannen Neuronen, dasselbe mit logischen Operationen zu tun. Sie können das Signal beispielsweise um eine Stufe verzögern. Sie können Sie um mehrere Schritte verzögern. Sie können ihre bisherigen Werte als Eingabe erhalten. Sie müssen nicht verstehen, wie es funktioniert. Sie müssen nur verstehen, dass die Informationen in diesem Netzwerk jetzt genau so lange gespeichert werden, wie das Netzwerk es für notwendig hält. Auch hier wurden alle Einstellungen dieses Netzwerks in einige Koeffizienten unterteilt. Die Ergebnisse waren riesig. Alles begann mit den gleichen Deep-Learning-Algorithmen zu lernen, und das war's. Was haben wir bekommen? Die Tatsache, dass ein solches Raster jetzt mit temporären arbeiten kann S in unseren Reihen.

Ich habe dich so lange im Stich gelassen, damit du keine Angst vor diesen Worten hast und verstehst, was es ist. Als sie anfingen, sie zu verbinden, waren die Leute erstaunt. LSTM-Netzwerke gehören zu einer Klasse von Netzwerken, die als „rekurrent“ bezeichnet werden. LSTM ist eine dieser Technologien. Das Interessanteste ist, was dieser tun kann wiederkehrendes Netzwerk- Sie können ihr am Eingang Worte sagen. Jedes Wort, das sie sagt, ist eine Zahl. Sie hat es irgendwie vektorisiert. Jedes Wort ist eine Zahl. Ihr kann eine Wortfolge vorgegeben werden, die sie bewegen soll.

Dementsprechend sind beispielsweise einige Chatbots, die derzeit entwickelt werden, so aufgebaut: Als Zug wird eine Folge von Wörtern vorgegeben und eine Folge von Antworten ausgegeben – und zwar genau so, Schritt für Schritt. "Ich werde dich töten". Auf dem Gitter steht: „Fuck you…“. Sie weiß nicht, was es ist. Sie weiß nur, dass sie in einer solchen Situation so reagieren muss, sonst werden einige Kriterien verletzt. Dann antwortest du ihr: „Würdest du nicht selbst gehen!“ Sie erinnert sich an ihre Antwort und sagt: „Nein, ich werde nicht gehen.“

Nun handelt es sich immer noch nicht um Boxlösungen. Dies sind Lösungen für Microsoft, Google, Yandex. Ich persönlich habe das nicht. Aber die Jungs aus Amsterdam hatten Spaß. Was haben Sie gemacht? Sie gingen nach draußen und filmten, was auf der Straße geschah. Menschen fahren, es gibt Straßen, Menschen trinken, jemand rennt irgendwo hin, eine Frau eilt zum Laden – ein gewöhnlicher Tag, nichts Interessantes. Wir haben dieses Video aufgenommen und mit nach Hause genommen. Als nächstes verbanden sie Faltungs- und wiederkehrende Netzwerke. Faltungsanalyse von Bildern. Wiederkehrende geben Beschreibungen. Als Ergebnis entwickelten sie ein Programm, das in Textform und auf ziemlich schöne Weise zu beschreiben beginnt: „Eine Frau geht dorthin. Der Radfahrer fährt irgendwohin.“

Die Jungs nutzten diese Technologien und begannen mit der Kreation. Wir machen eine kurze Beschreibung der Geschichte, zum Beispiel: „Ein Mann lebte in der Wüste“, etwas anderes. Und das Netzwerk gibt eine vollständige und detaillierte Beschreibung dieser Situation und stellt sich vor, was passiert. Sie „fütterten“ sie mit allen Romanen, die es gibt, und sie begann damit schöne Aussicht schreibe einen Seitenaufsatz. Sie können ihr ein Foto oder eine kurze Beschreibung der Situation „füttern“. Sie schildert die Situation im Detail: „Er kam zu spät zum Bus, schaffte es aber nicht.“ Und zwar nicht einmal auf dem Niveau eines Kindes, sondern auf dem Niveau eines ziemlich erwachsenen Teenagers. Das ist großartig.

Mit anderen Worten: Wir haben alle Schwellenwerte überwunden, die das Funktionieren dieser Netzwerke verhinderten, und eine Technologie erhalten, bei der man durch Anpassen der Koeffizienten jede beliebige Logik erhalten kann. Dementsprechend müssen nur noch die Koeffizienten entsprechend der jeweiligen Aufgabenstellung angepasst werden. Es kann lange dauern, es kann teuer sein, es kann etwas anderes sein, aber es ist möglich. Und da alle Technologien tendenziell exponentiell wachsen und jetzt klar ist, dass wir erst am Anfang des exponentiellen Wachstums stehen, wird es allmählich beängstigend.

Das Schönste, was passieren kann, ist ein kürzlicher Sieg in einer Go-Partie. Das Spiel Go kann nicht analytisch berechnet werden, da die Anzahl der Kombinationen außerhalb der Diagramme liegt. Das ist kein Schach. Das sind milliardenfach mehr mögliche Kombinationen als beim Schach. Ein neuronales Netzwerk zum Spielen von Go wurde in sechs Monaten aufgebaut und sechs Monate lang mit sich selbst spielen gelassen. Dies reichte ihr, um einige Weltmeister zu schlagen. Dann holten sie sich den coolsten Go-Weltmeister. Sie spielte noch drei weitere Monate mit sich selbst und besiegte den coolsten Go-Champion. Sie brauchte ein Jahr, um alles zu schaffen. Vor einem Jahr sagten alle: „Go wird der künstlichen Intelligenz noch 10 Jahre standhalten.“

Es gibt jetzt keine Spiele mehr. Google macht sich mittlerweile darüber lustig, dass es StarCraft in das neuronale Netz integrieren will. Mein Bruder, ein professioneller StarCraft-Spieler, sagt: „Katastrophe!“, denn es ist bekannt, dass man mit unbegrenzter Mikrokontrolle von 20 Zerlings (sprich: Bauern) 10 Panzer zerstören kann. Die Menschen, selbst Koreaner, werden nicht mehr konkurrenzfähig sein.

Dementsprechend begann das explosionsartige Wachstum der Technologie. Dabei handelt es sich noch nicht um Boxlösungen. Es ist klar, wie man es anwendet, aber jeder hat ein bisschen Angst und es gibt keine Erfahrung. Alle warten darauf, wer der Erste sein wird. Nach und nach werden sie eingebaut Google-Suche, in der Yandex-Suche, in Facebook-Suchergebnissen, in Siri alles Mögliche, Chatbots. Allmählich, allmählich dringen sie dort ein.

Der letzte ist der schwierigste. Wir Menschen lieben uns selbst. Aber erstens können sich Menschen nicht so erfolgreich an die Umgebungssituation anpassen, und zweitens haben wir immer nur sehr wenige Informationen. Als wir beispielsweise kürzlich einem Raster beigebracht haben, einfach nach Synonymen und Wörtern mit ähnlicher Bedeutung zu suchen, haben wir ihm 1 Gigabyte Wikipedia „gefüttert“. Um 1 Gigabyte Wikipedia auf einem alten MacBook zu assimilieren, zu „verdauen“, brauchte sie 4 Stunden, für alle Romane auf Russisch weitere 8 Stunden. Und die gesamte Sammlung von in Russland auf Russisch verfassten Belletristikromanen umfasst etwa 15 Gigabyte, und der gesamte Wikipedia-Korpus umfasst 5 Gigabyte. Insgesamt wird ein solches Raster in drei Tagen alles „verdauen“, oder vielmehr die Hauptsache, die von Leuten auf Russisch geschrieben wurde. Sie wird alles über die russische Sprache wissen. Dafür wird sie mehrere Tage brauchen.

Kein einziger Philologe, kein einziger Kulturhistoriker, kein einziger Schriftsteller wird die russische Sprache so gut beherrschen wie sie. Wenn uns etwas an der Funktionsweise dieses Systems nicht gefällt, sagen wir: „Raus“, optimieren etwas, ändern seine Architektur und versuchen es erneut. Aber in einem Jahr werden wir definitiv einen Superautor bekommen. Dies zeigt, warum jetzt jeder Angst vor neuronalen Netzen hat und warum gerade jetzt, heute, ein explosionsartiges Wachstum stattfindet. So.

Danke für die tolle Geschichte. Jetzt werden neuronale Netze „geschärft“, um bestimmte Aufgaben zu erfüllen. Wenn das Netzwerk Katzen erkennen kann, kann es Hunde nicht mehr erkennen, oder wenn es Romane auf Russisch schreibt, dann kann es auch keine Katzen erkennen. Das ist richtig?

Ja, richtig. Aber Sie müssen verstehen, dass ein Mensch auch „geschärft“ ist, bestimmte Handlungen auszuführen, nämlich Fortpflanzung, Überleben und das ist alles. Im Ernst. Wir haben ein Faltungsnetzwerk (natürlich fortgeschritten) im visuellen Kortex, ein fortgeschrittenes rekurrentes Netzwerk im auditorischen Kortex, und irgendwo in den Tiefen des Gehirns gibt es andere Arten von Netzwerken, denen wir noch nicht auf den Grund gegangen sind noch. Im Wesentlichen handelt es sich jedoch um ein Klondike aus mehreren Netzwerken, die auf jedes Sinnesorgan „zugeschnitten“ sind. Es gibt eine ultimative Motivation – eine Einschätzung dessen, was passiert. Nach dieser Einschätzung produziert unser Körper Endorphin, Serotonin oder Adrenalin – kurz gesagt, er steuert den Allgemeinzustand des Nervensystems. Das ist alles.

Aber der Mensch hat auch eine negative Eigenschaft. Nehmen wir an, ich bin in einem Umspannwerk im Einsatz und habe Komplexe. Als Kind wurde ich zum Beispiel mit Stöcken geschlagen. Aufgrund dieser Komplexe kann es sein, dass ich die Aufgabe nicht abschließen kann. Und wenn das Gitter dafür trainiert ist, wird es bekanntlich nicht an die Probleme der Weltrevolution und die Tatsache denken, dass es in der Kindheit mit einem Stock geschlagen wurde, wenn es sieht, dass die Temperatur in einem der Schaltkreise begonnen hat über die Grenzen hinauszugehen akzeptable Werte. Sie wird alles besser analysieren.

Nicht sehr klar. Grid wurden Katzen „in ihrer Kindheit“ gezeigt, und sie ist dadurch traumatisiert, und die Spitzentemperatur in der Grafik ähnelt den Ohren von Katzen, und sie wird sich davon zurückziehen. Warum ist diese Situation unmöglich?

Das funktionierende Raster wird ein anderes Raster sein. Wenn wir es auf dem aktuellen Stand der Technologieentwicklung tun (ich werde jetzt kein Science-Fiction-Autor sein), werden wir auf dem aktuellen Stand der Technologieentwicklung nicht dasselbe universelle Raster erstellen, das sowohl die Katze erkennt als auch die Situation am Ort kontrolliert Bahnhof. Wir brauchen das nicht. Wir brauchen ein Gitter, das eindeutig eine bestimmte Aufgabe erfüllt. Wenn eine bestimmte Aufgabe außerdem sehr umfassend ist, beispielsweise das Erkennen aller Tiere, Menschen und ihrer Emotionen anhand von Fotos (Sie müssen zugeben, dass dies eine ziemlich ernste Aufgabe ist), wird diese Aufgabe ausgeführt. Die Ausgänge dieses trainierten Gitters sind getrennt und isoliert, und wir können es wunderbar mit einem anderen Gitter verbinden, das Entscheidungen treffen kann, oder es kann ein Expertensystem sein. Wir können das so vermasseln, wie wir wollen, bis wir bekommen, was wir brauchen. Niemand sucht nach einer universellen Lösung. Es besteht immer Bedarf an einer bestimmten Aufgabe. Wenn das Problem sehr umfassend ist, wird es eine sehr umfassende Lösung geben, wenn es eng ist, wird es eine schmale und schöne Lösung geben.

Um einen Menschen zu reproduzieren, bräuchten wir tatsächlich viele, viele dieser hochentwickelten neuronalen Netzwerke, die in Reihe oder parallel geschaltet würden, um eine Art menschliches Gehirn zu bilden. Ich verstehe korrekt?

Wenn Sie sich ein Ziel setzen – das Abbild einer Person mit Armen, Beinen und allem anderen zu reproduzieren. Ernsthaft. Mit künstlicher Intelligenz.

Ich spreche vom Geist.

Schauen wir uns zunächst die Person an. Es verfügt über eine Großhirnrinde. Wir haben das Kleinhirn. Wir haben einen visuellen Kortex, einen akustischen Kortex, einen Hypothalamus usw. Linke und rechte Hemisphäre. Dies sind alles separate Netze. Es gibt eine tiefe Schicht – das Unterbewusstsein: Alle diese Netzwerke reichen tief. Man erkennt, dass sie miteinander verbunden sind.

Erinnern Sie sich, als ich Ihnen erzählte, wie wir zwei Arten von Gittern – Faltungs- und wiederkehrende – kombinierten und anhand von Bildern eine Beschreibung dessen erhielten, was um uns herum auf der Straße geschah? Soweit ich weiß, haben sie nicht viel Architektur hineingesteckt, das heißt, das Programm hat auch Verbindungen zwischen diesen Netzen hergestellt automatischer Modus, durch den gleichen genetischen Algorithmus. Dennoch bleibt die Technik auf die eine oder andere Weise in der Evolution und im Menschen.

Nur ein Mensch zu sein, um einen Roboter dazu zu bringen, sich wie ein Mensch zu verhalten, ist eine sehr weitreichende Aufgabe. Irgendwann wird es nicht mehr das Schwierigste sein, es zu programmieren, sondern herauszufinden, was wir davon wollen.

Ernsthaft. Wollen wir, dass es das Geschirr abräumt? Oder dass dies der ideale Liebhaber wäre? Oder der perfekte Krieger zu sein? Werden wir den Instinkt der Selbsterhaltung hineinbringen, damit wir später etwas bekommen, das den Planeten erobern wird, oder nicht? In unserem Land ist es von der Evolution starr und auf einem sehr niedrigen Niveau festgelegt. Warum sollte er es verpfänden? Die letzte Frage. Warum brauchen wir das? Spielen? Höchstwahrscheinlich werden Sie eine solche Person sehen – einen Androiden – und sagen: „Cool! Wir haben dich gesehen. Lasst uns jetzt normale Probleme lösen – Brot anbauen, Menschen töten.“ Solche normalen menschlichen Aufgaben.

Bußgeld. Es ist klar. Wir sind in die Zukunft eingetaucht. Ich kehre zu aktuellen Aufgaben und Realitäten zurück. Die Frage ist das richtige Verständnis der Funktionsweise neuronaler Netze und künstlicher Intelligenz. In unserem Artikel wurde geschrieben, dass nach der Schaffung eines Netzwerks nur wenige Menschen verstehen können, auf welcher Grundlage es Entscheidungen trifft. Ist das wahr oder nicht?

In den meisten Fällen ja. Wenn Sie wissen, dass ich 9 Neuronen beschrieben habe – wie jedes von ihnen funktioniert. Es waren 9 davon, aber das ist ein völlig übertriebenes Beispiel. Zunächst wiederhole ich noch einmal, was da war. Was in der verborgenen Schicht geschieht, wird von Menschen niemals formalisiert. Wir sagen einfach: „3 mal 3. Das sind die drei Eingänge, das sind die drei Ausgänge.“ Hier sind die Paare: wie es war, wie es sein sollte. Lernen." Was sie auf diesen verborgenen Schichten macht, weiß niemand.

Gitter zur Lösung komplexer Probleme sind nicht unbedingt mehrschichtig, aber meist sehr breit, das heißt, es gibt sehr große Schichten – jeweils tausend, zehntausend Neuronen. Es findet die Regel. Wir können nur beurteilen, wie gut diese Regel ist. Denn niemand, der bei klarem Verstand ist, kann das sicher überprüfen. Tatsache ist, dass es Programmierer dafür gibt – Leute wie mich zum Beispiel, wenn sie das alles mit strenger Logik programmieren könnten, und im Allgemeinen könnte es eine Person tun. Wir schreiben Schleifen, ifs, Funktionen.

Goto ist die Hauptsache.

Gehe zu. Dann schlugen wir uns gegenseitig für Goto. Alles, was wir formalisieren können, wird uns von Programmiersprachen gegeben. Neuronale Netze stellen einige abstrakte Regeln bereit, die die Regeln selbst irgendwie aufstellen. Wir können nur die Angemessenheit ihrer Ausbildung beurteilen, das ist alles.

Bußgeld. Nach meinem Verständnis handelt es sich bei den Regeln um eine Art spezifische Tabelle, die besagt, dass es sich um eine Katze handelt, wenn die Diagonale in einem Quadrat von rechts nach links verläuft, und wenn sie von links nach rechts verläuft, um einen Hund. Diese Regeln sind irgendwo niedergeschrieben, das heißt, wir können ihnen tatsächlich auf den Grund gehen und zu den Ursprüngen bestimmter Entscheidungen führen.

Leider gibt es keine. Regeln sind keine Tabelle, es gibt dort kein „Wenn“. Es gibt eine Reihe von Koeffizienten und Schwellenwerten, das heißt, es handelt sich um eine große Anzahl von Zahlen. Beispielsweise können in dem 3x3-Netzwerk, über das ich gesprochen habe, etwa 20 Nummern in den Einstellungen enthalten sein. In einem Netzwerk von 10.000 pro 100 wird es Milliarden solcher Koeffizienten geben. Alle.

Wie arbeiten wir dann alle? Mithilfe dieser Koeffizienten können Sie ein eindeutiges „oder“ bilden, beispielsweise einen logischen Operator. Alles, was kodiert werden kann, kann von einer Turing-Maschine kodiert werden – es gibt einen solchen Satz. Was brauchen wir also, damit wir eine Turing-Maschine haben (sie funktioniert auch mit Zeitreihen)? Wir brauchen einen Wandel. Wir benötigen grundlegende logische Operatoren: „und“, „oder“, Addition, Multiplikation. Dies kann durch Anpassen der Koeffizienten erfolgen. Beispielsweise können wir durch Anpassen der Koeffizienten ein exklusives „oder“, „und“ oder einen beliebigen logischen Operator erstellen. Während wir mit einem logischen Operator arbeiten, sehen wir klar, wie die Logik verteilt ist, welche Ausgaben es gibt und wir können alles testen.

Aber wenn ein Gitter von 10.000 x 10.000 beginnt, also ein riesiges, können wir nicht analysieren, welche logischen Schaltkreise es aufbaut, um den Trainingssatz zu erfüllen, da es sich nur um eine Menge von Zahlen handelt. Wenn wir es wirklich wollen, können wir natürlich einen Teil davon isolieren und ihn auf die gleiche Weise weiter untersuchen, wie wir das menschliche Gehirn untersuchen, indem wir ihm verschiedene Hunde, Katzen, Waffen usw. zeigen: Welches Neuron wird wo aufleuchten? welche? Neuronen brennen ständig, welche „fallen ab“. Der einzige Weg. Es gibt jedoch keine Tabelle, die eine Logik für die Entscheidungsfindung liefern könnte.

Ein Neuron sagt: „Ich habe ein abstraktes Bild A erkannt.“ Das zweite Neuron sagt: „Ich habe ein abstraktes Bild B erkannt.“ Das dritte Neuron sagt: „Ich habe das abstrakte Bild C nicht erkannt.“ Das Ausgabeneuron fragt: „Wie gut haben Sie sie erkannt?“ Sie haben eine Genauigkeit von 80, 90 bzw. 10 Prozent. Das Ausgabeneuron sagt: „Es besteht also eine Wahrscheinlichkeit von 75 %, dass es sich um eine Katze handelt.“

Jetzt haben Sie eine stille Frage: „Was ist dieses abstrakte Bild A?“ Ich sage, dass ich nicht weiß, was für ein abstraktes Bild A ist. Dieses abstrakte Bild A entstand aus etwa 20 weiteren subabstrakten Bildern oder deren Fehlen. Und sie wiederum sind bereits darauf zurückzuführen, dass es irgendwo eine Diagonale gibt, die eine andere Diagonale schneidet. Wahrscheinlich werden wir analytisch verstehen können, dass es wie ein Ohr aussieht, und zwar wie ein Katzenohr, denn der Hund wird keine Diagonalen haben, sondern etwas Verschwommenes, Hängendes und übelriechendes. Die Entscheidung wird in etwa so getroffen.

Ein neuronales Netzwerk ist lediglich eine Möglichkeit, jede Logik in einen Satz von Koeffizienten umzuwandeln. Aber sobald wir diese Koeffizienten angepasst haben, können wir diese Logik nicht mehr analysieren. Es ist zu komplex für die menschliche Wahrnehmung. Vor allem, weil wir es gewohnt sind, etwas in klarer Logik zu analysieren. Wenn überhaupt, ist unsere linke Hemisphäre darauf eingestellt. Wenn ich hochgehe und einen Boxer schlage, werde ich mich höchstwahrscheinlich schlecht fühlen. Tatsächlich denken wir nicht einmal so. Wir denken: „Mir wird es schlecht gehen.“ Wir bewerten nicht die Fähigkeiten des Boxers.

Und hier bekommen wir Fuzzy-Logik. Wenn ich mich in dieser Situation dem Boxer aus diesem Winkel nähere und der Boxer etwas betrunken ist und die Beleuchtung so ist, beträgt die Wahrscheinlichkeit, „auf die Anzeigetafel zu kommen“, 35 %. Wir nennen das Intuition. Dafür haben wir die rechte Gehirnhälfte. Es funktioniert großartig. Wenn wir etwas nicht verstehen, nennen wir es „Religion“, „Magie“ oder „weibliche Logik“, ob es uns gefällt oder nicht. Oder wir nennen jemanden ein Genie. Wir können unsere Handlungen nicht analysieren. Hier ist es das Gleiche.

Bußgeld. Die nächste Frage folgt logisch. Es gibt ein System, dessen Funktionslogik nicht ganz klar ist, es ist unmöglich, sie zu verstehen. Wie kann ein neuronales Netzwerk ein Elektro- oder Atomkraftwerk steuern? Wenn seine Entscheidungen vom Menschen nie verstanden werden, kann es in einer bestimmten Situation den Reaktor beschleunigen oder im Gegenteil abschalten. Doch wie kann man einem solchen System Vitalfunktionen oder Vitalsysteme anvertrauen?

Hier ist alles ganz einfach. Zufälligerweise habe ich gerade fünf Jahre lang in der Elektrizitätswirtschaft gearbeitet, insbesondere im Bereich Steuerungssysteme. Wir haben nicht nur ein Entscheidungssystem. Jetzt ist es zum Beispiel der Computer. Es gibt dort eine Relaisautomatisierung, also einige redundante Systeme. Es gibt drei Systeme. Relaisautomatisierung. Es funktioniert ganz einfach. Die Temperatur ist höher – das ist das, mach das, das ist es. Essen automatisches System Management. Das ist ein Computer. Jetzt wird die Logik dort von Programmierern programmiert. Schließlich gibt es einen schläfrigen Dienstoffizier, der sich mit Solitärspielen vergnügt. Egal wie sehr es ihm verboten wird, er wird immer noch einen Weg finden, Solitaire zu spielen.

Wir können es so planen, wie wir wollen. Ich persönlich würde das tun. Ich würde die Relaisautomatisierung belassen. Laut Computerautomatisierung gibt es konsistente und inkonsistente Zustände. Wenn zum Beispiel die Temperatur des Reaktors steigt und der Temperaturanstieg in den letzten paar Stunden an diesem oder jenem Punkt liegt, kann ich die Stäbe nicht auf einem niedrigeren Niveau als diesem Niveau halten. Dies ist in GOSTs vorgeschrieben. Wenn wir also einen inkonsistenten Zustand herstellen, bewegen wir uns von der Fuzzy-Logik zur klaren Logik.

Und nun eine sehr interessante Analogie. Das Gleiche passiert uns Menschen. Wir haben zwei Entscheidungssysteme. Das eine nennen wir „Logik“, das zweite „Intuition“ oder „Unterbewusstsein“. Sie duplizieren sich ständig. Nehmen wir an, ich möchte Eis, aber mein Zahn tut weh. Wenn Sie kein logisches System hätten, würden Sie wahrscheinlich so lange Eis essen, bis Ihr Zahn so weh tut, dass Sie einfach nichts mehr essen könnten. Aber Sie haben dafür eine Logik, also essen Sie nicht das Eis und gehen zum Arzt. Weil es dir jemand gesagt hat. Und die Intuition weiß immer noch nicht, wer der Arzt ist. Logischerweise gehst du zum Arzt, weil es dir jemand gesagt hat, oder du hast es im Internet gelesen.

Hier ist es das Gleiche. Sie werden hier zwei Systeme haben. Das eine ist steuernd, das andere automatisch. Die Aufgabe des neuronalen Netzes wird es dabei sein, die Annäherung an den Grenzwert zu verhindern. Verstehst du? Und da sie mehr Verbindungen sehen wird, als eine Person, selbst die erfahrenste, sieht, wird sie höchstwahrscheinlich viel besser funktionieren.

Inwieweit, bei welchen Zielaufgaben kann ein neuronales Netz nun den Menschen ersetzen? Oder ist es (am Beispiel von Go) bereits in der Lage, in vielen Bereichen zu akzeptieren beste Lösungen, als eine Person?

Es scheint mir, aber das ist überhaupt keine klare Antwort, da im Beispiel mit Go jederzeit alles passieren kann. Ich habe gerade einen Vortrag zu diesem Thema gehört. Es kann jederzeit alles passieren. Mir scheint, dass dies ungefähr dasselbe ist wie bei der Entwicklung von Personalcomputern. Erste persönliche Computer wir erschienen auf Apollo. Apple II, der ernsthaft in die Massen ging, erschien meiner Meinung nach 8 Jahre später. Apollo 1969, Apple II meiner Meinung nach 1977. Davor erschienen einige andere IBM. Nun sind neuronale Netze wahrscheinlich älter als Apple II, aber als Programmierer kann ich Ihnen sagen, dass es keine Paketlösungen gibt, die ich schnell implementieren und verstehen kann. Wann werden sie erscheinen? Ich gehe davon aus, dass dies innerhalb von etwa fünf Jahren geschehen wird. Warum habe ich gerade diese Nummer erwähnt? Denn es handelt sich um Prognosen, wann Roboterautos in aller Ruhe nach Amerika kommen und losfahren werden.

Dementsprechend wird in 5 Jahren ein ernsthafter Ersatz vieler Menschen beginnen. Genauer gesagt, jetzt werden die Menschen die Kontrolle haben. Was Sie zunächst für lange Zeit retten wird, ist das, was Sie haben Computersystem begrenzte Zuverlässigkeit und relativ hohe Kosten für das System selbst und die Wartung. Solange diese Kosten relativ gesehen höher sind als das Gehalt eines Traktorfahrers, werden neuronale Netze nicht sehr wettbewerbsfähig sein. Aber nach und nach werden diese Kosten vergleichbar werden.

Mittlerweile gibt es zum Beispiel bereits japanische Traktoren, die selbst mähen können. Für einen Traktor ist das keine allzu schwierige Aufgabe. Ein solcher Traktor mäht das gesamte Feld und nicht die im Weizen versteckten Kinder. Aber zum Beispiel kostet ein russischer Traktorfahrer Wanja 8.000 Dollar im Monat, und die Unterstützung eines japanischen Traktors kostet im besten Fall durchschnittlich 1,5.000 Dollar im Monat, wenn es einen guten Park und eine große Farm gibt. Bisher gewinnt Vanya. Aber wie lange wird das so bleiben? Wann wird die Effizienz eines Traktors (ohne Vanya) deutlich höher sein als die von zehn Vanyas? Es ist eine Frage der Zeit.

Sie sagten, einer der Anwendungsbereiche seien automatische Autos, Autopiloten, Roboterautos. Mittlerweile wird viel darüber geredet, dass in Amerika nicht einmal im Personenverkehr, sondern im Güterverkehr eine Revolution bevorsteht, bei der die Fahrer großer Lastwagen durch Roboter, Automaten und künstliche Intelligenz ersetzt werden. Dann werden die Menschen anfangen, gegen künstliche Intelligenz zu protestieren? Was müssen sie tun, um ihren Job zurückzubekommen bzw. was müssen sie tun?

Ich habe sehr wenig Verständnis für politische und humanitäre Systeme. Ich bin kein Profi, aber ich habe auch viel darüber nachgedacht. Erinnern Sie sich, wie es war? Wir hatten mehrere solcher Beispiele. Das erste Beispiel: Schreibmaschinen ersetzten Kalligrafien. Erinnern Sie sich, dass das passiert ist? Dann kam die industrielle Revolution. Computer kamen ganz spontan auf den Markt, denn wie sich herausstellte, waren diejenigen, die früher auf Papier schrieben, nur allzu glücklich darüber. Computer scheinen nichts dergleichen bewirkt zu haben, sie haben sogar Arbeitsplätze geschaffen.

Ich denke, das ist ein wirklich ernstes großes Problem. Aber auch hier gibt es eine positive Norm. Nehmen wir etwas Land. Zum Beispiel das hypothetische Holland. Das hypothetische Holland verdient zum Beispiel eine Milliarde herkömmlicher Dollar pro Jahr. Dementsprechend gibt sie diese Milliarde Dollar für ihr Budget aus – um etwas für einige Menschen zu tun. Wir nehmen alle Menschen. Wirtschaftlichkeit wird an der Geschwindigkeit gemessen, mit der sich die Cashflows drehen. Drei Dollar reichen uns für das ganze Land, aber wenn sie mit einer Geschwindigkeit von viermal pro Sekunde durch alle Hände gehen, stellt sich heraus, dass jeder viel verdient und ausgibt.

Wenn also der Staat die Wirtschaft kompetent aufbaut, die Geschwindigkeit des Geldumschlags jedoch durch das Aufkommen dieser neuronalen Systeme nicht sinkt, dann ist alles in Ordnung. Ich denke, dass alle Staaten danach streben werden. Zum Beispiel Experimente mit bedingungslosem Einkommen, die derzeit stattfinden, oder etwas anderes.

Aber im Allgemeinen ist das Problem, was die Leute tun werden, sehr akut. Das ist eine sehr große Frage.

Heute schreibe ich ein Programm. So wie ich es verstehe, schreiben Sie Artikel? Verstehe ich es richtig?

Werden wir alle ersetzt?

Ja. Das ist kein Witz. Erinnern Sie sich noch an die Zeit, als die Menschen ihre eigenen Pullover strickten? Ich war kürzlich in Nepal und habe einen handgefertigten Strickpullover gekauft. Kein Unterschied zu einem ungestrickten, aber es sieht cool aus. Sie können es in Russland kaufen. Es wird teuer werden. Ungefähr gleich. Es ist jedoch keine Tatsache, dass Handarbeit besser ist. Ich glaube nicht, dass Sie und ich ein handgefertigtes Auto fahren möchten.

Das ist eine riesige, kolossale Frage: Was werden die Menschen mit dem Aufkommen neuronaler Netze tun?

Können neuronale Netze und künstliche Intelligenz kreative Probleme lösen? Ganz am Anfang haben wir darüber gesprochen, dass solche Systeme bereits in der Lage sind, Fotos oder bestimmte Ereignisse in einzelnen Teilen zu beschreiben, wahrscheinlich Skripte zu schreiben. Kürzlich, erst letzte Woche, gab es die Nachricht, dass der erste Film gedreht wurde, der auf einem Drehbuch mit künstlicher Intelligenz basiert. Werden sie tatsächlich in der Lage sein, etwas Neues zu erschaffen, also zu programmieren, Bilder zu malen, Filme zu machen oder Drehbücher zu schreiben, und nicht nur nach jemand anderem zu wiederholen?

Vor zwei Jahren habe ich auch darüber nachgedacht, dass alles in Ordnung ist. Egal wie es sich entwickelt, so wird es sein. Und dann habe ich das gesagt. Die Evolution hat unsere kreativen Fähigkeiten aus einem einfachen Grund eingeschränkt: weil sie mäßig destruktiv sind. Aber im Durchschnitt ist es genau das, was Sie brauchen. Die Evolution bringt manchmal einen Linkshänder hervor, der angerannt kommt und eine Art Chaos verursacht. Und noch besser, wenn es sich um einen umgeschulten Linkshänder handelt, der an einer bipolaren Störung leidet. Einige Jobs. Er wird angerannt kommen und Chaos anrichten. Er wird die gesamte Gesellschaft auf Kosten seines eigenen normalen, glücklichen Lebens voranbringen. Es ist in Ordnung. Etwas Kurt Cobain, Jesus Christus. Voller Menschen. Evolution ist von Vorteil, weil sich die Menschheit bewegt. Aber wenn sie alle so macht, wird die Menschheit aussterben. Denn die Affen werden kommen und die Leute werden ausrasten: „Wie?! „Sie bringen uns um.“ Sie werden zu früh denken, dass das Leben bedeutungslos ist und dass es keinen Bedarf gibt, Kinder zu haben.

Bei neuronalen Netzen gibt es solche Einschränkungen jedoch nicht. Wir alle sind es gewohnt, Kreativität als eine ungewöhnliche Sache zu betrachten, nur weil es nur wenige Menschen tun, und nicht, weil wir uns etwas völlig Neues ausgedacht haben. Jede Kreativität besteht darin, eine alte Erfahrung zu nehmen, sie mit ein wenig Zufälligkeit zu mischen und sie auf neue Weise auszuprobieren. Sie ließen die alten Verhältnisse hinter sich und gaben ihr eine neue Form. Außerdem stammte die Uniform aus einer benachbarten Region. Wie war es zum Beispiel in der Musik? Der Stil des Minimalismus erschien. Sie übernahmen den Minimalismus vom Design und übertrugen ihn in die Musik. Das ist alles. Usw.

Ich schätze, das ist wahrscheinlich nicht sofort der Fall, aber dieses Problem lässt sich noch einfacher lösen als mit dem Autofahren. Autofahren ist für den Menschen eine evolutionär vertraute Aufgabe. Deshalb denken wir, dass es einfacher ist, als Musik zu schreiben. Und ein neuronales Netzwerk, das schlechte Musik geschrieben hat, kann einen Menschen nicht töten. Daher ist es für ein neuronales Netzwerk einfacher, zu einem bestimmten Zeitpunkt zu schreiben, als ein Auto zu fahren.

Es ist eine umstrittene Frage, ob schlechte Musik töten kann.

Ich stimme Ihnen zu.

Bußgeld. Nächste Frage. Auch kreative Probleme werden gelöst. Gibt es Einschränkungen, wenn die Fähigkeiten oder Möglichkeiten der künstlichen Intelligenz nicht anwendbar sind? Oder wie es in den Filmen heißt: „Es wird alles ein kontinuierliches Fernsehen sein“, es wird eine kontinuierliche künstliche Intelligenz und neuronale Netze geben. Gibt es Bereiche, in denen dies immer noch nicht effektiv funktioniert?

Wenn es so weitergeht, wird es innerhalb von fünf Jahren viele solcher Gebiete geben. Aber wenn das wirklich exponentiell ist, dann wird es in 20 Jahren keine solchen Gebiete mehr geben.

Ich habe lange darüber nachgedacht und bin zu dem Schluss gekommen, dass neuronale Netze dies nach und nach tun werden. Lassen Sie uns zunächst die Produktion optimieren. Lasst uns. Schließen wir alle Maschinen daran an. Es wird eine fachmännische Lösung bereitgestellt, und die Menschen werden entscheiden, ob sie richtig ist oder nicht. In Verbindung gebracht. Setzen wir unseren gesamten Google- oder Apple-Konzern darauf ein. Sie wird schauen und darüber nachdenken, welche Gehälter sie festlegen soll, den Markt überwachen – Aktien verkaufen oder kaufen, Hochfrequenzhandel betreiben und so weiter. Lasst uns? Lasst uns. Erledigt. Und dann soll sie unseren Politikern helfen. Da sind viele Menschen. Es ist bekannt, dass ein guter Politiker ein informierter Politiker ist. Wir brauchen ein Expertensystem. Wird helfen? Es wird helfen, wir werden es tun.

Es wird also weiter wachsen, wachsen, wachsen, beispielsweise bis hin zur Verwaltung des Staates. Bis irgendwann jemand im Sinne des Netzwerks einen fatalen Fehler begeht. Die Aufgabe des Netzwerks besteht darin, Wege zu finden, Menschen besser zu machen. Nach und nach wird ihr Verantwortung übertragen. Sie kann beispielsweise Busse nach einem anderen Fahrplan oder etwas anderem fahren lassen. Sie wissen, dass NLP-Techniken sehr einfach sind. Hier hat er gedrängt, hier hat er geniest, hier hat er etwas Falsches gezeigt. Die Menschen haben die Entscheidung getroffen, die Sie brauchen, und Krex-pex, der Präsident, wir haben bereits ein neuronales Netzwerk, künstliche Intelligenz.

Ich finde das wirklich sehr, sehr cool, weil ein solches System in der Lage sein wird, die Bedürfnisse jedes Einzelnen zu kontrollieren. Aber die Notwendigkeit besteht nicht darin, dass jemand schwul sein möchte und dass jemand Angst vor Gewalt hat, also lasst uns alle äußerst tolerant sein. Es gibt andere Lösungen für dieses Problem. Isolieren wir diese Menschen ein wenig und zeigen wir ihnen unterschiedliche Inhalte. Und dieser Kerl will hart werden, schicken wir ihn zur französischen Fremdenlegion.

Dann kommt es auf die Programmierung an. Aber höchstwahrscheinlich wird das neuronale Netzwerk keine Aggression zeigen, es sei denn, jemand tut dies sehr sorgfältig. Sie wird auch nicht allzu viel Toleranz haben. Sie wird eine wirklich informierte und weise Entscheidung treffen. Dies ist in der Tat die Erlösung für die Menschheit, von der es mittlerweile viele gibt. Deshalb denke ich, dass man davor keine Angst haben muss. Die Sache, vor der man Angst haben muss, ist, dass wirklich unklar ist, für wen wir bald alle arbeiten werden.

Gehen wir zurück in unsere Zeit. Sie sagten, dass es noch keine Standardlösung gibt. Soweit ich gelesen und gesehen habe, gibt es einfach einige Open-Source-Systeme, auf denen man üben kann. Können Sie Beispiele empfehlen, anhand derer unsere Leser und Zuhörer versuchen können, künstliche Intelligenz zu trainieren und daraus Entscheidungen zu treffen?

Natürlich gibt es. Ich meine, es wurde noch kein Weg gefunden, diese „Box“ ins Geschäft zu bringen, aber das System hat begonnen, im Internet zu funktionieren. Dabei handelt es sich um Werkzeuge auf etwas niedrigerem Niveau. Ich kenne genau zwei solcher Tools. Es kommt auch auf die Programmiersprache an. Das erste – das Coolste – ist Word2Vec – wörtlich „Wörterbuchvektor“. Was ist die Idee? Man „füttert“ riesige Wissensbestände (das habe ich getan), es wandelt Wörter in Vektoren um und wir können damit arithmetische Operationen durchführen.

Ich hatte ein sehr lustiges Beispiel. Ich nehme den folgenden Satz: „Junge plus Mädchen.“ Sie sagt: „Enge Worte: Bräutigam.“ Ich: „Cool.“ Sie hat eine lange Liste von Wörtern, aber eines der ersten ist „Bräutigam“. Gut gemacht. „Ein Mädchen und ein Junge.“ Sie: „Fräulein, Frau.“ Ich habe es ungefähr richtig verstanden. Doch dann kommt der interessanteste Teil. Ich sage: „Mädchen minus Junge.“ Und dann begann etwas, das mich zum Weinen brachte. Ein Mädchen ohne einen Jungen wird „verlassen, fixiert, etabliert, eliminiert, eingesetzt“. Ich sage: „Und ein Junge minus ein Mädchen?“, und das Netzwerk ist für mich mehrdeutig – „Masterabschluss“.

Logisch.

Ich sage: „Okay. Nähere Worte zum Wort „Dummheit“. Sie sagt: „Freude, Wahnsinn, Sinnlichkeit, Traurigkeit, Freundlichkeit, Liebe, Schönheit, Subjektivität.“ Ich sage: „Cool.“ Ich habe einen anderen Weg eingeschlagen. Es gibt so etwas: Wenn A B ist, dann ist C... Beispiel. Wenn Paris Frankreich ist, dann ist Rom...? Sie antwortet: „Italien.“ Ich sage: „Okay. Wenn Wein Spaß macht, dann ist Wodka...?“ - "Dumm." Ich sage: „Okay.“ Sie begann noch wütender zu werden. ICH BIN OK. Der Junge ist gut, aber das Mädchen...?“ Sie ist schlecht". Es geht mir gut. Das Mädchen ist gut, aber der Junge...?“ - "Besser". Das ist Word2Vec. Eine sehr schlimme Sache. Verrückt. Man muss es ein wenig herausfinden, sonst kann man lange darin stecken bleiben. Es geht darum, die emotionalen Nuancen des Textes zu verstehen. Beispielsweise, ob der Benutzer einen negativen Kommentar hinterlassen hat oder nicht. Dies ist das erste.

Der zweite sehr coole der grundlegenden Open-Source-Konstruktoren ist Aforge.net. Dies ist eine offene Bibliothek. Es enthält alle möglichen genetischen Algorithmen, das ganze Klondike. Man kann damit viele interessante Dinge machen.

Die interessanteste Beschäftigung mit neuronalen Netzen sind genetische Algorithmen zur Erschaffung von Lebewesen. Wie werden sie hergestellt? Sie erschaffen ein kleines Lebewesen, das sich bewegen, Raubtieren ausweichen und Nahrung fressen muss. Bestenfalls erschaffen sie zwei evolutionäre Wesen. Einer ist die Beute und der zweite ist das Raubtier. Es verfügt über einen Sensor. Herkömmlicherweise handelt es sich bei den Sensoren um Entfernungsmesser. Zeigt, was vor uns liegt. Die Kreatur kann sich nach rechts und links drehen, vorwärts und rückwärts gehen und Nahrung dafür ausgeben. Wir definieren die physische Welt. Wir verbinden alle Sensoren über ein neuronales Netzwerk mit dem Motor und sagen: „Teach.“ Dementsprechend werden einige gegessen, andere gebären. Nach einiger Zeit bekommen wir ein wunderschönes Bakterium. Sie weichen einander aus, jagen einander. Jagdtaktiken können entwickelt werden.

Oder die zweite Option. Das ist lange her. Ein sehr beliebter Beitrag auf Habré. Seitenansicht: Aus Rädern und Brettern musste eine Art Buggy zusammengesetzt werden, der möglichst weit auf einer vorgegebenen Karte fahren sollte. Wenn sie weit reist, bringt sie mehr Nachkommen hervor. Wenn es in der Nähe vorbeikommt, gibt es weniger Nachwuchs. Nach und nach entstanden dort in Eigenregie solche supercoolen Fahrzeuge und alles wurde gut. Hier ist, was ich empfehlen kann, um sich selbst etwas Gutes zu tun: Probieren Sie diese Quellen aus.

In diesem Kapitel haben wir uns mit Konzepten wie künstlicher Intelligenz, maschinellem Lernen und künstlichen neuronalen Netzen vertraut gemacht.

In diesem Kapitel werde ich das künstliche Neuronenmodell im Detail beschreiben, über Ansätze zum Training des Netzwerks sprechen und auch einige bekannte Arten künstlicher neuronaler Netzwerke beschreiben, die wir in den folgenden Kapiteln untersuchen werden.

Vereinfachung

Im letzten Kapitel habe ich ständig über einige gravierende Vereinfachungen gesprochen. Der Grund für die Vereinfachungen ist, dass nein moderne Computer kann nicht schnell simulieren komplexe Systeme wie unser Gehirn. Darüber hinaus ist unser Gehirn, wie ich bereits sagte, voll von verschiedenen biologischen Mechanismen, die nichts mit der Informationsverarbeitung zu tun haben.

Wir benötigen ein Modell zur Umwandlung des Eingangssignals in das benötigte Ausgangssignal. Alles andere stört uns nicht. Beginnen wir mit der Vereinfachung.

Biologische Struktur → Diagramm

Im vorherigen Kapitel haben Sie erkannt, wie komplex biologische neuronale Netze und biologische Neuronen sind. Anstatt Neuronen als Tentakelmonster zu zeichnen, zeichnen wir einfach Diagramme.

Generell gibt es mehrere Möglichkeiten, neuronale Netze und Neuronen grafisch darzustellen. Hier werden wir künstliche Neuronen als Kreise darstellen.

Anstelle einer komplexen Verflechtung von Ein- und Ausgängen verwenden wir Pfeile, die die Richtung der Signalbewegung anzeigen.

Somit kann ein künstliches neuronales Netzwerk als eine Ansammlung von Kreisen (künstliche Neuronen) dargestellt werden, die durch Pfeile verbunden sind.

Elektrische Signale → Zahlen

In einem echten biologischen neuronalen Netzwerk wird ein elektrisches Signal von den Netzwerkeingängen an die Ausgänge übertragen. Es kann sich ändern, während es das neuronale Netzwerk durchläuft.

Ein elektrisches Signal wird immer ein elektrisches Signal sein. Konzeptionell ändert sich nichts. Aber was ändert sich dann? Die Größe dieses elektrischen Signals ändert sich (stärker/schwächer). Und jeder Wert kann immer als Zahl (mehr/weniger) ausgedrückt werden.

In unserem künstlichen neuronalen Netzwerkmodell müssen wir das Verhalten des elektrischen Signals überhaupt nicht implementieren, da ohnehin nichts von seiner Implementierung abhängt.

Wir werden den Netzwerkeingängen einige Zahlen zuweisen, die die Größe des elektrischen Signals symbolisieren, falls vorhanden. Diese Zahlen werden durch das Netzwerk wandern und sich in irgendeiner Weise ändern. Am Ausgang des Netzwerks erhalten wir eine resultierende Zahl, die die Antwort des Netzwerks darstellt.

Der Einfachheit halber nennen wir unsere im Netz zirkulierenden Nummern weiterhin signalisiert.

Synapsen → Verbindungsgewichte

Erinnern wir uns an das Bild aus dem ersten Kapitel, in dem die Verbindungen zwischen Neuronen – Synapsen – farbig dargestellt wurden. Synapsen können das durch sie hindurchgehende elektrische Signal verstärken oder schwächen.

Lassen Sie uns jede dieser Verbindungen mit einer bestimmten Zahl charakterisieren, die als Gewicht dieser Verbindung bezeichnet wird. Das Signal wurde durchgelassen diese Verbindung, wird mit dem Gewicht der entsprechenden Verbindung multipliziert.

Dies ist ein zentraler Punkt im Konzept künstlicher neuronaler Netze, den ich näher erläutern werde. Schauen Sie sich das Bild unten an. Nun entspricht jeder schwarze Pfeil (Verbindung) in diesem Bild einer bestimmten Zahl ​\(w_i \) ​ (dem Gewicht der Verbindung). Und wenn das Signal diese Verbindung passiert, wird seine Größe mit dem Gewicht dieser Verbindung multipliziert.

In der obigen Abbildung hat nicht jede Verbindung eine Gewichtung, da einfach kein Platz für Beschriftungen vorhanden ist. In Wirklichkeit hat jede ​\(i \) ​-te Verbindung ihr eigenes ​\(w_i \) ​-tes Gewicht.

Künstliches Neuron

Wir betrachten nun die innere Struktur eines künstlichen Neurons und wie es das an seinen Eingängen ankommende Signal umwandelt.

Die folgende Abbildung zeigt ein vollständiges Modell eines künstlichen Neurons.

Seien Sie nicht beunruhigt, hier ist nichts Kompliziertes. Schauen wir uns alles im Detail von links nach rechts an.

Eingaben, Gewichte und Addierer

Jedes Neuron, auch künstliche, muss über einige Eingänge verfügen, über die es ein Signal empfängt. Wir haben bereits das Konzept der Gewichte eingeführt, mit denen Signale, die die Kommunikation durchlaufen, multipliziert werden. Im Bild oben sind die Gewichte als Kreise dargestellt.

Die an den Eingängen empfangenen Signale werden mit ihren Gewichten multipliziert. Das Signal des ersten Eingangs ​\(x_1 \) ​ wird mit dem Gewicht ​\(w_1 \) ​ multipliziert, das diesem Eingang entspricht. Als Ergebnis erhalten wir ​\(x_1w_1 \) ​. Und so weiter bis zur ​\(n\) ​ten Eingabe. Infolgedessen weiter letzte Anmeldung wir erhalten ​\(x_nw_n \) ​.

Nun werden alle Produkte an den Addierer übergeben. Allein anhand des Namens können Sie verstehen, was es tut. Es summiert einfach alle Eingangssignale multipliziert mit den entsprechenden Gewichten:

\[ x_1w_1+x_2w_2+\cdots+x_nw_n = \sum\limits^n_(i=1)x_iw_i \]

Mathematische Hilfe

Sigma – Wikipedia

Wenn es notwendig ist, einen großen Ausdruck, der aus einer Summe sich wiederholender/gleichartiger Begriffe besteht, kurz aufzuschreiben, wird das Sigma-Zeichen verwendet.

Betrachten wir die einfachste Aufnahmemöglichkeit:

\[ \sum\limits^5_(i=1)i=1+2+3+4+5 \]

Daher weisen wir unterhalb des Sigmas der Zählervariablen ​\(i \) ​ einen Startwert zu, der ansteigt, bis er die Obergrenze erreicht (im Beispiel oben ist er 5).

Die Obergrenze kann auch variabel sein. Lassen Sie mich Ihnen ein Beispiel für einen solchen Fall geben.

Lassen Sie uns ​\(n \) Geschäfte haben. Jedes Geschäft hat eine eigene Nummer: von 1 bis ​\(n\) ​. Jeder Laden macht einen Gewinn. Nehmen wir einen (egal was) ​\(i \) ​ten Laden. Der Gewinn daraus beträgt ​\(p_i \) ​.

\[ P = p_1+p_2+\cdots+p_i+\cdots+p_n \]

Wie Sie sehen, sind alle Terme dieser Summe vom gleichen Typ. Dann lassen sie sich kurz wie folgt formulieren:

\[ P=\sum\limits^n_(i=1)p_i \]

In Worten: „Summieren Sie die Gewinne aller Geschäfte, beginnend mit dem ersten und endend mit ​\(n\) ​-th.“ In Form einer Formel ist es viel einfacher, bequemer und schöner.

Das Ergebnis des Addierers ist eine Zahl, die gewichtete Summe genannt wird.

Gewichtete Summe(Gewichtete Summe) (​\(net \) ​) – die Summe der Eingangssignale multipliziert mit ihren entsprechenden Gewichten.

\[ net=\sum\limits^n_(i=1)x_iw_i \]

Die Rolle des Addierers liegt auf der Hand: Er fasst alle Eingangssignale (von denen es viele geben kann) zu einer Zahl zusammen – einer gewichteten Summe, die das vom Neuron als Ganzes empfangene Signal charakterisiert. Eine weitere gewichtete Summe kann als Grad der allgemeinen Erregung des Neurons dargestellt werden.

Beispiel

Um die Rolle der letzten Komponente eines künstlichen Neurons – der Aktivierungsfunktion – zu verstehen, werde ich eine Analogie anführen.

Schauen wir uns ein künstliches Neuron an. Seine Aufgabe ist es, zu entscheiden, ob er Urlaub auf See machen soll. Dazu versorgen wir seine Eingänge mit verschiedenen Daten. Lassen Sie unser Neuron 4 Eingänge haben:

  1. Die Reisekosten
  2. Wie ist das Wetter auf See?
  3. Aktuelle Arbeitssituation
  4. Wird es am Strand eine Snackbar geben?

Wir werden alle diese Parameter als 0 oder 1 charakterisieren. Wenn das Wetter auf See gut ist, wenden wir dementsprechend 1 auf diese Eingabe an. Und das Gleiche gilt für alle anderen Parameter.

Wenn ein Neuron vier Eingänge hat, müssen vier Gewichte vorhanden sein. In unserem Beispiel können Gewichtungskoeffizienten als Indikatoren für die Wichtigkeit jeder Eingabe betrachtet werden, die die Gesamtentscheidung des Neurons beeinflussen. Wir verteilen die Eingabegewichte wie folgt:

Es ist leicht zu erkennen, dass die Faktoren Kosten und Wetter auf See (die ersten beiden Inputs) eine sehr wichtige Rolle spielen. Sie spielen auch eine entscheidende Rolle, wenn das Neuron eine Entscheidung trifft.

Lassen Sie uns die folgenden Signale an die Eingänge unseres Neurons liefern:

Wir multiplizieren die Gewichte der Eingaben mit den Signalen der entsprechenden Eingaben:

Die gewichtete Summe für einen solchen Satz von Eingangssignalen beträgt 6:

\[ net=\sum\limits^4_(i=1)x_iw_i = 5 + 0 + 0 + 1 =6 \]

Hier kommt die Aktivierungsfunktion ins Spiel.

Aktivierungsfunktion

Es ist völlig sinnlos, einfach einen gewichteten Betrag als Ausgabe anzugeben. Das Neuron muss es irgendwie verarbeiten und ein angemessenes Ausgangssignal erzeugen. Zu diesem Zweck wird die Aktivierungsfunktion verwendet.

Es wandelt die gewichtete Summe in eine bestimmte Zahl um, die die Ausgabe des Neurons darstellt (wir bezeichnen die Ausgabe des Neurons durch die Variable ​\(out \) ​).

Für verschiedene Typen Künstliche Neuronen nutzen eine Vielzahl von Aktivierungsfunktionen. Im Allgemeinen werden sie mit dem Symbol ​\(\phi(net) \) ​ bezeichnet. Die Angabe des gewichteten Signals in Klammern bedeutet, dass die Aktivierungsfunktion die gewichtete Summe als Parameter verwendet.

Aktivierungsfunktion (Aktivierungsfunktion)(​\(\phi(net) \) ​) ist eine Funktion, die eine gewichtete Summe als Argument verwendet. Der Wert dieser Funktion ist die Ausgabe des Neurons (​\(out \) ​).

Einzelsprungfunktion

Die einfachste Art der Aktivierungsfunktion. Der Output eines Neurons kann nur gleich 0 oder 1 sein. Wenn die gewichtete Summe größer als ein bestimmter Schwellenwert ​\(b\) ​ ist, dann ist der Output des Neurons gleich 1. Wenn er niedriger ist, dann 0.

Wie kann es verwendet werden? Nehmen wir an, dass wir nur dann ans Meer gehen, wenn die gewichtete Summe größer oder gleich 5 ist. Das bedeutet, dass unser Schwellenwert bei 5 liegt:

In unserem Beispiel betrug die gewichtete Summe 6, was bedeutet, dass das Ausgangssignal unseres Neurons 1 ist. Wir fahren also ans Meer.

Wenn jedoch das Wetter auf See schlecht wäre und die Reise sehr teuer wäre, es aber eine Snackbar gäbe und das Arbeitsumfeld normal sei (Eingaben: 0011), dann wäre die gewichtete Summe gleich 2, also die Ausgabe der Neuron wäre gleich 0. Wir gehen also nirgendwo hin.

Grundsätzlich betrachtet ein Neuron eine gewichtete Summe und wenn diese größer als sein Schwellenwert ist, erzeugt das Neuron eine Ausgabe von 1.

Grafisch lässt sich diese Aktivierungsfunktion wie folgt darstellen.

Die horizontale Achse enthält die Werte der gewichteten Summe. Auf der vertikalen Achse sind die Ausgangssignalwerte dargestellt. Wie leicht zu erkennen ist, sind nur zwei Werte des Ausgangssignals möglich: 0 oder 1. Darüber hinaus wird von minus Unendlich bis zu einem bestimmten Wert der gewichteten Summe, dem sogenannten Schwellenwert, immer 0 ausgegeben. Wenn die gewichtete Summe gleich oder größer als der Schwellenwert ist, gibt die Funktion 1 zurück. Alles ist äußerst einfach.

Schreiben wir nun diese Aktivierungsfunktion mathematisch. Sie sind mit ziemlicher Sicherheit schon auf das Konzept einer zusammengesetzten Funktion gestoßen. Dabei kombinieren wir mehrere Regeln unter einer Funktion, anhand derer ihr Wert berechnet wird. In Form einer zusammengesetzten Funktion sieht die Einzelsprungfunktion folgendermaßen aus:

\[ out(net) = \begin(cases) 0, net< b \\ 1, net \geq b \end{cases} \]

An dieser Aufnahme ist nichts Kompliziertes. Die Ausgabe eines Neurons (​\(out \) ​) hängt wie folgt von der gewichteten Summe (​\(net \) ​) ab: Wenn ​\(net \) ​ (gewichtete Summe) kleiner als ein bestimmter Schwellenwert ist (​ \(b \ ) ​), dann ist ​\(out \) ​ (Neuronenausgang) gleich 0. Und wenn ​\(net \) ​ größer oder gleich dem Schwellenwert ​\(b \) ​ ist, dann ist ​\(out \) ​ gleich 1 .

Sigmoidfunktion

Tatsächlich gibt es eine ganze Familie von Sigmoidfunktionen, von denen einige als Aktivierungsfunktionen in künstlichen Neuronen verwendet werden.

Alle diese Funktionen haben einige sehr nützliche Eigenschaften, für die sie in neuronalen Netzen verwendet werden. Diese Eigenschaften werden deutlich, wenn Sie Diagramme dieser Funktionen sehen.

Also... das am häufigsten verwendete Sigmoid in neuronalen Netzen ist Logistikfunktion.

Der Graph dieser Funktion sieht recht einfach aus. Wenn man genau hinschaut, kann man eine gewisse Ähnlichkeit erkennen Englischer Brief​\(S \) ​, daher der Name der Familie dieser Funktionen.

Und so wird es analytisch geschrieben:

\[ out(net)=\frac(1)(1+\exp(-a \cdot net)) \]

Was ist der Parameter ​\(a \) ​? Dies ist eine Zahl, die den Grad der Steilheit der Funktion charakterisiert. Nachfolgend finden Sie Logistikfunktionen mit unterschiedlichen Parametern ​\(a \) ​.

Erinnern wir uns an unser künstliches Neuron, das bestimmt, ob es notwendig ist, ans Meer zu gehen. Bei der Einzelsprungfunktion war alles klar. Entweder gehen wir ans Meer (1) oder nicht (0).

Hier liegt der Fall näher an der Realität. Wir sind uns nicht ganz sicher (vor allem, wenn Sie paranoid sind) – lohnt es sich, dorthin zu gehen? Wenn Sie dann die Logistikfunktion als Aktivierungsfunktion verwenden, erhalten Sie eine Zahl zwischen 0 und 1. Darüber hinaus gilt: Je größer die gewichtete Summe, desto näher liegt die Ausgabe bei 1 (wird jedoch nie genau gleich sein). Umgekehrt gilt: Je kleiner die gewichtete Summe, desto näher liegt die Ausgabe des Neurons bei 0.

Die Ausgabe unseres Neurons beträgt beispielsweise 0,8. Das bedeutet, dass er glaubt, dass es sich immer noch lohnt, ans Meer zu gehen. Wenn seine Leistung 0,2 betragen würde, bedeutet dies, dass er mit ziemlicher Sicherheit dagegen ist, ans Meer zu gehen.

Welche bemerkenswerten Eigenschaften hat die Logistikfunktion?

  • Es handelt sich um eine „komprimierende“ Funktion, d. h. unabhängig vom Argument (gewichtete Summe) liegt das Ausgangssignal immer im Bereich von 0 bis 1
  • Sie ist flexibler als die Einzelsprungfunktion – ihr Ergebnis kann nicht nur 0 und 1 sein, sondern jede beliebige Zahl dazwischen
  • An allen Punkten gibt es eine Ableitung, und diese Ableitung kann durch dieselbe Funktion ausgedrückt werden

Aufgrund dieser Eigenschaften wird die Logistikfunktion am häufigsten als Aktivierungsfunktion in künstlichen Neuronen verwendet.

Hyperbolischer Tangens

Es gibt jedoch noch ein anderes Sigmoid – den hyperbolischen Tangens. Es wird von Biologen als Aktivierungsfunktion genutzt, um ein realistischeres Modell einer Nervenzelle zu erstellen.

Mit dieser Funktion können Sie Ausgabewerte mit unterschiedlichen Vorzeichen (z. B. von -1 bis 1) erhalten, was für eine Reihe von Netzwerken nützlich sein kann.

Die Funktion wird wie folgt geschrieben:

\[ out(net) = \tanh\left(\frac(net)(a)\right) \]

In der obigen Formel bestimmt der Parameter ​\(a \) ​ auch den Grad der Steilheit des Graphen dieser Funktion.

Und so sieht der Graph dieser Funktion aus.

Wie Sie sehen, sieht es aus wie ein Diagramm einer Logistikfunktion. Der hyperbolische Tangens hat alle nützlichen Eigenschaften der logistischen Funktion.

Was haben wir gelernt?

Jetzt haben Sie ein umfassendes Verständnis der inneren Struktur eines künstlichen Neurons. Ich werde noch einmal eine kurze Beschreibung seiner Arbeit geben.

Ein Neuron hat Eingänge. Sie empfangen Signale in Form von Zahlen. Jede Eingabe hat ihr eigenes Gewicht (auch eine Zahl). Die Eingangssignale werden mit den entsprechenden Gewichten multipliziert. Wir erhalten eine Reihe „gewichteter“ Eingangssignale.

Anschließend wird die gewichtete Summe umgerechnet Aktivierungsfunktion und wir bekommen Neuronenausgang.

Lassen Sie uns nun die kürzeste Beschreibung der Funktionsweise eines Neurons formulieren – sein mathematisches Modell:

Mathematische Modell eines künstlichen Neurons mit ​\(n \) ​ Eingaben:

Wo
​\(\phi \) ​ – Aktivierungsfunktion
\(\sum\limits^n_(i=1)x_iw_i \)​ – gewichtete Summe, als Summe von ​\(n\) ​ Produkten von Eingangssignalen mit den entsprechenden Gewichten.

Arten von ANN

Wir haben die Struktur eines künstlichen Neurons herausgefunden. Künstliche neuronale Netze bestehen aus einer Ansammlung künstlicher Neuronen. Es stellt sich die logische Frage: Wie kann man dieselben künstlichen Neuronen untereinander platzieren/verbinden?

In der Regel verfügen die meisten neuronalen Netze über ein sogenanntes Eingabeschicht, das nur eine Aufgabe erfüllt – die Verteilung von Eingangssignalen an andere Neuronen. Die Neuronen in dieser Schicht führen keine Berechnungen durch.

Einschichtige neuronale Netze

In einschichtigen neuronalen Netzen werden Signale von der Eingangsschicht sofort an die Ausgangsschicht weitergeleitet. Es führt die notwendigen Berechnungen durch, deren Ergebnisse sofort an die Ausgänge gesendet werden.

Ein einschichtiges neuronales Netzwerk sieht folgendermaßen aus:

In diesem Bild ist die Eingabeschicht durch Kreise gekennzeichnet (sie wird nicht als neuronale Netzwerkschicht betrachtet) und rechts befindet sich eine Schicht aus gewöhnlichen Neuronen.

Neuronen sind durch Pfeile miteinander verbunden. Oberhalb der Pfeile sind die Gewichte der entsprechenden Verbindungen (Gewichtungskoeffizienten) angegeben.

Einschichtiges neuronales Netzwerk (Einschichtiges neuronales Netzwerk) – ein Netzwerk, in dem Signale von der Eingabeschicht sofort an die Ausgabeschicht weitergeleitet werden, die das Signal umwandelt und sofort eine Antwort erzeugt.

Mehrschichtige neuronale Netze

Solche Netzwerke zeichnen sich neben der Ein- und Ausgabeschicht von Neuronen auch durch eine verborgene Schicht (Schichten) aus. Ihre Lage ist leicht zu verstehen – diese Schichten liegen zwischen der Eingabe- und der Ausgabeschicht.

Diese Struktur neuronaler Netze kopiert den mehrschichtigen Aufbau bestimmter Teile des Gehirns.

Es ist kein Zufall, dass die verborgene Schicht ihren Namen erhielt. Tatsache ist, dass erst vor relativ kurzer Zeit Methoden zum Training von Hidden-Layer-Neuronen entwickelt wurden. Zuvor wurden ausschließlich einschichtige neuronale Netze verwendet.

Mehrschichtige neuronale Netze verfügen über viel größere Fähigkeiten als einschichtige.

Die Arbeit verborgener Neuronenschichten kann mit der Arbeit einer großen Fabrik verglichen werden. Das Produkt (Ausgangssignal) wird im Werk stufenweise zusammengebaut. Nach jeder Maschine wird ein Zwischenergebnis erzielt. Verborgene Schichten wandeln Eingangssignale auch in einige Zwischenergebnisse um.

Mehrschichtiges neuronales Netzwerk (Mehrschichtiges neuronales Netzwerk) – ein neuronales Netzwerk, das aus einem Eingang, einem Ausgang und einer (mehreren) versteckten Schichten von Neuronen besteht, die sich dazwischen befinden.

Direktvertriebsnetze

In den Bildern neuronaler Netze in den obigen Beispielen können Sie ein sehr interessantes Detail erkennen.

In allen Beispielen verlaufen die Pfeile streng von links nach rechts, das heißt, das Signal in solchen Netzwerken verläuft streng von der Eingabeschicht zur Ausgabeschicht.

Direktvertriebsnetze (Feedforward-Neuronales Netzwerk) (Feedforward-Netzwerke) – künstliche neuronale Netzwerke, bei denen sich das Signal ausschließlich von der Eingabeschicht zur Ausgabeschicht ausbreitet. Das Signal breitet sich nicht in die entgegengesetzte Richtung aus.

Solche Netzwerke sind weit verbreitet und lösen recht erfolgreich eine bestimmte Klasse von Problemen: Prognose, Clustering und Erkennung.

Allerdings verbietet niemand das Signal, zu gehen Rückseite.

Feedback-Netzwerke

In solchen Netzwerken kann das Signal auch in die entgegengesetzte Richtung gehen. Was ist der Vorteil?

Tatsache ist, dass in Feedforward-Netzwerken die Ausgabe des Netzwerks durch das Eingangssignal und die Gewichtungskoeffizienten für künstliche Neuronen bestimmt wird.

Und in Netzwerken mit Rückmeldung Die Ausgänge von Neuronen können in die Eingänge zurückgeführt werden. Dies bedeutet, dass die Ausgabe eines Neurons nicht nur durch seine Gewichte und sein Eingangssignal bestimmt wird, sondern auch durch frühere Ausgaben (da diese wieder zu den Eingaben zurückkehrten).

Die Fähigkeit von Signalen, im Netzwerk zu zirkulieren, eröffnet neue, erstaunliche Funktionen Neuronale Netze. Mithilfe solcher Netze können Sie neuronale Netze erstellen, die Signale wiederherstellen oder ergänzen. Mit anderen Worten: Solche neuronalen Netze haben die Eigenschaften eines Kurzzeitgedächtnisses (wie das eines Menschen).

Feedback-Netzwerke (Wiederkehrendes neuronales Netzwerk) – künstliche neuronale Netze, bei denen der Ausgang eines Neurons auf seinen Eingang zurückgekoppelt werden kann. Im Allgemeinen bedeutet dies die Fähigkeit, ein Signal von Ausgängen zu Eingängen zu übertragen.

Training neuronaler Netze

Schauen wir uns nun das Thema Training eines neuronalen Netzwerks etwas genauer an. Was ist das? Und wie passiert das?

Was ist Netzwerktraining?

Ein künstliches neuronales Netzwerk ist eine Ansammlung künstlicher Neuronen. Nehmen wir nun zum Beispiel 100 Neuronen und verbinden sie miteinander. Es ist klar, dass wir, wenn wir ein Signal an den Eingang anlegen, am Ausgang etwas Sinnloses erhalten.

Das bedeutet, dass wir einige Netzwerkparameter ändern müssen, bis das Eingangssignal in den von uns benötigten Ausgang umgewandelt wird.

Was können wir in einem neuronalen Netzwerk ändern?

Die Gesamtzahl der künstlichen Neuronen zu verändern macht aus zwei Gründen keinen Sinn. Erstens führt die Erhöhung der Anzahl der Rechenelemente insgesamt nur dazu, dass das System schwerer und redundanter wird. Zweitens: Wenn Sie 1000 statt 100 Narren versammeln, können diese die Frage immer noch nicht richtig beantworten.

Der Addierer kann nicht geändert werden, da er eine genau definierte Funktion ausführt – das Addieren. Wenn wir es durch etwas ersetzen oder ganz entfernen, dann ist es überhaupt kein künstliches Neuron mehr.

Wenn wir die Aktivierungsfunktion jedes Neurons ändern, erhalten wir ein neuronales Netzwerk, das zu heterogen und unkontrollierbar ist. Darüber hinaus sind Neuronen in neuronalen Netzen in den meisten Fällen vom gleichen Typ. Das heißt, sie haben alle die gleiche Aktivierungsfunktion.

Es bleibt nur noch eine Option – Verbindungsgewichte ändern.

Training neuronaler Netze (Ausbildung)- Suchen Sie nach einem solchen Satz von Gewichtungskoeffizienten, bei dem das Eingangssignal nach Durchlaufen des Netzwerks in den von uns benötigten Ausgang umgewandelt wird.

Diese Herangehensweise an den Begriff „Training neuronaler Netze“ entspricht auch biologischen neuronalen Netzen. Unser Gehirn besteht aus einer Vielzahl miteinander verbundener neuronaler Netze. Jeder von ihnen besteht einzeln aus Neuronen des gleichen Typs (die Aktivierungsfunktion ist gleich). Wir lernen, indem wir Synapsen verändern – Elemente, die das Eingangssignal verstärken/schwächen.

Es gibt jedoch noch einen weiteren wichtigen Punkt. Wenn Sie ein Netzwerk mit nur einem Eingangssignal trainieren, merkt sich das Netzwerk einfach „die richtige Antwort“. Von außen sieht es so aus, als hätte sie sehr schnell „gelernt“. Und sobald Sie ein leicht verändertes Signal geben und erwarten, die richtige Antwort zu sehen, wird das Netzwerk Unsinn produzieren.

Warum brauchen wir eigentlich ein Netzwerk, das ein Gesicht nur auf einem Foto erkennt? Wir gehen davon aus, dass das Netzwerk dazu in der Lage ist verallgemeinern Einige Zeichen erkennen und Gesichter auch auf anderen Fotos erkennen.

Zu diesem Zweck wurden sie geschaffen Trainingsbeispiele.

Trainingsset (Trainingsset) – ein endlicher Satz von Eingangssignalen (manchmal zusammen mit den richtigen Ausgangssignalen), aus denen das Netzwerk trainiert wird.

Nachdem das Netzwerk trainiert wurde, d. h. wenn das Netzwerk für alle Eingangssignale aus dem Trainingssatz korrekte Ergebnisse liefert, kann es in der Praxis verwendet werden.

Bevor jedoch ein frisch gebackenes neuronales Netzwerk in den Kampf geworfen wird, wird die Qualität seiner Arbeit häufig anhand der sogenannten beurteilt testprobe.

Testprobe (Testset) – ein endlicher Satz von Eingangssignalen (manchmal zusammen mit den richtigen Ausgangssignalen), anhand derer die Qualität des Netzwerks beurteilt wird.

Wir haben verstanden, was „Netzwerktraining“ ist – die Wahl des richtigen Gewichtssatzes. Nun stellt sich die Frage: Wie kann man ein Netzwerk trainieren? Im allgemeinsten Fall gibt es zwei Ansätze, die zu unterschiedlichen Ergebnissen führen: überwachtes Lernen und unüberwachtes Lernen.

Geleitete Schulung

Der Kern dieses Ansatzes besteht darin, dass Sie ein Signal als Eingabe bereitstellen, die Antwort des Netzwerks betrachten und sie dann mit einer vorgefertigten, korrekten Antwort vergleichen.

Wichtiger Punkt. Verwechseln Sie die richtigen Antworten nicht mit dem bekannten Lösungsalgorithmus! Sie können das Gesicht auf dem Foto mit Ihrem Finger nachzeichnen (richtige Antwort), aber Sie können nicht erkennen, wie Sie es gemacht haben (bekannter Algorithmus). Die Situation ist hier die gleiche.

Anschließend ändern Sie mithilfe spezieller Algorithmen die Gewichte der Verbindungen des neuronalen Netzwerks und geben ihm erneut ein Eingangssignal. Sie vergleichen seine Antwort mit der richtigen und wiederholen diesen Vorgang, bis das Netzwerk beginnt, mit akzeptabler Genauigkeit zu antworten (wie ich in Kapitel 1 gesagt habe, kann das Netzwerk keine eindeutig genauen Antworten geben).

Geleitete Schulung (Überwachtes Lernen) ist eine Art Netzwerktraining, bei dem seine Gewichte so verändert werden, dass die Antworten des Netzwerks minimal von den bereits vorbereiteten richtigen Antworten abweichen.

Wo bekomme ich die richtigen Antworten?

Wenn wir möchten, dass das Netzwerk Gesichter erkennt, können wir einen Trainingssatz aus 1000 Fotos (Eingangssignale) erstellen und daraus selbstständig Gesichter auswählen (richtige Antworten).

Wenn wir möchten, dass das Netzwerk Preiserhöhungen/-rückgänge vorhersagt, muss die Trainingsstichprobe auf der Grundlage vergangener Daten erstellt werden. Als Eingangssignale können Sie bestimmte Tage, die allgemeine Marktlage und andere Parameter heranziehen. Und die richtige Antwort lautet: Steigen und Fallen der Preise damals.

Es ist erwähnenswert, dass der Lehrer natürlich nicht unbedingt eine Person ist. Tatsache ist, dass das Netzwerk manchmal stunden- und tagelang trainiert werden muss und Tausende und Abertausende Versuche unternommen werden muss. In 99 % der Fälle übernimmt ein Computer, genauer gesagt ein spezielles Computerprogramm, diese Aufgabe.

Unbeaufsichtigtes Lernen

Unüberwachtes Lernen wird verwendet, wenn wir nicht die richtigen Antworten auf die Eingangssignale haben. In diesem Fall besteht der gesamte Trainingssatz aus einem Satz von Eingangssignalen.

Was passiert, wenn das Netzwerk auf diese Weise trainiert wird? Es stellt sich heraus, dass das Netzwerk mit einem solchen „Training“ beginnt, Klassen von Signalen zu unterscheiden, die dem Eingang zugeführt werden. Kurz gesagt, das Netzwerk beginnt mit der Clusterbildung.

Sie zeigen dem Netzwerk beispielsweise Süßigkeiten, Gebäck und Kuchen. Sie regulieren den Betrieb des Netzwerks in keiner Weise. Sie geben einfach die Eingabedaten ein dieses Objekt. Mit der Zeit wird das Netzwerk beginnen, Signale dreier verschiedener Typen zu erzeugen, die für die Objekte am Eingang verantwortlich sind.

Unbeaufsichtigtes Lernen (Unbeaufsichtigtes Lernen) ist eine Art Netzwerktraining, bei dem das Netzwerk Eingangssignale selbstständig klassifiziert. Die korrekten (Referenz-)Ausgangssignale werden nicht angezeigt.

Schlussfolgerungen

In diesem Kapitel haben Sie alles über die Struktur eines künstlichen Neurons gelernt und ein umfassendes Verständnis seiner Funktionsweise (und seines mathematischen Modells) erhalten.

Darüber hinaus kennen Sie jetzt verschiedene Arten künstlicher neuronaler Netze: einschichtige, mehrschichtige, Feedforward- und Feedback-Netzwerke.

Sie haben auch etwas über überwachtes und unüberwachtes Netzwerklernen gelernt.

Die nötige Theorie kennen Sie bereits. Nachfolgende Kapitel umfassen die Betrachtung bestimmter Arten neuronaler Netze, spezifischer Algorithmen für deren Training und Programmierpraxis.

Fragen und Aufgaben

Sie müssen das Material in diesem Kapitel sehr gut kennen, da es die Grundlagen enthält theoretische Informationen auf künstlichen neuronalen Netzen. Stellen Sie sicher, dass Sie auf alle unten aufgeführten Fragen und Aufgaben sichere und korrekte Antworten erhalten.

Beschreiben Sie die Vereinfachungen von KNNs im Vergleich zu biologischen neuronalen Netzen.

1. Die komplexe und komplizierte Struktur biologischer neuronaler Netze wird vereinfacht und in Form von Diagrammen dargestellt. Übrig bleibt nur das Signalverarbeitungsmodell.

2. Die Natur elektrischer Signale in neuronalen Netzen ist dieselbe. Der einzige Unterschied ist ihre Größe. Wir entfernen elektrische Signale und verwenden stattdessen Zahlen, die die Stärke des übertragenen Signals angeben.

Die Aktivierungsfunktion wird oft mit ​\(\phi(net) \) ​ bezeichnet.

Schreiben Sie ein mathematisches Modell eines künstlichen Neurons auf.

Ein künstliches Neuron mit ​\(n \)​ Eingängen wandelt ein Eingangssignal (Zahl) wie folgt in ein Ausgangssignal (Zahl) um:

\[ out=\phi\left(\sum\limits^n_(i=1)x_iw_i\right) \]

Was ist der Unterschied zwischen einschichtigen und mehrschichtigen neuronalen Netzen?

Einschichtige neuronale Netze bestehen aus einer einzigen Rechenschicht von Neuronen. Die Eingabeschicht sendet Signale direkt an die Ausgabeschicht, die das Signal umwandelt und sofort das Ergebnis erzeugt.

Mehrschichtige neuronale Netze verfügen neben Eingabe- und Ausgabeschichten auch über verborgene Schichten. Diese verborgenen Schichten führen einige interne Zwischentransformationen durch, ähnlich den Produktionsstufen von Produkten in einer Fabrik.

Was ist der Unterschied zwischen Feedforward-Netzwerken und Feedback-Netzwerken?

Feedforward-Netzwerke ermöglichen den Signaldurchgang nur in eine Richtung – von den Eingängen zu den Ausgängen. Netzwerke mit Feedback unterliegen diesen Einschränkungen nicht und die Ausgänge von Neuronen können in die Eingänge zurückgekoppelt werden.

Was ist ein Trainingsset? Was ist seine Bedeutung?

Bevor Sie das Netzwerk in der Praxis nutzen (z. B. um aktuelle Probleme zu lösen, auf die Sie keine Antworten haben), müssen Sie eine Sammlung von Problemen mit vorgefertigten Antworten sammeln, auf denen Sie das Netzwerk trainieren. Diese Sammlung wird als Trainingssatz bezeichnet.

Wenn Sie eine zu kleine Menge an Ein- und Ausgangssignalen sammeln, merkt sich das Netzwerk einfach die Antworten und das Lernziel wird nicht erreicht.

Was versteht man unter Netzwerktraining?

Beim Netzwerktraining werden die Gewichtungskoeffizienten der künstlichen Neuronen des Netzwerks geändert, um eine Kombination daraus auszuwählen, die das Eingangssignal in die richtige Ausgabe umwandelt.

Was ist überwachtes und unüberwachtes Lernen?

Beim Training eines Netzwerks mit einem Lehrer werden Signale an seine Eingänge gegeben und dann wird sein Ausgang mit einem zuvor bekannten korrekten Ausgang verglichen. Dieser Vorgang wird wiederholt, bis die erforderliche Genauigkeit der Antworten erreicht ist.

Wenn Netzwerke nur Eingangssignale liefern, ohne diese mit bereitstehenden Ausgängen zu vergleichen, beginnt das Netzwerk, diese Eingangssignale selbstständig zu klassifizieren. Mit anderen Worten: Es führt ein Clustering von Eingangssignalen durch. Diese Art des Lernens wird als unüberwachtes Lernen bezeichnet.

Beginnen wir unsere Betrachtung des Materials mit der Einführung und Definition des eigentlichen Konzepts eines künstlichen neuronalen Systems.

Man kann es sich als ein analoges Computersystem vorstellen, das einfache Datenverarbeitungselemente verwendet, die größtenteils parallel miteinander verbunden sind. Datenverarbeitungselemente führen sehr einfache logische oder arithmetische Operationen an ihren Eingabedaten durch. Die Grundlage für die Funktionsweise eines künstlichen neuronalen Systems besteht darin, dass jedem Element eines solchen Systems Gewichtskoeffizienten zugeordnet sind. Diese Gewichte stellen die im System gespeicherten Informationen dar.

Diagramm eines typischen künstlichen Neurons

Ein Neuron kann viele Eingänge, aber nur einen Ausgang haben. Das menschliche Gehirn enthält ungefähr Neuronen, und jedes Neuron kann Tausende von Verbindungen zu anderen haben. Die Eingangssignale des Neurons werden mit Gewichtungskoeffizienten multipliziert und addiert, um den Gesamteingang des Neurons zu erhalten – ICH:

Reis. 1. Typisches künstliches Neuron

Die Funktion, die die Ausgabe eines Neurons mit seinen Eingaben in Beziehung setzt, wird als Auslösefunktion bezeichnet. Es hat die Form einer Sigmoidfunktion θ . Die Formalisierung der Neuronenantwort besteht darin, dass das ursprüngliche Signal beim Empfang sehr kleiner und sehr großer Eingangssignale an eine der Grenzen gesendet wird. Darüber hinaus ist jedem Neuron ein Schwellenwert zugeordnet – θ , der in der Formel zur Berechnung des Ausgangssignals vom gesamten Eingangssignal subtrahiert wird. Daher wird die Ausgabe eines Neurons, O, oft wie folgt beschrieben:

Netzwerkstruktur mit Backpropagation" src="https://libtime.ru/uploads/images/00/00/01/2014/06/27/set-s-obratnym-rasprostraneniyem.png.pagespeed.ce.O_0jCrJsLr.png " alt="Backpropagation-Netzwerkstruktur" width="450" height="370">!}

Reis. 2. Backpropagation-Netzwerk

Backpropagation-Netzwerk gliedert sich in der Regel in drei Segmente, es können aber auch weitere Segmente gebildet werden. Die zwischen den Eingabe- und Ausgabesegmenten liegenden Segmente (Segmente) werden als versteckte Segmente bezeichnet, da nur die Eingabe- und Ausgabesegmente von der Außenwelt visuell wahrgenommen werden. Ein Netzwerk, das den Wert einer logischen XOR-Operation auswertet, erzeugt nur dann eine wahre Ausgabe, wenn nicht alle seine Eingaben wahr oder nicht alle seine Eingaben falsch sind. Die Anzahl der Knoten in einem verborgenen Sektor kann je nach Zweck des Projekts variieren.

Eigenschaften neuronaler Netze

Es ist zu beachten, dass neuronale Netze keine Programmierung im üblichen Sinne des Wortes erfordern. Um neuronale Netze zu trainieren, werden spezielle Trainingsalgorithmen für neuronale Netze verwendet, wie z. B. Counterpropagation und Backpropagation. Der Programmierer „programmiert“ das Netzwerk, indem er Eingaben und entsprechende Ausgaben festlegt. Das Netzwerk lernt, indem es Gewichte für synaptische Verbindungen zwischen Neuronen automatisch anpasst.

Die Gewichtungskoeffizienten bestimmen zusammen mit den Schwellenwerten der Neuronen die Art der Datenverteilung im Netzwerk und legen so die richtige Reaktion auf die im Trainingsprozess verwendeten Daten fest. Das Netzwerk zu trainieren, um die richtigen Antworten zu erhalten, kann zeitaufwändig sein. Wie viel hängt davon ab, wie viele Bilder während des Netzwerktrainings erlernt werden müssen, sowie von den Fähigkeiten der verwendeten Hardware und Zusatzgeräte Software. Sobald das Training jedoch abgeschlossen ist, ist das Netzwerk in der Lage, Antworten in hoher Geschwindigkeit bereitzustellen.

Auf seine eigene Art und Weise Architektur künstliches neuronales System unterscheidet sich von anderen Computersystemen. In einem klassischen Informationssystem wird die Fähigkeit realisiert, diskrete Informationen mit Speicherelementen zu verbinden. Beispielsweise speichert ein Informationssystem normalerweise Daten über ein bestimmtes Objekt in einer Gruppe benachbarter Speicherelemente. Folglich wird die Fähigkeit, auf Daten zuzugreifen und diese zu manipulieren, durch die Schaffung einer Eins-zu-Eins-Beziehung zwischen den Attributen eines Objekts und den Adressen der Speicherzellen, in denen sie gespeichert sind, erreicht.

Im Gegensatz zu solchen Systemen werden Modelle künstlicher neuronaler Systeme auf der Grundlage moderner Theorien der Gehirnfunktion entwickelt, nach denen Informationen mithilfe von Gewichten im Gehirn dargestellt werden. Es besteht jedoch keine direkte Korrelation zwischen einem bestimmten Gewichtungskoeffizientenwert und einem bestimmten Element gespeicherter Informationen.

Diese verteilte Darstellung von Informationen ähnelt der in Hologrammen verwendeten Bildspeicher- und Präsentationstechnologie. Bei dieser Technologie wirken die Linien des Hologramms wie Beugungsgitter. Mit ihrer Hilfe wird beim Durchtritt eines Laserstrahls das gespeicherte Bild reproduziert, die Daten selbst jedoch nicht direkt interpretiert.


Neuronales Netzwerk als Mittel zur Lösung eines Problems

Neurales Netzwerk fungiert als akzeptables Mittel zur Lösung eines Problems, wenn eine große Menge empirischer Daten vorliegt, aber kein Algorithmus vorhanden ist, der in der erforderlichen Geschwindigkeit eine ausreichend genaue Lösung liefern könnte. In diesem Zusammenhang hat die Technologie zur Darstellung von Daten aus einem künstlichen neuronalen System erhebliche Vorteile gegenüber anderen. Informationstechnologie. Diese Vorteile lässt sich wie folgt formulieren:

  1. Der neuronale Netzwerkspeicher ist fehlertolerant. Bei der Entfernung einzelner Teile des neuronalen Netzes kommt es lediglich zu einer Verschlechterung der Informationsqualität; sie bleiben erhalten, jedoch nicht zu ihrem vollständigen Verschwinden. Dies liegt daran, dass die Informationen in verteilter Form gespeichert werden.
  2. Die Qualität der Informationen im neuronalen Netzwerk, die einer Reduzierung unterliegen, nimmt proportional zum entfernten Teil des Netzwerks allmählich ab. Es gibt keinen katastrophalen Informationsverlust.
  3. Daten in einem neuronalen Netzwerk werden auf natürliche Weise mithilfe des assoziativen Gedächtnisses gespeichert. Assoziatives Gedächtnis ist ein Gedächtnis, in dem es ausreicht, nach teilweise präsentierten Daten zu suchen, um alle Informationen vollständig wiederherzustellen. Dies ist der Unterschied zwischen assoziativem Speicher und gewöhnlichem Speicher, bei dem Daten durch Angabe der genauen Adresse der entsprechenden Speicherelemente erhalten werden.
  4. ermöglichen Ihnen die Durchführung von Extrapolationen und Interpolationen auf der Grundlage der darin gespeicherten Informationen. Das heißt, durch Training können Sie dem Netzwerk die Fähigkeit geben, zu suchen wichtige Funktionen oder Verbindungen in den Daten. Das Netzwerk ist dann in der Lage, Zusammenhänge in den neu empfangenen Daten zu extrapolieren und zu identifizieren. Beispielsweise wurde in einem Experiment ein neuronales Netzwerk anhand eines hypothetischen Beispiels trainiert. Nach Abschluss der Schulung erlangte das Netzwerk die Fähigkeit, Fragen, für die keine Schulung angeboten wurde, richtig zu beantworten.
  5. Neuronale Netze sind plastisch. Selbst nach dem Entfernen einer bestimmten Anzahl von Neuronen kann das Netzwerk auf seine primäre Ebene umgeschult werden (natürlich, wenn noch genügend Neuronen darin vorhanden sind). Dieses Merkmal ist auch charakteristisch für das menschliche Gehirn, bei dem zwar einzelne Teile geschädigt sein können, mit der Zeit aber mit Hilfe des Trainings ein primäres Maß an Fähigkeiten und Wissen erreicht wird.

Dank dieser Eigenschaften werden künstliche neuronale Systeme sehr attraktiv für den Einsatz Roboter-Raumfahrzeuge, Ausrüstung für die Ölindustrie, Unterwasserfahrzeuge, Prozesskontrollausrüstung und andere technische Geräte , die in einer ungünstigen Umgebung lange Zeit ohne Reparatur funktionieren muss. Künstliche neuronale Systeme lösen nicht nur das Problem der Zuverlässigkeit, sondern bieten aufgrund ihrer Plastizität auch die Möglichkeit, die Betriebskosten zu senken.

Allerdings eignen sich künstliche neuronale Systeme im Allgemeinen nicht sehr gut für die Erstellung von Anwendungen, die komplexe mathematische Berechnungen erfordern oder die optimale Lösung finden. Darüber hinaus ist der Einsatz eines künstlichen neuronalen Systems nicht möglich Die beste Option falls es eine algorithmische Lösung gibt, die aufgrund der praktischen Anwendung zur Lösung ähnlicher Probleme bereits ein positives Ergebnis geliefert hat.

Im ersten Halbjahr 2016 erfuhr die Welt von vielen Entwicklungen im Bereich neuronaler Netze – Google (Go-Netzwerkplayer AlphaGo), Microsoft (eine Reihe von Diensten zur Bildidentifizierung), Startups MSQRD, Prisma und andere demonstrierten ihre Algorithmen.

Zu den Lesezeichen

Die Redakteure der Seite verraten Ihnen, was neuronale Netze sind, wofür sie benötigt werden, warum sie gerade jetzt und nicht Jahre früher oder später den Planeten erobert haben, wie viel Sie damit verdienen können und wer die wichtigsten Marktteilnehmer sind. Auch Experten von MIPT, Yandex, Mail.Ru Group und Microsoft äußerten ihre Meinung.

Was sind neuronale Netze und welche Probleme können sie lösen?

Neuronale Netze sind eine der Richtungen in der Entwicklung künstlicher Intelligenzsysteme. Die Idee besteht darin, die Funktionsweise des menschlichen Nervensystems – nämlich seine Fähigkeit, zu lernen und Fehler zu korrigieren – möglichst genau nachzubilden. Das ist Hauptmerkmal Jedes neuronale Netzwerk ist in der Lage, unabhängig zu lernen und auf der Grundlage früherer Erfahrungen zu handeln, wobei jedes Mal immer weniger Fehler gemacht werden.

Das neuronale Netzwerk ahmt nicht nur die Aktivität, sondern auch die Struktur des menschlichen Nervensystems nach. Ein solches Netzwerk besteht aus einer Vielzahl einzelner Rechenelemente („Neuronen“). In den meisten Fällen gehört jedes „Neuron“ zu einer bestimmten Schicht des Netzwerks. Eingabedaten werden auf allen Ebenen des Netzwerks sequentiell verarbeitet. Die Parameter jedes „Neurons“ können sich abhängig von den Ergebnissen ändern, die anhand früherer Eingabedatensätze erzielt wurden, und somit die Betriebsreihenfolge des gesamten Systems ändern.

Der Leiter der Mail.ru-Suchabteilung der Mail.Ru Group, Andrey Kalinin, stellt fest, dass neuronale Netze in der Lage sind, die gleichen Probleme wie andere Algorithmen für maschinelles Lernen zu lösen, der Unterschied liegt nur im Trainingsansatz.

Alle Aufgaben, die neuronale Netze lösen können, haben irgendwie mit Lernen zu tun. Zu den Hauptanwendungsgebieten neuronaler Netze zählen Prognosen, Entscheidungsfindung, Mustererkennung, Optimierung und Datenanalyse.

Vlad Shershulsky, Direktor für technologische Kooperationsprogramme bei Microsoft in Russland, stellt fest, dass neuronale Netze mittlerweile überall eingesetzt werden: „Viele große Internetseiten nutzen sie beispielsweise, um Reaktionen auf Benutzerverhalten natürlicher und für ihr Publikum nützlicher zu gestalten.“ Den meisten liegen neuronale Netze zugrunde moderne Systeme Spracherkennung und -synthese sowie Bilderkennung und -verarbeitung. Sie werden in einigen Navigationssystemen verwendet Industrieroboter oder selbstfahrende Autos. Auf neuronalen Netzwerken basierende Algorithmen schützen Informationssysteme vor böswilligen Angriffen und helfen, illegale Inhalte im Netzwerk zu identifizieren.“

Shershulsky glaubt, dass neuronale Netze in naher Zukunft (5-10 Jahre) noch häufiger eingesetzt werden:

Stellen Sie sich einen landwirtschaftlichen Mähdrescher vor, dessen Antriebe mit vielen Videokameras ausgestattet sind. Es macht fünftausend Bilder pro Minute von jeder Pflanze auf ihrer Flugbahn und analysiert mithilfe eines neuronalen Netzwerks, ob es sich um Unkraut handelt, ob sie von Krankheiten oder Schädlingen befallen ist. Und jede Pflanze wird individuell behandelt. Fantastisch? Eigentlich nicht mehr. Und in fünf Jahren könnte es zur Norm werden. - Vlad Shershulsky, Microsoft

Mikhail Burtsev, Leiter des Labors für neuronale Systeme und Deep Learning am MIPT Center for Living Systems, liefert eine vorläufige Karte der Entwicklung neuronaler Netze für 2016–2018:

  • Systeme zur Erkennung und Klassifizierung von Objekten in Bildern;
  • Sprachinteraktionsschnittstellen für das Internet der Dinge;
  • Systeme zur Überwachung der Servicequalität in Callcentern;
  • Fehlererkennungssysteme (einschließlich solcher, die die Zeit vorhersagen). Wartung), Anomalien, cyberphysische Bedrohungen;
  • geistige Sicherheits- und Überwachungssysteme;
  • Ersetzen einiger Funktionen von Callcenter-Betreibern durch Bots;
  • Videoanalysesysteme;
  • selbstlernende Systeme, die das Management von Materialflüssen oder die Lage von Gegenständen (in Lagern, Transport) optimieren;
  • Intelligente, selbstlernende Steuerungssysteme Herstellungsprozesse und Geräte (einschließlich Roboter);
  • das Aufkommen universeller On-the-Fly-Übersetzungssysteme für Konferenzen und den persönlichen Gebrauch;
  • Entstehung von Bot-Beratern technische Unterstützung oder persönliche Assistenten mit menschenähnlichen Funktionen.

Grigory Bakunov, Director of Technology Distribution bei Yandex, glaubt, dass die Grundlage für die Verbreitung neuronaler Netze in den nächsten fünf Jahren die Fähigkeit solcher Systeme sein wird, verschiedene Entscheidungen zu treffen: „Die Hauptsache, die neuronale Netze jetzt für einen Menschen tun, ist zu sparen.“ er vor unnötigen Entscheidungen. Sie können also fast überall dort eingesetzt werden, wo nicht sehr intelligente Entscheidungen von einem lebenden Menschen getroffen werden. In den nächsten fünf Jahren wird diese Fähigkeit genutzt, um die menschliche Entscheidungsfindung durch eine einfache Maschine zu ersetzen.“

Warum sind neuronale Netze gerade jetzt so beliebt?

Seit mehr als 70 Jahren entwickeln Wissenschaftler künstliche neuronale Netze. Der erste Versuch, ein neuronales Netzwerk zu formalisieren, geht auf das Jahr 1943 zurück, als zwei amerikanische Wissenschaftler (Warren McCulloch und Walter Pitts) einen Artikel über die logische Berechnung menschlicher Ideen und neuronaler Aktivität vorlegten.

Doch bis vor Kurzem, sagt Andrey Kalinin von der Mail.Ru Group, sei die Geschwindigkeit neuronaler Netze zu niedrig gewesen, als dass sie sich verbreitet hätten, weshalb solche Systeme hauptsächlich in Entwicklungen im Zusammenhang mit Computer Vision eingesetzt worden seien und in anderen Bereichen andere Algorithmen zum Einsatz gekommen seien maschinelles Lernen.

Ein arbeitsintensiver und zeitaufwändiger Teil des Entwicklungsprozesses neuronaler Netze ist das Training. Damit ein neuronales Netzwerk die zugewiesenen Probleme korrekt lösen kann, muss es seine Arbeit auf zig Millionen Eingabedatensätzen „ausführen“. Mit dem Aufkommen verschiedener beschleunigter Lerntechnologien verbinden Andrei Kalinin und Grigory Bakunov die Verbreitung neuronaler Netze.

Das Wichtigste, was jetzt passiert ist, ist, dass verschiedene Tricks aufgetaucht sind, die es ermöglichen, neuronale Netze zu erstellen, die viel weniger anfällig für Umschulungen sind. - Grigory Bakunov, Yandex

„Erstens ist eine große und öffentlich zugängliche Sammlung beschrifteter Bilder (ImageNet) erschienen, auf der man lernen kann. Zweitens ermöglichen moderne Grafikkarten, neuronale Netze zu trainieren und hunderte Male schneller zu nutzen. Drittens sind fertige, vorab trainierte neuronale Netze erschienen, die Bilder erkennen, auf deren Grundlage Sie eigene Anwendungen erstellen können, ohne das neuronale Netz lange für die Arbeit vorbereiten zu müssen. All dies sorgt für eine sehr leistungsstarke Entwicklung neuronaler Netze speziell im Bereich der Bilderkennung“, bemerkt Kalinin.

Wie groß ist der Markt für neuronale Netze?

„Sehr einfach zu berechnen. Sie können jeden Bereich nehmen, in dem gering qualifizierte Arbeitskräfte eingesetzt werden, beispielsweise Call-Center-Agenten, und einfach alle Personalressourcen abziehen. Ich würde sagen, dass wir reden über Selbst innerhalb eines einzigen Landes handelt es sich um einen Multimilliarden-Dollar-Markt. Es ist leicht zu verstehen, wie viele Menschen auf der Welt in gering qualifizierten Berufen beschäftigt sind. Selbst wenn wir also sehr abstrakt sprechen, sprechen wir meiner Meinung nach von einem 100-Milliarden-Dollar-Markt auf der ganzen Welt“, sagt Grigory Bakunov, Direktor für Technologievertrieb bei Yandex.

Schätzungen zufolge werden mehr als die Hälfte der Berufe automatisiert sein – das ist das maximale Volumen, um das der Markt für maschinelle Lernalgorithmen (und insbesondere neuronale Netze) wachsen kann. - Andrey Kalinin, Mail.Ru Group

„Algorithmen für maschinelles Lernen sind der nächste Schritt bei der Automatisierung jeglicher Prozesse und bei der Entwicklung beliebiger Prozesse Software. Daher deckt sich der Markt zumindest mit dem gesamten Softwaremarkt, sondern übertrifft ihn vielmehr, weil es möglich wird, neue intelligente Lösungen zu entwickeln, die für alte Software unzugänglich sind“, fährt Andrey Kalinin fort, Leiter der Mail.ru-Suchabteilung bei Mail. Ru-Gruppe.

Warum Entwickler neuronaler Netze mobile Anwendungen für den Massenmarkt erstellen

In den letzten Monaten sind mehrere hochkarätige Unterhaltungsprojekte mit neuronalen Netzen auf den Markt gekommen – dabei handelt es sich um einen beliebten Videodienst, bei dem es sich um ein soziales Netzwerk handelt Facebook-Netzwerk sowie russische Anwendungen für die Bildverarbeitung (Investitionen der Mail.Ru Group im Juni) und andere.

Die Fähigkeiten ihrer eigenen neuronalen Netze wurden sowohl von Google (die AlphaGo-Technologie gewann gegen den Go-Champion; im März 2016 versteigerte das Unternehmen 29 von neuronalen Netzen gezeichnete Gemälde usw.) als auch von Microsoft (das CaptionBot-Projekt, das erkennt Bilder in Fotos und generiert automatisch Bildunterschriften für sie; das WhatDog-Projekt, das anhand eines Fotos die Rasse eines Hundes bestimmt; der HowOld-Dienst, der das Alter einer Person auf einem Bild bestimmt usw.) und Yandex (in Im Juni baute das Team einen Dienst zum Erkennen von Autos in Bildern in die Avto.ru-Anwendung ein, präsentierte ein von neuronalen Netzen aufgenommenes Musikalbum und erstellte im Mai das LikeMo.net-Projekt zum Zeichnen im Stil berühmter Künstler.

Solch Unterhaltungsdienstleistungen werden eher nicht geschaffen, um globale Probleme zu lösen, auf die neuronale Netze abzielen, sondern um die Fähigkeiten eines neuronalen Netzes zu demonstrieren und sein Training durchzuführen.

„Spiele sind ein charakteristisches Merkmal unseres Verhaltens als Spezies. Einerseits können Spielsituationen genutzt werden, um nahezu alle typischen Szenarien menschlichen Verhaltens zu simulieren, andererseits können Spieleentwickler und insbesondere Spieler viel Freude daran haben. Es gibt auch einen rein utilitaristischen Aspekt. Ein gut gestaltetes Spiel macht den Spielern nicht nur Freude: Beim Spielen trainieren sie auch den Algorithmus des neuronalen Netzwerks. Schließlich basieren neuronale Netze auf dem Lernen durch Beispiele“, sagt Vlad Shershulsky von Microsoft.

„Dies geschieht zunächst einmal, um die Leistungsfähigkeit der Technologie zu zeigen. Es gibt eigentlich keinen anderen Grund. Wenn wir über Prisma sprechen, ist klar, warum sie es getan haben. Die Jungs haben eine Art Pipeline gebaut, die es ihnen ermöglicht, mit Bildern zu arbeiten. Um dies zu demonstrieren, wählten sie eine recht einfache Methode zur Erstellung von Stilisierungen. Warum nicht? „Das ist nur eine Demonstration der Funktionsweise der Algorithmen“, sagt Grigory Bakunov von Yandex.

Andrey Kalinin von der Mail.Ru Group ist anderer Meinung: „Das ist natürlich aus Sicht der Öffentlichkeit beeindruckend. Andererseits würde ich nicht sagen, dass Unterhaltungsprodukte nicht auch in nützlicheren Bereichen eingesetzt werden können. Beispielsweise ist die Aufgabe der Stilisierung von Bildern für eine Reihe von Branchen (Design, Computerspiele, Animation sind nur einige Beispiele) äußerst relevant volle Nutzung Neuronale Netze können die Kosten und Methoden zur Erstellung von Inhalten für sie erheblich optimieren.“

Hauptakteure auf dem Markt für neuronale Netze

Wie Andrey Kalinin feststellt, unterscheiden sich die meisten neuronalen Netze auf dem Markt im Großen und Ganzen nicht wesentlich voneinander. „Die Technologie ist bei jedem ungefähr gleich. Doch die Nutzung neuronaler Netze ist ein Vergnügen, das sich nicht jeder leisten kann. Um ein neuronales Netzwerk unabhängig zu trainieren und viele Experimente damit durchzuführen, benötigen Sie große Trainingssätze und eine Flotte von Maschinen mit teuren Grafikkarten. Offensichtlich haben große Unternehmen solche Möglichkeiten“, sagt er.

Unter den wichtigsten Marktteilnehmern nennt Kalinin Google und seine Abteilung Google DeepMind, die das AlphaGo-Netzwerk geschaffen hat, sowie Google Brain. Microsoft hat in diesem Bereich eigene Entwicklungen – diese werden vom Microsoft Research Labor durchgeführt. Die Erstellung neuronaler Netze wird bei IBM, Facebook (einer Abteilung von Facebook AI Research), Baidu (Baidu Institute of Deep Learning) und anderen durchgeführt. Viele Entwicklungen werden an technischen Universitäten auf der ganzen Welt durchgeführt.

Grigory Bakunov, Vertriebsdirektor von Yandex Technology, weist darauf hin, dass es auch bei Start-ups interessante Entwicklungen im Bereich neuronaler Netze gibt. „Ich erinnere mich zum Beispiel an die Firma ClarifAI. Dies ist ein kleines Startup, das einst von Leuten von Google gegründet wurde. Jetzt sind sie vielleicht die Besten der Welt, wenn es darum geht, den Inhalt eines Bildes zu bestimmen.“ Zu diesen Startups gehören MSQRD, Prisma und andere.

In Russland werden Entwicklungen im Bereich neuronaler Netze nicht nur von Startups, sondern auch von großen Technologieunternehmen durchgeführt – beispielsweise nutzt die Holding Mail.Ru Group neuronale Netze zur Verarbeitung und Klassifizierung von Texten in der Suche und Bildanalyse. Das Unternehmen führt auch experimentelle Entwicklungen im Zusammenhang mit Bots und Konversationssystemen durch.

Yandex baut auch eigene neuronale Netze auf: „Grundsätzlich werden solche Netze bereits bei der Arbeit mit Bild und Ton eingesetzt, aber wir erkunden ihre Möglichkeiten auch in anderen Bereichen.“ Jetzt führen wir viele Experimente zur Verwendung neuronaler Netze bei der Arbeit mit Text durch.“ Entwicklungen werden an Universitäten durchgeführt: Skoltech, MIPT, Moskauer Staatsuniversität, Higher School of Economics und anderen.