Пример достижения баланса между специфичностью и точностью в обучении NN

В предыдущей статье я поделился некоторыми подробностями об ИИ-платформе Cloudsight, которая способна описывать изображения полными, удобочитаемыми предложениями.

Команда Cloudsight любезно предоставила массу подробностей о том, как работает их система, и я буду углубляться в них. Я думаю, что их платформа представляет собой интересное тематическое исследование Deep Learning и раскрывает идеи, актуальные для всех, кто работает в области искусственного интеллекта и науки о данных.

Когда Cloudsight создавала свою платформу субтитров, управляемую нейронными сетями, они столкнулись с задачей обучения, которая, на мой взгляд, увлекательна. Это похоже на переоснащение, но с изюминкой. И это непреднамеренно привело к созданию ИИ, который научился говорить как политик!

NN Training, с изюминкой

На платформе Cloudsight пользователи загружают изображение, и система пытается описать его полным заголовком предложения. Базовая архитектура их системы использует нейронные сети на основе трансформаторного подхода для создания подписей, опираясь на гигантский обучающий набор, состоящий в основном из изображений электронной коммерции.

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

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

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

Конкретные и общие

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

Но вот в чем загвоздка. В этой системе есть лазейка.

Сначала Cloudsight обнаружила, что их неподготовленный NN хорошо справляется с созданием очень специфических субтитров. Например, для тренировочного изображения в верхней части этой статьи было написано: «Мужчина в белой футболке с круглым вырезом и зеленых шортах держит теннисную ракетку», «Мужчина держит теннисную ракетку на зеленом поле» и т. Д.

Это очень конкретно - вы получаете описание пола человека, действия, которое он выполняет (как правило), и его одежды.

Это тоже неправильно. На мужчине белые шорты, а не зеленые. Модель, вероятно, увидела зеленый цвет от другого человека, который наклонился, и назначила «зеленые шорты» человеку, держащему ракетку. И он на корте, а не на поле.

Согласно критериям оценки Cloudsight, NN был оштрафован за выдачу этого некорректного вывода. Так получилось кое-что очень интересное. С каждой последующей тренировочной эпохой он становился все более общим. Поэтому вместо того, чтобы даже пытаться описать одежду человека, обстановку и т. д., он медленно склонялся к таким описаниям, как «стоящий человек» или просто «человек». ”

Дело в том, что этот вывод технически правильный. Изображение действительно изображает человека. Таким образом, NN получит «правильный» результат на этом выходе, даже если результат будет очень и очень общим.

Обсуждение проблемы

Перефразируя R.E.M., система научилась «обсуждать проблему».

Фактически, как Cloudsight указали в своих внутренних обзорах, NN выяснили, как вести себя как политик - выбирая продукцию, которая имеет очень мало фактического содержания, и, таким образом, всегда избегает говорить что-то неправильное.

Интервьюер: Сэр, как вы относитесь к налоговым льготам?

Политик: Я считаю, что весь американский народ имеет право полностью реализовать свой потенциал на этой великой земле, которую мы называем своим домом.

Толпа: ** Бурные аплодисменты **

Проблема, конечно, в том, что, хотя общий вывод технически верен в соответствии с критериями оценки Cloudsight, он также бесполезен в качестве фактического заголовка.

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

Новый вид переобучения

Проблема Cloudsight здесь заключалась, по сути, в переоснащении, но с новой морщиной.

Любой специалист в области науки о данных знаком с проблемой переобучения обучающих данных. Выберите данные, которые слишком специфичны для предметной области или слишком узки, и вы можете обучить регрессионную модель или NN, которая очень хорошо работает с ней. Но примените эту модель в реальном мире, и это будет ужасно. Вы «подогнали» свою модель к обучающим данным, и она не может обрабатывать что-либо, кроме вашего обучающего набора.

Система Cloudsight столкнулась с другой версией переобучения. Вместо того, чтобы соответствовать обучающим данным, он полностью соответствовал критериям оценки.

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

Это демонстрирует важность очень тщательного выбора критериев оценки при обучении NN или другой модели глубокого обучения. Современные сети NN сильны. Они научатся соответствовать вашим критериям оценки. Но если критерии ошибочны, то и ваш результат будет таким же.

Решение

Компания Cloudsight решила эту проблему, адаптировав количество эпох обучения - и, следовательно, точность / универсальность модели - к конкретным вариантам использования клиентов.

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

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

По сути, Cloudsight признает, что их протокол обучения должен обеспечивать баланс между точностью и универсальностью, и устанавливает порог и порог между ними в разных точках для разных пользователей, обучаясь в разное количество эпох (от 3 до 20). средний).

Уроки выучены

Опять же, опыт Cloudsight подчеркивает важность правильной установки критериев оценки при обучении системы глубокого обучения. Тот факт, что вы получаете безошибочный вывод, не означает, что вы действительно решили реальную проблему, которую собирались решить.

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

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

Вероятно, это тоже комментарий политиков - но это тема для отдельной статьи!