Краткая 60-летняя техническая история искусственного интеллекта

искусственный интеллект

Автор | Ли Ли, вице-президент научно-исследовательского центра искусственного интеллекта Huanxin

Обложка | Платная загрузка CSDN с Visual China

Произведено | Базовый лагерь технологий искусственного интеллекта CSDN (ID: rgznai100)

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

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

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

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

Краткая история развития искусственного интеллекта

Самые ранние исследования искусственного интеллекта можно проследить до Лейбница, который пытался построить машины, способные к автоматическим символьным вычислениям, но термин искусственный интеллект в современном понимании родился на Дартмутской конференции в 1956 году.

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

  • Золотой век (1956-1974)

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

Многие люди думают, что ELIZA, с которой общается настоящий человек, просто генерирует ответы на основе совпадающих шаблонов (многие из наших чат-ботов на рынке на самом деле используют аналогичную технологию).

В то время был большой оптимизм, например, Х. А. Саймон в 1958 году утверждал, что в течение 10 лет компьютеры победят людей в (международных) шахматах. Он даже сказал в 1965 году, что «через двадцать лет компьютеры смогут делать все, что могут делать люди».

  • Первая зима (1974-1980)

К этому периоду предыдущие утверждения не были выполнены, поэтому возникли различные критические замечания, страна (США) не вложила больше средств, а искусственный интеллект вступил в первую холодную зиму. Этот период был также темным периодом для коннекционизма. В 1958 году Фрэнк Розенблатт предложил «Восприятие», которое можно считать самым ранним исследованием нейронной сети. Но в следующие 10 лет исследований и прогресса в области коннекционизма не было.

  • Благополучный период (1980-1989)

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

  • Вторая зима (1989-1993)

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

  • Период разработки (1993-2006 гг.)

Основным направлением искусственного интеллекта в этот период было машинное обучение. Развитие теории статистического обучения и популярность таких инструментов, как SVM, привели машинное обучение к периоду стабильного развития.

  • Период вспышки (2006-настоящее время)

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

До 2006 года Хинтон предлагал сети глубокого убеждения (DBN), которые позволяли обучать более глубокие нейронные сети посредством предварительного обучения. В 2009 году Хинтон и ДенгЛи впервые использовали глубокую нейронную сеть (DNN) для обучения акустической модели в системе распознавания речи, и частота ошибок в словах (Word Error Rate/WER) в окончательной системе была значительно снижена.

Что сделало глубокое обучение известным в академических кругах, так это оценка ILSVRC в 2012 году. До этого лучшая частота ошибок классификации топ-5 была выше 25%, а в 2012 году AlexNet впервые использовала глубокую свёрточную сеть на соревнованиях и достигла частоты ошибок 16%. После этого каждый год появлялись новые хорошие результаты: GoogLeNet и VGG в 2014 году и остаточная сеть ResNet в 2015 году. Уровень ошибок классификации TOP5 текущей лучшей системы ниже 5%.

Что действительно заставило больше людей (особенно китайцев) понять прогресс глубокого обучения, так это AlphaGo, разработанная Google DeepMind в 2016 году, которая победила чемпиона мира среди людей Ли Седоля со счетом 4: 1. Таким образом, искусственный интеллект вступил в очередной период процветания, и различные капиталы соревнуются за инвестиции, и даже планы развития искусственного интеллекта национального уровня вводятся один за другим.

Большой прогресс в подобластях с 2006 г. по настоящее время

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

1. Компьютерное зрение

  • Неконтролируемая предварительная подготовка

Хотя многие модели «современного» глубокого обучения, такие как DNN, CNN и RNN (LSTM), были предложены очень рано, до 2006 года, не было возможности обучать многослойные нейронные сети, поэтому глубокое обучение и традиционное машинное обучение сделали это. не имеют существенного значения.

В 2006 году в статье «Алгоритм быстрого обучения для сетей глубокого убеждения» Хинтон и др. предложили послойный метод предварительной подготовки с помощью жадных, неконтролируемых сетей глубокого убеждения (DBN) и окончательный контролируемый метод точной настройки для впервые обучить многослойную (пятислойную) нейронную сеть. Последующие горячие точки исследований заключались в том, как использовать различные методы для обучения глубоких нейронных сетей, и этот процесс длился примерно до 2010 года. Основная идея заключается в использовании различных неконтролируемых методов предобучения, кроме DBN, Restricted В этот период также были предложены такие модели, как машины Больцмана (RBM), глубокие машины Больцмана (DBM) и шумоподавляющие автоэнкодеры.

Репрезентативные документы включают «Уменьшение размерности данных с помощью нейронных сетей» Хинтона и др., опубликованную в Nature), «Жадное послойное обучение глубоких сетей» Бенгио и др., опубликованное на NIPS 2007, опубликованную Ли и др. в ICML 2009 Сверточные сети глубокого убеждения для масштабируемого обучения без учителя на иерархических представлений», «Автоэнкодеры с шумоподавлением: изучение полезных представлений в глубокой сети с локальным критерием шумоподавления», Винсент и др., 2010.

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

  • Глубокие сверточные нейронные сети

Одна из причин, по которой глубокое обучение привлекло всеобщее внимание, заключается в том, что AlexNet, реализованный Алексом и др., добился очень хороших результатов в конкурсе ImageNet LSGRC-2012. С тех пор сверточные нейронные сети и их варианты широко используются в различных задачах, связанных с изображениями. Каждый год с 2012 по 2016 год конкурс LSVRC давал более глубокие модели и лучшие результаты.

Статья Алекса Крижевского 2012 года «Классификация ImageNet с глубокими свёрточными нейронными сетями» положила начало этому «глубокому» конкурентному путешествию.

Чемпионом 2014 года является GoogleNet из статьи «Углубление с извилинами», в которой предлагается структура Inception, с помощью которой можно обучить 22-слойную глубокую нейронную сеть. Второе место в том же году заняла VGGNet, которая не сильно изменила структуру модели, но сделала свёрточную сеть глубже (18 слоёв) за счёт некоторых ухищрений.

Чемпионом в 2015 году стал ResNet из статьи «Глубокое остаточное обучение для распознавания изображений» Хэ Юминга и др. Введя остаточную структуру, они смогли обучить 152-уровневую сеть, Разностная сеть провела некоторый теоретический анализ и дальнейшее улучшение .

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

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

Фото: соревнования ЛСВРК

  • Обнаружение объектов и сегментация экземпляров

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

Конечно, очень естественно использовать CNN для обнаружения цели.Самый простой способ — использовать традиционный метод, чтобы сначала найти цель, но эффект позиционирования не очень хорош. Гиршик и др. предложили модель R-CNN в статье «Иерархии с богатыми характеристиками для точного обнаружения объектов и семантической сегментации» в 2014 году, используя Предложение регионов для создания большого количества регионов-кандидатов и, наконец, используя CNN, чтобы судить, является ли это цель, но из-за необходимости исправить все кандидаты классифицируются и оцениваются, поэтому это очень медленно.

Рисунок: R-CNN

В 2015 году Гиршик и др. предложили Fast R-CNN, который вычисляет характеристики всех регионов-кандидатов одновременно через слой RoI Pooling с помощью одного вычисления, так что может быть достигнут быстрый расчет. Но само региональное предложение очень медленное. Рен и др. предложили Faster R-CNN в статье «Faster R-CNN: на пути к обнаружению объектов в реальном времени с сетями региональных предложений» в том же году, используя региональные сети предложений ( RPN) сеть для замены оригинальной Алгоритм предложения региона для реализации алгоритма обнаружения целей в реальном времени. Чтобы решить проблему разного масштаба целевых объектов на разных изображениях, Лин и др. предложили Сети характерных пирамид (FPN) в статье «Сети характерных пирамид для обнаружения объектов».

Рисунок: Быстрый R-CNN

Рисунок: Быстрее R-CNN

Поскольку R-CNN хорошо справляется с задачами обнаружения объектов, вполне естественно использовать Faster R-CNN для сегментации экземпляров. Однако при использовании пула RoI для сегментации экземпляров будет большое отклонение, потому что и в предложении по региону, и в пуле RoI есть квантованные ошибки округления. Поэтому Хэ Юмин и другие предложили модель Mask R-CNN в 2017 году.

Рисунок: Маска R-CNN

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

Кроме того, Редмон и др. «Вы смотрите только один раз: унифицированное обнаружение объектов в реальном времени» предложили модель YOLO (включая последующие YOLOv2 и YOLOv3 и т. д.), а Лю и др. также предложили SSD: Single Shot MultiBox. Модель детектора Цель состоит в том, чтобы ускорить скорость обнаружения без снижения точности.

  • генеративная модель

Если вы хотите сказать, какое направление в компьютерном зрении в последнее время наиболее популярно, то генеративные модели определенно являются одним из них. Распознать объект непросто, но сгенерировать объект сложнее (трехлетний ребенок может распознать кошку, но не многие трехлетние могут хорошо нарисовать кошку). Что делает генеративную модель популярной, так это генеративно-состязательные сети (GAN), предложенные Гудфеллоу в 2014 году.

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

  • style-transfer

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

Изображение: передача нейронного стиля

CycleGAN, предложенный Zhu Junyan et al в «Преобразовании непарного изображения в изображение с использованием циклически согласованных состязательных сетей», является более интересной моделью, которая не требует парных данных. Для так называемых парных данных требуется фотография обычной лошади и фотография зебры, и они должны точно совпадать. Получить парные данные очень сложно, и мы не можем найти зебр и обычных лошадей, совершенно одинаковых по внешнему виду и позе, в том числе с одинаковым фоном. Кроме того, учитывая работу Ван Гога, как нам найти подходящую фотографию? Или наоборот, учитывая пейзажное фото, где найти произведение искусства с таким же содержанием?

Cycle GAN, представленный в этой статье, не требует парных обучающих данных, а требует только двух немаркированных наборов данных из разных доменов. Например, чтобы превратить обычную лошадь в зебру, нам просто нужно подготовить много изображений обычных лошадей и много изображений зебр, затем собрать все изображения зебр вместе и собрать все изображения обычных лошадей вместе. , что, очевидно, очень легко. Также легко превратить пейзажи в Ван Гога — мы находим много изображений пейзажей, а затем находим как можно больше картин Ван Гога. Его эффект показан на рисунке ниже.

Рисунок: CycleGAN

  • text-to-image

text-to-image генерирует соответствующие изображения на основе текстовых описаний, что является противоположностью Image Captioning. Чжан и др. 2016 г. «StackGAN: синтез фотореалистичных изображений с помощью сложенных генеративно-состязательных сетей» является более ранней статьей в этом направлении, и ее эффект показан в последней строке рисунка ниже.

Рисунок: Сравнение StackGAN и других моделей

  • super-resolution

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

Рисунок: эффект ESRGAN

  • image inpainting

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

Рисунок: Эффект системы DeepFill

В статье «EdgeConnect: генеративное рисование изображений с состязательным обучением краев» рассматривается процесс рисования контуров (линий), а затем раскрашивание, когда люди рисуют. Разделение рисования на два этапа: генератор краев и сеть завершения изображения, приводит к следующему результату.

Рисунок: Эффект EdgeConnect

  • Последняя точка доступа: автоматическая оптимизация структуры сети и полууправляемое обучение

Есть два направления, на которые, как мне кажется, стоит обратить внимание в последнее время: одно — автоматическая оптимизация структуры сети, другое — полууправляемое обучение.

Последней статьей об автоматической оптимизации сети является «EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks» от Google Research, в которой надеются найти метод масштабирования нейронной сети, который может одновременно повысить точность и эффективность сети (уменьшить параметры). Для достижения этого критически важным шагом является балансировка трех измерений ширины, глубины и разрешения.

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

Рисунок: Параметры модели и график точности

Мы видим, что EfficientNet в 8,4 раза меньше, чем предыдущая лучшая модель, GPipe, но превосходит ее.

Под полууправляемым обучением здесь понимается предварительное обучение функциям обучения на немаркированных изображениях, а затем обучение с небольшим количеством данных под наблюдением. Последняя статья Google DeepMind — «Распознавание изображений с эффективным использованием данных с контрастным предиктивным кодированием». В этой статье используется метод Contrastive Predictive Coding для извлечения признаков из большого количества неразмеченных данных. Простое добавление линейного слоя softmax к этим функциям превосходит использование AlexNet на ImageNet. Модель контролируемого обучения.

