|
164 / 134 / 61
Регистрация: 16.05.2015
Сообщений: 372
|
||||||||||||||||
BatchNormalization до и после нелинейности. Keras27.02.2020, 19:24. Показов 1054. Ответов 5
Метки нет (Все метки)
Добрый день!
Помогите разобраться, пожалуйста. Как я понимаю, допустимы оба варианта размещения слоя нормализации по мини-батчам: 1) до нелинейности
Известны ли конкретные особенности (преимущества и недостатки) обоих вариантов размещения? В литературе, ограничиваются упоминанием того факта, что оба варианта допустимы (без объяснений). Спасибо.
0
|
||||||||||||||||
| 27.02.2020, 19:24 | |
|
Ответы с готовыми решениями:
5
Keras BatchNormalization ImportError: cannot import name 'BatchNormalization' from 'keras.layers.normalization' Расчет погрешности нелинейности |
|
2741 / 1667 / 268
Регистрация: 19.02.2010
Сообщений: 4,411
|
||
| 01.03.2020, 20:50 | ||
|
Например, если tanh - то нормализацию лучше до него. А то tanh может получать такие аргументы, которые будут его постоянно зашкаливать даже не в обе, а в какую-то одну сторону (т.е. даже не до sgn(a) произойдёт вырождение - а просто до одной константы). Цель-то нормализации - не допускать постоянных выходов нелинейности на асимптоты, и, затем, нулевых производных по причине нахождения значений функции на асимптоте/асимптотах. Вот когда не 1 и не 2 слоя - то в исправляемые нормализацией проблемы добавляется ещё и проблема затухания/взрыва сигналов или градиента, т.е. существенный межслойный разбаланс внутри многослойной сетки.
1
|
||
|
164 / 134 / 61
Регистрация: 16.05.2015
Сообщений: 372
|
|
| 02.03.2020, 10:34 [ТС] | |
|
VTsaregorodtsev, спасибо, начинаю понимать.
Т.е. в случае, когда выход нелинейности ушел в насыщение, то нормализовать после нелинейности уже поздно. А как в случае слоя с ReLU? Там ведь мы, вверх, гипотетически не ограничены. Получим ли мы, в этом случае, выигрыш от использования BatchNormalization? Мои эксперименты показали, что введение BatchNormalization (правда после ReLU), ухудшают результаты.
0
|
|
|
2741 / 1667 / 268
Регистрация: 19.02.2010
Сообщений: 4,411
|
||
| 02.03.2020, 11:42 | ||
|
В общем, нормализация до нелинейности - гарантированно держит аргументы нелинейности в том интервале, на котором нелинейная функция "хорошо" проявляет своё нелинейное поведение. При правильных схемах инициализации весов (т.е. не просто рандом в каком-то взятом с потолка интервале - а Xavier/He) и, одновременно, небольших начальных значениях шага обучения (т.е. когда известно, что возможный рост весов по амплитуде массово не загонит нелинейности в насыщение через ни через батч, ни через эпоху обучения) - нормализация до нелинейности может быть и не нужна. А нормализация после нелинейности - это в т.ч. и способ сделать нулевым среднее значение сигналов, проходящих затем через обучаемые синапсы (т.е. участвующих в вычислении производных по весам синапсов сети). Нулевые средние таких сигналов улучшают сходимость обучения, как показал ЛеКун в начале 90ых. Т.е. польза от нормализации в этом месте тоже будет (вместе с пользой от предотвращения затухания либо взрыва сигналов/градиентов) - но эта польза может не перекрыть возможных предыдущих потерь информативности сигналов на нелинейности (из-за плохих значений аргументов нелинейности).
1
|
||
|
164 / 134 / 61
Регистрация: 16.05.2015
Сообщений: 372
|
|
| 03.03.2020, 23:52 [ТС] | |
|
VTsaregorodtsev, еще раз спасибо.
Еще один вопрос. А правильно ли я понимаю, что при использовании слоев BatchNormalization, отпадает необходимость предварительного центрирования/нормализации данных? (Т.к. это будет автоматически выполнено слоем BatchNormalization первого скрытого слоя.)
0
|
|
|
2741 / 1667 / 268
Регистрация: 19.02.2010
Сообщений: 4,411
|
|
| 04.03.2020, 11:51 | |
|
Не всегда. Батчнорм не исправит возможную разношкальность признаков - когда при взвешенном суммировании вклад мелкого признака теряется на фоне вклада крупного (отличающегося по интервалу и/или по амплитуде значений на несколько порядков). Сетка может и не выучить весА для мелкого признака так, чтобы он перестал быть шумовым и начал вносить вклад в увеличение точности распознавания.
Для распознавания-анализа обычного фото-видео - указанную проблему можно не учитывать, а если у Вас какие-то съёмки со спутника в сильно разных частях спектра? Или какие-нибудь медицинские анализы, где с давлением человека соседствует мелкая концентрация чего-то в крови/моче? К тому же на видеокартах сейчас кроме float32 доступны ещё и float16, у которых всего 3 значащих цифры - и вот тут уже при ненормализованных разношкальных входах и желании быстро посчитать во float16-точности можно налететь.
1
|
|
| 04.03.2020, 11:51 | |
|
Помогаю со студенческими работами здесь
6
Задача на доказательство,связана со степенью нелинейности б.ф. и ее весом Четырехволновое взаимодействие с попутными волнами накачки на керровской нелинейности при больших коэффициентах отражения Исследования входных цепей: Что следует предпринимать для уменьшения влияния нелинейности характеристик варикапа? Keras vs TensorBoard
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|