Maschinelles Lernen und neuronale Netze - Seite 47

 

CS480/680 Vorlesung 8: Logistische Regression und verallgemeinerte lineare Modelle



CS480/680 Vorlesung 8: Logistische Regression und verallgemeinerte lineare Modelle

Dieser erste Teil der Vorlesung zum Thema „CS480/680: Logistische Regression und verallgemeinerte lineare Modelle“ stellt die Idee der exponentiellen Verteilungsfamilie und ihre Beziehung zur logistischen Regression vor, einer leistungsstarken Technik, die für Klassifizierungsprobleme verwendet wird. In der Vorlesung wird erklärt, dass die logistische Regression darauf abzielt, die beste logistische Funktion anzupassen, die den Posterior für einen bestimmten Datensatz modelliert, und dass bei Problemen mit wenigen Dimensionen und Gewichten die Newton-Methode verwendet werden kann, um das Minimum der Zielfunktion zu finden, die konvex ist Funktion. Der Dozent betont auch die Bedeutung der logistischen Regression in Empfehlungssystemen und bei der Anzeigenplatzierung, wobei die Einfachheit und Effizienz der Technik sie ideal für die Abgabe personalisierter Empfehlungen auf der Grundlage von Benutzereigenschaften und -verhalten macht.

Die Vorlesung behandelt auch das Thema der logistischen Regression und verallgemeinerter linearer Modelle. Der Dozent erörtert die Einschränkungen von Newtons Methode zur logistischen Regression, beispielsweise das Problem der Überanpassung durch beliebig große Gewichte und Singularitätsprobleme in der Hesse-Matrix. Um eine Überanpassung zu verhindern, wird eine Regularisierung empfohlen. Der Dozent stellt verallgemeinerte lineare Modelle (GLMs) vor, mit denen effizient mit nichtlinearen Separatoren gearbeitet werden kann. Bei GLMs werden die Eingaben einem neuen Raum zugeordnet, in dem lineare Regression und Klassifizierung auf nichtlineare Weise durchgeführt werden können, solange die Zuordnung nichtlinear ist. Die Vorlesung behandelt auch Basisfunktionen und deren Typen, die zur Durchführung nichtlinearer Regression und Klassifizierung verwendet werden können.

  • 00:00:00 In diesem Abschnitt des Videos werden in der Vorlesung die Einschränkungen des statistischen Modells für die Klassifizierung basierend auf Mischungen von Gaußschen Verteilungen erörtert, das eine Gaußsche Verteilung annimmt. Um dieser Einschränkung zu begegnen, führen sie eine breite Klasse von Verteilungen ein, die als Exponentialfamilie bekannt ist, was zur Entwicklung einer leistungsstarken und flexiblen Technik namens logistischer Regression führt. Der Vortrag greift auf die Tafel zurück, um Mischungen von Gaußschen Gleichungen zu veranschaulichen, und erklärt, dass diese Methode geeignet ist, wenn die Daten Cluster einer bestimmten Form bilden. Wenn die Daten jedoch nicht diese Form haben, muss die Annahme einer Gaußschen Verteilung gelockert werden. Die Vorlesung führt in die Idee der Exponentialverteilungsfamilie ein und erläutert ihre Bedeutung für die Entwicklung der logistischen Regression.

  • 00:05:00 In diesem Abschnitt diskutiert der Redner die Exponentialfamilie, die viele berühmte Verteilungen wie Bernoulli, Poisson und Gamma umfasst. Die Familie wird exponentiell genannt, weil die Produktdichtefunktion eine Exponentialfunktion hat und der Exponent einen linearen Term in Theta, einige Terme in X und andere Terme in Theta und X hat. Der Schlüssel zu den unterschiedlichen Verteilungen in der Familie sind die genauen Funktionen T von X, a von Theta und B von X. Das Schöne an dieser Familie ist, dass jede Verteilung darin in Form einer Sigmoid-Logistikfunktion umgeschrieben werden kann. Diese Eigenschaft ermöglicht es dem Sprecher, probabilistische Unterscheidungsmodelle einzuführen, bei denen das Ziel darin besteht, die Parameter der logistischen Funktion direkt zu schätzen, anstatt Annahmen darüber zu treffen, dass die Daten durch etwas Rauschen gestört werden, und die Parameter der zugehörigen Verteilung zu schätzen.

  • 00:10:00 In diesem Abschnitt lernen wir die logistische Regression kennen, eine Technik, die verwendet wird, um die beste logistische Funktion anzupassen oder zu finden, die den Seitenzahn für einen bestimmten Datensatz modelliert. Der Posterior folgt der Softmax-Verteilung, wenn mehrere Klassen vorhanden sind. Wir möchten anhand einiger Daten das W finden, das den Seitenzahn maximiert. Dieses Optimierungsproblem wird durch Einführung eines negativen Vorzeichens in ein Minimierungsproblem umgewandelt. Das Ziel besteht darin, das beste W zu finden, das sicherstellt, dass die Wahrscheinlichkeit der richtigen Klasse Y für die meisten Datenpunkte so hoch wie möglich ist.

  • 00:15:00 In diesem Abschnitt bespricht der Dozent die logistische Regression und wie sie für Klassifizierungsprobleme verwendet werden kann. Das Ziel besteht darin, das W zu finden, das das Subjektive minimiert. Es ist jedoch wichtig zu beachten, dass es sich bei dieser Technik, auch wenn sie als logistische Regression bezeichnet wird, in Wirklichkeit um ein Klassifizierungsproblem handelt. Die Idee ist jedoch, dass die logistische Regression eine Form der Regression ist, da wir versuchen, die A-Posteriori-Wahrscheinlichkeit der Klasse bei gegebenem X, einem numerischen Wert, abzuschätzen. Der Dozent erklärt weiter, dass zur Lösung dieses Optimierungsproblems eine iterative Methode erforderlich ist, da es keine Möglichkeit gibt, die Variable im Ausdruck in geschlossener Form zu isolieren.

  • 00:20:00 In diesem Abschnitt der Vorlesung diskutiert der Dozent den Umgang mit der nichtlinearen Gleichung in der logistischen Regression. Es zeigt sich, dass die Zielfunktion der logistischen Regression eine konvexe Funktion ist, was es einfacher macht, das globale Optimum zu finden. Der Dozent erklärt, dass iterative Methoden wie der Gradientenabstieg oder die Newton-Methode verwendet werden können, um das Minimum der Zielfunktion zu ermitteln. Der Gradientenabstieg kann zwar verwendet werden, ist jedoch nicht effizient und die Bestimmung der richtigen Schrittgröße ist schwierig. Newtons Methode ist viel schneller und erfordert weniger Schritte, was sie zu einer beliebten Wahl für die Optimierung macht.

  • 00:25:00 In diesem Abschnitt der Vorlesung diskutiert der Redner eine Methode namens Newtons Methode für die logistische Regression, die eine Verbesserung gegenüber dem Gradientenabstieg darstellt. Newtons Methode besteht darin, mit einer anfänglichen Schätzung für W zu beginnen und dann von W den Kehrwert der Hesse-Funktion multipliziert mit dem Gradienten der letzten Funktion zu subtrahieren. Diese Methode umfasst im Wesentlichen die Iteration von drei gewichteten kleinsten Quadraten und nähert sich dem Ziel mit einer quadratischen Funktion anstelle einer Linie an, was eine bessere Annäherung der Kurve und eine schnellere Konvergenz ermöglicht. Das Schöne an dieser Methode ist, dass jedes Mal, wenn eine quadratische Funktion angenähert wird, das Minimum optimal in geschlossener Form gelöst werden kann, wodurch die Berechnung einer Schrittlänge entfällt.

  • 00:30:00 In diesem Abschnitt stellt der Redner die Newton-Methode vor, eine Optimierungsmethode zweiter Ordnung, die eine Funktion bei jedem Schritt mit einer quadratischen Kurve annähert, das Minimum dieser quadratischen Kurve findet und die Funktion neu anpasst. Dies unterscheidet sich vom Gradientenabstieg, bei dem eine quadratische Funktion minimiert wird. Newtons Methode kann viel schneller und genauer sein, da die quadratische Funktion besser zur Kurve passt als eine allgemeine lineare Regression, erfordert jedoch die Berechnung der Hesse-Funktion, die alle Ableitungen zweiter Ordnung umfasst und bei hochdimensionalen Problemen teuer sein kann. Daher eignet es sich besser für Probleme mit wenigen Abmessungen und Gewichten.

  • 00:35:00 In diesem Abschnitt erklärt der Dozent die Gründe für die Approximation der komplizierten nichtlinearen Funktion der logistischen Regression mit einer quadratischen Funktion unter Verwendung der Newton-Methode. Während der Gradientenabstieg günstiger ist, eignet sich die Approximation mit einer quadratischen Funktion besser und ermöglicht bessere Schritte. Es ist auch rechnerisch möglich, das Minimum einer quadratischen Funktion zu ermitteln. Es ist nicht garantiert, dass die Newton-Methode das globale Optimum für nicht konvexe Ziele findet. Da die Funktion der logistischen Regression jedoch konvex ist, gibt es ein einziges globales Optimum, und die Newton-Methode kann überall beginnen. Das Wichtigste, was berechnet werden muss, um die Newton-Methode anzuwenden, ist der Hesse-Wert, der durch eine Ableitung ermittelt werden kann, die zu einem Ausdruck führt, der den Datensatz mit einer Einsenreihe und einer diagonalen Sigma-Matrix umfasst.

  • 00:40:00 In diesem Abschnitt diskutiert der Dozent die logistische Regression und ihre Bedeutung als maschinelle Lerntechnik, insbesondere für Empfehlungssysteme und Anzeigenplatzierung. Die logistische Regression wird verwendet, um Benutzern Empfehlungen zu geben, beispielsweise Produktempfehlungen oder Anzeigenempfehlungen. Die Idee besteht darin, Anzeigen anzuzeigen, bei denen eine hohe Wahrscheinlichkeit besteht, dass sie vom Nutzer angeklickt werden. Dies kann als Klassifizierungsproblem modelliert werden. Der Dozent stellt außerdem die Struktur des Hessischen vor und wie man ihn mithilfe der Formel erhält, was für die Programmierung der logistischen Regression und die Anwendung der Newton-Methode wichtig ist. Auch wenn manche Schüler die Mathematik als überwältigend empfinden, ist es wichtig, diese Methoden zu verstehen, um zu sehen, wie sie entstehen und warum sie funktionieren.

  • 00:45:00 In diesem Abschnitt wird das Konzept der logistischen Regression als Methode erläutert, um Benutzern basierend auf ihren Eigenschaften und Verhaltensweisen Empfehlungen zu geben, beispielsweise für Produkte oder Apps. Für diese Art von Problemen wird häufig die logistische Regression verwendet, da sie einfach, flexibel und effizient zu implementieren ist und Vorhersagen auf der Berechnung eines Skalarprodukts beruhen. Beispiele für Merkmale, die bei der Abgabe von Empfehlungen berücksichtigt werden können, sind die Frage, ob bestimmte Apps bereits heruntergeladen und installiert wurden, Alter, Geschlecht, Standort und alle anderen relevanten Informationen, die dem Unternehmen oder dem Smartphone über den Benutzer vorliegen.

  • 00:50:00 In diesem Abschnitt erklärt der Dozent, wie die logistische Regression für Klassifizierungsprobleme mit zwei Klassen verwendet werden kann, bei denen die Wahrscheinlichkeit für das Eintreten eines Ereignisses größer oder gleich 0,5 ist. Wenn es mehrere Klassen gibt, kann eine Softmax-Verteilung mit einem Vektor W für jede Klasse K verwendet werden. Der Dozent betont, dass die logistische Regression die Vorhersage einfach macht, da sie nur die Berechnung eines Skalarprodukts erfordert, und dies kann durch die Ausnutzung der Sparsity effizient gestaltet werden und einen Teil der Berechnung lahmlegen.

  • 00:55:00 In diesem Abschnitt diskutiert der Redner die Effizienz der logistischen Regression und wie sie auf Geräten mit geringen Ressourcen ausgeführt werden kann, indem Sparsity ausgenutzt und die Berechnung parallelisiert wird. Bei der Skalarproduktberechnung können Nulleinträge ignoriert werden, wodurch die Berechnung langer Vektoren mit Millionen von Einträgen schneller erfolgt. Das Lernmodell kann auch mit einer GPU parallelisiert werden, was ideal für Systeme wie Empfehlungssysteme ist, die schnelle und skalierbare Vorhersagen erfordern. Darüber hinaus ist die Erweiterung der Funktionen einfach und erfordert nur eine Skalierung, anstatt alles neu zu gestalten.

  • 01:00:00 In diesem Abschnitt diskutiert der Professor die Grenzen von Newtons Methode für die logistische Regression und das Problem der Überanpassung. Obwohl es sich bei der Newton-Methode um eine schnelle Optimierungstechnik handelt, ist sie für große Datensätze und Millionen von Features nicht skalierbar. Die logistische Regression neigt aufgrund ihrer konvexen Optimierung, die das globale Optimum findet, das zu gut zu den Daten passt, leicht zu einer Überanpassung. Eine Überanpassung kann zu Singularitäten in der Hesse-Matrix führen und die Anwendung der Newton-Methode unmöglich machen. Die Sigmoidfunktion der logistischen Regression geht von Null auf Eins, erreicht aber nie asymptotisch Eins. Um also eine Wahrscheinlichkeit nahe Eins zu erreichen, muss W transponiert X bar beliebig groß sein, was zu einer Überanpassung führt.

  • 01:05:00 In diesem Abschnitt diskutiert der Dozent das Problem der Überanpassung in logistischen Regressionsmodellen. Sie erklären, dass, wenn die W-Transposition des X-Balkens gegen Unendlich geht, auch die Größe von W gegen Unendlich geht, was dazu führen kann, dass Gewichte beliebig groß werden. Darüber hinaus tendiert die Hesse-Funktion aufgrund der Sigmoidfunktion gegen Null, was die Anwendung der Newton-Methode erschwert, da die Berechnung der Umkehrung der Hesse-Funktion numerisch nicht möglich ist. Um eine Überanpassung zu verhindern, schlägt der Dozent die Verwendung einer Regularisierung vor, bei der ein Strafterm hinzugefügt wird, um die Größe der Gewichte zu minimieren. Dies trägt auch dazu bei, Singularitätsprobleme zu vermeiden.

  • 01:10:00 In diesem Abschnitt des Videos erläutert der Dozent, wie man eine Überanpassung in der logistischen Regression und in verallgemeinerten linearen Modellen verhindern kann, indem man mithilfe der Newton-Methode einen Strafterm hinzufügt. Eine Einschränkung der logistischen Regression besteht jedoch darin, dass die Grenze zwischen Klassen immer linear ist. Um diese Einschränkung zu überwinden und mit nichtlinearen Trennzeichen zu arbeiten, stellt der Dozent verallgemeinerte lineare Modelle vor, bei denen die Eingaben einem neuen Raum zugeordnet werden, in dem lineare Regression und Klassifizierung auf nichtlineare Weise durchgeführt werden können, solange die Zuordnung nichtlinear ist. linear. Dieser einfache Ansatz ermöglicht die Verallgemeinerung linearer Modelle für die Arbeit in nichtlinearen Umgebungen und dient als Grundlage für Kernel-Methoden, die später im Kurs behandelt werden.

  • 01:15:00 In diesem Abschnitt erläutert der Referent, wie eine Funktion mithilfe nichtlinearer Regression und verallgemeinerter linearer Modelle angenähert werden kann. Die Idee besteht darin, die Daten aus dem ursprünglichen Raum einem neuen Raum zuzuordnen, indem eine mit Phi bezeichnete Zuordnungsfunktion verwendet wird, die jedes Eingabe-X einem neuen Feature zuordnet. Die Mapping-Funktion bezeichnet eine Basisfunktion, die Nichtlinearitäten erfassen kann, indem sie eine Mapping definiert, die es dem Benutzer ermöglicht, von einem beliebigen ursprünglichen Raum in einen neuen Raum zu wechseln und ihn so nichtlinear zu machen. Das Ziel besteht darin, Koeffizienten wie Gewichte zu finden, um die beste Funktion und den besten Hypothesenraum zu erhalten. Letztendlich können wir mit dieser Technik eine lineare Regression oder Klassifizierung durchführen und gleichzeitig die Nichtlinearitäten im ursprünglichen Raum implizit erfassen.

  • 01:20:00 In diesem Abschnitt erklärt der Kursleiter, wie man logistische Regression und verallgemeinerte lineare Modelle zur Klassifizierung von Datenpunkten verwendet. Der Prozess umfasst die Abbildung des Eingaberaums in einen höherdimensionalen Raum mithilfe von Basisfunktionen und die anschließende Suche nach der optimalen Hyperebene, um die Daten in dieser höheren Dimension zu trennen. Der Dozent betont, dass für die Auswahl geeigneter Basisfunktionen Vorkenntnisse über den möglichen Funktionsraum erforderlich sind, es aber Techniken zum Erlernen von Basisfunktionen gibt. Darüber hinaus erklärt der Kursleiter, wie die Gewichte im Modell den Vektor definieren, der normal zur Hyperebene ist.

  • 01:25:00 In diesem Abschnitt diskutiert der Dozent Basisfunktionen und deren Typen, die für logistische Regression und verallgemeinerte lineare Modelle verwendet werden können. Der Dozent stellt zunächst polynomiale Basisfunktionen vor, da diese zur Aufweitung von Polynomfunktionen verwendet werden können, indem alle Potenzen von X bis zu einem bestimmten Grad berücksichtigt werden. Anschließend stellt der Dozent zwei Beispiele nichtlinearer Basisfunktionen vor: Gauß- und Sigmoidfunktionen. Gaußsche Basisfunktionen können durch Ändern von mu und s verwendet werden, wobei mu die Position der Beule auf der x-Achse angibt und s die Breite der Beule angibt. Sigmoidfunktionen sind nichtlineare Funktionen, aber keine Wahrscheinlichkeitsverteilungen und können mit Sigma-Hut angewendet auf X minus mu J dividiert durch s als Basisfunktion verwendet werden. Andere nichtlineare Funktionen, die als Basisfunktionen verwendet werden können, umfassen Wavelets, Sinus und Cosinus.

  • 01:30:00 In diesem Abschnitt der Vorlesung diskutiert der Referent, wie man lineare Modelle verallgemeinert, um implizit eine nichtlineare Regression und Klassifizierung durchzuführen. Durch Ersetzen der Eingabevariablen X durch Phi von X, das die Eingabe in einen neuen Raum darstellt, können verschiedene nichtlineare Funktionen genutzt werden. Die Phi-Funktion kann auf verschiedene Teile der ursprünglichen Eingabe X angewendet werden und kann verwendet werden, um die zugrunde liegende Funktion mithilfe einer Reihe von Basisfunktionen wie Polynomen oder Gaußschen Funktionen zu erfassen. Damit ist das Thema abgeschlossen, das ein grundlegendes Verständnis der nichtlinearen logistischen Regression und verallgemeinerter linearer Modelle vermittelt.
 

CS480/680 Vorlesung 9: Perzeptrone und einschichtige neuronale Netze



CS480/680 Vorlesung 9: Perzeptrone und einschichtige neuronale Netze

In dieser Vorlesung werden neuronale Netze vorgestellt, wobei der Schwerpunkt auf dem Elementartyp, dem Perzeptron, liegt, der ein lineares Trennzeichen für die Klassifizierung erzeugt. In der Vorlesung wird untersucht, wie Gewichte verwendet werden, um eine lineare Kombination von Eingaben zu berechnen, die eine Aktivierungsfunktion durchlaufen, um Ausgaben zu erzeugen, und wie unterschiedliche Gewichte verwendet werden können, um Logikgatter wie UND-, ODER- und NICHT-Gatter anzunähern. Der Dozent diskutiert das Feedforward-Neuronale Netzwerk und wie der Perzeptron-Lernalgorithmus für die binäre Klassifizierung verwendet wird und wie der Gradientenabstieg Gewichte optimieren kann. Die Einschränkungen bei der Verwendung einer Linie zum Trennen von Daten werden diskutiert und die logistische Sigmoid-Aktivierungsfunktion wird als mögliche Lösung vorgestellt, wobei der Schwerpunkt darauf liegt, wie die Gewichte mithilfe der logistischen Sigmoid-Aktivierungsfunktion trainiert werden können.