Имея всего 13 обучающих данных для каждого класса, наш метод обеспечивает на 20 % более высокую точность, чем у модели, обученной только с 13 данными, и на 10 % лучше, чем предыдущая лучшая полуконтролируемая модель. Многие традиционные неконтролируемые функции лучше работают с небольшим объемом данных, но когда объем данных достаточно велик, они будут хуже, чем полностью контролируемое обучение.Однако функции, полученные методом в этой статье, обучаются со всеми данными ImageNet, а также может достичь и полностью контролируемое обучение имеет аналогичный эффект, который показывает, что функции, которые он изучает, достаточно хороши.

2. Распознавание голоса

Система распознавания речи — очень сложная система, и все основные системы до технологии глубокого обучения основаны на модели HMM. Обычно он использует HMM-GMM для моделирования единицы подслова (например, трифона) и использует словарь произношения для объединения HMM единицы подслова в HMM слова Наконец, декодер также должен добавить языковую модель, чтобы окончательно интегрировать акустическую модель и языковую модель, найти оптимальный путь в пространстве поиска.

Хинтон пытался использовать глубокие нейронные сети для улучшения систем распознавания речи.Самой ранней (после 2006 г.) работой была «Сети глубокого убеждения для распознавания телефона», опубликованная в 2009 г. Это был период, когда Pretraining был популярен.Распознавание речи очень естественная идея. Аналогичная работа включает в себя распознавание телефонов с использованием машин Больцмана с ограниченным доступом в 2010 году. Но эти работы являются лишь простейшей классификацией телефонов, т. е. определением соответствующего телефон, который очень далек от непрерывного распознавания речи.

Важной статьей, которая действительно использует глубокие нейронные сети для распознавания речи, является статья «Глубокие нейронные сети для акустического моделирования в распознавании речи» Хинтона и др. в 2012 г. В этой статье DNN используется для замены модели GMM в традиционной акустической модели HMM-GMM. С тех пор основной структурой распознавания речи стала модель HMM-DNN. Затем в 2013 году Сайнат и др. использовали CNN в «Глубоких сверточных нейронных сетях для LVCSR». Замена обычных полносвязных сетей. Из статьи «Улучшение глубоких нейронных сетей для LVCSR с использованием выпрямленных линейных единиц и отсева» Джорджа и др. Также можно узнать, что некоторые методы, обычно используемые в компьютерном зрении, также используются в распознавании речи.

Хотя предыдущая HMM-DNN использует глубокую нейронную сеть для замены GMM, HMM и последняя языковая модель N-грамм все еще существуют, и обучение самой DNN также должно использовать принудительное выравнивание HMM-GMM для обеспечения данные обучения на уровне кадра.

Как построить сквозную систему распознавания речи всегда было в центре внимания академических кругов. RNN Теперь мы являемся мощным оружием для обработки данных временных рядов.В 2013 году Грейвс и др. использовали RNN для распознавания речи в статье «Распознавание речи с помощью глубоких рекуррентных нейронных сетей». В этой статье используется функция потери RNN плюс CTC, CTC является ядром более поздней версии Deep Speech. В то время как «реальное» использование CTC для распознавания речи было в 2013 году, Грейвс был представлен в 2006 году. В 2009 году CTC был предложен в статье «Временная классификация коннекционистов: маркировка несегментированных данных последовательности с помощью рекуррентных нейронных сетей».

«Deep Speech: масштабирование сквозного распознавания речи», предложенная Hannun et al. в 2014 году, является первой сквозной системой, эффект которой сравним с HMM-DNN, включая последующую «Deep Speech 2: End - до завершения распознавания речи на английском и китайском языках. Система Deep Speech очень проста, на входе — последовательность признаков, на выходе — последовательность символов, нет таких модулей, как HMM, GMM, словарь произношения или даже нет. концепция телефона.

В дополнение к сквозной системе, основанной на функции потерь CTC, другой тип сквозной системы опирается на модель seq2seq, обычно используемую в машинном переводе и других системах. Сюда входят самые ранние «Слушайте, посещайте и произносите по буквам: нейронная сеть для распознавания разговорной речи с большим словарным запасом», «Современное распознавание речи с последовательностью за последовательностью» от Google. Модели» обобщает некоторые модели Seq2Seq SOTA для распознавания речи и говорит, что после использования этой модели в реальной системе уровень ошибок в словах снизился с 6,7% до 5,6%. Это первая сквозная система распознавания речи, которая действительно применялась в отрасли (хотя Baidu IDL во главе с Эндрю Нг предложил Deep Speech и Deep Speech2, в реальной системе Baidu она не используется).

На следующем рисунке показано влияние на общие наборы данных.В качестве примера возьмем SwitchBoard.До 2006 года прогресс был относительно медленным, но после использования глубокого обучения частота ошибок в словах продолжала снижаться.Это данные за 2017 год. уровень ошибок в словах снизился до 6,3%.

Рисунок: Изменения частоты ошибок в словах

3. Обработка естественного языка

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

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

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

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

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

В обработке естественного языка слишком много задач. За исключением нескольких задач, которые непосредственно ориентированы на приложения и имеют серьезные практические требования, таких как машинный перевод, есть много данных. Большинство задач имеют очень ограниченные размеченные данные. По сравнению с ImageNet, которая имеет миллионы размеченных наборов данных или тысячи часов размеченных наборов данных для распознавания речи, многие размеченные данные обработки естественного языка составляют порядка десятков тысяч, самое большее, сотен тысяч. Это определяется характеристиками обработки естественного языка, поскольку связано с конкретным бизнесом. Таким образом, область обработки естественного языка всегда остро нуждалась в решении, как извлечь полезные знания из неразмеченных данных, включая грамматические, семантические и мировые знания.

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

Рисунок: Вектор слова Word2Vec

Из приведенного выше рисунка видно, что он действительно усвоил некоторые семантические знания, и их можно получить как «мужчина-женщина=король-королева» посредством векторного вычисления.

Мы можем использовать эти векторы слов в качестве начальных значений для других задач. Если объем данных задачи ниже по течению невелик, мы можем даже исправить эти предварительно обученные векторы слов, а затем только настроить параметры верхних слоев. Модель GloVe была предложена Пеннингтоном и др. в их статье 2014 года «Перчатка: глобальные векторы для представления слов».

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

Другим инструментом для решения контекста является RNN. Но у обычных RNN есть проблема исчезающих градиентов, поэтому чаще используются LSTM. LSTM был предложен еще в 1997 году Зеппом Хохрайтером и Юргеном Шмидхубером. Он широко использовался в задачах обработки естественного языка только примерно в 2016 году и в то время стал стандартом «де-факто» для обработки текста — все считали, что в любой задаче в первую очередь должен использоваться LSTM. Конечно, другие варианты LSTM и недавно предложенный GRU также широко используются. Помимо изучения семантической связи контекста, RNN теоретически может решать дальние семантические зависимости (конечно, даже если ввести механизм ворот, на самом деле сложно выучить слишком длинные семантические связи).

Рисунок: ЛСТМ

Вход многих НЛП — это последовательность, и выход — тоже последовательность, и между ними нет строгого порядка и соответствия. Для решения этой проблемы была предложена модель seq2seq. Конечным применением seq2seq является машинный перевод. В статье 2014 года «Последовательное обучение с помощью нейронных сетей» Суцкевер и др. впервые использовали модель seq2seq для машинного перевода, а Бахданау и др. в статье «Нейронный машинный перевод путем совместного обучения». To Align and Translate» впервые ввела в машинный перевод механизм Attention, который может улучшить эффект перевода длинных предложений. В документе «Система нейронного машинного перевода Google: преодоление разрыва между человеческим и машинным переводом» Google представила некоторый опыт использования машинного перевода нейронной сети в своей реальной системе, которая является первой системой перевода нейронной сети, применяемой в отрасли.

Рисунок: ЛСТМ

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

