Урок 1. Что такое глубокое обучение и мотивация.

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

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

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

Что такое нейронная сеть и мотивация нейронных сетей?

Вы можете идентифицировать? (Подсказка в самом названии 😉 😁)

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

Рассмотрим архитектуру нейрона на рис. и просто сосредоточьтесь на ядре, аксоне и дендрите.

  • Ядро:Ядро — это центральная часть нейрона, которая выполняет фактические вычисления на входе от других нейронов.
  • Дендрит:Дендрит нейрона соединен с другими нейронами и подает входные данные в ядро.
  • Аксон:аксон — это часть нейрона, которая передаетрезультат вычислений другим нейронам.

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

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

Но как работает человеческий мозг?

Это самое важное, что нужно знать, чтобы понять нейронную сеть.

Но знаете ли вы, что самое прекрасное в компьютерных науках? 😃

Каждая концепция информатики имеет отношение к реальной жизни и имеет сильную математическую основу!

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

Например. Предположим, вы читаете анекдот! 😁

Первый ввод берется из глаз и передается в сеть. После этого производится следующая обработка:

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

(И наконец! вы смеетесь! ха-ха.😆 ничего особенного!😛 😁)

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

Теперь это была только архитектурная перспектива.

Но почему глубокое обучение?

Вы можете сказать, что нейронные сети также используются в машинном обучении, тогда какая разница? Что в нем особенного? смущенный?! 😕

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

  1. Входной слой
  2. Скрытый слой (максимум 1, 2 или 3)
  3. Выходной слой

Эта архитектура способна решать проблемы, которые менее сложны и требуют меньше вычислений или имеют шаблон, который можно легко идентифицировать. Но если мы подумаем об очень сложных задачах, таких как Обработка изображения Обработка (обнаружение объектов, оценка позы и т. д.), Классификация голоса и Т. Д. Имея сложные и множественные шаблоны, эти нейронные сети не способны идентифицировать шаблоны, поскольку у них очень мало скрытых чисел, в которых распознается фактический шаблон и в соответствии с ним могут быть сделаны прогнозы. Следовательно, для решения сложных задач нейронной сети требуется больше скрытых слоев (даже более 100). Поэтому из-за своей глубины они называются «Глубокие нейронные сети»и требуется оптимизировать, проанализировать это большое количество слоев, их параметры, гиперпараметры и изучить новые методы для всего этого, новое подполе под названием «Глубокое обучение»родилось 😎 🙌.

Рассмотрим алгоритм чтения анекдотов.

Сначала подумайте о первом шаге, т. е. «Распознавание персонажей». Если вы пытаетесь создать ее с нуля, то для первого шага обычно требуется от 3 до 4 или даже больше слоев для большей точности, глубокая нейронная сеть может занимать еще больше слоев (хотя вы можете использовать предопределенные модели). Это только для первого шага. Для дальнейшего этапа требуется более сложная обработка и, следовательно, большее количество слоев. И, следовательно, глубокое обучение играет жизненно важную роль в обработке.

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

  1. AlexNet — 8 слоев, ошибка 16,0 %
  2. ZNet — 8 слоев, ошибка 11,2 %
  3. VGGNet — 19 уровней, ошибка 7,3 %
  4. GooLeNet — 22 слоя, ошибка 6,7%
  5. MS Rest Net — 152 слоя, ошибка 3,6 %

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

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

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

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

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

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

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

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

А как насчет обработки?

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

Следовательно, я должен сказать, что разработка искусственной нейронной сети и наделение ее вычислительными возможностями, чтобы сделать ее более интеллектуальной, — это «искусство».

Крестный отец глубокого обучения Dr. Джеффри Хинтон (ученый-компьютерщик) прекрасно сказал: «алгоритмы обучения могут быть очень полезными, даже если они не работают так, как работает мозг».

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

Теперь давайте проявим силу и мотивацию в этой серии. 💪

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