Diskussion zum Artikel "Funktionen zur Aktivierung von Neuronen während des Trainings: Der Schlüssel zur schnellen Konvergenz?"

 

Neuer Artikel Funktionen zur Aktivierung von Neuronen während des Trainings: Der Schlüssel zur schnellen Konvergenz? :

In diesem Artikel wird die Interaktion verschiedener Aktivierungsfunktionen mit Optimierungsalgorithmen im Rahmen des Trainings neuronaler Netze untersucht. Besonderes Augenmerk wird auf den Vergleich zwischen dem klassischen ADAM und seiner Populationsversion gelegt, wenn mit einer breiten Palette von Aktivierungsfunktionen gearbeitet wird, einschließlich der oszillierenden ACON- und Snake-Funktionen. Durch die Verwendung einer minimalistischen MLP-Architektur (1-1-1) und eines einzigen Trainingsbeispiels wird der Einfluss der Aktivierungsfunktionen auf die Optimierung von anderen Faktoren getrennt. Der Artikel schlägt einen Ansatz zur Verwaltung von Netzwerkgewichten durch die Grenzen von Aktivierungsfunktionen und einen Gewichtsreflexionsmechanismus vor, der es ermöglicht, Probleme mit Sättigung und Stagnation beim Training zu vermeiden.

Stellen Sie sich einen Fluss mit vielen Nebenflüssen vor. Im Normalzustand fließt das Wasser frei und bildet ein komplexes Muster aus Strömungen und Strudeln. Aber was passiert, wenn wir anfangen, ein System von Schleusen und Dämmen zu bauen? Wir werden in der Lage sein, den Wasserfluss zu kontrollieren, ihn in die richtige Richtung zu lenken und die Stärke der Strömung zu regulieren. Die Aktivierungsfunktion in neuronalen Netzen spielt eine ähnliche Rolle: Sie entscheidet, welche Signale durchgelassen werden und welche verzögert oder abgeschwächt werden sollen. Ohne sie wäre ein neuronales Netz nur eine Reihe von linearen Transformationen.

Die Aktivierungsfunktion verleiht dem neuronalen Netz eine Dynamik, die es ihm ermöglicht, subtile Nuancen in den Daten zu erfassen. Bei einer Gesichtserkennungsaufgabe zum Beispiel hilft eine Aktivierungsfunktion dem Netz, winzige Details wie den Bogen einer Augenbraue oder die Form eines Kinns zu erkennen. Die richtige Wahl der Aktivierungsfunktion wirkt sich darauf aus, wie ein neuronales Netz bei verschiedenen Aufgaben abschneidet. Einige Funktionen eignen sich besser für die Anfangsphase der Ausbildung und liefern klare und verständliche Signale. Andere Funktionen ermöglichen es dem Netz, in fortgeschrittenen Stadien subtilere Muster zu erkennen, während andere die unnötigen aussortieren und nur die wichtigsten übrig lassen.

Wenn wir die Eigenschaften von Aktivierungsfunktionen nicht kennen, können wir auf Probleme stoßen. Ein neuronales Netz kann beginnen, bei einfachen Aufgaben zu „stolpern“ oder wichtige Details zu „übersehen“. Der Hauptzweck von Aktivierungsfunktionen besteht darin, Nichtlinearität in das neuronale Netz einzuführen und die Ausgangswerte zu normalisieren.

Ziel dieses Artikels ist es, die mit der Verwendung verschiedener Aktivierungsfunktionen verbundenen Probleme und ihre Auswirkungen auf die Genauigkeit eines neuronalen Netzes beim Durchlaufen von Beispielpunkten (Interpolation) bei gleichzeitiger Minimierung des Fehlers zu ermitteln. Wir werden auch herausfinden, ob Aktivierungsfunktionen tatsächlich die Konvergenzrate beeinflussen oder ob dies eine Eigenschaft des verwendeten Optimierungsalgorithmus ist. Als Referenzalgorithmus verwenden wir eine modifizierte Population ADAMm, die Elemente der Stochastik nutzt, und führen Tests mit dem in MLP integrierten ADAM durch (klassische Verwendung). Letztere dürfte intuitiv im Vorteil sein, da sie dank der Ableitung der Aktivierungsfunktion direkten Zugriff auf den Gradienten der Fitnessfunktionsfläche hat. Gleichzeitig hat der stochastische ADAMm der Population keinen Zugang zur Ableitung und hat keine Ahnung von der Oberfläche des Optimierungsproblems. Mal sehen, was dabei herauskommt, und einige Schlussfolgerungen ziehen.


Autor: Andrey Dik

 
Wenn wir die Eigenschaften der Aktivierungsfunktionen nicht kennen, können wir auf Probleme stoßen. Das neuronale Netz kann beginnen, über einfache Aufgaben zu "stolpern" oder wichtige Details zu "ignorieren". Die Hauptaufgabe der Aktivierungsfunktionen besteht darin, Nichtlinearität in das neuronale Netz einzuführen und die Ausgangswerte zu normalisieren.

Diese Passage in dem Artikel ist mir aufgefallen. Auch wenn der Artikel sehr gut geschrieben ist und Einzelheiten über die Gestaltung und den Aufbau des Netzes enthält. In dieser Passage zeigt sich eine gewisse Subtilität in Bezug auf Ihr Verständnis des Themas. Vielleicht sind Sie voreingenommen, weil jeder darauf besteht, bestimmte Dinge über neuronale Netze zu sagen. Aber Ihr Artikel ist gut geschrieben, und Sie haben die damit verbundenen Details erklärt. Ich habe beschlossen, etwas vorwegzunehmen, das ich in Zukunft zeigen werde. Der Artikel dazu ist bereits geschrieben, aber zuerst möchte ich die Erklärung des Aufbaus des Replays/Simulators abschließen, wo nur noch wenige Artikel fehlen, um die Veröffentlichung abzuschließen. Verstehen Sie das Folgende: Aktivierungsfunktionen werden NICHT verwendet, um Nichtlinearität in Gleichungen zu erzeugen. Sie dienen vielmehr als eine Art Filter mit dem Ziel, die Anzahl der Schichten oder Perceptrons innerhalb des zu erstellenden Netzes zu reduzieren. Dadurch wird der Prozess der Konvergenz der Daten in eine bestimmte Richtung beschleunigt. Während dieses Prozesses können wir darauf abzielen, Wissen zu klassifizieren oder zu bewahren. Am Ende werden wir entweder das eine oder das andere Ergebnis erhalten, aber niemals beides.

In meinem Artikel https://www.mql5.com/de/articles/13745 zeige ich dies auf relativ einfache Weise. Allerdings fange ich dort gerade erst an zu erklären, wie das neuronale Netz zu verstehen ist. Aber da Ihr Artikel gut geschrieben ist und Sie sich viel Mühe gegeben haben, gebe ich Ihnen einen Tipp. Nehmen Sie einige scheinbar zufällige Daten und entfernen Sie die Aktivierungsfunktionen des Perceptrons. Danach versuchen Sie zu konvergieren. Sie werden feststellen, dass es nicht sehr gut aussieht. ABER wenn Sie anfangen, Schichten und/oder weitere Perceptrons hinzuzufügen, wird die Konvergenz mit der Zeit immer besser. Dies wird Ihnen helfen, besser zu verstehen, warum Aktivierungsfunktionen notwendig sind. 😁👍

Rede neural na prática: O primeiro neurônio
Rede neural na prática: O primeiro neurônio
  • www.mql5.com
Neste artigo começamos a de fato criar algo que muitos ficam admirados em ver funcionando. Um simples e singelo neurônio que conseguiremos programar com muito pouco código em MQL5.O neurônio funcionou perfeitamente nos testes que fiz. Bem, vamos voltar um pouco, nesta mesma série sobre redes neurais, para que você possa entender do que estou falando.
 