In dieser Vorlesung über Perzeptrone und einschichtige neuronale Netze geht es um die Verwendung logistischer Sigmoid-Aktivierungsfunktionen zur Minimierung quadratischer Fehler und die Einführung der Lernrate als entscheidenden Parameter beim sequentiellen Gradientenabstieg. Der Dozent zeigt auch, wie neuronale Netze mit mehreren Schichten zusammengesetzt werden können, um jede Funktion mithilfe von Trash-Holding-Funktionen beliebig genau anzunähern, und wie Backpropagation verwendet werden kann, um ein Netzwerk darauf zu trainieren, beliebige Funktionen zu lernen. Der Dozent betont die Vielseitigkeit und Effizienz neuronaler Netze und verweist auf deren weit verbreiteten Einsatz bei der Lösung verschiedener Probleme wie Spracherkennung, Computer Vision, maschinelle Übersetzung und Worteinbettungen.

  • 00:00:00 In diesem Abschnitt der Vorlesung liegt der Schwerpunkt auf einer kurzen Einführung in neuronale Netze, mit besonderem Schwerpunkt auf dem Perzeptron, einem elementaren neuronalen Netztyp, der keine verborgenen Schichten aufweist. Es erzeugt ein lineares Trennzeichen zur Klassifizierung und spielt eine entscheidende Rolle in der Geschichte neuronaler Netze. Später werden komplexere Formen neuronaler Netze allgemeiner. In der Vorlesung geht es auch darum, wie das Gehirn funktioniert und wie es durch Berechnungen nachgeahmt werden kann. Während das Gehirn aus Neuronen besteht, verwendet der Computer logische Gatter, die über ein elektrisches Signal kommunizieren, wodurch die Berechnung sequentiell erfolgt. Allerdings breiten sich die Signale des Gehirns parallel aus, was es robuster macht.

  • 00:05:00 In diesem Abschnitt diskutiert der Redner die Fragilität von Computern im Vergleich zum menschlichen Gehirn und wie neuronale Netze versuchen, die Organisation des Gehirns nachzuahmen. Neuronale Netzwerke bestehen aus Knoten, sogenannten Einheiten, die den Neuronen in einem echten neuronalen Netzwerk entsprechen, und Verbindungen, die Synapsen entsprechen. Die Berechnung erfolgt über numerische Signale, die zwischen den Einheiten übertragen werden. Das Ziel besteht darin, Neuronen zu aktivieren, wenn das richtige Muster eingegeben wird, was eine robustere Berechnung ermöglicht, die das Löschen einiger Neuronen mithilfe von Regularisierungstechniken bewältigen kann. Die Inspiration für neuronale Netze stammt aus der Organisation und Ausbreitung chemischer Signale in tatsächlichen biologischen neuronalen Netzen.

  • 00:10:00 In diesem Abschnitt erklärt der Dozent, wie Gewichte in neuronalen Netzen verwendet werden, um eine lineare Kombination von Eingaben zu berechnen und ein neues Signal zu erzeugen. Dieses neue Signal wird dann durch eine Aktivierungsfunktion geleitet, die eine gewisse Nichtlinearität anwendet, um die Ausgabe zu erzeugen. Jeder Knoten im Netzwerk empfängt Eingaben, skaliert sie mit Gewichten neu und wendet die Aktivierungsfunktion an, um eine Ausgabe zu erzeugen, die dann an die nächsten Knoten im Netzwerk weitergeleitet wird. Der Dozent betont, dass die Gewichte entscheidend für das Verhalten des Netzwerks sind und während des Lernprozesses angepasst werden können, um die Leistung zu verbessern.

  • 00:15:00 In diesem Abschnitt erläutert der Dozent, wie Einheiten in einem neuronalen Netzwerk eine nichtlineare Funktion einer linearen Kombination der Eingaben basierend auf den jeder Eingabe zugewiesenen Gewichtungen berechnen. Die Eingaben selbst können vorherige Knoten sein, die eine nichtlineare Aktivierungsfunktion durchlaufen haben. Anstatt Basisfunktionen zu erstellen, um Eingaben einem neuen Raum zuzuordnen, ermöglichen neuronale Netze einem Teil des Netzwerks, zu lernen, wie Eingaben einem neuen Raum neu zugeordnet werden. Um das Netzwerk ausdrucksvoller zu machen, sind nichtlineare Aktivierungsfunktionen erforderlich, und der Dozent erläutert zwei beliebte Beispiele für solche Funktionen: die Schwellenwertaktivierungsfunktion und die Sigmoidfunktion.

  • 00:20:00 In diesem Abschnitt der Vorlesung diskutiert der Professor die Verwendung von Aktivierungsfunktionen in neuronalen Netzen, insbesondere der Trash-Holding-Funktion und der Sigmoidfunktion. Er erklärt, dass die Müllhaltefunktion zwar für die Ausgabe von Nullen und Einsen nützlich ist, sie jedoch nicht glatt und kontinuierlich ist, was die Verwendung mit verlaufsbasierten Methoden erschweren kann. Die Sigmoidfunktion ist eine glatte Version der Müllhaltefunktion und hat die gleiche Form, kann jedoch in der Neigung angepasst werden. Anschließend untersucht der Professor den Entwurf von Einheiten in neuronalen Netzen, die grundlegende Gatter wie UND-, ODER- und NICHT-Gatter emulieren können. Er demonstriert ein Beispiel einer Einheit mit einer Trash-Holding-Aktivierungsfunktion, die das NAND-Gatter emulieren kann, und fragt, ob es möglich ist, einige Gewichte zu finden, um einen Ausgang zu ermöglichen, der dem Ende der Eingänge entspricht.

  • 00:25:00 In diesem Abschnitt diskutiert der Dozent, wie unterschiedliche Gewichte in einem Perzeptron-Neuronalen Netzwerk verwendet werden können, um Logikgatter zu emulieren, wie z. B. das Ende-, Oder- und Nicht-Gatter. Durch Optimieren der im Perzeptron verwendeten Gewichte kann das neuronale Netzwerk so gestaltet werden, dass es für jedes dieser Tore die gewünschte Wahrheitstabellenausgabe erzeugt. Der Dozent liefert Beispiele für verschiedene Gewichte, die zur Emulation jedes Logikgatters verwendet werden können, einschließlich Gewichten für das Endgatter oder das Gatter und nicht das Gatter.

  • 00:30:00 In diesem Abschnitt diskutiert der Dozent zwei große Klassen von Netzwerken: Feed-Forward-Neuronale Netzwerke, die aus einem gerichteten Graphen von Knoten bestehen, die in eine Richtung fließen; und wiederkehrende neuronale Netze, die zyklischer Natur sind und für die Verarbeitung von Eingaben unterschiedlicher Länge nützlich sind, was sie bei der Verarbeitung natürlicher Sprache beliebt macht. Der Dozent konzentriert sich auf Feed-Forward-Neuronale Netze und zeichnet ein einfaches Beispiel mit zwei Eingabeeinheiten, einer verborgenen Schicht mit zwei Einheiten und einer Ausgabeeinheit. Durch Ändern der Gewichte der Verbindungen zwischen den Schichten erklären sie, dass es möglich ist, die End- oder Knoteneinheiten zu emulieren, was die Annäherung an jede boolesche Funktion ermöglicht.

  • 00:35:00 In diesem Abschnitt erklärt der Dozent das Konzept eines Perzeptrons, bei dem es sich im Wesentlichen um ein einfaches einschichtiges vorwärtsgerichtetes neuronales Netzwerk handelt, das zur binären Klassifizierung verwendet wird. Der Algorithmus zum Trainieren eines Perzeptrons wird besprochen, wobei jede Ausgabeeinheit separat trainiert wird, indem der Datensatz für jedes XY-Paar durchlaufen und die Gewichte basierend darauf angepasst werden, ob die erzeugte Ausgabe korrekt ist oder nicht. In der Vorlesung wird auch die Verwendung der Matrixdarstellung für Gewichte in neuronalen Netzen diskutiert.

  • 00:40:00 In diesem Abschnitt erklärt der Lehrer den Perzeptron-Lernalgorithmus, der für den Umgang mit Einheiten verwendet wird, die eine Schwellenwertfunktion durchlaufen. Der Algorithmus wendet eine sehr einfache Regel an: Wenn die Berechnung des Netzwerks korrekt ist, können die Gewichte gleich bleiben. Wenn die Ausgabe jedoch falsch ist, müssen Anpassungen vorgenommen werden, indem einfach die Eingabe X zu den Gewichten addiert oder subtrahiert wird , abhängig von der Ausgabe. Das Ziel besteht darin, die lineare Kombination von Eingaben und Gewichten zu erhöhen, wenn die Ausgabe positiv sein soll, oder sie zu verringern, wenn sie negativ sein soll, sodass das Perzeptron eine Ausgabe berechnet, die näher an der richtigen Antwort liegt. Der Schlüssel besteht darin, die Tatsache auszunutzen, dass die Müllhaltefunktion 1 zurückgibt, wenn die Linearkombination positiv ist, und 0, wenn sie negativ ist.

  • 00:45:00 In diesem Abschnitt diskutiert der Redner die Verwendung des Gradientenabstiegs zur Optimierung der Gewichte eines Perzeptron-Algorithmus. Eine Verlustfunktion ist als Fehlklassifizierungsfehler definiert, wobei jeder Datenpunkt X und Y als falsch klassifiziert gilt, wenn das Produkt der YW-Transponierung X negativ ist. Von einem Punkt wird erwartet, dass er positiv ist, wenn er zur Klasse 1 gehört, und negativ, wenn er zur Klasse -1 gehört. Die falsch klassifizierten Punkte werden addiert, um ein Ziel zu erhalten, das minimiert werden kann. Der Gradient wird dann im Hinblick auf das Ziel berechnet, zur Optimierung einen Schritt in die entgegengesetzte Richtung des Gradienten zu machen.

  • 00:50:00 In diesem Abschnitt der Vorlesung über Perzeptrone und einschichtige neuronale Netze diskutiert der Professor die Verwendung von Gradientenabstieg mit sequentieller Verarbeitung zur Aktualisierung von Gewichten im Perzeptron-Algorithmus. Der Algorithmus basiert auf linear trennbaren Daten, um letztendlich alle Trainingsinstanzen korrekt zu klassifizieren. Es wird ein Theorem vorgestellt, das besagt, dass der Schwellenwert-Perzeptron-Lernalgorithmus genau dann konvergiert, wenn die Daten linear trennbar sind. Der Abschnitt endet mit einer Erläuterung und Visualisierung linear trennbarer Daten im Vergleich zu nichtlinear trennbaren Daten.

  • 00:55:00 In diesem Abschnitt der Vorlesung erörtert der Professor die Einschränkungen beim Versuch, einen Datensatz durch eine Linie zu trennen, und stellt die Möglichkeit vor, eine logistische Sigmoid-Aktivierungsfunktion anstelle der Schwellenwertaktivierungsfunktion zu verwenden. Das logistische Sigmoid ist zwar nichtlinear, erzeugt aber dennoch ein lineares Trennzeichen an dem Punkt, an dem die Wahrscheinlichkeit für jede Klasse 0,5 beträgt. Daher erhalten wir durch die Verwendung des logistischen Sigmoids immer noch ein lineares Trennzeichen und einen Hypothesenraum, der mit der logistischen Regression identisch ist. Der Professor befasst sich dann mit der Frage, wie man die Gewichte des Perzeptrons mit der logistischen Sigmoid-Aktivierungsfunktion trainieren kann.

  • 01:00:00 In diesem Abschnitt diskutiert der Referent den Ansatz zur Definition eines Ziels und zur Minimierung des quadratischen Fehlers in Perzeptronen mit logistischen Sigmoid-Aktivierungsfunktionen. Sie erklären, dass der Algorithmus für die maximale Wahrscheinlichkeit im Wesentlichen der gleiche ist wie die logistische Regression, während die Minimierung des quadratischen Fehlers erfordert, den Gradienten zu finden und Schritte in seine Richtung zu unternehmen. Sie stellen auch die Idee vor, eine Lernrate zu verwenden, um die Schrittgröße beim sequentiellen Gradientenabstieg zu definieren, und erwähnen, dass es sich dabei um einen kritischen Parameter handelt, der häufig angepasst werden muss. Der Redner weist darauf hin, dass es in der Praxis üblich ist, Maßnahmen in Bezug auf Mini-Batches von Datenpunkten oder nur einen Datenpunkt zu ergreifen.

  • 01:05:00 In diesem Abschnitt erklärt der Dozent, wie neuronale Netze mit mehreren Schichten jede Funktion beliebig genau annähern können. Indem er verschiedene Neuronen zusammenfügt, demonstriert er die Entstehung eines zweidimensionalen Grats durch Hinzufügen zweier paralleler Sigmoideinheiten mit entgegengesetzten Steigungen und zeigt dann, wie zwei Grate zusammengesetzt werden können, um eine Erhebung zu bilden, wenn sie sich senkrecht schneiden. Diese Technik ermöglicht die Erstellung von Klassifikatoren, die einer Klasse in einer kleinen Region Punkte und der anderen Klasse überall sonst Punkte zuweisen können. Der Dozent veranschaulicht das entsprechende Netzwerk, das vier Sigmoideinheiten und einen Grat mit der Identitätsaktivierungsfunktion umfasst.

  • 01:10:00 In diesem Abschnitt der Vorlesung über Perzeptrone und einschichtige neuronale Netze diskutiert der Professor die Konstruktion von Bumps mithilfe von Trash-holding-Funktionen oder Sigmoiden und wie sie gekachelt und addiert werden können, um jede Kurve beliebig genau anzunähern . Er erklärt, dass dieser Ansatz für die Regression verwendet werden kann und es möglich ist, ein neuronales Netz mithilfe von Algorithmen wie Backpropagation darauf zu trainieren, eine beliebige Funktion zu lernen. Backpropagation ist im Wesentlichen eine Form des Gradientenabstiegs, der die Struktur des Netzwerks ausnutzt, um alle partiellen Ableitungen gleichzeitig zu berechnen.

  • 01:15:00 In diesem Abschnitt erklärt der Dozent, wie mit dem Backpropagation-Algorithmus partielle Ableitungen für alle Gewichte in einem neuronalen Netzwerk gleichzeitig in einer konstanten Anzahl von Durchgängen durch das Netzwerk erhalten werden können. Der Dozent betont, dass neuronale Netze aufgrund ihrer Vielseitigkeit und Leistungsfähigkeit bei der Lösung verschiedener Probleme wie Spracherkennung und Computer Vision weit verbreitet sind. Der Stand der Technik in der maschinellen Übersetzung und Worteinbettung nutzt auch neuronale Netze, und ihre Beliebtheit ist teilweise auf ihre Effizienz zurückzuführen.
 

CS480/680 Vorlesung 10: Mehrschichtige neuronale Netze und Backpropagation



CS480/680 Vorlesung 10: Mehrschichtige neuronale Netze und Backpropagation

In dieser Vorlesung über mehrschichtige neuronale Netze und Backpropagation werden die Einschränkungen linearer Modelle und die Notwendigkeit nichtlinearer Modelle wie mehrschichtiger neuronaler Netze erläutert. Der Dozent diskutiert die verschiedenen Aktivierungsfunktionen, die in neuronalen Netzen verwendet werden können und wie sie nichtlineare Basisfunktionen ermöglichen. In der Vorlesung wird weiter erklärt, wie der Backpropagation-Algorithmus verwendet wird, um den Gradienten des Fehlers in Bezug auf jedes Gewicht in einem neuronalen Netzwerk zu berechnen. Automatische Differenzierungswerkzeuge werden auch als Möglichkeit zur effizienten Berechnung der Deltas und Gradienten in einem neuronalen Netzwerk diskutiert. Insgesamt betont die Vorlesung die Flexibilität und Leistungsfähigkeit neuronaler Netze bei der Annäherung an ein breites Spektrum an Funktionen.

