Принципиально новый метод позволяет тренировать ИИ практически без данных

Автор оригинала: Карен Хао
  • Перевод

Мифический носорогоединорог. MS TECH / PIXABAY

Обучение «менее чем с одной» попытки помогает модели идентифицировать больше объектов, чем количество примеров, на которых она тренировалась.

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

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


Ммм… Не совсем! MS TECH / PIXABAY

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

Как работает обучение «менее чем с одной» попытки


Исследователи впервые продемонстрировали эту идею, экспериментируя с популярным набором данных для тренировки компьютерного зрения, известным как MNIST. MNIST содержит 60 000 изображений рукописных цифр от 0 до 9, и набор часто используют для проверки новых идей в этой области.

В предыдущей статье исследователи из Массачусетского технологического института представили метод «дистилляции» гигантских наборов данных в маленькие. В качестве подтверждения концепции они сжали MNIST до 10 изображений. Изображения не были выбраны из исходного набора данных. Их тщательно спроектировали и оптимизировали, чтобы они содержали объем информации, эквивалентный объему полного набора. В результате, при обучении на 10 этих изображениях ИИ-модель достигает почти такой же точности, как и обученная на всем наборе MNIST.


Примеры изображений из набора MNIST. WIKIMEDIA


10 изображенных, «дистиллированных» из MNIST, могут обучить ИИ-модель достигать 94-процентной точности распознавания рукописных цифр. Тунчжоу Ван и др.

Исследователи из университета Уотрелу хотели продолжить процесс дистилляции. Если возможно уменьшить 60 000 изображений до 10, почему бы не сжать их до пяти? Фокус, как они поняли, заключался в том, чтобы смешивать несколько цифр в одном изображении, а затем передавать их в модель ИИ с так называемыми гибридными, или «мягкими», метками. (Представьте лошадь и носорога, которым придали черты единорога).

«Подумайте о цифре 3, она похожа на цифру 8, но не на цифру 7, — говорит Илья Сухолуцкий, аспирант Уотерлу и главный автор статьи. — Мягкие метки пытаются запечатлеть эти общие черты. Поэтому вместо того, чтобы сказать машине: «Это изображение — цифра 3», мы говорим: «Это изображение — на 60% цифра 3, на 30% цифра 8 и на 10% цифра 0»».

Ограничения нового метода обучения


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

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


Разбивка яблок (зеленых и красных точек) и апельсинов (оранжевых точек) по весу и цвету. Адаптировано из презентации Джейсона Мейса «Машинное обучение 101»

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

Чтобы понять, как работает метод kNN, возьмем как пример задачу классификации фруктов. Чтобы обучить kNN-модель понимать разницу между яблоками и апельсинами, сначала нужно выбрать функции, которые вы хотите использовать для представления каждого фрукта. Если выбираете цвет и вес, то для каждого яблока и апельсина вы вводите одну точку данных с цветом фрукта в качестве значения x и весом в качестве значения y. Затем алгоритм kNN отображает все точки данных на двухмерной диаграмме и проводит границу посередине между яблоками и апельсинами. Теперь график аккуратно разделен на два класса, и алгоритм может решить, представляют ли новые точки данных яблоки или апельсины — в зависимости от того, на какой стороне линии находится точка.

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


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

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

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

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

Это больше всего интересует Тунчжоу Вана, аспиранта Массачусетского технологического института. Он руководил предшествующим исследованием дистилляции данных. «Статья опирается на действительно новую и важную цель: обучение мощных моделей на основе небольших наборов данных», — говорит он о вкладе Сухолуцкого.

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

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


Madrobots
Приближаем сингулярность за ваши деньги

Комментарии 18

    +7

    Получается, исследователи вручную задали границы классов и добавляют промежуточные классы, варьируя число k требуемых ближайших соседей алгоритма kNN. Такая себе пространственная интерполяция. Ок, в ГИС (геоинформационные системы) такой подход используют не первый век как. Только причем тут машинное обучение? Это же просто заданный вручную классификатор.

      +4
      Может скоро и симплекс-метод откроют. Век живи — век учись.
        0
        Я уж надеялся они на примере картинок научились делать то, что 100 лет умеют методы NLP. Это там если сложить вектора «женщина» и «король» получится ветокр похожий на «королева» даже если модели слово «Королева» не давать на претрейне. А алгоритмам машинного зрения до этого ещё расти и расти…
        +1
        Дистилляция данных, которая хороша для разработки примеров с «мягкой» меткой для нейронных сетей, также имеет значительный недостаток: метод требует, чтобы вы начали с гигантского набора данных, сокращая его до чего-то более эффективного.
        Если я правильно понимаю, нам все равно нужна большая выборка, только дополнительно её нужно правильно сократить до «гибридных объектов» с правильными метками. Потом мы получим хотя бы выигрыш в скорости обучения сети?
          0

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

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

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

            Если вещи будут развиваться подобным ходом, то переизобретут автоматическую коррекцию IF, потом RBF Classifier, и даже нейроморфную память :) О_o

              +2

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

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

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


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

                  +2
                  Посмотрел бы я на обучение ребенка по картинкам из примера. Ведь именно эта аналогия описана в начале статьи
                    +4
                    10 изображенных, «дистиллированных» из MNIST, могут обучить ИИ-модель достигать 94-процентной точности распознавания рукописных цифр. Тунчжоу Ван и др.

                    Я конечно не специалист, но эти изображения выглядят так, как будто исследователи просто сделали дамп уже работающей нейросети.
                      +3

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

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

                      Я думал, тут про one shot learning, а тут такое...

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

                          Опять кликбейт.

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

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

                            Самое читаемое