Was ist der Unterschied zwischen einer "lokalen" Schicht und einer "dichten" Schicht in einem konvolutionellen neuronalen Netzwerk? Ich versuche, den CIFAR-10-Code in TensorFlow zu verstehen, und ich sehe, dass er "Lokale" Schichten anstelle von normalen dichten Schichten verwendet. Gibt es in TF eine Klasse, die das Implementieren von "lokalen" Layern unterstützt?Unterschied zwischen lokalen und dichten Schichten in CNNs
Antwort
Zitiert aus cuda-convnet:
lokal verbundener Schicht mit ungeteiltem-weight: Diese Art der Schicht ist wie ein Faltungsschicht, jedoch ohne Gewichtsteilung. Das heißt, ein anderer Satz von Filtern wird an jeder (x, y) Stelle in dem Eingabebild angewendet. Abgesehen davon verhält es sich genau wie eine Faltungsschicht.
Im TensorFlow CIFAR-10 Beispiel, obwohl die beiden Schichten local3
und local4
genannt werden, sind sie tatsächlich vollständig verbundene Schicht, nicht lokal verbundene Schicht wie in cuda-convnet angegeben (Sie von pool2
dass die Ausgabe sehen ist in den Eingang von local3
Schicht abgeflacht).
ich user2576346 Kommentare unter der Frage bin zitiert:
Wie ich verstehe, sei es sollte dicht verbunden sein oder eine Faltungsschicht sein ...
Nein das ist nicht wahr. Ein genauerer Ausdruck für diese Aussage wäre, dass Layer entweder vollständig verbunden (dicht) oder lokal verbunden sind.
Eine Faltungsschicht ist ein Beispiel für eine lokal verbundene Schicht. Im Allgemeinen ist eine lokal verbundene Schicht eine Schicht, in der jede ihrer Einheiten nur mit einem lokalen Teil der Eingabe verbunden ist. Eine Faltungsschicht ist eine spezielle Art von lokaler Schicht, die eine räumliche Translationsinvarianz zeigt, wenn jeder Faltungsmerkmalsdetektor über das gesamte Bild in lokalen Empfangsfenstern, z. von der Größe 3x3 oder 5x5 zum Beispiel.
- 1. Unterschied zwischen lokalen und Instanzvariablen in Ruby
- 2. Was ist der Unterschied zwischen spärlichen und dichten Graphen?
- 3. verschmelzen wiederkehrende Schichten mit dichten Schicht in Keras
- 4. Rubin: Unterschied zwischen Instanz und lokalen Variablen in Ruby
- 5. Unterschied zwischen lokalen und globalen Variablen in Javascript?
- 6. Unterschied zwischen mit-lokalen-vars und mit-Bindungen in Clojure
- 7. Verteilungen und Dichten in R
- 8. Wie delegieren Looping Unterschied zwischen lokalen und Schleifenvariable versteht
- 9. Unterschied zwischen `% in%` und `==`
- 10. Neuskalierung von CNNs
- 11. Was ist der Unterschied zwischen Rack-lokalen Kartenaufgaben und Daten lokalen Kartenaufgaben?
- 12. Mischen Feed-Forward-Schichten und wiederkehrende Schichten in Tensorflow?
- 13. Unterschied zwischen $ @ und $! in Perl
- 14. Unterschied zwischen '.' und "." in Java
- 15. Unterschied zwischen $ {} und $() in Bash
- 16. Unterschied zwischen und „-“ in r
- 17. Unterschied zwischen .. und ... in Ruby
- 18. Unterschied zwischen "" und "" in Python
- 19. Unterschied zwischen // und /// in C#
- 20. Unterschied zwischen :: und -> in PHP
- 21. Unterschied zwischen. und #
- 22. MySQL: Unterschied zwischen ', `,' und '
- 23. C++ Unterschied zwischen '//' und '///'
- 24. Unterschied zwischen String.Empty und ""
- 25. Dichten und Größen in Android-Tabletten
- 26. Unterschied zwischen = und: =
- 27. Unterschied zwischen Vorzeichen & und *?
- 28. VBA: Unterschied zwischen & und +
- 29. Unterschied zwischen "**/* /" und "** /"?
- 30. Unterschied zwischen $ # und $ {# @}
vielleicht dicht verbunden? Das ist nur normale "Fully Connected Layer". Ich sehe keinen Verweis auf "lokale" Ebene in https://tensorflow.googlesource.com/tensorflow/+/master/tensorflow/models/image/cifar10/cifar10.py –
Sie können die lokalen Ebenen in der CIFAR finden -10 Beispielcode, unter Tutorials. – user2576346
Das Tutorial sagt: "ÜBUNG: Die Modellarchitektur in Inferenz() unterscheidet sich leicht von dem in cuda-convnet angegebenen CIFAR-10-Modell. Insbesondere sind die obersten Schichten von Alex 'ursprünglichem Modell lokal verbunden und nicht vollständig verbunden Architektur, um die lokal verbundene Architektur in der obersten Schicht exakt zu reproduzieren. " – dga