Neuronale Netze - Basiswissen

Поділитися
Вставка
  • Опубліковано 8 лип 2024
  • In diesem Video geht es um die Prinzipien Neuronaler Netze. Wie funktionieren diese, wo liegen die Herausforderungen und was bedeuten in diesem Kontext Begriffe wie Backpropagation, Over- oder Underfitting usw.
    Gedacht für KI-Einsteiger um einen ersten Überblick über Neuronale Netze als Basiswissen für die nächsten Schritte zu erhalten.
    Wichtig: Zu diesem Video gibt es auch ein kurzes Ergänzungsvideo ( • Fragen und Antworten -... ), in dem häufig gestellte Fragen und Antworten erläutert werden sowie 2,3 Fehlerteufel ausgetrieben werden, die sich in diesem Video leider eingeschlichen hatten.
  • Наука та технологія

КОМЕНТАРІ • 173

  • @captainvaughn5692
    @captainvaughn5692 5 місяців тому +3

    Ich bin 17 und besuche eine höhere technische Schule für Informationstechnik, und ich bin ihnen sehr dankbar für dieses Video. Ich bin mir bewusst das Neuronale Netzte noch vieeel zu komplex für mich sind, in der Schule haben wir praktisch noch nie etwas darüber gelernt bekommen, jedoch besteht ein gewisses Interesse in mir und Sie haben mir eine Grundebene verschaffen von der ich höchstwarscheindlich später aufbauen kann. Vielen Dank für dieses Informationsreiche, ausführliche und gleichzeitig simpel erklärte Video!

    •  5 місяців тому +2

      Das freut mich, vielen Dank für das positive Feedback. Vielleicht für später mal: ich bin gerade in Cannes auf dem WAICF, dem weltgrößten AI Festival. Da gibt es so ziemlich "alles" in Bezug auf aktuelle KI Entwicklungen zu sehen. Bis dahin auf jeden Fall noch viel Spaß mit den Videos. Es werden noch weitere folgen aber aktuell fehlt mir leider die Zeit. Aber generative KI ist bereits in Vorbereitung.

  • @klausbruderle7388
    @klausbruderle7388 4 роки тому +7

    So viele ruhige und entspannte Sachlichkeit tut dem Thema gut. Einmalig anschaulich! Die Schüler mögen das. (Mein Alter: 75 Jahre Ex-Lehrer)

    •  4 роки тому

      Vielen Dank, Herr Brüderle. Das freut mich sehr! Der nächste Video ist auch bereits in Arbeit, ich hoffe auch diesen leicht verständlich umsetzen zu können. Dabei geht es übrigens um Objekterkennung in Echtzeit. Ich denke, in ca. 2 Wochen sollte es fertig sein. Beste Grüsse, Udo Würtz

  • @ClaudiaWick
    @ClaudiaWick 11 місяців тому +9

    Ganz hervorragend gemachtes Video! Das ganze Thema ist nun mal am Anfang extrem schwierig, aber wenn es jemand so geduldig erklärt, dazu noch auf deutsch, klappt das nach der zweiten oder dritten Wiederholung schon erstaunlich gut. Danke für die Riesenmühe, die Du Dir gibst: Kanal ist abonniert und die Adressen sind notiert!

    •  11 місяців тому +1

      Danke für das tolle Feedback! :)

  • @eineinfachermann4092
    @eineinfachermann4092 6 місяців тому +1

    Obwohl kompliziert, aber so erklärt, dass man mehr wissen möchte. Meine Empfehlung.

  • @TL-bi8ov
    @TL-bi8ov 3 роки тому +8

    Lieber Udo, ich finde deinen Duktus sehr angenehm und konnte deinen Ausführungen sehr gut folgen. Vielen Dank für das Video!

    •  3 роки тому

      Vielen Dank für Dein Feedback, das freut mich :)

  • @Papalapaps
    @Papalapaps 4 роки тому +24

    Ein sehr komplexes Thema hervorragend erklärt! Ich finde besonders die Präsentation dafür sehr anschaulich gestaltet. Und auch dass zwischen den Themenwechseln der Autor kurz zu sehen ist, lockert das Video ungemein auf. Weiter so!

    •  4 роки тому +1

      Vielen Dank für das positive Feedback! Das nehme ich gerne als Ansporn für weitere Videos. Der nächste steht jetzt zur Aufnahme an, hier geht es um Objekterkennung in Echtzeit und die nachträgliche Erkennung von Objekten in Videoaufnahmen. Auch sehr geeignet für Einsteiger. Zusätzlich werde ich auch die notwendigen Skripte zum Nachbauen zur Verfügung stellen. Das hat jetzt sehr viel Zeit in Anspruch genommen, dafür läuft es nun auch rund. Ich hoffe in den nächsten 2-3 Wochen damit online zu sein. Beste Grüße, Udo Würtz

  • @Ali-pg5is
    @Ali-pg5is 4 роки тому +11

    Schreib gerade ne Bachelorarbeit über Ki, musste lernen was ein neuronales netzt ist, danke dir hab es super verstanden. Abo ist da !

  •  4 роки тому +23

    Vielen Dank, das freut mich sehr! Alles Gute für den Bachelor!

  • @dynamicDE
    @dynamicDE 2 роки тому +3

    Ich habe bisher nur die ersten 10 Minuten gesehen, aber bin jetzt schon begeistert. Der Sachverhalt wird vereinfacht dargestellt (gut für Einsteiger), schön erklärt und die Visualisierung gefällt mir auch sehr gut. Stimmiges Gesamtkonzept - sehr schade dass der Kanal nur knapp 2000 Abos hat.

    •  2 роки тому

      Danke für das Feedback. Tatsächlich ist die Reichweite durch die Sprache eingeschränkt. Das ist Absicht da es m.M.n. wenig deutschsprachige KI Channels gibt und wenigstens muss ich damit auch kein Geld verdienen :)

  • @fabienbolzan9230
    @fabienbolzan9230 Рік тому

    Danke für dieses, die KI in den richtigen Kontext setzende, Video. Einfach gut! Danke

  • @Heinzchen
    @Heinzchen 3 роки тому +2

    Vielen Dank für dieses Video. Es ist super zum Einstieg in dieses Thema.

    •  3 роки тому

      Freut mich, danke für das Feedback! Neue Ideen sind übrigens gerade in der Planung. Da kommt was interessantes in der nächsten Zeit 😁

  • @sriti_hikari
    @sriti_hikari 3 роки тому +1

    Danke für das Video!

  • @brother9022
    @brother9022 9 місяців тому

    'Einfach' und dafür sehr ausführlich beschrieben. Klasse gemacht. Danke für dieses Video!😎

  • @unbtyt0327
    @unbtyt0327 3 роки тому +2

    Vielen Dank. Alles super erklärt und visualisiert. 👍

    •  3 роки тому

      Vielen Dank für das Feedback! :)

  • @tracetv8115
    @tracetv8115 9 місяців тому +2

    Das Video glutamine mindestens einen Oscar verdient! Sehr, sehr cool erklärt l, danke für diese kostenlose Lehrstunde!

    •  9 місяців тому

      Vielen Dank für das motivierende Feedback!

  • @RapFanatikerM
    @RapFanatikerM 4 роки тому +2

    Sehr verständlich erklärt und die Thematik trotzdem nicht zu verallgemeinert. Danke für das Video, habe viel dazu gelernt.

    •  4 роки тому +1

      Danke schön für das Feedback! Der nächste Video steht übrigens auch bereits in den Startlöchern, dabei geht es um Objekterkennung in Echtzeit. Geht in đen nächsten Tagen online.

  • @radoinaitwakrim1398
    @radoinaitwakrim1398 Рік тому +1

    Ein sehr schwiriges thema Super und einfach erklärt . Respekt .vielen Dank für Ihre Bemühungen.

    •  Рік тому

      Vielen Dank, das freut mich :)

  • @HaraldMoeller
    @HaraldMoeller 3 роки тому +2

    hat mir sehr gut gefallen, was ein neurales netzwerk ist und wie es funktioniert, ist sehr gut erklärt sogar für anfänger und neugierige. danke für das tutorial.
    sehr interessantes thema!

    •  3 роки тому +1

      Sehr gerne, vielen Dank für das positive Feedback!

  • @nicohell.4257
    @nicohell.4257 3 роки тому +3

    Bin 20 Jahre alt und sogar ich kann diesem Video gut folgen. Super gemacht.

    •  3 роки тому +1

      Freut mich sehr und Danke für das Feedback! Dran bleiben lohnt sich, ich bin gerade am Thema Objekterkennung via WEBCam, damit kann man z.B. eine IP-Kamera installieren und Objekte (welcher Art auch immer) erkennen. Wird noch ein paar Tage dauern aber erste Versionen laufen bereits. Wenn ich mich im Garten bewege tracken mich meine Kameras. Allerdings nur privat nutzen wegen Datenschutz, versteht sich :) Daraus werde ich in Kürze entsprechende Videos und einfache Anleitungen zum Nachbau hier veröffentlichen.

    •  3 роки тому +1

      @Marvin Bis Sonntag allerspätestens. Sind gedreht und ich teste noch final die Scripte damit alles läuft. Bin im Grunde durch damit, vielleicht schaffe ich auch Samstag. Läuft auf x86 als auch Jetson Plattform inklusive Gesichtserkennung

  •  3 роки тому +4

    Gerne, merci für das Feedback.

  • @paul4245
    @paul4245 2 роки тому +1

    Nur falls jemand das braucht: ich glaube bei 50:20 ist ein kleiner Fehler. ganz unten müsste de/dw1 anstadt dy/dw1 stehen. An sonsten Top video, das beste was ich gesehen habe, weiter so.

    •  2 роки тому

      Das stimmt und danke für das Feedback, das freut mich. Zu dem Basiswissen gibt es ein weiteres, kurzes Video : m.ua-cam.com/video/I7Sx8YJ7uUo/v-deo.html Da ist der Bug dann auch behoben :)

  • @simonh1349
    @simonh1349 2 роки тому +2

    Danke für dieses tolle Video, ich habe heute eine Klausur über NN geschrieben und diese Wiederholung hat sehr gut getan.

    •  2 роки тому

      Freut mich :) !

  • @mawa5702
    @mawa5702 3 роки тому +2

    Super geniales Video. Vielen Dank 👍

    •  3 роки тому +1

      Vielen Dank für das motivierende Feedback! Das freut mich sehr!

  • @MystoCalypto
    @MystoCalypto 2 роки тому +1

    Hat mir sehr beim Einstieg in die Thematik geholfen. Werde mir das Video wohl noch ein paar mal anschauen müssen um alles mitzunehmen.

    •  2 роки тому

      Das freut mich, aktuell arbeite ich bereits an einem weiteren Einstiegsvideo in die Welt der GAN's, mit denen man künstliche Menschen lebensecht (als Bild) darstellen kann. Natürlich zum selber nachbauen :)

  • @fwm7517
    @fwm7517 3 роки тому +4

    Wirklich sehr hilfreiches Video in sehr angenehmem Tempo (und sehr angenehm, dieses komplexe Thema auch in deutscher Sprache zu hören)!

    •  3 роки тому

      Vielen Dank für das positive Feedback! :)

  • @lucki6588
    @lucki6588 3 роки тому +4

    Dank dir habe ich jetzt endlich ein Grundverständnis von Neuralen Netzen bekommen, super Video! Da kann man auch mal ein Like und ein Abo da lassen ;)

    •  3 роки тому +1

      Danke Dir und schöne Weihnachten :)

  • @red_calla_lily
    @red_calla_lily 3 роки тому

    Perfekt, hat mir sehr weitergeholfen!

    •  3 роки тому

      Das freut mich :)

  • @sebastiankurul7994
    @sebastiankurul7994 3 роки тому +2

    Cool erklärt, und sowas kostenlos 👍

    •  3 роки тому

      Vielen Dank!

  • @filippoc8974
    @filippoc8974 2 роки тому +1

    Sehr gut, danke :)

  • @KruegerMusik
    @KruegerMusik 3 роки тому +1

    Wow! Das war wirklich hilfreich! Dass ich innerhalb von 67 Minuten so viel über Neuronale Netzwerke lernen kann hätte ich nicht gedacht! Vielen Dank für dieses grandiose Video! Ich werde es weiterempfehlen!

    •  3 роки тому

      Danke schön für das positive Feedback! Das motiviert, die nächsten Videos sind übrigens bereits am Entstehen.

  • @pxrpled660
    @pxrpled660 3 роки тому +2

    Ich bin 15 und bin ganz gut mitgekommen bis zu der Backpropagation. Ich hoffe mal das ich beim MSA nicht viel über die Backpropagation sagen muss. Aber im ganzen ein sehr gut erklärtes Video

    •  3 роки тому +2

      Hallo Pxrpled, danke für Deine Anmerkung. Die Backprop ist eine Art Fehlerkorrektur. KI besteht im Wesentlichen aus Mathematik und Statistik und das System versucht beim Lernvorgang sich selbst so anzupassen (bedeutet: Werte in der gesamten Kette zu ändern) dass das gewünschte und (im Training) meistens bekannte Ergebnis bestmöglich erkannt wird. Einfaches Beispiel: Stell Dir vor Du sollst die Zahl 100 erkennen. Das ist bekannt. Mal angenommen, der Rechenweg besteht aus sieben Stationen (=Neuronen), von denen aber keine Werte größer als, sagen wir 4 und kleiner 0 sein darf, dann würde das in etwa so starten: 1x1x1x1x1x1x1. Da kommt natürlich nicht 100 raus, also müssen einzelne Werte in dieser Kette verändert werden.
      4x4x4x4x4x4x4 wäre auch nicht zielführend, das wären dann 16384 und viel zu groß. Eine Lösung könnte dann eventuell 1x2x3x1x4x4*1 sein (=96, nicht perfekt aber nahe dran). Das ist nur ein simples Beispiel um das etwas anschaulicher zu machen: Man geht in der Kette zurück und verändert einzelne Werte und rechnet neu durch um das gewünschte Ergebnis im Training zu bekommen mit dem Ziel, sich diese Schritte zu merken die zu einem bestimmten, bekannten Ergebnis geführt haben um dann später unbekannte Ergebnisse bewerten zu können. Dazu ist diese Aufgabe natürlich wenig geeignet, da es eine einfache Multiplikation ist. Aber stell Dir vor, die Zahl 100 würde ein Objekt repräentieren, zum Beispiel ein Auto (also: Wert 100 = Auto). Und die Zahlen die vom System erzeugt werden, werden dadurch erzeugt dass ein Bild eines Autos gelernt werden soll. Und wir sagen der KI: 100 = Auto, bitte KI, stell Dich darauf ein. Und das System rechnet solange rum, bis es in etwa auf 100 kommt und sich dieses Ergebnis merkt (im sog. KI-Model) damit es später Autos erkennen kann ohne dass wir ihm sagen, um was es sich handelt. Und dieses "rumrechnen" und das Ergebnis möglichst optimal hinzubekommen ist es, wozu backpropagation = zurückgehen und Werte ändern, gebraucht wird. Übrigens: Was genau bei diesen Vorgängen passiert und warum gerade ein bestimmter und kein anderer Wert in einem Abschnitt berechhnet wird, weiß man leider nicht genau. Dazu gibt es ein eigenes Forschungsfeld, die sog. Explainable AI - Erklärbare KI. Das ist wichtig, denn wenn z.B. ein selbstfahrendes Fahrzeug einen Unfall baut, dann will man wissen, warum. Und das ist momentan nicht wirklich möglich. Aber das ist ein Thema für einen anderen Video ;)
      Ich hoffe hier etwas Klarheit reingebracht zu haben, Udo. Alles Gute noch für den MSA!

    • @pxrpled660
      @pxrpled660 3 роки тому +1

      @ Vielen Dank jetzt hab ich auch die Backpropagation verstanden.

  • @maxschw9370
    @maxschw9370 3 роки тому +1

    Like und Abo für diesen Content. Dankeschön👍👍

    •  3 роки тому

      Vielen Dank!

  • @charlesbuttner433
    @charlesbuttner433 7 місяців тому

    Danke!!

  • @Slisus
    @Slisus 3 роки тому +1

    Bei Minute 45:00 geht es um die Fehlerfunktion und du sagst, dass man diese kennen muss. Aber woher kennt man die?
    Ansonsten vielen Dank für das Video. War sehr informativ und hilfreich, ich werde mit Sicherheit noch öfters auf deinem Kanal vorbei gucken.

    •  3 роки тому

      Vielen Dank und es wird sich lohnen. Als nächstes kommen GAN's inklusive Sourcecode. Damit kannst Du eigene Gesichter bauen, wird sehr cool; hoffe ich. Einfach Abo und Du verpasst nichts.
      Zum Thema Fehlerfunktion: Die wird in der Regel im Framework gehandhabt und Du kannst letztlich sagen, welche Du nutzen möchtest. Das heißt, wenn Du eine Software schreibst um Modelle zu trainieren, dann gibt es auch einen Teil, bei dem Du einen Parameter setzen musst welche Verlustfunktion genutzt werden soll. In dem Basiswissen - Video bin ich etwas tiefer gegangen als eigentlich im realen Leben notwendig um etwas mehr Hintergrundwissen zu vermitteln.

  • @meax4k216
    @meax4k216 Місяць тому

    Sehr gutes Video

  • @mariajosetoledoarcic7844
    @mariajosetoledoarcic7844 3 роки тому +1

    sehr tolles Video! Vielen Dank! Abo ist da!

    • @mariajosetoledoarcic7844
      @mariajosetoledoarcic7844 3 роки тому

      Welche Bücher können Sie empfehlen, um mit Frameworks anzufangen?

    •  3 роки тому

      Vielen Dank! :)

  • @micknamens8659
    @micknamens8659 2 роки тому +1

    49:15
    Es ist etwas verwirrend, dass 'e' als Variablennamen hier für den output verwendet wird (e = y * w2), dieser Wert aber als 'Fehler' bezeichnet wird.
    50:11
    Kleiner Schreibfehler in der untersten Formel. Es muss heißen: "d e / d w1 = ..."
    Insgesamt fehlt aber in den Formeln zur Berechnung der Knoten-Werte die Sigmoid squashing function.
    Eine einfachere und mathematisch korrekte Herleitung basiert auf den bekannten Differentiationsregeln wie Kettenregel und Additionsregel. Details dazu send ich Ihnen per Email.

  • @kiwibird8988
    @kiwibird8988 3 роки тому

    Mega gut!

    •  3 роки тому

      Vielen Dank!

  • @vhauber24
    @vhauber24 3 роки тому +7

    Hi, tolles Video!! Super erklärt! Bei 1:03:48 ist ein Schnitt etwas falsch glaube ich. Underfitting wird nicht erklärt. Aber dafür hast du ja noch ein eigenes Video.

    •  3 роки тому

      Schaue ich mir an, vielen Dank für Dein Feedback und den Hinweis!

  • @muckizockt1579
    @muckizockt1579 2 роки тому +1

    sehr gutes video hat mir sehr weitergeholfen und ich finde diesen Channal echt super

    •  2 роки тому

      Das freut mich sehr! Schöne Feiertage :)

  • @Geritt1000
    @Geritt1000 3 роки тому +2

    Hallo tolles Video, ich interessiere mich sehr für das Thema und habe noch ne Frage. So wie ich das verstanden habe ist das ja im Endeffekt "nur" ein Algorithmus der eine Wahrscheinlichkeit ausgibt. Auch wenn ich jetzt Unmengen an Wahrscheinlichkeiten vergleiche werde ich nie auf ein eindeutiges Ergebnnis kommen (100%) oder? ist das so gewollt? Wäre es nicht günstiger festzulegen das alles über eine gewisse Wahrschscheinlichkeit als festes Endergebnis zählt (alles über 99% = 100%) ?

    •  3 роки тому

      Danke sehr für das Feedback. Ihre Annahme ist absolut korrekt, es geht letztlich um Wahrscheinlichkeiten. Wenn man versuchen würde,100% zu bekommen, beispielsweise wie beschrieben mittels eines Grenzwertes (Threshold), also wie Sie sagten z.B. alles über 99% = 100%, dann würde man die Möglichkeiten der KI limitieren. Beispielsweise kann es Situationen geben, bei denen der beste Wert von mehreren sagen wir 77% sein könnte. Dann würde es schon schwerfallen, hier von 100% zu sprechen. Auch ist eben genau der Umstand, dass wir nicht 100% bekommen eine relativ gute Abbildung der realen Welt bei der auch häufig Menschen nicht 100%ig sicher sind was die richtige Reaktion auf eine bestimmte Situation ist bzw. welche Antwort auf eine bestimmte Frage nun korrekt ist. Wenn man sich nun komplexere Szenarien anschaut, wie beispielsweise autonomes Fahren, dann können hier eine Vielzahl von Annahmen auftreten und seltenst sind diese 100%. Insofern muss dann ein Abwägen der einzelnen Annahmen geschehen und genau das macht es u.a. auch so komplex, by the way.

  • @phillips.264
    @phillips.264 3 роки тому +6

    Gutes Video :-) Bei Minute 50:30 ist glaube ich ein Fehler in der Formel: dy/dw1 = dy/dw1*de/dy sollten Sie mal überprüfen ;-) aber sehr gut erklärt und sieht nach viel Arbeit aus.

    •  3 роки тому +4

      Danke schön, ja, dass war es in der Tat. Sie haben Recht, da hat sich ein Tippfehler eingeschlichen, es muss unten "de/dw1=" statt "dy/dw1=" heißen. Danke für die Info :)

    • @simonh1349
      @simonh1349 2 роки тому

      @ naja de is auch ok, ich denke du meintest damit d error

    •  2 роки тому

      @@simonh1349 Es gibt mittlerweile ein kurzes Video mit Fragen und Antworten und auch Korrekturen zu Neuronalen Netzen. Da ist das korrigiert.

  • @NoName-1337
    @NoName-1337 3 роки тому

    Klasse Video, vielen Dank :) Gleich mal n Abo da lassen.

    •  3 роки тому

      Vielen Dank!

  • @viktormartinovic9446
    @viktormartinovic9446 2 роки тому +1

    Super Erklärvideo, vielen Dank! Einzige kleine Enttäuschung: Ein bisschen zu viele Anglizismen. Wollte extra was auf Deutsch finden, um die korrekte Terminologie zu lernen. Sonst aber top!

    •  2 роки тому

      Danke für das Feedback. Tatsächlich mache ich das mit Absicht, da sich in der KI doch sehr häufig Anglizismen finden, welche einfach so verwendet und nicht übersetzt werden. Insofern tut man sich leichter, wenn man die schon mal gehört hat. Ich hatte mich auch schon man an diversen Übersetzungen versucht, aber wenn das letztlich nicht fachlich üblich ist, verwirrt das nach meiner Erfahrung eher als das es nützt. Leider.

  • @devchannel5232
    @devchannel5232 8 місяців тому +1

    Eine Frage hätte ich allerdings zu 18:19. Sie meinten alle Neuronen sind auf 1st Layer miteinander verbunden. Würde das nicht bedeuten, dass jedes 1st Layer Neuron gleich wäre, da die Rechnung immer die selbe ist, nämlich die Rechnung die sie bei 11:51 verwenden?

  • @ShelbyGG
    @ShelbyGG 2 роки тому +2

    Guten Tag,
    ich habe noch ein Frage: Bei 09:47 sagen Sie, dass man die Werte gewichten muss, wie kommen Sie aber auf die genauen Zahlen die man multiplizieren muss?

    •  2 роки тому +1

      Hallo und Danke für das Feedback. Die Zahlen wurden von mir gewählt, um die grundsätzliche Theorie hinter den Neuronalen Netzen einfacher und anschaulicher zu machen. Es sind auch nur sehr wenige Werte, ein komplexes Netz hat durchaus mehrere hundert Milliarden solcher Werte.
      Tatsächlich werden die Zahlen in der Realität bei Beginn des Trainings willkürlich vom sogenannten Framework gesetzt, also der Software die man dafür benutzt um neuronale Netze zu bauen (z.B. Tensorflow, PyTorch u.a.). Im Laufe des Trainings werden die Werte dann mittels Backpropagation (kommt auch im Video) weiter optimimiert und somit immer besser. Übrigens ist genau das ein Problem hinsichtlich des Verständnisses WARUM die Werte genau so und nicht anders vom System ermittelt werden. Da beschäftigen sich aktuell Wissenschaftler damit, dass erklärbar zu machen (explainable AI). Wenn z.B. ein autonomes Fahrzeug einen Unfall baut, dann will man wissen, warum. Und das ist aktuell ein Problem. Insofern ist das nicht wirklich erklärbar. Wer das als erster schaftt, dürfte sich zur Ruhe setzen können da es zig Probleme der KI auf einmal lösen würde. Zurück zu den Werten: Die zufällige Initialisierung ist so wichtig, dass beispielsweise NVIDIA Bibliotheken für die wirklich(!) zufällige Generierung dieser Zaheln zur Verfügung stellt Normale RND (randomize) Funktionen sind da nicht ausreichend.

  • @ErikMorando
    @ErikMorando 2 місяці тому

    Hallo Udo, erst einmal vielen Dank für das toll gemachte Video. Klasse! Ich habe noch ein Verständnisproblem bei der Bestimmung der Gewichtung bzw. eine Frage zur Gewichtung der untersten beiden letzten Neuronen ab 03:55: Weshalb wird bei der Gewichtung des vorletzten Neurons eine positive Gewichtung definiert und beim letzten Neuron zur Definition einer horizontalen Linie eine negative Gewichtung verwendet?

  • @nilsdobs8923
    @nilsdobs8923 Рік тому +1

    Hallo, vielen Dank für das tolle Video. Eine Frage hätte ich: Was wäre wenn die 4 Pixel keine horizontale Linie bilden, sondern ein "L"? Wie kann eine Neuronales Netz das erkennen? Viele Grüße ✌️

    •  Рік тому

      Das Netz lernt in diesem Beispiel generell Pixelkombinationen und deren Erklärung (ist ein L, ein Strich etc.) andererseits. Danach funktioniert das auch mit unbekannten Mustern. Das Beispiel mit 4 Pixeln ist relativ trivial wenn man sich Bilder z.B. in HD demgegenüber vorstellt. Entscheidend ist das Grundverständnis: Ein System lernt Pixelmuster und die dazu gegebenen Erläuterungen zum den jeweiligen Mustern ("was zeigt das Muster: L " oder was auch immer), bildet daraus Zahlenwerte (das Modell) und kann dann ähnliche Bilder ohne Erläuterung zuordnen, in dem das unbekannte Bild in Zahlenwerten analysiert wird und geprüft wird, ob es ähnliche, bereits gespeicherte (gelernte) Muster gibt die dann eine Prognose auf das neue Muster/Bild erlauben (Wahrscheinlichkeit). Das Geniale dabei ist, dass die Werte in dem Modell aufgrund der Eingangsinformation gebildet werden und dann Muster erkannt werden. Trainiert man zum Beispiel Katzenbilder, dann können nach dem Training idealerweise auch unbekannte, nicht trainiere Katzenbilder analysiert werden. Trainiert man Hunde, dann halt Hunde, oder Autos oder was auch immer. Das macht KI so flexibel

  • @HaiderAli-be8tr
    @HaiderAli-be8tr 2 роки тому +2

    Hallo, ich interessierte mich für ein KI Studium, weshalb ich fragen wollte, ob es möglich wäre dies zu studieren ohne irgendein Vorwissen von Programmiersprache und wie viel Wert wird auf die englische Sprache gelegt?

    •  2 роки тому +1

      Gute Frage. Ohne Vorwissen zu Programmiersprachen: ich denke ja, da die heutigen Sprachen wie Python relativ einfach zu lernen sind. Ich habe mit C und Assembler angefangen und das war ein steiniger Weg. Bibliotheken in Assembler schreiben damit man diese in verschiedenen Sprachen einbinden kann ist zwar cool aber unfassbar steinig bis es läuft. Python ist aktuell die am meisten verwendete Sprache und recht easy zu verstehen und anzuwenden. Um Englisch wirst Du nicht herum kommen. Viele KI Entwicklungen kommen aus den USA und wenn man vorne dran bleiben möchte, sollte man Englisch können. Zumindest fachlich. Beispiel Tensorflow: kommt von Google und ist das am Meisten verwendete Framework. Die Entwicklercommunity ist global und spricht daher Englisch. Hoffe, meine Antwort hat Dir weiter geholfen.

  • @MrBaunty
    @MrBaunty 2 роки тому +1

    Wenn ich bei 16:28 tanh(1.075) eingebe, kriege ich 0.791 raus und nicht 0.746. Mache ich da was falsch oder ist das ein Fehler?

    •  2 роки тому

      Hmmm, ich bekomme hier 0.7455466... = 0.746 Es gibt einen Online-Calc zum Nachvollziehen: keisan.casio.com/exec/system/15157249643325

  • @garciafons1166
    @garciafons1166 3 роки тому

    Das Video ist sehr schön, nur habe ich mich nach der ersten halben Stunde irgendwie gefragt, ob eine so häufige Wiederholung des Hinweises, dass alles stark vereinfacht ist, wirklich nötig war...

    •  3 роки тому +1

      Vermutlich nicht, im Nachhinein betrachtet. Es war eines meiner ersten Videos und behandelt Themen, die normalerweise sehr komplex und vor den Augen des Betrachters versteckt ablaufen. Daher sind vereinfachte Annahmen getroffen worden um es verständlich zu machen. Darauf habe ich hinweisen wollen.

  • @JanSchulze-cw5ul
    @JanSchulze-cw5ul 2 місяці тому +1

    Grundsätzlich sehr gut erklärt und dargestellt. Was ich nur nicht ganz verstehe ist die Herkunft der gewichtungswerte. Diese Spielen ja eine wesentliche Rolle der Berechnung. Werden diese in der Praxis einfach im Vorfeld festgelegt oder haben diese auch eine Abhängigkeit. Ich denke diese Info würde mir zum Verstehen helfen. Vielen Dank

    •  2 місяці тому +1

      Diese werden zunächst mit Zufallswerten besetzt. Dafür gibt es auch eigene Libraries zum Beispiel von NVIDIA, damit die wirklich zufällig sind. Im weiteren Verlauf werden diese dann präzisiert. VG, Udo

  • @metamurk
    @metamurk 2 роки тому +1

    voll gut

    •  2 роки тому

      Vielen Dank :)

  • @twiky1059
    @twiky1059 3 роки тому +3

    Wie kommt bei Minute 40:08 als Gesamtwert 2.30 raus und nicht 2.75?
    Sonst ein Sehr gutes und vor allem verständlich erklärtes Video vielen Dank.

    •  3 роки тому +2

      Danke, Twiky, für den Hinweis. Bei .5 fehlt die 0, müsste .05 heißen. Die hat sich offensichtlich verdünnisiert :-D Danke für den Hinweis.

    • @twiky1059
      @twiky1059 3 роки тому

      @ Danke für die Antwort. :D

  • @abcdeedcba9231
    @abcdeedcba9231 3 роки тому +1

    Super Video,
    aber ca bei 1:02 ist das mit dem Overfiiting glaube ich etwas falsch erklärt, sollte es nicht so sein, dass das Netz hier die "Aufgabe" hat, zwischen rot und blau zu klassifizieren und das manche Punkte etwas grenzwertig sind, aber das netz versucht auf den Trainingsdaten möglichst gut zu sein und so die "zickzack" Grenze "zeichnet"?
    Im Anwendungsfall würde das Netz dann die Grenzwertigen Punkte falsch klassifizieren.

  • @paulf4018
    @paulf4018 2 роки тому +1

    Super Video, ich bin nur etwas verwirrt mit den Fehlerwerten bei ca. 40:28. Da diese addiert werden sind es ja nicht die Absolutwerte der Differenzen, sondern sie haben eine "Orientierung" über das Vorzeichen. Vermutlich orientiert sich der Fehler ausgehend vom Sollwert, müsste dann aber nicht -1,75 der vierte Fehlerwert sein?

    •  2 роки тому

      Danke für den Kommentar, es freut mich wenn der Video gefällt. Diese Frage nach der 1,75 kommt übrigens öfters; ich habe dazu auch einen kurzen Video gemacht; die betreffende Stelle ist bei ca. 8:36. ua-cam.com/video/I7Sx8YJ7uUo/v-deo.html ist der Link zum Video; "Fragen und Antworten..."; außerdem hatten sich 2,3 kleine Fehlerteufel eingeschlichen die ich auch noch angesprochen habe. Daher die Empfehlung, sich diesen Video anzuschauen. Schöne Feiertage :)

  • @jgv4945
    @jgv4945 3 роки тому +1

    Hi!
    Danke für das Video. Mich irritiert eine Frage, die ich die ganze Zeit im Hinterkopf habe.
    Wo werden denn die Anpassungen ("Lernerfolge") gespeichert? Die können ja nicht nur zur Laufzeit existieren...

    •  3 роки тому +1

      Hallo, das ist eine gute Frage. Hierzu lohnt es sich, den Sourcecode dazu anzuschauen, zum Beispiel: www.tensorflow.org/tutorials/keras/save_and_load
      Da wird das ganz guzt beschrieben. Im Grunde werden während des Trainings die Gewichtungen erzeugt und letztlich in einer Art Datei, dem Modell, gespeichert. Wenn ich nun Daten trainiere, erzeuge ich also folglich die spezifischen Gewichtungen und im Ergebnis ein trainiertes Modell. Das wiederhole ich bei Bedarf mit beliebigen Daten und baue mir damit eine Modellsammlung auf. Wenn ich dann einen bestimmten Anwendungsfall habe (z.B. Erkennen von Fahrzeugen o.ä.) lade ich einfach das trainierte Modell und kann sofort ohne viel Rechenaufwand mit der Erkennung beginnen.

    • @jgv4945
      @jgv4945 3 роки тому

      @ Vielen Dank für die Antwort und den Link!!

  • @CherryCherry-oy8sm
    @CherryCherry-oy8sm Рік тому

    Wenn die ReLu alle negativen Werte auf 0 setzt, wie kann es dann sein das im 3rd Layer jeder Pixel schwarz ist
    -1 = schwarz laut Lineal
    Würde dieser Wert durch ReLu nicht auf 0 gesetzt werden?

  • @carda1917
    @carda1917 3 роки тому

    Kann die von Ihnen genannte Lernrate mit dem von Ihnen angesprochenen Gradientenverfahren berechnet werden?

    •  3 роки тому +1

      Sehr gute Frage! Tatsächlich ist eine direkte Berechnung so nicht möglich da es weitere Parameter gibt wie beispielsweise die zu verarbeitetenden Daten (Art, Qualität usw) welche auch eine wesentliche Rolle spielen und sich auf den Gradientenabstieg auswirken. Allerdings ist das auch nicht wirklich notwendig, zumindest solange man kein eigenes Framework schreiben möchte oder mit bereits existierenden Netzen oder Modellen nicht klar kommt weil der Anwendungsfall womöglich sehr spezifisch ist und man das neu machen muss.
      Hintergrund dazu: in den verfügbaren Frameworks wie Tensorflow, PyTorch,... sind Funktionalitäten wie die der Gradientenberechnung bereits integriert. Das heißt man muss hier nicht low level anfangen sondern kann relativ schnell bereits integrierte und bewährte Funktionalitäten nutzen, beispielsweise für das Training von Bildern oder andere. Insofern muss man sich auch um die Lernrate wenig Gedanken machen. In meinem Video über YOLO gehe ich z.B. auch auf die Lernrate ein, welche man dort für das Training des YOLO Models implementiert und im Laufe der Versionspflege angepasst hat. Häufig ist das ein zeitfressender, empirischer Vorgang, also Trial and Error bevor der Entwickler damit zufrieden ist und wiederum andere das dann nutzen können ohne darüber erneut nachdenken zu müssen. Insofern dient das zur Veranschaulichung damit man die Hintergründe kennt aber in Wirklichkeit wird einem vieles zum Glück abgenommen.
      Beste Grüße,
      UW

    • @carda1917
      @carda1917 3 роки тому

      @ Eine Berechnung ist so auch nicht möglich. Die Lernrate wird ja auch erst in dem Gradientenverfahren angepasst und wie Sie schon sagten mit Trial & Error perfektioniert.
      Danke für den Hinweis!

  • @TheJulietteCharlie
    @TheJulietteCharlie Рік тому +1

    Bereits ausgestiegen bei “Addieren der Inputwerte”.
    Die Gewichte 2, -0.8, 0.5 sind ausgedacht? Wie werden diese bestimmt?
    Ich habe immer verstanden, dass die Gewichte erst am Ende bestimmt optimiert werden im Lernprozess.

    •  Рік тому +1

      Die Gewichtungen sind hier in der Darstellung tatsächlich willkürlich angenommen um die grundsätzliche Funktionsweise darzustellen. In Wirklichkeit werden spezielle Bibliotheken (beispielsweise NVIDIA cuRAND) benutzt, um echte Zufallszahlen zu erzeugen (Computer erzeugen normalerweise meist nur Pseudo-Zufallszahlen, die sind für KI nicht geeignet). Das können leicht Millionen oder gar Milliarden von Zahlen sein; das Netz startet einfach mit einem unbekannten (=zufälligen) Stand (sprich: Kombinationen an Werten) an Zufallszahlen und versucht dann, durch das Training die Zahlen so anzupassen dass die Erkennung möglichst gut durchgeführt wird. Wie das genau abläuft und warum gerade die eine oder andere Zahlenvariante bei bestimmten Schichten besser oder schlechter ist, kann meist nicht nachvollzogen werden. Dafür gibt es tatsächlich eigene Forschungsbereiche (Explainable AI), die das erforschen um die Gründe für die Festlegung der Zahlen durch das Netz erklärbar zu machen. Das ist wichtig, gerade bei z.B. selbst fahrenden Autos, die womöglich einen KI induzierten Unfall bauen und dann muss man wissen, warum das passiert ist. Das ist gerade eine ziemliche Black box, insbesondere bei komplexen Netzen.

  • @TorbenGabriel
    @TorbenGabriel 3 роки тому +1

    Sehr sehr gutes Video,
    der Gesamtwert der Fehlerrate bei Minute 40 ist aber glaube ich nicht ganz richtig. Da müsste 2.75 hin anstatt 2.30.

    •  3 роки тому

      Das ist korrekt und da hat der Fehlerteufel zugeschlagen. Im Grund fehlt eine 0 bei .5 Wie immer: Unzählige Male vorab durchgesehen und trotzdem ist er drin geblieben...

  • @rachidhasni6868
    @rachidhasni6868 2 роки тому +2

    Gutes Video, danke sehr. Es gibt einen Schreibfehler in Minute 50:48 ( Rechts Unten im Slide ). Sie wollten vielleicht, die partielle Ableitung von e und nicht von y schreiben .

    •  2 роки тому

      Das stimmt; tatsächlich habe auch dafür das kurze Video "Fragen & Antworten zum Basiswissen" gemacht; da habe ich das korrigiert. Sehr gut aufgepasst :)

  • @wolfgangschulte9263
    @wolfgangschulte9263 2 роки тому +1

    ... im Video "Wie geht KI?" wird beim Apsielen (zumindest bei mir) das Bild Underfitting nicht richtig angezeigt und dementsprechend nicht erklaert....... ich hatte den Eindruck, als wenn da etwas beim Zusammenschnitt der Folienabfolge nicht stimmte...

    •  2 роки тому

      Das ist korrekt und leider tatsächlich ein Bug. Daher habe ich das kurze Video ua-cam.com/video/I7Sx8YJ7uUo/v-deo.html dazu erstellt, da werden die fehlenden Slides und diverse Fragen und Antworten zum Basiswissen ausführlich behandelt. Danke für das Feedback :)

  • @soulintent7052
    @soulintent7052 3 роки тому +1

    30:12 ich verstehe die Linien nicht so ganz: wieso haben diese mal eine negative und ein anderes mal eine positive Gewichtung? Werden da etwa alle Kombinationsmöglichkeiten geprüft und diese Darstellung im Video ist vereinfacht? Eine andere frage: Wissen sie vielleicht, wo man Daten für neuronale Netze herkriegt? Weil normalerweise beschäftigt man sich mit den Daten des Unternehmens, wenn man z.B. Neuronale Netze programmiert, daher wo kriegt man die Daten, falls man seine Bachelorarbeit nicht in einem Unternehmen schreibt? Wissen Sie da mehr? Ich wäre Ihnen sehr dankbar für bestimmte Quellen an dieser Stelle.
    Bei 40:02 ist die Fehlerrate nicht richtig berechnet worden, denn 0,5 + 0,75 + (- 0,25) + 1,75 = 2,75 und nicht 2,30. Wobei ich mich an der Stelle auch frage, warum 1,75 nicht negativ ist, denn wir betrachten ja die Abweichung von der 1 und wenn 1 unser Soll Zustand ist und wir -0,75 als Ist Zustand kriegen, dann befinden wir uns (im Koordinatensystem betrachtet) zu weit links, also -1,75 Einheiten von der 1 entfernt. Aber auch da stelle ich mir die Frage, muss das alles nicht in Betrag sein? Weil für den Fehler ist es doch unerheblich, ob man vom Ist Zustand zu weit links oder zu weit rechts liegt, man addiert am Ende doch die Beträge und versucht dann das Ganze auf 0 zu optimieren? Das ganze mit Vorzeichen zu betrachten wäre ein Fehler, wie das folgende Beispiel zeigt:
    Beispiel: Soll 0 und Ist -0,5 (erste Zeile), dann Soll 0 und Ist 0,5 (zweite Zeile). Wir addieren jetzt (wie in diesem Video) die Differenzen und erhalten -0,5 + 0,5 = 0, was so viel bedeuten würde wie "wir haben das optimale Ergebnis", was so nicht stimmt. Hätten wir dazu in Beträgen gerechnet, dann hätten wir 0,5 + 0,5 = 1 und 1 ist nicht 0, was also zu optimieren gilt (und das stimmt, denn in beiden Zeilen ist der Ist Zustand nicht 0!).
    Edit: ok, die.5 ist nicht 0,5 sondern 0,05, dann passt die Summierung, dennoch habe ich meine Bedenken bei den Vorzeichen.
    Tipp: Es wäre cool, wenn alle wichtigen Begriffe nochmal im Video gezeigt werden. Beispiel: bei 38:07 sagen Sie da etwa "voting dates in den fully conected layers?" weil mein (technisches) English ist leider nicht so gut, so dass ich Ihnen nicht immer folgen konnte. Es wäre hilfreich, wenn die Bezeichnungen in den Grafiken nochmal zu sehen wären und wichtige Begriffe zur weiteren Vertiefung nochmals im Video eingeblendet wären (auch Beschriftungen der x und y Achse im Koordinatensystem usw.), weil so könnte man zusätzlich dem Erzählstil besser folgen und es wäre "sauberer". Auch eine Erklärung am Anfang, dass die Gewichtungen mit "Zufallsgenerator" erzeugt worden sind, würde einige Kommentare unter diesem Video ersparen und der Zusammenhang wäre bisschen klarer, weil so hat man zu viele "Warum Fragen" im Kopf (warum Zufallszahlen? Warum Zufallsgenerator? Was ist die Erklärung für negative und positive Gewichtungen? Warum summiert man? Warum multipliziert man mit den Gewichten? u.v.m.), so dass die Vorgehensweise leider nicht schlüssig erscheint (siehe Kommentar von Horst Kaltenhauser).
    Grüße

    •  3 роки тому

      Viele interessante Fragen ;) alsooo, starten wir mal rein:
      1. Linien positiv/negativ: Korrekt, es geht um Vereinfachung. Die habe ich schlichtweg so gewählt um das Beispiel nachvollziehbar erläutern zu können. Die Werte werden initial immer vom System zufällig gewählt, dafür gibt es auch
      spezielle Bibliotheken wie z.B. cuRAND von NVIDIA um wirklich zufällige Zahlen initial zu erzeugen welche dann durch das Training verbessert werden. Ich stelle in Kürze ein Video ein, bei dem man ein eigenes Model selbst trainieren kann, da wird das nochmal in der Praxis grafisch dargestellt und wird dann sehr anschaulich.
      2. Data sets: Hier könnte man zum Beispiel auf www.kaggle.com/datasets gehen, ganz unten "Explore Public Data Sets" anwählen. Da müsste eigentlich was passendes dabei sein.
      3. Fehlerrate: Korrekt, sollte oben eigentlich .05 heißen. 10x angesehen und trotzdem einen Fehlerteufel den ich aber nicht korrigieren kann da man ein Video nur löschen und neu einstellen kann... Damit verliert man aber alle views, likes, Kommentare etc. Für das allgemeine Verständnis ist die Zahl jedoch nicht so entscheident,
      insofern kann man damit leben, hoffe ich.
      4. Vorzeichen: Hier ist zu sehe, dass der Sollwert nicht mathematisch für das neuronale Netz zur Verfügung steht! Dieser ist nur eingetragen, um uns als Menschen einen Anhaltspunkt zu geben, was die richtige Antwort wäre.
      Insofern rechnet das Netz damit auch nichts. Durch den Gradientenabstieg versucht das Netz einen Wert möglichst 0 zu bekommen; meint: Fehler = 0. Das ist natürlich theoretisch und ist meistens ein Wert nahe Null und kaum perfekt.
      In diesem Beispiel wäre der niedrigste Fehlerwert bei "Ausgefüllt" zu sehen, was aber falsch ist da wir "Horizontal" erwarten. Und wenn ich als Mensch "100%" erwarte ( = 1 ) und das System bei -0.75 rauskommt, dann bin ich im Abstand
      1,75 vom Ziel entfernt. Das kann man sicherlich noch deutlicher hervorheben, insofern danke für den Hinweis.
      5. Voting weights in fully connected layers: Das wird im Video zu den CNN's nochmal im Detail gezeigt und meint die finale Gewichtung, zu welchem Ergebnis das Netz gekommen ist.

      Ich denke seit geraumer Zeit darüber nach, einen Video zu den meist gestellten Frage zu machen. Was meinen Sie dazu? Wäre sowas hilfreich?

  • @soulintent7052
    @soulintent7052 3 роки тому +2

    Ein Gutes Video, was mir fehlt ist die Erklärung mit den Gewichtungen ab 10:12, denn wie kommen diese Gewichtungen zur Stande? Warum ist z.B. bei -0,75 eine -8 und bei 0,75 eine 5? Dahinter muss doch eine logische Erklärung sein und keine Willkür. Die Aussage "je höher der Wert, desto höher die Gewichtung" ist für mich nicht präzise genug, denn z.B. statt eine 5 könnte man auch eine 4 schreiben bei 075.
    Ich suche gerade Thema für Bachelorarbeit und mir wurden seitens Betreuer folgende Themen vorgeschlagen: 1) Backpropagation-Algorithmus, 2) Feed Forward Neural Networks, 3) MNIST-Datenbank (Handgeschriebene Ziffern). Hätten Sie da gute Bücher oder UA-cam Videos (auf dem Niveau, wie es hier erklärt wird) zur weiteren Vertiefung (am Besten auf Deutsch)?
    PS: ein Vektor enthält Zahlen und ist keine Ansammlung von Zahlen. Im allgemeinen Sinn versteht man in der linearen Algebra unter einem Vektor ein Element eines Vektorraums, das heißt ein Objekt, das zu anderen Vektoren addiert und mit Zahlen, die als Skalare bezeichnet werden, multipliziert werden kann.
    Like und Abo gehen raus!
    Grüße

    •  3 роки тому

      Hallo und Danke für Like und Abo :) Tatsächlich sind die Zahlen bei Beginn des Trainings willkürlich vom Framework gesetzt. Ich drehe übrigens gerade ein Video wie man KI-Modelle selbst trainieren kann, da kann man das auch gut sehen. Der Graph zeigt dabei am Anfang einen signifikanten Loss an, das heißt das Modell würde zu dem Zeitpunkt noch nicht wirklich was erkennen. Im Laufe des Trainings werden die Werte mittels Backprop weiter optimimiert und somit immer besser. Und tatsächlich ist genau das ein Problem hinsichtlich des Verständnisses WARUM die Werte genau so und nicht anders sind. Da beschäftigen sich aktuell Wissenschaftler damit, dass erklärbar zu machen (explainable AI). Wenn z.B. ein autonomes Fahrzeug einen Unfall baut, dann will man wissen, warum. Und das ist aktuell ein Problem. Insofern ist das nicht wirklich erklärbar. Wer das als erster schaftt, dürfte sich zur Ruhe setzen können da es zig Probleme der KI auf einmal lösen würde. Zurück zu den Werten: Die zufällige Initialisierung ist so wichtig, dass beispielsweise NVIDIA Bibliotheken für die wirklich(!) zufällige Generierung dieser Zaheln zur Verfügung stellt Normale RND (randomize) Funktionen sind da nicht ausreichend. Das mit dem Vektor stimmt natürlich, ich habe das sicherlich etwas flapsig formuliert. Habe ich auch später erst gemerkt, aber man kann ein eingestelltes Video nicht nachträglich ändern. Ich nehme das in die Beschreibung mit auf, nochmal Danke für den Hinweis. Als Quellen nutze ich persönlich gerne medium (als tägliches Newspaper, sozusagen, einfach mal im Suchfeld nach z.B. backprop suchen) das kostet zwar eine kleine Gebühr pro Jahr ist aber sehr gut m.M.n. oder kaggle. Auch Google hat sehr gute Infos im Bereich tensorflow oder auch opencv org. Hoffe das hilft etwas weiter.

  • @apenrad
    @apenrad 11 місяців тому

    Da ich Softwareentwickler bin, hätten mich die Frameworks etwas stärker interessiert.
    Welche gibt es und in welcher Programmiersprache?

  • @katze_ksb
    @katze_ksb Рік тому

    Schönes Video, vielen Dank!! Leider ist die mathematisch auch nicht übliche Darstellung ohne die Nullen vor der Dezimalstelle sehr verwirrend.

  • @intelligenz
    @intelligenz Рік тому +1

    In Minute 50 erscheint ganz unten die Gleichung dy/dw1 = dy/dw1 * de/dy. Müsste nicht das dy im Zähler links des Gleichzeichens eigentlich ein de sein?

    •  Рік тому

      Das stimmt. Leider ein Tippfehler, daher habe ich den Video "Fragen und Antworten - Basiswissen Neuronale Netze" als Ergänzung dazu gemacht. Dort habe ich das korrigiert und auch weitere Fragen und Antworten berücksichtigt.

  • @Jatzuac
    @Jatzuac 4 роки тому +2

    gutes video vielen dank, aber es wäre besser fürs verständnis, nicht ständig zu erwähnen warum und weshalb das alles vereinfacht ist, das wirft einen gefühlt alle 5 min aus der aufnahmephase und der konzentration, wenn doch nur wissen will wies weiter geht :D aber ansonsten super

    •  4 роки тому

      Vielen Dank für den Hinweis und das Feedback.

  • @MrJoeDone
    @MrJoeDone 3 роки тому

    Ein sehr gutes professionelles Video, aber da fällt dann der Fehler bei. 1:00:23 um so mehr auf
    Minima ist der Plural von Minimum
    es ist also "Ein Minimum", "Globales Minimum", "Falsches Minimum"

    •  3 роки тому

      Tatsächlich habe ich den Begriff 'Minima' bewußt gewählt. Sicherlich ist es korrekt von 'Minimun' zu sprechen, solange es sich um ein (1) Neuronales Netz handelt. Gleichwohl wollte ich ausdrücken, daß komplexere Netze (beispielsweise bei YOLO) mit unterschiedlichen, verschachtelten Netzen arbeiten von denen jede ihr eigenes Globales Minimum als Ausgabe und Übergang in die nächste Schicht bzw. das nöächste Netz erzeugt. Somit habe ich, je nach Aufbau natürlich determinierend, "multiple Globale Minimum's" = Globale Minima. Das 'Falsche Minima' heißt so. da es letztlich ein lokales Minimum ist von dem es aber mehrere gibt, auch in einem Netz. Denn hier werden die Nachbarwerte betrachtet und das sind natürlich auch Werte z.B. auf der linken Seite des Graphen (was jedoch nicht eingezeichnet wurde) Danke für den Hinweis, dass kann man sicherlich noch stärker betonen.

    • @MrJoeDone
      @MrJoeDone 3 роки тому

      @ ah das war die Überlegung dahinter. Es bleibt aber auch so sprachlich falsch. "Das" oder "Ein" sagen ganz klar dass es Wort im Singular folgt.
      Das wäre sonst so, als würde man "Ein Videos" oder "das falsche Videos" sagen. Auch wenn es an sich mehrere gibt spricht man gerade doch von einem.

    • @MrJoeDone
      @MrJoeDone 3 роки тому

      Oder alternativ müsste man eben die Minima sagen, wenn das das ist was man ausdrücken möchte

  • @norberthuber1747
    @norberthuber1747 2 роки тому +1

    9:46 Woher kommt die Gewichtung in dem Beispiel auf einmal?

    •  2 роки тому

      Die ist willkürlich und dient zur Verdeutlichung des Grundprinzips. Tatsächlich ist der wirkliche Grund für die Gewichtung meistens unbekannt. Es gibt dazu ein eigenes Forschungsgebiet namens "Explainable AI" um genau das möglichst gut zu verstehen. Tatsächlich ist das heute bislang nicht möglich; Entscheidungen der KI sind nach wie vor eine Blackbox. Das liegt auch an den mittlerweile über 500 Mrd und mehr Parametern die zwischen den Schichten laufen. Man weiß, was reingeht und was rauskommt aber nicht wirklich was dazwischen passiert. Genau deshalb sind auch Forschungen zu selbstfahrenden Fahrzeugen und anderen komplexen Themen so aufwändig weil niemand eine Fehlentscheidung akzeptieren bzw. in den allermeisten Fällen technisch verstehen würde. Daher habe ich in meinem Video Grundannahmen willkürlich getroffen um ein Grundverständnis zu ermöglichen.

  • @wattdenn01
    @wattdenn01 2 роки тому +1

    Woher kenne ich meine Fehlerfunktion (in Ihrem Fall die Quadrat Funktion ) ?

    •  2 роки тому

      Die Fehlerfunktion wird in aller Regel bei der Entwicklung des Frameworks und damit auch der Neuronalen Netze definiert und ist abhängig davon, für was später entwickelt und trainiert werden soll, zum Beispiel Sprach-, oder Bild- oder sonstige Erkennungen. Hier geht natürlich enormer Aufwand rein da dies komplexer, mathematischer Regeln Bedarf. Und weil das so ist, haben Firmen wie z.B. Google und andere einen ganzen Stab an Forschern, die sich damit beschäftigen. Die gute Nachricht dabei ist : Solange man vorhandene und entwickelte Frameworks (Tensorflow, Yolo etc.) benutzt, greift man automatisch auf das fertig implementierte mathematische Wissen zurück und kann sich voll und ganz auf den Anwendungsfall konzentrieren. In dem Moment, in dem man selbst ein solches System von Grund auf entwickeln möchte (oder die Firma für die ab arbeitet), muss man sich natürlich auch Gedanken darüber machen. In den meisten Fällen ist das glücklicherweise nicht notwendig. In dem Video habe ich diese eher einfache Fehlerfunktion gewählt um den Sinn und Zweck einer solchen zu verdeutlichen.

    • @wattdenn01
      @wattdenn01 2 роки тому

      @ Vielen Dank für die Infos

  • @dragon_long7213
    @dragon_long7213 3 роки тому +1

    Schade, ab min. 11:10 bin ich bezüglich der Gewichtung ausgestiegen, weil ich die Vergabewerte der Werte bei der Gewichtung nicht nachvollziehen konnte. Beispiel: Wie kommt es zu den definierten Werten von .2 für .50, zu 0.0 bei 0.0 zu -.8 für -.75 und .5 für .75? Wie werden die Größen dieser Werte festgelegt? Ich erkenne darin kein logisches Muster, beziehungsweise keine mathematischen entsprechende Beziehungen zueinander im Gesamtbild. Ich muss hinzufügen, dass ich absoluter Neueinsteiger bin und mir eventuell Basiswissen fehlt. Diese evtl. vorhandene Lücke würde ich gerne füllen.

    •  3 роки тому +3

      Guten Morgen und danke für die Frage. Bei der KI kennt man prinzipiell das, was reinkommt und das, was rauskommt. Was dazwischen passiert, entzieht sich mehr oder weniger weitgehend unserer Kenntnis. Das ist natürlich auch ein Problem da man zum Beispiel bei einem Unfall mit einem durch KI gesteuerten selbstfahrenden Fahrzeug die Ursache analysieren muss und das ist derzeit nicht ohne weiteres möglich. Mit diesem Thema beschäftigt sich daher übrigens sogar ein eigener Forschungsbereich der sich mit Explainable AI - Erklärbare KI beschäftigt. Insofern sind diese Werte auch tatsächlich nicht nachvollziehbar und dienen ausschließlich einem grundsätzlichen Verständnis, wie eine KI / Machine Learning grundsätzlich vorgeht: Aus einem (für uns bekannten) Input (z.B. ein Bild) werden einzelnen Informationen extrahiert (Beim Bild die Pixel) und bei deren Analyse zunächst ZUFÄLLIGE Werte erzeugt. Dieses ist so wichtig, dass sogar Hersteller wie NVIDIA (Trainings werden häufig mit GPU's der Grafikkarten durchgeführt siehe mein Video über die V100) dazu eigene, sogenannte Bibliotheken geschrieben haben die "echte" Zufallszahlen produzieren da auch das bei einem Standard-PC ansonsten nicht unbedingt gewährleistet ist. Das Training besteht nun darin, dass die KI diese Werte von Schicht zu Schicht anpasst bis ein Wert entsteht, der dem gewünschten Ergebnis nahekommt. Vereinfachtes Beispiel: Ich habe 100.000 Bilder von Autos und "sage" dem System, hier sind Autos und ein Auto entspricht dem Wert z.B. 0.88. Dann wäre das übrigens ein Supervised-Training, dass heißt ich gebe Frage und Ergebnis vor. Das System erzeugt also dann erstmal ein paar zufällige Zahlen und passt die solange vorwärts und rückwärts (sog. Backpropagation) an, bis der gewünschte Wert halbwegs präzise rauskommt. Das müssen nicht in unserem Beispiel exakt 0.88 sein, auch 0.82 oder 0.94 wären möglicherweise gut genug. Das machen wir für die 100.000 Bilder und die vom System durchegführten Schritte und Werte werden in einem sogenannten Trainierten Modell gespeichert. Der Witz ist jetzt: Nehmen wir jetzt zur Erkennung ein Bild eines Autos, welches wir nicht trainiert haben und auch dem System NICHT sagen, dass es sich um ein Auto handelt, dann kann die KI trotzdem aufgrund der gelernten Werte sagen, dass es sich mit hoher Wahrscheinlichkeit um ein Auto handelt. Das ist auch wichtig, da zum Beispiel bei einem selbstfahrenden Fahrzeug ein umgestürzter Baum über der Strasse erkannt werden muss und es gleichzeitig unmöglich wäre alle Bäume auf dieser Welt in einem System zu trainieren. Insofern dient der Video letztlich einem grundsätzlichen Verständnis darüber WIE eine KI sowas angeht und weniger, WARUM genau dieser oder jener Wert entsteht, denn das, wie gesagt, können wir derzeit noch gar nicht nachvollziehen. Ich hoffe, etwas Klarheit in das Thema gebracht zu haben, ansonsten nochmal nachfragen :) Gutes 2021, Udo

    • @marieforgotten7394
      @marieforgotten7394 2 роки тому +1

      @ Vielen Dank für die ausführliche Erläuterung, hat mir bei dem besseren Verständnis sehr geholfen.

    •  2 роки тому

      @@marieforgotten7394 Das freut mich, ich würde auf jeden Fall auch noch empfehlen, dass Ergänzungsvideo dazu m.ua-cam.com/video/I7Sx8YJ7uUo/v-deo.html (Fragen und Antworten zum Basiswissen Neuronale Netze) anzusehen. :) Hier wurden Anmerkungen zum Video beantwortet und auf den ein oder anderen Bug eingegangen, der sich eingeschlichen hatte.

  • @mv722
    @mv722 3 роки тому

    Ich verstehe noch nicht ganz die Bewertung der Neuronen. Warum wird beispielsweise im 1st Layer das Unterste schwarze Neuron einmal positiv und einmal negativ bewertet?

    •  3 роки тому +1

      Danke für Deine Frage. Das liegt an der Gewichtung welche den Wert des Neurons beeinflusst. Also nicht nur das Neuron selbst hat einen Wert sondern bildet dieses Wert anhand der Verbindung. Ist diese negativ, wird auch das Neuron negativ. Bitte beachten: Alles Werte sind angenommen, um die grundsätzliche Funktionsweise darzustellen. In Wirklichkeit werden diese initial zufällig generiert und dann optimiert, bis das gewünschte Ergebnis erzielt wird. Dazu hat z.B. auch NVIDIA eigene Bibliotheken entwickelt, welche diese Werte zufällig erzeugen kann, da "zufällig" bei einem Computer meistens nicht wirklich zufällig ist. Das ist aber bei der Initialisierung einer KI entscheidend. Ich hoffe, dass die Antwort weiter hilft, ansonsten gerne nochmal antriggern. Beste Grüsse, Udo

    • @mv722
      @mv722 3 роки тому

      @ vielen Dank, und super Videos! Ich würde mich wahnsinnig freuen, wenn du eventuell mal Videos hochlädst, in denen du die Mathematik, die hinter KI steckt mal erklärst. Weiter so!

  • @Kate-cx5bl
    @Kate-cx5bl 2 роки тому +1

    Wie speichern neuronale netzwerke das gelernte ab, in code? kann man das dann einsehen?

    •  2 роки тому +1

      In Zahlen. Und zwar ziemlich viele. In den Codebeispielen zu diesem Kanal unter wiegehtki.dev werden auch solche Modelle (eigentlich engl. Models) erzeugt oder bereits vortrainierte runter geladen; beispielsweise bei der Gescihtserkennung mit Zoneminder. Da wird im einfachen Fall eine faces.dat erzeugt, interessanter sind die Modelle von YOLO, die dort auch runter geladen werden. Ein Modell ist quasi das Gelernte, mit dem sich die Software bei der Bewertung unbekannter Daten "schlau" macht bzw. während des Trainings die z.B. Inhalte der Neuronen in Bezug zu den trainierten Daten speichert. Hier noch ein Beispiel, wie man das unter Tensorflow macht, das aktuell m.M.n. führende Framework: www.tensorflow.org/tutorials/keras/save_and_load
      Tatsächlich kann man als Mensch damit nichts anfangen. Genau das ist auch das Problem: Man weiß nicht, warum eine KI später anhand der Zahlen so und nicht anders entschieden hat. Daran wird aktuell geforscht (Explainable AI)

    • @Kate-cx5bl
      @Kate-cx5bl 2 роки тому +1

      @ DANKE, Shifu !!!!

    • @Kate-cx5bl
      @Kate-cx5bl 2 роки тому +1

      @ Explainable AI ... ;-)
      ein Freund, der Mathematik und AI studiert hatte, meinte: Man sollte AI in Computational Statistics umbenennen. Dann bekäme das Thema weniger resp adäquate Aufmerksamkeit ;-)

    • @Kate-cx5bl
      @Kate-cx5bl 2 роки тому +1

      @ Oh und danke für deine Ausführungen. Sehr hilfreich!!

    •  2 роки тому

      @@Kate-cx5bl Sehr gerne!

  • @user-vb6df9jr7f
    @user-vb6df9jr7f 3 місяці тому

    Weil Du Hinweise haben möchtest. Bei 1:01:10 sprichst Du von vom "falschen Minima" und "globalen Minima". Ich würde vom lokalen Minimum und globalen Minimum sprechen. Minima ist der Plural von Singular Minimum.

  • @Sim0000n
    @Sim0000n 3 роки тому +1

    Müsste es bei 12:00 nicht 0,325 sein?

    •  3 роки тому

      Hatte ich nicht darauf geantwortet? Habe den Kommentar gerade ohne Feedback gesehen, sorry fur die späte Antwort. Aus meiner Sicht stimmt das, auch extra nochmal nachgerechnet. Ich habe übrigens einen Ergänzungsvideo zum Basiswissen gemacht, da sich der ein oder andere Bug eingeschlichen hatte...

  • @tomchenkov4910
    @tomchenkov4910 Рік тому +1

    Man muss dazu natürlich sagen, dass Neuronale Netzwerke in der Realität deutlich komplexer sind als im Video dargestellt.

    •  Рік тому +1

      Exakt, und zwar deutlich. Tatsächlich soll diese Reihe auch eher die prinzipiellen Mechanismen aufzeigen, möglichst leicht nachvollziehbar.

  • @danielbreul1613
    @danielbreul1613 Рік тому

    Meiner Meinung nach sehr unverständlich. Obwohl ich die Englische Sprache nicht sehr gut beherrsche, hat die Serie von 3Blue1Brown weit mehr Verständnis gebracht als dieses Video. Der Unterschied ist, dass direkt von Anfang an erklärt wird, WIE es nun wirklich funktioniert. Wenn man immer wieder hört "Das ist jetzt aber nur eine Vereinfachung" dann fragt man sich auch immer "ja wie ist es denn jetzt wirklich?" - Auch die Animationen tragen zum Verändnis bei: ua-cam.com/play/PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi.html

  • @alexich963
    @alexich963 2 роки тому

    Für meinen geschmack wird zu oft erklärt, dass 1 mal 0 null ergibt. Und interessantes wie der Grund für die Gewichtung wird nicht erklärt.

    •  2 роки тому +2

      Der Grund für die Gewichtung ist meistens unbekannt. Es gibt dazu ein eigenes Forschungsgebiet namens "Explainable AI" um genau das möglichst gut zu verstehen. Tatsächlich ist das heute bislang nicht möglich; Entscheidungen der KI sind nach wie vor eine Blackbox. Das liegt auch an den mittlerweile über 500 Mrd und mehr Parametern die zwischen den Schichten laufen. Genau deshalb sind auch Forschungen zu selbstfahrenden Fahrzeugen und anderen komplexen Themen so aufwändig weil niemand eine Fehlentscheidung akzeptieren bzw. in den allermeisten Fällen technisch verstehen würde. Daher habe ich in meinem Video Grundannahmen willkürlich getroffen um ein Grundverständnis zu ermöglichen.

  • @garciafons1166
    @garciafons1166 3 роки тому

    Und bitte, bitte, bitte - für den Fall, dass Sie das Wort noch in zukünftigen Videos brauchen: Der Singular von Minima ist Minimum!

    •  3 роки тому

      Das stimmt zwar in Bezug auf die Schreibweise aber in dem dargestellten Sachverhalt ist es tatsächlich so, dass es bei einem Gradientemabstieg mehrere Lokale "Minimums" = somit Lokale Minima gibt. Das liegt einfach in der Natur der Sache da ein lokales Minumum nur in der näheren Umgebung bestätigt werden kann jedoch nicht über den gesamten Gradientenabstieg. Da gibt es mehrere und somit: Minima. Bei Interesse: www.neuronalesnetz.de/backpropagation5.html
      Zitiert: "Lokale Minima: Man weiß beim Gradientenabstiegsverfahren nie, ob man nach der Durchführung ein lokales oder absolutes Minimum gefunden hat. Dieses Problem tritt verstärkt bei höherer Dimension des Netzes (= Anzahl der Verbindungen zwischen den Neuronen) auf. Eine höhere Dimension führt dazu, dass die Hyperebene des Fehlerterms stärker zerklüftet und sich somit die Anzahl der lokalen Minima erhöht."
      Zu dem Thema gab es auch mal ein sehr vortreffliches Video dazu, welches das mathematisch sehr genau erläutert hat. Leider habe ich den Link nicht mehr parat. Bei den Globalen ist es übrigens ähnlich, streng genommen habe ich auch eine Vielzahl davon ; insbesondere auch bei unterschiedlichen Netztypen wie z.B. YOLO bei denen das bewusst kombinbiert wird um die Robustheit zu erhöhen.

  • @tobiaskarl4939
    @tobiaskarl4939 2 місяці тому

    Ssssoftware mit ssssoftem S 😁

  • @ParalyticAngel
    @ParalyticAngel 3 роки тому

    Wenn ich das mal so sagen darf, KI steckt nicht mal in Kinderschuhen, sondern hat noch gar keine Schuhe.^^
    Die KI entscheidet gar nichts und rechnet nur im Hintergrund. Und nach Millionen Durchgängen hat sie die wahrscheinlichsten Daten ermittelt. Toll.
    Und bei jedem neuen Bild fängt der Prozess ganz von vorn an. Ergo KI lernt absolut gar nichts.^^
    Das wir es überhaupt KI benennen ist schon sehr optimistisch.

    •  3 роки тому

      Das ist prinzipiell richtig und zeigt auch, wie das Thema medial gesehen wird. Man denke beispielsweise an die allgegenwärtigen Bilder von imaginären Robotern, die menschliche Hände oder virtuelle Knöpfe berühren... Letztlich ist es derzeit Mathematik und Statistik, gleichwohl faszinierend, welche Ergebnisse da herauskommen können. Wir haben beispielsweise ein System trainiert, welches Veränderungen im Auge mit 90+% Wahrscheinlichkeit früher erkennen kann als ein versierter Arzt. Wenn man das kombiniert und dem Arzt ein solches System als weiteres Instrument an die Hand gibt, können Diagnosen und Behandlungen sehr viel früher durchgeführt werden. Für "echte KI" fehlen auch derzeit noch notwendige Technologien wie beispielsweise Prozessoren, welche sich je nach Bedarf selbst optimieren können usw. Daher ist der Fokus aktuell eher auf Rechenpower, siehe GPU. Aber angesichts der weltweiten Investitionen in das Thema wird die weitere Entwicklung ziemlich rasant voran schreiten. Man darf gespannt sein.

    • @ParalyticAngel
      @ParalyticAngel 3 роки тому

      @
      Zu allererst möchte ich noch sagen das Ihr Video wirklich informativ ist und bedanke mich bei Ihnen für Ihre super Arbeit.
      Sie haben die Funktionsweise schon sehr verständlich geschildert, sodass man hinter die Kulissen der KI schauen kann und auch Leien wie mich es ersehen können.
      Ich interessieren mich für das Thema KI und generell interessiert mich Wissenschaft und Hightech.
      Es ist faszinierend wie der Mensch eben neue wissenschaftliche Erkenntnisse in die Technik und den Fortschritt einbettet und warum es sich lohnt natürliche, unfehlbare Prozesse für eine Technik so zu beeinflussen, das wir einen entscheidenden Nutzen daraus ziehen können.
      Das mit den Augen und der KI war mir schon bekannt und es freut mich zu Hören das auch Sie es für eine geniale Sache halten.
      Medizin ist generell ein perfekter Einsatzort für die KI. Auch in Zukunft, wenn wir komplexere KI's haben, wird die Medizin ein essentieller Einsatzort bleiben und es wird vieles verändern.
      Neuerdings hat man angefangen die KI auch ins SETI-Programm einzubinden und dies ist auch ein genialer Einsatzort, wie ich finde.
      Keine Ahnung ob wir es schaffen werden Quantencomputer wirklich 100% treffsicher hinzukriegen doch mit Sicherheit werden wir nicht aufhören weiter zu machen.
      Auch mit Licht wird experimentiert, sich eben NICHT aufwärmende CPU's zu gestalten die weitaus mehr Geschwindigkeit als gängige CPU's verzeichnen werden.
      Und in Sachen KI gibt es viele sehr unterschiedliche Studien an denen erfolgsversprechend getüftelt wird.
      Unter anderem mit dieser Schleimkreatur (dessen Namen ich vergessen hab), welches tatsächlich Entscheidung fällt, Erinnerungen hat und auch nach ihrer Teilung, ihr Bewusstsein an neue Generationen weitergeben kann. Sehr faszinierend.
      Also wenn wir KI mit Verstand und Bewusstsein bauen wollen, denke ich das wir dieses Wesen mit einbinden müssen.
      Tja, die Zukunft wird auf jeden Fall interessant.

  • @sadou431
    @sadou431 3 роки тому

    Gott ist eine ki bitte alle einmal anschauen

    • @sadou431
      @sadou431 3 роки тому

      Einfach auf suche drücken

  • @passamaquoddy8311
    @passamaquoddy8311 3 роки тому +1

    Auweiha!
    "Ein Vektor ist nichts anderes als ein Haufen Zahlen"
    Ich glaub ich spinne?!?!

  • @siegfrieddyroff9898
    @siegfrieddyroff9898 6 місяців тому

    Das begreift kein Mensch !!

    •  6 місяців тому

      Ich habe nie behauptet, das es einfach ist ;)