Wissenschaftliche elektronische Bibliothek. Aktivierungsfunktionen in neuronalen Netzwerken

Aktivierungsfunktion.

Das von dem Addierer empfangene Signal wird an die Aktivierungsfunktion übertragen. Das Ergebnis, das beim Berechnen dieser Funktion erhalten wurde, ist das Ausgangssignal des Nyron Y.

Wenn Sie also die Aktivierungsfunktion als f festlegen, hängt das NYRON-Ausgangssignal von dem Vektor der Eingangswerte und dem Gewicht der Gewichtskoeffizienten wie folgt ab:

Y \u003d f (x1 * w1 + x2 * w2 + ... + xn * wn)

In der Praxis werden unterschiedliche Aktivierungsfunktionen verwendet, um das Verhalten des Neurons, beispielsweise linear, Schwellenwert, Sigmoid usw. zu ändern usw., kurz einige dieser Funktionen in Betracht ziehen. Weitere Beschreibung finden Sie zum Beispiel in

Lineare Aktivierungsfunktion.

Der Graph der linearen Aktivierungsfunktion ist in Fig. 4 gezeigt. 4-3. Wie Sie sehen, ist diese Grafik eine gerade Linie, deren Neigungswinkel von der Konstante k und dem Schaltwert entlang der horizontalen Achse der Koordinaten abhängt - von der konstanten T.

4.

5.

6. Um das neuronale Netzwerk die Aufgabe ausführen zu können, muss er geschult (siehe Abb. 1). Es gibt Lernalgorithmen mit einem Lehrer und ohne Lehrer.
Der Lernprozess mit dem Lehrer ist die Darstellung eines Netzwerks von Sampling-Beispielen. Jede Probe wird den Netzwerkeingängen zugeführt, dann innerhalb der NA-Struktur verarbeitet, wird das Ausgangssignal des Netzwerks berechnet, das mit dem entsprechenden Wert des Zielvektors verglichen wird, der die gewünschte Ausgabe des Netzwerks ist. Dann wird durch eine bestimmte Regel ein Fehler berechnet, und die Gewichtungskoeffizienten werden abhängig vom ausgewählten Algorithmus innerhalb des Netzwerks geändert. Bildungssatzvektoren werden sequentiell dargestellt, Fehler und Gewichte werden für jeden Vektor berechnet, bis ein Fehler über das gesamte Trainingsarray einen akzeptablen niedrigen Niveau erreicht.

Beim Lernen ohne Lehrer besteht ein Lernset aus nur Input-Vektoren. Der Trainingsalgorithmus stellt das Gewicht des Netzwerks ein, so dass die vereinbarten Ausgangsvektoren erhalten werden, d. H. Damit die Präsentation von ausreichend schließenden Eingangsvektoren mit den gleichen Ausgängen angewiesen ist. Der Lernprozess weist daher die statistischen Eigenschaften des Lernsatzes aus und gruppieren ähnliche Vektoren in Klassen. Die Darstellung des Vektoreingangs aus dieser Klasse ergibt einen bestimmten Ausgabevektor, ist jedoch unmöglich, das Training vorherzusagen, was eine Ausgabe von dieser Klasse von Eingangsvektoren erstellt wird. Folglich sollten die Ausgänge eines solchen Netzwerks aufgrund des Lernprozesses in eine verständliche Form umgewandelt werden. Dies ist kein ernstes Problem. Es ist normalerweise nicht schwierig, die Verbindung zwischen dem Eingabe- und Ausgabetrieb vom Netzwerk zu identifizieren.
Um neuronale Netzwerke ohne Lehrer zu unterrichten, wird eine Signalmethode des Trainings von Hebba und OHA angewendet.



Mathematisch kann der Lernprozess wie folgt beschrieben werden. Bei dem Betriebsprozess erzeugt das neuronale Netzwerk das Ausgangssignal y und realisiert einige Funktion y \u003d g (x). Wenn die Netzwerkarchitektur angegeben ist, wird die Form der Funktion G durch die Werte der synaptischen Skalen und des verschobenen Netzwerks bestimmt.

Lassen Sie die Lösung einer bestimmten Aufgabe die Funktion y \u003d f (x) sein, parameter einstellen Eingang und Ausgang (x 1, y 1), (x 2, y 2), ..., (xn, yn), für welches yk \u003d f (xk) (k \u003d 1, 2, ..., n) .

Das Training besteht in der Suche (Synthese) der Funktion G, in der Nähe von f im Sinne des Objekts der Fehlerfunktion E. (siehe Abb. 1.8).

Wenn verschiedene Trainingsbeispiele ausgewählt sind - Paare (XN, YN) (wobei k \u003d 1, 2, ... n) und das Verfahren zum Berechnen der Fehlerfunktion e, dann wird das neuronale Netzwerktraining in ein Problem von umgewandelt Multidimensionale Optimierung, mit einer sehr großen Dimension, und da die Funktion E eine willkürliche Schulungsart im allgemeinen Fall aufweisen kann - ein multi-extremes, nicht treifendes Optimierungsproblem.

Um dieses Problem zu lösen, können die folgenden (iterativen) Algorithmen verwendet werden:

1. Lokale Optimierungsalgorithmen mit der Berechnung privater Derivate der ersten Bestellung:

· Gradientalgorithmus (die Methode des vorbereiteten Abstiegs),

· Verfahren mit einer dimensionalen und zweidimensionalen Optimierung der Zielfunktion in Richtung von Antigigs,

· Verfahren von konjugierten Gradienten,

· Methoden, die die Richtung der Antiagadietethr ein paar Schritte des Algorithmus berücksichtigen;

2. Lokale Optimierungsalgorithmen mit der Berechnung privater Derivate der ersten und der zweiten Bestellung:

· Newton-Methode,

· Optimierungsmethoden mit sparsamen Matrizen Hessen,

· Quasihinuton-Methoden,

· Gaussa Newton-Methode,

· Methode von Levenberg Marquardt et al.;

3. Stochastische Optimierungsalgorithmen:

· Suchen Sie in einer zufälligen Richtung

· Nachahmung Glühen,

· Monte Carlo-Methode (numerische statistische Testmethode);

4. Globale Optimierungsalgorithmen (globale Optimierungsaufgaben werden mit der Integrität der variablen Werte gelöst, auf denen die Zielfunktion abhängt).

7. Neurales Netzwerk Oder das menschliche Nervensystem ist ein komplexes Netzwerk menschlicher Strukturen, das miteinander verbundenes Verhalten aller Organismensysteme bereitstellt.

Biologisches Neuron ist eine spezielle Zelle, die strukturell aus Kern, Zellkörper und Prozessen besteht. Eine der wichtigsten Neuronenaufgaben ist die Übertragung eines elektrochemischen Puls über das gesamte neuronale Netzwerk durch verfügbare Verbindungen mit anderen Neuronen. Darüber hinaus zeichnet sich jede Bindung durch einen bestimmten Wert aus, der als synaptische Kommunikationskraft bezeichnet wird. Dieser Wert bestimmt, dass es mit einem elektrochemischen Impuls auftritt, wenn er ihn an ein anderes Neuron übertragen: Entweder wird es erhöht, oder es wird schwächer oder bleibt unverändert.

Das biologische neuronale Netzwerk hat ein hohes Maß an Konnektivität: Ein Neuron kann mehrere tausend Verbindungen mit anderen Neuronen haben. Dies ist jedoch ein ungefährer Wert und in jedem Fall ist es anders. Die Übertragung von Impulsen aus einem Neuron zum anderen erzeugt eine gewisse Erregung des gesamten neuronalen Netzwerks. Die Größe dieser Anregung bestimmt die Reaktion des neuronalen Netzwerks zu einigen Eingangssignalen. Beispielsweise kann ein Mensch mit alten Familien zu einer starken Einleitung des neuronalen Netzwerks führen, wenn mit diesem Freund einige helle und angenehme Lebenserinnerungen in Verbindung stehen. Die starke Anregung des neuronalen Netzwerks kann wiederum zur Erhöhung des Herzschlags, der häufigeren Augenblinzel und zu anderen Reaktionen führen. Das Treffen mit einer unbekannten Person für das neuronale Netzwerk wird fast unauffällig gehalten und wird daher keine starken Reaktionen verursachen.

Das folgende stark vereinfachte Modell des biologischen neuronalen Netzwerks kann gegeben werden:

Jedes Neuron besteht aus einem Zellkörper, der den Kernel enthält. Vom Körper der Zelle werden viele kurze Fasern geboren, als Dendriten genannt. Lange Dendriten werden Axon genannt. Die Axone sind über lange Entfernungen gedehnt, viel mehr übertreffen, was auf der Skala dieses Bildes gezeigt wird. Normalerweise haben die Axonen eine Länge von 1 cm (was den 100-fachen Durchmesser des Zellkörpers übersteigt), kann aber 1 Meter erreichen.

In den 60-80 Jahren des XX-Jahrhunderts war die Prioritätsrichtung der Forschung auf dem Gebiet der künstlichen Intelligenz expertensysteme. Expertensysteme haben sich bewährt, aber nur in hochspezialisierten Bereichen. Um universelle intelligente Systeme zu erstellen, war ein weiterer Ansatz erforderlich. Wahrscheinlich führte dies dazu, dass die Forscher künstlicher Intelligenz auf biologische neuronale Netze aufmerksam waren, die dem menschlichen Gehirn zugrunde liegen.

Neuronale Netzwerke in künstlicher Intelligenz sind vereinfachte Modelle biologischer neuronaler Netze.

Diese Ähnlichkeit endet. Die Struktur des menschlichen Gehirns ist viel komplizierter als das oben beschriebene oben beschriebene, und daher ist es nicht möglich, es mindestens weniger zu reproduzieren.

