Warstwy splotowe i same pule są niezależne od wymiarów wejściowych. Jednak wyjście warstw splotowych będzie miało różne rozmiary przestrzenne dla obrazów o różnych rozmiarach, a to spowoduje problem, jeśli później będziemy mieć w pełni połączoną warstwę (ponieważ nasza w pełni połączona warstwa wymaga wejścia o stałym rozmiarze). Istnieje kilka rozwiązań tego:
1. Globalne zestawianie: Unikaj w pełni połączonych warstw na końcu warstw splotowych i zamiast tego używaj tworzenia zestawów (takich jak globalne zestawianie średnie), aby zredukować mapy obiektów z kształtu (N, H, W, C) (przed zestawem globalnym ) do kształtu (N, 1,1, C) (za globalną pulą), gdzie:
N = liczba próbek mini-partii
H = wysokość przestrzenna mapy obiektów
W = szerokość przestrzenna mapy obiektów
C = liczba map obiektów (kanałów)
As Jak widać, wymiar wyjściowy (N * C) jest teraz niezależny od wielkości przestrzennej (H, W) map obiektów. W przypadku klasyfikacji możesz następnie użyć w pełni połączonej warstwy na wierzchu, aby uzyskać logi dla swoich klas.
2. Pula o zmiennej wielkości:Użyj regionów puli o zmiennej wielkości, aby uzyskać ten sam rozmiar mapy obiektów dla różnych rozmiarów wejściowych.
3. Przycinanie / zmiana rozmiaru / padanie obrazów wejściowych: Możesz spróbować przeskalować / przyciąć / padnąć obrazy wejściowe, aby wszystkie miały ten sam kształt.
W kontekście uczenia się transferu możesz chcieć użyć danych wejściowych o innym rozmiarze niż dane wejściowe, z którymi model został przeszkolony. Oto kilka opcji:
4. Utwórz nowe w pełni połączone warstwy: Możesz całkowicie porzucić oryginalne w pełni połączone warstwy i zainicjować nową w pełni połączoną warstwę o potrzebnych wymiarach i trenować ją od zera.
5. Traktuj całkowicie połączoną warstwę jako splot: Zwykle przekształcamy mapy funkcji z (N, H, W, C) na (N, H * W * C) przed podaniem jej do w pełni połączonej warstwy. Ale w pełni połączoną warstwę można również traktować jako splot z polem odbiorczym (H, W). Następnie możesz po prostu przekonwertować to jądro za pomocą map obiektów niezależnie od ich wielkości (w razie potrzeby użyj zerowania) [
http://cs231n.github.io/transfer-learning/ ].