Der Dozent in diesem Video diskutiert Probleme bei der Optimierung neuronaler Netze, wie z. B. langsame Konvergenz, lokale Optimierung, nicht-konvexe Optimierung und Überanpassung. Um die langsame Konvergenz zu überwinden, können Techniken wie Regularisierung und Dropout verwendet werden. Darüber hinaus erläutert der Redner das Verhalten des Gradientenabstiegs zur Optimierung und betont die Notwendigkeit, die Schrittgröße zu optimieren, um die Effizienz zu verbessern. Als Lösung wird der DES-Grant-Algorithmus vorgeschlagen, der die Lernrate jeder Dimension separat anpasst. Der Redner stellt außerdem RMSProp vor, einen gewichteten gleitenden Durchschnitt früherer Verläufe. Abschließend diskutiert der Redner Adam, bei dem ein gewichteter gleitender Durchschnitt des Gradienten selbst ermittelt wird, und zeigt, dass es andere Techniken wie SGD Nesterov übertrifft.

  • 00:00:00 In diesem Abschnitt gibt der Dozent eine kurze Zusammenfassung der linearen Regression und drei Modelle zur linearen Klassifizierung. Das Problem bei diesen Modellen besteht jedoch darin, dass sie uns immer noch eine lineare Trennlinie liefern. Daher verlagert die Vorlesung die Diskussion auf nichtlineare Modelle und stellt die Notwendigkeit mehrschichtiger neuronaler Netze vor.

  • 00:05:00 In diesem Abschnitt bespricht der Dozent lineare Modelle, einschließlich des Perzeptrons und seiner Schwellenwertaktivierungsfunktion sowie der Sigmoidaktivierungsfunktion. Der Dozent erklärt, dass lineare Modelle auf nichtlineare Modelle erweitert werden können, um Funktionen zu berücksichtigen, die keine geraden Linien, sondern gekrümmt sind. Um dies zu erreichen, wird die nichtlineare Regression eingeführt, die eine Zuordnungsfunktion, Phi von X, verwendet, um Daten in einen neuen Raum zu verschieben. Der Dozent stellt außerdem mehrschichtige neuronale Netze vor, die adaptive Basisfunktionen für die nichtlineare Regression bereitstellen, und setzt diese dann wieder in Beziehung zum verallgemeinerten linearen Regressionsmodell. Abschließend bespricht der Dozent die verallgemeinerte nichtlineare Klassifizierung.

  • 00:10:00 In diesem Abschnitt der Vorlesung geht der Referent auf die Arbeit mit uneingeschränkten nichtlinearen Modellen ein. Das Problem mit den linearen Modellen mit Basisfunktionen, die wir bisher gesehen haben, besteht darin, dass wir die Basisfunktionen a priori auswählen müssen und möglicherweise nicht über genügend Domänenwissen verfügen, um dies zu tun. Die Lösung besteht darin, Basisfunktionen zu wählen, die von den Daten abhängen und eine sehr große oder sogar unendliche Anzahl von Basisfunktionen ermöglichen, ohne dafür einen Preis zu zahlen. Diese Idee war ursprünglich der Ansatz bei Kernel-Methoden und war bis etwa 2010 die vorherrschende Reihe von Techniken.

  • 00:15:00 In diesem Abschnitt geht es im Video um die Einführung mehrschichtiger neuronaler Netze beim Deep Learning, die zu vielen der Erfolge führte, die wir heute beim Deep Learning sehen. Konkret konzentriert sich das Video auf ein zweischichtiges neuronales Netzwerk mit vollständig verbundenen Knoten, wobei jede Verbindung ein Gewicht hat, das in einer Matrix dargestellt werden kann. Die verborgenen Einheiten und Ausgabeeinheiten werden mithilfe der Aktivierungsfunktion und linearer Kombinationen berechnet, wobei jede Schicht über einen eigenen Satz an Gewichten verfügt. Durch Anpassen der Befugnisse innerhalb der Basisfunktionen ist es möglich, diese basierend auf Trainingssätzen anzupassen und zu variieren, was zu einem erfolgreicheren Deep-Learning-Modell führt.

  • 00:20:00 In diesem Abschnitt der Vorlesung erklärt der Professor, dass neuronale Netze im Wesentlichen mathematische Funktionen sind, die aus mehreren Schichten und Gewichten bestehen. Sie verwenden Aktivierungsfunktionen wie das Sigmoid oder den Tangens hyperbolicus, um Nichtlinearität hinzuzufügen. Diese Aktivierungsfunktionen können als Basisfunktionen für die nächste Schicht dienen und in der nichtlinearen Regression verwendet werden. Durch die Verwendung nichtlinearer Aktivierungsfunktionen in der ersten Schicht und einer Identitätsfunktion in der Ausgabeschicht kann ein neuronales Netzwerk als lineare Kombination nichtlinearer Basisfunktionen dargestellt werden.

  • 00:25:00 In diesem Abschnitt diskutiert der Referent zweischichtige neuronale Netze für nichtlineare Regression und Klassifizierung. Die mathematische Formel für das zweischichtige neuronale Netzwerk umfasst versteckte Einheiten mit einer Sigmoid-Aktivierungsfunktion und Ausgabeeinheiten mit der Identitätsaktivierungsfunktion. Das Sigma fungiert als nichtlineare Basisfunktion, die durch einige Gewichte parametrisiert wird, sodass sich die Basisfunktionen anpassen können, während das Modell trainiert wird. Dieser Ansatz ist der Hauptunterschied zwischen nichtlinearer und linearer Regression. In ähnlicher Weise zeigt der Referent für die Klassifizierung, wie die gleiche Formel angewendet werden kann, indem er Basisfunktionen berechnet, die über die erste Schicht nichtlinear sind.

  • 00:30:00 In diesem Abschnitt erklärt der Dozent, wie sich mehrschichtige neuronale Netze trotz ähnlicher Interpretation von der logistischen Regression unterscheiden. Das neuronale Netzwerk ermöglicht adaptivere Basisfunktionen durch die Verwendung von Gewichten, die während des Trainings aktualisiert werden. Die Nichtlinearität ergibt sich aus der Verwendung einer Sigma-Funktion, die durch andere Funktionen wie die Gauß- oder 10h-Funktion ersetzt werden kann. Durch Anpassen der Aktivierungsfunktion kann das neuronale Netzwerk sowohl zur Klassifizierung als auch zur Regression verwendet werden. Der Dozent erwähnt auch, dass mehrere Klassen im Netzwerk verwendet werden können, indem die Sigma-Funktion durch eine andere geeignete Funktion ersetzt wird.

  • 00:35:00 In diesem Abschnitt wird in der Vorlesung die Optimierung von Gewichten für mehrschichtige neuronale Netze besprochen, die sowohl die Gewichte der Linearkombination als auch die Gewichte umfasst, die die nichtlinearen Basisfunktionen definieren. Der beliebteste Algorithmus zur Optimierung ist die Fehlerminimierung, bei der die Ausgabe des neuronalen Netzwerks mit einem Ziel verglichen und die Differenz berechnet wird. Backpropagation ist ein beliebter Algorithmus, der es ermöglicht, Fehler zu berechnen und durch das Netzwerk zurückzupropagieren, um einen Gradienten für jedes Gewicht zu berechnen. Der Gradient wird zur Berechnung des Aktualisierungsalgorithmus zur Optimierung der Gewichte verwendet. Der Backpropagation-Algorithmus wird von Hand berechnet, aber Pakete wie Tensor Flow und PyTorch bieten Tools für die automatische Differenzierung.

  • 00:40:00 In diesem Abschnitt erklärt der Sprecher den Backpropagation-Algorithmus, der zur Berechnung des Gradienten oder der partiellen Ableitung des Fehlers in Bezug auf jedes Gewicht in einem neuronalen Netzwerk verwendet wird. Der Algorithmus ist in zwei Phasen unterteilt: eine Vorwärtsphase, in der die Ausgabe des Netzwerks basierend auf den Eingaben berechnet wird, und eine Rückwärtsphase, in der Delta, ein Maß für den Fehler, rückwärts propagiert wird, um die partielle Ableitung des Fehlers in Bezug auf alle zu berechnen Gewicht. Die partielle Ableitung wird in zwei Schritten unter Verwendung der Kettenregel für partielle Ableitung und Delta J und Zi berechnet. Der Sprecher veranschaulicht den Algorithmus anhand eines vollständig verbundenen Netzwerks, das aus zwei Eingaben, zwei versteckten Einheiten und zwei Ausgabeeinheiten besteht, und zeigt, wie der Algorithmus die Ausgabe jeder Einheit berechnet und Fehler rückwärts ausbreitet.

  • 00:45:00 In diesem Abschnitt des Videos erläutert der Sprecher, wie man mit dem Backpropagation-Algorithmus partielle Ableitungen in mehrschichtigen neuronalen Netzen erhält. Der Sprecher erklärt, dass man ausgehend von der Ausgabeschicht die partielle Ableitung des Fehlers in Bezug auf jede Ausgabeeinheit J mithilfe einer rekursiven Formel berechnen kann, die von den Deltas der Ausgabeeinheiten abhängt. Anschließend demonstriert der Sprecher ein einfaches Beispiel für die Verwendung der Vorwärts- und Rückwärtsphase zur Berechnung der Ausgabe versteckter Einheiten und Ausgabeeinheiten in einem neuronalen Netzwerk.

  • 00:50:00 In diesem Abschnitt erklärt der Referent, wie man die Deltas und Gradienten in einem neuronalen Netzwerk berechnet und wie automatische Differenzierungstools dabei helfen können, dies effizient zu tun. Sie stellen Gleichungen zur Berechnung der Deltas für verborgene Schichten und Ausgabeschichten bereit und zeigen, wie diese zur Berechnung von Farbverläufen verwendet werden. Der Referent betont, dass automatische Differenzierungswerkzeuge bei der Arbeit mit verschiedenen Architekturen und Funktionen Zeit und Aufwand bei der manuellen Berechnung von Gradienten sparen können. Der Abschnitt endet mit Beispielen, wie ein neuronales Netzwerk mit nur drei versteckten Einheiten beliebige Funktionen wie x-Quadrat, Absolutwert von x und Sinus von x annähern kann.

  • 00:55:00 In diesem Abschnitt geht der Dozent auf die Fähigkeit neuronaler Netze ein, verschiedene Funktionen anzunähern. Das Netzwerk kann zu nichtlinearen Basisfunktionen konvergieren, die glatte Funktionen wie quadratische und Sinusfunktionen recht gut annähern können. Bei nicht glatten Funktionen wie der absoluten Funktion hat das neuronale Netzwerk jedoch Schwierigkeiten, diese zu approximieren, wenn nicht genügend versteckte Einheiten vorhanden sind. Dennoch kann das Netzwerk selbst für diskontinuierliche Funktionen wie die Stufenfunktion immer noch eine vernünftige Näherung liefern. Anschließend geht der Dozent zur Diskussion der Optimierung neuronaler Netze über, bei der der Gradient mithilfe automatischer Differenzierung berechnet und ein stochastischer Gradientenabstieg durchgeführt wird. Obwohl es sich hierbei um eine allgemeine Optimierungstechnik handelt, kann die Konvergenz ohne zusätzliche Optimierungsmethoden langsam sein.

  • 01:00:00 In diesem Abschnitt diskutiert der Dozent die Probleme, die bei der Optimierung neuronaler Netze auftreten können, einschließlich langsamer Konvergenz, lokaler Optimierung, nicht-konvexer Optimierung und Überanpassung. Langsame Konvergenz kann durch Techniken wie Regularisierung und Dropout überwunden werden. Um das Konzept der langsamen Konvergenz zu veranschaulichen, zeichnet der Dozent ein Bild einer kugelförmigen Oberfläche, die die Fehlerfunktion darstellt. Der Gradientenabstieg kann langsam konvergieren, wenn außerhalb des globalen Minimums begonnen wird, und moderne Techniken wie Momentum und adaptive Lernraten können die Konvergenz beschleunigen.

  • 01:05:00 In diesem Abschnitt diskutiert der Dozent das Verhalten des Gradientenabstiegs zur Optimierung. Die Richtung des Gradienten verläuft im Allgemeinen senkrecht zur Konturlinie, und das Problem bei einem Schritt in diese Richtung besteht darin, dass das Minimum überschritten werden kann. Wenn der Gradient hingegen klein ist, müssen möglicherweise viele kleine Schritte unternommen werden, um das Minimum zu erreichen. Daher gibt es Regionen, in denen größere Schritte unternommen werden sollten, und Regionen, in denen kleinere Schritte angemessener sind. Dieses Verhalten verdeutlicht die Notwendigkeit einer Optimierung der Schrittgröße, um die Effizienz des Gefälles zu verbessern.

  • 01:10:00 In diesem Abschnitt erörtert der Redner die möglichen Probleme, wenn man sich bei der Bestimmung der Schrittgröße in einem neuronalen Netzwerk auf die Größe des Gradienten verlässt. Da die Größe des Gradienten über verschiedene Dimensionen hinweg möglicherweise nicht konsistent ist, besteht eine vom DES-Grant-Algorithmus vorgeschlagene Lösung darin, die Lernrate jeder Dimension separat anzupassen, indem die Summe des Quadrats der bisher beobachteten Gradienten gebildet und durch die Schrittgröße dividiert wird durch die Quadratwurzel dieses Wertes. Dies ermöglicht Anpassungen der Schrittgröße entsprechend der Größe des Gradienten in jeder Dimension. Bei manchen Anwendungen kann es jedoch sein, dass die Lernrate zu schnell abnimmt, was den Fortschritt behindert.

  • 01:15:00 In diesem Abschnitt erörtert der Redner die Probleme beim Gradientenabstieg in neuronalen Netzen und wie die Anpassung der Lernrate beim stochastischen Gradientenabstieg hilfreich sein kann. Der Referent stellt das Konzept der „Dimension“ in einem neuronalen Netz vor, bei dem es eine Dimension pro Gewicht gibt. Sie erklären das Problem der Anhäufung großer Beträge und die Notwendigkeit, die Größe dieser Schritte zu reduzieren. Der Redner schlägt eine Lösung für dieses Problem mit der Einführung von rmsprop vor, einem gewichteten gleitenden Durchschnitt der vorherigen Gradienten mit einem exponentiellen Abfall, der ältere Gradienten vergisst. Allerdings ist diese Methode nicht perfekt und der Redner erkennt ihre Grenzen an.

  • 01:20:00 In diesem Abschnitt erörtert der Dozent das Problem, dass einem Gradienten in einem Bereich, in dem er stabil ist, der Impuls fehlt, was dazu führt, dass eine Möglichkeit zur Erhöhung der Schrittgröße bei gleicher Richtung erforderlich ist. Dies führt zu einer Version der Heuristik namens Adam, bei der ein gewichteter gleitender Durchschnitt des Gradienten selbst genommen und in sT gespeichert wird. Bei der Aktualisierung macht man keinen Schritt in der Aktion und im Verlauf, sondern einen Schritt in der Aktion dieses gleitenden Durchschnitts. Bei der Technik handelt es sich um eine Heuristik, die 2015 im ICLR veröffentlicht wurde. Der Hauptunterschied zu ihren Vorgängern besteht darin, dass sie einige Theorien und Konvergenzbeweise zu ihren Eigenschaften enthält. Als es jedoch veröffentlicht wurde, gab es Probleme mit einigen Beweisen, was dazu führte, dass Änderungen mit mehr Beweisen vorgenommen wurden, um etwas Grundsatzlicheres zu schaffen.

  • 01:25:00 In diesem Abschnitt erklärt der Redner den Kompromiss zwischen ein paar guten Schritten und der Zahlung eines hohen Preises für jeden Schritt oder dem schnellen Ausführen vieler kleiner Schritte, die keine sehr guten Schritte sind, aber insgesamt trotzdem enden näher am Minimum. Er diskutiert auch Optimierungstechniken, die sich nicht gut skalieren lassen, wie etwa Optimierungstechniken zweiter Ordnung wie die Newton-Technik. In der Praxis funktionieren Heuristiken in der Regel gut, obwohl es ihnen an guter Theorie mangelt. Anschließend liefert der Referent empirische Vergleiche zwischen Adam und anderen Techniken wie SGD Nesterov und zeigt, dass Adam tendenziell recht gute Leistungen erbringt.
 

CS480/680 Vorlesung 11: Kernel-Methoden



CS480/680 Vorlesung 11: Kernel-Methoden

In dieser Vorlesung wird das Konzept der Kernelmethoden als eine Möglichkeit eingeführt, verallgemeinerte lineare Modelle zu skalieren, indem Daten von einem Raum in einen neuen Raum mithilfe einer nichtlinearen Funktion abgebildet werden. Der Dual-Trick oder Kernel-Trick wird als eine Technik erklärt, die das Arbeiten in hochdimensionalen Räumen ohne zusätzliche Kosten ermöglicht und zur Verwendung einer Kernel-Funktion führt, die das Skalarprodukt von Punktpaaren im neuen Raum berechnet. Es werden verschiedene Methoden zur Konstruktion von Kerneln besprochen, darunter die Polynom- und Gaußschen Kernel, die zur Messung der Ähnlichkeit zwischen Datenpunkten verwendet werden können und bei Klassifizierungsaufgaben nützlich sind. Es werden auch Regeln zum Erstellen von Kerneln eingeführt, um neue Kernel zu konstruieren, die ihre Komplexität steuern können. In der Vorlesung wird betont, wie wichtig es ist, Funktionen auszuwählen, die mit Phi transponieren Phi korrespondieren, da die Grammmatrix positiv semidefinit sein muss und Eigenwerte größer oder gleich Null haben muss.

In dieser Vorlesung über Kernelmethoden definiert der Referent Kernel als positive semidefinite Funktionen, die multipliziert mit ihrer Transponierung in eine Matrix zerlegt werden können. Es werden verschiedene Arten von Kerneln wie Polynom- und Gauß-Kernel und ihre Anwendungen zum Vergleich verschiedener Datentypen wie Zeichenfolgen, Mengen und Diagramme erläutert. Der Referent erklärt auch, wie Teilstring-Kernel schnell Ähnlichkeiten zwischen Wörtern berechnen können, indem sie die Länge von Teilstrings erhöhen und dynamische Programmierung verwenden. Darüber hinaus haben sich Support-Vektor-Maschinen bei der Dokumentenklassifizierung anhand von Nachrichtenartikeln von Reuters als effektiv erwiesen.

  • 00:00:00 In diesem Abschnitt stellt der Referent Kernel-Methoden vor, die für die Skalierung verallgemeinerter linearer Modelle nützlich sind. Es folgt eine kurze Zusammenfassung der Ähnlichkeiten und Unterschiede zwischen verallgemeinerten linearen Modellen und neuronalen Netzen. Dabei wird hervorgehoben, dass in linearen Modellen feste nichtlineare Basisfunktionen verwendet werden und dass die Optimierung tendenziell einfacher und typischerweise konvex ist, während in neuronalen Netzen adaptive Basisfunktionen verwendet werden , und die Optimierung ist tendenziell schwieriger. Die Einführung des Kernels wird zu einem Trick führen, der bei der Arbeit mit Modellen, die nichtlineare Abbildungen beinhalten, die Zahlung eines Preises für den größeren Speicherplatz vermeidet.

  • 00:05:00 In diesem Abschnitt erklärt der Dozent die Entwicklung von Paradigmen des maschinellen Lernens und hebt hervor, dass der begrenzte Hypothesenraum kein großes Problem darstellte, wenn die Datenmenge nicht groß war. Allerdings brachte die Ära der neuronalen Netze ab 2009 eine Menge Daten und Rechenleistung hervor, was einen umfangreicheren Hypothesenraum unerlässlich machte. Der Dozent stellt den Dual-Trick oder Kernel-Trick vor, eine Rechentechnik, die das Arbeiten in hochdimensionalen Räumen ohne zusätzliche Kosten ermöglicht, indem Daten mithilfe nichtlinearer Funktionen in einen neuen Raum abgebildet werden. Er erklärt, wie dieser Trick es uns zusammen mit einer Kernelfunktion ermöglicht, eine große oder unendliche Anzahl von Basisfunktionen zu berücksichtigen, ohne sie explizit berechnen zu müssen.

  • 00:10:00 In diesem Abschnitt konzentriert sich der Dozent auf Kernel-Methoden, die darauf abzielen, das Skalarprodukt zwischen Punktpaaren in einem neuen Raum zu berechnen und Wege zu finden, um die Kosten für die Berechnung dieser Skalarprodukte für eine bessere Skalierung deutlich zu senken Algorithmen. Daher werden die Skalarprodukte in Kernelfunktionen umbenannt, und wenn wir die Ausgaben dieser Kernel für jedes Punktpaar bestimmen können, müssen wir nicht den zugrunde liegenden Merkmalsraum berechnen, der durch Phi von X definiert ist, der der Schlüssel zum Definieren von Kerneln ist die schnell auszuwerten sind und keine Berechnung in Bezug auf Phi von ersetzt W durch einen anderen Ausdruck, Phi mal A, wobei Phi die Matrix aller Punkte im neuen Raum ist.

  • 00:15:00 In diesem Abschnitt stellt der Referent das Konzept der Kernel-Methoden vor, bei denen es darum geht, Daten von einem Raum in einen neuen Raum mithilfe einer Zuordnungsfunktion abzubilden. Er zeigt, wie die Optimierung eines linearen Regressionsproblems im neuen Raum mithilfe der Koeffizienten (a) einer linearen Kombination der abgebildeten Punkte anstelle der Gewichtsmatrix (W) erfolgen kann. Dies führt zur Verwendung einer Kernelfunktion, die das Skalarprodukt von Punktpaaren im neuen Raum berechnet, der als Gram-Matrix definiert ist. Das Ergebnis ist eine alternative Möglichkeit, die Lösung des Regressionsproblems durch Optimierung der Koeffizienten mithilfe der Kernelfunktion zu finden.

  • 00:20:00 In diesem Abschnitt diskutiert der Dozent, wie man mithilfe der Lösung im Dualraum Vorhersagen treffen kann, was zu einer anderen Komplexität der Berechnung führt als im Primarraum. Im Primärraum hängt die Komplexität von der Anzahl der Basisfunktionen ab, im Dualraum jedoch von der Datenmenge, was hochdimensionale Räume ohne Erhöhung der Komplexität ermöglicht. Der Schlüssel besteht darin, die Kernelfunktion zu berechnen, ohne sich auf die Punkte im neuen Raum zu beziehen, und es gibt verschiedene Möglichkeiten, Kernelfunktionen zu definieren, die implizit Skalarprodukten entsprechen. Es ist wichtig, Funktionen auszuwählen, die eine Korrespondenz mit Phi transponieren Phi haben, da die Grammmatrix positiv semidefinit sein muss und Eigenwerte größer oder gleich Null haben muss. Der Dozent gibt ein Beispiel dafür, wie man einen Kernel direkt definiert und dann die entsprechende Zuordnung ermittelt.

  • 00:25:00 In diesem Abschnitt definiert der Dozent eine Kernelfunktion als Skalarprodukt zweier Vektoren im ursprünglichen Raum zum Quadrat. Es stellt sich die Frage, ob dies eine gültige Kernelfunktion ist, die ohne Rückgriff auf Phi, die Raumtransformationsfunktion, berechnet werden kann. Durch die Erweiterung der Funktion ist der Dozent in der Lage, die Abbildung von Phi zu definieren, ohne diese explizit zu berechnen, und gelangt zu einer gültigen Kernelfunktion mit Basisfunktionen. Während Kernelfunktionen normalerweise berechnet werden, indem zunächst Phi definiert und dann ein Skalarprodukt durchgeführt wird, ermöglicht diese Methode die direkte Berechnung der Kernelfunktion im ursprünglichen Raum.

  • 00:30:00 In diesem Abschnitt bespricht der Dozent die Methode zur Kernelkonstruktion. Die Idee besteht darin, neue Kernel zu konstruieren, die ihre Komplexität kontrollieren und sicherstellen können, dass sie nicht vom neuen Raum abhängt. Der Dozent erklärt zehn Regeln für die Zusammenstellung von Kerneln, um neue gültige Kernel zu erstellen. Wenn eine Funktion kein gültiger Kernel ist, gibt es grundlegende Bausteine, die dabei helfen könnten, sie zusammenzusetzen, um komplexere Kernel zu erhalten. In der Vorlesung werden außerdem gängige Kernel vorgestellt, die in der Praxis verwendet werden, beispielsweise der Polynomkernel, bei dem das Skalarprodukt im ursprünglichen Raum auf eine gewisse Potenz erhöht wird, was den Merkmalsraum als alle Produkte vom Grad M der Einträge in X ergibt. Die Vorlesung wird fortgesetzt zur Diskussion des Gaußschen Kernels in der nächsten Klasse.

  • 00:35:00 In diesem Abschnitt erklärt der Dozent, dass eine hohe Dimensionalität erforderlich ist, um Flexibilität in Regressions- oder Klassifizierungsmodellen zu erreichen, ohne einen Rechenpreis zu zahlen, was ein Problem darstellen kann. Um dieses Problem zu vermeiden, werden Kernel verwendet, die eine Funktion angeben, die uns das Skalarprodukt zwischen Punktpaaren im neuen Raum angibt. Anschließend wird der Polynomkern als allgemeiner Kern eingeführt, der das Skalarprodukt im ursprünglichen Raum auf die Potenz M erhöht. Der Dozent liefert ein konkretes Beispiel des Kernels in einem 2D-Raum und erweitert ihn, um das entsprechende Skalarprodukt in a zu demonstrieren 3D-Raum.

  • 00:40:00 In diesem Abschnitt erklärt der Dozent Kernel-Methoden, die verwendet werden, um den Eingaberaum implizit in einen höherdimensionalen Raum umzuwandeln, in dem die Klassen linear trennbar sein können, auch wenn sie sich nicht im ursprünglichen Raum befinden. In der Vorlesung wird erklärt, wie sich diese Methode auf eine beliebig hohe Potenz M verallgemeinern lässt, wo sie neue Merkmale erzeugt, die im Wesentlichen alle Kombinationen von M möglichen Merkmalen sind. Dies führt jedoch zu einem exponentiell großen Bedarf an Speicherplatz, der für Bilder rechnerisch unmöglich wäre. Um dies zu umgehen, kann dem Kernel eine Konstante C hinzugefügt werden, um alle Merkmale von Graden bis zu M zu berücksichtigen.

  • 00:45:00 In diesem Abschnitt wurde das Konzept des Polynomkernels und des Gaußschen Kernels erläutert. Der Polynomkern wird zur Berechnung des Skalarprodukts zweier Vektoren verwendet und kann die Ähnlichkeit zwischen zwei Datenpunkten bis zum zweiten Grad messen. Andererseits wird der Gaußsche Kernel durch eine Formel bezeichnet, die die Ähnlichkeit zwischen zwei Datenpunkten berechnet und ein beliebter Kernel für maschinelles Lernen ist. Kernel sind im Wesentlichen eine Abkürzung zur Berechnung des Skalarprodukts in einem neuen Raum und können als Maß für die Ähnlichkeit zwischen Datenpunkten interpretiert werden, was bei Klassifizierungsaufgaben nützlich ist.

  • 00:50:00 In diesem Abschnitt erklärt der Dozent, wie der Gaußsche Kern als Maß für die Ähnlichkeit zweier Punkte angesehen werden kann, mit einem hohen Wert, wenn die Punkte identisch sind, und einem niedrigen Wert, wenn sie weit voneinander entfernt sind. Der Nachweis, dass der Gaußsche Kernel ein gültiger Kernel ist, ist jedoch eine Herausforderung, da der Merkmalsraum unendlich ist. Stattdessen verwendet der Dozent die Regeln aus der vorherigen Vorlesung, um die Gültigkeit des Kernels zu rechtfertigen, insbesondere Regel Nummer vier, die besagt, dass die Exponentialfunktion eines Kernels zu einem anderen gültigen Kernel führt, und untersucht weiter die anderen Regeln, um den Gaußschen Kernel auszudrücken als Kombination gültiger Kernel.

  • 00:55:00 In diesem Abschnitt des Videos demonstriert der Dozent die Verwendung verschiedener Regeln, um zu zeigen, dass K von XX Primzahlen, die gleich e minus X minus X Primzahl dividiert durch 2 Sigma-Quadrat sind, ein gültiger Kernel ist . Der Dozent erweitert X minus Zu den verwendeten Regeln gehört das Ersetzen von a durch die Identitätsmatrix und das Zeigen, dass X-transponierte X-Primzahl dividiert durch Sigma-Quadrat und e in die X-transponierte

  • 01:00:00 In diesem Abschnitt erklärt der Sprecher, dass Kernel positive semidefinite Funktionen sind, die multipliziert mit ihrer Transponierung in eine Matrix zerlegt werden können. Er erklärt auch, dass die Verwendung eines Polynomkerns beispielsweise die Konstruktion aller Monome bis zu einem bestimmten Grad erfordern würde, was zu einer exponentiellen Dimensionalität führen würde. Durch die direkte Arbeit mit dem Kernel muss jedoch lediglich die Ähnlichkeit zwischen jedem Datenpunktpaar berechnet werden, was die Recheneffizienz erhöht. Außerdem wird der Gaußsche Kernel besprochen, der über einen unendlichen Merkmalsraum verfügt und sich daher hervorragend für die Darstellung beliebiger Funktionen eignet. Darüber hinaus weist der Redner darauf hin, dass Kernel zwar in Bezug auf Vektoren definiert werden, sie aber auch auf andere Objekttypen wie Mengen, Zeichenfolgen oder Diagramme angewendet werden können.

  • 01:05:00 In diesem Abschnitt diskutiert der Dozent die Idee, Strings und Dokumente mithilfe von Kernel-Methoden abzubilden. Bei dieser Technik wird ein Kernel definiert, der die Ähnlichkeit zwischen zwei Dokumenten oder Zeichenfolgen als gewichtete Summe aller nicht zusammenhängenden Teilzeichenfolgen misst, die in beiden Dokumenten vorkommen. Die Aufzählung all dieser Funktionen kann jedoch zeitaufwändig und ressourcenintensiv sein, und hier kommen nicht-vektorielle Kernel ins Spiel. Diese Kernel sind nützlich beim Vergleichen von Dokumenten, die möglicherweise neue oder erfundene Wörter enthalten, und können jede Zeichenfolge oder jedes Dokument einem neuen Merkmalsraum zuordnen, der davon abhängt, ob die Zeichenfolge eine bestimmte Teilzeichenfolge enthält.

  • 01:10:00 In diesem Abschnitt erklärt der Sprecher das Konzept des Substring-Kernels, der zur Bestimmung der Ähnlichkeit zwischen zwei Wörtern verwendet wird. Der Substring-Kernel nimmt einen Wert Lambda an, der auf eine Potenz erhöht wird, die die Länge des Substrings darstellt. Dieser Wert ist niedriger für wichtigere Übereinstimmungen und höher für weniger wichtige. Der Kernel kann Punktprodukte in Merkmalsräumen effizient berechnen, die aus Teilzeichenfolgen unterschiedlicher Länge bestehen, die in zwei Wörtern vorhanden sind. Um diese Kernel effizient zu berechnen, schlägt das Papier vor, die Länge der Teilzeichenfolgen mithilfe dynamischer Programmierung schrittweise zu erhöhen. Dies ermöglicht eine lineare Zeitberechnung der Kernel, die andernfalls exponentiell wäre.

  • 01:15:00 In diesem Abschnitt diskutiert der Redner, wie Support-Vektor-Maschinen mit Kerneln verwendet werden können, um in einem viel umfangreicheren Bereich zu arbeiten. Der Redner zitiert einen Artikel, der die Dokumentenklassifizierung anhand von Nachrichtenartikeln von Reuters durchführt und Ergebnisse mit dieser Technik zeigt. Der Ansatz kann sehr wirkungsvoll sein und wird in der nächsten Klasse weiter besprochen.
 

