Gibt es gute Papiere, die einige methodische Methoden zum Auswählen der Dimensionen für Filter, zum Zusammenfassen der Einheiten und zum Bestimmen der Anzahl der Faltungsschichten beschreiben?
Gibt es gute Papiere, die einige methodische Methoden zum Auswählen der Dimensionen für Filter, zum Zusammenfassen der Einheiten und zum Bestimmen der Anzahl der Faltungsschichten beschreiben?
Antworten:
Bis zu einem gewissen Grad wurde von Google-Forschern ein kürzlich veröffentlichtes Papier darüber veröffentlicht, wie man gute Inception-Architekturen auswählt. Inception-Netze erzielen eine sehr hohe Leistung mit einem eingeschränkten Parameterbudget. Daher ist dies ein guter Ausgangspunkt und neu. Hier ist der Link: Überdenken der Inception-Architektur für Computer Vision .
Sie bieten keine strengen quantitativen Regeln, sondern Richtlinien, die sie verwendet haben und die ihnen bei den jüngsten ImageNet-Wettbewerben zu einer guten Leistung verholfen haben.
Einige der besprochenen Prinzipien sind zum Beispiel:
Verwenden Sie Stapel kleinerer Empfangsfeld-Faltungsschichten, anstatt einzelne große Empfangsfeld-Faltungsschichten zu verwenden, dh 2 Stapel von 3 × 3-Faltungsschichten gegenüber einer einzelnen 7 × 7-Faltungsschicht. Diese Idee ist nicht neu, sie wurde auch in Return of the Devil im Detail besprochen: Deep in Convolutional Networks vom Oxford VGG-Team. Dies ist motiviert durch die Notwendigkeit, parametereffizient zu sein. Es hat auch den doppelten Effekt einer größeren Repräsentationsfähigkeit, da wir mit mehr Schichten mehr Nichtlinearität einführen.
Etwas, das ich in der Literatur, die in diesem Artikel erwähnt wurde, nicht gesehen habe, ist das Faktorisieren von Faltungsschichten in tiefe Schichten. Anstatt eine einzelne 7x7-Conv-Ebene zu haben, hätten wir eine 1x7-Conv-Ebene und dann eine 7x1-Conv-Ebene. Fügt mehr Tiefe hinzu, ich glaube es ist auch ein effizienter Parameter.
Gleichen Sie die Tiefe und Breite Ihres Netzes aus. Verwenden Sie hochdimensionale Darstellungen. Dies ist eines der Prinzipien hinter den Inception-Modulen, die mehrere Convolutinal-Layer miteinander verknüpfen. Selbst wenn Sie eine kleine räumliche Größe in Ihrem Conv-Netz haben, können wir mit Inception-Modulen eine hochdimensionale Darstellung über eine mehrskalige Convolutional-Verkettung verwenden: 1x1, 3x3, 3x3-3x3, maximaler Pool, alle zusammen. Diese Inception-Module haben eine "Breite", da sie so interpretiert werden können, dass sie mehrere Operationen gleichzeitig ausführen. Sie gehen noch weiter mit neuen Inception-Modulen, die die Faltungsgrößen 1x3, 3x1 usw. faktorisiert haben.
Verwenden Sie 1x1-Conv-Layer (Netzwerk im Netzwerkstil), um die Dimensionalität zu reduzieren. Sie verwenden viele Dimensionalitätsreduktionstechniken, um eine Parametereffizienz zu erzielen. Sie glauben, dass dies effektiv ist, weil benachbarte Merkmalskarten stark korrelierte Ausgaben haben. Was Sinn macht, da natürliche Bilder bekanntermaßen einige lokale statistische Eigenschaften aufweisen, die mit diesen übereinstimmen. Eine Reduzierung der Dimensionalität über 1x1 NIN-Schichten hat also keine katastrophale Auswirkung auf die Darstellungskraft.
Es gibt mehr in dem Artikel. Ich denke, es ist ein Artikel, der einen Einblick geben kann, wonach Sie fragen. Sie sprechen über einige Kernkonzepte von conv net architecture design.
Ich habe keine Literatur über die Auswahl dieser Hyperparameter als Funktion der Problemspezifikationen gefunden. Ich verstehe jedoch, dass die meisten Bayes-Optimierungsmethoden anwenden, um effektive Werte zu ermitteln. Sie geben einen angemessenen Bereich an und lernen durch Testen verschiedener Kombinationen ein Modell, wie diese Hyperparameter mit der Genauigkeit des Modells zusammenhängen. Es hat gut für mich funktioniert. Lesen Sie "Praktische Bayes'sche Optimierung maschineller Lernalgorithmen" von Snoek, Larochelle und Adams ( http://papers.nips.cc/paper/4522-practical-bayesian-optimization-of-machine-learning-algorithms.pdf ).