Перевод Книги Эндрю Нга «Страсть К Машинному Обучению» Главы 42 И 43

предыдущие главы 42. Подробнее о несоответствиях данных Допустим, вы разработали систему распознавания речи, которая очень хорошо работает как на обучающем наборе, так и на «наборе обучающей проверки».

Однако он имеет низкое качество на проверочном наборе: очевидно, вы имеете дело с проблемой несогласованности данных.

Что можно сделать в этом случае? Я бы порекомендовал следующее: (i) Попытайтесь понять, чем именно различаются распределения данных обучающего и проверочного наборов.

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

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

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

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

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

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

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

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

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

Это позволит сравнить качество работы алгоритма на примерах, записанных на автомобиле из обучающей выборки, с качеством его работы на примерах из проверочной и тестовой выборок.

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

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

43. Искусственный синтез данных Вашей речевой системе нужно больше клипов, которые звучат так, как будто они были записаны на машине.

Вы можете записывать нужные вам видео, разъезжая в машине, но более простым способом может быть их искусственное синтезирование.

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

Вы можете скачать эти данные с нескольких сайтов.

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

Если вы возьмете запись разговора человека и «наложите» ее на аудиоклип с шумом автомобиля/дороги, вы получите аудиоклип, который звучит так, как будто человек говорил, находясь в работающей машине на улице.

Используя этот процесс, вы можете «синтезировать» огромные объемы данных, которые звучат так, как будто они были записаны внутри автомобиля.

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

В качестве второго примера возьмем детектор кошек.

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

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

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

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

Если вы неоднократно используете один и тот же 1-часовой автомобильный шум с разными частями, взятыми из 1000-часовой обучающей выборки, вы получите синтетический набор данных, в котором один и тот же автомобильный шум повторяется снова и снова.

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

Компьютер может переобучиться за этот час.

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

Или, допустим, у вас есть 1000 уникальных часов автомобильного шума, но все они были записаны в 10 разных машинах.

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

К сожалению, такие проблемы, возникающие при синтезе данных, обнаружить довольно сложно.



Перевод книги Эндрю Нга «Страсть к машинному обучению» Главы 42 и 43

Давайте посмотрим на другой пример.

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

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

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

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

У игровой компании может быть около 20 дизайнов автомобилей.

Создание 3D-модели автомобиля стоит очень дорого; Если вы играли в подобные игры, вы могли не заметить, что видите одни и те же машины снова и снова, возможно, просто в разных цветах.

Те.

эти данные кажутся вам очень реалистичными.

Но по сравнению со вселенной всех автомобилей на дороге (и, следовательно, с тем, что, скорее всего, будет включено в проверочные и тестовые образцы), эта выборка из 20 синтезированных автомобилей охватывает лишь небольшую часть всех автомобилей в мире.

Таким образом, если все 100 000 обучающих примеров взяты из 20 нарисованных автомобилей, на которых обучена ваша система, то эта система будет «переобучена» на этих 20 конкретных конструкциях автомобилей и не сможет хорошо обобщить свою способность распознавания для проверки.

и тестовые наборы.

включая другие модели автомобилей.

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

Старайтесь избегать в синтезированных данных особенностей, которые позволили бы алгоритму обучения отличать синтезированные примеры от реальных, например, того, что все синтезированные данные состоят всего из 20 вариантов конструкции автомобиля, или что весь синтезированный звук получается только из 1 час автомобильного шума.

Следует признать, что следовать этому совету довольно сложно.

Работая над синтезом данных, мои команды иногда тратили недели, прежде чем мы смогли воспроизвести детали, которые были бы достаточно близки к фактическому распределению примеров, чтобы синтезированные данные имели значимое влияние.

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

продолжение Теги: #Машинное обучение #Профессиональная литература

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.