Мысли и теория

I ♡ Невоспроизводимые исследования

Лучшие экспериментальные протоколы для исследования реального мира

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

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

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

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

Если вас волнует влияние вашей модели на реальный мир, для этого не существует набора тестов.

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

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

И это приводит нас к самому большому недоразумению об A / B-тестировании и его полезности в качестве научного инструмента: его часто используют, например, в UX-дизайне, чтобы увидеть, влияют ли небольшие изменения в макете веб-сайта на клики пользователей, или они незначительны. изменения оттенков делают рекламу более привлекательной. В результате он заработал репутацию инструмента для улучшения доверительных интервалов для очень малых эффектов. А поскольку отношение исследователей машинного обучения к доверительным интервалам в лучшем случае является проявлением неохотной толерантности, актуальность A / B-тестирования для исследований ML обычно не учитывается.

Параллельное A / B-тестирование полностью актуально для тестирования с большим эффектом, особенно, когда вашу настройку оценки нельзя строго контролировать.

Мои коллеги (*) недавно убедительно продемонстрировали это в контексте исследований робототехники. Создание воспроизводимой системы оценки в робототехнике, как известно, сложно: роботы меняют положение, оборудование и объекты изнашиваются, меняется освещение, операторы роботов тонкими способами влияют на то, как настройки сбрасываются после каждого эксперимента. Печально известная «проблема сброса», в частности, очень сложна, потому что использование хорошего протокола сброса, который возвращает настройку вашего робота обратно в известное фиксированное состояние, может быть столь же сложно, как запуск эксперимента в первую очередь.

Они взяли одну из наших простейших установок - разделить одинаковые кубики из пенопласта внутри контейнера - и измерили воспроизводимость этой идеально контролируемой среды.

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

Если бы каждый эксперимент был отдельной моделью, мы бы сказали, что эксперимент № 7 на ~ 2% лучше, а эксперимент № 5 на ~ 5% хуже. И у нас даже были бы достаточно короткие доверительные интервалы, чтобы убедить вас в этом. Но здесь не было различий между экспериментами, все они были идентичны. Обратите внимание, что это не случай нехватки данных: большее количество данных только сократит доверительные интервалы, а не изменит их положение относительно базовой линии. Необъяснимая дисперсия полностью относится к «неизвестным неизвестным» окружающей среде. И эта установка настолько проста, насколько это возможно для настоящего эксперимента с роботом: многие статьи по робототехнике сообщают о последовательных экспериментах по лечению с гораздо большим потенциалом необъяснимой изменчивости, чем этот. Что еще более важно, если бы мы не измерили эту изменчивость изо дня в день, мы бы не догадались, что она вообще существует. Очень немногие исследователи когда-либо задумываются об измерении внутренней изменчивости в своей экспериментальной установке, потому что давайте посмотрим правде в глаза: это работа, и только плохие новости могут выйти из этого направления исследования.

Урок здесь в том, что с этим конкретным экспериментальным протоколом мы определенно не можем доверять какой-либо разнице в производительности ниже 10% - я даже не знаю, что я бы доверял разнице в 10% без большого количества повторных проверок. Это безнадежно? Конечно, нет. Войдите в параллельное тестирование.

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

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

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

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

Так почему же все этого не делают? Давайте посмотрим на некоторые проблемы.

Одно из распространенных заблуждений состоит в том, что, поскольку вам нужно снова и снова проверять базовый уровень для каждого эксперимента, вам нужно вдвое больше данных оценки. Это неверно, если в вашей настройке есть некоторая вариативность: выигрыш в статистической эффективности, который вы получаете от постоянного использования базового уровня, может стоить порядка величины данных - или бесконечного количества данных в худшем случае, как мы видели. выше. Существуют умные способы повысить эффективность данных с помощью перекрывающихся экспериментов - вероятно, самой недооцененной исследовательской работы, выпущенной Google, но правильное использование инструментов требует гораздо больше работы, чем большинство исследователей, вероятно, захотят посвятить этому вопросу.

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

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

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

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

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

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

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

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

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

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

* Мнение мое.