Прежде всего, давайте убедимся, что мы на одной волне! Определение терминов никогда не бывает пустой тратой времени, поэтому я постараюсь объяснить, что такое AI, ML и DL.

AI <> ML <> DL 🗺

1) Базовое отображение

В чем разница между AI (искусственный интеллект), ML (машинное обучение) и DL (глубокое обучение)?
Аналогии и отображение информации - отличные инструменты, которые помогают нам понимать концепции. Я буду использовать информационную карту, которую обнаружил на DL4J.

«Вы можете думать о DL, ML и AI как о наборе русских кукол, вложенных друг в друга. DL - это подмножество машинного обучения, которое само по себе является подмножеством искусственного интеллекта. »

2) AI (искусственный интеллект)

Джон Маккарти, один из крестных отцов искусственного интеллекта, определил искусственный интеллект следующим образом:

«наука и техника создания интеллектуальных машин».

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

3) ML (машинное обучение)

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

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

4) DL (глубокое обучение)

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

Смена парадигмы глубокого обучения произошла, когда в 2012 году Хинтон и двое его студентов показали, что глубокие нейронные сети (нейронная сеть с более чем двумя или тремя слоями нейронов) превзойти самые современные системы распознавания изображений.

Машинное обучение для языка

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

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

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

После завершения обучения вы можете получить представление о пространстве встраивания слова, визуализируя векторы с помощью t-SNE (популярный метод визуализации векторов большой размерности).

Возьмем популярный пример со словами Король, Мужчина, Королева и Женщина.

Все эти знания просто возникают при просмотре большого количества слов в контексте без никакой другой информации об их семантике. .
Еще одним преимуществом такой техники является то, что вы переходите от пространства с размерностью, равной размеру словаря (~ 100k), к плотному пространству 300D.

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

Векторное разложение может выглядеть так:

--------------------------King — Man + Woman = Queen
--------------------------

Чат-боты не умеют разговаривать… пока!

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

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

Благодаря Alexa, Siri и бесчисленному количеству чат-ботов и автоматизированных линий поддержки клиентов компьютеры постепенно учатся разговаривать. Хотя проблема в том, что их все еще очень легко запутать.

1) Насколько хорошо чат-боты могут разговаривать

Есть две основные ветви ботов: боты, ориентированные на выполнение задач и боты для общения в чате:

  • Боты, ориентированные на задачи, являются наиболее распространенными: личные помощники помогают пользователям выполнять определенные задачи - они объединяют правила и статистические компоненты.
  • Чат-боты не имеют конкретной цели, они сосредоточены на естественных реакциях - они используют варианты моделей seq2seq, которые преобразуют последовательности из одного домен в другой.

Эндрю Нг (соучредитель Coursera и бывший CSO Baidu) хорошо это объясняет:

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

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

2) Почему чат-боты еще не научились разговаривать

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

Сегодня ИИ дает едва ли лучше результаты, чем простое совпадение, при расшифровке двусмысленности в предложениях вроде [из Winograd Schema Challenge, теста на машинный интеллект]:

«Члены городского совета отказали демонстрантам в разрешении, потому что они опасались насилия». (Кто боялся насилия?)

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

3) Как чат-боты могут научиться говорить

При глубоком обучении цель состоит в том, чтобы изучить подлинные варианты того, как люди выражают разные мысли, используя восходящие потоки данных на реальных примерах. Но нам необходимо провести дополнительные исследования, поскольку современное глубокое обучение сталкивается с двумя серьезными недостатками. Текущее глубокое обучение сталкивается с двумя серьезными недостатками:

  1. Отсутствие интерпретируемости модели (т.е. почему моя модель сделала такой прогноз?).
  2. объем данных, который требуется глубоким нейронным сетям для обучения (т. Е. Они требуют данных).

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

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

Если вам интересно узнать больше об этих различных темах, вы найдете дополнительные ресурсы в следующих публикациях: