Network In Network

Paper von Min Lin, Qiang Chen und Shuicheng Yan

Benedict Etzel
Universität zu Lübeck

Einführung

  • Ziel: Abstraktion von Datensätzen

    • Einteilung in Kategorien
    • meist 2D, sehr klein (32×32)
  • Convolutional Neural Networks

    • Extraktion von Konzepten („features“)
      • Form
      • Farbe
    • Zuordnung: Features → Klassen
      • Rot → Apfel
      • Gelb → Banane

Convolutional Neural Networks

  • Schichten: Convolutional & (Max-)Pooling + vollvernetzt + Softmax

  • Erfassung von Konzepten

  • Vordere Schichten: konkreter
    • Kanten
    • Ecken
  • Hintere Schichten: abstrakter

    • Frucht
    • Tier
  • Backpropagation

Sind die Konzepte überhaupt linear trennbar?

Network in Network

  • Grundidee: Multilayer-Perzeptrone anstelle von linearen Filtern

    • Funktionsapproximatoren
    • Aktivierungen entsprechen den Konzepten
  • Vollvernetzte Schicht nun nicht mehr nötig

  • Feature Maps der letzten Schicht entsprechen bereits Konfidenz

Network in Network

Network In Network-Struktur
Lin et al.: Network In Network
Struktur eines „Network In Network“-Systems

MLP Convolutional Layers

  • Problematik der CNN-Struktur
    • Benötigen übermäßig viele Filter für nichtlineare Teilprobleme
    • Zu viele Feature Maps → Rechenaufwand explodiert
  • Lin: „In conventional CNN, the abstraction of each local patch is done through a linear classifier and a non-linear activation function [...] definitely not a strong abstraction“

⇒ „Starke Abstraktion“ ist besser

„mlpconv“

  • Warum MLPs?
    • Bereits viel erforscht
    • Eignen sich gut für Backpropagation
    • Weitere Vertiefung möglich
  • Bessere Funktionsapproximierung (vgl. Maxout)

  • Versteckte Schichten sind geteilt

Wie assoziieren wir Klassen?

Zur Erinnerung

  • Klassifikation in CNNs
    • Letzte Schicht liefert höchste Abstraktion
    • Vektorisierung → Vollvernetzte Schicht → Softmax
    • Training in vollvernetzter Schicht (und den convolutional layers)
  • Problem: Overfitting ⇒ Dropout

Gibt es einen einfachereren Ansatz mit MLPs?

Global Average Pooling

  • Durchschnitt jeder Feature Map → Softmax

  • Zahl der Feature Maps = Zahl der Kategorien

  • Erzwingt Zugehörigkeit zwischen Kategorien und Feature Maps
    • Speziell gut mit den MLP-Schichten
    • Feature Maps entsprechen Konfidenz
    • Weniger Overfitting

Im Vergleich

CIFAR-10
MethodeTestfehler
mlpconv + vollvernetzt11.59%
mlpconv + vollvernetzt + Dropout10.88%
mlpconv + Global Average Pooling10.41%

Kategorie ↔ Feature Map-Korrelation

MLP-Aktivierungen
Lin et al.: Network In Network
Top 10% der Aktivierungen der letzten Schicht

Benchmarks

CIFAR-10

Fotos (32×32 RGB) · 50.000 + 10.000 Stück · 10 Kategorien

Rohdaten
MethodeTestfehler
Stochastisches Pooling15.13%
CNN + Spearmint11.68%
Konv. Maxout + Dropout11.68%
NIN + Dropout10.41%
Vorverarbeitete Daten*
MethodeTestfehler
CNN + Spearmint11.68%
Konv. Maxout + Dropout15.13%
DropConnect + 12 Netzwerke11.68%
NIN + Dropout10.41%

*Kontrast erhöht und aufgehellt

CIFAR-100

Fotos (32×32 RGB) · 50.000 + 10.000 Stück · 100 Kategorien

MethodeTestfehler
Gelerntes Pooling43.71%
Stochastisches Pooling42.51%
Konv. Maxout + Dropout38.57%
Tree based priors36.85%
NIN + Dropout35.68%

Street View House Numbers

Ziffern (32×32 RGB) · Hausnummern

MethodeTestfehler
Stochastisches Pooling2.80%
Rectifier + Dropout2.78%
Rectifier + Dropout + Synthetic Translation2.68%
Konv. Maxout + Dropout2.47%
NIN + Dropout2.35%
Multi-digit Number Recognition2.16%
DropConnect1.94%

MNIST

Ziffern (28×28 S/W) · Handgeschrieben

MethodeTestfehler
K-NN (shape context matching)0.63%
2-Schicht CNN + 2-Schicht NN0.53%
NIN + Dropout0.47%
Konv. Maxout + Dropout0.45%
35 CNNs0.23%

Bonus: ImageNet

>100.000 Kategorien · ~1000 Bilder pro Kategorie

MethodeParameterPerformanz (Top 1)Trainingszeit
AlexNet60 Millionen (230 Megabytes)40.7%8 Tage
NIN7.5 Millionen (29 Megabytes)39.2%4 Tage

Fazit

  • „Networks in Network“ als State-of-the-Art-Alternative zu klassischen CNNs

  • Strukturell ähnlich; jedoch Teilprobleme verlagert
    • MLP Convolutional Layers
    • Global Average Pooling
  • Vergleichbare Ergebnisse mit viel weniger Parametern

In Zukunft? ⇒ „Deep NINs”

Quellen

  • Min Lin, Qiang Chen, Shuicheng Yan: Network In Network, 2013
  • Min Lin: Some more explanations of Network in Network (entnommen am 01.07.2015)
  • Yann LeCun, Corinna Cortes, Christopher J.C. Burges: The MNIST database of handwritten digits (entnommen am 01.07.2015)
  • Yuval Netzer, Tao Wang, Adam Coates, Alessandro Bissacco, Bo Wu, Andrew Y. Ng: Reading Digits in Natural Images with Unsupervised Feature Learning NIPS Workshop on Deep Learning and Unsupervised Feature Learning, 2011
  • Jian Dong, Min Lin, Yunchao Wei, Qiang Chen: NIN, Good!, 2014 (entnommen am 01.07.2015)

Fragen?

Ende!

- Benedict Etzel <benedict.etzel@student.uni-luebeck.de>
- https://github.com/beheh/uzl-machine-learning-seminar