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

Источник · Перевод автора

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

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

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

Что нам нужно принять, и это не уникальная проблема в области машинного обучения, так это проверка данных. Инженеры Google опубликовали свой метод проверки данных в 2019 году после обнаружения производственной ошибки. Вкратце, каждый пакет входящих данных проверяется на наличие аномалий, некоторые из которых могут быть обнаружены только путем сравнения обучающих и производственных данных. Внедрение конвейера проверки данных дало несколько положительных результатов. Одним из примеров, представленных авторами в документе, является обнаружение недостающих функций в алгоритме рекомендаций магазина Google Play – когда ошибка была исправлена, скорость установки приложений увеличилась на 2 процента.

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

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

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

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

Ограничивающие модели должны иметь фундаментальное значение для надежного ИИ. Много обсуждается надежность дизайна и тестирование с помощью состязательных атак (которые разработаны специально для того, чтобы обмануть модели). Эти тесты могут помочь укрепить модели, но только в ответ на известные или предполагаемые примеры. Однако данные из реального мира могут быть неожиданными, выходящими за рамки состязательного тестирования, что делает проверку функций и данных жизненно важной. Давайте будем создавать модели достаточно умными, чтобы говорить: «Я знаю, что я ничего не знаю», вместо того, чтобы сходить с ума.