Maschinelles Lernen und neuronale Netze - Seite 33

 

CS 198-126: Vorlesung 4 - Einführung in Vortraining und Augmentationen



CS 198-126: Vorlesung 4 - Einführung in Vortraining und Augmentationen

In diesem Vortrag erklärt der Referent die Evolution der Merkmalsextraktion beim maschinellen Lernen, die Vorteile von Deep Learning und wie Transfer Learning eingesetzt werden kann, um die Genauigkeit und Geschwindigkeit von Modellen zu verbessern. Sie diskutieren auch das Konzept des Einfrierens und der Feinabstimmung von Schichten in neuronalen Netzen und die Bedeutung von Einbettungen bei der Reduzierung der Dimensionalität kategorialer Variablen. Die Vorlesung führt in das selbstüberwachte Lernen und seine verschiedenen Aufgaben ein, darunter die Puzzle-, Rotations- und Masked-Word-Prediction-Aufgaben, mit denen Modelle vortrainiert und erlernte Repräsentationen auf nachgelagerte Aufgaben übertragen werden können. Abschließend wird das wiedererwachte Interesse am selbstüberwachten Lernen im Bereich Computer Vision thematisiert und der Vortrag animiert, die Hausaufgaben am High Crush-Notebook zu erledigen.

  • 00:05:00 In diesem Abschnitt der Vorlesung behandelt der Autor Repräsentationslernen und flaches Lernen. Beim flachen Lernen beginnt die maschinelle Lernpipeline mit einer Eingabe X, Merkmale werden daraus mit einem Merkmalsextrahierer extrahiert, und dann werden die extrahierten Merkmale an einen maschinellen Lernalgorithmus übergeben, um eine Ausgabe Y zu erhalten. Der Moderator erklärt, dass die Merkmalsextraktion abhängig ist auf den Daten und kann sein
    einfach für tabellarische Daten, aber komplex für Daten wie Text, Audio oder Bilder. Für Bilder gibt es jedoch spezialisierte Merkmalsextraktoren, die in der klassischen Computervision verfügbar sind.

  • 00:10:00 In diesem Abschnitt erklärt der Dozent das Konzept der Merkmalsextraktion und wie es sich beim maschinellen Lernen entwickelt hat. Beim klassischen maschinellen Lernen wird ein handprogrammierter Merkmalsextrahierer wie Hog, der Kanteninformationen in einem Bild erfasst, zum Erstellen von Modellen verwendet. Dieser Prozess stellt jedoch eine Herausforderung dar, da Merkmalsextraktoren für unterschiedliche Aufgaben variieren. Deep Learning bietet einen End-to-End-Prozess, indem sowohl die Merkmalsextraktion als auch die Ausgabevorhersage gelernt werden. Der Dozent erklärt, dass dieser Prozess das Lernen abstrakter Repräsentationen der Eingabedaten ermöglicht, die in einem neuronalen Netzwerk durch Schichten erlernter Merkmalsextrahierer geleitet werden, was zu hierarchischen Repräsentationen führt. Der Vortrag liefert ein Beispiel dafür, wie tiefe neuronale Netze Repräsentationen von Bildern von Autos lernen.

  • 00:15:00 In diesem Abschnitt erläutert der Referent, wie Tiefe in neuronalen Netzen dabei hilft, Darstellungen zu verfeinern. Frühe Schichten des Netzwerks erkennen Details auf niedriger Ebene wie Kanten, während sich spätere Schichten auf konkretere Merkmale wie Türen oder Fenster in einem Bild konzentrieren. Die letzten Schichten versuchen festzustellen, ob das eingegebene Bild tatsächlich das ist, was das Modell zu erkennen gelernt hat, und erstellen ein abstraktes mentales Modell. Die Referenten diskutieren dann Transfer Learning als eine Möglichkeit, vortrainierte Modelle zu nutzen und zu vermeiden, dass Modelle von Grund auf neu trainiert werden müssen, was in Bezug auf Zeit, Rechenleistung und Daten kostspielig sein kann.

  • 00:20:00 In diesem Abschnitt erörtert der Referent das Konzept der Schichtung in neuronalen Netzen und wie Vortraining und Transferlernen verwendet werden können, um die Genauigkeit und Geschwindigkeit von Modellen zu verbessern. Der Referent erklärt, wie frühere Ebenen allgemeine Merkmale wie Formen und Muster erfassen, während spätere Schichten abstraktere Merkmale wie Objekte und Menschen erfassen. Das Konzept des Einfrierens, bei dem bestimmte Schichten beibehalten und in nachfolgenden Modellen verwendet werden, wird auch als Möglichkeit zur Anpassung von Modellen an bestimmte Aufgaben diskutiert. Die Einfriertechnik kann das Modelltraining beschleunigen und die Genauigkeit verbessern, aber es sollte darauf geachtet werden, dass die Schichten auf dem richtigen Niveau eingefroren werden.

  • 00:25:00 In diesem Abschnitt erörtert der Kursleiter das Transferlernen in neuronalen Netzen, insbesondere die Feinabstimmungstechnik, bei der das vortrainierte Modell auf Ausgabeschichten und nicht eingefrorenen Schichten weiter trainiert wird. Sie betonen, wie wichtig es ist, die Größe und Ähnlichkeit des neuen Datensatzes mit dem ursprünglichen Datensatz zu berücksichtigen, wenn entschieden wird, ob das vortrainierte Modell eingefroren oder optimiert werden soll. Darüber hinaus erklären sie die Bedeutung von Einbettungen in neuronale Netze und wie sie die Dimensionalität kategorialer Variablen reduzieren können, wodurch sie einfacher in einem Transformationsraum dargestellt werden können. Die Verwendung von Einbettungen wird durch ein Beispiel veranschaulicht, das die Abbildung von Buchgattungen auf einen niederdimensionalen Vektorraum beinhaltet.

  • 00:30:00 In diesem Abschnitt der Vorlesung spricht der Professor über hochdimensionale Daten und die Schwierigkeiten, die bei deren Darstellung auftreten. Der Professor führt das Konzept des niederdimensionalen latenten Raums ein, bei dem alle wichtigen Informationen, die die hochdimensionalen Daten darstellen, in einen niederdimensionalen Raum kodiert werden. Das Ziel besteht darin, diese Informationen durch einen sogenannten latenten Merkmalsraum zu erfassen, und in vielen Fällen kann dies durch Einbettungen erreicht werden. Der Professor gibt ein Beispiel dafür, wie eine eindimensionale Struktur mit nur einer Variablen anstelle von drei Variablen in einem 3D-Raum dargestellt werden kann, damit Daten nicht spärlich in einem hochdimensionalen Raum verteilt sind. Abschließend erklärt der Professor, wie man Einbettungen lernt, indem man ein Modell trainiert, Bilder im MNIST-Datensatz mit der Softmax-Loss-Funktion zu klassifizieren und die Ausgabe einiger Schichten im Modell als Repräsentation des Bildes zu nehmen.

  • 00:35:00 In diesem Abschnitt erörtert der Referent die Vorteile von vortrainierten Netzwerken und Transferlernen, die Zeit und Rechenleistung sparen und gleichzeitig bessere Ergebnisse erzielen können. Vortrainierte Netze können auf größeren Datensätzen trainiert werden, was zu besseren Darstellungen führen kann. Transfer Learning ermöglicht die Anwendung von Wissen, das von einem vortrainierten Netzwerk gelernt wurde, auf eine andere Aufgabe, was es besonders nützlich bei der Verarbeitung natürlicher Sprache macht. Anschließend wird ein selbstüberwachtes Vortraining eingeführt, das ein Lernen ohne Überwachung durch Labels durch Lernen aus Rohdaten ermöglicht.

  • 00:40:00 In diesem Abschnitt erörtert der Dozent das unüberwachte Lernen, bei dem es sich um eine Art des Lernens handelt, bei der keine Bezeichnungen bereitgestellt werden, das Modell jedoch Muster und Beziehungen innerhalb des Datensatzes lernt. Beispiele für unüberwachtes Lernen sind Hauptkomponentenanalyse (PCA) und Clustering. Der Dozent spricht dann über selbstüberwachtes Lernen, bei dem es darum geht, die Überwachung durch die Daten selbst und nicht durch externe Labels zu gewährleisten. Die Technik beinhaltet das Vorhersagen verborgener Teile oder Eigenschaften der Daten aus den beobachteten Teilen. Selbstüberwachtes Lernen ist in Situationen von Vorteil, in denen gekennzeichnete Daten knapp oder teuer zu sammeln sind.

  • 00:45:00 In diesem Abschnitt des Vortrags geht der Referent auf das selbstüberwachte Lernen und die verschiedenen damit verbundenen Aufgaben ein, wie z. B. die Vorwandaufgabe und die nachgelagerte Aufgabe. Diese Aufgaben können in verschiedenen Domänen wie Computer Vision, NLP und RL verwendet werden. Der Sprecher gibt dann Beispiele für selbstüberwachte Lernaufgaben wie die Puzzle-Aufgabe, bei der ein Bild in neun Felder unterteilt, gemischt und das Modell aufgefordert wird, die ursprüngliche Reihenfolge vorherzusagen. Eine weitere Aufgabe ist die Rotationsaufgabe, bei der ein Bild um einen bestimmten Winkel gedreht wird und das Modell aufgefordert wird, den Rotationswinkel vorherzusagen. Diese Aufgaben können verwendet werden, um Modelle vorzutrainieren und die erlernten Darstellungen auf nachgelagerte Aufgaben wie Bildklassifizierung und Objekterkennung zu übertragen.

  • 00:50:00 In diesem Abschnitt der Vorlesung wird das Konzept von Vortrainingsmodellen mit selbstüberwachtem Lernen (SSL) vorgestellt. Ein Beispiel für SSL in der Computervision ist das Trainieren eines Modells, um den Rotationswinkel eines Bildes vorherzusagen und sich auf Objektorientierung, Position, Pose und Typ statt auf Details auf niedriger Ebene zu konzentrieren. Diese Idee ist nicht auf CV beschränkt, da SSL auch auf NLP und Audio angewendet werden kann, z. B. um ein einzelnes oder mehrere Wörter aus Sätzen vorherzusagen. Ein berühmtes NLP-Modell namens BERT verwendet ein Transformer-Modell, um maskierte Wörter aus zwei Sätzen gleichzeitig vorherzusagen, und lernt eine Einbettung auf Wort- und Satzebene. BERT war ein großer Erfolg im NLP.

  • 00:55:00 In diesem Abschnitt des Vortrags diskutiert der Referent das erneute Interesse an selbstüberwachtem Lernen (SSL) in Computer Vision (CV) nach dem Erfolg von BERT in Natural Language Processing (NLP). Der aktuelle Stand der Technik im CV soll ähnlich wie bei BERT sein. Die Vorlesung gibt einen Überblick über Repräsentationslernen, Transferlernen und SSL und stellt verschiedene Konzepte und Methoden vor. Während diese Vorlesung keine Hausaufgaben enthält, gibt es eine Hausaufgabe für den gesamten Cluster zum High Crush-Notebook, die nächsten Dienstag fällig ist, und eine zukünftige Vorlesung zu Advanced SSL for CV wird eine Hausaufgabe haben. Das Foliendeck kann auf der Website zur Überprüfung abgerufen werden.
 

CS 198-126: Vorlesung 5 - Einführung in Computer Vision



CS 198-126: Vorlesung 5 - Einführung in Computer Vision

Diese Vorlesung über Computer Vision behandelt verschiedene Themen, darunter die Geschichte der Computer Vision und ihre Entwicklung im Laufe der Jahre. Der Dozent erklärt auch Deep Learning und wie es klassische Computer-Vision-Methoden verbessert. Der Vortrag befasst sich mit dem Konzept von Faltungen und wie sie als Merkmalsextrahierer in der Computervision verwendet werden, was zur Erstellung von Convolutional Neural Networks (CNNs) führt. Darüber hinaus diskutiert die Vorlesung die Rolle von rezeptiven Feldern und stellt Pooling-Layer als Methode vor, um das rezeptive Feld von CNNs zu erhöhen. Insgesamt bietet die Vorlesung einen Überblick über Computer Vision als Feld und die Techniken, die verwendet werden, um Informationen aus Bildern zu extrahieren. Im zweiten Teil der Vorlesung werden verschiedene Techniken zur Beibehaltung der Größe eines Bildes während Faltungen besprochen, darunter Padding und Same Padding. Das Konzept des Stride in Faltungsschichten wird ebenfalls behandelt und demonstriert, wie es den Effekt einer Pooling-Schicht nachahmen kann. Die Anatomie eines CNN und seine Hyperparameter, einschließlich Kernelgröße, Stride, Polsterung und Pooling-Layer, werden erklärt, wobei der Schwerpunkt darauf liegt, wie eine Convolutional Layer als Feature Extractor fungiert, der niedrigdimensionale Feature-Blöcke an eine vollständig verbundene Einheit übergibt Netzwerk zur Klassifikation. Die Vorlesungen behandeln auch die LeNet-Netzwerkarchitektur zur Klassifizierung handgeschriebener Ziffern und die Bedeutung der Normalisierung von Bilddaten, bevor sie durch ein neuronales Netzwerk geleitet werden. Abschließend wird die Datenaugmentation als Technik zur Erstellung zusätzlicher Trainingsdaten diskutiert und die Bedeutung des Modell-Checkpointings während des Trainings betont.

  • 00:00:00 In diesem Abschnitt stellt der Kursleiter Computer Vision als einen Bereich der KI vor, der sich mit dem Extrahieren von Informationen aus einem Bild auf semantischer Ebene befasst. Sie skizzieren Klassifizierung, Erkennung und Segmentierung als Aufgaben, die ein maschinelles Lernmodell ausführen kann. Damit eine Maschine ein Bild verstehen und diese Aufgaben ausführen kann, muss sie den Inhalt des Bildes auf höherer Ebene verstehen, sodass die Modelle so konzipiert sind, dass sie Merkmale wie Kanten extrahieren, um Bilder zu klassifizieren. Der Dozent erklärt, dass das Gebiet des Computersehens seine Wurzeln in der Kognitionswissenschaft und Psychologie hat, wobei die Entwicklungen bei Merkmalsextraktoren wie Hog aus einem Experiment stammen, das 1959 an Katzen durchgeführt wurde.

  • 00:05:00 In diesem Abschnitt der Vorlesung erläutert der Dozent, wie Deep Learning klassische Computer-Vision-Methoden ersetzt hat, bei denen Merkmalsextrahierer von Hand programmiert wurden. Deep Learning ermöglicht es Modellen, nicht nur die Zuordnungen von Merkmalen zu Ausgaben zu lernen, sondern auch die Merkmalsextraktoren selbst, und dieser Durchbruch gelang 2012 mit dem neuronalen Netzwerk von Alex Krajevski. Der Kursleiter spricht über die Herausforderung der visuellen Erkennung von ImageNet und wie AlexNet die Fehlerquote drastisch reduzierte und zu einem Wendepunkt für Deep Learning wurde. Der Vortrag geht dann auf die digitale Darstellung von Bildern als Matrizen und die Verwendung von Helligkeitswerten zur Darstellung von Graustufenbildern ein.

  • 00:10:00 In diesem Abschnitt der Vorlesung erörtert der Dozent das Konzept der Farbdimensionen und -kanäle in Bildern. Jedes farbige Pixel kann in drei verschiedene Werte zerlegt werden, was bedeutet, dass ein RGB-Bild durch drei Matrizen für jede Komponente dargestellt werden kann. Diese Matrizen können dann übereinander gestapelt werden, um eine 3D-Matrix namens Tensor zu bilden. Der Kursleiter weist darauf hin, dass dies ein wichtiges Konzept zum Verständnis von Convolutional Neural Networks (CNNs) ist, da normale neuronale Netze oder mehrschichtige Perceptrons für die Verarbeitung großer Bilder nicht hilfreich sind, da der 3D-Tensor in einen Vektor umgewandelt werden muss, was zu einer massiven Anzahl der Elemente.

  • 00:15:00 In diesem Abschnitt erörtert der Referent die Anzahl der Parameter für eine vollständig verbundene Schicht in Computer Vision. Die Schicht nimmt eine 120.000-dimensionale Eingabe und gibt einen 10-dimensionalen Vektor aus, was bedeutet, dass die Gewichtungsmatrix Dimensionen von 10 mal 120.000 haben muss, was zu 1,2 Millionen Gewichtungen und 10 Parametern aus dem Bias-Vektor führt. Diese Anzahl von Parametern würde das Netzwerk zu groß und schwierig zu trainieren machen, insbesondere wenn eine höherdimensionale Ausgabe erwünscht ist. Darüber hinaus ist es bei der Bildklassifizierung unorthodox, jedes Pixel als separates Merkmal zu behandeln, da Menschen dazu neigen, Bilder in verschiedene Teile zu zerlegen und diese Informationen zum Erstellen eines mentalen Modells zu verwenden. Der Referent schlägt vor, statt einzelner Pixel lokale Regionen des Bildes zu betrachten, um die Daten sinnvoller zu machen.

  • 00:20:00 In diesem Abschnitt erörtert der Dozent, wie wichtig es ist, benachbarte Pixel in einem Bild zu betrachten, um Informationen zu sammeln, und wie dies eine Herausforderung für neuronale Netze darstellt, die normalerweise jedes Pixel separat behandeln. Er führt das für Computer Vision relevante Konzept der lokalen Regionen ein, das sich mit der Struktur eines Bildes beschäftigt. Der Vortrag spricht auch über die Notwendigkeit, hierarchische Darstellungen aus einer Eingabe zu extrahieren und wie diese Darstellungen voneinander abhängen, wodurch das Modell abstrakte Konzepte wie das Aussehen eines Gesichts lernen kann. Abschließend erläutert die Vorlesung das Konzept der Übersetzungsäquivalenz, bei der Darstellungen eines Bildes zusammen mit seinen Pixeln übersetzt werden sollten, um die Konsistenz zu wahren.

  • 00:25:00 In diesem Abschnitt wird das Konzept der Translationsinvarianz und der lokalen Bereichsverarbeitung in Computer Vision diskutiert. Herkömmliche Netzwerkarchitekturen können diese Anforderungen nicht erfüllen, weshalb Forscher stattdessen Convolutional Neural Networks (CNNs) entwickeln. Die an CNNs beteiligte Faltungsoperation wird durch die Verwendung eines Gewichtungsfilters erklärt, der über ein Bild gleiten und Skalarprodukte berechnen kann, um neue Ausgaben zu erzeugen. Außerdem wird die Weight-Sharing-Technik eingeführt, bei der jeder Patch durch eine Schicht mit den gleichen Gewichten und Vorspannungen geleitet wird, um die gleiche Darstellung zu erzielen, wodurch CNNs in der Lage sind, die für Computer Vision festgelegten Kriterien zu erfüllen.

  • 00:30:00 In diesem Abschnitt des Vortrags erläutert der Referent den Prozess der Faltung, bei dem ein elementweises Produkt eines Filters auf einem Eingangspatch genommen und die Ergebnisse summiert werden. Dieser Prozess ermöglicht es Computervisionsalgorithmen, sich auf einzelne Patches des Eingabebilds statt auf das gesamte Bild zu konzentrieren und denselben Filter für jeden Patch zu verwenden und Gewichte zu teilen. Durch strategisches Design der Filter können die Algorithmen verschiedene Arten von Informationen extrahieren, wie z. B. Kantenerkennung. Der Lautsprecher liefert ein Beispiel für einen Filter, der zum Erkennen vertikaler Kanten ausgelegt ist, indem er die hohen Aktivierungen entlang der Mitte der gefalteten Ausgabe hervorhebt, mit niedrigen Aktivierungen an den Kanten.

  • 00:35:00 In diesem Abschnitt der Vorlesung erklärt der Dozent das Konzept der Faltungen in der Computer Vision und wie sie als Merkmalsextrahierer verwendet werden. Convolutional Neural Networks (CNNs) verwenden Filter, die verschiedene Merkmale aus einem Bild extrahieren können, und diese Filter können durch den Prozess des Deep Learning erlernt werden. Durch die Verwendung von mehr Filtern können CNNs verschiedene Arten von Merkmalen aus einem Eingabebild extrahieren und Informationen über alle verwenden. Der Kursleiter erläutert auch, wie der Faltungsprozess auf ein Eingabebild mit mehreren Kanälen verallgemeinert werden kann, und die Ausgabe dieses Prozesses wird als Aktivierungskarte bezeichnet, die die Aktivierung verschiedener Merkmale darstellt.

  • 00:40:00 In diesem Abschnitt erörtert der Referent das Konzept der Darstellung von Bildern in einem RGB-Format und wie die Aktivierungskarte eine 3D-Struktur haben kann. Der Prozess beinhaltet das Extrahieren verschiedener Merkmale und deren Faltung, um eine 3D-Ausgabe zu erhalten. Diese Faltungsoperation ist allgemein und kann auf jede 3D-Eingabe angewendet werden, was das Stapeln von Faltungsschichten übereinander ermöglicht, was zu tiefen neuronalen Netzen führt. Darüber hinaus geht der Referent auf Implementierungsdetails bezüglich des rezeptiven Feldkonzepts ein, das nicht nur auf Convolutional Neural Networks beschränkt ist.

  • 00:45:00 In diesem Abschnitt wird das Konzept der rezeptiven Felder in Aktivierungskarten diskutiert. Das rezeptive Feld bezieht sich auf den Bereich der Eingabe, der jedes Element einer Aktivierungskarte beeinflusst. In diesem Abschnitt wird erläutert, wie rezeptive Felder funktionieren und wie sich eine Erhöhung der rezeptiven Feldgröße auf die Netzwerkleistung auswirken kann. Es wird auch darauf hingewiesen, dass rezeptive Felder durch unterschiedliche Faltungsfilter beeinflusst werden können und dass ein zu großes oder zu kleines rezeptives Feld dazu führen kann, dass wichtige Informationen in der Eingabe fehlen.

  • 00:50:00 Rezeptives Feld, in diesem Abschnitt der Vorlesung erklärt der Professor, wie sich die Größe des rezeptiven Feldes auf die Fähigkeit eines Convolutional Neural Network (CNN) auswirkt, ein Bild zu klassifizieren. Ein kleines rezeptives Feld kann dazu führen, dass das Netzwerk nicht genügend Informationen für die Bildklassifizierungsaufgabe verarbeiten kann, während ein großes rezeptives Feld zu einer Überanpassung führen kann. Der Vortrag berührt auch die Bedeutung der Einführung von Nichtlinearitäten durch die Verwendung von Aktivierungsfunktionen in einem CNN. Der Professor erklärt, dass, obwohl zwei verschiedene Faltungen das gleiche Empfangsfeld haben können, ihre Ausgaben aufgrund der Einführung von Nichtlinearitäten durch Aktivierungsfunktionen nicht gleich sind.

  • 00:55:00 In diesem Abschnitt stellt der Dozent das Pooling von Schichten als eine Methode vor, um das Empfangsfeld von Convolutional Neural Networks zu vergrößern, ohne zu viele Schichten hinzuzufügen, die das Modell zu groß machen könnten. Pooling-Layer beinhalten das Betrachten quadratischer Bereiche von Eingaben und das Anwenden von Max- oder Average-Operationen. Zum Beispiel ermöglicht ein Zwei-mal-zwei-Max-Pooling dem Modell, nur einen Wert aus jedem Block von vier Pixeln auszuwählen, wodurch die Dimensionen der Eingabe um zwei reduziert werden. Der Dozent erklärt auch, wie Max-Pooling wichtige Informationen aus einem lokalen Bereich bewahrt, wodurch es üblich wird, die räumlichen Dimensionen der Aktivierung zu reduzieren.

  • 01:00:00 In diesem Abschnitt erörtert der Referent verschiedene Techniken zum Beibehalten der Höhe und Breite eines Bilds während der Faltung, einschließlich des Vorgangs des Auffüllens und des gleichen Auffüllens. Das gleiche Padding ist, wenn Sie die Größe der Eingabe künstlich erhöhen, indem Sie sie mit Nullen oder anderen Konstanten umgeben, um die räumlichen Dimensionen der Aktivierungskarte beizubehalten. Dies ist eine Präferenz in der Deep-Learning-Community, aber es gibt keine empirischen Beweise dafür, dass dies zu einer besseren Leistung gegenüber normalem Padding führt. Darüber hinaus erörtert der Referent das Konzept des Stride in Convolutions und wie es den gleichen Effekt wie eine Pooling-Schicht haben kann.

  • 01:05:00 In diesem Abschnitt erörtert der Dozent die Verwendung von Stride in Faltungsschichten, die als Annäherung an eine Pooling-Schicht in Computer Vision dienen können. Er erklärt, dass die Verwendung eines Schritts größer als eins dem Kombinieren von Faltung und Pooling von Schichten ähnlich ist, aber keinen besonderen Vorteil bietet. Er präsentiert auch eine Formel zur Bestimmung der Abmessungen der Ausgabeaktivierung, die von Faktoren wie den ursprünglichen Eingabeabmessungen, der Filtergröße, der Füllgröße und den Schritten abhängen. Der Dozent erklärt dann, wie die Rückausbreitung von Gradienten durch Faltungsschichten erfolgen kann, und betont, dass PyTorch es einfach macht, Faltungsschichten mit mehreren Parametern zu definieren.

  • 01:10:00 In diesem Abschnitt erörtert der Dozent die Hyperparameter von Faltungsschichten und wie sie die Anatomie eines CNN ausmachen. Zu diesen Hyperparametern gehören Kernelgröße, Stride, Padding und Pooling-Layer. Der Dozent erklärt, dass eine Faltungsschicht als Merkmalsextraktor betrachtet werden kann, der hochdimensionale Eingaben in niedrigdimensionale Merkmalsblöcke umwandelt, die für eine Klassifizierungsaufgabe an ein vollständig verbundenes Netzwerk weitergegeben werden können. Die Ausgabe der Faltungsschicht am Ende ist ein niedrigdimensionaler Merkmalsblock, der in das MLP innerhalb des roten Kästchens, das der Klassifikator ist, übergeben werden kann. Abschließend erklärt der Dozent, dass es verschiedene Arten von Pooling-Layern gibt, aber die Norm in der Deep-Learning-Community ist, Max-Pooling anstelle von Average-Pooling zu verwenden.

  • 01:15:00 In diesem Abschnitt erklärt das Video den Aufbau eines Convolutional Neural Network (CNN) anhand eines realen Beispiels. Das Netzwerk mit dem Namen LeNet wurde von Jan Lacun zur Klassifizierung handgeschriebener Ziffern entwickelt. Das Video erklärt, dass das LeNet-Netzwerk eine Eingabe nimmt und sie in Feature-Maps faltet, diese Karten in kleinere Größen zieht, eine weitere Faltung und Bündelung anwendet, bis es eine kleinere Darstellung der Eingabe erhält, bevor es durch vollständig verbundene Schichten geleitet wird, um eine Ausgabe zu erhalten eine der zehn möglichen Ziffern darstellt. Das Video erläutert die Designoptionen für CNN-Architekturen, wie z. B. Stacking Convolution, ReLU und Pooling-Layer, sowie die Verwendung von Batch-Normalisierungs-Layern, um das Training stabiler zu machen. Schließlich diskutiert das Video einige der häufig verwendeten Datensätze in Computer Vision, wie z. B. den MNIST-Datensatz zur handschriftlichen Ziffernklassifikation und den CIFAR-10-Datensatz.

  • 01:20:00 In diesem Abschnitt der Vorlesung bespricht der Dozent mehrere beliebte Computer-Vision-Datensätze, darunter MNIST, CIFAR-10 und ImageNet. Insbesondere der ImageNet-Datensatz ist ein Millionen-Bild-Datensatz, der weithin als Benchmark für die Bewertung von Computer-Vision-Algorithmen verwendet wurde. Der Dozent betont auch die Wichtigkeit der Normalisierung von Bilddaten, bevor sie an ein neuronales Netzwerk übergeben werden, und die Herausforderung, Daten zu sammeln und zu kennzeichnen, was sorgfältige Überlegungen erfordert, um sicherzustellen, dass die Daten aus einer ähnlichen Verteilung stammen. Darüber hinaus können mehr Daten dazu beitragen, eine Überanpassung zu verhindern, aber das Sammeln großer Datensätze kann kostspielig und zeitaufwändig sein.

  • 01:25:00 In diesem Abschnitt behandelt die Vorlesung das Thema der Datenerweiterung, bei der man künstlich mehr Daten aus einem einzelnen Bild erzeugen kann, indem man geringfügige Änderungen an Helligkeit, Kontrast, Farbe, Zuschneiden, Spiegeln oder Drehen des Bildes und Zuordnen vornimmt ihnen dieselbe Bezeichnung, um neue Trainingsdatensätze zu erstellen. Diese Methode ist eine sehr kostengünstige und einfache Möglichkeit, neue Daten aus bereits vorhandenen Datensätzen zu erstellen. Darüber hinaus betont der Vortrag auch die Bedeutung des Modell-Checkpointings beim Training von neuronalen Faltungsnetzen, da die Trainingszeit normalerweise Stunden bis Tage oder sogar Wochen dauert und der Verlust des Fortschritts aufgrund einer plötzlichen Unterbrechung wie einem Maschinenabsturz oder einem versehentlichen Herunterfahren kostspielig sein kann. Es ist wichtig, Momentaufnahmen der Modellrate an verschiedenen Punkten im Trainingsprozess zu speichern, um mit der letzten Momentaufnahme fortzufahren, wenn das Training unterbrochen wird.
 

CS 198-126: Vorlesung 6 - Advanced Computer Vision Architectures



CS 198-126: Vorlesung 6 - Advanced Computer Vision Architectures

Diese Vorlesung über fortschrittliche Computer-Vision-Architekturen konzentriert sich auf Convolutional Neural Networks (CNNs) und ihre verschiedenen Techniken. Der Dozent erklärt die Architektur von AlexNet und VGG, bevor er sich mit fortgeschrittenen Techniken wie Residuen befasst, um Rückwärts-Residuenwerte für höhere Genauigkeit und einfachere Architekturen beizubehalten. Die Verwendung von Flaschenhälsen und Eins-zu-Eins-Faltung wird diskutiert, ebenso wie die Wichtigkeit, die Identität in Computer-Vision-Architekturen lernen zu können. Die Vorlesung behandelt auch die Probleme verschwindender Gradienten in neuronalen Netzen und wie sie mit Batch-Normalisierung und Residuennetzen gemildert werden können. Techniken wie Global Average Pooling und tiefenweise trennbare Faltung werden eingehend erläutert, gefolgt von einer Diskussion der Mobilfunknetzarchitektur und ihrer Vorteile.

Außerdem untersucht der Dozent fortschrittliche Computer Vision Architekturen und konzentriert sich auf die Optimierung von Convolutional Neural Network Modellen durch die Verwendung von Step Local Convolutions und One-by-One Convolutions. Er betont, wie wichtig es ist, diese Optimierungen und die Probleme zu verstehen, die bei bestimmten Optimierungen beim effizienten Aufbau zukünftiger Netzwerke auftreten können. Der Vortrag schließt mit einer Diskussion über den Kompromiss zwischen Genauigkeit, Leistung und Modellgröße, hervorgehoben durch den Vergleich des effizienten Netzmodells mit anderen Netzwerken. Die Schüler werden über ein bevorstehendes Quiz und eine Hausaufgabe informiert, die am folgenden Freitag fällig sind.

  • 00:05:00 In diesem Abschnitt beginnt der Referent mit einer Zusammenfassung des vorherigen Vortrags, bevor er sich mit fortgeschritteneren CNN-Architekturen befasst. Sie entschuldigen sich für die grobe Einführung in der letzten Vorlesung und nehmen vor Beginn einige Änderungen in letzter Minute vor. Es gibt einen kurzen Austausch über ein Mikrofon, aber dann springt der Redner in den Vortrag.

  • 00:10:00 In diesem Abschnitt gibt der Referent einen Überblick über die Architektur eines Convolutional Neural Network (CNN) und wie es sich von einem standardmäßigen dichten neuronalen Netzwerk unterscheidet. Der Sprecher stellt klar, dass die Faltungsschicht in einem CNN einer Schicht in einem dichten neuronalen Netzwerk ähnelt, mit erlernten Parametern wie Filtern und Bias-Termen. Der Referent erklärt, wie ein Filter eine Ausgabekarte für jede Position in der Eingabe generiert und mehrere Filter unterschiedliche Ausgabekanäle erzeugen. Der Referent erklärt auch, wie eine Pooling-Schicht verwendet werden kann, um die Größe des Ausgangsvolumens zu verringern. Insgesamt betont der Referent, dass die Mechanik eines CNN einem dichten neuronalen Netz ähnelt, wobei Faltungen die Matrixmultiplikation ersetzen.

  • 00:15:00 In diesem Abschnitt erläutert der Referent die Verwendung von Max-Pooling in Convolutional Neural Networks, um die Größe des Merkmalsvolumens zu reduzieren und Faltungen zu beschleunigen. Bei dieser Technik wird der Maximalwert in jedem kleinen Quadrat des Merkmalsvolumens genommen und als Ausgabe verwendet. Der Referent geht auch auf das Konzept der Segmentierung ein, bei der jedes Pixel in einem Bild mit einer bestimmten Klassifizierung gekennzeichnet wird, und stellt fest, dass für diese Aufgabe die Ausgabegröße gleich der Eingabegröße sein wird. Der Abschnitt endet mit einer kurzen Einführung in fortschrittliche CNN-Architekturen, wobei der Schwerpunkt auf ResNet als wichtigstem Aspekt der Vorlesung liegt.

  • 00:20:00 In diesem Abschnitt diskutiert der Dozent verschiedene Computer-Vision-Architekturen mit einem Schwerpunkt auf Convolutional Neural Networks (CNNs). Der Vortrag beginnt mit der Erörterung der Motivation hinter CNNs, bei denen Faltungsschichten gestapelt und Schichten zusammengefasst werden, um Informationen aus Merkmalen auf niedriger Ebene zu synthetisieren und sich zu höheren Merkmalen hochzuarbeiten. Anschließend geht der Vortrag auf die Architektur von AlexNet ein, die bahnbrechend war und 2012 auf ImageNet eine Fehlerquote von rund 17 % erreichte. Der Referent weist jedoch darauf hin, dass diese Architekturen nicht mehr State-of-the-Art sind, da es Fortschritte bei Transformatorarchitekturen gegeben hat, die in späteren Vorlesungen besprochen werden.

  • 00:25:00 In diesem Abschnitt erörtert der Redner die Architektur von AlexNet und VGG, zwei weit verbreitete neuronale Computer-Vision-Netzwerke. AlexNet umfasst fünf Faltungsschichten, wobei die endgültige Ausgabe ein abgeflachter eindimensionaler Vektor ist, der durch drei dichte Schichten und eine Softmax-Funktion geleitet wird, um eine vorhergesagte Klasse zu erzeugen. Andererseits hat VGG 23 Faltungsschichten und drei dichte Schichten. Darüber hinaus hebt der Redner die Verwendung von Eins-zu-Eins-Falten als eine Form des Auffüllens und des Hinzufügens und Verringerns von Dimensionalität hervor.

  • 00:30:00 In diesem Abschnitt diskutiert der Dozent fortschrittliche Computer-Vision-Architekturen mit Schwerpunkt auf Convolutional Neural Networks (CNNs). Der Vortrag betont die Verwendung von Einzelfaltungen, um die Eingabegröße beizubehalten, sowie die Kombination von tiefenweisen und punktweisen Faltungen, um die Berechnungseffizienz zu erhöhen. Der Vortrag hebt auch die Bedeutung des Lernens von Low-Level-Features in früheren Stadien des Klassifikators hervor und beschreibt die Probleme mit dem blinden Stapeln von Schichten. Um diese Probleme anzugehen, erklärt die Vorlesung die Verwendung von Residuen, um Rückwärts-Residuenwerte beizubehalten, was zu höherer Genauigkeit und einfacheren Architekturen führt.

  • 00:35:00 In diesem Abschnitt behandelt die Vorlesung das Konzept von Residuen in Deep Convolutional Neural Networks. Während das Hinzufügen weiterer Schichten die Genauigkeit nicht verringern sollte, da die Identitätstransformation erlernt werden kann, wirkt sich das Hinzufügen weiterer Schichten in der Praxis auf die vorherigen Identitäten aus der Post-Transformation aus, was zu verschwindenden Gradienten, explodierenden Gradienten und erschütternden Gradienten führt. Residuen gehen dieses Problem an, indem sie Informationen aus früheren Phasen in zukünftige Berechnungen einbeziehen, wodurch es einfacher wird, die Identitätstransformation zu lernen. Die Vorlesung behandelt auch Engpässe bei der Verarbeitung von Residuen, bei denen das Hinzufügen von Residuen die Zeit bis zur Konvergenz verlängert, aber nicht unbedingt die Ergebnisse. Eine Lösung hierfür besteht darin, die Größe und Häufigkeit des Engpasses anzupassen.

  • 00:40:00 In diesem Abschnitt des Vortrags diskutiert der Referent die Wichtigkeit, die Identität in Computer-Vision-Architekturen lernen zu können. Sie erklären, dass, wenn die Gewichte und Verzerrungen eines Netzwerks alle null sind, das Netzwerk genau dasselbe ausgibt, was es aufnimmt, wodurch es für das Netzwerk einfacher wird, zu erkennen, wann es genügend Informationen hat, um eine gute Klassifizierung vorzunehmen und mit dem Lernen aufzuhören kompliziertere Funktionen. Der Redner geht auch auf die Frage der Auswahl der Anzahl von Schichten in einem Netzwerk ein, wobei zwei in der ResNet-Architektur eine übliche Wahl sind.

  • 00:45:00 In diesem Abschnitt des Vortrags diskutiert der Moderator das Problem verschwindender Gradienten in neuronalen Netzen und wie sich dies auf Gewichtsaktualisierungen auswirken kann. Das Problem des verschwindenden Gradienten tritt auf, wenn die partiellen Ableitungen einzelner Schritte in einer Multiplikationskette zu klein oder zu groß werden, was zu Problemen bei der konsistenten Aktualisierung von Gewichten führen kann. Die Präsentation spricht auch darüber, wie Batch-Normalisierung und Residuennetzwerke dazu beitragen, das Problem des verschwindenden Gradienten zu lindern. Der Vortrag geht dann weiter zur Diskussion des globalen Durchschnittspoolings, das verwendet wird, um vollständig verbundene Schichten in Convolutional Neural Networks (CNNs) zu ersetzen und Feature-Maps für jede Kategorie in Klassifizierungsaufgaben zu generieren.

  • 00:50:00 In diesem Abschnitt des Vortrags erörtert der Referent, wie die Verwendung dichter Schichten in neuronalen Netzen häufig zu Überanpassung und Leistungsminderung führt. Um dies zu verhindern, schlagen sie die Verwendung von Global Average Pooling (GAP) vor, das Feature-Maps generiert, sie mittelt und sie in eine Softmax-Funktion einspeist, ohne Parameter abzustimmen. Der Redner stellt auch das Konzept der in der Tiefe trennbaren Faltungen vor, die Merkmalskarten niedrigerer Dimensionen auf jedem Kanal separat verwenden, bevor sie intelligent kombiniert werden, um die Berechnung zu reduzieren und Daten von jedem Kanal beizubehalten. Diese Technik ist besonders wichtig für die Skalierung von Berechnungen über eine breite Palette von Filtern in tiefen neuronalen Netzen.

  • 00:55:00 In diesem Abschnitt des Vortrags diskutiert der Referent die Mobilfunknetzarchitektur, die Tiefe und punktweise Faltung verwendet, um die Anzahl der für ein Bild erforderlichen Berechnungen zu reduzieren. Durch Anwenden einer Eins-zu-Eins-zu-Drei-Schicht auf jeden Kanal des Bildes und anschließendes Verketten der Ergebnisse und Anwenden einer kleineren punktweisen Faltung darauf wird die Ausgabe erzielt, wodurch die Anzahl der Berechnungen erheblich reduziert wird. Die Mobilnetzarchitektur hat weniger Parameter und konvergiert schneller, während sie die Genauigkeit der Inception von D3 erreicht. Der Redner geht auch auf das Zusammendrücken und Erregen von Netzwerken ein, in denen Sie Feature-Maps mit dichten Schichten und Neuskalierung komprimieren und erweitern können, was weniger rechenintensiv ist.

  • 01:00:00 In diesem Abschnitt erörtert der Dozent, wie man schrittweise lokale Faltungen und Einzelfaltungen verwenden kann, um ein Convolutional Neural Network (CNN)-Modell zu optimieren. Er erwähnt auch, wie das Verständnis der Optimierungen und der Probleme, mit denen bestimmte Optimierungen konfrontiert sind, dazu beitragen kann, zukünftige Netzwerke effizienter aufzubauen. Der Vortrag schließt mit einem Vergleich der Genauigkeit, Leistung und Modellgröße des effizienten Netzmodells mit anderen Netzwerken, wobei hervorgehoben wird, dass es immer einen Kompromiss zwischen diesen Metriken gibt.
 

CS 198-126: Vorlesung 7 - Objekterkennung



CS 198-126: Vorlesung 7 - Objekterkennung

Der Vortrag behandelt die Objekterkennung, insbesondere das Hinzufügen von Lokalisierung zu einem einfachen Klassifikations-CNN, die IOU-Methode zur Objekterkennung, das R-CNN-System und die Optimierung von Objekterkennungsalgorithmen zur Minimierung der Verarbeitungszeit mit YOLO. Das Video erklärt YOLO, indem es ein Bild zerschneidet, und diskutiert die Herausforderungen bei der YOLO-Objekterkennung, einschließlich der Verwendung von Ankerboxen, um Mehrdeutigkeiten zu beseitigen. Schließlich wird die YOLO-Architektur untersucht, die ein vollständig konvolutionelles neuronales Netzwerk zur Objekterkennung ist, und die Speicherung einer großen Anzahl von Klassen zur Klassifizierung wird als laufende Forschungsfrage präsentiert. Der Referent empfiehlt die Lektüre von „The Yellow Paper“ und rät von RCNN wegen Unlesbarkeit ab.

  • 00:00:00 In diesem Abschnitt erläutert der Dozent den Prozess des Hinzufügens von Lokalisierung zu einem einfachen Klassifikations-CNN zur Orientierungspunkterkennung. Durch Hinzufügen eines X- und Y-Ausgangs zum Netzwerk gibt das Netzwerk die genaue Position eines bestimmten Merkmals in einem Bild aus, wie z. B. der Nase des Tieres. Der Dozent erklärt dann, wie dieses Netzwerk erweitert werden kann, indem weitere Ausgänge hinzugefügt werden, um einen Begrenzungsrahmen für die Katze als Ganzes zu erhalten. Der Dozent untersucht auch verschiedene Ideen für die Netzwerkerweiterung, um einen Begrenzungsrahmen zu erstellen, und den Prozess zum Trainieren des Netzwerks für diese erweiterte Aufgabe.

  • 00:05:00 In diesem Abschnitt geht der Dozent auf das IOU-Verfahren (intersection over union) zur Objekterkennung ein. Dieser Ansatz zielt darauf ab, die Überlappung zwischen dem vorhergesagten Begrenzungsrahmen und dem tatsächlichen Begrenzungsrahmen zu maximieren, indem die Schnittfläche berechnet und durch die Fläche der Union dividiert wird. Je näher dieser Wert an 1 liegt, desto besser ist die Erkennung, erklärt der Dozent. Darüber hinaus geht der Dozent auf die Herausforderungen bei der Erkennung mehrerer Objekte im selben Bild ein und erwähnt die grundlegende Lösung der Verwendung einer umfassenden Suche oder von Schiebefenstern. Dieser Ansatz weist jedoch erhebliche Probleme auf, einschließlich Ineffizienz und Erfordernis von zu viel Verarbeitungsleistung.

  • 00:10:00 In diesem Abschnitt erörtert der Redner die vorgeschlagene Lösung für das Problem niedriger Seitenverhältnisse bei der Objekterkennung, nämlich das System namens R-CNN. Die Grundidee besteht darin, wahrscheinliche Begrenzungsrahmen zu erraten und diese zu klassifizieren, indem klassische nicht maschinelle Lernalgorithmen verwendet werden, um ein Bild zu segmentieren und eine Reihe von Begrenzungsrahmen für Objekte vorzuschlagen. Dieser Ansatz funktioniert, weil Kanten in einem Bild wahrscheinlich die Grenzen eines Begrenzungsrahmens sind. Der Algorithmus verwendet auch die Non-Max-Unterdrückung, um Redundanz zu entfernen, die durch die potenzielle Klassifizierung desselben Objekts mehrmals verursacht wird. Dieses System ist jedoch immer noch langsam, da die meisten Bilder Tausende verschiedener Segmentierungsbereiche haben, je nachdem, wie der klassische Algorithmus definiert ist.

  • 00:15:00 In diesem Abschnitt erklärt der Dozent, wie Objekterkennungsalgorithmen optimiert werden können, um die Verarbeitungszeit zu minimieren. Eine Möglichkeit besteht darin, eine Merkmalskarte zu erstellen, die Schlüsselinformationen aus dem Bild extrahiert, und dann eine Klassifizierung nur für den Abschnitt der Merkmalskarte durchzuführen, der für jede Objekterkennung benötigt wird, wodurch die Notwendigkeit entfällt, das gesamte Faltungs-Neuronalnetzwerk jedes Mal neu auszuführen. Der Dozent stellt dann YOLO vor, einen Objekterkennungsalgorithmus, der ein einzelnes konvolutionelles neuronales Netzwerk verwendet, um die Position und Begrenzungsrahmen mehrerer Objekte in einem Bild auszugeben. Die Architektur von YOLO besteht aus Faltungsschichten und einer Klassifizierungsschicht, was eine schnellere Verarbeitungszeit und die gleichzeitige Erkennung mehrerer Objekte ermöglicht.

  • 00:20:00 In diesem Abschnitt erklärt das Video, wie YOLO (You Only Look Once) funktioniert, indem ein Bild in ein Raster zerlegt wird, wobei jedes Raster einen Klassifizierungsvektor oder Begrenzungsrahmen darstellt. Theoretisch bedeutet dies, dass die Anzahl der zu klassifizierenden Objekte gleich der Anzahl der Raster im Bild ist. YOLO verwendet auch XY-Breite und -Höhe, wobei die XY-Koordinate der Mittelpunkt des Begrenzungsrahmens und die Breite und Höhe die Größe des Rahmens sind. Anschließend erläutert das Video die Non-Max-Unterdrückung, einen Prozess, der Überschneidungen eliminiert und den besten Begrenzungsrahmen mit der höchsten Zuverlässigkeit für jedes Klassifikationsdiagramm auswählt.

  • 00:25:00 In diesem Abschnitt lernen wir die Herausforderungen bei der YOLO-Objekterkennung kennen, einschließlich des Problems, dass mehrere Objekte in derselben Zelle zentriert werden, und wie mehrere Klassifizierungen und Begrenzungsrahmen in einer Zelle ausgegeben werden. Die Lösung hierfür ist die Verwendung von Ankerboxen, bei denen generische Begrenzungsboxen vor der Klassifizierung definiert werden und der Datensatz basierend auf der Ähnlichkeit mit diesen Ankerboxen klassifiziert wird. Dies ermöglicht eine deterministische Methode, um zu bestimmen, welches Objekt in welchen Vektor klassifiziert werden soll, und eliminiert die Mehrdeutigkeit duplizierter Begrenzungsrahmen.

  • 00:30:00 In diesem Abschnitt wird die YOLO-Architektur diskutiert, die ein vollständig konvolutionelles neuronales Netzwerk zur Objekterkennung ist. Das YOLO-Netzwerk führt einen Durchgang über das Bild durch und ist einfach im Design, wodurch klassische Komponenten wie Schiebefenster eliminiert werden. Durch die Verwendung von Ankerkästen und anderen Techniken ist YOLO in der Lage, die Genauigkeit von RCNN zu erreichen und gleichzeitig seine Geschwindigkeit drastisch zu verbessern. Darüber hinaus wird das Konzept der Ankerboxen untersucht, bei denen es sich um geometrische Formen handelt, die Objekten in einem Bild entsprechen. Es ist schwierig, Objekte mit Ankerkästen zu erkennen, die dieselbe Form und Größe haben und sich überlappen. Es gibt jedoch Algorithmen, die mathematisch optimale Ankerboxen finden können, um diese Objekte zu trennen. Schließlich befasst sich die Diskussion mit der Speicherung einer großen Anzahl von Klassen zur Klassifizierung, was immer noch eine Klassifizierungsfrage ist, die derzeit von Forschern untersucht wird.

  • 00:35:00 In diesem Abschnitt empfiehlt der Referent ein technisches Dokument mit dem Titel „The Yellow Paper“ für diejenigen, die an der Lektüre von Objekterkennung interessiert sind. Andererseits rät der Referent wegen der Unlesbarkeit davon ab, RCNN zu lesen. Der Referent lädt das Publikum ein, vor Abschluss des Vortrags Fragen zu stellen.
 

CS 198-126: Vorlesung 8 - Semantische Segmentierung



CS 198-126: Vorlesung 8 - Semantische Segmentierung