Fehler in der Übersetzung...

 
CODE X #:
Wenn wir die Eigenschaften der Aktivierungsfunktionen nicht kennen, können wir auf Probleme stoßen. Das neuronale Netz kann bei einfachen Aufgaben ins "Straucheln" geraten oder wichtige Details "ignorieren". Die Hauptaufgabe von Aktivierungsfunktionen besteht darin, Nichtlinearität in das neuronale Netz einzuführen und die Ausgangswerte zu normalisieren.

Diese Passage des Artikels erregte meine Aufmerksamkeit. Obwohl der Artikel sehr gut geschrieben ist und detailliert beschreibt, wie er entworfen und durchdacht wurde. In dieser Passage wird Ihr Verständnis des Themas etwas verfälscht. Vielleicht sind Sie voreingenommen, weil jeder darauf besteht, bestimmte Dinge über neuronale Netze zu sagen. Aber Ihr Artikel ist gut geschrieben und Sie haben die Details erklärt. Ich habe beschlossen, vorwegzunehmen, was ich in Zukunft zeigen werde. Der Artikel dazu ist bereits geschrieben, aber zunächst möchte ich die Erklärung des Aufbaus eines Replays/Simulators abschließen, wozu nur noch wenige Artikel nötig sind, um die Veröffentlichung abzuschließen. Verstehen Sie das Folgende: Aktivierungsfunktionen werden NICHT verwendet, um Nichtlinearität in Gleichungen zu erzeugen. Vielmehr dienen sie als eine Art Filter, dessen Zweck es ist, die Anzahl der Schichten oder Perceptrons in dem zu erstellenden Netz zu reduzieren. Dadurch wird der Prozess der Konvergenz der Daten in eine bestimmte Richtung beschleunigt. Während dieses Prozesses können wir eine Klassifizierung oder eine Wissensspeicherung anstreben. Am Ende werden wir das eine oder das andere Ergebnis erhalten, aber niemals beides.

Die Autoübersetzung ist wahrscheinlich nicht sehr genau, aber die hervorgehobene ist falsch. Es ist die Nichtlinearität, die die Rechenleistung des Netzes erhöht, und sie beschleunigt nicht nur den Konvergenzprozess (was Sie selbst in einem anderen Satz auch gesagt haben), sondern ermöglicht es Ihnen grundsätzlich, Probleme zu lösen, die ohne die Einführung von Nichtlinearität nicht gelöst werden können (egal wie viele Schichten Sie hinzufügen). Außerdem kann jedes (synchrone) neuronale Netz ohne Nichtlinearität in ein äquivalentes einschichtiges Netz "kollabiert" werden.

 
Stanislav Korotky #:

Es ist die Nichtlinearität, die die Rechenleistung des Netzes erhöht, und sie beschleunigt nicht nur den Konvergenzprozess (was Sie selbst in einem anderen Satz auch gesagt haben), sondern ermöglicht es Ihnen grundsätzlich, Probleme zu lösen, die ohne die Einführung der Nichtlinearität nicht gelöst werden können (egal wie viele Schichten Sie hinzufügen). Außerdem kann jedes (synchrone) neuronale Netz ohne Nichtlinearität in ein äquivalentes einschichtiges Netz "kollabiert" werden.

+100500

Gut gesagt. Während ich meine Antwort verfasste, sah ich, dass sie bereits beantwortet wurde.

Ich werde mehr sagen, ja, jede nichtlineare Funktion kann durch lineare stückweise Funktionen in einer gegen unendlich tendierenden Zahl mit einem gegen Null tendierenden Beschreibungsfehler beschrieben werden. Aber warum, wenn nichtlineare Aktivierungsfunktionen nur verwendet werden, um die Beschreibung des Objekts im Problem zu vereinfachen.

 

Ich glaube, es gab ein Missverständnis zwischen dem, was ich sagen wollte, und dem, was ich tatsächlich in Textform formuliert habe.

Ich werde versuchen, dieses Mal etwas deutlicher zu sein 🙂 Wenn wir KLASSIFIZIEREN Dinge, wie Bilder, Gegenstände, Zahlen, Töne, kurz gesagt, wo Wahrscheinlichkeiten herrschen werden. Wir müssen die Werte innerhalb des neuronalen Netzes so begrenzen, dass sie in einen bestimmten Bereich fallen. Dieser Bereich liegt in der Regel zwischen -1 und 1, kann aber auch zwischen 0 und 1 liegen, je nachdem, wie schnell die Trefferquote ist und wie die Eingangsinformationen behandelt werden, mit denen das Netz in Berührung kommen soll, und wie es sein eigenes Lernen am besten steuert, um die Klassifizierung der Dinge zu erstellen. IN DIESEM FALL BENÖTIGEN WIR Aktivierungsfunktionen. Genau, um die Werte in diesem Bereich zu halten. Am Ende haben wir die Möglichkeit, Werte in Bezug auf die Wahrscheinlichkeit zu generieren, dass die Eingabe das eine oder das andere ist. Das ist eine Tatsache, und ich bestreite sie nicht. Das geht so weit, dass wir die Eingabedaten oft normalisieren oder standardisieren müssen.

Neuronale Netze werden jedoch nicht nur zur Klassifizierung von Dingen verwendet, sondern können und werden auch zur Speicherung von Wissen eingesetzt. In diesem Fall sollten Aktivierungsfunktionen in vielen Fällen verworfen werden. Detail: Es gibt Fälle, in denen wir Dinge einschränken müssen. Aber das sind sehr spezielle Fälle. Das liegt daran, dass diese Funktionen das Netz daran hindern, seinen Zweck zu erfüllen. Und der besteht eben darin, Wissen zu bewahren. Und in der Tat stimme ich teilweise mit Stanislav Korotkys Bemerkung überein, dass das Netz in diesen Fällen auf etwas reduziert werden kann, das einer einzelnen Schicht entspricht, wenn wir keine Aktivierungsfunktionen verwenden. Aber wenn dies geschieht, wäre es einer von mehreren Fällen, da es Fälle gibt, in denen ein einzelnes Polynom mit mehreren Variablen nicht ausreicht, um Wissen zu repräsentieren, oder besser gesagt zu behalten. In diesem Fall müssten wir zusätzliche Schichten verwenden, damit das Ergebnis wirklich repliziert werden kann. Oder es können neue Schichten erzeugt werden. Es ist ein bisschen verwirrend, das so zu erklären, ohne eine richtige Demonstration. Aber es funktioniert.

Das große Problem ist, dass in den letzten 10 Jahren, wenn ich mich recht erinnere, alles mit künstlicher Intelligenz und neuronalen Netzen in Verbindung gebracht wurde, weil es gerade in Mode ist. Obwohl das Geschäft erst in den letzten fünf Jahren so richtig in Schwung gekommen ist. Viele Menschen wissen gar nicht, was sie wirklich sind. Oder wie sie eigentlich funktionieren. Das liegt daran, dass alle, die ich sehe, immer fertige Frameworks verwenden. Und das hilft überhaupt nicht, um zu verstehen, wie neuronale Netze funktionieren. Sie sind einfach eine Gleichung mit mehreren Variablen. Sie werden schon seit Jahrzehnten in akademischen Kreisen untersucht. Und selbst als sie aus der akademischen Welt kamen, wurden sie nie mit so viel Tamtam angekündigt. In der Anfangsphase und für eine lange Zeit WURDEN AKTIVIERUNGSFUNKTIONEN NICHT VERWENDET. Aber der Zweck der Netze, die damals noch nicht einmal neuronale Netze genannt wurden, war ein anderer. Weil aber drei Leute von ihnen profitieren wollten, wurden sie in einer Art und Weise propagiert, die meiner Meinung nach nicht ganz richtig war. Richtig wäre es, zumindest aus meiner Sicht, wenn sie richtig erklärt würden. Eben um nicht so viel Verwirrung bei vielen Menschen zu stiften. Aber gut, die drei verdienen eine Menge Geld, während die Menschen mehr verloren sind als ein Hund, der von einem Umzugswagen gefallen ist. Auf jeden Fall möchte ich Sie nicht davon abhalten, neue Artikel zu schreiben, Andrey Dik, aber ich möchte, dass Sie weiter studieren und versuchen, sich noch tiefer in dieses Thema zu vertiefen. Ich habe gesehen, dass Sie versucht haben, das System mit reinem MQL5 zu erstellen. Was im Übrigen sehr gut ist. Das hat meine Aufmerksamkeit erregt und mich erkennen lassen, dass Ihr Artikel sehr gut geschrieben und geplant ist. Ich wollte Sie nur auf diesen speziellen Punkt aufmerksam machen und Sie dazu bringen, ein wenig mehr darüber nachzudenken. In der Tat ist dieses Thema sehr interessant und es gibt vieles, was nur wenige wissen. Aber Sie haben sich damit befasst und es studiert.

Debates em alto nível, são sempre interessantes, pois nos faz crescer e pensar fora da caixa. Brigas não nos leva a nada, e só nos faz perder tempo. 👍

Обсуждение статьи "Функции активации нейронов при обучении: ключ к быстрой сходимости?"
Обсуждение статьи "Функции активации нейронов при обучении: ключ к быстрой сходимости?"
  • 2025.01.21
  • MetaQuotes
  • www.mql5.com
Опубликована статья Функции активации нейронов при обучении: ключ к быстрой сходимости? : Автор: Andrey Dik...
 
CODE X #:
...

Ihr Beitrag ist so, als würden Sie sagen: "Ein Turbojet-Triebwerk ist eigentlich eine Dampfmaschine, wie sie ursprünglich konzipiert wurde."

 

Als Aktivierungsfunktion kann alles verwendet werden, sogar Cosinus, das Ergebnis liegt auf dem Niveau der gängigen Funktionen. Es wird empfohlen, relu (mit Bias 0,1(es wird nichtempfohlen, eszusammen mit der Random-Walk-Initialisierungzu verwenden )) zu verwenden , weil es einfach (schnelles Zählen) und besser lernend ist: Diese Blöcke sind leicht zu optimieren, weil sie linearen Blöcken sehr ähnlich sind.Der einzige Unterschiedbesteht darin, dass ein linearer Gleichrichtungsblock in der Hälfte seinesDefinitionsbereichs 0 ausgibt. Daher bleibt die Ableitung eines linearen Gleichrichtungsblocks überall dort groß, wo der Block aktiv ist. Die Gradienten sind nicht nur groß, sie sind auch konsistent. Die zweite Ableitung der Gleichrichtungsoperation ist überall Null, und die ersteAbleitung ist überall dort 1, wo der Block aktiv ist. Das bedeutet, dass die Richtung des Gradienten für das Lernen viel nützlicher ist, als wenn die Aktivierungsfunktion Effekten zweiter Ordnungunterliegt ... Bei der Initialisierung der affinen Transformationsparameter empfiehlt es sich,allen Elementen von beinen kleinen positiven Wert zuzuweisen, z. B. 0,1. Dann ist es sehr wahrscheinlich, dass der lineare Entzerrungsblock im Anfangszeitpunkt für die meisten Trainingsbeispiele aktiv ist und die Ableitung von Null verschieden ist.

Im Gegensatz zu stückweise linearenBlöcken liegen sigmoidaleBlöcke im größten Teil ihres Definitionsbereichs nahe der Asymptote - sie nähern sich einem hohen Wert, wenn zgegen unendlich tendiert , und einem niedrigen Wert , wenn zgegen minus unendlich tendiert .Eine hohe Empfindlichkeit haben sienur in der Nähe von Null. Aufgrund der Sättigung von sigmoidalen Blöcken wird das Gradientenlernen stark behindert. Daher wird ihre Verwendung als versteckte Blöcke in Vorwärtspropagationsnetzen heutzutage nicht empfohlen ... Wenn es notwendig ist, eine sigmoidale Aktivierungsfunktion zu verwenden, ist es besser, den hyperbolischen Tangens anstelle des logistischen Sigmoid zu nehmen . Sie ist näher an der Identitätsfunktion in dem Sinne, dass tanh(0) = 0, während σ(0) = 1/2 ist. Da tanh in der Nähe von Nulleiner Identitätsfunktion ähnelt ,ähnelt das Training eines tiefen neuronalenNetzes dem Training eines linearen Modells , vorausgesetzt, die Aktivierungssignale des Netzes können niedrig gehalten werden.In diesem Fall wird das Training eines Netzes mit der Aktivierungsfunktion tanh vereinfacht.

Für lstm müssen wir sigmoid oder arctangent verwenden(es wird empfohlen, den Offsetfür die Vergessensöffnung auf 1 zu setzen): Sigmoidale Aktivierungsfunktionen werden immer noch verwendet, aber nicht in Feedforward-Netzen . Rekurrente Netze, viele probabilistische Modelle und einige Autokoder haben zusätzliche Anforderungen, die die Verwendung von stückweise linearen Aktivierungsfunktionen ausschließen und sigmoidale Blöcke trotz Sättigungsproblemen geeignetermachen .

Lineare Aktivierung und Parameterreduktion: Wenn jede Schicht des Netzes nur aus linearen Transformationen besteht , ist das Netz als Ganzes linear. Einige Schichten können jedoch auch rein linear sein - das ist in Ordnung. Betrachten wir eine Schicht eines neuronalen Netzes, die n Eingänge und p Ausgängehat . Sie kann durch zwei Schichten ersetzt werden, eine mit einer Gewichtsmatrix U und die andere mit einer Gewichtsmatrix V. Wenn die erste Schicht keine Aktivierungsfunktion hat, haben wir die Gewichtsmatrix der ursprünglichen Schicht auf der Grundlage von Wim Wesentlichen in Multiplikatoren zerlegt . Wenn Uq Ausgänge erzeugt , dann enthaltenU und V zusammen nur (n + p)q Parameter, während Wnp Parameter enthält . Bei kleinen q können die Parametereinsparungenerheblich sein. Der Vorteil ist eine Einschränkung - die lineare Transformation muss einen niedrigen Rang haben, aber solche Verbindungen mit niedrigem Rang sind oft ausreichend. Lineare versteckte Blöcke bietenalso eine effiziente Möglichkeit, die Anzahl derNetzparameterzu reduzieren.

Relu ist besser für tiefe Netze: Trotz der Beliebtheit der Rektifikation in frühen Modellen wurde sie in den 1980er Jahren fast durchgängig durch Sigmoid ersetzt, weil sie für sehr kleine neuronale Netzebesser funktioniert .

Aber sie ist generell besser: Bei kleinen Datensätzen ist die Verwendung von gleichrichtenden Nichtlinearitäten sogar wichtiger als das Lernen von Gewichten der verborgenen Schicht.Zufällige Gewichte reichen aus, um nützlicheInformationen durch das Netz mit linearer Entzerrungweiterzugeben, so dass die klassifizierendeAusgabeschicht darauf trainiert werden kann, verschiedene MerkmalsvektorenaufKlassenidentifikatorenabzubilden. Wenn mehr Daten zur Verfügung stehen, beginnt der Lernprozess, so viel nützliches Wissen zu extrahieren , dass er die zufällig ausgewähltenParameter übertrifft... Das Lernen ist in gleichgerichteten linearen Netzen viel einfacher als in tiefen Netzen, derenAktivierungsfunktionen durch Krümmung oder zweiseitige Sättigung gekennzeichnet sind...

[Gelöscht]  
CODE X #:

Ich glaube, es gab ein Missverständnis zwischen dem, was ich sagen wollte, und dem, was ich tatsächlich in Textform dargelegt habe.