CS480/680 Vorlesung 13: Support-Vektor-Maschinen



CS480/680 Vorlesung 13: Support-Vektor-Maschinen

Diese Vorlesung ist eine Einführung in Support Vector Machines (SVMs) als eine Art Kernel-Methode zur Klassifizierung. SVMs sind bei Problemen mit geringen Datenmengen nach wie vor beliebt und gelten als spärlich, da sie mit einer Teilmenge der Daten arbeiten und den Rest ignorieren können. Der Redner erklärt das Konzept der Unterstützungsvektoren, bei denen es sich um die der Entscheidungsgrenze am nächsten liegenden Datenpunkte handelt, und das visuelle Beispiel von SVMs, die ein lineares Trennzeichen finden, um Klassen zu trennen und gleichzeitig den Spielraum zu maximieren. Die Unterschiede zwischen SVMs und Perzeptronen werden diskutiert, wobei SVMs ein einzigartiges lineares Trennzeichen mit maximalem Rand verwenden und weniger anfällig für Überanpassung sind. Das Optimierungsproblem für SVMs kann mithilfe des Lagrange-Operators umgeschrieben werden, was zu einem äquivalenten Problem ohne Einschränkungen führt. Die aus dem Lagrange-Operator erhaltene Lösung kann zurückgesetzt werden, um einen Ausdruck zu erhalten, der die Kernelfunktion einbezieht, was zu einer dualen Problemoptimierung führt. Die Vorteile der Arbeit im Dualraum mit einer Kernelfunktion, die die Ähnlichkeit zwischen Datenpunktpaaren berechnet, werden ebenfalls erläutert. SVMs berechnen den Grad der Ähnlichkeit zwischen einem Abfragepunkt und allen Unterstützungsvektoren, um die ähnlichsten zu ermitteln. Die Diskussion dreht sich auch um die Anzahl der Unterstützungsvektoren und wie sie sich auf die Klassifizierung von Punkten auswirkt.

In diesem Video wird das Konzept von Support Vector Machines (SVMs) bei der Textkategorisierung erläutert, bei der Dokumente als Vektoren der Wortanzahl dargestellt werden. SVMs minimieren wirksam den Worst-Case-Verlust, sodass der Klassifikator für jede mögliche Stichprobe geeignet ist, sogar für unterschiedliche Datensätze. Forscher nutzten SVMs mit Dual-Darstellung und Kernel-Mapping, um Daten in einen noch höherdimensionalen Raum abzubilden, ohne dabei an Genauigkeit oder Skalierbarkeit einzubüßen. Die Vorlesung befasst sich auch mit der Verwendung von SVMs beim Abrufen relevanter Dokumente aus einem Datensatz und dem Abwägen von Präzision und Rückruf. Das Video endet mit einer Diskussion über die Fähigkeit von SVMs, lineare oder nichtlineare Trennzeichen für Daten bereitzustellen, und über die Herausforderungen, die mit der Klassifizierung mehrerer Klassen und nichtlinear trennbaren Daten verbunden sind.

  • 00:00:00 In diesem Abschnitt stellt der Referent Support Vector Machines (SVMs) vor, eine Art Kernel-Methode zur Klassifizierung. Historisch gesehen waren SVMs die wichtigste und beliebteste Klassifizierungstechnik beim maschinellen Lernen, bis nach 2010 neuronale Netze die Oberhand gewannen. SVMs funktionieren jedoch immer noch gut bei Problemen mit wenigen Daten und gelten als spärlich, da sie mit einer Teilmenge der Daten arbeiten und diese ignorieren können ausruhen. Anschließend liefert der Redner ein visuelles Beispiel für zwei Datenklassen und wie SVMs ein lineares Trennzeichen finden, um diese Klassen zu trennen und gleichzeitig den Rand zu maximieren, der der kleinste Abstand zum nächstgelegenen Punkt in jeder Klasse ist.\

  • 00:05:00 In diesem Abschnitt wird das Konzept der Support Vectors in Support Vector Machines (SVMs) erläutert. Unterstützungsvektoren sind wichtige Datenpunkte, die der Entscheidungsgrenze am nächsten liegen, und sie bestimmen im Wesentlichen, wohin die lineare Trennlinie verläuft. Der endgültige lineare Separator in SVMs, der den Abstand, der auch als Rand bezeichnet wird, zu den nächstgelegenen Datenpunkten maximiert, wird durch die Lösung eines Optimierungsproblems erhalten. Die Intuition hinter der Maximierung der Marge besteht darin, sicherzustellen, dass die Datenpunkte, die verrauscht sein könnten, nicht durch die Entscheidungsgrenze falsch klassifiziert werden.

  • 00:10:00 In diesem Abschnitt wird das Konzept der maximalen Marge in Support Vector Machines (SVMs) erläutert, um eine bessere Klassifizierung zu erreichen. Ein maximaler Spielraum stellt sicher, dass die Klassifizierung robuster gegenüber Rauschen ist und sich besser auf zukünftige Beispiele übertragen lässt. Der Abstand eines Punktes zum Trennzeichen wird anhand des Skalarprodukts zwischen dem Gewichtsvektor und dem Merkmalsvektor für diesen Datenpunkt berechnet, das dann normalisiert wird, um den maximalen Spielraum zu ergeben. Außerdem wird die Formel zur Berechnung des Abstands eines beliebigen Punktes zum Trennzeichen angegeben und das Ziel, das in SVMs optimiert wird, wird besprochen. Es wird hervorgehoben, dass es eine eindeutige Linie mit einem maximalen Rand gibt und daher zwei beliebige Linien mit gleichem Rand nicht die maximale Randlinie sind.

  • 00:15:00 In diesem Abschnitt werden die Unterschiede zwischen Support Vector Machines (SVMs) und Perzeptronen besprochen. Perzeptrone finden ein lineares Trennzeichen, dieses Trennzeichen ist jedoch von den Startwerten abhängig, die für die Initialisierung der Gewichte verwendet werden. Perzeptrone verwenden außerdem eine einfache Aktualisierungsregel für das Training und verlassen sich auf das Umdrehen von Beschriftungen, um den Abstand zwischen dem linearen Trennzeichen und den Datenpunkten zu messen. Im Gegensatz dazu verwenden SVMs ein quadratisches Optimierungsproblem, um das lineare Trennzeichen mit dem maximalen Rand zu finden, das weniger von der Initialisierung abhängt. SVMs führen außerdem das Slack-Konzept ein, um eine Soft-Margin-Klassifizierung zu ermöglichen, und verfügen über einen Kernel-Trick für die nichtlineare Klassifizierung. Insgesamt weisen SVMs im Vergleich zu Perzeptronen eine höhere Klassifizierungsgenauigkeit auf.

  • 00:20:00 In diesem Abschnitt stellt der Dozent Standard-Perzeptronen Support-Vektor-Maschinen (SVMs) gegenüber. Während es ersterem an Robustheit mangelt und es schnell zu einer Überanpassung kommen kann, verwendet letzteres ein einzigartiges lineares Trennzeichen mit maximaler Marge und ist weniger anfällig für Überanpassung. SVMs werden durch konvexe quadratische Optimierung optimiert, um Gewichte zu minimieren, unter der Bedingung, dass alle Datenpunkte mindestens eine Abstandseinheit vom linearen Trennzeichen entfernt sind. Obwohl diese Optimierung komplex erscheinen mag, ist sie mit vielen verfügbaren Optimierungspaketen rechnerisch recht einfach durchzuführen.

  • 00:25:00 In diesem Abschnitt stellt der Sprecher ein praktischeres Optimierungsproblem für Support-Vektor-Maschinen vor, bei dem der Abstand zwischen Punkten auf mindestens eins festgelegt und der Maßstab von W minimiert wird. Der Sprecher zeigt, dass dieses Problem dem vorherigen Optimierungsproblem entspricht. Diese neue Formulierung ermöglicht eine duale Darstellung, bei der Berechnungen im neuen Merkmalsraum in Form von Skalarprodukten durchgeführt werden können, die durch eine Kernelfunktion ersetzt werden können, ähnlich wie dies bei Gaußschen Prozessen der Fall war.

  • 00:30:00 In diesem Abschnitt erklärt der Referent, wie das Optimierungsproblem für Support-Vektor-Maschinen mithilfe des Lagrange-Operators umgeschrieben werden kann, was zu einem äquivalenten Problem ohne Einschränkungen führt. Dieses neue Ziel beinhaltet einen Strafterm für jede verletzte Einschränkung, der von einer neuen Variablen a abhängt, die notwendigerweise positiv und größer als Null ist, wenn ein Verstoß auftritt. Indem diese Variable a so eingestellt wird, dass sie das Minimum des Lagrange-Operators maximiert, ist das neue Problem mathematisch äquivalent zum ursprünglichen Problem mit Einschränkungen. Diese Technik trägt dazu bei, den Optimierungsprozess zu vereinfachen und effizienter zu gestalten.

  • 00:35:00 In diesem Abschnitt diskutiert der Dozent die Verwendung von Straftermen und Einschränkungen bei Optimierungsproblemen für Support-Vektor-Maschinen. Sie erklären, dass die Einschränkung, die den Abstand zwischen Punkten begrenzt, durch einen Strafterm ersetzt werden kann, der durch die Wahl eines Koeffizienten optimiert wird. Dieses Optimierungsproblem führt jedoch zu einem Maximalproblem, das nicht einfach zu lösen ist. Um dieses Problem zu lösen, beschreibt der Dozent, wie das Problem der inneren Minimierung in geschlossener Form berechnet wird und zu einer Lösung gelangt, bei der W eine lineare Kombination von Datenpunkten im neuen Merkmalsraum ist. Die von Null verschiedenen Koeffizienten, die die Stützvektoren sind, bestimmen den Wert von W.

  • 00:40:00 In diesem Abschnitt erklärt der Dozent, wie die aus dem Lagrange-Operator erhaltene Lösung zurückgesetzt werden kann, um einen Ausdruck zu erhalten, der die Kernelfunktion beinhaltet. Diese Kernelfunktion ermöglicht es uns, in einem hochdimensionalen Raum zu arbeiten, ohne uns Gedanken über die Dimensionalität machen zu müssen, da wir die Kernelfunktion direkt zwischen jedem Punktpaar berechnen können. Dies führt zu einer dualen Problemoptimierung, bei der wir einen anderen Satz von Variablen optimieren, um die Koeffizienten zu erhalten. Die meisten dieser Koeffizienten werden am Ende Null sein, was das Optimierungsproblem spärlich macht und die Rechenkomplexität verringert. Sobald wir die Koeffizienten haben, können wir sie zur Klassifizierung von Datenpunkten verwenden, indem wir das Skalarprodukt der Merkmale und der Koeffizienten bilden, wobei ein positives oder negatives Ergebnis den verschiedenen Klassen entspricht.

  • 00:45:00 In diesem Abschnitt erklärt der Dozent das Konzept von Support Vector Machines (SVMs) in einem linear trennbaren Fall. Sie zeigen, dass ein linearer Separator in einem zweidimensionalen Raum durch ein Skalarprodukt eines Normalenvektors und der Eingabemerkmale dargestellt werden kann. Die Punkte auf dem linearen Trennzeichen entsprechen dem Skalarprodukt, das gleich 0 ist. Anschließend erläutern sie die Vorteile der Arbeit im dualen Raum, bei dem die Gewichte durch eine Kernelfunktion ersetzt werden, die die Ähnlichkeit zwischen Datenpunktpaaren berechnet. Die resultierende Summe hängt nur von der Anzahl der Unterstützungsvektoren ab und ermöglicht eine Klassifizierung basierend auf dem Sinus der linearen Kombination von Kerneln zwischen dem Abfragepunkt und jedem Punkt im Datensatz.

  • 00:50:00 In diesem Abschnitt erklärt der Dozent, dass der SVM-Algorithmus den Ähnlichkeitsgrad zwischen einem Abfragepunkt und allen Unterstützungsvektoren berechnet, um die ähnlichsten zu ermitteln. Die Klasse dieser ähnlichsten Unterstützungsvektoren „stimmt“ dann für die vorhergesagte Klasse des Abfragepunkts. Dies ähnelt einem gewichteten Nearest-Neighbor-Ansatz, wobei die Gewichtungen durch die Kernelfunktion vorgegeben werden. Die Anzahl der Unterstützungsvektoren ist jedoch möglicherweise nicht unbedingt für jede Klasse gleich und kann je nach Dimensionalität des Raums variieren.

  • 00:55:00 In diesem Abschnitt dreht sich die Diskussion um die Anzahl der Unterstützungsvektoren und wie sie sich auf die Klassifizierung von Punkten auswirkt. Obwohl es in einer Klasse mehr Unterstützungsvektoren gibt, hat die Anzahl der Unterstützungsvektoren keinen Einfluss auf die Neigung, Punkte in dieser Klasse zu klassifizieren. Der Grund dafür ist, dass jeder Unterstützungsvektor positiv oder negativ zur Summe beiträgt und angibt, ob ein Punkt zur gleichen Klasse wie der Unterstützungsvektor gehört. Darüber hinaus ist bekannt, dass Support-Vektor-Maschinen gut verallgemeinern und weniger anfällig für Überanpassungen sind, da die Maximierung der Marge gleichbedeutend mit der Minimierung einer Obergrenze für den Worst-Case-Verlust für jede zugrunde liegende Eingabeverteilung ist.

  • 01:00:00 In diesem Abschnitt der Vorlesung erklärt der Referent das Konzept von Support-Vektor-Maschinen und wie sie bei der Textkategorisierung funktionieren. Support-Vektor-Maschinen minimieren wirksam den Worst-Case-Verlust und stellen sicher, dass der Klassifikator in Bezug auf jede mögliche Stichprobe, die unterschiedlichen Datensätzen entsprechen könnte, gut ist. Die Vorlesung bietet eine Fallstudie zur Textkategorisierung, bei der Klassifikatoren anhand eines Archivs bereits klassifizierter Nachrichtenartikel trainiert werden. Ein beliebter Ansatz bestand darin, jedes Dokument mithilfe des Vektorraummodells in einen Vektor der Wortanzahl umzuwandeln, wobei die Reihenfolge der Wörter ignoriert wird und ein Vektor erstellt wird, der der Länge des Wörterbuchs entspricht. Dieser Ansatz trug dazu bei, die Kategorisierung von Artikeln zu automatisieren und die Skalierbarkeit zu verbessern.

  • 01:05:00 In diesem Abschnitt der Vorlesung erklärt der Professor, wie Dokumente als hochdimensionale Vektoren dargestellt werden können, wobei jedes Merkmal einem Wort im Wörterbuch des Dokuments entspricht. Während es natürlich ist, zu versuchen, die Dimensionalität dieser Vektoren durch Merkmalsextraktion zu reduzieren, kann dies zu einem Informationsverlust führen, da die meisten Wörter ein gewisses Maß an Relevanz haben. Um dieses Problem anzugehen, verwendeten die Forscher Support-Vektor-Maschinen mit einer dualen Darstellung und Kernel-Mapping, um die Daten einem noch höherdimensionalen Raum zuzuordnen. Dieser Ansatz lässt sich gut mit der Anzahl der Dimensionen skalieren, was ihn zu einem nützlichen Werkzeug für die Analyse hochdimensionaler Daten macht.

  • 01:10:00 In diesem Abschnitt diskutiert der Redner die Verwendung von Support-Vektor-Maschinen beim Abrufen von Dokumenten aus einem Datensatz. Präzision und Rückruf sind Maße, mit denen der Prozentsatz der abgerufenen relevanten Dokumente bzw. der Prozentsatz der relevanten Dokumente im Datensatz geschätzt wird. Das Ziel besteht darin, Präzision und Erinnerung in Einklang zu bringen, und Support-Vektor-Maschinen haben sich für diesen Zweck als der beste Algorithmus erwiesen. Sie waren in der Lage, alle Funktionen beizubehalten und sie in einem höherdimensionalen Raum abzubilden, ohne an Genauigkeit oder Skalierbarkeit einzubüßen. Die Anzahl der erforderlichen Unterstützungsvektoren in einem höherdimensionalen Raum kann zunehmen, die Arbeit in diesem Raum ist jedoch mit keinen zusätzlichen Kosten verbunden.

  • 01:15:00 In diesem Abschnitt erfahren wir etwas über Support Vector Machines (SVMs) und wie sie uns ein lineares oder nichtlineares Trennzeichen für unsere Daten geben können. SVMs verwenden eine einzigartige Hyperebene, um den Spielraum für eine gute Generalisierung zu maximieren, und wir können konvexe quadratische Optimierung verwenden, um globale Optimalität sicherzustellen. Es müssen jedoch zwei wichtige Fragen geklärt werden: Können wir eine Klassifizierung mehrerer Klassen durchführen und was tun wir, wenn unsere Daten nicht linear trennbar sind? Die nächsten Folien werden sich mit diesen Themen befassen.
 