Die Vorlesung behandelt Bildsegmentierung, einschließlich semantischer Segmentierung und Instanzsegmentierung. Das Hauptziel der Segmentierung besteht darin, alle Objekte in einem Bild zu erkennen und sie zu trennen. Der Dozent erklärt, wie ein Convolutional Neural Network (CNN) zur semantischen Segmentierung eingesetzt werden kann und wie Downsampling bei rechenintensiven Bildern mit voller Auflösung helfen kann. Es werden auch verschiedene Ansätze diskutiert, um ein kleines Volumen zurück in eine Bildgröße zu transformieren. Der Vortrag stellt das U-Net vor, ein Modell zur semantischen Segmentierung, das bisherige Verbesserungen mit Sprungverbindungen kombiniert, und erläutert, wie es mit dem Mask R-CNN-Ansatz zur Instanzsegmentierung erweitert werden kann. Ein vortrainiertes semantisches Segmentierungsmodell wird demonstriert, und der Referent spricht über das Vortraining und bevorstehende Kursaufgaben.

  • 00:00:00 In diesem Abschnitt behandelt die Vorlesung Bildsegmentierung, insbesondere semantische Segmentierung und Instanzsegmentierung. Bei der semantischen Segmentierung werden die spezifischen Pixel gesucht, in denen ein Objekt im Bild vorhanden ist, während die Instanzsegmentierung identifiziert, wo sich jede Instanz jeder Klasse im Bild befindet. Das letztendliche Ziel der Segmentierung besteht darin, alle Objekte in einem Bild zu erkennen und sie zu trennen. Diese Technik ist nützlich, da Menschen Objekte durch eine Kombination einzelner Komponenten wahrnehmen, und es wesentlich ist, diese Komponenten genauer identifizieren und klassifizieren zu können. Die Segmentierung bietet nützliche Anwendungen, wie z. B. die Objekterkennung und die Identifizierung von Objektbeziehungen.

  • 00:05:00 In diesem Abschnitt erläutert der Dozent das Konzept der Segmentierung und wie man es angeht. Die Idee ist, verbundene Segmente zu erstellen, indem sie auf der Grundlage von Ähnlichkeitskriterien gruppiert werden. Der klassische Ansatz dazu bestand darin, eine Funktion zu definieren, um Pixel basierend auf ihrer Ähnlichkeit in einer Metrik, wie z. B. der Intensität, zu gruppieren. Allerdings erwähnt der Dozent neuere Deep-Learning-Ansätze, etwa Sliding Windows, die lernen können, wie man eine Segmentierung durchführt, anstatt einen festen Algorithmus zu verwenden.

  • 00:10:00 In diesem Abschnitt erläutert der Referent, wie ein Convolutional Neural Network (CNN) zur semantischen Segmentierung eingesetzt werden kann. Anstatt den CNN-Sliding-Window-Ansatz mehrmals auszuführen, kann stattdessen eine Faltungsoperation verwendet werden. Dies ermöglicht die gewünschten Effekte ohne die Ineffizienz der Neuberechnung gemeinsam genutzter Merkmale. Die Faltungsschicht kann als Filter über dem Bild ausgeführt werden, und die Ausgabeschicht wird unabhängig von der Größe eins zu eins mit dem Originalbild abgebildet. Padding kann auch verwendet werden, um Fälle zu behandeln, in denen die Eingabegröße kleiner als die Filtergröße ist.

  • 00:15:00 In diesem Abschnitt erörtert der Dozent das Problem des Downsampling großer Bilder, um die semantische Segmentierung praktikabler zu machen, da die Verarbeitung von Bildern mit voller Auflösung rechenintensiv sein kann. Die Lösung besteht darin, das Bild schrittweise mit jeder Faltungsebene herunterzurechnen und redundante Informationen zu entfernen, wodurch ein kleineres Volumen zum Arbeiten entsteht. Dieses heruntergerechnete Bild wird dann am Ende hochgerechnet, um eine Segmentierungskarte des ursprünglichen Bildes zu erstellen, wobei jedes Pixel basierend auf der maximalen Klassifizierungsausgabe in eine bestimmte Klasse segmentiert wird. Der Vortrag diskutiert auch kurz verschiedene Ansätze zum Auffüllen und Bearbeiten der Kanten von Bildern.

  • 00:20:00 In diesem Abschnitt erläutert der Kursleiter verschiedene Ansätze zur Umwandlung eines kleinen Volumens, z. B. einer Segmentierungskarte, zurück in ein Bild in der Größe des ursprünglichen Eingabebilds. Der klassische Ansatz beinhaltet das Hochskalieren des Bildes und die Verwendung von Interpolationsfunktionen, wie zum Beispiel nächster Nachbar oder lineare Interpolation, um den zusätzlichen Raum auszufüllen. Dieser Ansatz kann jedoch zu einem gewissen Detailverlust führen. Der Kursleiter schlägt einen erlernten Ansatz vor, der die Entfaltung verwendet, bei der die Eingabeschicht über die Ausgabeschicht geführt wird und Pixel auf dem ursprünglichen Eingabebild einzeln entfernt werden. Der Kursleiter gibt einen kurzen Überblick über Faltungen und erklärt, wie die Dekonvolution funktioniert, indem die Positionen der Eingabe- und Ausgabeschichten umgedreht werden.

  • 00:25:00 In diesem Abschnitt zeichnet der Dozent ein Beispiel für ein einfaches Eingangsbild und erklärt eine Zerlegungsmethode, bei der jedes Pixel des Eingangsbilds betrachtet und mithilfe eines Filters auf das Ausgangsbild projiziert wird. Eine Einschränkung dieser Methode weist der Dozent darauf hin, dass bereits geschriebene Werte überschrieben werden können. Um dies anzugehen, führt der Dozent einen inkrementellen Ansatz ein, der Faltungsfaltungen umfasst, um das Eingangsbild in eine Darstellung mit niedriger Auflösung herunterzurechnen, und dann D-Faltungen verwendet, um es wieder auf seine ursprüngliche Größe hochzurechnen. Der Dozent merkt an, dass diese Methode vorteilhaft ist, da das Upsampling erlernt wird und nicht nur ein klassischer Algorithmus, der eine bessere Anpassungsfähigkeit und Verfeinerung von Formen ermöglicht.

  • 00:30:00 In diesem Abschnitt lernen wir das U-Net kennen, ein Modell zur semantischen Segmentierung, das frühere Verbesserungen mit Sprungverbindungen kombiniert. Skip-Verbindungen ermöglichen das Einziehen von Informationen von verschiedenen Ebenen des Downsampling-Pfades während des Upsamplings. Es gibt auch verschiedene Varianten des U-Net, wie z. B. Modelle der Deep Flat-Familie und Transformer-basierte Modelle wie den Sendformer. Das U-Net kann auch erweitert werden, um das Problem der Instanzsegmentierung zu lösen, indem der Mask R-CNN-Ansatz verwendet wird, der die Position von Objekten innerhalb des identifizierten Werts vorhersagt.

  • 00:35:00 In diesem Abschnitt erörtert der Dozent die vollständige Instanzsegmentierung mit Mask R-CNN, die für selbstfahrende Autos nützlich ist, die die Umrisse von Objekten wie Autos, Fußgängern oder Rucksäcken erkennen. Der Dozent erklärt, wie der potenzielle Begrenzungsrahmen in ein Bild mit fester Größe gestaucht und klassifiziert wird. Die Etiketten für die Objekte werden durch eine Vielzahl von Methoden gesammelt, z. B. indem Menschen dies tun oder assistierende Methoden eingesetzt werden. Die Matrix wird auf die gleiche Weise gelernt wie ein Filter, und wenn ein Bild außer Betrieb genommen wird, erklärt der Dozent, dass es sich um eine Projektion handelt, bei der der Filter mit jedem entsprechenden Pixelwert multipliziert und dann über das Bild iteriert wird, was nicht wirklich eine Faltung umkehrt .

  • 00:40:00 In diesem Abschnitt demonstrieren der Dozent und ein Student ein vortrainiertes semantisches Segmentierungsmodell, das auf Cloud GPU trainiert wurde. Das Modell wird auf einem Bild aus Japan ausgeführt, und die Ergebnisse zeigen, dass das Modell mehrere Objekte mit unterschiedlicher Genauigkeit erkennen kann. Der Student erwähnt auch, dass ein Bewertungsschwellenwert auf das Modell angewendet werden kann, um Informationen mit niedrigen Genauigkeitsbewertungen herauszufiltern. Insgesamt dient die Demo als Beispiel dafür, wie die semantische Segmentierung auf reale Bilder angewendet werden kann.

  • 00:45:00 In diesem Abschnitt spricht der Redner über das Vortraining und wie das Modell auf AWS und anderen ausgelagerten Diensten vorab trainiert werden kann. Sie erwähnen auch eine obligatorische Bewohnerzuweisung und eine empfohlene optionale Einheit, die eine Segmentierung beinhaltet. Die Fälligkeitstermine und Links sind auf der Kurswebsite aufgeführt und ermutigen die Studierenden, bei Fragen zur Sprechstunde zu kommen. Insgesamt lieferte dieser Abschnitt einige logistische Informationen über den Kurs und bevorstehende Aufgaben.
 

CS 198-126: Vorlesung 9 - Autoencoder, VAEs, Generative Modellierung



CS 198-126: Vorlesung 9 - Autoencoder, VAEs, Generative Modellierung

In dieser Vorlesung wird das Konzept der generativen Modellierung vorgestellt, bei dem mithilfe von maschinellem Lernen neue Bilder auf der Grundlage eines Datensatzes erstellt werden. Autoencoder, eine Art neuronales Netzwerk, das zum Lernen von Merkmalen verwendet wird, werden erklärt, wobei der Schwerpunkt auf ihrer Struktur liegt und wie sie Merkmale von Eingabedaten durch Komprimierung und Rekonstruktion lernen können. Die Vorlesung behandelt auch Variations-Autoencoder und ihre Vorteile sowie die Verwendung von strukturierten latenten Räumen in Autoencodern, um zwischen Bildern zu interpolieren. Die Bedeutung der Vektorquantisierung für die Arbeit mit diskreten Daten wird diskutiert, und die Verlustfunktion für einen Variations-Autoencoder wird erläutert, die einen Rekonstruktionsverlust und einen Commitment-Verlust umfasst, um eine Hartcodierung der Eingabedaten zu verhindern. Der Vortrag endet mit einer Zusammenfassung der behandelten Themen.

  • 00:00:00 In diesem Abschnitt führt die Vorlesung in das Thema der generativen Modellierung ein, bei der es darum geht, mithilfe von maschinellem Lernen neue Bilder auf der Grundlage eines Datensatzes zu generieren. Für Maschinen kann es jedoch ein schwieriges Problem sein, zu verstehen, was verschiedene Objekte wie Katzen voneinander unterscheidet. Die Vorlesung stellt das Konzept der Autoencoder vor und wie sie zum Komprimieren und Dekomprimieren von Bildern verwendet werden können, wie am Beispiel der JPEG-Komprimierung zu sehen ist. Die Vorlesung berührt auch das Thema Variationsautoencoder, das in der nächsten Vorlesung behandelt wird.

  • 00:05:00 In diesem Abschnitt erörtert der Dozent die Bildkomprimierung und wie sie auf dem Verständnis der Daten auf einer bestimmten Ebene beruht. Die Komprimierung kann Speicherplatz sparen und die Anzahl der Bits reduzieren, die zum Senden eines Bildes über ein Netzwerk erforderlich sind. Der JPEG-Algorithmus verwirft einige der höherfrequenten Informationen und Pixel-zu-Pixel-Beziehungen, die für die menschliche Wahrnehmung nicht entscheidend sind. Der Dozent schlägt dann vor, dass für bestimmte Arten von Bildern, wie z. B. Katzenbilder, fortgeschrittenere Komprimierungsschemata entwickelt werden könnten, mit tieferem Wissen darüber, wie das Bild über nur Pixelkorrelationen hinaus strukturiert ist. Insgesamt unterstreichen Komprimierungsalgorithmen die Bedeutung des Verständnisses der Daten beim maschinellen Lernen.

  • 00:10:00 In diesem Abschnitt erörtert der Dozent das Konzept der Autoencoder, einer Art neuronaler Netze, die zum Lernen von Merkmalen verwendet werden und eine Encoder-Decoder-Struktur verwenden, um die Eingabedaten zu komprimieren und später zu rekonstruieren. Er vergleicht es mit früheren Techniken wie Eigenfaces, die PCA zur Merkmalsextraktion verwendeten, und zeigt die Struktur eines Autoencoder-Netzwerks. Der Encoder-Teil reduziert die Eingabedaten in eine Flaschenhalsschicht, während der Decoder-Teil sie wieder in ihre ursprüngliche Form rekonstruiert. Ziel ist es, den Unterschied zwischen Original- und rekonstruierten Daten zu minimieren. Der Dozent wirft die Frage auf, warum ein Netzwerk nützlich wäre, das denselben Output wie Input produziert, und erklärt, dass der Schlüssel in den erlernten Merkmalen der Daten liegt, die für andere Aufgaben verwendet werden können.

  • 00:15:00 In diesem Abschnitt der Vorlesung erklärt der Kursleiter das Konzept der Engpassschicht in Autoencodern und wie es das Netzwerk zwingt, die Eingabedaten zu komprimieren, und lernt daher einige Merkmale der Daten. Er diskutiert auch die Einschränkungen dieser Netzwerkstruktur und die wünschenswerten Eigenschaften des Codes, wie seine geringe Größe und die Ähnlichkeit von Codes für ähnliche Bilder. Der Kursleiter stellt das Konzept der Variations-Autoencoder vor, das auf den Autoencodern aufbaut, aber magische Eigenschaften bietet, die vernünftige Ergebnisse ermöglichen, wenn verschiedene Operationen auf die latenten Vektoren angewendet werden. Er diskutiert dann den generativen Rahmen für die Bild- und Texterzeugung, der das Abtasten des latenten Vektors beinhaltet, der die Informationen des zu erzeugenden Bildes oder Textes enthält.

  • 00:20:00 In diesem Abschnitt des Vortrags erörtert der Referent die Verwendung latenter Vektoren als Möglichkeit, Merkmale oder "Gene" in einem Datensatz von Gesichtern darzustellen. Der latente Vektor fungiert als eine Art Wahrscheinlichkeitsverteilung über mögliche Gensätze für ein Individuum, und die Gesichtsstruktur ist eine Funktion der Gene in diesem Satz. Der Codierer nimmt ein Eingabebild und erzeugt einen latenten Vektor, und der Decodierer nimmt diesen latenten Vektor und erzeugt eine Schätzung des Originalbilds. Um dem latenten Raum eine Struktur aufzuerlegen, werden probabilistische Kodierungen verwendet.

  • 00:25:00 In diesem Abschnitt des Vortrags erläutert der Referent die Verwendung von Wahrscheinlichkeitsverteilungen bei der Abbildung von Eingaben auf einen Bereich möglicher Ausgaben, um benachbarte Vektoren im latenten Raum zu zwingen, ähnliche Bilder zu decodieren. Dieses Konzept ist bei Variations-Autoencodern (VAEs) wichtig, die eine Gaußsche Verteilung verwenden, um die Parameter eines Kreises im latenten Raum auszugeben, aus dem ein Code abgetastet wird. Der VAE-Verlust umfasst einen Rekonstruktionsterm und einen Term, der die Ausgabe des Codierers dazu zwingt, wie eine Normalverteilung auszusehen, wodurch verhindert wird, dass er nur einen Punkt zur Ausgabe lernt, und stattdessen große Mengen fördert, die auf denselben Punkt codiert werden müssen. Der Sprecher weist auf die gegensätzlichen Ziele bei diesem Verlust hin, bei dem der Autoencoder es vorziehen würde, jeden Eingang einem einzelnen Punkt zuzuordnen, aber der zusätzliche Begriff erzwingt, dass Punkte nahe am Mittelpunkt der Ebene liegen und eine gewisse Abweichung aufweisen, was zu Scheiben anstelle von führt einzelne Punkte.

  • 00:30:00 In diesem Abschnitt des Vortrags diskutiert der Referent die Vorteile der Verwendung strukturierter latenter Räume in Autoencodern. Durch das Erzwingen einer Struktur im latenten Raum können Autoencoder effektiv zwischen Bildern interpolieren, was in einer beliebten Online-Demo gezeigt wird, in der Benutzer einen Schieberegler zwischen zwei prominenten Gesichtern schieben und sehen können, wie der Schieberegler auf vernünftige Weise zwischen den beiden Gesichtern interpoliert. Der Referent erklärt, dass dies durch die Verwendung eines Variations-Autoencoders ermöglicht wird, der die latenten Vektoren dazu zwingt, im selben Raum zusammenzuleben und nahe gelegene Punkte aus nahe gelegenen Vektoren zu dekodieren. Der Redner merkt an, dass die Trainingsdetails von Variations-Autoencodern zwar aufgrund der beteiligten Abtastung schwierig sein können, der Ansatz jedoch willkürlich ist und an verschiedene Anwendungen angepasst werden kann.

  • 00:35:00 In diesem Abschnitt des Vortrags erörtert der Referent, wie die Verwendung diskreter Token für bestimmte Bereiche wie die Verarbeitung natürlicher Sprache (NLP) erforderlich ist, da es schwierig ist zu definieren, was es bedeutet, ein Wort durch ein bestimmtes zu ändern Prozentsatz. Als Ergebnis diskutiert er die Verwendung der Vektorquantisierung als Hack, um Variations-Autoencoder (VAEs) zu erweitern, damit sie mit diskreten Token arbeiten. Bei der Vektorquantisierung wird ein Codebuch gültiger Token verwendet, um alle Ausgangsvektoren von der VAE auf das nächste Token zu runden, was eine bessere Darstellung diskreter Daten ermöglicht. Die Auswahl des Codebuchs bleibt jedoch eine Herausforderung.

  • 00:40:00 In diesem Abschnitt erörtert der Sprecher die Verlustfunktion für einen Variational Autoencoder (VAE), der verwendet wird, um die Positionen von Codewörtern zu lernen, die verschiedenen Clustern innerhalb einer Datenverteilung entsprechen. Die Verlustfunktion umfasst einen Rekonstruktionsverlust, der sicherstellt, dass die Ausgabe des Decoders ähnlich der Eingabe ist, und einen Bindungsverlust, der sicherstellt, dass die vom Codierer ausgegebenen Vektoren nahe an den Codewörtern liegen, die die Mitten dieser Cluster darstellen. Um zu verhindern, dass das Netzwerk die Eingabedaten hartcodiert, erzeugt der Codierer mehrere Codewörter für jede Eingabe, was zu einem größeren Satz von Codewörtern führt und es dem Netzwerk ermöglicht, eine größere Vielfalt von Ausgaben zu erzeugen.

  • 00:45:00 In diesem Abschnitt des Videos erläutert der Moderator eine Methode zur Generierung neuer Bilder mit VQ-VAE, indem etwas C aus einer Normalverteilung abgetastet und durch den Decoder geleitet wird, was zu einem neuartigen Bild führt, das es noch nie gegeben hat zuvor gesehen. Darüber hinaus erklärt der Moderator, dass eine einheitliche Abtastung der Codebuchelemente möglicherweise nicht effektiv ist, da einige Codewörter häufiger verwendet werden als andere in der wahren Datenverteilung. Daher kann das Erlernen des Prior über die Codewörter beim Generieren neuer Daten nützlich sein. Abschließend bietet der Moderator eine Zusammenfassung des Vortrags, beginnend mit Autoencodern, übergehend zu Variations-Autoencodern und endend mit vektorquantisierten Variations-Autoencodern.
 