В 2017 году Google довел механизм внимания до крайности в «Внимание — это все, что вам нужно», в котором была предложена модель Transformer. Поскольку Attention может быть лучше распараллелен, чем RNN, а его механизм Self-Attention может одновременно кодировать контекстную информацию, он достиг первого результата на данных WMT14 для машинного перевода.

Рисунок: Нейронный машинный перевод

Однако на самом деле "Память" также популярна одновременно с Вниманием. Это, вероятно, в 2015 году, когда была популярна "Разум, Внимание и Память" (называемая ОЗУ). . Память предназначена для дальнейшего абстрагирования ячейки LSTM и превращения ее в механизм хранения, просто память компьютера, а затем предлагает множество сложных моделей, включая нейронную машину Тьюринга (NTM) и т. д., в том числе позволяя нейронной сети автоматически изучать алгоритмы. например сортировка. Некоторое время он был популярен, но, в конце концов, не решил никаких реальных проблем.

Хотя RNN/Transformer может изучать контекстуально-семантические отношения, за исключением небольшого числа задач, таких как машинный перевод, для большинства задач очень мало обучающих данных. Поэтому вопрос о том, как использовать неконтролируемый корпус для изучения хороших контекстуально-семантических отношений, стал очень важной темой. Это направление продолжалось с 2018 года по настоящее время, включая Elmo, OpenAI GPT, BERT и XLNet и т. д. Эти модели снова и снова перечислялись, привлекая большое внимание.

ELMo — это аббревиатура Embeddings from Language Models, что означает (предложение) Embedding, полученное языковой моделью. Кроме того, Элмо — это имя маленького монстра в американском детском образовательном телешоу «Улица Сезам» («Улица Сезам»). Оригинальная статья называется «Глубокие контекстуализированные представления слов», название очень уместно, то есть использование глубокой модели Transformer для изучения контекстуализированных представлений слов.

Идея этой статьи на самом деле очень и очень проста, но она дала очень хорошие результаты. Идея состоит в том, чтобы обучить языковую модель на большом количестве неразмеченных данных с помощью глубокой двунаправленной RNN (LSTM), как показано на рисунке ниже. Затем в реальной задаче для входного предложения мы используем эту языковую модель для его обработки и получения выходного вектора, так что это можно рассматривать как извлечение признаков. Но в отличие от предварительной подготовки обычных Word2Vec или GloVe, Embedding, полученный ELMo, является контекстным.

Например, мы также можем получить вложение слова «банк» с помощью Word2Vec, Мы можем думать, что это вложение содержит семантику банка. Но банк имеет много значений, это может быть берег или берег.Используя обычный Word2Vec в качестве Embedding of Pretraining, вы можете одновременно кодировать обе семантики в вектор, а затем полагаться на последнюю модель, такую ​​​​как RNN чтобы выбрать правильный в соответствии с контекстом.Семантика - например, контекст деньги, то это, скорее всего, берег, а если контекст река, это, скорее всего, означает берег. Однако для того, чтобы RNN могла изучить эту контекстуальную связь, для этой задачи требуется большое количество релевантных размеченных данных, которые часто недоступны. и Извлечение признаков ELMo можно рассматривать как контекстно-зависимое.Если во входном предложении есть деньги, то оно (или мы ожидаем) должно знать более вероятную семантику банка, чтобы помочь нам выбрать более подходящую кодировку.

Рисунок: языковая модель RNN

Параметры языковой модели, изученные ELMo, фиксированы, а последующие задачи используют его скрытое состояние в качестве функции. Модель OpenAI GPT из статьи «Улучшение понимания языка с помощью генеративного предварительного обучения» корректируется (обычно тонко настраивается) для конкретных задач, так что результирующие представления предложений лучше подходят для конкретных задач. Его идея на самом деле очень проста: используйте Transformer для изучения языковой модели, выполняйте неконтролируемое встраивание предложений, а затем настраивайте параметры Transformer в соответствии с конкретными задачами. Поскольку ввод обученной языковой модели задачи — это одно предложение, а ввод многих нижестоящих задач — два, поэтому OpenAI GPT обрабатывает два ввода, добавляя к двум предложениям специальный разделитель, как показано на рисунке ниже.

Рисунок: подход OpenAI GPT к подчиненным задачам

OpenAI GPT добился очень хороших результатов, намного превзойдя предыдущий первый во многих задачах.

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

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

Так как же это решает проблему, заключающуюся в том, что языковые модели могут использовать информацию только в одном направлении? Ответ заключается в том, что его предобучение представляет собой не обычную языковую модель, а модель языка Маски. Эта идея была предложена в статье Google «Предобучение глубоких двунаправленных преобразователей для понимания языка», которая представляет собой модель BERT, с которой мы теперь знакомы.

Как только BERT вышел, он захлестнул различные списки оценки НЛП и привлек большое внимание. Как раз в то время, когда средства массовой информации восхваляли BERT такими словами, как «самая сильная модель НЛП», недавно появился XLNet, снова заметавший главные списки. Он считает, что у BERT есть две основные проблемы: он предполагает, что маскируемые слова независимы от других слов, не являющихся масками, что неверно; во время предварительной подготовки вводится специальная [MASK], но тонкой настройки снова нет, что создало бы несоответствие. XLNet решает проблему одностороннего потока информации обычных языковых моделей с помощью языковой модели Permutation и опирается на Преимущества Transformer-XL. Решив проблему неосведомленности цели с помощью двухпотокового самоконтроля, окончательная обученная модель превзошла BERT по многим задачам и установила новый рекорд.

4. Обучение с подкреплением

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

Обучение под наблюдением характеризуется наличием «учителя», который «наблюдает» за нами и говорит нам, каков правильный результат. Когда мы молоды, нас будут учить учителя.По сути, контролируемое обучение — это своего рода передача знаний, но оно не может открывать новые знания. Для человечества в целом настоящим (или даже единственным) источником знаний является практика, то есть обучение с подкреплением. Например, Шэньнун пробовал всевозможные травы.Первые люди не знали, какие травы лечат болезни, но они могли получить новые знания, попробовав их. Полученные знания записываются на языке и передаются из поколения в поколение, чтобы человеческое общество в целом могло продолжать развиваться.

В отличие от контролируемого обучения, ни один «учитель» не будет «контролировать» нас. Например, в го никто не скажет нам, какой ход лучше в текущей ситуации, только когда игра закончится, мы узнаем окончательный результат, нам нужно просмотреть (узнать), какой ход является хорошим, а какой - плохой ход.. То же самое относится и к природе: она не говорит нам, должны ли мы сотрудничать с другими, но через выживание наиболее приспособленных в конечном итоге «говорит» нам, что общество, которое помогает друг другу, будет более конкурентоспособным. По сравнению с предыдущим контролируемым и неконтролируемым обучением есть большая разница: агент в обучении с подкреплением может воздействовать на окружающую среду посредством Действия — каждое наше движение изменит ситуацию, которая может стать лучше или хуже.

Основная проблема, которую он хочет решить, заключается в том, что, учитывая состояние, мы должны оценить его значение (значение). Ценность и вознаграждение (вознаграждение) — две самые основные концепции обучения с подкреплением. Для агента (субъекта обучения с подкреплением) вознаграждение приобретается немедленно, является внутренним или даже врожденным. Например, если вы голодны, вы получите награду, когда поедите. Значение задерживается и должно быть рассчитано и тщательно рассмотрено. Например, украсть что-нибудь поесть в голодном состоянии можно получить Награду, но с точки зрения Ценности (значения) это (вероятно) не очень хорошее Действие. почему нет? Хотя обучение под наблюдением людей, таких как мудрецы, говорят нам, что это неэтично и нехорошо. Но, как мы уже говорили ранее, основным источником знаний для людей является обучение с подкреплением Откуда мудрецы узнали об этом? Некоторые люди думают, что это исходит от Бога или исходит из человеческой природы, например, «человеческая природа по своей природе хороша». Если объяснить это с точки зрения эволюции, люди на самом деле играют в игру «на выживание». Есть люди, которые следуют морали, и люди, которые этого не делают. Природа скажет «наш окончательный результат через выживание наиболее приспособленных», и в конечном итоге наши мудрецы научатся» (фактически выберут) эти моральные нормы и передадут эти нормы через образование (обучение под наблюдением) из поколения в поколение.

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

Здесь мы сосредоточимся на некоторых методах, сочетающих глубокое обучение и обучение с подкреплением.

В статье «Управление на человеческом уровне с помощью глубокого обучения с подкреплением», опубликованной Google DeepMind в Nature, впервые реализована сквозная модель глубокого обучения с подкреплением Deep Q-Networks. выходом является команда Control игры, ее принцип показан на следующем рисунке.

Рисунок: Глубокие Q-сети

Через Experience Replay, чтобы избежать корреляции одних и тех же данных траектории, и в то же время использовать целевую сеть ??′ для решения проблемы нестабильности цели, Deep Q-Networks в Atari 2600 49 игр, 29 игр набрали более 75 очков. % людей и превзошли игроков-людей в 23 из этих игр, как показано на графике ниже.

Рисунок: Оценка Deep Q-Networks на платформе Atari2600

Последующие улучшения Deep Q-Networks включают воспроизведение приоритетного опыта, глубокое обучение с подкреплением с двойным Q-обучением и Rainbow: объединение улучшений в глубоком обучении с подкреплением.

Работа класса «Градиент политики» включает в себя «Оптимизацию политики доверенной области» (TRPO), Алгоритмы детерминированного градиента политики (DPG), «Ожидаемые градиенты политики для обучения с подкреплением», «Алгоритмы проксимальной оптимизации политики» (PPO) и т. д.

Что касается игр, Google DeepMind опубликовал знакомые серии статей AlphaGo, AlphaGoZero и AlphaZero.

После того, как Го была решена, все также обратили свое внимание на стратегические игры в реальном времени, в том числе на DeepMind «AlphaStar: An Evolutionary Computation Perspective», а OpenAI Five добилась большого прогресса в StarCraft 2 и Dota2.

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

перспективы на будущее

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

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

Во-вторых, сквозная система не получила широкого распространения в отрасли (за исключением заявлений Google о ее использовании), конечно, это связано с относительно небольшим количеством игроков в голосовом поле и текущим системным эффектом. Неплохо.Необходимо (если только такие методы, как глубокое обучение в компьютерном зрении, не намного превосходят традиционные методы). После того, как исходный HMM-GMM преобразуется в HMM-DNN и добавляются различные адаптации и дифференцированное обучение последовательности, эффект SOTA все еще может быть получен, так что, условно говоря, мотивация для использования End-to-end еще меньше. Пока академические круги движутся в этом направлении, старые голосовые плееры (Google кроме) не много купил.

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

Об авторе:Ли Ли, вице-президент научно-исследовательского центра искусственного интеллекта Huanxin, имеет более чем десятилетний опыт работы в области обработки естественного языка и исследований и разработок в области искусственного интеллекта. Руководил исследованием и разработкой ряда интеллектуальных аппаратных систем ответов на вопросы и диалогов, отвечал за проектирование и разработку открытой платформы китайского семантического анализа Huanxin и интеллектуального робота Huanxin.

【Конец】

горячий Искусство толкать рекомендовать

☞Жэнь Чжэнфэй: Huawei Hongmeng будет быстрее, чем Android 60%; Xiaomi отвечает на нарушение темы; VS Код 1.36 выпуск | Компьютерные заголовки

☞Джонатан уходит из Apple; Ли Яньхун был забрызган водой; окна публичный линукс исходный код ядра | Еженедельник разработчиков

☞Как спасти Чжоу Хунъи, который находится на передовой после того, как руководители сбежали, а мечта о мобильном телефоне рухнула 360 Темный час?

☞Участник группы Hedgehog Band, которого Доу Вэй похвалил за «хорошую музыку», оказался программистом

☞Необходимый навык для отличных инженеров, вы разблокировали его?

☞Эфириум даркнет? Эта группа гениев из Пекинского университета сделала это...

☞Расширенный и применение интеллектуального алгоритма извлечения текстовой информации

☞ Краткая история технологий искусственного интеллекта за шестьдесят лет

☞ Слезы! Отец Linux: Я просто думаю, что Apple скучна!

Каждое "смотрение", которое вы заказали, я воспринимаю серьезно как симпатию