Ich werde versuchen, dieses Mal etwas deutlicher zu sein 🙂 Wenn wir KATEGORISIEREN Dinge wie Bilder, Objekte, Formen, Geräusche, kurz gesagt, wo Wahrscheinlichkeiten herrschen werden. Wir müssen die Werte im neuronalen Netz so einschränken, dass sie in einen bestimmten Bereich fallen. Normalerweise liegt dieser Bereich zwischen -1 und 1. Er kann aber auch zwischen 0 und 1 liegen, je nachdem, wie schnell, mit welcher Geschwindigkeit und auf welche Weise die Eingangsinformationen, die das Netz lernen soll, verarbeitet werden und wie es sein Lernen am besten ausrichtet, um eine Klassifizierung der Dinge zu erstellen. IN DIESEM FALL BENÖTIGEN WIR Aktivierungsfunktionen. Sie sollen die Werte innerhalb dieses Bereichs halten. Am Ende werden wir ein Mittel haben, um Werte in Bezug auf die Wahrscheinlichkeit zu erzeugen, dass die Eingaben das eine oder das andere sind. Das ist eine Tatsache, und ich bestreite sie nicht. Das geht so weit, dass wir die Eingabedaten oft normalisieren oder standardisieren müssen.

Neuronale Netze werden jedoch nicht nur zur Klassifizierung verwendet, sondern können und werden auch zur Wissensspeicherung eingesetzt. In diesem Fall sollten Aktivierungsfunktionen in vielen Fällen verworfen werden. Detail: Es gibt Fälle, in denen wir etwas einschränken müssen. Aber das sind sehr spezielle Fälle. Der Punkt ist, dass diese Funktionen das Netz daran hindern, seinen Zweck zu erfüllen. Und der besteht darin, Wissen zu bewahren. Und in der Tat stimme ich teilweise mit Stanislav Korotskys Bemerkung überein, dass das Netz in solchen Fällen auf etwas reduziert werden kann, das einer einzelnen Schicht entspricht, wenn man keine Aktivierungsfunktionen verwendet. Aber wenn dies geschieht, ist es einer von mehreren Fällen, denn es gibt Fälle, in denen ein einzelnes Polynom mit mehreren Variablen nicht ausreicht, um Wissen zu repräsentieren oder, besser gesagt, zu speichern. In diesem Fall müssen wir zusätzliche Schichten verwenden, damit das Ergebnis tatsächlich reproduziert werden kann. Alternativ können auch neue Schichten erzeugt werden. Es ist ein bisschen verwirrend, das so zu erklären, ohne eine richtige Demonstration. Aber es funktioniert.

Das große Problem ist, dass sich in den letzten 10 Jahren, wenn ich mich recht erinnere, alles um künstliche Intelligenz und neuronale Netze gedreht hat, weil jetzt alles in Mode ist. Obwohl das Geschäft erst in den letzten fünf Jahren richtig aufgeblüht ist. Viele Menschen wissen gar nicht, was diese Dinge wirklich sind. Und wie sie eigentlich funktionieren. Das liegt daran, dass alle, denen ich begegne, immer mit Standard-Frameworks arbeiten. Und das hilft überhaupt nicht, um zu verstehen, wie neuronale Netze funktionieren. Es ist nur eine Gleichung mit ein paar Variablen. Sie werden seit Jahrzehnten in der Wissenschaft erforscht. Und selbst wenn sie die akademische Welt verlassen haben, wurden sie nie mit so viel Pomp angekündigt. Ursprünglich, und für eine lange Zeit WURDEN AKTIVIERUNGSFUNKTIONEN NICHT VERWENDET. Aber der Zweck der Netze, die damals noch nicht einmal neuronale Netze genannt wurden, war ein anderer. Aber weil drei Leute daraus Kapital schlagen wollten, wurden sie gehypt, was ich für etwas falsch halte. Richtig wäre es, zumindest aus meiner Sicht, gewesen, ihr Wesen richtig zu erklären. Genau, um nicht in den Köpfen vieler Menschen Verwirrung zu stiften. Aber das ist in Ordnung, die drei verdienen eine Menge Geld und die Leute sind verirrter als ein Hund, der von einem Müllwagen fällt. Wie auch immer, ich möchte Sie nicht davon abhalten, weitere Artikel zu schreiben, Andrew Dick, aber ich möchte, dass Sie weiter lernen und versuchen, noch tiefer in dieses Thema einzutauchen. Ich habe gesehen, dass Sie versucht haben, mit reinem MQL5 ein System zu erstellen. Das ist im Übrigen sehr gut. Es hat meine Aufmerksamkeit erregt und ich habe festgestellt, dass Ihr Artikel sehr gut geschrieben und geplant ist. Ich wollte Sie nur auf diesen Punkt aufmerksam machen und Sie dazu bringen, ein wenig mehr darüber nachzudenken. Dieses Thema ist wirklich sehr interessant und nicht viele Menschen wissen darüber Bescheid. Aber Sie haben es aufgegriffen und recherchiert.