CS480/680 Vorlesung 14: Support-Vektor-Maschinen (Fortsetzung)



CS480/680 Vorlesung 14: Support-Vektor-Maschinen (Fortsetzung)

Dieser Abschnitt der Vorlesung konzentriert sich auf den Umgang mit nichtlinear trennbaren Daten und überlappenden Klassen bei der Verwendung von Support-Vektor-Maschinen (SVMs), indem Slack-Variablen eingeführt und ein weicher Spielraum berücksichtigt werden. Der Referent erklärt, wie Slack-Variablen die Klassifizierung von Punkten innerhalb der Marge ermöglichen, ohne dass ein Klassifizierungsfehler entsteht. Dem Optimierungsproblem wird ein Strafterm hinzugefügt, um die Verwendung von Slack-Variablen zu regulieren, gesteuert durch das Gewicht C, das den Kompromiss zwischen Fehlerminimierung und Modellkomplexität anpasst. Der Redner diskutiert auch verschiedene Ansätze zur Verwendung von SVMs für Klassifizierungsprobleme mit mehreren Klassen, einschließlich Eins-gegen-Alle, paarweisem Vergleich und kontinuierlichem Ranking, wobei letzteres der De-facto-Ansatz für SVMs mit mehreren Klassen ist. Darüber hinaus wird das Konzept der Mehrklassenmarge eingeführt, bei dem es um einen Puffer um den linearen Trenner geht, der durch die Differenz der Gewichtsvektoren für jedes Klassenpaar definiert wird.

  • 00:00:00 In diesem Abschnitt diskutiert der Dozent den Umgang mit nichtlinear separierbaren Daten und überlappenden Klassen beim Einsatz von Support Vector Machines (SVMs). Die Lösung besteht darin, Slack-Variablen einzuführen und einen sogenannten Soft Margin zu berücksichtigen, der die Annahme lockert, dass alle Punkte mindestens eine Einheit vom Trennzeichen entfernt sein sollten. Durch Slack-Variablen kann die Marge kleiner als eins sein, sodass sogar die Punkte innerhalb der Marge klassifiziert werden können, ohne dass ein Klassifizierungsfehler entsteht.

  • 00:05:00 In diesem Abschnitt wird das Konzept der weichen Marge eingeführt, um falsch klassifizierte Punkte und Punkte innerhalb der Marge durch die Einführung von Slack-Variablen zu berücksichtigen. Dem Optimierungsproblem wird außerdem ein Strafterm hinzugefügt, um die Verwendung von Slack-Variablen zu regulieren und sicherzustellen, dass die Slack-Variablenstrafe minimiert wird. Dies wird durch das Gewicht C gesteuert, das auch den Kompromiss zwischen Fehlerminimierung und Modellkomplexität steuert. Die Summe der Slack-Variablen ist im Allgemeinen eine Obergrenze für die Anzahl der Fehlklassifizierungen. Das Gewicht C kann als Regularisierungskoeffizient betrachtet werden, der den Kompromiss zwischen Fehlerminimierung und Modellkomplexität anpasst. Wenn C gegen Unendlich geht, wird der ursprüngliche Klassifikator mit harter Marge wiederhergestellt.

  • 00:10:00 In diesem Abschnitt geht der Redner weiterhin auf Support-Vektor-Maschinen und den Umgang mit Fehlklassifizierungen und Ausreißern ein. Weiche Ränder können kleinere Fehlklassifizierungen bewältigen, reagieren aber dennoch empfindlich auf Ausreißer. Unterstützungsvektoren entsprechen aktiven Einschränkungen mit Gleichheit, während diejenigen mit Ungleichheit nicht aktiv sind, wenn der Abstand bereits größer als eins ist, was bedeutet, dass alle Slack-Variablen Null wären. Der Redner geht auch darauf ein, wie man Support-Vektor-Maschinen erweitern kann, um mit mehreren Klassen zu arbeiten, wobei in der Vergangenheit drei Ansätze in Betracht gezogen wurden, einer davon „Einer gegen alle“, bei dem jede Support-Vektor-Maschine zwischen einer Klasse und allen anderen Klassen unterscheiden würde.

  • 00:15:00 In diesem Abschnitt der Vorlesung erläutert der Referent verschiedene Ansätze zur Verwendung von Support-Vektor-Maschinen zur Klassifizierung von Daten mit mehreren Klassen. Der erste Ansatz, „Einer gegen alle“, beinhaltet das Trainieren einer Support-Vektor-Maschine für jede Klasse im Vergleich zu den anderen, kann jedoch zu Konflikten bei der Klassifizierung führen. Der zweite Ansatz, der paarweise Vergleich, erfordert das Training von Support-Vektor-Maschinen für jedes Klassenpaar, was rechenintensiv sein kann. Der dritte Ansatz, die kontinuierliche Rangfolge, trainiert eine einzelne Support-Vektor-Maschine, um einen kontinuierlichen Wert für die Rangfolge von Klassen basierend auf diesen Werten zurückzugeben. Der Referent veranschaulicht diese Ansätze anhand von Beispielen und kommt zu dem Schluss, dass ein paarweiser Vergleich aufgrund seines Rechenaufwands nicht ideal ist, so dass „Eins gegen alle“ die ungünstigste und kontinuierliche Rangfolge als De-facto-Ansatz für die Verwendung von Support-Vektor-Maschinen mit mehreren Klassen bleibt.

  • 00:20:00 In diesem Abschnitt diskutiert der Dozent verschiedene Ansätze zur Verwendung von Support-Vektor-Maschinen für Klassifizierungsprobleme mit mehreren Klassen. Sie erklären, wie die Verwendung mehrerer linearer Trennzeichen zur Unterscheidung zwischen verschiedenen Klassen zu mehrdeutigen Punkten führt, und beschreiben einen alternativen Ansatz, das kontinuierliche Ranking. Die Idee hinter diesem Ansatz besteht darin, für jede Klasse separate Gewichtungsvektoren zu verwenden und die Größe der Skalarprodukte der Eingabedaten mit dem Gewichtungsvektor jeder Klasse zu vergleichen und dabei die Klasse mit dem größten Skalarprodukt auszuwählen. Dieser Ansatz verallgemeinert das Margin-Konzept, um die Skalarprodukte verschiedener Klassen zu vergleichen und stellt sicher, dass die richtige Klasse ein Skalarprodukt hat, das um mindestens eins größer ist als das aller falschen Klassen.

  • 00:25:00 In diesem Abschnitt der Vorlesung erklärt der Referent das Konzept der Multi-Class-Margin in Support Vector Machines (SVMs). Der Mehrklassenrand entspricht einem Puffer um das lineare Trennzeichen, das durch die Differenz der Gewichtsvektoren für jedes Klassenpaar definiert wird. Das Optimierungsproblem bleibt das gleiche wie bei binären SVMs, nur die Einschränkungen werden ersetzt. Bei überlappenden Klassen und mehreren Klassen können Slack-Variablen und ein Strafterm eingeführt werden, um die Klassifizierung mehrerer Klassen mit einem weichen Spielraum zu handhaben. Die Multi-Class-SVM ist nun eine allgemeine Formulierung, die mit mehreren Klassen und überlappenden Klassen funktioniert.
 

CS480/680 Vorlesung 15: Tiefe neuronale Netze



CS480/680 Vorlesung 15: Tiefe neuronale Netze

Dieses Video behandelt die Grundlagen des Deep Learning, einschließlich der Konzepte tiefer neuronaler Netze, des Problems des verschwindenden Gradienten und der Entwicklung tiefer neuronaler Netze bei Bilderkennungsaufgaben. Der Dozent erklärt, wie tiefe neuronale Netze genutzt werden können, um Funktionen prägnanter darzustellen und wie sie Merkmale berechnen, die mit zunehmender Tiefe des Netzes immer höherstufiger werden. Es werden Lösungen für das Problem des verschwindenden Gradienten angesprochen, einschließlich der Verwendung gleichgerichteter linearer Einheiten (ReLU) und Batch-Normalisierung. Die Vorlesung behandelt auch Max-Out-Einheiten und ihre Vorteile als Verallgemeinerung von ReLUs, die mehrere lineare Teile ermöglicht.

