Zum Inhalt springen
L

Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).

Grundlagen neuronaler Netze, Neuronale Netze I, Machine Learning Tutorial #12

CodingWithMagga20:39 29.018 Aufrufe veröffentlicht Auf YouTube

Das Wichtigste aus dem Video

Tipp auf eine Zeit – das Video springt genau dorthin.

Transkriptautomatisch erstellt · 140 Zeilen
Herunterladen
  1. hallo zusammen in diesem Video gehe ich auf die Struktur von neuronalen Netzen sowie auf neuronenansicht ein zu dem zeige ich euch verschiedene Arten von
  2. aktivierungsfunktionen die man in neuronalen Netzen verwenden kann zum Abschluss des Videos zeige ich euch ein kleines leicht nachvollziehbares
  3. Beispiel ich bin sicher jeder von euch hat schon mal neuronales Netz gesehen welches so oder so ähnlich aussieht wie das hier
  4. gezeigte jedes einzelne dieser farbigen Kreise steht für ein einzelnes Neuron und die weißen Linien für die Verbindung zwischen diesen Neuronen
  5. ich hatte den grundlegenden Aufbau eines solchen Netzes bereits in meinem Superweiss learning Video beschrieben aber gehen wir es hier trotzdem noch
  6. einmal kurz durch die Spalte an grünarten auf der linken Seite werden als input-layer bezeichnet wie der Name schon sogar wird sind diese Neuronen für
  7. die Eingangswerte des neuronalen Netzes verantwortlich die nächsten beiden orangenspalten von Neuronen werden als hiddenlayer 1 und 2 bezeichnet hinten
  8. kann mit versteckt oder verborgen übersetzt werden diese Neuronen oder anders gesagt die Werte dieser Neuronen in diesem Layern
  9. sind in der Regel von außen nicht sichtbar und häufig nur schwer zu interpretieren am Ende des neuronalen Netzes finden
  10. sich die Neuronen des output-layers welches für die Ausgabe des neuronalen Netzes zuständig sind betrachten wir solch eine neuronales Netz nun einmal
  11. Stück für Stück und beginnen ganz links mit einem grünen Neuron aus dem inputer her in diesem Neuronen sind die Eingangswerte des neuronalen Netzes also
  12. die einzelnen Features XI hinterlegt wie hier etwa das Feature X1 die Ausgabe dieses neurons hier dargestellt durch den feiner rechts ist
  13. eben dieses Feature X1 und hat meistens nicht nur ein einzelnes sondern mehrere Features und entsprechend mehrere solcher Neuronen
  14. diese sind über die weißen Linien mit anderen Neuronen verbunden wie hier mit einem orangener rund aus einem Händen leer und die Features dienen als
  15. Eingangswerte für dieses Neuron die Features werden dabei zusätzlich mit Gewichten wie versehen ich komme später noch genauer auf diese Gewichte zu
  16. sprechen an dieser Stelle will ich aber bereits sagen dass diese Gewichte die Parameter sind die später beim Training des neuronalen Netzes optimiert werden
  17. nie zuvor gezeigten Modellen dieser Video Reihe habe ich für diese Parameter stieß das zettersymbol verwendet jedoch findet man in der Literatur zu
  18. neuronalen Netzen häufig die Bezeichnung Gewichte bzw für AIDS mit dem Symbol W und da übernehme ich in diesem Video diese Notation auf das Training von
  19. neuronalen Netzen gehe ich an einem späteren Video genauer ein kommen wir aber nun zurück zur Betrachtung der Neuronen in jedem Layer und Ausnahme des
  20. Output layers finden sich ein zusätzliches Neuron des sogenannte bayerischen theoretisch kann man auch neuronale
  21. Netze ohne BIOS Neuronen verwenden aber das ist eher unüblich das biosneuron ist ebenfalls mit jedem Neuronen im Folgenden Layer verbunden und da auch
  22. mit dem hier wieder dargestellten orangenhorn weil auch hier der Wert x0 gewichtet wird der Wert x0 ist aber kein Feature im eigentlichen Sinne sondern
  23. wirklich eins gesetzt so das effektiv nur das Gewicht w0 als zusätzliche Eingangswert fungiert das Orangen hätte jetzt nicht einfach
  24. nur ein Wert das den eingangsseiten gebildet wird sondern ein Funktionswert die von Z wobei Z die Summe der Eingangswerte aus den anderen Neuronen
  25. ist die Funktion g wird auch als Aktivierungsfunktion bezeichnet und die dann erster Linie dazu eine
  26. Nichtlinearität in das Modell einfließen zu lassen auf die Bedeutung von aktivierungsfunktionen und auch das
  27. biosneurons komme ich in einem späteren Video noch zu sprechen der Funktionswert g von Z ist gleichzeitig auch der Ausgangswert des Neurons und dient somit
  28. als Eingangswert für weitere Neuronen die mit diesem Neuron verbunden sind er wird häufig auch als Aktivierung bzw im englischen activation bezeichnet schauen
  29. wir uns im Folgenden einmal unterschiedliche aktivierungsfunktionen an dann wird auch die Verwendung des Begriffs Aktivierung in diesem
  30. Zusammenhang deutlicher die einfachste Aktivierungsfunktion ist einfach eine lineare Funktion wie ich eben bereits sagte dient die Aktivierungsfunktion
  31. dazu eine gewisse nicht Linearität in das Modell einfließen zu lassen daher wird die lineare Aktivierungsfunktion in der Regel nicht
  32. verwendet betrachten wir nun einmal eine Runde mit einer linearen Aktivierungsfunktion so wird der Eingangswert Z genauso wieder
  33. herausgegeben deutlich interessanter ist die nächste Aktivierungsfunktion bei einem Reset bei
  34. dieser Funktion ergeben alle Eingangswerte kleiner gleich 0 ein Funktionswert von 0 und alle Werte darüber einen Funktionswert von 1
  35. dies ist auch noch einmal rechts beispielhaft an zwei einer Runde dargestellt betrachten wir einmal das obere Neuron
  36. so hat dieses bei einem Eingangswert von Set kleiner gleich 0 einen Ausgangswert von 0 das heißt dass eine Runde ist gewissermaßen deaktiviert denn es hat
  37. keinerlei Einfluss auf die folgenden Neuronen das lediglich den wertvoll übergibt Andersheit ist sich beim unteren Nahrung
  38. welches bei einem Eingangswert von Zelt größer als 0 steht es eine 1 an die folgenden übergibt diese 1 würde dann natürlich später noch mit einem Gewicht
  39. wie multipliziert in diesem Sinne kann man das eine Runde als aktiviert betrachten dass die Berechnung der folgenden beeinflusst früher wurde meist
  40. eine logistische Aktivierungsfunktion verwendet welche wir bereits aus der logistischen Regression kennen und die im Gegensatz zur binary step-funktion
  41. entsteht gegenübergang zwischen dem Funktionswert 0 und 1 bildet man kann diese Funktion in die hier dargestellten drei Teile gliedern
  42. im blauen Teil den ich etwa bei z-line als -5 Ansätze liegt der Funktionswert nahe bei Null man kann also im weiteren Sinne hier auch von einem deaktivierten
  43. Neuron sprechen im grünen Bereich der logistischen Funktion der ab etwa Z größer 5 beginnt liegt der Funktionswert nahe bei 1 und
  44. das neurones gewissermaßen aktiviert im orangenbereich zwischen diesen beiden Werten liegt der Funktionswert g von Z logischerweise im Bereich zwischen 0 und
  45. 1 wenn man im Terminus der Aktivierung von Neuron bleiben möchte könnte man hier sagen dass das ein Grund teilweise aktiviert ist
  46. beachtet dass ich die Werte -5 bzw 5 hier etwas willkürlich gewählt haben dies sind keine festen Größen in der Literatur und dienen hier nur der
  47. Veranschaulichung der logistischen Funktion eine Variante der logistischen Funktion ist die Funktion Tangens hyperbolikurs
  48. welcher sich ebenfalls in drei Abschnitte gliedern ist der Verlauf der Funktion endet der logistischen Funktion jedoch liegt der Wertebereich der
  49. Funktion Tangens hyperbolikus im Bereich -1 und 1 und nicht im Bereich 0 und 1 zudem steigt die Funktion etwas schneller an weshalb ich die Grenzen bei
  50. zeitlich -3 bzw zeitgleich 3 lege auch hier sind dies von mir selbst gewählte Werte und keine feststehenden Größen
  51. zudem kann man bei dieser Funktion nicht wirklich von einer Deaktivierung des Neurons sprechen da der Funktionswert in diesem Bereich -1 und eben nicht 0
  52. beträgt am Schluss möchte ich euch nun die heutzutage am häufigsten verwendete Aktivierungsfunktion reu vorstellen was
  53. abgekürzt für reaktive linear unit steht es hat sich herausgestellt dass diese Funktion deutlich bessere Konvergenz Eigenschaften beim Training eines
  54. neuronalen Netzes vorweist als die eben gezeigt und zuvor häufig verwendete logistische Funktion auch bei dieser Funktion ergibt sich ein Funktionswert
  55. von 0 für alle Eingangswerte Zeit kleiner gleich 0 für alle Eingangswerte Zelt größer als 0 handelt sie sich bei eher Elu um eine simple lineare Funktion
  56. welche den Eingang wieder exakt so herausgibt springen wir jetzt einmal zurück zu den Neuronen und klickt noch einmal auf das
  57. gesamte neuronale Netz das eben gezeigte Beispiel mit den Grünen Neuronen aus dem input-layer und dem orangenneuronen aus einem hidden leer entspricht
  58. beispielhaft diesem Abschnitt aus dem neuronalen Netz beachtet das bei ist Neuronen bei der Darstellung eines neuronalen Netzes in dieser Form im
  59. Allgemeinen nicht mit abgebildet werden gehen wir nun einen Lehrer weiter so ändert sich an der internen Berechnung der Neuronen im Grunde nicht die
  60. Funktionswerte der Neuronen aus den Layer 1 dienen inklusive der entsprechenden Gewichtung als Eingangswert für die
  61. Aktivierungsfunktion des Neurons in den leer 2 auch für den Output Layer ändert sich hier im Grunde nichts aber werfen wir
  62. trotzdem noch einmal einen genaueren Blick darauf da es sich um die Ausgabe des neuronalen Netzes handelt die Summe der gewichteten Funktionswerte bzw der
  63. aktivierungswerte den hohen inklusive des beißen holens werden aufaddiert und sind der Input septilde der Aktivierungsfunktion g
  64. der Funktionswert g von zilde ist dann sowohl der Ausgabewert des nach hohens als auch die Ausgabe des neuronalen Netzes welche sich hier einmal mit Y1
  65. Tilde bezeichnet geht man jetzt also das neuronale Netz so von hinten bis vorne durch gelangt man von den Eingaben bewährten also den
  66. Features XI aus den Grünen Neuronen hin zu den blauen Neuronen welche die Ausgabe y itilde des neuronalen Netzes darstellen so lässt sich das gesamte
  67. neuronale Netz auch als Funktion darstellen wie das aussieht zeige ich euch gleich bevor möchte ich aber noch ein paar Sätze über die Struktur eines
  68. neuronalen Netzes verlieren generell können sich in einem Layer beliebig viele Neuronen befinden das gilt sowohl für den input-layer den hinten leeren
  69. also für den outputer generell ist jedes Neuron mit jedem Neuronen davor und dahinterliegenden Layer verbunden wobei es aber auch Techniken gibt gewisse
  70. Verbindungen oder Neuronen zu entfernen respektive zu ignorieren zudem ist bei klassischen neuronatnetzen wie es hier zu sehen ist eine hohen
  71. immer nur mit dem davor und dahinter liegenden Layer verbunden eine direkte Verbindung zwischen etwa Input und hinten Layer 2 ist in diesem Fall nicht
  72. möglich es gibt jedoch viele spezielle Arten von neuronalen Netzen bei denen das Überspringen von Lehrern oder auch Verbindungen in den gleichen Layern
  73. möglich ist der Index wird über die einzelne runden durchnummeriert während das Hoch 1 für
  74. den ersten hinten Layer steht auch diese neuroden werden in einem Vektor a hochklammer auf 1,2 zusammengefasst
  75. betrachten wir jetzt einmal das erste Neuron genauer an dieser Stelle wiederhole ich mich irgendwie nicht aber die Gleichung sind
  76. an dieser Stelle noch einmal wichtig um die gesamte Berechnung des neuronalen Netzes nachvollziehbar niederzuschreiben die Gewichte wehe dieses aroms erhalten
  77. einen zusätzlichen Index und ebenfalls eine hochgestellte 1 der erste Index steht dabei für die Position des verbundenen eurons in der hinterlegenden
  78. leer in diesem Beispiel ist das dass gerade betrachtete Neuron A1 hoch Klammer auf 1 Klammer zu der zweite Index steht für die Position
  79. des nach uns unter vorliegenden layer in diesem Fall das neuronics 1 die hochgestellte Klammer auf 1 Klammer zu steht wiederum für den ersten
  80. hiddenlayer zum Beispiel vorne A1 hoch 1 werden wie eben bereits gesehen die Gewichte mit den jeweiligen Features multipliziert und anschließend summiert
  81. die Gewichte füge ich anschließend einer Matrix wie hoch 1 zu an dieser Stelle sollten wir auch nicht das beides in herum vergessen wissen die wichtig in
  82. einen Vektor B hoch 1 hinzufügen in der Gleichung für das Neuron A1 hoch 1 fehlt dann nur noch die Anwendung der
  83. Aktivierungsfunktion g wie ihr seht ist dies die gleiche Formel die ihr bereits zu Beginn des Videos gesehen habt lediglich die Notation des
  84. Neurons A1 hoch 1 vor den zugefügt und es gibt ein paar mehr Indizes exakt die gleichen Schritte können wir nun für die beiden verbliebenen Runde
  85. des ersten durchführen und die entsprechenden Gewichte in die Matrix wie und den Vektor B schreiben mittels dieser Notation ist jetzt
  86. möglich die drei links dargestellten Funktionsgleichung in einer einzelnen Funktionsgleichung zusammenzufassen
  87. hierbei ist die Aktivierungsfunktion g so definiert das bei einem vektoriellen Eingangswert die Funktion die auf jeden einzelnen Eintrag des Vektors angewendet
  88. wird so lässt sich der erste Berechnungsschritt in diesem neuronalen Netz zu der kleinen Funktionsgleichung rechts unten zusammenfassen
  89. die gleichen Schritte können wir für den folgenden Lehrer anwenden zunächst multiplizieren wie die gewichtsmatrix wie hoch 2 mit den Werten
  90. aus dem ersten Layer a hoch 1 anschließend addieren wir auch hier die Gewichte aus den Verbindungen mit dem weißen herum das Ergebnis dieser
  91. Berechnung ist wiederum der Eingangswert für die Aktivierungsfunktion g die Definition der Matrix wie hoch 2 und des Vektor 2 habe ich hier noch einmal
  92. aufgeführt betrachten wir nun einmal die Ausgabe unseres neuronalen Netzes fassen die
  93. Neuronen des Output leeres zum Vektor y tilte zusammen die Berechnung dieses Vektors erfolgt jetzt analog zu den beiden vorherigen
  94. auch hier habe ich einmal die Definition für die Matrix wie hoch 3 und den Vektor B hoch 3 aufgeführt sind übrigens auch unterschiedliche aktivierungsfunktionen
  95. g in den einzelnen Layern möglich von der Notation her müsste man daher jeder funktionieren je noch ein zusätzlichen indizil verpassen worauf ich aber an
  96. dieser Stelle der Einfachheit halber verzichtet haben zudem ist es eher ungewöhnlich unterschiedliche aktivierungsfunktionen in einem
  97. neuronalen Netz zu verwenden wir könnten diese Funktionsgleichung anschließend von oben nach unten ineinander einsetzen und erhalten diese längere
  98. Funktionsgleichung für den Vektor Deutschland Hilde das mag jetzt gar nicht so spektakulär aussehen aber schließlich bedeutet das folgendes das
  99. neuronale Netz auf der linken Seite lässt sich zu der einen geraden Funktionsgleichung auf der rechten Seite zusammenfassen das bedeutet wenn
  100. neuronales Netz ist letztlich auch nichts anderes als eine Funktion mit einem Eingabewert x einem Ausgabewert y Tilde und einer großen Menge an
  101. Parametern an dieser Stelle versteckt in den Matrizen und den Vektoren B jedoch können die funktionsvorschriften für neuronales Netz sehr umfangreich und
  102. komplex werden setze das kleine neuronale netzlinks sie Funktionsgleichung rechts bereits recht lang und durch die ganzen
  103. funktionsauswertungen der Aktivierungsfunktion g auch nicht wirklich leicht nachzuvollziehen angesichts dessen verwendet man gerne
  104. die abstrakte Darstellung eines neuronalen Netzes wie auf der linken Seite und verzichtet auf die explizite Darstellung der Funktionsgleichung
  105. allgemein kann die Funktionsgleichung für einen neuronales Netz wie folgt geschrieben werden wobei n für die Anzahl der steht
  106. bleiben wir jetzt aber noch einmal kurz bei dem neuronalen netzlinks und zählen einmal die Parameter aus wie und P das gesamte befinden sich in diesem
  107. neuronalen Netz bzw in der obigen Funktionsgleichung 29 Parameter in dem Netz von Anfang des Videos waren es sogar 103 Parameter gewesen in der
  108. Regel verwendet man noch deutlich größeren Netze mit einer noch viel größeren Anzahl an Parametern zur Erinnerung diese Parameter werden
  109. später durch das Training optimiert um die verwendeten Datenpunkte so exakt wie möglich abzubilden die Orange eingerahmte funktiongleichung
  110. ist wenn wir einmal im Terminus der vorigen Videos bleiben nichts anderes als die Modellfunktion FX das links dargestellten neuronalen Netzes der
  111. Vektor kleinen W als Index der Modellfunktion ist so definiert dass er alle Parameter des neuronalen Netzes beinhaltet in diesem Fall wären das als
  112. ein Vektor mit 29 Einträgen genauso lässt sich eine kostenfunktioniert für das neuronale Netz definieren worauf ich an dieser
  113. Stelle aber auch nicht genauer eingehen möchte deshalb schreibe ich an dieser Stelle nur eine allgemeingültige Funktionen der jetzt Input die
  114. ausgewertete Modellfunktion am Datenpunkt XI sowie den y-Wert y i des datenpunktes übergeben wird durch die große Anzahl an Parametern tendieren
  115. neuronale Netze schnell zum overfiting das gleiche Phänomen haben wir bereits im vorigen Videos beispielsweise bei der Polynom Regression beobachtet eine
  116. Möglichkeit aber für ihn zu reduzieren habe ich in meinem letzten Video vorgestellt die Regularisierung bei Anwendung von euren Netzen ist es da
  117. wichtig eine Form der regelalarisierung zu verwenden weshalb ich dies hier in der Kostenfunktion mittels der Funktion
  118. mit den beiden hier dargestellten Funktionen ist es nun möglich neuronale Netze zu trainieren und damit die Parameter des Netzes so anzupassen dass
  119. Unbekannte Datenpunkte möglichst exakt vorhergesagt werden können zum Abschluss des Videos stelle ich euch ein wirklich kleines minimales Beispiel für ein
  120. neuronales Netz vor welches sich leicht nachvollziehen lässt ich habe dieses Beispiel aus der Maschine learning Kurs von Andrew mg übernommen
  121. betrachten wir einmal dieses neuronale Netz mit zwei Input Neuronen in grün und einem zugehörigen lila es gibt keine hidden leer und der
  122. input-layer ist direkt mit dem einzigen der Bundesrat verbunden die durch dieses neuronale Netz repräsentierte Funktionen hat also ein
  123. zweidimensionalen Input und ein skalaren Output wir nehmen an dass das Netz bereits trainiert wurde und ich gebe dir Gewichte an den Verbindungen der
  124. Neuronen an dann lässt sich der Output y- und Hilde das neuronalen Netzes durch die links oben gezeigte Gleichung bestimmen
  125. als Aktivierungsfunktion verwenden wir eine logistische Funktion wir können jetzt eine solche Tabelle aufstellen um den Output des neuronalen
  126. Netzes bei unterschiedlichen Input festzuhalten zusätzlich wird angenommen das x1 und x2 lediglich die Werte 0 oder 1 annehmen können
  127. beginnen wir nun einmal unterschiedliche Werte einzusetzen und starten mit x1 und x2 = 0 damit ergibt sich für y0 Tilde der Funktionswert g von minus 30 welcher
  128. wenn wir die untere Funktion betrachten in etwa gleich Null ist für X1 = 0 und x2 = 1 ergibt sich für Yildiz der Funktionswert g von -10 welcher
  129. ebenfalls in etwa Null ist das gleiche Ergebnis erhalten wir für den umgekehrten Fall X1 = 1 und x2 = 0 interessanter wird es jetzt für x1 und
  130. x2 = 1 dann ist y 00 welcher ungefähr 1 ist betrachtet man einmal die Werte für x1x2 und yultilde so fällt auf dass wir mit
  131. diesem neuronalen Netz eine unverknüpfung modellieren niemand würde natürlich auf diese Weise eine unverknüpfung inventieren was
  132. verdeutlicht einmal die Funktionsweise eines neuronalen Netzes und ist zudem leicht nachzuvollziehen was meistens nur bei kleinen neuronalen Netzen möglich
  133. ist wir können uns die Funktion links oben auch einmal in einem 3dimensionalen Plot anschauen die rote Kugel in der linken unteren Ecke liegt bei x1 und x2
  134. = 0 hier sehen wir auch noch einmal dass der Funktionswert fast gleich Null ist selbiges gilt für die beiden roten Kugeln für jeweils x1 und x2 = 1 der hat
  135. die andere Variable weiterhin gleich Null ist in der rechten oberen Ecke findet sich dann der Funktionswert fix0 und X1 = 1 schieben wir einmal die
  136. Z-Achse dort hinüber und drehen die Kamera ein wenig wird auch deutlich dass der Funktionswert hier werden hart zugleich eins liegt
  137. aus dieser Position lässt sich auch leichter die typische Form der logistischen Funktion erkennen
  138. in diesem Video habe ich euch die Grundlage von neuronalen Netzen erläutert vor allem in englischer Sprache gibt es auf Youtube noch viele
  139. weitere ausgezeichnete Videos über neuronale Netze eine Auswahl von findet ihr in der Videobeschreibung in meinem nächsten Video zeige ich euch
  140. umfangreichere Beispiele für neuronale Netze vielen Dank fürs zuschauen und bis zum nächsten Mal

Zum Nachlesen