loss-функции.

Когда обучение не идет. Loss is NaN. Причины и решения

Привет, это моя первая статья на Хабре. И я хочу рассказать вам о проблеме, на решение которой когда-то давно у меня ушло довольно много времени.Часто бывает, что при обучении (или тестировании) модели нейронной сети (NN) функция потерь (loss) возвращает значение NaN (Not a Number). Это приводит к тому, что фаза обучения "срывается". Обычно неясно, почему это происходит. Я расскажу вам о возможных причинах и рекомендациях по решению этой проблемы.Взрыв градиентаСуществует две основные проблемы с градиентами на этапе обучения: исчезновение (vanishing) и взрыв (explosion) градиент. Первая описана в этих статьях:

продолжить чтение

Кастомные loss-функции в TensorFlow-Keras и PyTorch

Привет, Хабр!Стандартные loss‑функции, такие как MSE или CrossEntropy, хороши, но часто им не хватает гибкости для сложных задач. Допустим, есть тот же проект с огромным дисбалансом классов, или хочется внедрить специфическую регуляризацию прямо в функцию потерь. Стандартный функционал тут бессилен — тут на помощь приходят кастомные loss'ы.Custom Loss Functions в TensorFlow/KerasTensorFlow/Keras радуют удобным API, но за простоту приходится платить вниманием к деталям. Focal LossFocal Loss помогает сместить фокус обучения на сложные примеры, снижая влияние легко классифицируемых данных:

продолжить чтение

Rambler's Top100