При обучении нейронной сети на обучающей выборке на выходе нейросети вычисляются два ключевых параметра эффективности обучения — ошибка и точность предсказания. Для этого используются функция потери (loss) и метрика точности. Эти метрики различаются в зависимости от поставленной задачи (классификация или сегментация изображения, детекция объекта, регрессия). В Keras мы можем определить свои собственные функцию потери и метрики точности под свою конкретную задачу. О таких кастомных функциях и пойдет речь в статье. Кому интересно, прошу под кат.
Читать полностью »
Рубрика «функция потерь»
Использование кастомных функций потери и метрики качества обучения в Keras
2019-11-23 в 14:43, admin, рубрики: keras, loss, машинное обучение, метрики качества, нейронные сети, оптимизация, функция потерьЧто мы знаем о ландшафте функции потерь в машинном обучении?
2018-03-26 в 6:00, admin, рубрики: gradient descent, loss, loss function, machine learning, градиентный спуск, математика, машинное обучение, функция потерьTL;DR
- В глубоких нейронных сетях основным препятствием для обучения являются седловые точки, а не локальные минимумы, как считалось ранее.
- Большинство локальных минимумов целевой функции сконцентрированы в сравнительно небольшом подпространстве весов. Соответствующие этим минимумам сети дают примерно одинаковый loss на тестовом датасете.
- Сложность ландшафта увеличивается по приближении к глобальному минимуму. Почти во всём объёме пространства весов подавляющая часть седловых точек имеет большое количество направлений, по которым из них можно сбежать. Чем ближе к центру кластера минимумов, тем меньше «направлений побега» у встреченных на пути седловых точек.
- Всё ещё неясно, как найти в подпространстве минимумов глобальный экстремум. Похоже, что это очень сложно; и не факт, что типичный глобальный минимум намного лучше типичного локального.
- В сгустке минимумов существуют особые кривые, соединяющие локальные минимумы. Функция потерь на этих кривых принимает лишь чуть большие значения, чем в самих минимумах.
- Некоторые исследователи считают, что широкие минимумы (с большим радиусом «ямы» вокруг) лучше узких. Но есть и немало учёных, которые полагают, что связь ширины минимума с обобщающей способностью сети очень слаба.
- Skip connections делают ландшафт более дружелюбным для градиентного спуска. Похоже, что вообще нет причин не использовать residual learning.
- Чем шире слои в сети и чем их меньше (до определённого предела), тем глаже ландшафт целевой функции. Увы, чем более избыточна параметризация сети, тем больше нейросеть подвержена переобучению.
Всё, листайте дальше. Я даже КДПВ ставить не буду.
Читать полностью »
Ограничения глубинного обучения и будущее
2017-08-07 в 5:48, admin, рубрики: AlphaGo, AutoML, DeepMind, python, абстракция, антропоморфизация, апокалипсис, генерация нейросетей, глубинное обучение, градиентный спуск, ИИ, машинное обучение, нейросеть, обобщения, обратное распространение, Программирование, программный синтез, разум, рассуждения, сильный ИИ, Сингулярность, функция потерьЭта статья представляет собой адаптацию разделов 2 и 3 из главы 9 моей книги «Глубинное обучение с Python» (Manning Publications).
Статья рассчитана на людей, у которых уже есть значительный опыт работы с глубинным обучением (например, тех, кто уже прочитал главы 1-8 этой книги). Предполагается наличие большого количества знаний.
Ограничения глубинного обучения
Глубинное обучение: геометрический вид
Самая удивительная вещь в глубинном обучении — то, насколько оно простое. Десять лет назад никто не мог представить, каких потрясающих результатов мы достигнем в проблемах машинного восприятия, используя простые параметрические модели, обученные с градиентным спуском. Теперь выходит, что нужны всего лишь достаточно большие параметрические модели, обученные на достаточно большом количестве образцов. Как сказал однажды Фейнман о Вселенной: «Она не сложная, её просто много».
Читать полностью »