Я обнаружил, что Imagenet и другие крупные CNN используют слои нормализации локального отклика. Однако я не могу найти столько информации о них. Насколько они важны и когда их следует использовать?
С http://caffe.berkeleyvision.org/tutorial/layers.html#data-layers :
«Уровень нормализации локального отклика выполняет своего рода« боковое торможение »путем нормализации по локальным входным областям. В режиме ACROSS_CHANNELS локальные области распространяются по соседним каналам, но не имеют пространственного экстента (т. Е. Имеют форму local_size x 1 x 1) В режиме WITHIN_CHANNEL локальные области расширяются пространственно, но находятся в отдельных каналах (т. Е. Имеют форму 1 x local_size x local_size). Каждое входное значение делится на (1+ (α / n) ∑ix2i) β, где n это размер каждой локальной области, а сумма берется по области с центром в этом значении (при необходимости добавляется нулевое заполнение). "
Редактировать:
Кажется, что эти виды слоев оказывают минимальное воздействие и больше не используются. По сути, их роль отыгрывается другими методами регуляризации (такими как отсев и нормализация партии), улучшенными инициализациями и методами обучения. Смотрите мой ответ ниже для более подробной информации.
В этом ответе я хотел бы суммировать вклады других авторов и предоставить единственное место для объяснения техники LRN (или контрастной нормализации) для тех, кто просто хочет узнать, что это такое и как оно работает.
Мотивация: « Этот тип нормализации ответа (LRN) реализует форму латерального торможения, основанного на типе, обнаруженном в реальных нейронах, создавая конкуренцию за большую активность среди выходов нейронов, вычисленных с использованием разных ядер. ' AlexNet 3,3
Другими словами, LRN позволяет уменьшить ответы, которые являются одинаково большими для окрестности, и сделать большую активацию более выраженной в окрестности, то есть создать более высокий контраст на карте активации. prateekvjoshi.com заявляет, что это особенно полезно с неограниченными функциями активации как RELU.
Исходная формула: для каждой конкретной позиции (x, y) и ядра i, которое соответствует одному выходному сигналу «пиксель», мы применяем «фильтр», который включает информацию о выходных данных других n ядер, примененных к той же позиции. Эта регуляризация применяется до активации функции. Эта регуляризация действительно зависит от порядка ядер, что, насколько мне известно, просто неудачное совпадение.
На практике (см. Caffe ) можно использовать 2 подхода:
Фактическое использование LRN использовалось чаще во времена ранних преобразований, таких как LeNet-5. Текущая реализация GoogLeNet (Inception) в Caffe часто использует LRN в связи с методами объединения, но, похоже, это делается только ради его использования. Ни в оригинальной Inception / GoogLeNet ( здесь ), ни в любой из следующих версий нигде не упоминается LRN. Кроме того, реализация TensorFlow сетей Inception (предоставленных и обновленных группой первоначальных авторов) не использует LRN, несмотря на то, что он доступен.
Заключение Применение LRN вместе с уровнем пула не повлияет на производительность сети, если допустимы значения гиперпараметров. Несмотря на это, я не знаю ни одного недавнего обоснования для применения LRN / контрастной нормализации в нейронной сети.
источник
Слой типа локальной нормализации отклика (LRN) оказывается полезным при использовании нейронов с неограниченной активацией (например, выпрямленных линейных нейронов), поскольку он позволяет обнаруживать высокочастотные характеристики с большим откликом нейронов, в то же время демпфируя отклики, которые однородно велики в местном районе. Это тип регуляризатора, который стимулирует «конкуренцию» за большую активность среди соседних групп нейронов.
src- https://code.google.com/p/cuda-convnet/wiki/LayerParams#Local_response_normalization_layer_(same_map)
источник
Тем не менее, существует гораздо более новая методика, называемая «пакетной нормализацией» (см. Статью ), которая работает довольно похоже и предлагает больше не использовать LRN. Пакетная нормализация также работает по пикселям:
Ответ таков: нормализация локального отклика больше не важна, потому что у нас есть кое-что, что работает лучше и заменило LRN: нормализация партии.
Смотрите также
источник