In der Vorlesung über tiefe neuronale Netze werden zwei Probleme erörtert, die für ein effektives tiefes Lernen gelöst werden müssen: das Problem der Überanpassung aufgrund der Expressivität mehrschichtiger Netzwerke und die Notwendigkeit einer hohen Rechenleistung zum Trainieren komplexer Netzwerke. Der Dozent schlägt Lösungen wie Regularisierung und Dropout während des Trainings sowie paralleles Rechnen während der Berechnung vor. In der Vorlesung wird auch detailliert beschrieben, wie Dropout beim Testen genutzt werden kann, indem die Größen der Eingabe- und verborgenen Einheiten skaliert werden. Abschließend schließt die Vorlesung mit der Vorstellung einiger bahnbrechender Anwendungen tiefer neuronaler Netze in der Spracherkennung, Bilderkennung und maschinellen Übersetzung ab.

  • 00:00:00 In diesem Abschnitt lernen wir die Grundlagen des Deep Learning kennen, insbesondere was ein tiefes neuronales Netzwerk ist und wie es sich von einem regulären neuronalen Netzwerk unterscheidet. Wir finden heraus, dass der Begriff „Deep Learning“ hauptsächlich für Marketingzwecke verwendet wird, da das Konzept neuronaler Netze mit vielen verborgenen Schichten erstmals in den 1980er Jahren vorgeschlagen wurde. Der Vorteil der Verwendung tiefer neuronaler Netze besteht jedoch darin, dass sie in der Regel sehr ausdrucksstark sind und sich gut an die Daten anpassen lassen. Die Herausforderung besteht darin, sie effektiv zu trainieren, und hier kommt das „große und verschwindende Problem“ ins Spiel.

  • 00:05:00 In diesem Abschnitt geht der Dozent auf die Probleme des Trainings großer neuronaler Netze und das Problem der Überanpassung aufgrund der hohen Anzahl an Gewichten und Parametern ein. Früher konzentrierten sich Forscher auf neuronale Netze mit einer einzelnen versteckten Schicht, weil sie jede Funktion mit genügend versteckten Einheiten annähern konnten. Allerdings haben mehrere neuronale Netzwerke mit verborgenen Schichten den Vorteil, dass sie die Gesamtgröße des Netzwerks verringern, die exponentiell reduziert werden kann, wie am Beispiel der Paritätsfunktion gezeigt wird. Der Dozent zeigt eine neuronale Netzwerkarchitektur, die die Paritätsfunktion kodiert, wobei die verborgene Schicht ein Schwellenwert-Perzeptron ist, das die logische „Und“-Funktion kodiert, während die Ausgabeeinheit eine logische „Oder“-Funktion ist.

  • 00:10:00 In diesem Abschnitt erklärt der Dozent, wie ein neuronales Netzwerk eingerichtet werden kann, um zu erkennen, ob die Anzahl der eingeschalteten Eingänge ungerade oder gerade ist. Jede versteckte Einheit im vollständig verbundenen Netzwerk ist für die Prüfung eines bestimmten Musters verantwortlich, bei dem die Eingaben ungerade sind und die Ausgabeeinheit nur das ODER der verborgenen Einheiten ist. Es gibt 8 Muster mit 4 ungeraden Eingaben und jede versteckte Einheit ist für eines dieser Muster verantwortlich. Der Dozent weist jedoch darauf hin, dass n Eingaben im Allgemeinen zu exponentiell vielen versteckten Einheiten führen, was diesen Ansatz nicht skalierbar macht und einen alternativen Ansatz vorschlägt.

  • 00:15:00 In diesem Abschnitt spricht der Dozent über das Konzept tiefer neuronaler Netze, die mehrere Schichten umfassen und zur prägnanteren Darstellung von Funktionen verwendet werden können. Die Vorlesung liefert ein Beispiel für eine Funktion, die Paritätsfunktion, die nur durch ein exponentiell größeres Netzwerk mit nur einer verborgenen Schicht oder ein linear großes Netzwerk mit mehreren verborgenen Schichten dargestellt werden kann. Anschließend erörtert der Dozent, wie tiefe neuronale Netze in der Praxis für Computer-Vision-Aufgaben wie die Gesichtserkennung eingesetzt werden können, bei denen Eingaben (z. B. Pixelintensitäten) in das Netzwerk eingespeist und Zwischenwerte berechnet werden, um am Ausgang eine Klassifizierung zu erzeugen.

  • 00:20:00 In diesem Abschnitt wird im Video erläutert, wie tiefe neuronale Netzwerke Funktionen berechnen, die am Anfang des Netzwerks einfach sind und mit zunehmender Tiefe immer höhere Ebenen erreichen. In der Computer Vision entwarfen Praktiker vor Deep Learning manuell Funktionen für ihre Aufgaben. Allerdings ermöglicht Deep Learning das Erlernen von Funktionen als Teil des Netzwerks und ermöglicht so die Arbeit mit Rohdaten. Dieser Durchbruch wurde 2006 von Geoff Hinton vorangetrieben, der das erste effektive tiefe neuronale Netzwerk entwarf.

  • 00:25:00 In diesem Abschnitt werden die Geschichte tiefer neuronaler Netze und ihre Durchbrüche bei der Spracherkennung und Bildklassifizierung diskutiert. Der erste Durchbruch gelang 2009, als Geoff Hinton eine Methode entwickelte, tiefe neuronale Netze Schicht für Schicht mithilfe eingeschränkter Boltzmann-Maschinen zu trainieren, was zu einer deutlichen Verbesserung der Spracherkennungs-Benchmarks führte. Um 2013 ersetzten dann wiederkehrende neuronale Netze die eingeschränkten Boltzmann-Maschinen, was zu noch besseren Ergebnissen führte. Der zweite Durchbruch gelang bei der Bildklassifizierung, als 2010 die ImageNet Large Scale Visual Recognition Challenge vorgeschlagen wurde. Trotz jahrelanger Forschung konnten Computer Bilder nicht genau in 1000 Kategorien klassifizieren. Doch bis 2012 konnten Deep-Learning-Algorithmen die Fehlerquote von 26 % auf 15 % senken und bis 2016 erreichte Microsoft eine Fehlerquote von 3,1 % und übertraf damit die menschliche Leistung.

  • 00:30:00 In diesem Abschnitt diskutiert der Redner die Geschichte und Entwicklung tiefer neuronaler Netze, insbesondere bei Bilderkennungsaufgaben. Die Fehlerquote bei Bildklassifizierungsaufgaben wurde 2012 durch die Einführung eines Faltungs-Neuronalen Netzwerks namens AlexNet durch Jeff Hintons Gruppe deutlich reduziert. Dies führte zu der Erkenntnis, dass neuronale Netze bemerkenswerte Ergebnisse erzielen können, und es wurden ausgefeiltere Architekturen entwickelt, um die Fehlerquote weiter zu verbessern. Im Laufe der Zeit nahm die Tiefe der Netzwerke zu und es gab einen klaren Trend zu tieferen Netzwerken. Die Fähigkeit, tiefe neuronale Netze für Bilderkennungsaufgaben anzuwenden und zu nutzen, war das Ergebnis verschiedener Innovationen, darunter bessere Trainingstechniken und die Verhinderung von Überanpassung.

  • 00:35:00 In diesem Abschnitt wird das Problem verschwindender Gradienten in tiefen neuronalen Netzen behandelt, das auftritt, wenn partielle Ableitungen von Gewichten, die mit Kanten in vorherigen Schichten verknüpft sind, kleiner sind, was zu vernachlässigbaren Werten führt, wenn das Netzwerk tiefer wird. Dies machte es für Forscher schwierig, neuronale Netze mit mehreren Schichten zu trainieren, da die unteren Schichten nicht trainiert wurden und daher keine aussagekräftigen Ergebnisse lieferten, um die Vorhersagen des Netzwerks zu verbessern. Dies war zum Teil auf die verwendeten Aktivierungsfunktionen zurückzuführen, beispielsweise eine Sigmoidfunktion oder eine hyperbolische Tangensfunktion, deren Gradient immer kleiner als 1 war, was es schwierig machte, die Gewichte zu optimieren und die anfängliche Berechnung anzupassen.

  • 00:40:00 In diesem Abschnitt erklärt der Dozent das Problem des Verschwindens des Gradienten in einem tiefen neuronalen Netzwerk. Er erstellt ein Spielzeug-Neuronales Netzwerk mit einer Sigmoid-Aktivierungseinheit und zeigt, wie der Gradient aus partiellen Ableitungen besteht, die Produkte von Faktoren sind, wobei jeder Faktor entweder die partielle Ableitung des Sigmoids oder ein Gewicht ist. Da die partiellen Ableitungen des Sigmoids immer kleiner als eins sind und die Gewichte auf Größen kleiner als eins initialisiert werden, führt die Multiplikation dieser Faktoren dazu, dass die partiellen Ableitungen immer kleiner werden. Dies führt dazu, dass die Gewichte beim Zurückgehen in die Schichten immer weniger Einfluss haben, was zu dem Problem des Verschwindens des Gradienten führt. Anschließend stellt der Dozent einige gängige Lösungen wie Vortraining, verschiedene Aktivierungsfunktionen, Skip-Verbindungen und Batch-Normalisierung vor und konzentriert sich auf gleichgerichtete lineare Einheiten und Max-Out-Einheiten als mögliche Lösungen.

  • 00:45:00 In diesem Abschnitt diskutiert der Dozent Lösungen für das Problem verschwindender Gradienten, die aufgrund problematischer Aktivierungsfunktionen entstehen. Eine mögliche Lösung besteht darin, Aktivierungsfunktionen zu verwenden, deren Ableitungen größer als Null sind, wie etwa die gleichgerichtete lineare Einheit (ReLU), die eine lineare Kombination von Eingaben oder Null zurückgibt. Eine andere Lösung ist die Batch-Normalisierung, die sicherstellt, dass die Daten tatsächlich in einem Bereich liegen, in dem der Gradient tendenziell nahe bei eins liegt. Diese Lösungen ermöglichen einige Pfade mit verschwindenden Gradienten, solange genügend Pfade einen Gradienten von eins haben, wodurch sich der Gradient durch das neuronale Netzwerk ausbreitet.

  • 00:50:00 In diesem Abschnitt geht der Dozent auf gleichgerichtete Lineareinheiten (ReLUs) und deren Vor- und Nachteile ein. ReLUs wurden zunächst kritisiert, weil sie eine Diskontinuität bei Null aufweisen, was zu Problemen bei der Berechnung von Gradienten mithilfe des Gradientenabstiegs führt. Dieser Sachverhalt spielt in der Praxis jedoch keine Rolle, da die Zahlenwerte selten genau Null sind. Im Gegensatz dazu ist die Soft-Loss-Funktion, die ReLUs annähert, glatt und kontinuierlich, ihr Gradient ist jedoch überall kleiner als eins. Daher trägt die Glättung von ReLUs nicht dazu bei, das Problem des Verschwindens des Gradienten zu beseitigen. Obwohl ReLUs einen Teil haben, der hätte ignoriert werden können, sind sie dennoch nützlich, da es Eingaben gibt, für die jede Einheit im linearen Teil etwas produzieren wird.

  • 00:55:00 In diesem Abschnitt diskutiert der Referent die Vorteile von gleichgerichteten Lineareinheiten (ReLUs) und stellt das Konzept der Max-Out-Einheiten vor. Er erklärt, dass ReLUs populär geworden sind, weil sie in Fällen, in denen der Gradient nicht verschwindet, schneller trainiert werden können und weniger Gradientenabstieg erfordern. Anschließend stellt der Redner Max-Out-Einheiten als Verallgemeinerung von ReLUs vor, die mehrere lineare Teile anstelle nur eines Nullteils und eines linearen Teils ermöglichen, und demonstriert, wie sie durch die Verwendung des Maximums verschiedener linearer Kombinationen konstruiert werden. Die Form einer Max-Out-Einheit weist mehrere lineare Kombinationen auf, die jeweils einer Linie entsprechen, und wird zu einer Aggregation einer verborgenen Schicht von Identitätseinheiten mit einer Max-Einheit.

  • 01:00:00 In diesem Abschnitt der Vorlesung diskutiert der Professor zwei Probleme, die gelöst werden müssen, damit Deep Learning effektiv ist. Das erste Problem ist das Problem der Überanpassung, das aufgrund der hohen Expressivität mehrschichtiger Netzwerke auftritt. Die Regularisierung ist eine Lösung, bei der die Größe der Gewichte minimiert wird, um sie klein und eingeschränkt zu halten. Eine andere Lösung ist Dropout, bei dem einige Netzwerkeinheiten während des Trainings zufällig gelöscht werden, um die Robustheit des Netzwerks zu erzwingen und eine Überanpassung zu verhindern. Das zweite Problem ist der Bedarf an hoher Rechenleistung zum Trainieren komplexer Netzwerke, was durch paralleles Rechnen mit GPUs oder verteiltes Rechnen erreicht werden kann.

  • 01:05:00 In diesem Abschnitt diskutiert der Redner die Verwendung von Dropout während der Testzeit für tiefe neuronale Netze. Während des Trainings ist Dropout eine Technik, bei der einige der eingegebenen oder versteckten Einheiten zufällig aus dem Netzwerk entfernt werden, um eine Überanpassung zu verhindern. Allerdings wird beim Testen das gesamte Netzwerk genutzt, was dazu führen kann, dass die Beträge der Linearkombinationen höher ausfallen. Um dieses Problem zu lösen, werden die Eingabeeinheiten neu skaliert, indem sie mit 1 minus der Wahrscheinlichkeit, dass sie gelöscht werden, multipliziert werden. Dasselbe wird für die verborgenen Einheiten durchgeführt. Der Sprecher liefert ein Beispiel für ein vollständig verbundenes Netzwerk mit drei Eingängen, vier versteckten Einheiten und einem Ausgang und erklärt die Verwendung eines Zufallszahlengenerators, um einige der Eingaben und versteckten Einheiten während des Trainings wegzulassen.

  • 01:10:00 In diesem Abschnitt erläutert der Dozent, was passiert, wenn alle eingegebenen oder verborgenen Einheiten in einem neuronalen Netzwerk entfernt werden, und wie die Dropout-Regularisierung dieses Problem beheben kann. Obwohl es unwahrscheinlich ist, dass alle Einheiten entfernt werden, könnte dies die Genauigkeit beeinträchtigen. Die Dropout-Regularisierung trägt dazu bei, eine Überanpassung zu verhindern und zwingt das Netzwerk dazu, robust gegenüber verlorenen Features zu werden. Der Algorithmus zur Dropout-Regularisierung umfasst das Abtasten von Bernoulli-Variablen, um ein verstümmeltes Netzwerk zu erstellen, in dem einige Einheiten gelöscht werden, und das Multiplizieren der Größen der verbleibenden Einheiten mit 1 minus der Wahrscheinlichkeit des Löschens. Während des Trainings wird der Gradient in Bezug auf das verstümmelte Netzwerk berechnet.

  • 01:15:00 In diesem Abschnitt diskutiert der Moderator die Dropout-Technik, die in tiefen neuronalen Netzen verwendet wird, um das Netzwerk robust zu machen und eine Überanpassung zu verhindern. Dropout ist eine Form des Näherungs- und Stichprobenlernens, bei dem jede Iteration ein verstümmeltes Netzwerk berechnet, indem bestimmte Knoten weggelassen werden, was zu einer Hypothese oder Funktion führt, die das Gelernte kodieren könnte. Das gesamte Netzwerk kann als Durchschnitt aller verstümmelten Netzwerke betrachtet werden, mit der Anpassung dessen, was berechnet wird. Diese Methode ähnelt dem Bayes'schen Lernen und kann nachweislich einige Berechnungen in Bezug auf einen tiefen Gaußschen Prozess annähern. Dies hilft zu rechtfertigen, warum Schulabbruch in der Praxis gut funktionieren kann. Abschließend stellt der Vortragende einige Anwendungen vor, bei denen tiefe neuronale Netze Durchbrüche erzielt haben, darunter Spracherkennung, Bilderkennung und maschinelle Übersetzung.

  • 01:20:00 In diesem Abschnitt beschreibt der Redner die historisch hochmoderne Methode zur Spracherkennung, bei der es sich um ein Hidden-Markov-Modell handelte, das eine Mischung aus Gaußschen Funktionen verwendete. Im Jahr 2009 schlugen Geoff Hinton und seine Forschungsgruppe jedoch vor, die Gaußsche Mischung durch ein tiefes neuronales Netzwerk zu ersetzen, das eine gestapelte eingeschränkte Boltzmann-Maschine verwendet. Dieses Hybridmodell zwischen einem probabilistischen Modell und einem tiefen neuronalen Netzwerk führte zu einer deutlichen Reduzierung der Fehlerquote, die über mehrere Benchmarks hinweg beobachtet werden konnte. Aufgrund dieses Durchbruchs begannen mehrere Unternehmen, darunter Google und Microsoft, mit der Nutzung tiefer neuronaler Netze, was letztendlich zu einer Renaissance im Bereich Deep Learning führte.

  • 01:25:00 In diesem Abschnitt diskutiert der Dozent die Durchbrüche bei neuronalen Netzen, beginnend mit dem Durchbruch bei der Bilderkennung im Jahr 2012. Der Durchbruch war auf die Entwicklung von Faltungs-Neuronalen Netzen zurückzuführen, die 2D-Arrays von Pixelintensitäten als Eingabe verwenden. verfügen über Faltungsschichten, die Merkmale mit unterschiedlicher Granularität berechnen, und dichte Schichten, die vollständig verbunden sind. Die Datenerweiterung wurde auch verwendet, um die Erkennung zu verbessern, indem sie gegenüber Rotation und anderen Faktoren invariant gemacht wurde. Das Ergebnis war eine deutliche Reduzierung der Fehlerquote von 26,2 % auf 16,4 % für den besten Beitrag eines Wettbewerbs. Obwohl 16 % immer noch relativ hoch sind, ist es schwierig, Bilder genau zwischen Tausenden von Klassen zu klassifizieren, und die Vorhersagegenauigkeit der höchsten fünf wurde gemessen und nicht die höchste.

  • 01:30:00 In diesem Abschnitt diskutiert der Dozent die Leistung eines Deep Neural Network-Algorithmus am Beispiel eines Machtbildes. Der Algorithmus gibt fünf potenzielle Klassen zurück und weist jeder Klasse einen Konfidenzwert zu, um die Wahrscheinlichkeit zu bestimmen, dass es sich um die richtige Klasse handelt. Das Netzwerk funktioniert im Allgemeinen gut und erkennt Objekte wie ein Containerschiff und einen Motorroller mit hoher Zuverlässigkeit korrekt, es gibt jedoch Fälle, in denen es ein Objekt falsch klassifiziert.
 

CS480/680 Vorlesung 16: Faltungs-Neuronale Netze



CS480/680 Vorlesung 16: Faltungs-Neuronale Netze

Dieses Video stellt Convolutional Neural Networks (CNNs) vor und erklärt ihre Bedeutung für die Bildverarbeitung als spezifische Art neuronaler Netzwerke mit Schlüsseleigenschaften. Der Dozent diskutiert, wie Faltung für die Bildverarbeitung genutzt werden kann, beispielsweise bei der Kantenerkennung, und wie CNNs auf ähnliche Weise Merkmale erkennen können. Das Konzept der Faltungsschichten und ihrer Parameter wird erläutert, zusammen mit dem Prozess des Trainings von CNNs mithilfe von Backpropagation und Gradientenabstieg mit gemeinsamen Gewichten. Der Dozent stellt außerdem Entwurfsprinzipien für die Erstellung effektiver CNN-Architekturen bereit, beispielsweise die Verwendung kleinerer Filter und die nichtlineare Aktivierung nach jeder Faltung.

In diesem Vortrag über Convolutional Neural Networks (CNNs) diskutiert der Redner das Konzept der Restverbindungen als Lösung für das Problem des verschwindenden Gradienten, mit dem tiefe neuronale Netze konfrontiert sind. Diese Skip-Verbindungen ermöglichen die Verkürzung von Netzwerkpfaden und das Ignorieren nutzloser Schichten, während sie bei Bedarf dennoch verwendet werden können, um zu vermeiden, dass Ausgaben nahe Null entstehen. Der Einsatz von Batch-Normalisierungstechniken wird ebenfalls eingeführt, um das Problem verschwindender Gradienten zu mildern. Darüber hinaus weist der Referent darauf hin, dass CNNs auf sequentielle Daten und Tensoren mit mehr als zwei Dimensionen angewendet werden können, beispielsweise in Videosequenzen, und dass für bestimmte Anwendungen auch 3D-CNNs eine Möglichkeit seien. Es wird hervorgehoben, dass das TensorFlow-Framework für die Berechnung mit mehrdimensionalen Arrays konzipiert ist.

  • 00:00:00 In diesem Abschnitt stellt der Vortragende Convolutional Neural Networks (CNNs) vor und erläutert deren Bedeutung in der Bildverarbeitung als spezifische Art neuronaler Netzwerke mit Schlüsseleigenschaften. In der Vorlesung wird weiter erörtert, wie CNNs skaliert werden können, um große Datensätze und Sequenzen zu verarbeiten. Der Moderator erklärt, dass CNNs nach der mathematischen Operation der Faltung benannt sind, die zwei Funktionen modifiziert, um eine dritte Funktion zu erzeugen, anhand eines Beispiels für die Verwendung der Faltung zur Glättung. Das Vorlesungsskript verwendet auch Gaußsche Funktionen als Gewichtungsfunktionen für die Faltungsoperation.

  • 00:05:00 In diesem Abschnitt wird das Konzept der Faltung sowohl im kontinuierlichen als auch im diskreten Fall diskutiert, wobei die Ausgabe Y eine gewichtete Kombination von X in einer Nachbarschaft ist. Bei der Anwendung auf Bilder handelt es sich um eine zweidimensionale Funktion, bei der jedes Pixel ein Maß dieser Funktion an einer bestimmten Koordinate in x- und y-Richtung ist. Die auf die Intensität jedes Pixels angewendeten Gewichte können ein neues Bild Y erzeugen. Beispielsweise kann eine einfache Faltung zur Kantenerkennung in einem Graustufenbild verwendet werden, um vertikale Kanten zu erkennen.

  • 00:10:00 In diesem Abschnitt diskutiert der Referent, wie Faltungen zur Erkennung von Merkmalen in neuronalen Netzen verwendet werden können. Eine Faltung ist im Wesentlichen eine lineare Kombination einer Teilmenge von Einheiten, die auf einem bestimmten Gewichtungsmuster basiert und dabei helfen kann, Merkmale wie Kanten oder andere Muster zu erkennen, die für eine bestimmte Aufgabe wichtig sein könnten. Der Sprecher erklärt außerdem, dass ein Gewichtungsmuster den Filter zur Erkennung eines Merkmals in einer Nachbarschaft bestimmt und eine nichtlineare Aktivierungsfunktion die Ausgabe verstärkt. Die Gabe oder Filter sind eine beliebte Klasse von Filtern, die allgemeinen Feature-Maps entsprechen, die von der Funktionsweise des menschlichen visuellen Kortex inspiriert sind.

  • 00:15:00 In diesem Abschnitt erklärt der Dozent, wie Faltungs-Neuronale Netze funktionieren. Die Idee besteht darin, kleine Kanten in einem Bild zu erkennen, indem Gewichtsfelder angewendet werden, die einem bestimmten Merkmal entsprechen. Die Größe jedes Feldes wird durch seine Farbe bestimmt. Diese Patches werden auf ein Bild angewendet, indem zwischen Faltungs- und Pooling-Ebenen gewechselt wird. Die Faltungsschicht berechnet mithilfe eines Filters einer bestimmten Größe und derselben Gewichtung eine Faltung, die einem anderen Vektor entspricht. Die Schlüsselelemente eines Faltungs-Neuronalen Netzwerks sind diese Faltungs- und Pooling-Schichten, die sich abwechseln, um verschiedene Merkmale in einem Bild zu erkennen.

  • 00:20:00 In diesem Abschnitt wird das Konzept der Faltungsschichten in neuronalen Netzen erläutert. Faltungsschichten verwenden ein Fenster oder einen Patch mit fester Größe, auf das eine Reihe von Gewichtungen oder Filter angewendet werden. Dieser Filter wird in jedem Fenster der Ebene wiederverwendet und erzeugt im Vergleich zu einer vollständig verbundenen Ebene eine viel spärlichere Darstellung der Verbindungen zwischen Ein- und Ausgängen. In einem 1D-Beispiel wird ein Patch der Größe 3 x 1 genommen und ein Filter auf jedes Eingabefenster angewendet. In ähnlicher Weise wird in einem 2D-Beispiel ein Patch der Größe 3 x 3 aufgenommen, wobei die gleichen Gewichtungen auf alle Schiebefenster angewendet werden, um bestimmte Merkmale wie Kanten zu erkennen. Durch die Wiederverwendung desselben Filters in allen Instanzen des Fensters ermöglichen Faltungsschichten ein kompakteres und effizienteres Netzwerkdesign.

  • 00:25:00 In diesem Abschnitt erklärt der Dozent Faltungs-Neuronale Netze und wie sie mit Bild- und Audiosignalen arbeiten, indem sie für jeden Teil des Bildes oder Signals die gleichen Gewichte verwenden. Das Netzwerk erkennt Features, indem es einen Pooling-Filter anwendet, der eine lokal gleiche Varianz berechnet und es dem Netzwerk ermöglicht, Features unabhängig von ihrem Standort zu erkennen. Diese Methode kann zur Ziffernerkennung verwendet werden, wobei ein Bitmap-Bild als Eingabe dient und eine Beschriftung von 0 bis 9 als Ausgabe erzeugt wird. Der Dozent weist darauf hin, dass Backpropagation und automatische Differenzierung die gemeinsamen Gewichte verarbeiten und die Gewichte für Kanten aktualisieren, die das gleiche Gewicht haben.

  • 00:30:00 In diesem Abschnitt des Videos erklärt der Dozent die Funktionsweise von Convolutional Neural Networks (CNNs). Der erste Schritt besteht darin, mithilfe eines Filters eine 5x5-Faltung auf das Eingabebild anzuwenden, was die Erkennung größerer Merkmale als kleinere Filter ermöglicht. Dadurch wird eine Feature-Karte der Größe 28 x 28 erstellt, mit der das Vorhandensein oder Fehlen von Features an verschiedenen Standorten überprüft werden kann. Als Nächstes wird ein Max-Pooling-Layer angewendet, um die Größe der Feature-Map auf 14x14 zu reduzieren, indem das Maximum jedes 2x2-Patches verwendet wird. Anschließend wird eine weitere Faltung unter Verwendung eines 5x5-Filters angewendet, um Features auf höherer Ebene zu erkennen, wodurch 12 Feature-Maps erzeugt werden, die erneut einem maximalen Pooling unterzogen werden. Die Idee hinter Max Pooling ist, dass die genaue Position einiger Merkmale, wie z. B. Augen oder Nase, bei der Gesichtserkennung leicht variieren kann.

  • 00:35:00 In diesem Abschnitt bespricht der Dozent den zweiten Teil eines neuronalen Netzwerks, das für die Klassifizierung konzipiert ist. Der übliche Ansatz besteht darin, eine vollständig verbundene Ebene zu nehmen, die Features zu verflachen und einen Knotenvektor zu konstruieren, um die Klassen mit den durch Backpropagation angepassten Gewichten zu berechnen. Das Schöne an Faltungs-Neuronalen Netzen besteht darin, dass die Gewichte für die Faltungsfilter nicht von Menschen entworfen werden, sondern zufällig initialisiert und aktualisiert werden, während das Netzwerk trainiert wird, sodass das Netzwerk lernen kann, relevante Merkmale zu extrahieren. Durch eine datengesteuerte Lösung ist das Netzwerk in der Lage, Funktionen zu optimieren und zu entwickeln, die in der Praxis besser funktionieren.

  • 00:40:00 In diesem Abschnitt diskutiert der Dozent das Konzept der spärlichen Verbindungen in Faltungs-Neuronalen Netzen, das sich auf die Tatsache bezieht, dass Knoten nur über wenige Verbindungen verfügen und nicht vollständig verbunden sind. Dies ermöglicht eine viel geringere Anzahl von Gewichten und eine spärlichere Berechnung. Der Dozent erklärt außerdem, wie Parameter wie die Anzahl der Filter, die Kernelgröße, die Schrittweite und das Padding in der Faltungsschicht eines neuronalen Netzwerks festgelegt werden. Die bereitgestellten Beispiele helfen dabei, weiter zu verdeutlichen, wie diese Parameter bei der Definition von Faltungsschichten verwendet werden.

  • 00:45:00 In diesem Abschnitt erklärt der Dozent, wie Faltungs-Neuronale Netze funktionieren. Der Dozent demonstriert, wie eine Faltungsschicht ein Eingabebild verarbeitet, indem sie einen Kernel darauf anwendet. Die Größe des Kernels bestimmt die Größe der Ausgabe und der Schritt bestimmt, wie weit sich der Kernel über die Eingabe bewegt. Padding kann auch verwendet werden, um die ursprüngliche Größe der Eingabe beizubehalten. Der Dozent liefert Beispiele dafür, wie sich unterschiedliche Kernelgrößen und Schrittweiten auf die Ausgabegröße der Faltungsschicht auswirken.

  • 00:50:00 In diesem Abschnitt diskutiert der Dozent den Prozess des Trainings von Convolutional Neural Networks (CNNs) mithilfe von Backpropagation und Gradient Descent, wobei die Gewichte auf die Variablen aufgeteilt werden. Der Prozess der Berechnung der partiellen Ableitung unterscheidet sich nicht, wenn eine Variable mehrmals in der Funktion vorkommt, und zum Training können Algorithmen wie Adam und RMSprop verwendet werden. Der Entwurf einer neuronalen Netzwerkarchitektur ist problemabhängig und eher eine Kunst als eine Wissenschaft. Einige Faustregeln haben jedoch gute Ergebnisse gezeigt, beispielsweise die Verwendung eines Stapels kleiner Filter anstelle eines einzelnen großen Filters für weniger Parameter und ein tieferes Netzwerk.

  • 00:55:00 In diesem Abschnitt des Videos erklärt der Dozent eine Faustregel für den Entwurf von CNN-Architekturen (Convolutional Neural Network). Er weist darauf hin, dass die Verwendung kleinerer Filter im Vergleich zu größeren Filtern tendenziell besser funktioniert und weniger Parameter erzeugt. Durch die Verwendung eines Stapels kleinerer Filter anstelle eines größeren Filters bleibt das Empfangsfeld gleich, während gleichzeitig die Anzahl der benötigten Parameter reduziert wird. Darüber hinaus kann das Hinzufügen einer nichtlinearen Aktivierung nach jeder Faltung die Leistung von CNNs verbessern. Diese Designprinzipien können bei der Erstellung effektiver Architekturen für verschiedene Anwendungen hilfreich sein.

  • 01:00:00 In diesem Abschnitt wird die Verwendung von Restschichten in Faltungs-Neuronalen Netzen diskutiert. Restschichten wurden 2015 vorgeschlagen, um die Verschlechterung der Netzwerkqualität durch das Hinzufügen zu vieler Schichten zu vermeiden. Die Idee besteht darin, Sprungverbindungen zu schaffen, um die Wege in das Netzwerk zu verkürzen, wodurch die Tiefe effektiv verringert und der Gradient effektiver verbreitet wird. Die Restverbindung überspringt einige Ebenen und fügt die Eingabe X zur Ausgabe der übersprungenen Ebenen hinzu. Wenn die zusätzlichen Schichten nicht nützlich sind, können sie auf diese Weise ignoriert werden, ohne die Leistung des Netzwerks zu beeinträchtigen.

  • 01:05:00 In diesem Abschnitt stellt der Referent das Konzept der Restverbindungen in Convolutional Neural Networks (CNNs) vor und erklärt, wie sie das Problem verschwindender Gradienten lösen können. Durch die Verwendung von Skip-Verbindungen, die im Wesentlichen die Identitätsfunktion zur Ausgabe einer Schicht hinzufügen, erhält das Netzwerk die Möglichkeit, bestimmte Schichten, die nicht nützlich sind, zu ignorieren, sie aber dennoch bei Bedarf zu verwenden. Dadurch wird das Problem vermieden, dass Schichten Ausgaben nahe Null erzeugen, was dazu führen kann, dass das Netzwerk diese Schichten vollständig ignoriert. Der Redner erwähnt auch, dass die Sprungverbindungen keinen Einfluss auf die Gradientengröße haben, und schlägt die Verwendung der Batch-Normalisierung als weiteren Ansatz vor, um das Problem verschwindender Gradienten zu mildern.

  • 01:10:00 In diesem Abschnitt des Videos diskutiert der Redner Techniken zum Umgang mit Problemen wie dem Problem des verschwindenden Gradienten und der Normalisierung in Faltungs-Neuronalen Netzen. Die Stapelnormalisierung ist eine häufig verwendete Heuristik, bei der Werte entsprechend dem verwendeten Datenstapel mit einer Varianz von 1 und zentriert bei 0 separat für jede Dimension normalisiert werden. Darüber hinaus können Sprungverbindungen dazu beitragen, Gradienten schneller auszubreiten, da sie kürzere Wege für die Rückausbreitung bieten. Abschließend stellt der Redner fest, dass Faltungs-Neuronale Netze nicht nur für Computer Vision verwendet werden können, einschließlich sequentieller Daten und Tensoren mit mehr als zwei Dimensionen, wie sie in Anwendungen wie Videosequenzen zu sehen sind. Das Framework TensorFlow ist darauf ausgelegt, Berechnungen in Bezug auf mehrdimensionale Arrays durchzuführen, anstatt sich nur auf Vektoren oder Matrizen zu beschränken.

  • 01:15:00 In diesem Abschnitt wird erwähnt, dass 3D-Faltungs-Neuronale Netze existieren und obwohl sie nicht so verbreitet sind, gibt es einige Anwendungen, in denen sie verwendet werden können.
 

