Нет никаких сомнений в том, что конечное будущее ИИ - это достижение человеческого интеллекта и его превосходство. Но это надуманный подвиг. Даже самые оптимистичные из нас держат пари, что искусственный интеллект человеческого уровня (AGI или ASI) будет через 10–15 лет, а скептики даже готовы поспорить, что на это уйдут столетия, если вообще возможно. Что ж, этот пост не об этом (вам лучше прочитать этот пост, если вы хотите узнать больше о сверхразуме). Здесь мы собираемся поговорить о более осязаемом, близком будущем и обсудить новые и эффективные алгоритмы и методы ИИ, которые, по нашему мнению, будут определять ближайшее будущее ИИ.

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

Когда вы смотрите вокруг, ИИ выигрывает по одному замку за раз (читайте наши посты о том, как ИИ опережает людей, часть первая и часть вторая). Что могло пойти не так в такой беспроигрышной игре? Люди производят все больше и больше данных (которые являются кормом, который потребляет ИИ) со временем, и наши аппаратные возможности также улучшаются. В конце концов, данные и более точные вычисления - вот причины, по которым революция глубокого обучения началась в 2012 году, верно? Правда в том, что человеческие ожидания растут быстрее, чем рост данных и вычислений. Специалистам по анализу данных придется подумать о решениях, выходящих за рамки того, что существует сейчас, для решения реальных проблем. Например, классификация изображений, по мнению большинства людей, с научной точки зрения решенная проблема (если мы сопротивляемся желанию сказать 100% точность или GTFO). Мы можем классифицировать изображения (скажем, на изображения кошек или изображений собак), соответствующие человеческим возможностям, с помощью ИИ. Но можно ли это уже использовать в реальных случаях? Может ли ИИ предоставить решение более практических проблем, с которыми сталкиваются люди? В некоторых случаях да, но во многих случаях нас еще нет.

Мы расскажем вам о проблемах, которые являются основными препятствиями на пути разработки реального решения с использованием ИИ. Допустим, вы хотите классифицировать изображения кошек и собак. Мы будем использовать этот пример на протяжении всего поста.

На приведенном ниже рисунке обобщены проблемы:

Давайте подробно обсудим эти проблемы:

Обучение с меньшим объемом данных.

  • Обучающие данные, которые используют наиболее успешные алгоритмы глубокого обучения, требуют, чтобы они были помечены в соответствии с содержанием / функцией, которую они содержат. Этот процесс называется аннотацией.
  • Алгоритмы не могут использовать естественные данные вокруг вас. Аннотации нескольких сотен (или нескольких тысяч точек данных) легко, но нашему алгоритму классификации изображений человеческого уровня потребовался миллион аннотированных изображений, чтобы хорошо изучить его.
  • Итак, вопрос в том, возможно ли аннотировать миллион изображений? Если нет, то как ИИ может масштабироваться с меньшим количеством аннотированных данных?

Решение разнообразных реальных проблем:

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

Корректировка инкрементных данных:

  • Еще одна серьезная проблема - инкрементные данные. В нашем примере, если мы пытаемся распознать кошек и собак, мы можем обучить наш ИИ для ряда изображений кошек и собак разных видов при первом развертывании. Но при открытии нового вида нам нужно обучить алгоритм распознавать «котпи» вместе с предыдущими видами.
  • Хотя новые виды могут быть больше похожи на других, чем мы думаем, и их можно легко обучить адаптации алгоритма, есть моменты, когда это труднее и требует полного переобучения и переоценки.
  • Вопрос в том, можем ли мы сделать ИИ хотя бы адаптируемым к этим небольшим изменениям?

Идея состоит в том, чтобы сразу же сделать ИИ пригодным для использования с помощью набора подходов под названием Эффективное обучение (обратите внимание, что это не официальный термин, я просто придумываю его, чтобы не писать Мета-обучение, Передаточное обучение, Немного). Выстреловое обучение, состязательное обучение и многозадачное обучение каждый раз). Мы, в ParallelDots, теперь используем эти подходы для решения узких проблем с ИИ, выигрывая небольшие битвы и готовясь к более комплексному ИИ, чтобы побеждать в более крупных войнах. Позвольте познакомить вас с этими методами по очереди.

