Ученые из бесчисленных областей обращаются к алгоритмическому анализу данных, Патрик Райли из Google призывает к четким стандартам научных исследований и отчетов.
Инженеры TAE Technologies и Google в Калифорнии используют машинное обучение для оптимизации оборудования, производящего высокоэнергетическую плазму. Источник: Liz Kuball.
Машинное обучение движет прогресс во всех науках. Мощные инструменты выявления закономерностей и прогнозирования помогают ученым во всех областях — от совершенствования процессов синтеза молекул и обнаружения скрытых сигналов в статистике до улучшения медицинской диагностики и открытия фундаментальных частиц.
Однако инструменты машинного обучения могут обернуться ловушками — ложноположительными результатами, логическими тупиками и ошибками. Многие алгоритмы настолько сложны, что невозможно проверить все их параметры или проанализировать, как именно преобразуются входные данные. По мере того, как эти алгоритмы применяются всё более широко, возрастают риски неправильной интерпретации, ошибочных выводов и напрасных усилий ученых.
Это не новые проблемы. Развитие машинного обучения сдерживается так называемой «проблемой танка» на протяжении десятилетий. Оригинальное исследование, по всей видимости, появилось еще в 60-х ([1] — самая ранняя публикация по данной теме; благодарность разработчику ПО Джеффу Кауфману) и было покрыто туманом веков, но история такова. Исследователь создали алгоритм, распознающий танки на фотографиях, предоставленных военными. Модель успешно определяла танки на тестовых изображениях. Но она давала сбой на более новых фотографиях с полей. Почему? Версии расходятся, но изображения, на которых она была обучена, содержали общие детали — танки появлялись в утреннем свете, либо под облаками. Так что алгоритм научился распознавать такие моменты, а не само присутствие танка.
Происходящая сейчас переоценка ценностей вызвана схожими проблемами [2]. Многие работы по машинному обучению не содержат адекватной постановки эксперимента. Нет единых стандартов анализа. Конкуренция заставляет некоторых исследователей срезать углы и опускать проверки, как только они решают, что достигли желаемых результатов.
Мы не способны предсказать все трудности, с которым может столкнуться каждое исследование. Но применяющие в своих областях машинное обучение исследователи, как минимум, должны познакомиться с распространенными подводными камнями и методами, позволяющими их распознать и избежать.
Для иллюстрации я выбрал для освещения три проблемы в машинном обучении, с которыми мы столкнулись и которые преодолели в Google Accelerated Science team.
Три проблемы
Неправильное разделение данных
При построении моделей практики машинного обучения обычно разделяют данные на обучающую и тестовую выборки. Модель обучается на обучающей выборке, а её эффективность оценивается по тому, насколько точно она описывает тестовую. Исследователи обычно разделяют данные случайным образом. Однако данные из реального мира редко носят случайный характер. В них может быть какая-то зависимость от времени — например, изменение способа получения данных или набора собираемых показателей.
Такие временные зависимости скрыты, например, в наборах данных по молекулам, использующихся алгоритмами машинного обучения для нахождения кандидатов в лекарственные препараты. Задача состоит в том, чтобы предсказать, насколько эффективно гипотетическая молекула будет, например, усваиваться организмом или снижать воспаление. Скрининг начинается со сбора данных о молекулах, которые имеют или не имеют необходимого эффекта. Но условия, в которых эти данные собирались могут отличаться от условий, в которых используется обучаемая модель.
Например, модель может быть построена на основе одного набора молекул, публично доступного, а затем использоваться на другом, проприетарном. Также внимание ученых-химиков часто переключается с одного класса молекул на другой, когда появляются, либо отвергаются многообещающие зацепки. Поэтому исследователи зачастую переоценивают то, насколько хорошо модель будет работать на практике [3]. Это приводит к завышенным ожиданиям и впустую потраченным времени и средствам на неудачно выбранные молекулы. Многие ученые (включая меня) стали жертвой этой ошибки.
Другими словами, вопрос, на который вы ищете ответ, должен определять способ разделения данных. Если модель предсказывает эффект от добавления нескольких атомов к молекуле, то каждая молекула в тестовом наборе должна иметь соответствующий аналог в обучающем, отличающийся парой атомов. Если вы хотите получить качественные прогнозы на химически разнообразных молекулах, молекулы из тестового набора должны быть не похожи на молекулы из обучающего. Правильный способ разделения данных может быть неочевиден, но тщательные размышления и разные попытки могут навести на правильный путь.
Скрытые переменные
В идеальном эксперименте исследователь изменяет значение определенных переменных и фиксирует значение всех остальных. В реальном мире такой уровень контроля недостижим. Точность приборов изменяется со временем, концентрации реагентов разнятся, условия одного эксперимента могут отличаться от другого, а результаты могут быть зависимы даже от погоды. Такие неконтролируемые переменные пагубно сказываются на обучаемых моделях.
Например, моя команда в Google работала со стартапом в области ядерного синтеза TAE Technologies в Калифорнии над оптимизацией эксперимента по производству высокоэнергетической плазмы [4]. Мы создавали модели для понимания наилучшего набора настроек аппарата, производящего плазму. Насчитывались сотни управляющих параметров, от того, когда активировать электроды, до того, какое напряжение подавать на магниты. Фиксировалось множество параметров, включая температуру и спектр.
Мы использовали данные тысяч запусков аппарата, продолжавшихся многие месяцы. Все настройки варьировались в зависимости от переналадки механизмов, износа компонентов и проверки различных идей. Мы были очень рады, когда создали модель, хорошо предсказывающую для данных настроек, будет ли высока энергия плазмы. Вскоре оказалось, что наши прогнозы были основаны на ложных предпосылках.
Осмотр глаза в больнице Аравнид в Мадурае, Индия. Медицинский персонал совместно с исследователями Google пытаются автоматизировать диагностику слепоты, вызванной диабетом. Источник: Atul Loke/The New York Times/Red/eyevine
Когда мы обучили модель, использовав только время эксперимента как входную переменную, а не все настройки, мы получили примерно такую же точность предсказания. Почему? Мы считаем, что наша первая модель распознавала временные тренды, а не физические явления. В ходе проведения экспериментов были периоды, когда механизмы работали хорошо, а были — когда не очень. Таким образом, время проведения эксперимента может дать информацию, будет ли плазма на выходе обладать высокой энергией. Более того, было возможно предсказать примерно когда проводился эксперимент по настройкам управляющих параметров — в том, как они изменялись были свои тренды.
Скрытые переменные могут также порождаться самой постановкой эксперимента. Например, мы со многими коллегами, включая Научно-исследовательский институт Нью-йоркского фонда стволовых клеток, работаем над интерпретацией микроскопических изображений. Изображение представляет собой набор биологических экспериментов на подложке — обычно в виде сетки углублений, содержащих жидкость и клетки. Цель в том, чтобы определить, какие углубления обладают определенными характеристиками, такими как изменение внешнего вида после обработки химикатом. Но биологическое разнообразие предполагает, что каждая подложка будет выглядеть немного по другому. Могут быть также небольшие вариации на самой подложке. Края обычно отличаются от центра, если, например, больше жидкости испарилось с краев, или если подложка наклонена.
Алгоритм машинного обучения может с легкостью зафиксироваться на этих непреднамеренных вариациях. Например, модель может распознавать углубления на краях подложки. Простой способ проверить, что такое случилось — попробовать предсказать с помощью модели другие вещи — положение углубления на подложке, какая это подложка, или из какого набора это изображение. Если модель это может — следует отнестись к результатам с подозрением.
Урок таков: нужно использовать несколько моделей машинного обучения для обнаружения неожиданных или скрытых переменных. Одна модель концентрируется на вопросе, который вас волнует — высока ли энергия плазмы, здоровы ли клетки в растворе? Другие выявляют неожиданные факторы. Если они дают устойчивый результат — нормализуйте данные, проведите дальнейшие эксперименты или скорректируйте свои выводы.
Непонимание цели
Алгоритмы машинного обучения предполагают задание исследователем функции потерь, которая определяет тяжесть различных ошибок: что лучше — сделать две ошибки в 1% или одну в 2%? На практике обычно используется ограниченный набор таких функций, которых может быть недостаточно для того, что вы действительно хотите.
Например, мы использовали машинное обучение для помощи в решении частных дифференциальных уравнений [5]. Эти уравнения используются во многих науках: гидродинамике, электродинамике, сопромате, астрофизике и в экономическом моделировании. Часто их нужно решать численно, и мы обучали модели, позволяющие достичь большой точности при ограниченной частоте дискретизации.
Мы начали с уравнения, описывающего распространение волны воды в одном измерении. Алгоритм должен был предсказывать следующий шаг во времени по текущему состоянию. У нас были две немного различающиеся формулы и мы обучали модели на обеих. Судя по нашей функции ошибки, обе модели были примерно равнозначны. Однако, одна из них выдавала чепуху, а вторая — оставалась близка к нужному результату.
Почему? Функция потерь, контролировавшая обучение, рассматривала ошибку только на следующем шаге, а не валидность результата на много шагов вперед, что нас, собственно, и интересовало.
Расходящиеся цели еще всплыли в нашей работе по машинному скринингу диабетической ретинопатии [6], осложнении диабета и самой главной причины предупреждаемой слепоты в мире. Это состояние можно эффективно лечить при условии раннего обнаружения по изображению глазного дна. Мы собрали данные, по которым офтальмологи проставили диагнозы, а затем использовали инструменты машинного обучения для предсказания диагноза. Появились две проблемы.
Во-первых, разные офтальмологи часто расходились в диагнозе. Поэтому мы поняли, что нельзя основывать нашу модель на единственном предсказании. Также мы не могли использовать простое большинство, так как в медицинских вопросах зачастую спасительным оказывается голос меньшинства. Во-вторых, наша действительная цель — это не распознавание отдельной болезни. Мы должны были задавать другой вопрос: «Нужно ли этому пациенту обратиться к врачу?». Поэтому мы расширили задачи исследования с распознавания отдельной болезни до определения различных состояний.
Практикам машинного легко зафиксироваться на «очевидной» цели, в рамках которой данные и их атрибуты полностью понятны. Но так они могут заставить алгоритмы решать неверные задачи. Нужно всегда иметь в виду более глобальный замысел, иначе мы получим точные модели, отвечающие на неправильные вопросы.
Что дальше?
Во-первых, эксперты по машинному обучению должны придерживаться высоких стандартов сами и распространять их на своих коллег. Когда в лабораторию поступает новое оборудование, лаборанты должны знать, как оно работает, как его настраивать, как обнаруживать ошибки и знать границы его применимости. Так же и с машинным обучением. Здесь нет никакой магии, и инструмент должен быть понятен тому, кто его применяет.
Во-вторых, различные отрасли науки должны выработать чёткие стандарты, как должно проводиться машинное обучение и описываться его результаты. Необходимые меры контроля, проверки значимости и измерения ошибок могут варьироваться в разных областях, и они должны быть ясно выражены, чтобы исследователи, обозреватели и редакторы могли распространять правильные практики.
В-третьих, образовательные программы по машинному обучению должны включать эти вопросы. Хотя уже существуют некоторые ресурсы (например, ai.google/education), нужно больше. Мы учим алгоритмам и инструментам, но студенты должны больше учиться тому, как применять эти алгоритмы и как критически их анализировать.
Мы живем в удивительное время — вычислительные мощности, данные и алгоритмы вместе дают нам большие возможности для открытий с помощью машинного обучения. Мы, как сообщество ученых, ответственны за то, чтобы правильно использовать эти возможности.
Литература
- Kanal, L. N. & Randall, N. C. In Proc. 1964 19th ACM National Conf. 42.501–42.5020 (ACM, 1964).
- Lipton, Z. C. & Steinhardt, J. Preprint at arXiv. arxiv.org/abs/1807.03341 (2018).
- Sheridan, R. P. J. Chem. Inform. Model. 53, 783–790 (2013).
- Baltz, E. A. et al. Sci. Rep. 7, 6425 (2017).
- Bar-Sinai, Y., Hoyer, S., Hickey, J. & Brenner, M. P. Proc. Natl Acad. Sci. USA doi.org/10.1073/pnas.1814058116 (2019).
- Gulshan, V. et al. J. Am. Med. Assoc. 316, 2402–2410 (2016).
Переводчик: Михаил Коротеев