Метод Pytorch для условного использования промежуточного слоя вместо окончательного вывода слоя cnn. т.е.: позвольте nn научиться использовать больше слоев или меньше - PullRequest
0 голосов
/ 30 мая 2019

Я реализую остаточный cnn (измененную уменьшенную версию xception) в среде с низкой задержкой.Я выполнил много ручной настройки, чтобы минимизировать скорость работы моей сети (уменьшить количество фильтров, удалить слои и т. Д.).

Но теперь я хочу попытаться разрешить моей сети сделать классификационный прогноз.(окончательный уровень fcnn) на остаточном соединении после каждого остаточного блока.

базовая логика -

попытка окончательного прогнозирования с остаточным соединением в качестве входных данных

, если этот уровень fcnn предсказывает определенноекласс с вероятностью> установленного порога:

return fcnn output as if it was normal final layer

else:

do next residual block like normal and try the previous conditional again unless we are already at final block

basic example

Я надеюсь, что это позволит моей сети научиться решатьболее легкие проблемы с меньшим количеством вычислений, позволяя ему все еще делать дополнительные слои, если он все еще не уверен в классификации.

Итак, мой основной вопрос : В pytorch, какой лучший способ реализовать это условие таким образом, чтобы мой nn во время выполнения решал, выполнять больше обработки или нет

В настоящее время я тестировал возврат промежуточных x после блоков в функции forward, но я не знаю, как лучше всего установить условное выражение, чтобы выбрать, какой x возвращать

Также примечание: я полагаю, что могу закончитьнеобходимость в другом слое cnn между остатком и fcnn, который будет выполнять функцию функции преобразования внутреннего представления для обработки в представление, которое fcnn понимает для классификации.

1 Ответ

1 голос
/ 30 мая 2019

Это уже было сделано и представлено в ICLR 2018.

Похоже, что в ResNets первые несколько узких мест изучают представления (и, следовательно, не могут быть пропущены), в то время как остальные узкие места улучшают функции и поэтому могут бытьпропущен при умеренной потере точности.( Станислав Ястшебский, Деванш Арпит, Николас Баллас, Викас Верма, Тонг Че, Йошуа Бенгио Остаточные соединения способствуют итеративному выводу , ICLR 2018).

Эта идея была доведена до крайности: разделение весов через узкие места в Сэм Леру, Павло Молчанов, Питер Симоэнс, Барт Дхоедт, Томас Бруэль, Ян Каутц IamNN: итеративная и адаптивная мобильная нейронная сеть для эффективной классификации изображений , ICLR 2018.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...