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

Некоторые из сокращений, которые мы будем постоянно использовать, и которые вы должны иметь в виду:
DL-Deep Learning
NN-Neural Networks
ML-Machine Learning

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

Так же, как ML, DL имеет два разных типа обучения, которые классифицируются как контролируемое и неконтролируемое. Мы уже знаем о разнице между ними, поэтому я собираюсь поговорить о типах среди них обоих. Алгоритмы контролируемого обучения в DL:
1. ANN (искусственная нейронная сеть)
2. CNN (сверточная нейронная сеть)
3. RNN (рекуррентная нейронная сеть)

С другой стороны, типы алгоритмов неконтролируемого DL:
1. Самоорганизующиеся карты
2. Машина Больцмана
3. Автоэнкодеры (системы рекомендаций)

Я собираюсь больше сосредоточиться на алгоритмах контролируемого обучения, но постараюсь дать общее представление о большинстве алгоритмов. Хорошо, но сначала мы должны сосредоточиться на том, почему DL вместо ML? Для начала давайте взглянем на этот график:

Мы можем обучать модели DL так же, как мы обучаем модели ML, но основное различие заключается в их производительности. Для больших объемов данных DL работает лучше и обеспечивает более высокую производительность по сравнению с ML. Это наблюдаемый факт.
Я могу привести вам пример системы рекомендаций, которая в основном использует данные, которые мы ей передаем. Он пытается понять модели использования пользователем, как и Spotify, он пытается понять жанр музыки, который вы в основном слушаете, а затем пытается предсказать песни аналогичного жанра на основе количества данных, которые мы ему передаем. Чем больше данных, тем точнее будет прогноз.

Теперь давайте перейдем к концепции.

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

Как это работает?
Идея нейронной сети состоит в том, что она состоит из нескольких слоев. Давайте посмотрим на диаграмму ниже:

Здесь на данной диаграмме каждый из цветов представляет данный слой нейронной сети. Внутри этих слоев у нас есть несколько узлов (круги разных цветов). Теперь каждая нейронная сеть может состоять из нескольких слоев, и сложность НС продолжает увеличиваться по мере увеличения слоев. Не обращайте внимания на стрелки на диаграмме.

Давайте возьмем другую диаграмму, чтобы понять 3 наиболее важных уровня NN, а именно:

  1. Входной слой: это начальные уровни NN, и они получают данные, поэтому он называется входным слоем. На этом уровне веса, назначенные каждому из узлов, задаются разными, поскольку они инициализируются случайным образом.
  2. Скрытый слой: относятся к средним слоям NN. На данной диаграмме есть только один такой слой, но мы определенно можем иметь их больше, но по мере того, как мы продолжаем увеличивать количество средних слоев, сложность NN продолжает расти. Узлы в этих слоях имеют свою собственную функцию активации.
  3. Выходной слой: как следует из названия, это последний уровень, который предсказывает выходные данные данной NN. Например, это может дать нам значение в случае регрессии или предсказать класс в случае классификации.

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

Давайте теперь разобьем все на еще более мелкие части и поймем один слой NN.
Давайте возьмем схему и попробуем разобраться.

Здесь на диаграмме у нас есть один слой нейронной сети, который имеет 3 основных круга или узла. Это основные единицы НС, которые также называются Персептрон. Каждый из этих кругов с номерами 1, 2 и 3 представляет собой узел. Я расскажу о функциях и возможностях, связанных с этими узлами, в завтрашнем блоге, но сейчас я просто хочу рассказать об основах NN.

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

2. CNN или Convolutional Neural Network
Итак, эти типы нейронных сетей используются в случае попытки помочь компьютерному зрению. Все, что связано с идентификацией и обнаружением объектов, выполняется с помощью сверточной нейронной сети. Возьмем пример. Например, нам дается изображение, и нам нужно идентифицировать животное на нем, затем нам нужно определить различные особенности изображения и предоставить ему множество изображений для обучения модели, прежде чем она сможет фактически предсказать животное на изображении. точно. Для таких сценариев мы используем CNN или сверточные нейронные сети. CNN состоит из 4 основных шагов, когда мы пытаемся решить его концептуально или логически. Я опишу эти шаги вкратце, и мы сможем рассмотреть их в следующих блогах.
- Свертка
- Функция активации Relu
- Макс. являются основными шагами, мы можем рассмотреть их позже. диаграмма, показывающая основной поток, показана ниже.

3. RNN или Convolutional Neural Network
RNN, на мой взгляд, является наиболее сложным типом NN. Постараюсь объяснить на примере для лучшего понимания. Возьмем разбитое предложение и его нужно закончить.
Например: Чаран пошел в супермаркет и купил ___________.
Это предложение нужно закончить. Поэтому, когда мы передаем это в модель DL, она использует свои обучающие экземпляры для определения положения глаголов, существительных и т. д. в предложении, чтобы получить прогноз того, что можно заполнить в пробеле.
RNN делает использование большого количества памяти. Он должен понимать расположение глаголов, существительных и т. д., для чего он использует довольно значительный объем памяти. Понимание и создание моделей RNN занимает некоторое время, но в конце концов мы доберемся до этого. Некоторые из различных типов RNN:
- LSTM (долгосрочная кратковременная память): эти системы используются для более сильных систем.
- GRU (Gated Recurrent Units). ): Они используются для более слабых систем.
Мы попытаемся понять их позже. Прямо сейчас важно понимание фундаментальной концепции, лежащей в основе различных слоев.

На диаграмме выше, если вам интересно, что означают (t-1), t и (t+1), это позиции слов. Если в (t-1)-й позиции есть слово, то оно повлияет на слово в t-й позиции и, таким образом, повлияет на слово в (t+1)-й позиции.

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

  1. Самоорганизующиеся карты.Эти типы неконтролируемых алгоритмов обучения используются для кластеризации данных исключительно на основе предоставленных нам функций. Например, в случае обнаружения мошенничества с кредитными картами мы делаем нашу классификацию (мошенничество или немошенничество) на основе заданных входных признаков.
  2. Машина Больцмана. Основная цель машины Больцмана — оптимизировать решение проблемы. Работа Boltzmann Machine заключается в оптимизации веса и количества, связанных с этой конкретной проблемой.
  3. Автоэнкодеры (системы рекомендаций): это тип NN, который пытается что-то предсказать на основе переданных ему данных, как это было в случае Spotify, пример которого я упомянул выше.

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

Ваше здоровье.