Почему начальные веса в нейронной сети рандомизированы?

10

Это может звучать глупо для тех, кто имеет большой опыт работы с нейронными сетями, но это беспокоит меня ...

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

Почему начальные веса для нейронов рандомизированы, а не 0,5 для всех?

Матас Вайткявичюс
источник
В чем была проблема с моим редактированием? Как вы думаете, вы не можете быть улучшены?
nbro
@nbro добавляет несколько вопросов, что делает его слишком широким ...
Matas
Какие вопросы я добавил, которых нет в вашем посте? Я просто переформулировал как вопросы то, что вы сформулировали как гипотезы.
nbro
Кстати, ваша формулировка даже не верна. Веса не рандомизированы, а инициализируются случайным образом. Это два разных понятия, а ты имел ввиду второе. Мое редактирование также должно было улучшить формулировку.
nbro
@nbro Привет, смотри, я не был недооценен и, конечно, не хотел тебя обидеть. Я тоже плохо задаю вопросы, формулировки и все такое. Так что извините, если я вас обидел.
Матас Вайткявичюс

Ответы:

6

Начальные веса в нейронной сети инициализируются случайным образом, потому что методы, основанные на градиенте, обычно используемые для обучения нейронных сетей, не работают должным образом, когда все веса инициализируются одним и тем же значением. Хотя не все методы обучения нейронных сетей основаны на градиентах, большинство из них основаны на этом, и в нескольких случаях было показано, что инициализация нейронной сети с одним и тем же значением приводит к тому, что сети требуется гораздо больше времени для того, чтобы сходиться к оптимальному решению. Кроме того, если вы хотите переобучить свою нейронную сеть, потому что она застряла в локальных минимумах, она застрянет в тех же локальных минимумах. По указанным выше причинам мы не устанавливаем начальные веса на постоянное значение.

Ссылки: Почему обратное распространение не работает, когда вы инициализируете весовые значения одного и того же значения?

Эйден Гроссман
источник
На самом деле, они ломаются, если все веса одинаковы.
Quonux,
9

Вы не должны назначать все на 0.5, потому что у вас возникнет проблема "нарушить симметрию".

http://www.deeplearningbook.org/contents/optimization.html

Возможно, единственное свойство, известное с полной уверенностью, заключается в том, что исходные параметры должны « нарушать симметрию » между различными единицами. Если два скрытых блока с одинаковой функцией активации подключены к одним и тем же входам, то эти блоки должны иметь разные начальные параметры, Если они имеют одинаковые начальные параметры, то детерминистический алгоритм обучения, применяемый к детерминированной стоимости и модели, будет постоянно обновлять обе эти единицы одинаковым образом. Даже если модель или алгоритм обучения способны использовать стохастичность для вычисления разных обновлений для разных юнитов (например, если тренируется с выбыванием), обычно лучше инициализировать каждый юнит, чтобы вычислить отличную функцию от всех других юнитов. Это может помочь убедиться, что никакие входные шаблоны не будут потеряны в нулевом пространстве прямого распространения, а также не будут потеряны градиентные шаблоны в нулевом пространстве обратного распространения.

Привет мир
источник
2

Это очень глубокий вопрос. Недавно была опубликована серия работ с доказательством сходимости градиентного спуска для сверхпараметризованной глубокой сети (например, « Градиентный спуск находит глобальные минимумы глубоких нейронных сетей» , «Теория конвергенции для глубокого обучения с помощью чрезмерной параметризации» или « Стохастический градиентный спуск» оптимизирует чрезмерно параметризованную глубокую сеть). ReLU Networks ). Все они доказывают условие случайного гауссова распределения весов. Важность доказательств зависит от двух факторов:

  1. Случайные веса делают ReLU статистически сжимающим отображением (с точностью до линейного преобразования)

  2. Случайные веса сохраняют разделение входных данных для любого входного распределения - то есть, если входные выборки различимы, распространение по сети не сделает их неразличимыми

Эти свойства очень трудно воспроизвести с помощью детерминированных матриц, и даже если они воспроизводимы с помощью детерминированных матриц, NULL-пространство (область состязательных примеров), вероятно, сделает метод непрактичным, а более важное сохранение этих свойств во время градиентного спуска, вероятно, сделает метод непрактичным. Но в целом это очень сложно, но не невозможно, и может потребовать некоторых исследований в этом направлении. В аналогичной ситуации были получены некоторые результаты для свойства ограниченной изометрии для детерминированных матриц в сжатом зондировании .

mirror2image
источник