Neuronale Netze haben viele wichtige Eigenschaften, aber der Schlüssel davon ist die Fähigkeit, zu lernen. Die Ausbildung des neuronalen Netzwerks besteht hauptsächlich darin, die "Kraft" von synaptischen Krawatten zwischen Neuronen zu ändern. Das folgende Beispiel zeigt es deutlich. In der klassischen Erfahrung von Pavlov, jedes Mal, wenn die Glocke die Glocke laute, bevor er den Hund fütterte. Der Hund lernte schnell, eine Glocke mit Nahrungsaufnahme zu verbinden. Dies war eine Folge der Tatsache, dass die synaptischen Verbindungen zwischen den Hirnbereichen, die für die Hör- und Speicheldrüsen verantwortlich sind, intensiviert wurden. In der anschließenden Anregung des neuronalen Netzwerks des Klangs der Glocke begann zu einem stärkeren Speichelfluss des Hundes zu führen.

Bislang sind neuronale Netzwerke eines der vorrangigen Studienbereiche auf dem Gebiet der künstlichen Intelligenz.

8. Multilayer-Perzeptrons. Nennen Sie neuronale Netzwerke direkte Verteilung. Das Eingangssignal in solchen Netzwerken ist direkt von der Schicht mit der Schicht verteilt. Der mehrschichtige Perzeptron in der allgemeinen Präsentation besteht aus den folgenden Elementen:

· Sätze von Eingangsknoten, die die Einlassschicht bilden;

· Eine oder mehrere versteckte Schichten von Berechnen von Neuronen;

· Eine Ausgangsschicht von Neuronen.

Die Multilayer-Perzeptron ist eine Verallgemeinerung des einschichtigen PERSECEPTRON von Rosenblatt. Ein Beispiel für eine Multilayer-Percepton ist das folgende Modell des neuronalen Netzwerks:

Die Anzahl der Eingabe- und Ausgabeelemente in einer mehrschichtigen Wahrnehmung wird durch die Bedingungen des Problems bestimmt. Zweifel können sich hinsichtlich der Verwendung ergeben, und welche nicht. Die Frage, wie viel Zwischenschichten und Elemente in ihnen völlig unklar sind. Als anfängliche Annäherung kann eine Zwischenschicht genommen werden, und die Anzahl der Elemente darin sollte der Hälfte als Anzahl der Eingangs- und Ausgabeelemente gleich sein.

Multilayer PercePtrons werden erfolgreich zur Lösung einer Vielzahl komplexer Aufgaben verwendet und die folgenden drei ausgeprägten Merkmale aufweisen.

Wird die Fähigkeit einer Person, sein Verhalten zu bewältigen, seine Kraft mobilisieren, um die Schwierigkeiten auf dem Weg zum Ziel zu überwinden. Keine Handlungen einer Person sind freiwillig. Aktionen, die nicht mit einem bewussten Ziel verbunden sind, und die Überwindung von Schwierigkeiten (zum Beispiel drehen sich zu einem scharfen oder unerwarteten Klang) unwillkürlich. Beliebige Maßnahmen empfehlen immer das Bewusstseinsbewusstsein, die Darstellung dieser Vorgänge, mit denen er erreicht werden kann. Dies sind bewusste Maßnahmen auf ein bestimmtes Ziel und im Zusammenhang mit der Überwindung der Schwierigkeiten, denen einer Person auf dem Weg zum Ziel steht.

In der geistigen Aktivität des Menschen führt der Wille zwei miteinander verbundene Funktionen aus - Aktivieren und Bremsen. Die Aktivierungsfunktion manifestiert sich in der Tatsache, dass der WILL eine Person ermöglicht, seine inneren Kräfte zu mobilisieren und sie auf aktive Aktivitäten zu lenken, um ein bewusst eingestellte Ziel zu erreichen. Der Wille sorgt für den Übergang von Wissen und Erfahrungen einer Person auf praktische Tätigkeit in Übereinstimmung mit ihren Bedürfnissen, Absichten, Interessen. Gleichzeitig reguliert eine Person mit Hilfe der freien Bemühungen, eine Person sein Verhalten reguliert, das Entstehen solcher Motive und die Umsetzung solcher Handlungen, die ihn nicht mit Idealungen, Überzeugungen erfüllen, die nicht erfüllen. Dies ist der Ausdruck von Bremsen, Kontrolle, Verhaltenskontrolle.

Die physiologischen Basen des Wechsels der ersten und des zweiten Signalsystems des zerebralen Kortex bilden die Wechselwirkung. Mithilfe des ersten Signalsystems spiegelt sich hauptsächlich das erste Signalsystem in der Umgebung, menschliche Aktivitätsbedingungen. Die Anordnung des Ziels, das Denken an Wege, um es zu erreichen, um es zu erreichen, bewusste Anstrengungen, Überwachungsschwierigkeiten, das Management von selbst basiert auf der Aktivität des zweiten Signalsystems. In der Einheit und Wechselwirkung dieser beiden Systeme spielt das zweite Signalsystem eine führende Rolle. "Mann", sagte I.p. Pavlov, sagte: "Zunächst nimmt die Realität durch das erste Signalsystem wahr, dann wird es zum Master der Realität durch das zweite Signalsystem (Wort, Sprache, wissenschaftliches Denken)."

Wenn eine freiwillige Aktion durchgeführt wird, treten komplexe Prozesse der Erregung und des Brems in der Kortizelle des Gehirns auf. Erregung ermöglicht es Ihnen, Aktivieren zu aktivieren, Bremsen besteht darin, Wörter und Bewegungen zu verzögern. Die Festigkeit und das Gleichgewicht des Nervs des Kortex des Gehirns (erster und zweiter Signalsysteme) der Grundlage der Verordnung der menschlichen Verhaltensweisen.

Der freie Prozess ist eng mit allen anderen Seiten der menschlichen Psyche verbunden: Aufmerksamkeit, Denken, Fantasie, Gedächtnis, Gefühle, Temperament, Fähigkeiten, Charakter. "Volya, I.m. Schenov schrieb:" Es gibt keinen bevorstehenden Wirkstoff, der nur durch die Bewegung entsandt, ist die aktive Seite des Geistes und des moralischen Gefühls. "

Eine Person überwindet ein Hindernis nicht nur dank des Willens und beeinflusst von seinen Bedürfnissen, Gefühlen, Erfahrungen, Wissen, Gewohnheiten. Daher ist es unmöglich, das einzige Kriterium der Wille zu prüfen, die Schwierigkeiten überwinden. Die Besonderheiten des kostenlosen mentalen Prozesses bestehen in bewussten Bemühungen um die Aktivierung aller Möglichkeiten, um das Ziel zu erreichen.

Jede freie Aktion hat eine bestimmte interne Struktur. Bei der einfachen freien Aktion unterscheiden sich zwei Ebenen deutlich - den Zweck des Ziels und der Ausführung. Die Aktion, die darauf abzielt, das Ziel zu erreichen, wird sofort durchgeführt, sobald das entsprechende Motiv entstand. Zwischenverbindungen fehlen hier.

Eine komplexe freie Aktion umfasst: Bewusstsein für das Ziel, seine Bedeutung; Definition von Wegen, um das Ziel der angemessensten Maßnahmen zu erreichen; Entscheidung fällen; Ausführung empfangen, die Aufgabe erfüllen; Bewertung gemacht.

Jede bördliche Aktion beinhaltet das Vorhandensein eines Ziels, das vor einer Person entsteht. Mit anderen Worten, eine Person ist sich dessen bewusst, was er durch bestimmte Maßnahmen erreichen möchte - ihre Position im Team ändern, einige Bedürfnisse erfüllen usw. Das Ziel beim Menschen entsteht entweder als Ergebnis der Aktualisierung von internen Motiven (Motiven) oder dem Bewusstsein der Aufgabe, die vom Anführer, Commander, geliefert wird. Ein wichtiges psychologisches Problem ist hier ein tiefes Bewusstsein einer Person mit der Notwendigkeit, diese Aufgabe zu erfüllen, um sie in ein intern angenommenes Ziel zu verwandeln, das Erscheinungsbild des Wunsches, ihn zu erreichen.

Der nächste Link der wöchentlichen Aktion besteht darin, darüber nachzudenken, wie er das Ziel erreichen kann, was der Weg sein sollte, um dies zu erreichen, welche Arten von Handlungen dazu führen. Gleichzeitig wird es manchmal von der Machbarkeit der auf der einen oder anderen Weise gewogen, die Wahl der Werkzeuge, die die tatsächliche Erreichung des Ziels vornehmen. All dies ist auf intellektuelle menschliche Tätigkeit zurückzuführen. Es wird häufig von der Motivationsbereich der Persönlichkeit betroffen, der Wrestling von Motiven entsteht, d. H. Die Kollision von widersetzenden, unverkennenden Motivationen, zwischen denen die Wahl haben wird. Und hier muss die Person einen ungünstigen Bemühen zeigen, den Kampf der widersprüchlichen Motivation zu überwinden.

Die wesentliche Verbindung der Fähigkeit ist die Entscheidung, diese Aktion umzusetzen, mit der das Ziel erreicht wird. Um eine Entscheidung zu treffen, ist nicht nur das maximale Bewusstsein, sondern auch die Entschlossenheit, Persönlichkeitsverantwortung erforderlich. Mit der Entscheidungsfindung, in der Regel kommt der Entlastung, schwächt den Stress, der den Kampf der Motive begleitet. Eine Person erlebt eine vollständige Erleichterung, ein Gefühl der Zufriedenheit, alle Schwingungen und inneren Stress werden entfernt, wenn die Entscheidung seine Wünsche der Wünsche gemacht hat. Aber Erleichterung kommt und dann, wenn die Entscheidung nicht vollständig mit den Wünschen und Bestrebungen einer Person stimmt. Die Spannung verringert die Tatsache der Entscheidung.

