Введение

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

Оглавление

1.AI vs ML vs DL
2. Персептрон
3. Проблема с персептроном
4. MLP
5. Прямое распространение
6. Расчет потерь
7. Обратное распространение
8. Достойный градиент
9. Заключение

1. ИИ, машинное обучение и глубокое обучение

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

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

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

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

Машинное обучение

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

Глубокое обучение

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

2. Персептрон

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

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

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

3. Проблемы с восприятием

1. Исключающее ИЛИ

Он не может изучать нелинейно разделяемые функции, такие как XOR. Если прямая линия не может разделить точки данных, персептрон не сойдется к решению.

2. Обратное распространение

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

4. MLP (многослойный персептрон)

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

В MLP представлены две основные концепции:

Скрытые слои

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

Функции активации

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

5. Прямое распространение

В каждом нейроне мы делаем всего две операции. Вы можете обратиться к изображению 1
1. Суммирование:
z = Σ wixi + b = w1x1 + w2x2 + … + wnxn + b
Входные данные (x): Пусть входные сигналы будут x1, x2, …, xn
Weights(w): пусть веса для каждого входа будут w1, w2, …, wn
Bias(b): пусть член смещения будет b
2. Активация
Функция активации: Пусть функция активации будет f(z)
Нелинейное преобразование: a = f(z), где a — выход нейрона

Давайте подробно разберемся, как работает прямое распространение двумя способами.

6. Расчет потерь

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

Общие функции потерь включают в себя:

  • Среднеквадратическая ошибка (MSE) для регрессии:

L(ŷ,y) = 1/N ∑(ŷ — y)2

  • Перекрестная энтропийная потеря для классификации:

L (ŷ, y) = -∑ y log (ŷ)

Мы стремимся свести к минимуму эти потери, чтобы наши прогнозы максимально точно соответствовали целям.

Существуют и другие функции потерь, помимо MSE и кросс-энтропии, которые используются в разных сценариях. В следующем сообщении блога я рассмотрю функции потерь более подробно с математической точки зрения, включая MSE, кросс-энтропию и несколько других распространенных функций потерь, используемых в нейронных сетях. Цель состоит в том, чтобы обеспечить более глубокое понимание того, как работают различные функции потерь, когда их целесообразно использовать и как они влияют на обучение модели. Оставайтесь с нами, чтобы не пропустить специальную статью, в которой анализируются ключевые функции потерь для моделей нейронных сетей!

7. Обратное распространение

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

8. Приличный градиент

Градиент представляет наклон или скорость изменения функции потерь по отношению к весам и смещениям. Он говорит нам, как меняются потери при изменении параметров.

Градиенты dL/dw и dL/db рассчитываются посредством обратного распространения. Они указывают, в каком направлении мы должны обновить каждый вес и смещение, чтобы уменьшить потери.

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

w = w — скорость обучения * dL/dw

b = b — скорость обучения * дл/дБ

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

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

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

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

9.Заключение

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

Ключевые выводы

  • Искусственные нейронные сети вдохновлены биологическими нейронами для выполнения машинного обучения.
  • Многослойные персептроны преодолевают ограничения базовых персептронов, добавляя скрытые слои и нелинейные активации.
  • Прямое распространение делает прогнозы, передавая входные данные через сетевые слои.
  • Обратное распространение эффективно вычисляет градиенты, необходимые для обучения.
  • Функции потерь, такие как MSE и кросс-энтропия, количественно определяют ошибку прогнозирования.
  • Градиентный спуск обновляет веса и смещения, чтобы минимизировать потери.

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ:

В: Какую роль играет обратное распространение в нейронных сетях?

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

В: Почему функции активации важны в нейронных сетях?

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

В: Как работает градиентный спуск для оптимизации нейронных сетей?

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