Примечательно, что большинство этих техник эффективного обучения не являются чем-то новым. Сейчас они просто возрождаются. Исследователи SVM (Support Vector Machines) использовали эти методы в течение длительного времени. С другой стороны, состязательное обучение - это результат недавней работы Гудфеллоу в GAN, а Neural Reasoning - это новый набор методов, наборы данных для которых стали доступны совсем недавно. Давайте подробно рассмотрим, как эти методы помогут в формировании будущего ИИ.

Трансферное обучение

Что это?

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

Некоторые примеры

Использование параметров алгоритма классификации изображений в качестве средства извлечения признаков в различных задачах, таких как обнаружение объектов, - это простое применение Transfer Learning. Напротив, его также можно использовать для выполнения сложных задач. Алгоритм, разработанный Google для классификации диабетической ретинопатии лучше, чем когда-то врачи, был создан с использованием трансферного обучения. Удивительно, но детектор диабетической ретинопатии на самом деле был классификатором изображений реального мира (классификатором изображений собаки / кошки) с передачей обучения для классификации сканированных изображений глаз.

Расскажи мне больше!

В литературе по глубокому обучению специалисты по данным называют такие переданные части нейронных сетей от источника к целевой задаче предварительно обученными сетями. Тонкая настройка - это когда ошибки целевой задачи слегка передаются обратно в предварительно обученную сеть вместо использования предварительно обученной сети без изменений. Хорошее техническое введение в Transfer Learning in Computer Vision можно увидеть здесь. Эта простая концепция трансферного обучения очень важна в нашем наборе методологий эффективного обучения.

Многозадачное обучение

Что это?

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

Некоторые примеры

Например, в ParallelDots наши классификаторы Sentiment, Intent и Emotion Detection были обучены как многозадачное обучение, что повысило их точность по сравнению с тем, если бы мы обучили их по отдельности. Лучшая система семантической маркировки ролей и POS-тегов в НЛП, которую мы знаем, - это многозадачная обучающая система, то есть одна из лучших систем для семантической и инстанционной сегментации в компьютерном зрении. Google придумал мультимодальных многозадачных обучающихся (одна модель, чтобы управлять ими всеми), которые могут учиться как на визуальных, так и на текстовых наборах данных в одном кадре.

Расскажи мне больше!

Очень важный аспект многозадачного обучения, который наблюдается в реальных приложениях, заключается в том, что при обучении любой задаче стать пуленепробиваемой, нам нужно уважать данные многих областей, из которых поступают (также называемая адаптацией домена). Примером в наших сценариях использования кошек и собак будет алгоритм, который может распознавать изображения из разных источников (например, камеры VGA и HD-камеры или даже инфракрасные камеры). В таких случаях к любой задаче может быть добавлена ​​вспомогательная потеря классификации предметной области (откуда поступили изображения), и затем машина учится так, что алгоритм продолжает улучшаться в основной задаче (классификация изображений на изображения кошек или собак), но намеренно ухудшается во вспомогательной задаче (это делается путем обратного распространения обратного градиента ошибки из задачи классификации домена). Идея состоит в том, что алгоритм изучает отличительные особенности для основной задачи, но забывает функции, которые различают домены, и это сделало бы его лучше. Многозадачное обучение и его родственники по адаптации предметной области являются одними из самых успешных методов эффективного обучения, о которых мы знаем, и которые должны сыграть большую роль в формировании будущего ИИ.

Состязательное обучение

Что это?

Соревновательное обучение как область исследований возникло в результате исследовательской работы Яна Гудфеллоу. Хотя наиболее популярными приложениями Adversarial Learning, без сомнения, являются Generative Adversarial Networks (GAN), которые можно использовать для создания потрясающих изображений, существует множество других способов использования этого набора методов. Обычно этот метод, основанный на теории игр, имеет два алгоритма: генератор и разграничитель, цель которых - обмануть друг друга во время обучения. Генератор можно использовать для создания новых новых изображений, как мы уже обсуждали, но он также может создавать представления любых других данных, чтобы скрыть детали от дискриминатора. Именно поэтому эта концепция так интересна для нас.