Die Durchführung der Lösung ist der Hauptteil der wöchentlichen Aktion. Es ist immer mit überwindenden äußeren und internen Schwierigkeiten verbunden. Äußere, objektive Schwierigkeiten hängen nicht von der Person selbst ab. Diese sind Schwierigkeiten bei der Arbeit, die Komplexität der Operationen, die ausgeführt werden, wodurch große körperliche Anstrengungen, den Beständigkeit anderer Menschen, Wetter- und Klimabedingungen usw. erfordern. Inländische, subjektive Schwierigkeiten hängen vom körperlichen und geistigen Zustand der Person ab. Dazu gehören das Fehlen von Wissen, Erfahrungen, Widerspruch zwischen den ehemaligen Gewohnheiten und neuen Anforderungen usw. In den meisten Fällen manifestiert sich externe und interne Schwierigkeiten in der Einheit.

Um diese Schwierigkeiten zu überwinden, ist eine freiwillige Kraft erforderlich, die durch den Energiebetrag gekennzeichnet ist, der von einer Person ausgegeben wird, um eine fokussierte Handlung oder Abzug daraus auszuführen. Die freie Anstrengung durchdringt alle Verbindungen des Willensrechts - Bewusstseins des Ziels, die Definition der Wege, um sie zu erreichen, Entscheidungsfindung. Es ist jedoch besonders im Prozess der Ausführung einer Entscheidung, in der Bekämpfung von Schwierigkeiten, manifestiert. Laut menschlicher Fähigkeit, den freien Bemühungen, die Besonderheiten seines Willens zu beurteilen, freie Bemühungen zu zeigen.

Ein wichtiger Ort in der psychologischen Struktur einer freiwilligen Action nimmt eine Bewertung ein. Auch bei Aktivitätsprozess steuert und passt sich eine Person ihre Handlungen an. In jedem Moment verbindet es das resultierende Ergebnis mit einem idealen Ziel (oder seiner Teile), das im Voraus erstellt wurde. Bei der Endstufe der Tätigkeit wird die Bewertung seiner Ergebnisse die Analyse des Errungsvorgangs durch einen unabhängigen Wert erworben. Es ist notwendig, in der Zukunft sowohl positive als auch Nachteile in menschlichen Handlungen zu ermitteln und zu berücksichtigen.

Eine besonders wichtige wöchentliche Aktion (heroische Tat, feat, feat) wird in extrem kurzer Zeit als Eile engagiert, wenn sie alle Kräfte mobilisieren. Bei solchen Bedingungen scheinen alle Verbindungen der freien Willenswirkung zusammen zusammengeführt zu werden, um sich gegenseitig durchdringen zu lassen. Bewusstsein für das Ziel, Entscheidungsfindung, Aktionsprogramm, die Definition von Wege, um das Ziel hier zu erreichen, wird mit direkten praktischen Handlungen einer Person verbunden. Meistens passiert es in Notfällen: in einer Kampfsituation, in der Erlösung des Lebens der Menschen, mit natürlichen Maßnahmen, Unfällen, Katastrophen usw.

Im zweiten Teil des Artikels diskutieren wir weiterhin die Feinheiten des tiefen Lernens.

5. Auswahl der Aktivierungsfunktionen

Einer der wichtigsten Aspekte eines tiefen neuronalen Netzwerks ist aktivierungsfunktion. (Aktivierungsfunktion), die in das Netzwerk bringt nichtlinearität. Als nächstes berücksichtigen wir die gemeinsamen Aktivierungsfunktionen und geben Empfehlungen für ihre Wahl.

Sigmoid

Sigmoid (Sigmoid) wird durch folgende Formel ausgedrückt: Σ (x) \u003d 1 / (1 + E -x). Diese Funktion nimmt eine beliebige echte Zahl an dem Einlass an, und am Ausgang ergibt sich am Ausgang eine reelle Zahl im Bereich von 0 bis 1. Insbesondere werden die großen (Modul) negativen Zahlen in Null und großer positiver in einem. In der Historisch wurde der Sigmoid weit verbreitet, da seine Leistung als die Aktivierung des Neuronsniveaus gut interpretiert wird: vom Mangel an Aktivierung (0) bis zur vollständigen Aktivierung (1).

Im Moment hat der Sigmoid seine eigene Popularität verloren und ist sehr selten verwendet. Diese Funktion hat zwei schwerwiegende Nachteile:

  1. Die Sättigung von Sigmoid führt zur Dämpfung von Gradienten. Die äußerst unerwünschte Eigenschaft des Sigmoids besteht darin, dass beim Sensen der Funktion von einer Seite oder einem anderen (0 oder 1) der Gradienten an diesen Stellen nahe an Null wird. Erinnern Sie sich daran, dass dieser (lokale) Gradienten im Prozess der umgekehrten Verbreitung des Fehlers mit einem gemeinsamen Gradienten multipliziert wird. Wenn daher der örtliche Gradient sehr klein ist, setzt sie tatsächlich den allgemeinen Gradienten zurück. Infolgedessen führt das Signal fast nicht durch das Neuron zu seinen Gewichten und rekurisch auf seine Daten. Darüber hinaus sollte es sehr vorsichtig sein, wenn Sie die Waagen von Sigmoid-Neuronen initialisieren, um eine Sättigung zu vermeiden. Wenn beispielsweise die Sourcegewichte zu große Werte haben, gehen die meisten Neuronen in den Sättigungszustand, wodurch das Netzwerk schlecht ausgebildet ist.
  2. Die Leistung von Sigmoid ist nicht in Bezug auf Null zentriert. Diese Eigenschaft ist unerwünscht, da Neuronen in nachfolgenden Schichten Werte empfangen, die nicht relativ zu Null zentriert sind, was die Dynamik beeinflusst gradientenabstieg (Gradientenabstieg). Wenn die Werte, die Neuronen eindringen, immer positiv sind (zum Beispiel, x\u003e 0. Elemental B. f \u003d ω t x + b), dann im Prozess des Rücksendungen aller Gradienten der Waage ω wird entweder positiv oder negativ sein (abhängig vom Gradienten des gesamten Ausdrucks f.). Dies kann zu einer unerwünschten Zickzack-Dynamik von Gewichtsaktualisierungen führen. Es sei jedoch darauf hingewiesen, dass, wenn diese Gradienten in einem Paket zusammengefasst sind, die endgültige Aktualisierung der Gewichte unterschiedliche Anzeichen aufweisen kann, die teilweise den beschriebenen Nachteil aufweisen. Daher ist der Mangel an Zentrierung Unannehmlichkeiten, hat jedoch weniger schwerwiegende Folgen, verglichen mit dem Problem der Sättigung.

Hyperbolische Tangente.

Der hyperbolische Tange (hyperbolischer Tangent, TANH) nimmt am Eingang eine beliebige reelle Zahl an, und an der Ausgabe ergibt sich an der Ausgabe eine reelle Zahl im Bereich von -1 bis 1. Wie ein Sigmoid, hyperbolischer Tangent kann gesättigt sein. Im Gegensatz zum SigmoN ist der Ausgang dieser Funktion jedoch relativ zu Null zentriert. In der Praxis ist es in der Praxis immer bevorzugt, einen hyperbolischen Tangent und kein Sigmoid zu verwenden.

RELU.

In den letzten Jahren hat die Aktivierungsfunktion namens "Rektifikator" (Gleichrichter, von Analogie mit einem ein-alterogenen Gleichrichter in Elektrotechnik) große Popularität erworben. Neuronen mit dieser Aktivierungsfunktion werden RELU (korrigierte lineare Einheit) bezeichnet. Relu hat die folgende Formel f (x) \u003d max (0, x) Und implementiert einen einfachen Schwellenwert in Null.

Betrachten Sie die positiven und negativen Seiten der RELU.

Positive Seiten:

  1. Die Berechnung von Sigmoid- und hyperbolischen Tangenten erfordert die Implementierung ressourcenintensiver Operationen, wie beispielsweise der Übung, während RELU mit einer einfachen Schwellenwertumwandlung der Aktivierungsmatrix in Null implementiert werden kann. Darüber hinaus ist RELU nicht gesättigt.
  2. Die Verwendung von RELU erhöht die Konvergenzrate der Konvergenzrate eines stochastischen Gradientenabstiegs (in einigen Fällen bis 6 Mal) gegenüber dem Sigmoid- und hyperbolischen Tangenten erheblich. Es wird angenommen, dass dies auf den linearen Charakter und das Fehlen einer Sättigung dieser Funktion zurückzuführen ist.

Negative Seiten:

  1. Leider ist Relu nicht immer zuverlässig genug und kann im Lernprozess fehlschlagen ("Sterben"). Beispielsweise kann ein großer Gradienten, der durch RELU passiert, zu einer solchen Aktualisierung der Waage führen, dass dieses Neuron niemals aktiviert ist. Wenn dies geschieht, dann beginnt der Gradienten, der durch dieses Neuron durch dieses Neuron verläuft, immer Null. Dementsprechend wird dieses Neuron irreversibel deaktiviert sein. Mit zu viel Lerngeschwindigkeit (Lernrate) kann es sich beispielsweise herausstellen, dass bis zu 40% der RELU "tot" (das ist nie aktiviert). Dieses Problem wird durch Auswahl der richtigen Trainingsgeschwindigkeit gelöst.

Derzeit gibt es eine ganze Familie verschiedener Modifikationen von RELU. Als nächstes werden wir ihre Funktionen ansehen.

Für Lrelu αi hat ein fester Wert, für Prelu αi wird auf der Basis von Daten bestimmt, dass Relu αji während des Trainings zufällig aus dem angegebenen Intervall erzeugt wird und während des Tests konstant bleibt.

Leaky Relu.

Relu mit einem "Leck" (Leckrelu, Lrelu) ist eine der Versuche, das oben beschriebene Problem auf dem Scheitern der gewöhnlichen RELU zu lösen. Normalrelu auf dem Intervall x.< 0 Es ergibt Null am Ausgang, während Lrelu in diesem Intervall einen kleinen negativen Wert hat (ein Eckkoeffizient etwa 0,01). Das heißt, die Funktion für Lrelu hat das Formular f (x) \u003d αx zum x.< 0 und f (x) \u003d x zum x ≥ 0.wobei α eine kleine Konstante ist. Einige Forscher berichten über die erfolgreiche Anwendung dieser Aktivierungsfunktion, aber die Ergebnisse sind nicht immer stabil.

Parametrische RELU.

Für parametrische RELU (parametrischer Relu, PRELU) ist der Winkelkoeffizient im Negativintervall nicht definiert und wird auf der Grundlage von Daten bestimmt. Die Autoren der Publikation argumentieren, dass die Verwendung dieser Aktivierungsfunktion ein Schlüsselfaktor ist, um den menschlichen Niveau in der Bilderkennungsaufgabe von Imageten zu übertreffen. Der Prozess der umgekehrten Verbreitung des Fehlers und des Updates für Prelu (S. 43-Folien) ist recht einfach und ähnelt dem entsprechenden Prozess für traditionelle RELU.

Randomisierte RELU.

Für einen randomisierten randomisierten Relu, Rrelu, wird Relu, ein Winkelkoeffizient in einem negativen Intervall während des Trainings während des Trainings zufällig aus dem angegebenen Intervall erzeugt, und während der Prüfung bleibt konstant. Im Rahmen der nationalen Data Science Bowl (NDSB) hat Rrelu (NDSB) Rrelu die Umschulung aufgrund des Zufallselements reduziert. Laut dem Gewinner dieses Wettbewerbs, während des Lernens α ICH. zufällig von der Verteilung erzeugt 1 / u (3, 8)und während des Tests war der Wert ständig und gleich der mathematischen Erwartung: 2 / (l + u) \u003d 2/11.

Die L1-Regularisierung hat ein interessantes Eigentum, das darin besteht, dass die Vektorvektoren in seinem Ergebnis spärlich werden (das ist sehr nahe an Null). Mit anderen Worten, Neuronen mit der L1-Regularisierung verwenden letztendlich nur eine kleine Teilmenge der wichtigsten Eingänge und wird dementsprechend von den "lauten" Eingängen fast nicht beeinflusst.

Wenn in der Praxis keine direkte Auswahl an Funktionen erforderlich ist, bietet die L2-Regularisierung das beste Ergebnis gegenüber der L1-Regularisierung.

Vektorstandards wiegen

Eine weitere Methode zur Regularisierung ist das Verfahren zum Begrenzen der Norm des Gewichtsvektors (Maxim Norm-Einschränkung). Im Rahmen diese Methode Wir setzen die absolute Obergrenze für die Norm des Gewichts des Gewittervektors jedes Neurons ein. Die Einhaltung der Einschränkungen wird vom projizierbaren Gradientenablauf (projizierter Gradientenabstieg) bereitgestellt. In der Praxis wird dies wie folgt implementiert: Die Aktualisierung von Gewichten erfolgt wie üblich und dann Vektorgewichte ω Jedes Neuron ist auf den Zustand begrenzt || Ω || 2< c . Typischerweise der Wert c. Dies ist etwa 3 oder 4. Einige Forscher berichten bei der Verwendung dieser Regularisierungsmethode einen positiven Effekt. Eine der vorteilhaften Eigenschaften dieser Methode besteht darin, dass Sie dazu führen können, dass Sie "explosive" Wachstum von Gewichten auch bei zu großer Trainingsgeschwindigkeit verhindern können, da das Wägen von Updates immer begrenzt sind.

Tropfen

Dropout - Eine einfache und sehr effektive Regularisierungsmethode, die die oben genannten Methoden ergänzt. Er wurde kürzlich in der Arbeit vorgeschlagen. Die Essenz der Methode ist, dass im Prozess des Lernens von gemeinsames Netzwerk Nach dem Zufallsprinzip aus dem zufälligen Subnetz, und das Wiege-Update wird nur in diesem Subnetz durchgeführt. Neuronen fallen in das Subnetz mit Wahrscheinlichkeit p.was als Boeffizient des Bohrers bezeichnet wird. Während des Tests gilt das Ausbruch stattdessen nicht, dass das Gewicht mit dem Koeffizienten der Strömungsrate multipliziert wird, wodurch es möglich ist, eine gemittelte Schätzung für das Ensemble aller Subnetze zu erhalten. In der Praxis der Boeffizient des Bogens p. Es wird normalerweise gleich 0,5 ausgewählt, kann jedoch mit einem Validierungsdatensatz ausgewählt werden.

Tropfen sind eine der beliebtesten Regularisierungsmethoden. Im Jahr 2014 hat Google eine Patentanmeldung für diese Methode eingereicht.

7. Visualisierung

Im Lernprozess ist es nützlich, die Visualisierung durchzuführen, um die Wirksamkeit des Lernens zu steuern.

Wie Sie wissen, ist die Lernrate ein sehr sensibler Parameter. Abbildung 1 Nachfolgend sehen wir, dass die Fehlerkurve mit sehr großen (sehr hohen) Trainingsgeschwindigkeiten eine inakzeptable Form hat. Mit einer kleinen (niedrigen) Lerngeschwindigkeit nimmt der Fehler auch nach einer großen Anzahl von Epochen sehr langsam ab. Mit einer großen (hohen) Trainingsgeschwindigkeit sinkt der Fehler am Anfang rasch, aber dann fällt er in ein lokales Minimum, wodurch das Netzwerk möglicherweise keine guten Ergebnisse erzielen kann. Wenn die Lerngeschwindigkeit korrekt (gut) (rot) (rote Linie) gewählt wird, nimmt der Fehler reibungslos ab und erreicht schließlich den Mindestwert.

Jetzt schauen wir uns die Fehlerkurve in größerem Maßstab an. Die Ära (Epoche) entspricht einem einzelnen Durchgang für ein Lerndatensatz, jeweils jede Ära viele Mini-Pakete (Mini-Batch) enthält. Wenn wir den Fehler für jedes Mini-Paket visualisieren, wird die Fehlerkurve in 2 in Betracht gezogen. Wenn der Fehler langsam abnimmt, ist wahrscheinlich die Lerngeschwindigkeit zu groß. Die "Breite" der Kurve entspricht der Größe des Mini-Pakets. Wenn die "Breite" zu groß ist, heißt es, dass die Streuung zwischen Mini-Paketen zu groß ist, bedeutet dies, dass es notwendig ist, die Größe des Mini-Pakets zu erhöhen.

Eine weitere Schlussfolgerung kann mit Genauigkeitskurven erfolgen. In Abbildung 3 stellt die rote Kurve die Genauigkeit des Lerndatensatzes dar, und grün auf der Validierung. Der Abstand zwischen den Kurven zeigt, wie effektiv das Modell ist. Eine große Entfernung legt nahe, dass das Netzwerk durch Trainingsdaten gut klassifiziert und die Validierungsdaten schlecht klassifiziert. In diesem Fall gibt es in diesem Fall eine Umschulung. Um dieses Problem zu lösen, ist es notwendig, die Regularisierung zu stärken. Wenn der Abstand zwischen den Kurven abwesend ist, und beide Kurven entsprechen dem niedrigen Genauigkeitsgrad, bedeutet dies, dass unser Modell nicht ausreichend lernen kann. Um das Ergebnis zu verbessern, muss in diesem Fall den Behälter des Modells erhöht werden.

8. Ansumpe von tiefen Netzwerken

Verschiedene Schulungsstufen eines Modells

Für den Fall, dass der Lernprozess sehr anspruchsvoll ist, kann er in ein Ensemble unterschiedliche Trainingsstadien eines Modells (Checkpoint) kombiniert werden, zum Beispiel nach jeder Zeit. Dieser Ansatz bietet keine größere Vielfalt, aber in der Praxis kann es genügend gute Ergebnisse geben.

Praktisches Beispiel:

In realen Aufgaben sind Daten in der Regel ungleichmäßig von Klassen verteilt, dh einige Klassen haben eine große Anzahl von Trainingsbildern, und einige sind deutlich weniger. Wie in einem kürzlich erfolgten Bericht berichtet, können nicht ausgeliebte Trainingsdaten eine ernsthafte negative Auswirkungen auf die Gesamtwirksamkeit tiefe Faltungsnetze haben. Die einfachste Lösung dieses Problems besteht darin, Bilder in Klassen mit einer kleinen Menge an Bildern zu duplizieren oder Bilder aus Klassen mit einer großen Anzahl von Bildern auszuschließen. Eine andere Lösung für dieses Problem, die wir im Zusammenhang mit der oben beschriebenen Konkurrenz aufgetragen haben, ist das Zuschneiden. Da die ersten Bilder kultureller Ereignisse ungleichmäßig von Klassen verteilt waren, gelernten wir Fragmente von Bildern für Klassen mit einer kleinen Anzahl von Trainingsinstanzen. Einerseits hat dieser Ansatz eine Vielzahl von Lerndaten bereitgestellt, und andererseits durfte sie das Problem des Ungleichgewichts lösen durften.

Um das beschriebene Problem zu lösen, können Sie auch die Strategie anwenden dünne Einstellung (Feinabstimmung) der Präferenzmodelle. Insbesondere kann das anfängliche Schulungsdatensatz so in zwei Teile aufgeteilt werden, dass ein Teil Klassen enthält, die durch eine große Anzahl von Bildern dargestellt werden, und die anderen Klassen, die durch eine kleine Anzahl von Bildern dargestellt werden. Jeder Teil wird relativ ausgewogen sein. Danach müssen Sie zunächst das Modell auf Klassen mit einer großen Anzahl von Bildern und dann auf Klassen mit einer kleinen Anzahl von Bildern trainieren.

