Введение в глубокое обучение

Опубликовано: 25 Июля, 2021

Что такое глубокое обучение?
Глубокое обучение - это ветвь машинного обучения, полностью основанная на искусственных нейронных сетях, поскольку нейронная сеть будет имитировать человеческий мозг, поэтому глубокое обучение также является своего рода имитацией человеческого мозга. В глубоком обучении нам не нужно все явно программировать. Концепция глубокого обучения не нова. Он существует уже пару лет. Сейчас это шумиха, потому что раньше у нас не было такой вычислительной мощности и большого количества данных. Как и в последние 20 лет, вычислительная мощность растет в геометрической прогрессии, поэтому на первый план вышли глубокое обучение и машинное обучение.
Формальное определение глубокого обучения - нейроны.

Deep learning is a particular kind of machine learning that achieves great power and flexibility by learning to represent the world as a nested hierarchy of concepts, with each concept defined in relation to simpler concepts, and more abstract representations computed in terms of less abstract ones.

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

Архитектура:

  1. Глубокая нейронная сеть - это нейронная сеть с определенным уровнем сложности (имеющая несколько скрытых слоев между входным и выходным слоями). Они способны моделировать и обрабатывать нелинейные отношения.
  2. Deep Belief Network (DBN) - это класс глубокой нейронной сети. Это многослойные сети убеждений.
    Этапы выполнения ДБН:
    а. Изучите слой объектов из видимых единиц, используя алгоритм Contrastive Divergence.
    б. Относитесь к активациям ранее обученных функций как к видимым единицам, а затем изучайте особенности функций.
    c. Наконец, вся DBN обучается, когда достигается обучение для последнего скрытого слоя.

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

Разница между машинным обучением и глубоким обучением:

Машинное обучение Глубокое обучение
Для точности работает с небольшим количеством наборов данных. Работает с большим количеством данных.
Зависит от низкопроизводительной машины. Сильно зависит от High-End Machine.
Делит задачи на подзадачи, решает их индивидуально и, наконец, объединяет результаты. Решает проблему от начала до конца.
Занимает меньше времени на тренировки. Тренировка требует больше времени.
Время тестирования может увеличиться. Меньше времени на проверку данных.

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

Используемые инструменты:
Anaconda, Jupyter, Pycharm и др.

Используемые языки:
R, Python, Matlab, CPP, Java, Julia, Lisp, Java Script и т. Д.

Примеры из реальной жизни:

  1. Как отличить квадрат от других форм? ... а) Отметьте четыре строки! ... б) Это закрытая цифра? ... в) Стороны перпендикулярны друг другу? ... г) Все ли стороны равны? Итак, глубокое обучение - это сложная задача по определению формы и разбиению на более простые задачи на более крупной стороне.
  2. Узнавать животное! (Это кошка или собака?) Определение черт лица, которые важны для классификации, и система определит это автоматически. (В то время как машинное обучение вручную выдаст эти функции для классификации)

Ограничения :

  1. Обучение только через наблюдения.
  2. Проблема предвзятости.

Преимущества :

  1. Best in-class performance on problems.
  2. Reduces need for feature engineering.
  3. Eliminates unnecessary costs.
  4. Identifies defects easily that are difficult to detect.

Недостатки:

  1. Large amount of data required.
  2. Computationally expensive to train.
  3. No strong theoretical foundation.

Приложения :

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

  2. Здравоохранение - помогает диагностировать различные заболевания и лечить их.
  3. Автоматический машинный перевод - некоторые слова, предложения или фразы на одном языке преобразуются в другой язык (глубокое обучение позволяет достичь лучших результатов в области текста и изображений).
  4. Распознавание изображений - распознает и идентифицирует людей и объекты на изображениях, а также для понимания содержания и контекста. Эта область уже используется в играх, розничной торговле, туризме и т. Д.
  5. Прогнозирование землетрясений - обучает компьютер выполнять вычисления вязкоупругости, которые используются при прогнозировании землетрясений.

Соавтор статьи: уджвал шарма 1