Wie lernen künstliche neuronale Netze? Teil 1: Gradientenverfahren

Поделиться
HTML-код
  • Опубликовано: 11 янв 2025

Комментарии • 4

  • @BooBar2521
    @BooBar2521 3 года назад +1

    wow, du erklärst hier ganz nüchtern etwas was für mich immer Zauberei war. Danke, du hast mir bei meinem Referat sehr geholfen!

  • @SimonJentzschX7
    @SimonJentzschX7 Год назад +1

    Super Erklärung, danke. Aber eine Frage ist mir dabei durchaus gekommen: Da die n-dimensionale Skalarfeld ist ja nicht unbedingt nur ein simpler Trichter, sonder kann auch mehrere Täler haben. Wenn der initiale Trainings Vektor sich in nun in einem nicht optimalen Tal befindet, würde dieses Verfahren dann auch nicht das tiefste Tal, bzw. beste Lernresultat finden. Wie löst man dies?

    • @bminformatikde
      @bminformatikde  Год назад +2

      Sehr gute Frage, leider nicht ganz kurz und knapp zu beantworten ;-)
      1) Unsere menschliche 3D-Anschauung/Intuition versagt oft in hochdimensionalen Räumen - so auch im Fall lokaler Minima (nicht-optimaler Täler). Nehmen Sie den 1D-Fall: Ein lokales Minimum ist dann eine Art "Beule" im Funktionsgraph. Bei 2D brauchen Sie in beiden Dimensionen diese Beule und bei 50Millionen Dimensionen muss diese Situation in allen 50M Dimensionen gleichzeitig auftreten, um ein 50M-dim Tal zu erzeugen. Die Wahrscheinlichkeit dafür ist nahezu 0. Eher hat man mit hochdimensionalen Sattelflächen zu kämpfen auf denen die "Kugel" auf einem seichten "Kamm" ausrollt, anstatt "links" oder "rechts" den "Abhang" herunter zu rollen. Da kann z.B. ein extra "Schwung" (Momentum) oder ein bewusstes "Trudeln" helfen.
      2) Man nimmt bevorzugt Loss-Functions, die unter möglichst vielen Umständen konvex sind (bspw. den MSE).

    • @SimonJentzschX7
      @SimonJentzschX7 Год назад

      @@bminformatikde Danke, das ist eine sehr hilfreiche Erklärung