Übersetzung von Stanislav Petrenko

) sind Teil meiner wissenschaftlichen Arbeit in der Universität, die sich so anhörte: "Ein programmatischer Komplex, um Personen im Videostream mit einem fundierten neuronalen Netzwerk zu erkennen." Der Zweck der Arbeit bestand darin, die Geschwindigkeitsmerkmale im Prozess des Erkennens von Personen im Videostrom zu verbessern. Eine Smartphone-Kamera wurde als Videostream verwendet, ein Desktop-PS (Kotlin-Sprache) wurde geschrieben, um ein fundgerechtes neuronales Netzwerk sowie die Android-Mobile-Anwendung (Kotlin-Sprache) zu erstellen und zu lehren, die das trainierte Netzwerk verwendete und versuchte, Einzelpersonen zu erkennen aus dem Kamera-Video-Stream. Ich werde sagen, dass die Ergebnisse so verwendet werden sollen präzise Kopie. Die von mir vorgeschlagene Topologie und Risiko (ich würde nicht empfehlen).

Theoretische Aufgaben

  • bestimmen Sie das Problem gelöstes Problem (Klassifizierung, Prognose, Änderung);
  • eingabe definieren (Typ: Bild, Ton, Größe: 100x100, 30x30, Format: RGB, in Graustufen) und Ausgabe (Anzahl der Klassen);
  • bestimmen Sie die Topologie des Faltungsnetzwerks (die Anzahl der Faltungs-, Erhöhungen, kompletten Schichten; die Anzahl der Anzeichen von Zeichen, die Größe der Kerne, Aktivierungsfunktionen).

Einführung

N / A höchstpunktzahl Im Bereich der Erkennung von Individuen hat das fundlungs- neuronale Netzwerk gezeigt oder ein fundiertes neuronales Netzwerk (im Folgenden als SNA bezeichnet), der logische Entwicklung von Ideen von NA-Architekturen als Kognitrone und Neocognitron ist. Der Erfolg ist auf die Möglichkeit der Bilanzierung der zweidimensionalen Bildtopologie, im Gegensatz zu mehrschichtigen Perzeptrons.

Koppeln von neuronalen Netzwerken bieten einen teilweisen Beständigkeit gegen Änderungen in Maßnahmen, Verschiebungen, Windungen, Winkelwinkel und andere Verzerrungen. Die Kopplung neuronaler Netze kombinieren drei architektonische Ideen, um eine Invarianz der Skalenwechsel zu gewährleisten, die Schicht- und Raumverzerrung zu verwandeln:

  • lokale Rezeptorfelder (liefern lokale zweidimensionale Neuronen-Konnektivität);
  • häufige synaptische Koeffizienten (Erkennung einiger Merkmale an einer beliebigen Stelle im Bild und reduzieren die Gesamtzahl der Gewichtskoeffizienten);
  • hierarchische Organisation mit räumlichem Unterabschnitt.
Im Moment gilt das fundierte neuronale Netzwerk und seine Änderungen als das Beste in Bezug auf die Genauigkeit und die Geschwindigkeit von Algorithmen, um Objekte auf der Szene zu finden. Seit 2012 besetzen neuronale Netzwerke die ersten Plätze auf dem bekannten internationalen Wettbewerb, um Imagentenbilder zu erkennen.

Deshalb benutzte ich in seiner Arbeit ein fundiertes neuronales Netzwerk, das auf den Prinzipien von Nicht-SHOGYNITRON und einem Notfalllern auf einem Fehlerverteilungsalgorithmus basiert.

Kopplung neuronaler Netzwerkstruktur

SNS besteht aus verschiedene Arten Schichten: Kupplung (Faltungs-) Schichten, Subdiscretion (Unterabtastung, Subsample-) Schichten und Schichten des "gewöhnlichen" neuronalen Netzwerks - PapereCtron gemäß Fig. 1.


Abbildung 1 - Topologie des fundgerechten neuronalen Netzwerks

Die ersten beiden Arten von Schichten (Faltungen, Subsammling), abwechselnd untereinander, bilden den Eingabevektor der Zeichen für einen mehrschichtigen Perzeptron.

Die Faltungsleitbarkeit erhielt seinen Namen dem Titel der Operation - eine Faltung, deren Wesen, deren beschrieben wird.

Kupplungsnetzwerke sind eine erfolgreiche Mitte zwischen biologisch glaubwürdigen Netzwerken und einem herkömmlichen Multi-Layer-Perzeptron. Bisher werden die besten Ergebnisse der Bilderkennung mit ihrer Hilfe erhalten. Im Durchschnitt übersteigt die Genauigkeit der Anerkennung solcher Netze die üblichen Inspektionen um 10-15%. SNS ist ein tiefe Tiefenlern.

Die Hauptursache für den SNS-Erfolg war das Konzept der gemeinsamen Waage. Trotz der großen Größe haben diese Netzwerke im Vergleich zu ihrem Vorfahren - Neocognitron eine kleine Menge an kundenspezifischen Parametern. Es gibt Varianten des SNA (Tiled Clowolyal Neuronal Network), ähnlich wie NEOCOGNITRON, in solchen Netzwerken erfolgt eine teilweise Ablehnung der verwandten Waage, der Lernalgorithmus bleibt jedoch gleich und basierend auf dem Rückkehrfehler. Die SNA kann schnell an einer seriellen Maschine arbeiten und lernen schnell aufgrund der Netzparallelisierung des Faltungsvorgangs auf jeder Karte sowie eine umgekehrte Faltung, wenn der Netzwerkfehler verteilt ist.

Abbildung unten zeigt eine Visualisierung der Faltung und Unterwahl:

Neuron-Modell.


Topologie des Faltungsleiters Neuralo

Die Definition der Netzwerktopologie konzentriert sich auf die gelöste Aufgabe, Daten von wissenschaftliche Artikel Und seine eigene experimentelle Erfahrung.

Sie können folgende Stufen auswählen, die die Auswahl der Topologie beeinflussen:

  • bestimmen Sie das gelöste Problem mit dem neuronalen Netzwerk (Klassifizierung, Prognose, Modifikation);
  • bestimmen Sie die Einschränkungen in dem Problem gelöst (Geschwindigkeit, Genauigkeit der Antwort);
  • eingabe definieren (Typ: Bild, Ton, Größe: 100x100, 30x30, Format: RGB, in Graustufen) und Ausgabe (Anzahl der Klassen).
Meine neuronale Aufgabe ist gelöst - die Klassifizierung von Bildern, insbesondere Personen. Die auferlegten Einschränkungen des Netzwerks sind die Ansprechgeschwindigkeit - nicht mehr als 1 Sekunde und die Erkennungsgenauigkeit von mindestens 70%. Die totale Netzwerktopologie gemäß Abbildung 2.


Abbildung 2 - Topologie des einfarbigen neuronalen Netzwerks

Einlassschicht

Eingabedaten stellt farbige Bilder des Typs JPEG, die Größe 48x48-Pixel dar. Wenn die Größe zu groß ist, erhöht sich die Rechenkomplexität bzw. die Beschränkungen der Ansprechgeschwindigkeit, dass die Definition der Größe in diesem Problem durch das Auswahlverfahren gelöst wird. Wenn Sie die Größe auswählen, ist das Netzwerk keine wichtigen Anzeichen von Personen in der Lage. Jedes Bild ist in 3 Kanäle unterteilt: rot, blau, grün. Somit werden 3 Bilder der Größe von 48x48 Pixeln erhalten.

Die Eingabeschicht berücksichtigt die zweidimensionale Bildtopologie und besteht aus mehreren Karten (Matrizen), die Karte kann allein sein, wenn das Bild in Graustufen dargestellt wird, ansonsten gibt es drei, wo jede Karte einem entspricht Bild mit einem bestimmten Kanal (rot, blau und grün).

Die Eingabe jedes spezifischen Pixelwerts wird gemäß der Formel im Bereich von 0 bis 1 normalisiert:

Schneidschicht

Die Coaching-Schicht ist ein Satz von Karten (ein anderer Name - Anzeichen von Zeichen, im Alltag ist gewöhnliche Matrizen), jede Karte hat einen synaptischen Kernel (in verschiedenen Quellen, die es anders als aufgerufen wird: ein Scankern oder ein Filter).

Die Anzahl der Karten wird von den Aufgabenanforderungen ermittelt, wenn Sie eine große Anzahl von Karten annehmen, die Qualität der Anerkennung steigt, aber die rechnerische Komplexität wird zunehmen. Basierend auf der Analyse der wissenschaftlichen Artikeln wird in den meisten Fällen vorgeschlagen, ein Verhältnis von eins zu zwei anzunehmen, dh, jede Karte der vorherigen Schicht (z. B. an der ersten Faltungsschicht, dem vorherigen, der vorherige ist) assoziiert ist) mit zwei Karten der Faltungsschicht gemäß Abbildung 3. die Anzahl der Karten - 6.


Abbildung 3 - Organisation von Verbindungen zwischen Karten der Faltungsschicht und dem vorherigen

Die Größe aller Karten der Faltungsschicht ist das gleiche und von der Formel 2 berechnet:

Der Kernel ist ein Filter oder ein Fenster, das über den gesamten Bereich der vorherigen Karte gleitet und bestimmte Anzeichen von Objekten findet. Wenn das Netzwerk beispielsweise auf einem Satz von Personen ausgebildet wurde, könnte ein der Kerne im Lernprozess das größte Signal im Bereich des Auges, des Munds, der Augenbrauen oder in der Nase erzeugen, ein anderer Kernel konnte andere Zeichen erkennen . Die Kernelgröße wird in der Regel in Höhe von 3x3 bis 7x7 aufgeladen. Wenn die Größe des Kernels klein ist, kann es nicht in der Lage sein, keine Anzeichen hervorzuheben, wenn es zu groß ist, dann erhöht sich die Anzahl der Verbindungen zwischen den Neuronen. Die Größe des Kernels wird auch gewählt, so dass die Größe der Faltungsschichtkarten sogar war, dass Sie Informationen verlieren können, wenn die Abmessung in der unten beschriebenen telektuellen Schicht reduziert wird.