CS480/680 Vorlesung 17: Hidden-Markov-Modelle


CS480/680 Vorlesung 17: Hidden-Markov-Modelle

Die Vorlesung stellt Hidden-Markov-Modelle (HMM) vor, eine Art probabilistisches grafisches Modell, das zur Ausnutzung von Korrelationen in Sequenzdaten verwendet wird, um die Genauigkeit zu verbessern. Die Modellannahmen umfassen einen stationären Prozess und einen Markovian-Prozess, wobei ein verborgener Zustand nur vom vorherigen Zustand abhängt. Die drei Verteilungen in HMM sind die Anfangszustandsverteilung, die Übergangsverteilung und die Emissionsverteilung, wobei letzterer Typ je nach Datentyp verwendet wird. Der Algorithmus kann für Überwachungs-, Vorhersage-, Filter-, Glättungs- und höchstwahrscheinlich Erklärungsaufgaben verwendet werden. HMM wurde für Spracherkennung und maschinelles Lernen verwendet, beispielsweise zur Vorhersage der wahrscheinlichsten Folge von Ausgaben basierend auf einer Folge von Eingaben und verborgenen Zuständen für ältere Menschen, die Gehhilfen zur Stabilitätskorrelation verwenden. Ein Experiment mit modifizierten Sensoren und Kameras an einem Gehwagen wurde durchgeführt, um die Aktivitäten älterer Erwachsener automatisch zu erkennen, basierend auf der Sammlung von Daten über die Aktivitäten älterer Erwachsener in einer Senioreneinrichtung. Auch die Demonstration im überwachten und unüberwachten Lernen im Kontext der Aktivitätserkennung wurde diskutiert.

Die Vorlesung konzentriert sich auf die Verwendung von Gaußschen Emissionsverteilungen in Hidden-Markov-Modellen (HMMs), die häufig in praktischen Anwendungen verwendet werden, bei denen die gesammelten Daten kontinuierlich sind. Der Dozent erklärt, dass es bei dieser Methode darum geht, Mittelwert- und Varianzparameter zu berechnen, die dem empirischen Mittelwert und der Varianz der Daten entsprechen, und daraus die Lösung für die Anfangs- und Übergangsverteilungen zu berechnen. Die Übergangsverteilung entspricht relativen Häufigkeitszählungen, und die maximale Wahrscheinlichkeit wird verwendet, um die Lösungen zu erhalten. Dieser Ansatz ähnelt der Lösung für Gauß-Mischungen, bei denen ebenfalls eine Anfangs- und Emissionsverteilung verwendet wird.

  • 00:00:00 In diesem Abschnitt stellt der Dozent das Konzept der Hidden-Markov-Modelle (HMM) vor, die sich von den bisher besprochenen neuronalen Netzen unterscheiden. Der Dozent erklärt, dass HMM verwendet werden kann, wenn die Daten aus Sequenzen und nicht aus unabhängigen Datenpunkten stammen und die Vorhersagen für einen Datenpunkt mit den Vorhersagen für den nächsten Datenpunkt korreliert sind. Der Dozent führt das Beispiel der Spracherkennung an, bei der die Vorhersage eines Phonems oder Wortes mit dem nächsten Phonem oder Wort korreliert wird. Die Ausnutzung dieser Korrelationen kann die Genauigkeit von Vorhersagen verbessern. Der Dozent erklärt auch, dass HMM zu einem rekurrenten neuronalen Netzwerk (RNN) verallgemeinert werden kann, das mit Sequenzdaten umgehen und Informationen zwischen verschiedenen Punkten in einer Sequenz weitergeben kann, worauf später noch eingegangen wird.

  • 00:05:00 In diesem Abschnitt der Vorlesung stellt der Referent Hidden-Markov-Modelle als Verallgemeinerung von Mischungen von Gaußschen Gleichungen vor. Er erklärt, dass Hidden-Markov-Modelle Korrelationen in sequentiellen Daten ausnutzen, um die Genauigkeit zu erhöhen, und verwendet werden, um eine Verteilung über y auszudrücken, die der bedingten Wahrscheinlichkeitsverteilung x bei gegebenem y folgt. Dies unterscheidet sich von einer Gaußschen Mischung, bei der eine klassenbedingte Verteilung für die Eingabe x ausgedrückt wird, nachdem y aus einer Multinomialverteilung abgetastet wurde. Der Referent zieht auch einen Vergleich zwischen diesem Modell und dem bedingten Zufallsfeld sowie rekurrenten neuronalen Netzen.

  • 00:10:00 In diesem Abschnitt erklärt der Dozent die Annahmen, die beim Entwurf eines Hidden-Markov-Modells getroffen werden. Die erste Annahme ist, dass der Prozess stationär ist, was bedeutet, dass die Übergangs- und Emissionsverteilungen unabhängig von der Zeit sind. Die zweite Annahme ist, dass der Prozess markovianisch ist, was bedeutet, dass ein gegebener verborgener Zustand nur vom vorherigen verborgenen Zustand abhängt. Diese Annahmen erstellen ein probabilistisches grafisches Modell mit einer Anfangsverteilung, einer Übergangsverteilung und einer Emissionsverteilung, die zusammen eine gemeinsame Verteilung bilden. Die Anfangsverteilung beschreibt die Verteilung für den ersten verborgenen Zustand und ist typischerweise ein Multinomial.

  • 00:15:00 In diesem Abschnitt lernen wir die drei Verteilungen in Hidden-Markov-Modellen kennen: Anfangszustandsverteilung, Übergangsverteilung und Emissionsverteilung. Die Gaußsche Emissionsverteilung wird für kontinuierliche Daten verwendet, während die multinomiale Emissionsverteilung für diskrete Daten nützlich ist, beispielsweise Wortfolgen für die Verarbeitung natürlicher Sprache. Indem wir diese Verteilungen miteinander multiplizieren, können wir die gemeinsame Verteilung ableiten, die für verschiedene Anwendungen wie die Roboterlokalisierung verwendet werden kann.

  • 00:20:00 In diesem Abschnitt erfahren wir mehr über das Problem, dass ein Roboter aufgrund der Drift und Ungenauigkeiten der Kilometerstände verloren geht. Eine Lösung für dieses Problem ist die Verwendung eines Hidden-Markov-Modells, bei dem die Ys, der verborgene Zustand, den Standortkoordinaten des Roboters entsprechen und die Eingaben einigen Messungen von Sensoren entsprechen. Die Übergangsverteilung erfasst die Wahrscheinlichkeit, dass der Roboter aufgrund von Bewegungsunsicherheiten an verschiedenen Orten landet, während die Emissionsverteilung eine Verteilung über die von Sensoren erhaltenen Messungen aufweist, um Messungenauigkeiten zu berücksichtigen. Zur Lokalisierung kann das Hidden-Markov-Modell verwendet werden, bei dem die Wahrscheinlichkeit der Position des Roboters zu einem bestimmten Zeitpunkt berechnet wird.

  • 00:25:00 In diesem Abschnitt erklärt der Referent die vier großen Kategorien, in die Aufgaben im Zusammenhang mit Hidden-Markov-Modellen (HMM) klassifiziert werden können. Zu diesen Kategorien gehören Überwachung, Vorhersage, Eindeutigkeit und höchstwahrscheinliche Erklärung. Der für die Überwachungsaufgabe verwendete Algorithmus wird als Vorwärtsalgorithmus bezeichnet. Es beinhaltet die rekursive Zerlegung der Abfrage hinsichtlich der Wahrscheinlichkeit des vorherigen verborgenen Zustands unter Berücksichtigung aller vorherigen Messungen, was die Berechnung der Wahrscheinlichkeit von Y für gegebenes X ermöglicht. Der Algorithmus funktioniert, indem er den ersten verborgenen Zustand berechnet, wenn der erste gegeben ist Messung und dann Berechnung des nächsten verborgenen Zustands bei gegebenen Messungen bis zu diesem Zeitschritt und die Sequenz wird immer weiter erhöht, indem man in der Zeit vorwärts geht.

  • 00:30:00 In diesem Abschnitt diskutiert der Dozent die Vorhersageaufgabe mithilfe von Hidden-Markov-Modellen (HMMs), bei der es darum geht, den zukünftigen Zustand eines Systems anhand des aktuellen Zustands vorherzusagen. Beispiele für diese Aufgabe sind Wetter- und Börsenvorhersagen. Die Berechnung erfolgt ähnlich wie bei der Überwachung, wobei ein Vorwärtsalgorithmus mit zwei Phasen verwendet wird: Überwachung und Vorhersage. Im bereitgestellten Beispiel zeigt der Dozent, wie man die Wahrscheinlichkeit von Y4 berechnet, wenn nur X1 und X2 gegeben sind. Der Dozent erwähnt auch, dass HMMs mit Vorhersage zur Textgenerierung verwendet werden könnten, wobei das Modell anhand des aktuellen Textes den nächsten beobachtbaren Text vorhersagt.

  • 00:35:00 In diesem Abschnitt bespricht der Dozent die Aufgaben von Hidden-Markov-Modellen (HMMs), zu denen Filterung, Glättung und Rückblicksschlussfolgerung gehören. Filtern bezieht sich auf die Vorhersage des aktuellen Zustands eines Systems auf der Grundlage vergangener Beobachtungen, während Glättung sich auf die Vorhersage früherer Zustände anhand von Beobachtungen vor und nach diesem Zustand bezieht. Beim rückblickenden Denken geht es darum, die Eigenschaft eines Zustands in der Vergangenheit anhand von Beobachtungen vor und nach diesem Zustand zu berechnen. Der Dozent betont, dass HMMs für diese Aufgaben nicht mehr der Stand der Technik sind, sie aber ein Vorläufer rekurrenter neuronaler Netze sind, die tendenziell effektiver sind. Die Berechnung dieser Aufgaben erfolgt rekursiv, was zur Erstellung des Vorwärts-Rückwärts-Algorithmus führt.

  • 00:40:00 In diesem Abschnitt diskutiert der Redner die Verwendung von Hidden Markov Models (HMMs) für Spracherkennung und maschinelle Übersetzung. HMMs werden verwendet, um die wahrscheinlichste Folge von Ausgaben basierend auf einer Folge von Eingaben und verborgenen Zuständen zu berechnen. Auf dieses dynamische Programmierverfahren wird zur Maximierung der Viterbi-Algorithmus angewendet. Diskutiert wird auch eine Anwendung der Aktivitätserkennung mittels Sensormessungen und Walker-Geräten, die ältere Menschen zum Gehen nutzen. Das Ableiten der Aktivitäten einer Person mit einem Gehhilfe hilft dabei, die wahrscheinlichsten Manöver zu bestimmen, die zu einem Sturz führen oder einen Sturz auslösen könnten, was in manchen Situationen beobachtet wurde, obwohl Gehhilfen zur Stabilisierung eingesetzt werden.

  • 00:45:00 In diesem Abschnitt bespricht der Redner eine Studie, bei der ein modifizierter Gehwagen mit Sensoren und Kameras verwendet wurde, um Daten über die Aktivitäten älterer Erwachsener in einer Senioreneinrichtung zu sammeln. Der Gehwagen verfügte über Sensoren wie einen 3D-Beschleunigungsmesser und Lastsensoren, die das Gewicht an jedem Bein des Gehers maßen, sowie über eine Kamera, die nach hinten auf die Beine schaute. Bei dem Experiment mussten die Teilnehmer einen Hindernisparcours absolvieren, der alltägliche Aktivitäten simulierte. Mithilfe der gesammelten Daten wurde ein Hidden-Markov-Modell entwickelt, das die von den Teilnehmern durchgeführten Aktivitäten automatisch erkannte. Das Modell verfügte über acht Kanäle für die Sensoren und nutzte maschinelles Lernen, um die Parameter des anfänglichen Übergangs und die Emissionsverteilungen abzuschätzen.

  • 00:50:00 In diesem Abschnitt diskutiert der Redner die Demonstration eines Algorithmus, der die Aktivität einer Person anhand von Sensormessungen vorhersagt. Der Algorithmus verwendet ein Hidden-Markov-Modell oder ein bedingtes Zufallsfeld, um die Aktivität der Person zu verfolgen und Vorhersagen auszugeben, die dann mit manuell gekennzeichneten korrekten Verhaltensweisen verglichen werden. Die Aktivität der Person wird visuell als schwankende Kurven dargestellt, und im rechten Bereich des Videos werden 13 separate Aktivitäten angezeigt, die durch ein rotes Quadrat für das richtige Verhalten und ein blaues Quadrat für die Vorhersage des Algorithmus gekennzeichnet sind. Der Sprecher erklärt, dass es zwar theoretisch möglich sei, die Person, die die Sensoren trägt, ihre Aktivitäten anzeigen zu lassen, aber nicht praktikabel sei, da die Person ihre eigenen Bewegungen möglicherweise nicht immer zuverlässig einschätzen kann und es unangenehm sein kann, wenn jemand ständig ihre Aktionen ankündigt. Darüber hinaus würde der Algorithmus bei unbeaufsichtigtem Lernen auf eine Aktivität schließen, diese aber nicht genau benennen können.

  • 00:55:00 In diesem Abschnitt diskutiert der Referent den Ansatz sowohl für überwachtes als auch für unüberwachtes Lernen im Kontext der Aktivitätserkennung. Beim überwachten Lernen sind die Ys bekannt und das Ziel besteht darin, die Wahrscheinlichkeit der Daten zu maximieren. Ein diskutierter Ansatz besteht darin, die Ableitung zu berechnen, sie auf Null zu setzen, die Parameter zu isolieren und Werte und Schätzungen für Pi Theta und Phi zu erhalten. Bei zwei Aktivitäten und binären Messungen ist es möglich, die gemeinsame Verteilung des Modells zu erweitern und die Ableitung auf Null zu setzen. Die resultierenden Antworten sind natürlich und beziehen sich auf das Verhältnis der Anzahl der Klassen in den Daten.

  • 01:00:00 In diesem Abschnitt diskutiert der Dozent die Verwendung von Gaußschen Emissionsverteilungen, die in praktischen Anwendungen eine gängige Praxis sind, da die gesammelten Daten oft kontinuierlich sind. Bei dieser Methode werden Mittelwert- und Varianzparameter verwendet, die dem empirischen Mittelwert und der Varianz der gesammelten Daten entsprechen. Die Lösung für die Anfangs- und Übergangsverteilung ist dieselbe wie zuvor, während die Übergangsverteilung relativen Häufigkeitszählungen entspricht. Anschließend wird die maximale Wahrscheinlichkeit verwendet, um diese Lösungen zu erhalten. Diese Technik ähnelt der Lösung für Gauß-Mischungen, bei denen wir ebenfalls eine Anfangs- und Emissionsverteilung haben.
 

CS480/680 Vorlesung 18: Rekurrente und rekursive neuronale Netze



CS480/680 Vorlesung 18: Rekurrente und rekursive neuronale Netze

In diesem Vortrag stellt der Referent rekurrente und rekursive neuronale Netze als Modelle vor, die für sequentielle Daten ohne feste Länge geeignet sind. Rekurrente neuronale Netze können Sequenzen beliebiger Länge verarbeiten, da bestimmte Knoten Ausgänge als Eingänge zurückführen, und die Art und Weise, wie H bei jedem Zeitschritt berechnet wird, erfolgt durch die Verwendung derselben Funktion f, was eine Gewichtsteilung beinhaltet. Sie können jedoch unter Einschränkungen leiden, z. B. weil sie sich Informationen aus frühen Eingaben nicht merken und es zu Vorhersageabweichungen kommt. Der Dozent erläutert außerdem die Architektur des bidirektionalen rekurrenten neuronalen Netzwerks (BRNN) und das Encoder-Decoder-Modell, das zwei RNNs – einen Encoder und einen Decoder – für Anwendungen verwendet, bei denen die Eingabe- und Ausgabesequenzen nicht auf natürliche Weise übereinstimmen. Darüber hinaus beschreibt der Dozent die Vorteile von Long Short-Term Memory (LSTM)-Einheiten, die das Problem des verschwindenden Gradienten abmildern, Abhängigkeiten über große Entfernungen erleichtern und den Informationsfluss selektiv zulassen oder blockieren können.

