Когда обучающая выборка (training set) значительно отличается от валидационной (dev set), разработчики систем машинного обучения сталкиваются с проблемой рассогласования данных (data mismatch). В рамках курса DeepLearning.AI профессор Эндрю Ын разбирает методику устранения этого разрыва, предлагая сочетание ручного анализа ошибок и технологий искусственного синтеза данных.
🕵️ Ручной анализ и поиск различий 0:00
Если анализ ошибок показывает, что основной проблемой системы является именно рассогласование данных, Эндрю Ын рекомендует начать с ручного исследования . Этот процесс подразумевает детальное сравнение обучающей и валидационной выборок для понимания их фундаментальных различий.
Важное методологическое замечание от автора: для анализа следует использовать только валидационную выборку (dev set), не трогая контрольную (test set) . Это необходимо, чтобы избежать переобучения под конкретные примеры из контрольного набора данных.
В качестве примера Ын приводит разработку системы голосового управления для зеркала заднего вида в автомобиле:
- Анализ шума: разработчик может заметить, что примеры в валидационной выборке гораздо более зашумлены из-за звука двигателя или дороги .
- Специфика контента: может выясниться, что в реальных условиях пользователи часто диктуют адреса, поэтому системе критически важно правильно распознавать номера домов и улиц .
Как только природа различий становится понятна, у инженера появляется два пути: либо собрать больше реальных данных, соответствующих валидационной выборке, либо попытаться сделать обучающие данные более похожими на целевые .
🔊 Искусственный синтез аудиоданных 2:44
Одним из эффективных способов сближения выборок Эндрю Ын называет искусственный синтез данных (artificial data synthesis). Это особенно актуально для задач распознавания речи в специфических условиях, например, внутри движущегося автомобиля .
Вместо того чтобы записывать тысячи часов аудио в реальных поездках, можно использовать следующий алгоритм:
- Взять чистую аудиозапись без фонового шума (например, классическую фразу-панграмму «The quick brown fox jumps over the lazy dog») .
- Записать отдельно шум в салоне автомобиля .
- Наложить эти два аудиопотока друг на друга .
По словам Ына, в профессиональной практике процесс может быть сложнее: можно синтезировать эффекты реверберации (эха), когда звук голоса отражается от стенок салона . Это позволяет быстро создать огромную обучающую базу, эквивалентную десяткам тысяч часов реальной записи, не выходя из студии .
⚠️ Риск «обеднения» синтезированных данных 4:48
Несмотря на эффективность синтеза, Эндрю Ын предостерегает инженеров от опасной ловушки. Основной риск заключается в том, что нейросеть может переобучиться на специфическом узком подмножестве данных, которое человек не способен отличить от общего распределения на слух или взгляд .
Ын приводит гипотетический сценарий:
- У вас есть 10 000 часов чистой речи.
- У вас есть всего 1 час уникальной записи автомобильного шума.
- Вы дублируете этот час шума 10 000 раз, чтобы наложить на всю речь.
Для человеческого уха результат будет звучать отлично, однако нейросеть, по мнению автора, может легко переобучиться именно на этот конкретный час шума . Модель «запомнит» уникальные характеристики этого короткого отрезка и не сможет эффективно работать в реальном мире, где вариативность шумов бесконечна. Ын подчеркивает, что для достижения по-настоящему высокого качества лучше иметь 10 000 часов уникального фонового шума, хотя собрать их гораздо сложнее .
🚗 Синтез в компьютерном зрении и видеоиграх 7:20
Аналогичные принципы и риски применимы к задачам компьютерного зрения, например, при обучении беспилотных автомобилей распознаванию других машин на дороге .
Популярная идея в индустрии — использовать компьютерную графику или скриншоты из реалистичных видеоигр для создания обучающих выборок . Современные технологии позволяют генерировать изображения, которые выглядят крайне правдоподобно для человека. Однако здесь кроется та же проблема «малого подмножества»:
- В видеоигре может быть всего 20 уникальных моделей автомобилей .
- Даже если вы сделаете миллион снимков с разных ракурсов, нейросеть переобучится на эти 20 моделей.
- В реальном мире существуют тысячи дизайнов машин, и модель, обученная на игре, может их не распознать .
В заключение Эндрю Ын отмечает, что хотя синтез данных успешно применяется в распознавании речи и других областях, разработчик всегда должен задаваться вопросом: не является ли синтезированный набор данных лишь крошечным и однообразным фрагментом от всей полноты реального распределения .