Search
Write a publication
Pull to refresh

Comments 10

Дак если речь идет о полносвязнной нейронной сети, причем из одного скрытого слоя, то в чем тут удивление?

Другие дело в сверточных сетях чем инициализовать свертки!, да еще и когда слоев тьма!

Я также не сторонник использования softmax в выходном слое во время обучения сети. Я наизусть не помню как устроена softmax в keras, но есть ощущение что она будет тренить лишь до достижения максимума одного из выходных нодов над другими нодами. В этом смысле sigmoid + BCE будет более строго "тянуть" негативные ноды к нулю, а позитивную - к еденице.

Спасибо за комментарий )

Похоже, целесообразно при работе с любой архитектурой проверять на различие результатов для различных инициаций )

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

да, но ведь в этой статье ни слова про текстовые модели....

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

  1. Если бы мы заранее знали, какие веса нужны, нам бы вообще не нужно было обучать нейросети. Задал сразу нужные веса - да и всё.

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

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

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

Беда, а шаги при градиентном спуске как-то нормализированы? И прочие коэффициенты скорости обучения?

В нормальном случае при гладкой функции с 1 минимумом мы должны прийти к локальному минимуму за 10-100 шагов, например.

И вы получите одни и те же результаты для любых значений при инициализации.

Спасибо за комментарий )

Действительно, к локальному минимуму приходим достаточно быстро.
Но, как понимаю, дело не только в локальном минимуме. Нам важно не столько значение локального минимума ошибки (loss), сколько обобщающая способность и значение точности (accuracy), и это могут быть сильно различающиеся значения даже при одном и том же значении loss.

Sign up to leave a comment.

Articles