заглушки Что такое глубокое обучение? (2024) - Unite.AI
Свяжитесь с нами:
Мастер-класс по ИИ:

AI 101

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

mm
обновленный on

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

Что такое машинное обучение?

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

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

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

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

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

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

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

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

Различные типы глубокого обучения

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

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

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

  • Сверточные слои
  • Слои подвыборки/объединения
  • Функции активации
  • Полностью связанные слои

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

RNN/LSTM

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

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

автоассоциатор

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

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

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

  • Обычные/обычные автоэнкодеры
  • Многослойные кодировщики
  • Сверточные энкодеры
  • Регуляризованные кодировщики

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

Генеративные состязательные сети

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

Резюме глубокого обучения

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

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