Der Kernel ist ein System von gemeinsam genutzten Waagen oder Synapsen, dies ist eine der Hauptmerkmale des fantastischen neuronalen Netzwerks. Im üblichen mehrschichtigen Netzwerk gibt es viele Verbindungen zwischen Neuronen, dh Synapsen, die den Nachweisvorgang langsam verlangsamen. Im Faltungsnetz reduziert das Gesamtgewicht im Gegenteil die Anzahl der Verbindungen und ermöglichen das gleiche Zeichen in dem gesamten Bildbereich.

Zunächst sind die Werte jeder Faltungsschichtkarte gleich 0. Die Werte der nuklearen Wiegen sind in dem Bereich in dem Bereich von -0,5 bis 0,5 zufällig spezifiziert. Der Kernel gleitet über die vorherige Karte und macht einen Faltungsbetrieb, der häufig zum Verarbeiten von Bildern, Formel verwendet wird:

In informell kann dieser Vorgang wie folgt beschrieben werden - das Kernelgrößenfenster G läuft mit einem bestimmten Schritt (normalerweise 1) alle Bildf und in der Ergebnismatrix aufgenommen, wie in Abbildung 4.


Abbildung 4 - Schnittbetrieb und Empfangen von Faltungskartenwerten (gültig)


Schnittbetrieb und Empfangen von Faltungskartenwerten. Der Kernel wird verschoben, die neue Karte wird mit der gleichen Größe wie der vorherige (gleiche) erhalten (gleich)

In diesem Fall kann das Ergebnis in Abhängigkeit von dem Verarbeitungsverfahren der Kanten der Originalmatrix geringer sein als das Originalbild (gültig), dieselbe Größe (gleich) oder größere Größe (Voll) gemäß Fig. 5.


Abbildung 5 - Drei Arten der Faltung der Quellmatrix

In vereinfachter Form kann diese Schicht durch die Formel beschrieben werden:

Gleichzeitig wird aufgrund der Grenzeffekte die Größe der Anfangsmatrizen reduziert, die Formel:

Zuckerschicht

Die Schlingschicht sowie der Bootter haben Karten, aber ihre Zahl stimmt mit der vorherigen (falteten) Schicht zusammen, sie sind 6. Der Zweck der Schicht besteht darin, die Abmessung der vorherigen Schichtkarten zu reduzieren. Wenn der vorherige Faltungsvorgang bereits einige Zeichen identifiziert hat, ist es zur weiteren Verarbeitung für die weitere Verarbeitung nicht mehr erforderlich, und es ist auf weniger detailliert komprimiert. Darüber hinaus hilft die Filterung von bereits unnötigen Teilen nicht dazu, sich nicht umzugetauscht.
Beim Scannen des Kernels der Unterschicht (Filter) der Karte der vorherigen Ebene kreuzt der Scan-Kernel nicht im Gegensatz zur Faltungsschicht. Normalerweise hat jede Karte einen 2x2-Kernel, mit dem Sie die vorherigen Karten der Faltungsschicht 2-mal reduzieren können. Die gesamte Zeichenkarte ist in 2x2 Zellen des Elements unterteilt, von denen der Maximalwert ausgewählt ist.

Üblicherweise wird die RELU-Aktivierungsfunktion in der telefaktuellen Schicht verwendet. Ereignisbetrieb (oder MaxPooling ist die maximale Auswahl) gemäß Fig. 6.


Abbildung 6 - Bildung neue Karte Erstellungsschicht basierend auf der vorherigen Kupplungsschichtkarte. Max Pooling-Betrieb.

Formal kann die Schicht durch die Formel beschrieben werden:

Komplette Schicht

Die letzte der Arten von Schichten ist eine Schicht eines gewöhnlichen Mehrschicht-Perzeptrons. Der Zweck der Schicht ist die Klassifizierung, simuliert eine komplexe nichtlineare Funktion, die optimiert, welche die Erkennungsqualität verbessert.

Neuronen jeder Karte der vorherigen Subsamplerschicht sind mit einem verborgenen Schicht-Neuron verbunden. Somit ist die Anzahl der Neuronen der verborgenen Schicht gleich der Anzahl der Karten der Subsoil-Schicht, aber die Kommunikation kann jedoch nicht notwendigerweise so sein, dass zum Beispiel nur ein Teil von Neuronen einer beliebigen Karten der Subsoil-Schicht mit sich verbunden ist Das erste Neuron der verborgenen Schicht und der verbleibende Teil mit dem zweiten oder allen Neuronen der ersten Karten sind mit Neuronen 1 und 2 der verborgenen Schicht zugeordnet. Die Berechnung der Neuronenwerte kann durch die Formel beschrieben werden:

Ausgabeschicht

Die Ausgabeschicht ist allen Neuronen der vorherigen Schicht zugeordnet. Die Anzahl der Neuronen entspricht der Anzahl der erkennbaren Klassen, dh 2 - Gesicht und kein Gesicht. Um jedoch die Anzahl der Verbindungen und Berechnungen für den Binärgehäuse zu reduzieren, kann ein Neuron verwendet werden, und wenn er als Aktivierungsfunktion verwendet wird, hyperbolischer Tangent, der Ausbeute des Neurons mit dem Wert -1, der zur Klasse gehört, "NICHT FACE", Gegenüber dem Neuronertrag mit Wert 1 - bedeutet, zu den Klassenspersonen zu gehören.

Aktivierungsfunktion auswählen

Eine der Stufen der Entwicklung des neuronalen Netzwerks besteht darin, die Aktivierungsfunktion von Neuronen zu wählen. Die Art der Aktivierungsfunktion ist weitgehend bestimmt. funktionalität Neuronales Netzwerk und Verfahren zum Erlernen dieses Netzwerks. Der klassische Fehlerverteilungsalgorithmus eignet sich gut auf zweischichtigen und dreischichtigen neuronalen Netzwerken, aber mit weiterer Anstieg der Tiefe beginnt es, Probleme zu erleben. Einer der Gründe ist die sogenannte Taubheit von Gradienten. Da der Fehler auf jeder Schicht von der Ausgangsschicht an den Eingang verteilt ist, basiert das Stromergebnis auf dem Derivat der Aktivierungsfunktion. Die Ableitung der traditionellen Sigmoid-Aktivierungsfunktion beträgt weniger als das Gerät auf dem gesamten Definitionsfeld, so dass nach mehreren Schichten der Fehler nahe an Null wird. Wenn im Gegenteil die Aktivierungsfunktion ein unbegrenztes Derivat aufweist (wie beispielsweise ein hyperbolischer Tangent), kann eine explosive Fehlerzunahme auftreten, da die Verbreitung verteilt wird, was zu einer Instabilität des Lernverfahrens führt.

In dieser Arbeit wird ein hyperbolischer Tangent als Funktion der Aktivierung in den versteckten und auslakierenden Schichten verwendet, relu gilt in Faltungsschichten. Betrachten Sie die häufigsten Aktivierungsfunktionen, die in neuronalen Netzwerken verwendet werden.

Sigmoid-Aktivierungsfunktion.

Diese Funktion bezieht sich auf eine Klasse von kontinuierlichen Funktionen und nimmt eine beliebige reelle Zahl am Einlass an, und am Ausgang ergibt sich an der Ausgabe eine reelle Zahl im Bereich von 0 bis 1. Insbesondere die negativen Zahlen sind in Null groß und großer positiver in Eins. In der Historisch wurde der Sigmoid weit verbreitet, da seine Leistung als die Aktivierung des Neuronsniveaus gut interpretiert wird: vom Mangel an Aktivierung (0) bis zur vollständigen Aktivierung (1). Sigmoid (Sigmoid) wird durch die Formel ausgedrückt:

Der Graph einer sigmoidalen Funktion gemäß der folgenden Abbildung:

Die äußerst unerwünschte Eigenschaft des Sigmoids besteht darin, dass beim Sensen der Funktion von einer Seite oder einem anderen (0 oder 1) der Gradienten an diesen Stellen nahe an Null wird.

Erinnern Sie sich daran, dass dieser (lokale) Gradienten im Prozess der umgekehrten Verbreitung des Fehlers mit einem gemeinsamen Gradienten multipliziert wird. Wenn daher der örtliche Gradient sehr klein ist, setzt sie tatsächlich den allgemeinen Gradienten zurück. Infolgedessen führt das Signal fast nicht durch das Neuron zu seinen Gewichten und rekurisch auf seine Daten. Darüber hinaus sollte es sehr vorsichtig sein, wenn Sie die Waagen von Sigmoid-Neuronen initialisieren, um eine Sättigung zu vermeiden. Wenn beispielsweise die Sourcegewichte zu große Werte haben, gehen die meisten Neuronen in den Sättigungszustand, wodurch das Netzwerk schlecht ausgebildet ist.

Sigmoidale Funktion ist:

  • kontinuierlich;
  • monoton zunehmen;
  • differenziert

Aktivierungsfunktion Hyperbolische Tangente

Bei dieser Arbeit wird eine hyperbolische Tangente als Aktivierungsfunktion für ausgeblendete und ausgabere Schichten verwendet. Dies ist auf folgende Gründe zurückzuführen:
  • symmetrische Aktivierungsfunktionen wie hyperbolische Tangenten bieten eine schnellere Konvergenz als die Standardlogistikfunktion;
  • die Funktion hat ein kontinuierliches Erst-Derivat;
  • die Funktion hat ein einfaches Derivat, das durch seinen Wert berechnet werden kann, was Berechnungseinsparungen ergibt.
Der Graph der Funktion des hyperbolischen Tangentials ist in Abbildung dargestellt:

RELU-Aktivierungsfunktion.

Es ist bekannt, dass neuronale Netze in der Lage sind, eine willkürlich komplexe Funktion zu bringen, wenn genügend Schichten vorhanden sind, und die Aktivierungsfunktion ist nichtlinear. Aktivierungsfunktionen wie Sigmoid oder Tangential sind nichtlinear, führen jedoch zu Problemen mit Dämpfung oder zunehmenden Farbverläufen. Es ist jedoch möglich, eine viel einfachere Option zu verwenden - eine geradlinige lineare Aktivierungsfunktion (umgewichtige lineare Einheit, RELU), die von der Formel ausgedrückt wird:

Der Graph der RELU-Funktion gemäß dem untenstehenden Bild:

Vorteile der Verwendung von RELU:

  • sein Derivat ist entweder entweder einer Einheit oder einem Einheit oder einer Null, und deshalb kann das Wachstum auftreten oder Dämpfung von Gradienten, weil Multiplizieren des Geräts auf dem Fehler Delta Wir erhalten einen Fehler-Delta, wenn wir eine andere Funktion verwendet haben, zum Beispiel ein hyperbolischer Tangent, dann könnte der Delta-Fehler, dann das Delta-Fehler, dh das Derivat von Der hyperbolische Tangent kehrt die Zahl mit verschiedenen Anzeichen zurück, und die Größe, die Sie die Dämpfung oder das Wachstum des Gradienten stark beeinflussen können. Darüber hinaus führt die Verwendung dieser Funktion zur Ausdünnung der Waage;
  • die Berechnung von Sigmoid- und hyperbolischen Tangenten erfordert die Implementierung ressourcenintensiver Operationen, wie beispielsweise der Übung, während RELU mit einer einfachen Schwellenwertumwandlung der Aktivierungsmatrix in Null implementiert werden kann;
  • schneidet unnötige Teile im Kanal mit negativer Leistung ab.
Aus den Nachteilen kann darauf hingewiesen werden, dass RELU nicht immer zuverlässig ist und im Prozess des Lernens fehlschlagen kann ("Die"). Beispielsweise kann ein großer Gradienten, der durch RELU passiert, zu einer solchen Aktualisierung der Waage führen, dass dieses Neuron niemals aktiviert ist. Wenn dies geschieht, dann beginnt der Gradienten, der durch dieses Neuron durch dieses Neuron verläuft, immer Null. Dementsprechend wird dieses Neuron irreversibel deaktiviert sein. Mit zu viel Lerngeschwindigkeit (Lernrate) kann es sich beispielsweise herausstellen, dass bis zu 40% der RELU "tot" (das ist nie aktiviert). Dieses Problem wird durch Auswahl der richtigen Trainingsgeschwindigkeit gelöst.

Pädagogische Proben, die in Experimenten verwendet werden

Die Trainingsmuster besteht aus positiven und negativen Beispielen. In diesem Fall von Einzelpersonen und "keine Personen". Das Verhältnis von positiven bis negativen Beispielen 4 bis 1, 8000 positiv und 2000 negativ.

Die LFW3D-Datenbank wurde als positive Trainingsmuster verwendet. Es enthält Farbbilder von JPEG-Typ-Frontpersonen, 90x90-Pixelgröße in Höhe von 13000. Die Datenbank wird von FTP bereitgestellt, der Zugriff wird per Passwort durchgeführt. Um ein Passwort zu erhalten, müssen Sie eingeben hauptseite Site-Site-Formular, in dem Sie Ihren Namen angeben und email. Ein Beispiel für Einzelpersonen aus der Datenbank wird in Übereinstimmung mit der folgenden Abbildung dargestellt:

Als negative Trainingsbeispiele wurde die Sun397-Datenbank verwendet, es enthält eine große Anzahl aller Arten von Szenen, die in Kategorien unterteilt sind. Insgesamt 130.000 Bilder, 908 Szenen, 313000 Szenenobjekte. Das Gesamtgewicht dieser Basis beträgt 37 GB. Bilderkategorien sind ganz anders und ermöglichen es Ihnen, eine spezifischere Umgebung auszuwählen, in der die endgültige PS verwendet wird. Wenn beispielsweise ein Priori bekannt ist, dass der Detektor von Personen nur für die Erkennung von drinnen bestimmt ist, ist es nicht sinnvoll, eine Trainingsprobe von Natur, Himmel, Berge usw. zu verwenden. Aus diesem Grund wurden folgende Kategorien von Bildern vom Autor der Arbeit ausgewählt: Wohnzimmer, Büro, kühles Zimmer, Computerraum. Beispiele für Bilder aus der Sun397-Trainings-Probe werden gemäß der folgenden Abbildung dargestellt:

Ergebnisse

Die direkte Verteilung des Signals vom Eingabebild mit einer Größe von 90x90 Pixeln dauert 20 ms (auf dem PC), 3000 ms in mobile Applikation. Bei der Erfassung eines Gesichts in einem Videostrom in einer Auflösung von 640 x 480 Pixeln ist es möglich, 50 nicht überlappende Bereiche mit einer Größe von 90x90 Pixeln zu erkennen. Die mit der ausgewählten Netzwerktopologie erzielten Ergebnisse sind im Vergleich zum Jones-Violi-Algorithmus schlechter.

Schlussfolgerungen

Koppeln von neuronalen Netzwerken bieten einen teilweisen Beständigkeit gegen Änderungen in Maßnahmen, Verschiebungen, Windungen, Winkelwinkel und andere Verzerrungen.

Ader - Es ist ein Filter, der über das gesamte Bild gleitet und Anzeichen einer Person an jedem Ort findet (Invarianz zu Offsets).

Zuckerschicht Gibt gibt:

  • eine Erhöhung der Berechnungsgeschwindigkeit (mindestens 2 mal), indem die Abmessung der Karten der vorherigen Schicht reduziert wird;
  • filterung bereits unnötige Teile;
  • suche nach Zeichen mehr hohes Level (für die nächste Faltungsschicht).
Neueste Ebenen - Schichten der üblichen mehrschichtigen Perzeptron. Zwei vollständig und angeschlossen und ein Tag frei. Diese Schicht ist für die Klassifizierung verantwortlich, aus mathematischer Sicht simuliert er eine komplexe nichtlineare Funktion, die optimiert, welche die Qualität der Erkennung verbessert wird. Anzahl der Neuronen in einer Schicht 6 durch die Anzahl der Karten von Zeichen der Subsoil-Schicht.

Mögliche Verbesserungen

  • betrachten Sie die Neuraletas Fast-Rcnn, Yolo;
  • parallelisierung des Lernprozesses auf Grafikprozessoren;
  • verwenden von Android NDK (C ++) zur Verbesserung der Leistung

Das Training des fundlungs- neuronalen Netzwerks ist in beschrieben

Was macht künstliches Neuron? Einfache WorteEr hält einen gewichteten Betrag an seinen Eingängen an, fügt den Offset (Vorspannung) hinzu und entscheidet, dass dieser Wert ausgeschlossen oder eingeschaltet ist (ja, die Aktivierungsfunktion funktioniert, aber lasst uns in der Reihenfolge gehen).

Aktivierungsfunktion. Definiert den Ausgabewert des Neurons, abhängig vom Ergebnis des aufgehängten Betrags der Eingänge und des Schwellenwerts.

Berücksichtigen Sie Neuronen:

Jetzt der Wert Y. Es kann in der Band von-und-unendlich zu + unendlich sein. In Wirklichkeit kennt Neuron nicht die Grenze, nach der die Aktivierung sein sollte. Sie beantworten die Frage, wie wir entscheiden, ob Neuron aktiviert werden soll (wir berücksichtigen das Aktivierungsmuster, da wir eine Analogie mit Biologie durchführen können. Es ist somit das Gehirn arbeitet, und das Gehirn ist ein gutes Zeugnis der Arbeit von a komplexes und angemessenes System).

Zu diesem Zweck beschlossen sie, eine Aktivierungsfunktion hinzuzufügen. Es prüft den von Neuron erzeugten Wert Y. Zum Thema, ob die externe Kommunikation dieses Neuron als aktiviert betrachten sollte oder ignoriert werden kann.

Schrittfunktion Aktivierung.

Das erste, was mir in den Sinn kommt, ist die Frage, was als Aktivierungsgrenze für die Aktivierungsfunktion angesehen wird. Wenn der Wert Y. Mehr als einiger Schwelle, berücksichtigen wir den Neuron aktiviert. Ansonsten sagen wir, dass Neuron inaktiv ist. Ein solches Schema sollte funktionieren, aber zuerst formalisieren wir es.

  • Funktion A \u003d Aktiviert, wenn Y\u003e Rand, sonst nicht.
  • Ein anderes Verfahren: a \u003d 1, wenn y\u003e rand, sonst a \u003d 0.

Die Funktion, die wir gerade erstellt haben, wird als Stepping eins bezeichnet. Diese Funktion ist in der folgenden Abbildung dargestellt.

Die Funktion nimmt den Wert an 1 (aktiviert) wann Y\u003e 0. (Rand) und Wert 0 (nicht aktiviert) Ansonsten.

Wir haben eine Aktivierungsfunktion für ein Neuron erstellt. Dies ist ein einfacher Weg, aber es gibt Fehlern darin. Betrachten Sie die folgende Situation.

Stellen Sie sich vor, wir schaffen binärer Klassifizierer. - ein Modell, das "Ja" oder "Nein" (aktiviert oder nicht) sagen sollte. Eine abgestufte Funktion macht es für Sie - es zeigt 1 oder 0 an.