Некоторые примеры

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

Расскажи мне больше!

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

Немного обучения

Что это?

Few Shot Learning - это исследование методов, которые позволяют алгоритмам глубокого обучения (или любого алгоритма машинного обучения) обучаться с меньшим количеством примеров по сравнению с тем, что делал бы традиционный алгоритм. One Shot Learning - это в основном обучение с использованием одного примера категории, индуктивно k-shot обучение означает обучение с помощью k примеров каждой категории.

Примеры?

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

Расскажи мне больше!

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

Мета-обучение

Что это?

Мета-обучение - это именно то, на что это похоже, алгоритм, который обучается так, что при просмотре набора данных он дает новый предсказатель машинного обучения для этого конкретного набора данных. Определение очень футуристическое, если взглянуть на него с первого взгляда. Вы чувствуете эй! это то, что делает Data Scientist , и это автоматизирует самую сексуальную работу 21 века , и в некотором смысле метаученики начали это делать (см. эту запись в блоге от Google и эту исследовательскую статью ).

Некоторые примеры

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

Расскажи мне больше!

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

Большинство статей по метаобучению - это умные хаки, которые, согласно Википедии, обладают следующими свойствами:

  • Система должна включать подсистему обучения, которая адаптируется с опытом.
  • Опыт приобретается за счет использования мета-знаний, извлеченных либо в предыдущем учебном эпизоде ​​в одном наборе данных, либо из разных областей или проблем.
  • Предвзятость обучения должна выбираться динамически.

Подсистема в основном представляет собой настройку, которая адаптируется, когда в нее вводятся метаданные домена (или совершенно нового домена). Эти метаданные могут рассказать об увеличивающемся количестве классов, сложности, изменении цветов, текстур и объектов (в изображениях), стилях, языковых шаблонах (естественный язык) и других подобных функциях. Ознакомьтесь с некоторыми классными статьями здесь: Общие иерархии метаобучения и Мета-обучение с использованием временных сверток. Вы также можете построить алгоритмы Few Shot или Zero Shot, используя архитектуры Meta-Learning. Мета-обучение - один из самых многообещающих методов, который поможет в формировании будущего ИИ.

Нейронные рассуждения

Что это?

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

Расскажите подробнее!

Этот новый набор методов появляется после выпуска набора данных Facebook bAbi или недавнего набора данных CLEVR. Методы, применяемые для расшифровки взаимосвязей, а не только шаблонов, обладают огромным потенциалом для решения не только нейронного мышления, но и множества других сложных проблем, включая задачи обучения по методу Few Shot.

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

  • Все упомянутые выше методы так или иначе помогают решить обучение с меньшим объемом данных. В то время как метаобучение предоставит архитектуры, которые будут просто формироваться с данными, трансферное обучение делает знания из некоторой другой области полезными для компенсации меньшего количества данных. Few Shot Learning посвящен проблеме как научной дисциплине. Состязательное обучение может помочь улучшить наборы данных.
  • Адаптация предметной области (тип многозадачного обучения), состязательное обучение и (иногда) архитектуры метаобучения помогают решать проблемы, возникающие из-за разнообразия данных.
  • Мета-обучение и малое обучение помогают решать проблемы инкрементных данных.
  • Алгоритмы нейронного мышления обладают огромным потенциалом для решения реальных проблем, если они используются в качестве метаучеников или малообучающихся.

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

ParallelDots AI APIs - это веб-сервис на основе глубокого обучения от ParallelDots Inc, который может распознавать огромное количество неструктурированного текста и визуального контента для расширения возможностей ваших продуктов. Вы можете ознакомиться с некоторыми из наших API-интерфейсов для анализа текста и связаться с нами, заполнив эту форму здесь, или написать нам по адресу [email protected].