В октябре MIT рассказал о новом подходе к обучению алгоритмов искусственного интеллекта (ИИ) — «Less than one»-shot, или LO-shot learning, который — в теории — может принципиально изменить подход к машинному обучению (ML). Его главная особенность заключается в том, что обученная таким образом модель ИИ сможет распознавать большее количество реальных объектов, чем было представлено в обучающем датасете. Иными словами, для обучения нейронных сетей не требуется столь же большая выборка данных, что обычно.
ICT.Moscow обсудил со специалистами в области ИИ и ML, насколько этот подход на самом деле является революционным, есть ли у него реальные перспективы изменить сферу машинного обучения или это не более чем любопытный эксперимент. Эксперты объяснили, в чем суть подхода LO-shot, насколько он применим сегодня или может быть применим в будущем и что может этому помешать.
Подход не новый, но перспективный
* В этом блоке много технической информации. Основные барьеры и перспективы применения LO-shot learning представлены в следующих разделах.
Большая часть экспертов сошлась во мнении, что подход как минимум интересный и может быть перспективным. В частности, руководитель направления компьютерного зрения медицинской компании «Третье Мнение» Александр Громов отметил, что принцип LO-shot является интересной концепцией, который потенциально можно применить к определенным сферам ИИ.
Однако говорить о том, что он принципиально изменит подход к машинному обучению, пока рано.
Это интересный эксперимент, но точно не революция в области ML. Причем эксперимент далеко не новый по своей идее, есть активная ветка исследований в области наук о данных, которой занимается Few-shot learning / One-shot learning. Автор статьи пошел дальше и предложил подход к LO-shot learning, когда мы искусственно конструируем «суперинформативные примеры» для обучения. Также есть замечательная статья 2015 года ученого Джеффри Хинтона о дистилляции знаний.
Подходы, описанные в ней, так или иначе базируются на красивой и простой идее использования soft-targets, которые более информативны для обучения ML-моделей, вместо традиционного применения hard-targets.
Объяснить эту идею можно на простом примере: во время обучения мы не говорим ML-моделям: «Это кошка». Мы говорим, что это «кошка», но она немного похожа на «рысь», совсем чуть-чуть на «собаку», совсем не похожа на «самолет». То есть мы передаем модели намного больше знаний о моделируемом мире в одном примере. Человек также в своем обучении способен выстраивать такие взаимосвязи и обучаться на них: например, единорог — лошадь, но немного и носорог; или пегас — лошадь, но имеет общие черты с птицей.
Такой подход целом перспективен настолько, насколько перспективно сжатие данных как принцип. Я знаю людей, которые не слушают музыку, например, в mp3, потому что потери информации для них некомфортны, но не могу представить робота, который будет жаловаться, что его учат не всеми доступными данными, а таким сухим остатком с предельной концентрацией сути. Если это действительно работает, это очень круто.
Есть целый спектр подходов к обучению: Zero-shot learning, One-shot learning, Few-shot learning, обычное обучение на больших датасетах. Данная работа занимает положение где-то посередине между первыми двумя. Во всех этих подходах есть свои достижения, так что в этом смысле текущая работа скорее пополняет имеющийся ландшафт. Это дальнейшее развитие работы этих же авторов от 2019 года, где они уже показали, что такое возможно — обучить нейросеть на числе примеров меньшем, чем число классов. Текущая работа является скорее теоретическим исследованием этого нового подхода и закладывает некоторый базис для его понимания.
Обе статьи являются развитием работы других авторов от 2018 года под названием Dataset Distillation. Все они целятся в «уменьшение» имеющегося датасета и замену его на искусственный синтезированный датасет небольшого размера.
Игорь Корсаков из компании — разработчика в области медицины Webiomed добавляет, что в данном случае также используется и развивается уже применяющиеся в индустрии подходы к разработке алгоритмов машинного обучения.
Генерация синтетических данных, в случаях, когда в датасете для глубокого обучения нет достаточного количества данных, используется сравнительно давно. Подход LO-shot также использует генерацию синтетических данных (причем с использованием человека), но, в отличии от существующих методов, здесь происходит их редукция.
В машинном обучении всегда было unsupervised learning — обучение без учителя. Оно позволяло структурировать датасет на классы, вообще без какой-либо разметки. Собственно говоря, KNN метод этим и занимается. Новым подходом в данном случае будет, то что часть классов, которые получаются, будут размечены, а часть будут промежуточными.
Однако по сравнению с более традиционными подходами специалисты видят ряд преимуществ и даже отмечают позитивный тренд в развитии этой области.
Принцип LO-shot достаточно интересный, поскольку показывает, что использование вероятностных меток позволяет получать более высокую точность при обучении на нескольких сгенерированных прототипах обучающих данных, полученных на основе дистилляции всей обучающей выборки. По сути, авторы развивают предложенный ранее подход по дистилляции примеров каждого из классов в один прототип, предлагая обучать не только сами параметры прототипа класса, но и его вероятностное распределение меток, что позволяет получить в этом прототипе характеристики нескольких классов. Привлекательной стороной этого подхода является и возможность получения хороших обучающих данных, лишенных ограничений, связанных с приватностью, — в явном виде в них отсутствует какая-либо информация о субъектах.
Почти всегда в машинном обучении действует правило «чем больше — тем лучше». Реальность же такова (особенно в бизнесе), что часто у клиентов данных мало, но качество работы алгоритма нужно 99%. Поэтому общий тренд в машинном обучении — грамотное переиспользование открытых данных и дообучение на меньшем количестве целевых примеров, иллюстрирующих конкретный требуемый навык. Уже есть направления Few-shot learning, One-shot learning, Zero-shot learning, а теперь появилось и Less-than-one. Результат работы интересный, он очень хорошо ложится в общий тренд, отвечает общему желанию удешевить и ускорить обучение алгоритмов.
Татьяна Шаврина
руководитель направления обработки естественного языка в Сбербанке
Впрочем, нельзя говорить о том, что все эксперты позитивно оценили LO-shot learning. Например, технический директор Smart Engines Дмитрий Николаев назвал статью «теоретически курьезной».
Условно – для человека очевидно, что Солнце вращается вокруг Земли, но это принципиально неверно. Очевидно, что для обучения на N классах требуется как минимум N примеров, но и это неверно. Из заключения в статье видно, что сами авторы не придают ей прикладного значения – это чистый научный спорт. Статья, безусловно, интересна, но это ни в каком смысле не прорыв, в ней описано исследование, а не технология.
Не могу сказать, что это выглядит как что-то очень уникальное и полезное. В лучшем случае это небольшое и полезное исследование в области dataset distillation, но пока оно выглядит слабо пригодным с практической точки зрения. Возможно, последуют какие-то более полезные на практике модификации, но я бы не слишком на это рассчитывал.
Отсюда возникает следующий вопрос: о барьерах, которые могут помешать развиваться новому подходу к машинному обучению.
Доработать метод и определиться с данными
Большинство экспертов назвали ICT.Moscow ключевой фактор, который вызывает сомнения в отношении перспективности LO-shot: метод еще не отработан на практике.
Метод пока слишком сырой, слишком много дополнительных исследований нужно проводить, чтобы мы могли внедрить его в разработку. Основная причина — сейчас дистиллируется большие наборы данных. Но непонятно, что делать, если больших данных для конкретной задачи нет.
Основной сдерживающий фактор очевиден: пока был поставлен один эксперимент на одном весьма узком датасете. Возможно, в других случаях применение этого метода не будет таким легким.
Валерий Бабушкин
эксперт в области машинного обучения, WhatsApp Integrity в Facebook
Говорить о сдерживающих факторах применения данного подхода рано из-за недостаточности как самого его описания, так и области применения.
Пока основной сдерживающий фактор — недостаточность публикаций по точности и эффективности этого метода. Нужно существенное повышение исследований и публикаций в рецензируемой научной литературе, чтобы мы начали пробовать эту технологию на практике.
Пока не продемонстрированы результаты на обучающих выборках большого объема с большим количеством классов (например, в сфере распознавания лиц), тогда как это один из важных индикаторов широкой применимости новых методов. В задачах с определением очень похожих между собой объектов объединение классов в один прототип может лишить модель возможности правильно различать объекты близких классов.
Эксперт в области обработки естественного языка (NLP) Татьяна Шаврина поясняет мысль коллег: далеко не любой небольшой набор данных подойдет для применения LO-shot.
Основной сдерживающий фактор — не все «маленькие данные» одинаково хороши. Обычно небольшие датасеты, которые обеспечивают качество обучения, сопоставимое с качеством обучения на больших данных, очень тщательно выверены и отсортированы. Это, по сути, те же большие данные, но искусственно уменьшенные, а не просто «маленькие данные, которые накопились у нашего бухгалтера за месяц», как это бывает в индустрии.
Татьяна Шаврина
руководитель направления обработки естественного языка в Сбербанке
Соответственно, есть вероятность, что на подготовку правильного датасета придется потратить больше ресурсов, чем на сбор стандартного датасета
На практике здесь есть несколько подводных камней. Во-первых, точность результирующего классификатора (а пока этот подход используется в основном только для обучения классификаторов) страдает. Не сильно, но все же заметно. Во-вторых, процедура дистилляции датасета нетривиальна и требовательна к ресурсам.
Получается, что сначала нужно собрать датасет, а лишь потом из него получить более легкий. Не совсем понятно, как можно сразу получить легкий датасет. В итоге — ограниченно эти методы начинают применяться, но массового использования я бы пока не ожидал.
Александр Громов из «Третьего Мнения» добавляет, что могут возникнуть проблемы и в том случае, если данные есть, но они неправильно подготовлены.
Основными сдерживающими факторами можно выделить неустойчивость данного подхода в случае «зашумленных» данных, неоднозначность построения soft labels (векторы распределения, описывающие класс — термин из статьи) и трудоемкость этого процесса в случае больших наборов данных.
То есть, по сути, отсутствует понятный алгоритм построения «правильных» датасетов для корректной работы LO-shot — эту мысль поясняет Ярослав Шмулев из «Инфосистем Джет».
Основной сдерживающий фактор — отсутствие важных кусочков «пазла» в данном подходе, например, алгоритма для построения тех самых «суперпримеров», который в идеале еще должен быть независимым от используемого ML-алгоритма. На данный момент LO-shot learning — это не подход, а идея, так как у автора статьи пока нет готовых ответов на критичные вопросы, не позволяющие ее применять:• Как сконструировать те самые несколько примеров для обучения нейронных сетей?
• Какая будет сложность у алгоритма для генерации таких примеров?
• Насколько велики объемы данных, которые нужно будет иметь для работы такого алгоритма?
Наконец, по мнению Адама Тураева из Cleverbots, даже в случае если все сделано правильно, метод может применяться далеко не для всех задач.
Основной сдерживающий фактор — не во всех задачах получается определить промежуточные характеристики, то есть не всегда можно сказать, что класс C — это что-то среднее между классами A и B. А именно эта идея лежит в основе LO-shot learning. И, конечно,пока не было кейсов, которые продемонстрировали бы, как хорошо этот подход работает с данными разной природы: текстами, изображениями и т.п.
R&D-директор в UBIC Technologies Петр Емельянов отмечает аспект востребованности нового подхода.
Основной сдерживающий фактор тут – количество людей, которым подход может быть интересен. Мне кажется, штука все-таки довольно нишевая: мне интересно, потому что это потенциально может улучшить мой продукт, и я присматриваюсь. Но не думаю, что все немедленно побегут туда «делать революцию», а кадры, как известно, решают все.
Антон Балакирев из Celado AI подводит неутешительный итог.
Революции не будет. Это еще один алгоритм, который в каких-то случаях даст результат немного быстрее, чем, например, классические нейронные сети.
Однако действительно ли этот метод никуда не годится и не может применяться для каких-либо задач?
Применим почти везде, но есть оговорки
Ряд экспертов считают, что метод вполне жизнеспособен — при условии, если он будет доработан и протестирован на достаточном количестве практических кейсов.
Назвать это революцией еще нельзя, но это очень перспективное направление, которое потенциально может кратно ускорить разработку и создание алгоритмов машинного обучения. Кажется, что подход очень универсален, но об этом еще рано говорить. Подойти он может для многих типов задач.
Валерий Бабушкин
Эксперт в области машинного обучения, WhatsApp Integrity в Facebook
Сергей Миляев из VisionLabs отмечает важный аспект: метод может быть применим для нейронных сетей разных архитектур, то есть он не привязан к конкретному стеку ML. Но с точки зрения выполняемых задач нужно учитывать и некоторые проблемы, которые могут возникнуть.
Общая идея метода позволяет применять его для любых задач, где необходимо получить модель распознавания образов на несколько классов, независимо от архитектуры выбранной модели нейронной сети. Главное требование — функция потерь должна быть дифференцируемой. Однако эффективность применения, на первый взгляд, достаточно сильно зависит от конечной задачи.
Авторы работы показали, что при распознавании цифр можно создать несколько прототипов, в признаках и вероятностных метках которых отражены основные свойства каждой из цифр, что кажется логичным, так как количество классов цифр ограничено и их изображения по отдельности несут некоторую избыточность. Но масштабируя эту идею, например, на задачу распознавания лиц, где количество классов может достигать миллиона и различия между классами могут быть минимальны (классы близнецов или очень похожих людей), может возникнуть проблема, что полученные прототипы классов лишатся признаков, необходимых для обучения модели, хорошо распознающей очень похожих людей.
В области криптографической защиты данных новый подход с точки зрения Петра Емельянова из UBIC Technologies может быть применим.
Мы занимаемся конфиденциальностью данных и развиваем методы защиты data-in-use (есть три агрегатных состояния данных: at rest, in transit и in use, — методы криптографической защиты данных в первых двух хорошо известны и используются повсеместно, в то время как данные в третьем состоянии данные наиболее уязвимы), в том числе в задачах машинного обучения. Другими словами, учим модели на зашифрованных данных. Хорошая новость — это работает, и ваши данные всегда под защитой, плохая — модели для задач криптографии обучаются на два порядка дольше. Поэтому любая технология, которая способна как-то ускорить процесс, в сфере наших интересов. Думаю, мы поэкспериментируем.
Специалисты в области NLP видят потенциал в применении нового подхода для работы с текстами и голосом, однако относятся к нему осторожно.
Во многих областях, в частности, в обработке текстов, изображений и видео, такой подход потенциально применим. Про конкретное применение говорить пока рано, потому что сделать модель быстрее, дешевле, легче всегда можно, но нужно проверять, насколько осталось хорошим и стабильным качество.
Татьяна Шаврина
руководитель направления обработки естественного языка в Сбербанке
Проблема, которую затрагивает эта технология, невероятно актуальна, так как обычно под неклассические сложно задачи найти хорошие данные, это очень трудоемкий процесс. Для нашей компании эта проблема тоже актуальна, конечно.
Но важно понимать, что все-таки это не серебряная пуля, и как бы классно ни звучало название «Less-than-one»-shot learning, это совсем не означает, что данные теперь не нужны. Более того, мы по-прежнему не можем отказаться от принципа «чем больше данных, тем лучше». Мы видим возможность попробовать применить подобный подход к некоторым из наших задач, но не стали бы ожидать невероятных результатов.
А вот разработчикам в области распознавания документов LO-shot learning может оказаться попросту неинтересен, по мнению технического директора Smart Engines Дмитрия Николаева.
В области распознавания документов не стоит задача такого сильного сокращения объема датасетов. У нас не так много классов, чтобы сокращать. Даже распознавание китайских иероглифов этого не требует. И наоборот — проблему недостаточности реальных данных (то есть, когда мы хотим увеличить число примеров для каждого класса, так как классы очень вариативны) мы решаем путем генерации синтетических (искусственных) примеров.
Однако есть сфера, где точность работы алгоритмов — настолько критический фактор, что полагаться на искусственно сгенерированные данные и применять подход с «плавающими» характеристиками может быть попросту опасно. Речь идет о медицине.
В текущей версии данного подхода его можно использовать для некоторых задач кластеризации. К сожалению, к нашим задачам он неприменим.
Я не увидел в этом принципе внятных доказательств высокой работоспособности и для себя сделал следующие выводы. Для медицины этот подход скорее неприменим. Может, в каких-то задачах в области компьютерного зрения он и может помочь, но я сомневаюсь. Это связано с недостаточной проработанностью, отсутствием успешного публичного опыта в сообществе, скепсисом насчет архитектуры решения. Также в медицине очень высокие требования к качеству и много "corner cases" (то есть случаев, выходящих за пределы стандартных моделей). Вряд ли этот подход способен все это покрыть.
Авторы не смогли привести каких-либо реальных областей для конкретного применения в задачах ИИ. В медицине существуют жесткие требования как к самим алгоритмам машинного обучения, так и к датасетам, которые используются для обучения. Например, для прохождения клинических испытаний датасеты должны содержать данные как минимум от 20-50 медицинских организаций, причем от каждой — о 500-1000 пациентах. То есть говорить о каком-то искусственном создании данных, включая синтетическую генерацию, нельзя.
Однако CEO Webiomed Александр Гусев все же приводит один пример, когда новый подход в теории все же может быть применим для медицинских задач.
В медицине есть ряд специфичных задач, в которых просто невозможно получить наборы данных с большим количеством записей. Например, редкие (орфанные) заболевания — их популяционная распространенность такова, что тут почти невозможно получить датасеты с тысячами записей просто потому, что такого числа пациентов нет. Поэтому представленный подход может быть очень перспективным в здравоохранении как раз для таких редких заболеваний.
Поделиться своим мнением относительно LO-shot Learning можно, написав на hello@ict.moscow