Stellen Sie sich jetzt den Fall vor, wenn eine größere Anzahl von Neuronen erforderlich ist klassifizierungen vieler Klassen: Class1, class2, class3 usw. Was passiert, wenn mehr als 1 Neuron aktiviert sind? Alle Neuronenaus der Aktivierungsfunktion entscheiden wir uns in diesem Fall, in diesem Fall erscheint Fragen, auf denen sich die Klasse letztendlich für ein angegebenes Objekt herausstellen sollte.

Wir möchten nur ein Neuron aktivieren, und die Aktivierungsfunktionen anderer Neuronen waren Null (nur in diesem Fall kann sicher sein, dass das Netzwerk die Klasse korrekt bestimmt). Ein solches Netzwerk ist schwieriger, um die Konvergenz zu trainieren und zu suchen. Wenn die Aktivierungsfunktion nicht binär ist, werden die Werte "um 50% aktiviert", aktiviert um 20% und so weiter. Wenn mehrere Neuronen aktiviert sind, finden Sie das Neuron mit dem größten Wert der Aktivierungsfunktion (natürlich besser, so dass es war softmax. Funktion und nicht max. Aber bis wir uns nicht mit diesen Fragen befassen).

Aber in diesem Fall, wie zuvor, wenn mehr als ein Neuron sagt, dass "um 100% aktiviert" wird, ist das Problem immer noch übrig. Da gibt es die Existenz zwischenwerte Beim Ergebnis des Neurons ist der Lernprozess sanfter und schneller, und die Wahrscheinlichkeit des Erscheinungsbildes mehrerer vollständig aktivierter Neuronen während des Trainings wird im Vergleich zu einer stufenlosen Aktivierungsfunktion reduziert (obwohl er von dem abhängt, was Sie unterrichten, und auf welche Daten ).

Wir haben entschieden, dass wir Zwischenwerte der Aktivierungsfunktion (analoge Funktion) erhalten möchten, und sagen nicht nur "aktiviert" oder nicht (binäre Funktion).

Das erste, was zum Kopf kommt, ist eine lineare Funktion.

Lineare Aktivierungsfunktion.

A \u003d cx.

Die lineare Funktion ist eine gerade Linie und ist proportional zur Eingabe (dh der gewichtete Betrag dieses Neurons).

Eine solche Auswahl der Aktivierungsfunktion ermöglicht es Ihnen, ein Wertespektrum zu erhalten, und nicht nur eine binäre Antwort. Sie können mehrere Neuronen zusammen anschließen, und wenn mehr als ein Neuron aktiviert ist, wird die Lösung basierend auf der Anwendung des MAX-Betriebs (oder des Softmax) hergestellt. Aber hier sind nicht ohne Probleme.

Wenn Sie mit der Lernmethode vertraut sind, können Sie feststellen, dass für diese Funktion das Derivat konstant ist.

Abgeleitet von A \u003d cx. durch X. gleich von. Dies bedeutet, dass der Gradient nicht mit verbunden ist H.. Der Gradient ist ein dauerhafter Vektor, und der Abstieg wird nach einem dauerhaften Gradienten hergestellt. Wenn eine fehlerhafte Vorhersage durchgeführt wird, sind auch die von Fehlern vorgenommenen Änderungen konstant und hängen nicht von der Änderung des Delta-Inputs (X) ab.

Es ist nicht gut (nicht immer, sondern in den meisten Fällen). Aber es gibt ein anderes Problem. Berücksichtigen Sie verwandte Schichten. Jede Schicht wird durch eine lineare Funktion aktiviert. Der Wert aus dieser Funktion geht an die nächste Ebene als Eingang, wobei die zweite Ebene den gewichteten Betrag an seinen Eingängen berücksichtigt und wiederum Neuronen in Abhängigkeit von einer anderen linearen Aktivierungsfunktion einschließt.

Es spielt keine Rolle, wie viele Schichten wir haben. Wenn Sie alle von ihrer Natur linear sind, wird die endgültige Aktivierungsfunktion in der letzten Ebene einfach linear von den Eingängen auf der ersten Ebene angezeigt! Stoppen Sie für einen Moment und denken Sie an diese Idee.

Dies bedeutet, dass zwei Ebenen (oder n-Ebenen) durch eine Schicht ersetzt werden können. Wir haben die Gelegenheit verloren, Sets aus den Schichten herzustellen. Es spielt keine Rolle, wie wir stapeln, alles wird immer noch einer Schicht mit einer linearen Aktivierungsfunktion ähnlich sein ( kombination von linearen Funktionen linear - eine andere lineare Funktion).

Sigmoid

Sigmoid sieht glatt aus und ähnlich einer abgestuften Funktion. Betrachten ihre Vorteile.

Zunächst ist der Sigmoid von seiner Natur nichtlinear, und die Kombination solcher Funktionen erzeugt auch eine nichtlineare Funktion. Jetzt können wir Schichten stapeln.

Ein weiterer Vorteil einer solchen Funktion ist nicht binär, was die Aktivierung des Analogons im Gegensatz zur Schrittfunktion macht. Für Sigmoid ist auch durch einen schlanken Gradienten gekennzeichnet.

Wenn Sie feststellen, im Bereich der Werte X. von -2 bis 2 y Werte ändert sich sehr schnell. Dies bedeutet, dass ein kleiner Änderungswert X. In diesem Bereich ist eine wesentliche Änderung des Werts Y.. Ein solches Verhalten der Funktion zeigt an, dass Y eine Tendenz hat, auf einen der Ränder der Kurve zu drücken.

Sigmoid sieht wirklich aus wie ein geeignetes Merkmal für Klassifizierungsaufgaben. Es ist bestrebt, Werte an eine Seite der Kurve mitzubringen (zum Beispiel nach oben x \u003d 2. und darunter x \u003d -2.). Mit diesem Verhalten können Sie klare Grenzen in der Vorhersage finden.

Ein weiterer Vorteil von Sigmoiden über eine lineare Funktion ist wie folgt. Im ersten Fall haben wir einen festen Bereich von Funktionswerten -, während die lineare Funktion innerhalb von (-Inf, inf) variiert. Diese Eigenschaft von Sigmoid ist sehr nützlich, da sie bei großen Aktivierungswerten nicht zu Fehlern führt.

Heute ist der Sigmoid eine der häufigsten Aktivierungsfunktionen in neuronalen Netzwerken. Sie hat jedoch die Mängel, dass es sich lohnt, darauf zu achten.

Sie hätten bereits sehen können, dass der Trend, wenn Sie sich den Enden des Sigmoidwerts Y nähern, ein schwaches Reaktion auf Änderungen in X.. Dies bedeutet, dass der Gradient in solchen Bereichen kleine Werte annimmt. Und das wiederum führt zu Problemen mit dem Gradienten des Verschwindens. Im Detail berücksichtigen, was passiert, wenn eine Aktivierungsfunktion auf einen nahezu horizontalen Teil der Kurve auf beiden Seiten nähert.

In diesem Fall ist der Wert des Gradienten wenig oder verschwindet (es kann aufgrund eines extrem kleinen Werts nicht wesentlich ändern). Nealalet weigert sich, weiter zu lernen oder es extrem langsam zu lernen (abhängig von der Gebrauchsmethode oder bis der Gradienten / der Berechnung beginnt, an einem Fließkommawert an Einschränkungen zu leiden). Es gibt Optionen, um an diesen Problemen zu arbeiten, und der Sigmoid ist für Klassifizierungsaufgaben immer noch sehr beliebt.

Eine weitere häufig verwendete Aktivierungsfunktion ist ein hyperbolischer Tangent.

Die hyperbolische Tangente ist Sigmoid sehr ähnlich. Und in der Tat, dies ist eine korrigierte Sigmoid-Funktion.

Daher hat eine solche Funktion die gleichen Eigenschaften wie der Sigmoid, der früher diskutiert hat. Ihre Natur ist nichtlinear, es eignet sich gut für eine Kombination aus einer Ebene und dem Bereich der Funktionswerte - (- 1, 1). Daher ist es nicht sinnvoll, sich Sorgen zu sorgen, dass die Aktivierungsfunktion von großen Werten überlastet. Es ist jedoch erwähnenswert, dass der Gradient der Tangentialfunktion größer ist als die des Sigmoids (Kühlerderivat). Die Entscheidung, zu wählen, ob Sigmoid oder Tangent von den Anforderungen Ihrer Gradientenamplitude abhängt. Neben sigmoidem, hyperbolischen Tangenten ist das Problem des Verschwinde des Gradienten.

Tangente ist auch sehr beliebt und verwendete Aktivierungsfunktion.

RELU.

Weiter in unserer Liste - die Aktivierungsfunktion von RELU,

A (x) \u003d max (0, x)

Mit der Definition wird klar, dass RELU einen Wert zurückgibt h., wenn ein h. Positiv, ich 0 sonst. Das Arbeitsschema wird unten gezeigt.

Auf den ersten Blick scheint, dass RELU überall die gleichen Probleme wie eine lineare Funktion hat, da RELU im ersten Quadranten linear ist. Aber in Wirklichkeit, RELU ist von seiner Natur nichtlinear, und die RELU-Kombination ist auch nichtlinearSchnitte (Tatsächlich ist eine solche Funktion gut annäherungsmittelDa jede Funktion durch eine RELU-Kombination angenähert werden kann). Dies bedeutet, dass wir Schichten stapeln können. Region zulässige Werte RELU -)

Fortsetzung des Themas:
W-lan

Zu wissen, warum das Telefon erhitzt wird, kann der Benutzer versuchen, seine Temperatur zu reduzieren. Dies wird dazu beitragen, eines der häufigsten Probleme zu lösen - obwohl er damit konfrontiert ist ...