Учебное пособие по глубокому обучению для начинающих: основы нейронной сети

⚡ Умное резюме

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

  • 🔘 Многоуровневая архитектура: Глубокая нейронная сеть состоит из входного слоя, двух или более скрытых слоев и выходного слоя.
  • ☑️ Signal прочность: Вес, смещение и функция активации определяют, что каждый нейрон передает следующему слою.
  • Двухфазная петля: Нелинейное преобразование позволяет получить модель, затем метод, основанный на производных, улучшает ее, и этот процесс повторяется до тех пор, пока точность не станет приемлемой.
  • 🧪 Четыре архитектуры: Нейронные сети прямого распространения, рекуррентные сети, сверточные сети и агенты обучения с подкреплением.
  • 🇧🇷 Где это окупается: Кредитный скоринг в финансах, отбор кандидатов в HR, анализ настроений в колл-центре в маркетинге.
  • ⚙️ Реальные пределы: Стоимость маркировки, стремление к работе с огромными массивами данных и модели, которые не поддаются объяснению простым языком.

Учебное пособие по глубокому обучению для начинающих: основы нейронной сети

Что такое глубокое обучение?

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

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

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

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

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

Процесс глубокого обучения

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

  • Понять проблему
  • Определите данные
  • Выберите алгоритм глубокого обучения
  • Тренируй модель
  • Протестируйте модель
Пятиэтапный процесс глубокого обучения: от понимания проблемы до тестирования модели.

Пять этапов проекта глубокого обучения: от определения проблемы до тестирования.

Чтобы понять идею глубокого обучения, представьте семью с младенцем и родителями. Малыш указывает на предметы мизинцем и постоянно произносит слово «кошка». Поскольку родители обеспокоены его образованием, они постоянно говорят ему: «Да, это кошка» или «Нет, это не кошка». Младенец продолжает указывать на предметы, но становится точнее, когда говорит «кошки». В глубине души малыш не понимает, почему он может сказать, кошка это или нет. Он просто научился выстраивать признаки кошки в иерархию, рассматривая животное в целом, а затем сосредотачиваясь на деталях, таких как хвост или нос, прежде чем принять решение.

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

Обучение происходит в два этапа:

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

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

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

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

После 48 часов обучения компьютер осваивает искусство танца, как показано во второй анимации.

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

Классификация нейронных сетей

Сначала сети группируются по количеству скрытых слоев.

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

Глубокая нейронная сеть: Глубокие нейронные сети имеют более одного скрытого слоя. Например, модель GoogLeNet для распознавания изображений насчитывает 22 слоя.

Сегодня глубокое обучение применяется в беспилотных автомобилях, мобильных телефонах и т.д. Google поисковая система, обнаружение мошенничества и телевидение.

Типы сетей глубокого обучения

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

Схема архитектур нейронных сетей, включая персептрон, полносвязные сети, RBF-сети, RNN-сети, LSTM-сети, GRU-сети и автокодировщики.

Диаграмма архитектур нейронных сетей, от однокристального персептрона до вариантов LSTM, GRU и автокодировщика.

Нейронные сети прямого распространения

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

Рекуррентные нейронные сети (RNN)

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

Блок-схема рекуррентной нейронной сети, выходные данные которой зациклены в сети в качестве памяти.

Рекуррентная нейронная сеть (RNN) отправляет свой выходной сигнал обратно самой себе, что и обеспечивает сети память.

Например, если задача состоит в том, чтобы предсказать следующее слово в предложении «Вы хотите…?», нейронная сеть будет работать следующим образом:

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

Распространенное использование RNN

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

Сверточные нейронные сети (CNN)

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

Архитектура CNN с этапами обучения признакам, включающими свертку, ReLU и пулинг, за которыми следуют классификация с использованием алгоритмов flatten, full connected и softmax.

Обучение признаков с помощью свертки, ReLU и пулинга; классификация с помощью flatten, полносвязного алгоритма и softmax.

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

Например, если задача состоит в том, чтобы предсказать подпись к изображению:

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

Усиление обучения

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

К числу наиболее известных алгоритмов относятся:

  • Q-обучения
  • Сеть Deep Q
  • Государство-Действие-Награда-Государство-Действие (SARSA)
  • Глубокий детерминированный политический градиент (DDPG)

В таблице ниже приведено краткое описание случаев, когда подходит та или иная архитектура.

Archiтекстура Подходящие данные Отличительная черта Типичная задача
Прямая связь Ввод данных в табличном виде фиксированной длины Без циклов; информация передается только вперед. Оценка и простая классификация
Рекуррентная нейронная сеть (RNN) Последовательности и временные ряды Контекстные узлы обеспечивают ему память. Прогнозирование текста, аудио, прогнозирование
Сверточная нейронная сеть (CNN) Неструктурированные данные в виде сетки Свертка и пулинг, напримерtract характеристики Классификация изображений и создание подписей
Укрепление обучения Среда, а не набор данных. Учится на поощрениях и наказаниях. Игровые агенты, робототехника, управление

Примеры применения глубокого обучения

Эти архитектуры уже используются в самых разных отраслях:

ИИ в финансах

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

Underwrite — это финтех-компания, предоставляющая решение на основе искусственного интеллекта для лиц, принимающих решения о кредитовании. underwrite.ai использует ИИ для определения того, какой заявитель с большей вероятностью погасит кредит, — подход, который, по словам компании, превосходит традиционные системы оценки кредитоспособности.

AI в HR

Under Armour, компания по производству спортивной одежды, revolutКомпания Under Armour оптимизировала процесс найма и модернизировала взаимодействие с кандидатами с помощью искусственного интеллекта. В 2012 году Under Armour столкнулась с резким ростом интереса к своей компании и получала в среднем более 30 000 заявок в месяц. Рассмотрение всех этих заявок, а затем начало процесса отбора и собеседований занимало слишком много времени. Длительный процесс найма и адаптации персонала влиял на способность Under Armour полностью укомплектовывать свои розничные магазины, подготавливать их к работе и обеспечивать их бесперебойную деятельность.

В то время у Under Armour уже были все необходимые HR-технологии, такие как транзакционные решения для поиска кандидатов, подачи заявок и т.д. tracКоррекция и адаптация персонала, но одних этих инструментов оказалось недостаточно. Under Armour выбрала HireVue, поставщика решений в области управления персоналом на основе искусственного интеллекта, для проведения как собеседований по запросу, так и собеседований в режиме реального времени. Результаты оказались впечатляющими: компания сообщила о сокращении времени на заполнение вакансий на 35% при одновременном повышении качества нанимаемого персонала.

AI в маркетинге

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

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

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

Почему глубокое обучение важно?

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

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

Ограничения глубокого обучения

Эти результаты влекут за собой реальные издержки.

Маркировка данных

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

Получите огромные наборы обучающих данных

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

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

Объясните проблему

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

Более того, по мере расширения применения ИИ нормативные требования также могут привести к необходимости создания более объяснимых моделей ИИ.

Часто задаваемые вопросы (FAQ)

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

Это вносит нелинейность, поэтому многослойные структуры могут моделировать криволинейные границы принятия решений, а не сливаться в один линейный шаг. Функция активации ReLU является обычной функцией по умолчанию в скрытых слоях; сигмоидная функция и функция softmax формируют выходные данные.

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

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

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

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

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

Второй пилот GitHub Шашки TensorFlow и ПиTorЦиклы обучения ch запускаются из короткой подсказки. Проверьте формы входных данных, функцию потерь и задайте начальное значение самостоятельно, поскольку сгенерированный шаблон часто содержит ошибки в этих параметрах.

Подведем итог этой публикации следующим образом: