Обзор специализации Coursera по глубокому обучению с Эндрю Нг

Специализация по глубокому обучению Эндрю на Coursera - один из самых известных онлайн-курсов по машинному обучению. Многие специалисты по анализу данных или инженеры по машинному обучению указали эту специализацию в разделе курсов Linkedin. В этом посте мы исследуем его содержание, посмотрим, что это такое, а что нет, и проясним всю шумиху вокруг него. Поехали!

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

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

Что это?

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

Он разделен на 5 различных курсов, каждый продолжительностью 3-4 недели. Однако эта продолжительность относительна, так как зависит от того, сколько времени вы ежедневно / еженедельно проводите на курсе. Что касается меня, то мне удавалось пройти неделю одного курса примерно за полнедели моего времени, так что я мог закончить один из курсов чуть менее чем за 2 недели.

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

Кто это для?

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

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

Предпосылки

По словам Эндрю Нг в интервью с Лексом Фридманом (это фантастический разговор об ИИ, образовании и тяжелой работе, который я оставлю ниже в этом абзаце), чтобы с комфортом пройти эту специализацию, вам нужно знать основы программирования (на Python) и иметь очень базовое понимание математики (достаточно даже математики в средней школе).

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

СОДЕРЖАНИЕ

Специализация состоит из 5 курсов, каждый из которых разделен на несколько недель. Эти курсы следующие:

  • Курс I: Нейронные сети и глубокое обучение. Объясняет, как перейти от простого нейрона с логистической регрессией к полной сети, охватывая различные функции активации, прямое и обратное распространение. В этом курсе объясняется самая фундаментальная информация о том, как работает ИНС.
  • Курс II: Улучшение глубоких нейронных сетей: Настройка гиперпараметров, регуляризация и оптимизация. Несмотря на то, что этот курс не является точной наукой, в этом курсе упоминается, как настроить скорость обучения, количество слоев и количество нейронов в каждом слое . Затем рассматриваются методы регуляризации, такие как выпадение и пакетная нормализация, и в конце рассматривается раздел оптимизации, в котором обсуждаются стохастический градиентный спуск, импульс, RMS Prop и алгоритмы оптимизации Adam.
  • Курс III: Структурирование проектов машинного обучения. Для меня этот курс был самым полезным для специалиста по данным / инженера. Все дело в том, как создавать свои проекты, быстро получать результаты и итерации для улучшения этих результатов. Это дает восхитительную информацию о том, как диагностировать результаты наших моделей, чтобы мы могли видеть, откуда возникает проблема производительности, если таковая имеется: небольшой обучающий набор, различные распределения обучающих и тестовых наборов, чрезмерная подгонка и другие проблемы. покрыты вместе со своими решениями.
  • Курс IV: Сверточные нейронные сети. Этот курс посвящен самым современным сетям для распознавания изображений. В нем рассказывается о том, как работают CNN, о различных стилях CNN, а также подробно рассказывается об их происхождении. Затем объясняются различные варианты использования, такие как распознавание объектов, проверка лиц, распознавание лиц или передача нейронного стиля.
  • Курс V: Модели последовательности. Все о рекуррентных нейронных сетях: как они работают, почему они лучше справляются с некоторыми конкретными задачами по сравнению с традиционными сетями, а также о различных типах со своими плюсами и минусами. Объясняются RNN, LSTM, GRU, а также то, как они используются для таких задач, как распознавание речи, обработка естественного языка, анализ и прогноз временных рядов.

Структура курсов

Как уже несколько раз упоминалось ранее, курсы делятся на разные недели: от 3-х в самом коротком курсе до 5-ти в самом длинном. Каждую неделю содержит несколько коротких видеороликов (продолжительность может варьироваться от 3 до 15 минут), викторину и обычно упражнение по программированию.

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

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

Наконец, у нас есть упражнения по программированию. Им представлена ​​структура записной книжки, в которой материалы, освещенные за неделю, разделены и объяснены, есть блоки кода, которые мы можем запускать без редактирования, и другие, в которых мы должны запрограммировать определенную задачу. Это отличный материал, чтобы еще раз изучить теорию концепций и научиться применять их на практике. Их сложность сильно различается: в первых двух курсах записные книжки довольно просты, и в большинстве случаев код почти полностью предоставляется вам. На курсах IV и V есть более сложные записные книжки с реализациями сетей Tensorflow, которые бросят вам вызов. Опять же, в этих тетрадях выставлены оценки, и для их сдачи требуется минимальная оценка.

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

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

Обзор и мнение

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

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

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

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

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

Для меня это определенно стоило времени и денег, и я надеюсь, что скоро смогу испытать то, что я узнал! Если вам тоже интересно, вы можете найти это на Coursera. Наслаждайся этим!

Вот и все, надеюсь, пост вам понравился. Не стесняйтесь подписываться на меня в Твиттере на @jaimezorno. Также вы можете ознакомиться с моими сообщениями о данных, статистике и машинном обучении здесь. Удачного чтения!