Stanford Vorlesung CS231n – CNNs for Visual Recognition

Convolutional Neural Networks (CNNs) for Visual Recognition

In Stanford wird aktuell in unterschiedlichen Vorlesungen die Deep Learning Technologie gelehrt. Dabei spielen neuronale Netzwerke eine sehr wichtige Rolle. Convolutional Neural Networks (CNN) eigen sich insbesondere für die Erkennung von Objekten in Bildern und Videos – für die visuelle Erkennung.

Die Stanford Vorlesung CS231n (Convolutional Neural Networks for Visual Recognition) gibt einen sehr guten und tiefen Einblick in die Technolgie, die immer mehr Anwendungen findet.  Die Vorlesung wird von in der KI Szene bekannten Wissenschaftlern durchgeführt: Fei-Fei Li, Andrej Karpathy und Justin Johnson

Der Inhalt der KI Vorlesung wird auf der CS231n Stanford Seite wie folgt beschrieben:
Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. Core to many of these applications are visual recognition tasks such as image classification, localization and detection. Recent developments in neural network (aka “deep learning”) approaches have greatly advanced the performance of these state-of-the-art visual recognition systems. This course is a deep dive into details of the deep learning architectures with a focus on learning end-to-end models for these tasks, particularly image classification. During the 10-week course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in computer vision. The final assignment will involve training a multi-million parameter convolutional neural network and applying it on the largest image classification dataset (ImageNet). We will focus on teaching how to set up the problem of image recognition, the learning algorithms (e.g. backpropagation), practical engineering tricks for training and fine-tuning the networks and guide the students through hands-on assignments and a final course project. Much of the background and materials of this course will be drawn from the ImageNet Challenge.

Vorlesungsreihe CS231n 2016 auf YouTube

Hier könnt ihr euch die CNN Vorlesungen über YouTube anschauen:

Notizen zu den einzelnen Vorlesungen

Vorlesung 1: Einleitung und historischer Hintergrund

  • CS231n Lecture 1 Video und Folien als Overlay
  • Stanford Vorlesungsreihe CS229 (Machine Learning) wird vorausgesetzt
  • Vorlesungreihe CS131 ist ein sinnvoller Einstieg in Computer Vision mit Basisinformationen
  • Vorlesungreihe CS231a bietet allgemeinen Überblick über CNN
  • Fokus von CS231n:  image classification (wie object detection und image captioning) mit CNN Architektur
  • Das Themenfeld AI (artificial intelligence) wurde bereits 1966 (vor 50 Jahren) als Forschungsgruppe gestartet
  • Aktuelle Herausforderungen in dem Themengebiet „visual recognition“ in computer vision
    • perceptual grouping
    • dence image labeling für gesamte Szenen mittels perceptual grouping
    • Verstehen von Interaktionen in einem Bild –> aktuelles Projekt: visual genome
    • Ausblick: eine Geschichte aus einem einzelnen Bild erstellen können –> Dissertation von Andrej Karpathy (siehe auch seinen Blog)
  • Interessante Wettbewerbe für Objekterkennung
    • PASCAL Visual object challenge (20 Objekt Kategorien)
    • IMAGENET – 22K Kategorien, 14M Bilder (2012 war eine CNN Architektur das erste Mal der Sieger des Wettbewerbs. Dies war der Beginn der Deep Learning Revolution)
  • Wichtige Personen
    • Yann Lecun (Erfinder der CNN Archtiektur)
    • Alex Krizhevsky (Erfinder von „AlexNet“)
    • Jeff Hinton (Advisor von Alex Krizhevsky)
  • Interessante Inhalte dieses Kurses: Imaga Captioning (mithilfe RNN) sowie DeepDream und NeuralStyle

Vorlesung 2: Bild Klassifizierung Teil 1

  • CS231n Lecture 2 Video und Folien als Overlay
  • Empfehlung: Python Numpy Tutorial
  • Besprochene Themen:
    • Image Classificition
    • Nearest Neighbor Classifier (auch: k-Nearest Neighbor)
      • Pixelweise Differenz von Test und Training Bildern, anschließend Aufsummierung der Differenz, die kleineste Zahl liefert das beste Trainingsbild –> Klassifizierung
      • Das Tool FLANN optimiert den Nearest Neighbor Classifier in Bezuf auf die Rechenzeit
    • L1 (Manhattan) distance, L2 (Euclidean) distance
    • cross validation
  • Zusatzinfos:
    • Beispiel Datensatz: CIFAR-10 (10 labels, 50.000 Trainingsbidler images, Auflösung: 32x32px, 10.000 Testbilder)
    • Architektur-unterschiede: CNN (gut in Bilderkennung), RNN (gut in Modellierung von Sequenzen)

Vorlesung 3

Vorlesung 4

Vorlesung 5

  • CS231n Lecture 5 Video und Folien als Overlay
  • Diskutierte Themen
    • Die Geschichte über Trainieren von neuronalen Netzen
      • Erste wirklich nutzbringen Ergebnisse: Context-Dependent Pre-trained Deep Neural Networks for Large Vocabulary Speech Recognition – George Dahl, Dong Yu, Li Deng, Alex Acero, 2010
      • Durchbruch: Imagenet classification with deep convolutional neural networks – Alex Krizhevsky, Ilya Sutskever, Geoffrey E Hinton, 2012
    • Vor- und Nachteile von einzelnen Aktivierungsfunktionen
      • Sigmoid
      • tanh
      • ReLU: f(x)=max(0,x), erfunden von Krizhevsky in 2012
      • Leaky ReLU: f(x)=max(0.01*x,x)
      • Parametric Rectifier (PReLU): f(x)=max(alpha*x,x)
      • Exponential Linear Units (ELU)
      • Maxout “Neuron”
    • Daten-Vorbereitung
      • zero-centered
      • normalized
      • decorrelated
      • whitened
    • Initialisierung der Gewichte (weight initialization)
      • kleine Zufallszahlen
      • „Xavier initialization“ –> basiert auf den Trainings-Daten und wird nicht willkürlich definiert. Funkioniert mit ReLU leider nicht, außer es wird ein Faktor 0.5 eingebaut.
    • Batch Normalization
    • Überwachung des Lernprozesses
    • Optimierung der Hyperparameter
      • random search vs. grid search
      • Überwachnung von loss und accuracy
  • Zusatzinformationen:

Vorlesung 6

  • CS231n Lecture 6 Video und Folien als Overlay
  • Diskutierte Themen
    • Parameter Updates
      • Stochastic Gradient Descent (SGD)
      • momentum update –> dämpft das Update
      • nesterov momentum update / nesterov accelerated gradient (NAG)
      • AdaGrad update –> reduziert nach und nach das Update
      • RMSProp update –> Verbesserung von AdaGrad update
      • Adam update –> Mix aus momentum und RMSProp
    • Eininge Hinweise zur learning rate
    • second order optimization methods
      • BGFS
      • L-BFGS
    • Regularization with dropout
      • Monte Carlo approximation
    • Kurzer Einstieg in Convolutional Neural Networks
      • LeNet
      • AlexNet
      • CNNs werden z.B. für autonomes Fahren benutzt
      • es werden viele Bespiele für CNN Anwendungen genannt

Zusätzliche Information zu der ConvNet Vorlesung

Folien und Zusatzmaterial

Stanford University CS231n: Convolutional Neural Networks for Visual Recognition

here.) Unless otherwise specified the course lectures and meeting times are Monday, Wednesday 3:00-4:20, Bishop Auditorium in Lathrop Building (map)Update: The class has ended!

Detaillierte Beschreibung der CNN Technologie

CS231n Convolutional Neural Networks for Visual Recognition

Course materials and notes for Stanford class CS231n: Convolutional Neural Networks for Visual Recognition.

Quellcode zu den Projekten der ConvNet Vorlesung

cs231n/cs231n.github.io

cs231n.github.io – Public facing notes page

 

Kommentar verfassen

%d Bloggern gefällt das: