Отказ от ответственности

Ожидается, что аудитория будет иметь базовое представление о нейронных сетях, обратном распространении, исчезающих градиентах и ​​ConvNets. Также приветствуется ознакомление с PyTorch, так как на нем будет сессия программирования.

Мотивация

Мы уже достигли многих вех в области глубокого обучения (DL). Тем не менее называть это искусственным интеллектом неуместно, поскольку решение интеллектуальных задач - это совсем другая игра. Но некоторые скачки в DL вселяют в нас надежду, что однажды мы решим разведку, не обязательно с помощью DL, но каким-то образом мы ее решим. Таким скачком стал Google Translate, который теперь поддерживает 103 языка. Около 18 месяцев назад Google Translate перешел со старого доброго статистического машинного перевода (SMT) на нейронный машинный перевод (NMT), и результаты были впечатляющими.

В новом переводчике Google есть две особенности.

1. Он решил сложную задачу последовательности из реальной жизни, используя DL.

2. Это сквозное приложение DL.

Что такое проблема последовательности?

Представьте, что вам дана последовательность. Заполните пустое место.

1, 2, 3, 4, _

Да ладно, это 5. А ЭТО решил Google?

Неа. Позвольте мне спросить вас, как узнать, что это пять? Почему не шесть?

Ты тупой? Последовательные числа различаются на 1. Это просто. Итак, в этой последовательности есть связь, и вы ее нашли. Большой. А теперь попробуйте это.

«Слиба родом из Кералы. Он свободно говорит на _____. «

Малаялам, чувак. Ты дурачишься со мной?

Откуда вы знаете?

Что ты дурачишься со мной?

Неа: D. Как узнать, что это малаялам?

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

Опять отношения. Итак, вы поняли связь со словом Керала. Попробуй это.

«Я купил своего пуделя в Париже. Он лает _____ »

Может, громко?

Почему не по-французски?

Вы безумец. Как собака может говорить по-французски?

Итак, контекст сменился с Пэрис на Пуделя. Попробуй это.

«Я купил своего пуделя в Париже, когда жил у Слибы. У него есть эта черта кивать во время еды. Но он любит ____ ».

Я не понял контекста. Кто здесь «он»? Слиба или Пудель? : /

Добро пожаловать в реальные проблемы с последовательностями: D

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

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

Что такое сквозное обучение?

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

Что не является непрерывным обучением?

Давайте рассмотрим пример классификации яблок и апельсинов. Что мы сделаем, чтобы их идентифицировать? Мы извлечем некоторые особенности, просто.

Цвет :

Яблоко красное или зеленовато-красное. Оранжевый, ммм ... может быть, оранжевый?

Поверхность:

Поверхность яблока гладкая. Для апельсина он неровный.

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

Но с этими функциями, управляемыми вручную, есть несколько проблем.

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

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

3. Могущественный Homo Sapiens не учится и не предсказывает этого пути. Homo sapiens может учиться и делать выводы на основе необработанного текста, изображения или простого запаха, нам не нужны конкретные функции. Так что этот подход далек от ** интеллекта **.

4. Любой алгоритм машинного обучения на сегодняшний день хорош настолько, насколько хорош его исходные данные. Нет никакой черной магии. Если предлагаемые нами функции расплывчаты, классификатор будет беспомощен.

Теперь, что, если мы можем просто изучить функции также из необработанных данных? Тогда мы не упустим скрытые особенности данных. Нам тоже не нужны специалисты. Затем обучение начинается с нуля, что ближе к интеллекту. Вот почему так важно непрерывное обучение.

Определение проблемы

Начнем с ConvNets. Все мы знаем, что ConvNets так хорошо работают с изображениями. Но почему это такой успех? Изображение - это пространственное распределение значений / чисел пикселей.

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

Но как насчет предложения?

Я поддерживаю права ЛГБТ.

Распространен ли он в пространстве? В таком случае следующие предложения тоже должны иметь смысл.

Поддерживаю я права ЛГБТ.

ЛГБТ поддерживает человека.

Права я ЛГБТ поддерживаю.

Ни один из них не имеет смысла. Единственная значимая последовательность - это «я», за которым следует «поддержка», затем «ЛГБТ», а затем «права». Итак, отношения не пространственные, а временные / последовательные. Давайте уточним этот узел.

1. Кто поддерживает права ЛГБТ? Мне.

2. Что я поддерживаю? Права ЛГБТ.

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

1. Прогнозирование временных рядов (прогноз погоды, цены на акции и т. Д.)

2. Речь (формирование и распознавание речи, синтез, преобразование речи в текст,…)

3. Музыка (создание музыки, синтез и т. Д.)

4. Текст (моделирование языка, распознавание именованных сущностей, анализ настроений, перевод и т. Д.)

В следующей части этой серии руководств давайте обсудим, какие RNN являются основным строительным блоком Google Translate, как они используются для фиксации последовательных отношений и как построить языковую модель с использованием RNN.