Ja, die Nichtlinearität ist ein indirekter Effekt, den die Aktivierungsphasen haben. Sie waren ursprünglich dazu gedacht, von einem Bereich der Zieldefinition auf einen anderen zu übertragen, zum Beispiel für Klassifikationsaufgaben. "Nichtlinearität" kann auf verschiedene Weise erreicht werden, z. B. durch Erhöhung der Anzahl der Merkmale oder durch deren Transformation oder durch Kernel, die Merkmale transformieren.

Das einfachste Beispiel ist die logistische Regression, die trotz der Aktivierungsfunktion am Ende linear bleibt.

In mehrschichtigen Netzen wird die Nichtlinearität jedoch durch die Anzahl der Schichten mit Aktivierungsfunktionen erreicht, einfach als Folge von Kernel-Transformationen.
[Gelöscht]  

Historischer Hintergrund:

Sie haben Recht, dass die Konzepte, die der logistischen Regression und den frühen neuronalen Netzen zugrunde liegen, vor den modernen tiefen neuronalen Netzen entwickelt wurden.

Werfen wir einen Blick auf die Chronologie:

  1. Dielogistische Funktion wurde im 19. Jahrhundert entwickelt. Ihre Verwendung als statistisches Modell für die Klassifizierung (logistische Regression) wurde Mitte des 20. Jahrhunderts (etwa in den 1940er bis 50er Jahren) populär.

  2. Das erste mathematische Modell eines Neurons (das Modell von McCulloch und Pitts) mit einer Aktivierungsfunktion erschien 1943. Es verwendete eine einfache Schwellenwertfunktion.

  3. Das Perceptron, ein einschichtiges neuronales Netz, wurde 1958 von Frank Rosenblatt entwickelt. Es verwendete eine Schwellenwert-Aktivierungsfunktion und konnte nur linear trennbare Probleme lösen.

  4. DerDurchbruch im Bereich des tiefen Lernens und der mehrschichtigen Netze kam erst mit der Einführung des Backpropagation-Algorithmus, der 1986 von Rumelhart, Hinton und Williams populär gemacht wurde.

Dieser Algorithmus machte das Training mehrschichtiger neuronaler Netze praktisch und zeigte, dass dafür nicht nur Schwellenwerte, sondern auch differenzierbare nichtlineare Aktivierungsfunktionen (wie Sigmoid und später ReLU) erforderlich sind.

Schlussfolgerung:

Historisch gesehen stellt sich Folgendes heraus:

  • Zunächst gab es Modelle (logistische Regression, Perceptron), die im Wesentlichen einschichtige Modelle waren.

  • Bei diesen Modellen wirkte die Aktivierungsfunktion tatsächlich wie eine Transformation in den gewünschten Bereich (von einer linearen Summe zu einer binären Klasse oder Wahrscheinlichkeit), da das gesamte Modell linear blieb.

  • Später, mit dem Aufkommen der mehrschichtigen Netze, kam der Aktivierungsfunktion eine neue, wesentlich wichtigere Rolle zu - die Einführung von Nichtlinearität in die versteckten Schichten, damit das Netz lernen kann.