Diese Vorlesung über rekurrente und rekursive neuronale Netze behandelt eine Reihe von Themen, darunter die Verwendung von Long Short-Term Memory (LSTM) und Gated Recurrent Unit (GRU)-Einheiten zur Vermeidung von Gradientenproblemen sowie die Bedeutung von Aufmerksamkeitsmechanismen bei der maschinellen Übersetzung zur Erhaltung der Satzbedeutung und Wortausrichtung. Der Dozent diskutiert auch, wie rekurrente neuronale Netze auf rekursive neuronale Netze für Sequenzen, Graphen und Bäume verallgemeinert werden können und wie man Sätze analysiert und Satzeinbettungen mithilfe von Analysebäumen erzeugt.

  • 00:00:00 In diesem Abschnitt des Videos stellt der Referent rekurrente und rekursive neuronale Netze als Modelle vor, die für sequentielle Daten ohne feste Länge geeignet sind. Feed-Forward-Neuronale Netze, die zuvor diskutiert wurden, gehen von einer Eingabe fester Länge aus, was beim Umgang mit Daten variabler Länge, wie z. B. Zeitreihendaten oder maschineller Übersetzung, Probleme aufwirft. Rekurrente neuronale Netze, die über bestimmte Knoten verfügen, deren Ausgänge als Eingänge zurückgekoppelt werden, können Sequenzen beliebiger Länge verarbeiten. Der Referent erläutert dies anhand einer Vorlage und einer ausgerollten Version des Netzwerks. Besprochen werden auch rekursive neuronale Netze, die sich auf Bäume oder Graphen verallgemeinern lassen.

  • 00:05:00 In diesem Abschnitt diskutiert der Referent, wie sich rekurrente neuronale Netze über verschiedene Zeitschritte hinweg verbinden und wie sie trainiert werden. Um RNNs zu trainieren, erklärt der Sprecher, dass der Gradientenabstieg zusammen mit einer Technik namens Backpropagation through Time verwendet wird, bei der das Netzwerk im Laufe der Zeit abgewickelt und ein vorwärtsgerichtetes neuronales Netzwerk erstellt wird. Der Sprecher weist außerdem darauf hin, dass H bei jedem Zeitschritt durch die Verwendung derselben Funktion f berechnet wird, was eine Gewichtsteilung beinhaltet. Die Funktion f übernimmt Eingaben sowohl vom vorherigen H als auch vom aktuellen X und die dafür verwendeten Gewichte sind in jedem Zeitschritt gleich.

  • 00:10:00 In diesem Abschnitt erklärt der Dozent rekurrente neuronale Netze (RNNs) und Gewichtsverteilung. RNNs sind Netzwerke, die in jedem Zeitschritt wiederholt dieselbe Funktion verwenden und dieselben Gewichte haben. Dies bedeutet, dass eine gewisse Gewichtsverteilung stattfindet, was die Ableitung des Gradienten während der Backpropagation unterschiedlich machen kann. Der Dozent erwähnt auch, dass H im Allgemeinen ein Vektor ist, wobei F eine Funktion ist, die einen Vektor ausgibt. Dieser Effekt stellt das Training vor Herausforderungen, einschließlich des Problems des Verschwindens und der Explosion des Gradienten, bei dem die Multiplikation von Faktoren, die kleiner oder größer als eins sind, entweder zu einem verschwindenden oder explodierenden Gradienten führen kann.

  • 00:15:00 In diesem Abschnitt der Vorlesung erörtert der Redner die Einschränkungen rekurrenter neuronaler Netze (RNNs) und wie sie sich möglicherweise nicht an Informationen aus frühen Eingaben erinnern. Dies kann bei Anwendungen wie der maschinellen Übersetzung problematisch sein, bei denen das erste Wort genauso wichtig ist wie das letzte Wort. Bei Aktivitäten wie der Aktivitätserkennung kann es jedoch in Ordnung sein, wenn das RNN vor einiger Zeit durchgeführte Sensormessungen vergisst, da aktuelle Messungen wichtiger sind. Ein weiteres Problem bei RNNs ist die Vorhersagedrift, bei der sich im Laufe der Zeit Fehler in den Vorhersagen anhäufen und zu einer Drift der Vorhersagen führen. Der Referent vergleicht außerdem RNNs mit Hidden-Markov-Modellen (HMMs) und erklärt, wie RNNs zur Verallgemeinerung von HMMs verwendet werden können.

  • 00:20:00 In diesem Abschnitt erklärt der Referent den Unterschied zwischen einem Hidden-Markov-Modell und einem rekurrenten neuronalen Netzwerk. In einem Hidden-Markov-Modell zeigen die Pfeile probabilistische Abhängigkeiten an, während in einem rekurrenten neuronalen Netzwerk die Pfeile funktionale Abhängigkeiten anzeigen. Der Sprecher stellt verborgene Zustände und Ausgaben in einem rekurrenten neuronalen Netzwerk vor und erklärt, dass der Graph der Berechnung entspricht
    Fertig sein. Der verborgene Zustand wird mithilfe einer Funktion berechnet, die den vorherigen verborgenen Zustand und die Eingabe verwendet, und die Ausgabe wird mithilfe einer anderen Funktion erhalten, die den verborgenen Zustand als Eingabe verwendet. Letztendlich besteht das Ziel darin, diese Berechnung zur Berechnung von Wahrscheinlichkeiten oder zur Erkennung von Aktivitäten zu nutzen.

  • 00:25:00 In diesem Abschnitt wird das Konzept der Verwendung wiederkehrender neuronaler Netze zur Emulation eines Hidden-Markov-Modells im Kontext der Klassifizierung, insbesondere der Aktivitätserkennung, diskutiert. Das RNN wird verwendet, um den verborgenen Zustand von der Ausgabe zu entkoppeln, was bedeutet, dass die Ausgabe nur vom verborgenen Zustand abhängt, der durch eine Funktion transformiert wird. Ein Beispiel hierfür wird anhand einer nichtlinearen Aktivierungsfunktion gezeigt, die auf HT und verschiedener Gewichtungssätze angewendet wird, um die Ausgabe zu transformieren. Der Vorwärtsalgorithmus des RNN kann y1 basierend auf X1, y2 basierend auf X1 und

  • 00:30:00 In diesem Abschnitt diskutiert der Dozent die Einschränkungen der unidirektionalen rekurrenten neuronalen Netzwerkarchitektur, die nur Vorwärtsberechnungen ermöglicht, und stellt die bidirektionale rekurrente neuronale Netzwerkarchitektur (BRNN) als Lösung für dieses Problem vor. Der Dozent zeichnet ein Diagramm der BRNN-Architektur, das vorwärts und rückwärts verborgene Zustände, Eingaben und Ausgaben umfasst. Durch die Aggregation von Vorher- und Nachher-Informationen über die verborgenen Vorwärts- und Rückwärtszustände ermöglicht die BRNN-Architektur bidirektionale Berechnungen und kann Vorhersagen basierend auf Eingaben in beide Richtungen berechnen.

  • 00:35:00 In diesem Abschnitt des Videos erläutert der Dozent, wie rekurrente neuronale Netze in Anwendungen verwendet werden können, bei denen die Eingabe- und Ausgabesequenzen nicht auf natürliche Weise übereinstimmen, wie z. B. maschinelle Übersetzung, Fragebeantwortung und Konversationsagenten. Um diese Probleme zu lösen, wird häufig eine andere Architektur verwendet, die als Encoder-Decoder-Modell oder Sequenz-zu-Sequenz-Modell bekannt ist. Diese Architektur nutzt zwei RNNs – einen Encoder und einen Decoder. Der Encoder codiert die Eingabesequenz in einen Kontextvektor, der eine Einbettung der Eingabe darstellt, und der Decoder verwendet den Kontextvektor, um die entsprechende Ausgabesequenz zu erzeugen. Dieser Ansatz ermöglicht Eingabe- und Ausgabesequenzen unterschiedlicher Länge und keine Synchronisierung zwischen Wörtern in der Eingabe und Ausgabe.

  • 00:40:00 In diesem Abschnitt der Vorlesung beschreibt der Dozent die Architektur eines Sequenz-zu-Sequenz-Modells in der maschinellen Übersetzung, das ein rekurrentes neuronales Netzwerk verwendet, um Eingabesätze in einem Kontextvektor (C) zusammenzufassen, der als dient Speicher des Modells. Der Kontextvektor wird verwendet, um eine Folge übersetzter Wörter zu dekodieren und zu erzeugen, wobei jedes Wort einer anderen Ausgabe entspricht. Das Modell verwendet außerdem versteckte Zustände, um den Fortschritt der Übersetzung zu verfolgen und sicherzustellen, dass Informationen aus dem Kontextvektor nicht mit der Zeit vergessen werden. Der Dozent erklärt, dass es nützlich ist, in jeden Schritt des Dekodierungsprozesses sowohl den Kontextvektor als auch den vorherigen verborgenen Zustand einzuspeisen, um die Kohärenz des übersetzten Satzes sicherzustellen.

  • 00:45:00 In diesem Abschnitt des Videos diskutiert der Professor den Einsatz von Redundanz im Informationsfluss in neuronalen Netzen. Der zum Kodieren von Informationen verwendete Vektor ist typischerweise hochdimensional und kann 500–1000 Werte haben, was ihn ideal zum Kodieren ganzer Sätze macht. Das Video zeigt auch Beispiele für Übersetzungen, die mithilfe eines Modells erzielt wurden, das ein rekurrentes neuronales Netzwerk verwendet. Das Modell wurde auf einem großen Datenbestand trainiert und konnte dem Stand der Technik in der maschinellen Übersetzung entsprechen, ohne dass große Kenntnisse über Linguistik oder die Feinheiten der maschinellen Übersetzung erforderlich waren, was es zu einem erheblichen Fortschritt machte. Darüber hinaus wurde in den 1990er Jahren die Einheit Long Short-Term Memory (LSTM) vorgeschlagen, um Fernabhängigkeiten in neuronalen Netzen zu verbessern.

  • 00:50:00 In diesem Abschnitt erörtert der Dozent die Vorteile von LSTM-Einheiten (Long Short-Term Memory), die das Problem des verschwindenden Gradienten mildern und das Erlernen von Abhängigkeiten über große Entfernungen erleichtern können, da sie Informationen über einen längeren Zeitraum speichern können Zeiträume. Der Schlüssel zur LSTM-Einheit ist die Einführung von Gates, einschließlich Input-, Forget- und Output-Gates. Diese Gatter regulieren den Informationsfluss, indem sie einen Wert zwischen 0 und 1 annehmen und ihn mit der Eingabe, dem verborgenen Zustand oder der Ausgabe multiplizieren. Der Dozent erläutert außerdem die LSTM-Zellenarchitektur und führt Gates für jede Verbindung ein, um die Verbindungen zwischen ihnen zu regulieren. Diese Modifikationen ermöglichen es der LSTM-Einheit, den Informationsfluss selektiv zuzulassen oder zu blockieren und das Langzeitgedächtnis bei Aufgaben wie der maschinellen Übersetzung zu erleichtern.

  • 00:55:00 In diesem Abschnitt erklärt der Dozent die Struktur und Variationen von Long Short-Term Memory (LSTM)-Einheiten, einer Art rekurrentem neuronalen Netzwerk. LSTM-Einheiten bestehen aus einer Kombination mehrerer Gatter, die den Informationsfluss regulieren, z. B. dem Eingangsgatter, dem Ausgangsgatter, dem Vergessensgatter und dem Speichergatter. Diese Gatter nehmen sowohl das aktuelle X als auch den vorherigen verborgenen Zustand als Eingabe und geben einen Wert zwischen 0 und 1 aus, der darüber entscheidet, ob neue Informationen eingelassen oder alte Informationen vergessen werden. Der Dozent erwähnt auch, dass neuere LSTM-Einheiten Zellzustände anstelle von versteckten Zuständen für die Speicherspeicherung verwenden und H als Ausgang anstelle von Y haben. Die Vorlesung endet mit der Beschreibung spezifischer Gleichungen, die die verschiedenen Gates der LSTM-Einheit steuern.

  • 01:00:00 In diesem Abschnitt erklärt der Kursleiter, wie die Long Short-Term Memory (LSTM)-Einheiten funktionieren und wie sie bei der Vermeidung von Gradientenproblemen wie verschwindenden und explodierenden Gradienten nützlich sind. Es wird erklärt, dass Gatter verwendet werden, um zu bestimmen, was den Zellzustand beeinflussen kann, der den Speicher des Netzwerks trägt. Der Dozent weist außerdem darauf hin, dass Gated Recurrent Unit (GRU) im Jahr 2014 als vereinfachte Version der LSTM-Einheiten vorgeschlagen wurde. Die GRU entfernt eines der in den LSTM-Einheiten verwendeten Tore.

  • 01:05:00 In diesem Abschnitt stellt der Redner die Gated Recurrent Unit (GRU) vor, die die Long-Short-Term-Memory-Einheit (LSTM) vereinfacht, indem sie nur zwei Tore hat: das Reset-Gate und das Update-Gate. Das Update-Gate bestimmt, ob die neue Eingabe in den verborgenen Zustand übergeht oder das, was sich bereits darin befand, beibehält. Dies reduziert die Komplexität der Einheit und macht sie effizienter, was zu einer besseren Leistung führt. Allerdings gibt es auch bei der Verwendung von GRU immer noch etwas Gedächtnis, das bei jedem Schritt gestört wird. Daher wurden Aufmerksamkeitsmechanismen entwickelt, die besonders bei der maschinellen Übersetzung nützlich sind, um jedes Ausgabewort mit einigen Wörtern in der Eingabesequenz abzugleichen, sodass das Modell dies tun kann Behalten Sie die Bedeutung des ursprünglichen Satzes bei und überprüfen Sie die Wort-zu-Wort-Ausrichtung.

  • 01:10:00 In diesem Abschnitt wurde die Idee von Kontextvektoren zum Dekodieren einer Wortfolge vorgestellt. Der Kontextvektor basiert auf einer gewichteten Kombination aller verborgenen Zustände, die jedem Zeitschritt im Codierungsprozess zugeordnet sind. Die Gewichte werden durch einen Softmax ermittelt, der eine höhere Wahrscheinlichkeit erzeugt, wenn eine Übereinstimmung zwischen der beabsichtigten Ausgabe und einem Eingabewort besteht. Die Ausrichtung wird mithilfe eines Skalarprodukts berechnet und durch einen Softmax in eine Wahrscheinlichkeit umgewandelt, die die Berechnung einer gewichteten Kombination möglicher Eingaben ermöglicht. Auf diese Weise erstellen wir einen Kontextvektor, der den Kontext zusammenfasst, der für die nächsten paar Wörter, die wir produzieren möchten, wichtig ist, anstatt den gesamten Satz zusammenzufassen.

  • 01:15:00 In diesem Abschnitt diskutiert der Dozent den Einsatz von Aufmerksamkeitsmechanismen in der maschinellen Übersetzung. Der Aufmerksamkeitsmechanismus besteht darin, eine konvexe Kombination verborgener Zustände zu verwenden, die bei jedem Zeitschritt berechnet werden, anstatt nur den letzten verborgenen Zustand als Kontextvektor zu verwenden. Die für die Kombination verwendeten Gewichte sind Wahrscheinlichkeiten, die aus einem Softmax erhalten werden, und sie werden verwendet, um Ausrichtungen zwischen dem vorherigen verborgenen Zustand und allen vorherigen Eingaben zu berechnen. Dadurch kann das maschinelle Übersetzungsmodell die zu übersetzenden Konzepte mit dem richtigen Teil der Eingabe abgleichen. Der Einsatz von Aufmerksamkeit hat die maschinelle Übersetzung verbessert, und der Dozent präsentiert einige Ergebnisse von Autoren, die sie im Jahr 2015 eingesetzt haben.

  • 01:20:00 In diesem Abschnitt des Vortrags erörtert der Redner das Problem langer Sätze in der maschinellen Übersetzung und die Bedeutung eines Mechanismus, der einen Rückblick während des Übersetzungsprozesses ermöglicht. Der Forscher vergleicht die Genauigkeit eines wiederkehrenden neuronalen Netzwerks mit und ohne Aufmerksamkeit und misst die Unterschiede in der Genauigkeit mithilfe des BLEU-Scores (Bilingual Evaluation Under Study). Die obere Kurve, die die Aufmerksamkeit nutzt, zeigt ein gleichbleibendes Maß an Genauigkeit, selbst wenn die Satzlänge zunimmt. Dies kann auf den Aufmerksamkeitsmechanismus zurückgeführt werden, der es allen Wörtern in der Eingabesequenz ermöglicht, den Kontextvektor für den nächsten Schritt der Dekodierung zu beeinflussen, unabhängig von ihrer Position.

  • 01:25:00 In diesem Abschnitt diskutiert der Dozent die Einschränkungen rekurrenter neuronaler Netze bei der Arbeit mit langen Sätzen und die Bedeutung von Aufmerksamkeitsmechanismen zur Lösung dieses Problems. Rekurrente neuronale Netze neigen dazu, frühe Wörter durch nachfolgende Wörter zu überschreiben, was bei langen Sequenzen zu einer schlechteren Übersetzungsqualität führt. Aufmerksamkeitsmechanismen lösen dieses Problem, indem sie sich auf bestimmte Wörter konzentrieren und es dem neuronalen Netzwerk ermöglichen, längere Sequenzen beliebiger Länge zu verarbeiten. Aufmerksamkeitsmechanismen helfen auch bei der Verarbeitung verschiedener Sprachen, bei denen die Wortausrichtung nicht unbedingt eineindeutig ist. Der Dozent liefert Beispiele dafür, wie Aufmerksamkeitsmechanismen bei der Erstellung von Übersetzungskarten funktionieren, die die Ausrichtung von Wörtern in verschiedenen Sprachen zeigen.

  • 01:30:00 In diesem Abschnitt erklärt der Referent, wie rekurrente neuronale Netze auf rekursive neuronale Netze verallgemeinert werden können, die für Sequenzen, Diagramme und Bäume verwendet werden können. Der Schlüssel besteht darin, Eingaben zu transformieren und sie rekursiv so zu kombinieren, dass eine Ausgabe oder Einbettung entsteht, die die Bedeutung der Eingabe erfasst. Um mit unterschiedlichen Längen von Eingaben umzugehen, betont der Redner die Bedeutung der Gewichtsverteilung zwischen den verschiedenen Anwendungen von Regeln zum Kombinieren verschiedener Knoten im Diagramm. Der Redner schlägt außerdem vor, Analysebäume oder Abhängigkeitsdiagramme zu verwenden, um ein Diagramm zu erstellen, das die Syntax widerspiegelt und beim Rechnen und Einbetten nützlich sein kann.

  • 01:35:00 In diesem Abschnitt erläutert der Dozent, wie man einen Satz mithilfe von Wahlkreisanalysebäumen analysiert und wie man Einbettungen für ganze Sätze erstellt. Die Idee besteht darin, Wortarten-Tags zu entwickeln und sie zu Phrasen und Analysebäumen zu kombinieren, um die Satzstruktur zu verstehen. Indem wir jeder Transformation Regeln zuordnen und Gewichtungen über alle Anwendungen derselben Regel hinweg teilen, können wir Einbettungen erzeugen, die vielversprechender sind und mit der Art und Weise übereinstimmen, wie Menschen Sätze verstehen. Einige Forscher haben gezeigt, dass wir durch den Aufbau von Einbettungen auf diese Weise sehr gute Ergebnisse erzielen können.

  • 01:40:00 In diesem Abschnitt des Videos diskutiert der Sprecher das Potenzial für eine bessere Satzeinbettung durch die Verwendung eines korrekten Analysebaums. Sie schließen den vorherigen Foliensatz ab und fahren mit dem nächsten fort.