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

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

Розовая картина и реальность

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

Но вскоре эта радужная картина выпала и выглядела мрачной. Недавно статистик из Университета Райса в Австралии сказал, что открытия, сделанные с помощью машинного обучения, не могут автоматически считаться надежными и священными. В Nature опросе, проведенном еще в 2016 году, было обнаружено, что более 70% исследователей фактически не смогли воспроизвести результаты экспериментов других ученых, которые достигли результатов с помощью машинного обучения. Кризис воспроизводимости продолжает нависать над специалистами по данным, особенно там, где они используют модели машинного обучения.

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

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

Куда мы идем? Насколько мы полностью контролируем процесс принятия решений на основе данных?

Говоря о недостатках технологии машинного обучения, мы должны внимательно относиться к каждому аспекту и объяснять все аспекты один за другим. Просто подумайте о стартапе, который использует модели машинного обучения для построения, используя работу разных членов команды друг над другом. Теперь, если модель машинного обучения при работе с одними и теми же необработанными данными предлагает разные решения в разных случаях, как вы можете положительно оценить надежность моделей? Если невозможно получить тот же результат с теми же входными данными для обучения, это просто кризис. Итак, когда дело доходит до построения моделей, ориентированных на данные, с нуля, мы не очень продвинулись.

Основная задача: сотрудничество в области моделей машинного обучения

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

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

● Например, исследователь данных пытается подтвердить проблемы, пытаясь построить архитектуру для классификации изображений.

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

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

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

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

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

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

● Теперь он также хранит все оценочные баллы и различные веса модели для всех прогонов.

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

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

● Теперь, наконец, он готов опубликовать результаты с обученными весами и исходным кодом.

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

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

Воспроизводимость и данные: возвращение к основным проблемам

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

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

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

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

Заключение

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

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