Самі згорткові шари та шари об'єднання не залежать від вхідних розмірів. Однак висновок згорткових шарів буде мати різні просторові розміри для зображень різного розміру, і це спричинить проблему, якщо після цього у нас буде повністю пов'язаний шар (оскільки наш повністю пов'язаний шар вимагає введення фіксованого розміру). Є кілька рішень для цього:
1. Глобальне об'єднання: уникайте повністю з'єднаних шарів в кінці згорткових шарів, а замість цього використовуйте об'єднання (наприклад, Global Average Pooling), щоб зменшити карти ваших функцій із форми (N, H, W, C) (перед глобальним пулом) ) до форми (N, 1,1, с) (після того, як глобального пулу), де:
N = Число зразків minibatch
H = просторової висотою об'єктом карти
Ш = шириною просторової картою функції
C = кількість функціональних карт (канали)
як Як видно, розмірність виводу (N * C) тепер не залежить від просторового розміру (H, W) карт об'єктів. У разі класифікації ви можете перейти до використання повністю пов'язаного шару зверху для отримання логітів для своїх класів.
2. Пул із змінним розміром:Використовуйте регіони об'єднання з змінним розміром, щоб отримати однаковий розмір карти для різних розмірів вводу.
3. Обрізати / змінити розмір / вхідні зображення: Ви можете спробувати змінити масштаб / обрізати / прокладати вхідні зображення, щоб усі мали однакову форму.
У контексті трансферного навчання ви можете використовувати входи іншого розміру, ніж оригінальні входи, з якими навчалась модель. Ось кілька варіантів для цього:
4. Створіть нові повністю з’єднані шари: Ви можете повністю викопати оригінальні повністю з’єднані шари та ініціалізувати новий повністю з’єднаний шар із необхідною розмірністю та навчити його з нуля.
5. Поставтеся до повністю пов'язаного шару як до згортання: як правило, ми переосмислюємо карти характеристик з (N, H, W, C) до (N, H * W * C) перед подачею на повністю з'єднаний шар. Але ви також можете трактувати повністю пов'язаний шар як згортку з сприйнятливим полем (H, W). Потім ви можете просто з'єднати це ядро зі своїми картами функцій незалежно від їх розміру (використовуйте нульову підкладку, якщо потрібно) [
http://cs231n.github.io/transfer-learning/ ].