Neuronale Netze [010] - Delta Lernregel Brotcrunsher https://www.youtube.com/watch?v=4E4GhVREXBg Transkript (automatisch erstellt) 0:00 halli hallo eine weitere episode meines neuronalen netze tutorials in dieser episode schauen wir uns die sogenannte delta lernen regel als erster lern 0:07 algorithmus den wir hier besprechen werden das ganze ist super weiß learning das heißt wir brauchen eine soll ausgabe wird in der regel eher im inkrementell 0:17 earning angewandt also nach jedem einzelnen input findet eine gewichts anpassung stadt man kann das auch als batch learning implementieren kommt dann 0:25 auf den konkreten fall an da gibt es nicht mehr allgemeine aussage die man treffen kann was von beidem besser muss man im jeweiligen fall einfach mal 0:33 gucken diese delta lernen regel funktioniert zunächst mal nur ohne hätten neuronen das heißt wir haben ein ganz einfaches 0:40 neuronales netz mit einer input schicht und eine output schicht können in jeder schicht beliebt viele seien also wir brauchen nicht nur einen output oder so 0:47 wir können auch fünf outputs haben und 20 inputs spielt überhaupt keine rolle für diesen diesem fall hier aber eben keine hütten neuronen wir gucken uns 0:57 dann später noch eine erweiterung von diesem algorithmus an die dann auch hinten neuronen zuletzt aber zunächst mal tun wir so als ob es diesen neuronen 1:05 gar nicht gab so und dann springen wir einfach mal direkt rein in diese delta lernen regel vorsicht jetzt nicht erschrecken ich fange direkt mal mit 1:12 einer formel an zieht vielleicht zunächst mal bisschen erschreckend aus aber ich werde euch jeden einzelnen teil dieser formel hier durchgehend so wir 1:22 haben hier offensichtlich eine gleichung das heißt wir haben einen linken seitenteil von dieser gleichung und einen rechten teil 1:28 wir gucken uns zunächst mal nur den linken teil von dieser gleichung an und davon war annika was ist eigentlich i k & k s sind zwei unterschiedliche 1:37 neuronen das war's schon also dieses ii und dieses karte sind zwei neuronen in unserem neuronalen netz und wir nennen die beiden eben ii und kann so das ist 1:47 also relativ einfach gewesen dann wäre das ist ein weight also ein gewicht in unserem neuronalen netz und zwar welches gewicht naja das gewicht zwischen e- und 1:58 k und hier ist die notation leider ein bisschen schlecht gewählt meiner meinung nach danny und k ist anders rum als man es 2:08 vielleicht vermuten würde also mir geht es zumindest so dass ich vermutet hätte das ida input und output ist es aber genau andersherum 2:17 also wir gehen immer vom output aus also ist unser output neuronen und k ist unser input neuronen warum ich das hier jetzt so rom präsentiert hat einen ganz 2:27 einfachen grund das ist in der literatur und auch wenn er irgendwelche paper über dieses ganze thema lässt immer die notation die eigentlich gewählt wird es 2:35 gibt ein paar online ressourcen die wir es anders machen aber die haben dann vor allem auch mit der wissenschaftlichen mit dem wissenschaftlichen der konnten 2:43 eigentlich nicht mehr so viel zu tun also diese notation die ich hier präsentiere und das ist die wie es in einer in der welt von denen leuten die 2:53 da wirklich ahnung haben eigentlich immer gemacht wird von dem er ja müsst ihr halt leider damit leben so also wk ist das gewicht zwischen dem output 3:03 neuronen und im input neuronen k so und dann ist hier aber noch ein zeichen und das ist ein großes delta groß stellte bedeutet in der mathematik und in der 3:15 physik und jetzt auch bei den neuronalen netzen immer okay da er findet eine werte änderung statt das heißt wir haben schon irgendein 3:23 gewicht wk und das was wir hier raus bekommen dass es nicht der neue wert sondern dass es eine änderung von diesem ursprünglichen wert das heißt dieses 3:33 delta wk jetzt kann man das gesamte angucken dieses delta weg hat das was wir hier raus bekommen dass es der änderungs wert von diesen euro von von 3:43 diesem gewicht zwischen den beiden neuronen und k ok dazu haben wir schon wenigstens mal was wir überhaupt raus bekommen von dieser ganzen gleichung wir 3:53 haben also den linken teil hier geklärt gucken wir uns den rechten teil auch an das wird hier sind drei sachen die hier alle miteinander multipliziert werden 4:02 also diese sternchen einfach ganz normale multiplikationen und da handelt es sich bei dem drei werden hier auch um ganz normale zahlen 4:09 also das sind jetzt nicht irgendwelche vektoren oder weiß was ich war schon ganz normale stinknormale so das erste ist unser apps i lon das 4:16 ist der so genannte lernen parameter das ist ein wert zwischen 0 und 1 der selber einstellen können und der besagt wie sehr lernen wir eigentlich hier bei 4:28 diesen bei diesem bei dieser lernen regel 0 bedeutet gar nicht das heißt das macht man in der praxis eigentlich eher nicht das wäre ein bisschen sinnlos dann 4:37 kann man sich die ganze rechnung auch gleich schenken weil dann würde nichts passieren ja nun mal irgendwas mal irgendwas wir immer noch 0 4:43 deswegen er wie gesagt ein weltmann ende regel ein wert größer null und eins würde bedeuten wir passen diese verbindung also dieses gewicht exakt so 4:56 an dass unser soll raus kommt also unsere soll ausgabe wir sind ja hier im super fernen das heißt wir haben eine soll ausgabe von diesem gewicht von 5:08 diesem neuronen muss man genauer sagen und 1 würde bedeuten wir passen das genauso an das genau für dieses gewicht das rauskommt das ist in der praxis 5:19 nicht das was man will denn zwei gründe das erste ist wir haben ja mehrere gewichte die zu diesem jeweiligen neuronen führen und wenn wir 5:28 jedes von diesen gewichten so anpassen würde dass jedes einzelne von diesen gewichten genau das liefert was wir wollen 5:33 dann hätten wir ein vielfaches von dem was wir eigentlich wollen ja weil jedes einzelne gewicht ja wieder sozusagen miteinander addiert wird 5:41 damit wird den output von unserem neuron haben ok dann könnten wir jetzt annehmen okay dann wählt man eben nicht eins sondern eins geteilt durch der anzahl 5:51 der verbindungen die zu unserem neuronen hier führen das ist aber auch falsch denn dann würde man in der regel das ist falsch es kommt 6:01 auf den konkreten fall auch wieder an aber in der regel würde man dann das was wir vorher schon mal gelernt haben wieder zunichte machen so für dieses app 6:11 seeon gibt es ein paar faustregeln wie man benutzen kann ich würde einfach mal mit irgendeinem zahlen wer hat einfach anfangen zum 6:19 beispiel nullpunkt 1 oder soda 0,05 sowas ist in der richtung vielleicht ganz gut und dann gucken wir mal ok kommen da 6:27 vernünftige ergebnisse raus und falls nein dann oder falls ja wie auch immer passt man diesen apps i lon mal irgendwie ein bisschen an machten ein 6:36 bisschen größer macht man mal ein bisschen geringer und guckt dann auch passt besser was dabei rauskommt also das einfach ein bisschen rum spielen mit 6:42 diesem wert oder gucken wir mal was dabei dann hinten rauskommt so das ist also unser y das nächste ist unser kleinen delta ii 6:52 wir haben wieder ein delta das heißt das ist irgendein unterschied also großteil da heißt regelt das ist eine anpassung ist und klein delta heißt in der regel 7:03 das ist ein unterschied also eine differenz zwischen irgendetwas ist das ist hier in dem fall tatsächlich auch so und da öffne ich mal die nächste formel 7:11 das sollte ich kurz darauf eingehen was ist es aktivierungs level von unserem neuronen ii das heißt das was uns zur euro ausgibt 7:23 ja und da haben wir ja einen sollwert also das wasser raus kommen soll und wir haben einen istwerte lassen einfach testen input reiz einmal auf 7:34 unsere neuronales netz drauf und gucken was kommt da hinten dann raus bei den einzelnen output neuronen und da haben wir dann einen ist wert und dieses klein 7:44 delta ii ist einfach nur die differenz zwischen den beiden also der fehler so zu sagen wie groß ist der fehler momentan in die eine oder andere 7:52 richtung so und das letzte unser aka haben wir schon gesehen dass es das aktivierungs level und zwar ist das a kk war ja unser input neuronen und das ist 8:04 der der das aktivierungs level von unserem input neuronen okay dann machen wir mal ein konkretes zahlenbeispiel dafür habe ich mir jetzt mal dieses 8:13 neuronale netze ausgedacht das sind also drei input neuronen einen output maron und hier sind gewichte die ich zufällig irgendwie gewählt habe das macht man 8:21 übrigens auch in der praxis so für den initialen zustand von so einem neuronalen netz werden in der regel zufällige gewichte einfach genommen und 8:28 dann wird gelernt und aus diesen zufälligen gewichten wird dann etwas vernünftiges nach und nach gebildet so und da habe ich jetzt auch 8:35 mal einen input nämlich 10 - 5 und 7 und einen zoll output das ist also in diesem fall hier die zwei diese zahlen sind auch wieder komplett aus der luft 8:45 gegriffen aber es ist jetzt einfach mal ein abstraktes beispiel wie man diese delta lernen regeln anwenden kann ok dann 8:52 rechnen wir zunächst mal den output ihr aussenden wir den input einfach mal auf dem weg multiplizieren das jeweils mit den gewichten hier und addieren das dann 9:02 zusammen und kommen dann auf den wert hier am ende von 3,1 okay wir sind also zu hoch mit anderen worten dann können wir mit den fehler bereichen also das 9:11 kleine delta ii das war ja soll - ist also mit anderen worten 2 - diese 3,1 und da kommen wir dann als auf den wert minus 1,1 so damit habe ich schon mal 9:24 den ersten faktor von unserer delta lernen regel hier bestimmt der nächste faktor dass es ja dieses y und verlernt parameter den setze ich jetzt einfach 9:32 mal auf 0,01 zum beispiel wie gesagt da muss man in der praxis dann ein bisschen rum experimentieren was für das jeweilige problem hier richtig ist ich 9:41 habe nur 0 1 durch tests einfach mal bestimmt das ist ganz in ordnung wohl für dieses problem hier so und dann können wir hier das war ja die 9:50 ursprüngliche regel also dieses diese gewichts anpassung das y das haben wir 2001 das delta klein delta ii haben wir auch ins minus 1,1 und sak war ja der 10:01 jeweilige aktivierungs level von dem input neun monate in dem ersten fall ihr wäre dass die zehn kann man einfach mal diese zahlen hier einsetzen also 0.01 10:10 mal minus 1,1 mal zehn wäre dann in diesem fall minus 0,11 und genau so können wir mit den anderen gewichten her auch vorgehen also wir 10:20 rechnen hier fürs zweite dass es dann 0,055 und fürs letzte ist minus 0,77 und diese gewichts anpassung die addieren wir jetzt einfach mal auf dieser 10:34 unterschiedlichen gewichte und das ganze sieht dann zb so aus aus dem ersten gewicht ist dann also 049 geworden aus dem nächsten 10 355 und aus dem letzten 10:44 es - 0 277 geworden so und in der praxis müssten wir jetzt den nächsten input reiz da drauf geben und auch bei dem 10:53 dann wieder entsprechend anpassen so wie wir machen jetzt mal weiter nur mit diesem einen input reizt es ist zwar abseits von der praxis in der praxis 11:05 will man ja mehrere daten lernen können aber wir dann jetzt einfach mal nur einen zahlenwert und rechnen hier auch wieder einfach aus was kommt denn am 11:14 ende dabei raus also wisenten dieser input werte auf dem weg multiplizieren mit den jeweiligen gewichten und addieren am ende und kommen dann auf den 11:22 wert 1,186 wir waren gerade vorhin zu hoch jetzt immer zu niedrig aber nicht mehr so viel zu niedrig wie davor zu hoch denn wir können das ganze jetzt ja 11:31 auch wieder ausrechnen und kommen dann auf einen fehler von 0,14 08 14 gerade eben waren es noch minus 1,1 das heißt der fehler hat sich im betrag im 11:44 absolut wert verringert also wir sind näher an unsere eigentlichen soll rangekommen als davor so und das kann man jetzt noch beliebig 11:54 häufig wiederholen ich habe das zum beispiel hier jetzt einfach mal 200 mal wiederholt und bin dann in diesem fall auf diese werte hier gekommen dass 12:01 natürlich jetzt kommt zahlen die für uns menschen nicht mehr so leicht sind aber führt die maschine für ein computer ist ja vollkommen irrelevant ob wir da noch 12:09 durchblicken oder nicht deswegen wir senden das ja auch einfach wieder auf den weg multiplizieren das jeweils miteinander und kommen dann hier auf 12:18 diesen wert ist es dann 200 000 118 also wir sind sehr sehr dicht bei diesem soll wert angekommen und haben entsprechend jetzt diesen input 13 lernt jetzt aber 12:31 vorsicht jetzt nicht so schnell schießen und sagen okay und zu lernen war erfolgreich denn wir müssten ja jetzt in der praxis noch hergehen und das ganze 12:39 wirklich testen mit testdaten die das neuronale netz vorher noch nie gesehen hat und erst dann zeigt sich ob wir tatsächlich erfolgreich waren bei diesem 12:48 namen wie hier können wir jetzt zunächst mal nur sagen okay das neuronale netz hat dies bereits gelernt mehr können wir nicht sagen wir können nicht sagen hat 12:56 es gut generalisiert auf anders felle und so weiter und so fort in der praxis hätten wir zum einen noch mehrere input reize andere info 13 13:05 mit vermutlich anderen soll ausgaben und müssten dann noch mal andere in q3 zu testen ob die auch gelernt wurden obwohl sie im training selber niemals gesehen 13:16 wurden vom neuronalen netz gut das war es zu dieser episode und zu der theorie von der data lern regel ich auf sand wieder gefallen bis zum nächsten mal