CS 198-126: Vorlesung 10 - GANs



CS 198-126: Vorlesung 10 - GANs

Die Vorlesung über GANs stellt das Konzept zweier Netzwerke vor, dem Diskriminator und dem Generator, die in einem spieltheoretischen Aufbau gegeneinander antreten. Die Eingabe des Generators ist zufälliges Rauschen, dem er eine Bedeutung zuweist, um echt aussehende Bilder zu erzeugen, und die Aufgabe des Diskriminators besteht darin, zu beurteilen, ob das Bild echt oder gefälscht ist. GANs verwenden eine Verlustfunktion, die einem negativen Kreuzentropieverlust entspricht, wobei der Generator ihn minimieren und der Diskriminator ihn maximieren möchte. Die Wertfunktion stellt dar, wie gut der Generator arbeitet und vom Diskriminator maximiert werden muss, indem gefälschte und echte Daten korrekt klassifiziert werden. Der Vortrag behandelt auch Probleme mit dem Training von GANs und dem nicht sättigenden Verlust, der es dem Generator ermöglicht, mehr Einfluss auf Änderungen zu haben.

  • 00:00:00 In diesem Abschnitt gibt der Dozent einen Überblick über latente Variablen und Codes, die zum Komprimieren und Abbilden von Bildern in komprimiertere Darstellungen verwendet werden. Die Idee, Autoencoder zu verwenden, um neue Bilder aus einem latenten Vektor zu erzeugen, wird ebenfalls eingeführt. Der Dozent weist auf die Herausforderung hin, zu beurteilen, was ein gutes, realistisches Bild ausmacht, und hier kommen GANs (Generative Adversarial Networks) ins Spiel. Mit zwei Netzwerken, von denen eines Daten generiert und das andere versucht, festzustellen, ob es echt oder falsch ist, konkurrieren die Netzwerke in einem spieltheoretischen Aufbau gegeneinander. Der Diskriminator gewinnt, wenn er Bilder richtig klassifiziert, und der Generator gewinnt, wenn er den Diskriminator täuscht.

  • 00:05:00 In diesem Abschnitt erläutert der Kursleiter das allgemeine Konzept hinter GANs, bei dem zwei Netzwerke – der Diskriminator und der Generator – gegeneinander antreten. Im Gegensatz zu Autoencodern, bei denen der Engpass in der Mitte liegt, haben GANs etwas in der Mitte zwischen Generator und Diskriminator, das viel höherdimensional ist. Die Eingabe in den Generator ist eine Art zufälliger Rauschvektor, der von einem multivariaten Gaußschen Wert abgetastet wird. Der Generator wird dann mit der latenten Rauschvariablen gespeist und entscheidet, wie er ihr eine zufällige Bedeutung zuweist, damit er eine ganze Reihe von Eingaben oder eine ganze Menge echt aussehender Bilder erzeugen kann. Diskriminator- und Generatornetzwerk werden gemeinsam über Gradientenabstieg im Wechsel trainiert, mit dem Ziel, das andere Netzwerk zu täuschen.

  • 00:10:00 In diesem Abschnitt erklärt der Dozent, wie GANs funktionieren, indem sie ein Netzwerk haben, dem echte und gefälschte Daten gegeben werden, um einen Generator zu trainieren, Muster herauszufinden, die Bilder echt aussehen lassen. Der Diskriminator ist derjenige, der beurteilt, ob das Bild echt oder falsch ist, und während er lernt, beginnt er Muster zu erkennen und aktualisiert sein Urteil. Die Hoffnung ist, dass der Generator lernt, sich selbst zu verbessern, indem er etwas mit mehr Form oder Objekten erstellt, die im Kontext der Szene sinnvoll sind. Die Verlustfunktion für GANs besteht nur aus einem Klassifizierungsverlust des Diskriminators, und der Generatorwert ist das Gegenteil davon. Um den Generator zu trainieren, muss der Diskriminator gut darin sein, ein Bild zu beurteilen, um dem Generator eine Rückmeldung zu geben.

  • 00:15:00 In diesem Abschnitt erklärt der Dozent, wie wichtig es ist, dass ein Diskriminator Bilder genau klassifizieren kann, um den Generator zu verbessern. Der Diskriminator muss möglicherweise häufiger aktualisiert werden als der Generator, damit er einen sinnvollen Unterschied zwischen dem realen und dem generierten Bild erkennen kann. Der Dozent zerlegt dann die Verlustfunktion, die einem negativen Kreuzentropieverlust entspricht, wobei der Generator ihn minimieren und der Diskriminator ihn maximieren möchte. Der Generator gewinnt, wenn seine Daten echt aussehen, und der Diskriminator gewinnt, wenn er die echten und gefälschten Bilder korrekt unterscheidet. Die beiden Netzwerke befinden sich in einem spieltheoretischen Szenario, in dem sie gegeneinander antreten, um voranzukommen und besser zu werden.

  • 00:20:00 In diesem Abschnitt des Videos erklären die Moderatoren das Konzept einer Wertfunktion in GANs, die das Gegenteil der Verlustfunktion ist, die in herkömmlichen Modellen für maschinelles Lernen verwendet wird. Die Wertfunktion stellt dar, wie gut der Generator arbeitet und vom Diskriminator maximiert werden muss, indem gefälschte und echte Daten korrekt klassifiziert werden. Die Gewichte des Generators werden im ersten Schritt eingefroren, damit der Diskriminator mit Stapeln echter und gefälschter Daten trainiert werden kann. Während des zweiten Schritts wird der Diskriminator eingefroren und die Gewichtungen des Generators werden aktualisiert, um etwas bessere gefälschte Bilder zu erzeugen. Dieser Vorgang wiederholt sich so lange, bis der Generator realistische Bilder erzeugt, die selbst der Diskriminator nicht als Fälschung einstufen kann.

  • 00:25:00 In diesem Abschnitt erörtert der Referent bedingte GANs, die eine Lösung zum Generieren von Bildern mit mehr Kontrolle über die generierten Klassen bieten. Das derzeitige GAN-Setup erfordert eine wiederholte zufällige Speisung des Generators, bis das gewünschte Objekt oder Bild generiert wird, aber für Datensätze mit mehr Klassen ist dieser Ansatz nicht ideal. Indem ein One-Hot-Vektor an den Zufallsrauschvektor angehängt wird, kann der Generator mehr Kontrolle über die zu erzeugende Klasse haben. Der One-Hot-Vektor entspricht der gewünschten Klasse, und der Generator wird darauf trainiert, ein Bild mit dieser bestimmten Klasse zu erzeugen.

  • 00:30:00 In diesem Abschnitt des Vortrags diskutiert der Referent die Idee, den Generator dazu anzuregen, eine bestimmte Funktion im bedingten GAN-Modell zu verwenden. Der Sprecher erklärt, dass es nicht ausreicht, dem Generator nur zu sagen, dass er ein bestimmtes Bild erzeugen soll, da der Generator keinen Anreiz hat, die gegebenen Informationen zu verwenden. Die Lösung besteht darin, den Diskriminator auch mit demselben Etikett zu versehen und eine Strategie zu schaffen, mit der er erkennen kann, ob ein generiertes Bild seinem Etikett entspricht oder nicht. Dies zwingt den Generator, auf das Label zu achten, da er die Erkennung durch den Diskriminator vermeiden möchte, was zu einer Ausgabe führt, die mit dem gegebenen Label übereinstimmt. Die Architektur sowohl des Generators als auch des Diskriminators wird ebenfalls diskutiert.

  • 00:35:00 In diesem Szenario würden die Gewichte des Generators schließlich Null werden. Außerdem kann der Generator ausrutschen und in einen Moduseinbruch geraten, bei dem er nur eine kleine Menge von Beispielen ausgibt, die den Diskriminator gut täuschen. Dieses Problem tritt auf, weil der Diskriminator superscharfe Entscheidungsgrenzen lernt und der Generator dazu angeregt wird, diese gefälschten Beispiele wiederholt auszugeben. Schließlich gibt es bei GANs auch Probleme mit dem Trainingsverfahren, da ihr Vanilla-Setup nicht konvergiert und ihre Verlustfunktion flach wird.

  • 00:40:00 In diesem Abschnitt erörtert der Dozent einige häufige Probleme mit GANs, die das Training erschweren können. Ein Problem besteht darin, dass es immer einen Kompromiss zwischen dem Generator und dem Diskriminator geben wird, wobei der Diskriminator versucht, sich an bestimmte Merkmale in realen Bildern zu überanpassen, und es keine eindeutige Möglichkeit gibt, festzustellen, wann das GAN mit dem Training fertig ist. Der Dozent geht dann auf einen nicht sättigenden Verlust ein, der eine einfache Umformulierung des Ziels des Generators ist, und spricht das Problem an, dass der Generator nur eine kleine partielle Ableitung erhält, wenn der Diskriminator erzeugte Bilder als Fälschung erkennt. Der nicht sättigende Verlust maximiert einen alternativen Term und ermöglicht dem Generator, mehr Einfluss auf die Änderung zu haben.

  • 00:45:00 In diesem Abschnitt erklärt der Dozent den mathematischen Trick hinter dem Cross-Entropie-Verlust, der in GANs verwendet wird. Anstatt blind zu versuchen, den negativen Kreuzentropieverlust zu minimieren, besteht das Ziel des Generators darin, die Wahrscheinlichkeit zu maximieren, als Eins klassifiziert zu werden, indem er eine Art Kreuzentropieverlust der binären Klasse verwendet. Dieser nicht sättigende Verlust führt zu größeren Generatorgradienten, wodurch wir schneller trainieren können, wenn der Diskriminator gerade den Generator abschaltet. Der Dozent merkt jedoch an, dass es sich um fortgeschrittenes Material handelt, ohne Quiz oder Hausaufgaben, aber er steht zur Verfügung, um mehr über fortgeschrittene GAN-Trainingstechniken zu sprechen.
 

CS 198-126: Vorlesung 11 - Fortgeschrittene GANs



CS 198-126: Vorlesung 11 - Fortgeschrittene GANs

Diese Vorlesung über fortgeschrittene GANs behandelt verschiedene Techniken zur Verbesserung der Stabilität und Qualität von GAN-Modellen, darunter bilineares Upsampling, transponierte Faltung, bedingte GANs, StyleGAN und CycleGAN. Der Vortrag behandelt auch die Verwendung von kontrolliertem Zufallsrauschen, adaptiver Instanznormalisierung und der Verarbeitung von Videos in GANs. Um eine bessere Stabilität und Ergebnisse zu erzielen, empfiehlt der Dozent, größere Batchgrößen zu verwenden und den Bereich des zufälligen Rauschens während des Tests abzuschneiden, während er davor warnt, den Diskriminator zu stark zu schwächen. Darüber hinaus wird empfohlen, mit einer breiten Verteilung unterschiedlich großer Latenträume zu beginnen, um eine Vielzahl von Bildern zu erzeugen. Schließlich berührt der Vortrag das Big Gan, das dabei hilft, GANs in sehr großen Maßstäben zu erzeugen.

  • 00:00:00 In diesem Abschnitt führt der Referent in das Thema GANs im Kontext von Computer Vision ein und diskutiert den Aufbau einer GAN-Architektur für Computer Vision. Der Redner konzentriert sich auf den Diskriminator, der ein Klassifikations-CNN ist, und den Generator, der eine größere Herausforderung darstellt, da das latente Vektorbild hochgerechnet werden muss. Der Redner erörtert auch Downsampling- und Upsampling-Techniken, einschließlich Next-Neighbour-Upsampling, ein naiver Ansatz, der jede einzelne Zelle auf der vorhandenen Feature-Map dupliziert, was zu einem verschwommenen Bild führt.

  • 00:05:00 In diesem Abschnitt erörtert der Dozent Möglichkeiten zum Upsampling von Feature-Maps für Generatoren in GANs. Er beschreibt zunächst das bilineare Upsampling, bei dem neue Merkmalskarten erstellt werden, indem eine größere, leere Merkmalskarte genommen und mit dem Durchschnitt aller ihrer nächsten Nachbarn gefüllt wird. Anschließend führt er die transponierte Faltung ein, die die Feature-Map mit so viel Polsterung auffüllt, dass die Ausgabe-Feature-Map größer als die Eingabe wird, wenn das Faltungsfenster darüber geschoben wird. Der Dozent merkt an, dass dies die gebräuchlichsten Möglichkeiten zum Upsampling von Feature-Maps sind und normalerweise ausreichen, um Generatoren größer zu machen.

  • 00:10:00 In diesem Abschnitt des Vortrags geht der Referent auf bedingte GANs und deren Handhabung im Generator ein. Die Eingaben in den Generator enthalten jetzt einen latenten und einen bedingten Vektor, der ihm sagt, was er erzeugen soll. Der Sprecher schlägt vor, die Vektoren miteinander zu verketten oder sie getrennt zu verarbeiten, bevor sie verkettet werden. Sie berühren auch kurz die Übergabe mehrerer Dinge an einen Diskriminator. Der Vortrag wechselt dann zu StyleGAN, einer neuen Architektur für den Generator, die künstlerisches Flair und Vorverarbeitung der latenten Vektoren vor Faltungsoperationen beinhaltet.

  • 00:15:00 In diesem Abschnitt erörtert der Sprecher die Notwendigkeit, das Latent zu füttern, um all den verschiedenen Windungen Zugriff auf den darin codierten Stil zu geben, um bessere Texturen zu erzeugen. Textur ist zufälliges Rauschen, und es wäre viel einfacher, das Modell mit Zufälligkeitsquellen zu versehen. Dieser Abschnitt stellt die verwendete Architektur vor, die den Generator in zwei verschiedene Komponenten zerlegt. Der erste ist der gewünschte, dessen latenter Vektor in den Generator eingespeist wird. Das Einbringen der gewünschten Komponente dient dazu, das Latent vorzuverarbeiten, um das Problem unbrauchbarer Latenträume zu lösen, die es schwierig machen, bestimmte Bilder zu erzeugen. Bei Vorprozessen wird das Latent durch dichte Schichten geleitet, bis wir ein neues modifiziertes Latent namens W haben.

  • 00:20:00 In diesem Abschnitt erläutert das Video das Konzept der adaptiven Instanznormalisierung (AdaIN) und wie es Stil in das Netzwerk einführt. AdaIN ersetzt die Stapelnorm und verwendet einen Stilvektor, um vorzugeben, wie viel neu skaliert und korrigiert werden soll, was aussagekräftigere Ergebnisse ermöglicht. Der Stilvektor wird durch eine vollständig verbundene Schicht geleitet, die verwendet wird, um alle Aktivierungen neu zu skalieren und neu vorzuspannen. Das Endziel besteht darin, den Zugang zur Zufälligkeit zu verbessern, indem eine große Anzahl von Feature-Maps generiert werden, die rein zufälliges Rauschen sind.

  • 00:25:00 In diesem Abschnitt erörtert der Dozent das Hinzufügen von kontrolliertem Zufallsrauschen zu jeder Feature-Map, wodurch das Netzwerk die Rauschmenge basierend auf den gelernten B-Werten nach oben oder unten skalieren kann. Dieses kontrollierte Zufallsrauschen trägt dazu bei, bessere Texturen und Unvollkommenheiten zu erzeugen, was die Erzeugung einzelner Haare und Falten ermöglicht. Das kontrollierte Rauschen wird nach jeder Faltung hinzugefügt und ermöglicht es dem Netzwerk, die Größe des Rauschens zu steuern. Der Vortrag behandelt auch die neuen Innovationen im Stil GAN, einschließlich des latenten Vektors, der in jede Schicht integriert ist, und die Verwendung der adaptiven Instanznormalisierung, um den Stil langsam einzuführen.

  • 00:30:00 In diesem Abschnitt erläutert der Dozent die beiden fortgeschrittenen GAN-Techniken: StyleGAN und CycleGAN. StyleGAN generiert zufällige Gesichter mit enormen Texturverbesserungen durch zufälliges Rauschen, während CycleGAN Bilder von einem Datensatz in einen anderen überträgt. Ein Verlustterm ist dem Realismus konvertierter Bilder gewidmet, der andere misst, ob das Bild wieder in seinen ursprünglichen Zustand versetzt werden kann. CycleGAN kann realistische Fotos machen und sie in Monet-Gemälde verwandeln, Zebras in Pferde verwandeln und die Jahreszeiten eines Bildes verändern. Obwohl es keine Konsistenz zwischen den Einzelbildern im Video gibt, kann die Technik dennoch anständige Ergebnisse liefern.

  • 00:35:00 In diesem Abschnitt erklärt der Sprecher, dass Videos verwendet werden können, um einen Diskriminator zu trainieren, um echte und gefälschte Videos zu identifizieren, aber im Vergleich zur Verarbeitung von Bildern eine erhebliche Rechenleistung erfordert. Das Video sollte Frame für Frame verarbeitet werden, aber einige Frames können übersprungen werden, um den Prozess effizienter zu gestalten. Der Diskriminator kann verwendet werden, um die Konsistenz in den generierten Videos von einem Frame zum anderen sicherzustellen. Darüber hinaus rät der Referent zur Vorsicht bei der Verwendung von GAN-Modellen in einigen Demonstrationen, wie z. B. der Umwandlung eines Affen in ein Pferd, da dies möglicherweise nicht immer effizient funktioniert und das Ergebnis möglicherweise nicht wie erwartet ist. Abschließend erörtert der Referent, wie GAN skaliert, wenn größere Chargengrößen und mehr Daten auf größere Modelle geworfen werden, und erläutert einige Kompromisse zwischen Stabilität, Zuverlässigkeit, Vielfalt und Qualität.

  • 00:40:00 In diesem Abschnitt erläutert der Dozent einige Tricks, um mit GANs bessere Stabilität und Ergebnisse zu erzielen. Ein Schlüssel zu besserer Stabilität ist die Verwendung größerer Stapelgrößen, was besonders bei komplexen Aufgaben wie GANs hilfreich ist. Ein weiterer Tipp besteht darin, den Bereich des zufälligen Rauschens während des Tests abzuschneiden, um Ergebnisse zu vermeiden, die außerhalb der Erfahrung des Modells liegen. Dies ist jedoch mit dem Nachteil verbunden, dass die Vielfalt der generierten Bilder eingeschränkt wird. Der Dozent betont auch, dass es notwendig ist, eine gewisse Instabilität während des Trainings zu akzeptieren, um gute Ergebnisse zu erzielen, und warnt davor, den Diskriminator übermäßig zu nerfen.

  • 00:45:00 In diesem Abschnitt warnt der Sprecher davor, eine enge Verteilung für den latenten Raum zu verwenden, da der Generator möglicherweise wiederholt ähnliche Bilder erzeugt, wodurch es schwieriger wird, eine Vielzahl von Bildern zu erzeugen. Der Referent schlägt vor, mit einer breiten Verteilung unterschiedlicher Größen zu beginnen, um dem Modell eine gute erste Vorstellung davon zu geben, wie man Bilder erzeugt. Darüber hinaus teilen sie, dass die Diskriminatorfunktion neben der zufälligen Erzeugung eines einzelnen Bildes auf verschiedene Weise von Vorteil sein kann. Schließlich stellen sie den Big Gan vor, der dabei hilft, GANs in sehr großem Maßstab zu erzeugen.
 

CS 198-126: Vorlesung 12 - Diffusionsmodelle



CS 198-126: Vorlesung 12 - Diffusionsmodelle

In diesem Vortrag über Diffusionsmodelle diskutiert der Referent die Intuition hinter Diffusionsmodellen – die Vorhersage des einem Bild hinzugefügten Rauschens und dessen Entrauschung, um das Originalbild zu erhalten. Die Vorlesung behandelt den Trainingsprozess, erweiterte Architektur und Beispiele von Diffusionsmodellen bei der Generierung von Bildern und Videos. Darüber hinaus geht die Vorlesung auf latente Diffusionsmodelle ein, die das Modell in einen latenten Raum komprimieren, um die Diffusion auf dem semantischen Teil des Bildes auszuführen. Der Referent gibt auch einen Überblick über verwandte Modelle wie Dolly Q, Googles Imagine-Modell und Facebooks Make a Video und ihre Fähigkeit, 3D-Modelle mithilfe von Text zu generieren.

  • 00:00:00 In diesem Abschnitt des Videos stellt der Sprecher Diffusionsmodelle vor, eine neue Klasse generativer Modelle. Sie erklären, dass das Ziel generativer Modelle darin besteht, die zugrunde liegende Verteilung eines bestimmten Datensatzes zu lernen, damit neue Daten aus derselben Verteilung generiert werden können. Der Redner erwähnt auch zwei Hauptmethoden zum Lernen von Verteilungen: Maximieren der Wahrscheinlichkeit oder Minimieren der Divergenzmetrik. Der Vortrag wird in die Mathematik hinter Diffusionsmodellen eintauchen, und der Referent merkt an, dass dieser Vortrag mehr mathematisch involviert sein wird als frühere.

  • 00:05:00 In diesem Abschnitt der Vorlesung über Diffusionsmodelle diskutiert der Referent die Verwendung von sowohl Variational Autoencodern (VAEs) als auch Generative Adversarial Networks (GANs) bei der Modellierung von Verteilungen, die die Datenverteilung nachahmen. Der Referent erklärt, dass beide Modelle funktionieren, indem sie ein Sample von zufälligem Rauschen nehmen und es in etwas umwandeln, das aussieht, als käme es aus der Datenverteilung. Allerdings machen Diffusionsmodelle während dieses Prozesses mehrere winzige Schritte anstelle eines großen Schritts, wodurch eine leichter zu analysierende Markov-Kette entsteht. Das Diffusionsmodell hat einen Vorwärtsprozess, bei dem Rauschen zu einem Bild hinzugefügt wird und dann anschließend mehr Rauschen hinzugefügt wird, um eine verrauschte Version des Bildes zu erzeugen. Es gibt auch einen umgekehrten Prozess, bei dem das Bild entrauscht wird, um zum ursprünglichen Bild zurückzukehren.

  • 00:10:00 In diesem Abschnitt des Videos erläutert der Dozent das Konzept der Umkehrverarbeitung in Diffusionsmodellen, bei denen ein neues Bild durch Umkehren der Abfolge von Rauschschritten erzeugt werden kann. Die Herausforderung besteht darin, die umgekehrte Verteilung zu finden, die mit der exakten Verteilung schwer zu berechnen ist, und daher wird eine Annäherung durch die Q-Funktion und die P-Funktion vorgenommen. Die P-Funktion wird durch ein neuronales Netzwerk dargestellt, das versucht, den Mittelwert und die Varianz der umgekehrten Verteilung zu lernen, von der angenommen wird, dass sie Gauß ist. Das Video behandelt auch den Trainingsprozess für ein Diffusionsmodell, bei dem eine Verlustfunktion minimiert oder maximiert werden muss.

  • 00:15:00 In diesem Abschnitt der Vorlesung diskutiert der Referent die Anwendung der Variation Variational Lower Bound auf Diffusionsmodelle, die zu einer Verlustfunktion führt, die einer Summe kleinerer Verlustfunktionen ähnelt. Sie erklären, dass die Terme L von 0 bis L von T-1 zum Verlust beitragen und dass sie sich auf die Analyse von L von T konzentrieren werden, das von 1 bis T-1 definiert ist. Der Sprecher erklärt weiter, wie die KL-Divergenz zwischen Q von X von T-1 und der Verteilung, die das neuronale Netzwerk vorherzusagen versucht, zu einem Term führt, der den L2-Verlust zwischen dem gelernten Mittelwert und dem Mittelwert aus der bedingten Verteilung misst. Die Autoren der Diffusionspapiere schlagen vor, mu von Theta, das gelernte mu, in einer ähnlichen Form wie Q von X von T-1 zu parametrisieren, um den Ausdruck zu vereinfachen und es zu ermöglichen, einen einzelnen Term vorherzusagen, anstatt alles innerhalb des roten Kästchens vorherzusagen.

  • 00:20:00 In diesem Abschnitt erklärt der Dozent die Hauptintuition hinter Diffusionsmodellen, nämlich das Rauschen vorherzusagen, das einem Bild hinzugefügt wurde, und es dann zu entrauschen, um das ursprüngliche Bild wiederherzustellen. Das Ziel besteht darin, das Rauschen zwischen dem ursprünglichen Rauschen und dem vorhergesagten Rauschen zu minimieren, und der Trainingsprozess umfasst das Hinzufügen von Rauschen zu Bildern im Datensatz, das Durchlaufen der Bilder durch das Modell, das Vorhersagen des Rauschens und das Minimieren des Abstands zwischen dem vorhergesagten und dem tatsächlichen Rauschen. Das Modell kann dann verwendet werden, um neue Bilder zu synthetisieren, indem man mit zufälligem Rauschen beginnt und es unter Verwendung des vorhergesagten Rauschens entrauscht. Der Dozent merkt auch an, dass X von T, die diffundierte Variable, kein Bild sein muss.

  • 00:25:00 In diesem Abschnitt erörtert der Redner Diffusionsmodelle und ihre Fähigkeit, das Rauschen eines Bildes mit den gleichen Abmessungen wie die Eingabe/Ausgabe vorherzusagen. Ein Modell mit denselben Abmessungen ist dieselbe Einheit, die in der Segmentierungsvorlesung verwendet wurde. Die Autoren des Artikels fügten dem Modell jedoch viele moderne CV-Tricks hinzu, darunter Resnet-Blöcke, Aufmerksamkeitsmodule, Griffnorm und Swish-Aktivierungen. Sie konnten zeigen, dass es sehr gut funktionierte, und in einem späteren Artikel wurden weitere Zeitschritte verwendet, um die Qualität weiter zu verbessern. Der Sprecher stellt auch ein Bild und einen Link zu der Folie bereit, die die Architektur des Modells enthält.

  • 00:30:00 In diesem Abschnitt wird erklärt, dass Forscher einen Weg gefunden haben, die Ergebnisse der Verwendung von Diffusionsmodellen für die Bilderzeugung zu verbessern, indem sie die Beta-Parameter modifizieren, die das Hinzufügen von Rauschen im Vorwärtsprozess steuern. Anstatt einen linearen Zeitplan zu verwenden, schlugen sie vor, eine langsamere Kosinusfunktion zu verwenden und später hochzufahren, um die Bilder langsam in Rauschen umzuwandeln, um dem Modell zu helfen, den umgekehrten Prozess besser zu lernen. Darüber hinaus ist es durch Lernen der Kovarianzmatrix durch ein neuronales Netzwerk möglich, die Log-Wahrscheinlichkeit zu verbessern und bessere Wahrscheinlichkeiten zu erhalten, die als Maß für die Diversität angesehen werden können.

  • 00:35:00 In diesem Abschnitt des Vortrags erörtert der Referent einige architektonische Verbesserungen, die am Einheitenmodell vorgenommen werden können, das häufig in verschiedenen Arbeiten verwendet wird. Zu diesen Verbesserungen gehören die Erhöhung der Modellgröße, die Verwendung von Aufmerksamkeitsmodulen und die adaptive Normalisierung. Der Referent stellt auch die Idee der klassifizierten Anleitung vor, bei der ein Klassifikator trainiert wird, um Klassenbezeichnungen sowohl aus Original- als auch aus verrauschten Bildern vorherzusagen, und der resultierende Gradient verwendet wird, um das Diffusionsmodell zu verbessern. Abschließend erwähnt der Referent die Verwendung von Metriken wie FID und Precision und Recall, um die Qualität generativer Modelle zu messen.

  • 00:40:00 In diesem Abschnitt erörtert der Referent, wie das Diffusionsmodell die GAN-Modelle bei der Bildmodellierung aufgrund seiner Fähigkeit, eine bessere Genauigkeit und Vielfalt der Datenverteilung zu erfassen, überholt hat. Sie zeigen Bilder der Flamingos, bei denen die GAN-Bilder sehr ähnlich aussehen, während Diffusionsbilder eine größere Vielfalt in ihrer Ausgabe zeigen, was auf bessere Bildmodellierungsfähigkeiten hinweist. Der Redner erwähnt auch, dass Forscher bessere Wege gefunden haben, das Diffusionsmodell durch einen Prozess zu führen, der als Klassifikator-freie Führung bezeichnet wird, bei dem ein bedingtes Diffusionsmodell trainiert wird, um zu vermeiden, dass Vielfalt gegen erhöhte Qualität eingetauscht wird, was inhärent ist, wenn das Modell auf einige konditioniert wird Klasse Etikett.

  • 00:45:00 In diesem Abschnitt erörtert der Dozent das Konzept latenter Diffusionsmodelle, einer weiteren Klasse von Diffusionsmodellen, die für das Training mit hochdimensionalen Bildern verwendet werden, da es in solchen Fällen nicht möglich ist, ein großes Diffusionsmodell zu trainieren. Der Dozent erklärt, dass Forscher entdeckt haben, dass mehr Bits für die Erfassung der Details auf Pixelebene und weniger für die Erfassung einiger semantischer Details eines Bildes verwendet werden, was nicht nützlich ist. Um Bilder genau zu generieren, muss stattdessen ein generatives Modell auf dem semantischen Teil des Bildes ausgeführt werden. Der Dozent gibt einen Überblick darüber, wie dies erreicht werden kann, indem der latente Raum gelernt und das Modell zu einem latenten Raum komprimiert wird, um darauf Diffusion auszuführen. Dadurch kann ein Bild unter Verwendung eines Codierer- und Decodierermodells in ein latentes und zurück in das Bild umgewandelt werden.

  • 00:50:00 In diesem Abschnitt erörtert der Redner mehrere Modelle im Zusammenhang mit Verbreitung, darunter Dolly Q, Bilderzeugung durch Googles Imagine-Modell und Videoerzeugung durch Facebooks Make a Video. Darüber hinaus hat Google das Imagine-Modell erweitert, um auch Videos zu generieren. Der Redner erwähnt auch die Möglichkeit, 3D-Modelle mithilfe von Text zu generieren, sowie die Anwendung von Vision auf RL, die laut einem Anfang dieses Jahres veröffentlichten Papier modernste Ergebnisse in Offline-RL erzielt. Der Referent stellt Links zu Artikeln und Ressourcen für weiterführendes Lernen zur Verfügung.
 

CS 198-126: Vorlesung 13 - Einführung in die Sequenzmodellierung



CS 198-126: Vorlesung 13 - Einführung in die Sequenzmodellierung

In diesem Vortrag zur Sequenzmodellierung führt der Referent ein, wie wichtig es ist, Sequenzdaten darzustellen und eine vernünftige Anzahl von Zeitschritten zu erreichen, ohne zu viele Informationen zu verlieren. Als erster Versuch zur Lösung dieser Herausforderungen werden rekurrente neuronale Netze (RNNs) diskutiert, die in der Lage sind, unterschiedlich lange Ein- und Ausgaben zu bewältigen. Probleme mit RNNs verhindern jedoch, dass sie optimal funktionieren. Die Texteinbettung wird als eine effizientere Methode zur Darstellung von Textdaten anstelle der Verwendung eines hochdimensionalen One-Hot-Vektors eingeführt. Darüber hinaus wird das Konzept der Positionscodierung als Möglichkeit zur Darstellung der Reihenfolge von Elementen in einer Sequenz unter Verwendung kontinuierlicher Werte anstelle von binären Werten diskutiert.

  • 00:00:00 In diesem Abschnitt stellt der Referent Sequenzmodelle vor und erklärt die Motivation dahinter, warum sie wichtig sind. Insbesondere erwähnen sie verschiedene Arten von Sequenzdaten, wie z. B. Zeitreihendaten, Audio und Text, und wie sie üblicherweise in Computervisions- und Verarbeitungsmodellen für natürliche Sprache verwendet werden. Der Redner erörtert auch die Wichtigkeit, Sequenzdaten darzustellen und eine vernünftige Anzahl von Zeitschritten zu erreichen, ohne zu viele Informationen zu verlieren. Letztendlich besteht das Ziel darin, Sprachmodelle zu erstellen, die mit riesigen Mengen von Textdaten aus dem Internet trainiert werden können, die als tokenisierte Sequenz von One-Hot-Vektoren dargestellt werden.

  • 00:05:00 In diesem Abschnitt erörtert der Kursleiter die Herausforderungen bei der Darstellung von Textdaten als One-Hot-Vektoren und die Ineffizienz, einen für jedes einzelne Wort in einem Wörterbuch zu haben. Das Ziel der Sequenzmodellierung besteht darin, beliebig lange Daten und unterschiedliche Längen von Ein- und Ausgängen zu verarbeiten. Der Kursleiter bietet Beispiele für verschiedene Paradigmen, einschließlich Stimmungsanalyse und Übersetzung, die mit variablen Längen von Ausgaben umgehen müssen. Außerdem müssen bei der Analyse von Textdaten Fernbeziehungen zwischen Wörtern in einem Satz berücksichtigt werden.

  • 00:10:00 In diesem Abschnitt erörtert das Video die Herausforderungen der Sequenzmodellierung, die das Verbinden von Ideen aus verschiedenen Teilen eines Satzes und den Umgang mit Fernbeziehungen über Sequenzen hinweg erfordern. Rekurrente neuronale Netze (RNNs) werden als erster Versuch zur Lösung dieser Herausforderungen eingeführt, und sie funktionieren, aber aufgrund von Problemen, die sie daran hindern, optimal zu funktionieren, nicht besonders gut. Das Video erklärt, dass RNNs einen Zellenwert verwenden, der von allen Sequenzelementen gemeinsam genutzt wird, wobei jede Zelle genau die gleichen Gewichtungen hat, die die Eingabesequenz verarbeiten. Darüber hinaus kann die vom RNN generierte Ausgabe als alles von einer Wahrscheinlichkeit bis zu einer Übersetzung interpretiert werden.

  • 00:15:00 In diesem Abschnitt lernen wir die Grundform eines Recurrent Neural Network (RNN) kennen, bei dem wir ein Sequenzelement der gleichen Länge aufnehmen, eine lineare Schicht darauf legen und die Ausgabe des vorherigen Zeitschritts nehmen und die Eingabe zu diesem Zeitpunkt, um eine Matrixmultiplikation durchzuführen. Wir stapeln sie dann übereinander oder fügen sie zusammen, um die Ausgabe zu spinnen. Die tahn-Funktion wird verwendet, um sicherzustellen, dass die Ausgänge im Bereich liegen und um zu verhindern, dass Werte während der Vorwärts- oder Rückwärtsausbreitung explodieren oder zu klein werden. Indem wir mehrere Schichten stapeln, können wir komplexere Funktionen lernen.

  • 00:20:00 In diesem Abschnitt der Vorlesung geht der Dozent auf die Herausforderungen und Lösungen bei der Erstellung eines Sequenzmodells ein. Durch die Verwendung einer tanh-Funktion am Ausgang jeder Zelle werden die Werte zwischen -1 und 1 gehalten, wodurch große Werte vermieden werden, die bei wiederholten Matrixmultiplikationen Probleme verursachen können. Das Modell kann beliebige Eingabegrößen, variable Ausgabelängen und Fernbeziehungen verarbeiten. Der Kursleiter führt dann Einbettungen als effizientere Methode zur Darstellung von Textdaten ein, anstatt einen 100.000-dimensionalen One-Hot-Vektor zu verwenden. Als mögliche Lösung werden Ideen wie binäre und trinäre Kodierung untersucht.

  • 00:25:00 In diesem Abschnitt stellt der Referent das Konzept der Texteinbettung vor und wie es bei der Sequenzmodellierung verwendet werden kann. Anstatt One-Hot-Vektoren für jedes Wort im Wörterbuch zu verwenden, wird ein kleinerer Vektor, der das Wort darstellt, gelernt und in das Modell eingespeist. Diese Komprimierung der Darstellung ermöglicht eine Verringerung der Dimensionalität und erzeugt einen eingebetteten Vektor, der einem Codebuch ähnelt. Die Hoffnung ist, dass diese Einbettungen eine intelligente Darstellung der Wörter ermöglichen, wobei ähnliche Wörter wie „Katze“ und „Hund“ relativ nahe beieinander liegen, während Wörter mit geringer Korrelation wie „Katze“ und „Gras“ weiter voneinander entfernt sind. Obwohl es keine Garantie dafür gibt, dass diese Nachbarschaftsbeziehung existiert, kann sie verwendet werden, um zu verstehen, wie die Stimmungsanalyse und andere Modelle von bestimmten Wortwahlen beeinflusst werden.

  • 00:30:00 In diesem Abschnitt erörtert der Dozent die Verwendung von Gradientenabstieg in einem Codebuch mit eingebetteten Vektoren, um semantisch ähnliche Wörter zu gruppieren. Er erwähnt auch das Konzept der Positionscodierung, bei der die verstrichene Zeit oder die Position in einer Sequenz für bestimmte Bereiche wichtig sein kann, und erörtert einige Methoden zur Darstellung eines heißen Vektors für die Position, bevor er zu dem übergeht, was gut funktioniert, der so genannten Positionscodierung.

  • 00:35:00 In diesem Abschnitt der Vorlesung erörtert der Dozent die Idee, einen Zeitstempel in der Sequenzmodellierung zu verwenden, um anzuzeigen, wie weit wir in der Sequenz fortgeschritten sind. Die Verwendung einer binären Codierung als Zeitstempel kann jedoch bei größeren Sequenzlängen eingeschränkt werden, da sie nur eine begrenzte Anzahl eindeutiger Zeitschritte darstellen kann. Um dieses Problem anzugehen, schlägt der Kursleiter vor, ein kontinuierliches Analog zu verwenden, indem die binäre Codierung durch Sinus- und Kosinuswellen mit unterschiedlichen Frequenzen ersetzt wird. Auf diese Weise können wir immer noch einen kleineren Vektor verwenden, um eine größere Anzahl eindeutiger Zeitschritte darzustellen.

  • 00:40:00 In diesem Abschnitt wird das Konzept der Positionscodierung erörtert, bei der es sich um eine Möglichkeit handelt, die Reihenfolge von Elementen in einer Sequenz mit kontinuierlichen Werten anstelle von Binärwerten darzustellen. Der Prozess umfasst die Auswertung von Sinus- und Kosinusfunktionen bei unterschiedlichen Frequenzen für jedes Sequenzelement und deren anschließende grafische Darstellung, um ein kontinuierliches Analogon der binären Positionscodierung zu erstellen. Das resultierende Diagramm wechselt zwischen hohen und niedrigen Werten, ähnlich der binären Version, und kann an jedes Element in der Sequenz angehängt werden. Die Positionscodierung kann etwas verwirrend sein, aber der Vortrag schlägt vor, die Foliensätze zu überprüfen und mit dem Konzept zu experimentieren, um es besser zu verstehen.