[Обновление - 2 февраля 2018 г .: на момент написания этого сообщения в блоге было выпущено только 3 курса. Все 5 курсов по данной специализации сейчас исключены. Скоро я напишу следующий пост в блоге.]

Вступление:

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

Новый курс deeplearning.ai Эндрю Нг похож на тот Шейн Каррут или фильм Раджниканта, по которому так хочется!

Естественно, как только курс был выпущен на coursera, я зарегистрировался и провел последние 4 вечера за запоем, просматривая лекции, работая с викторинами и заданиями по программированию.

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

О чем этот курс:

Новое рекламное предприятие Эндрю Нг - это восходящий подход к обучению нейронных сетей - мощным алгоритмам нелинейного обучения на начальном и среднем уровнях.

В классическом стиле Ng курс проводится с использованием тщательно подобранной учебной программы, точно рассчитанных по времени видеороликов и точно размещенных фрагментов информации. Эндрю продолжает с того места, где закончился его классический курс машинного обучения, и вводит идею нейронных сетей, использующих один нейрон (логистическая регрессия) и постепенно добавляющих сложности - больше нейронов и слоев. К концу 4 недель (курс 1) студент знакомится со всеми основными идеями, необходимыми для построения плотной нейронной сети, такими как функции затрат / потерь, итеративное обучение с использованием градиентного спуска и векторных параллельных реализаций python (numpy).

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

Материалы и инструменты курса:

Лекции читаются с использованием слайдов презентации, на которых Эндрю пишет цифровым пером. Это был эффективный способ сосредоточить внимание слушателя. Мне было комфортно смотреть видео на скорости 1,25 или 1,5.

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

Задания по программированию выполняются с помощью J upyter notebooks - мощных браузерных приложений.

Задания имеют хорошую управляемую последовательную структуру, и вам не нужно писать более 2–3 строк кода в каждом разделе. Если вы понимаете такие концепции, как векторизация, интуитивно, вы можете завершить большинство разделов программирования всего одной строкой кода!

После того, как задание закодировано, достаточно одного нажатия кнопки, чтобы отправить ваш код в автоматизированную систему оценивания, которая вернет ваш результат через несколько минут. Некоторые задания имеют временные ограничения - скажем, три попытки за 8 часов и т. Д.

Ноутбуки Jupyter хорошо спроектированы и работают без проблем. Инструкции точны, и это похоже на отполированный продукт.

Для кого этот курс:

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

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

Если ваше программирование ржавое, есть хорошее задание по кодированию, которое научит вас numpy. Но я рекомендую сначала изучить Python на codecademy.

Чем этот курс DL отличается от курса Джереми Ховарда Fast.ai:

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

Курс Джереми FAST.AI с самого начала ставит вас на место водителя. Он учит вас вращать рулевое колесо, нажимать на тормоз, акселератор и т. Д. Затем он медленно объясняет более подробную информацию о том, как работает машина - почему вращение колеса заставляет машину вращаться, почему нажатие на педаль тормоза заставляет вас замедляться и останавливаться и т. Д. Он продолжает все глубже разбираться в устройстве машины, и к концу курса вы узнаете, как работает двигатель внутреннего сгорания, как устроен топливный бак и т. Д. Цель курса - научить вас водить. Вы можете остановиться в любой момент после того, как научитесь водить достаточно хорошо - нет необходимости учиться строить / ремонтировать автомобиль.

Курс Andrew’s DL выполняет все это, но в полностью противоположном порядке. Он сначала расскажет вам о двигателе внутреннего сгорания! Он продолжает добавлять слои абстракции, и к концу курса вы едете как гонщик Формулы-1!

Курс «Быстрый ИИ» в основном учит вас искусству вождения, а курс Эндрю в первую очередь учит инженерии, лежащей в основе автомобиля.

Как подойти к этому курсу:

Если вы до этого не занимались машинным обучением, не проходите этот курс в первую очередь. Лучшая отправная точка - это оригинальный Курс машинного обучения на coursera Эндрю.

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

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

Что мне понравилось в этом курсе:

  1. Факты в значительной степени изложены голыми - все неопределенности и двусмысленности периодически устраняются

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

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

4. Подавить всю шумиху вокруг DL и AI - Эндрю делает сдержанные, осторожные комментарии о распространении ажиотажа AI в основных СМИ, и к концу курса становится совершенно ясно, что DL не что иное, как терминатор.

5. Замечательный шаблонный код, который работает прямо из коробки!

6. Отличная структура курса.

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

8. Уникальный для Эндрю стиль преподавания, перенесенный из ML - я почувствовал такое же волнение, которое испытал в 2013 году, когда прошел его первоначальный курс ML.

9. Интервью с героями глубокого обучения освежают - слышать личные истории и анекдоты - это мотивирует и интересно.

Вещи, которых мне не хватало:

Желаю, чтобы он говорил конкретно чаще!

Некоторые дополнительные вещи, которые я узнал по пути:

  1. DL - это непросто. Чтобы усвоить концепции и заставить их работать, потребуется много времени. Эндрю написал кавычки некоторое время назад, что глубоко во мне откликнулось.

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

3. Есть психологическая причина, почему я рекомендую курс Fast.ai перед этим. Когда вы найдете свою страсть, вы сможете учиться без ограничений.

4. Вы просто получаете выброс дофамина каждый раз, когда набираете полные очки:

5. Не пугайтесь жаргона DL (гиперпараметры = настройки, архитектура / топология = стиль и т. Д.) или математических символов. Если вы решитесь и обратите внимание на лекции, Эндрю покажет, почему символы и обозначения на самом деле весьма полезны. Они скоро станут вашим любимым инструментом, и вы будете владеть ими стильно!

Заключительные комментарии (необязательно):

  1. Каждый начинает в этой области как новичок. Если вы новичок в области электронного обучения, вполне естественно, что вы пугаетесь жаргона и понятий. Пожалуйста, не сдавайся. Вероятно, вас привлекла эта область в надежде найти свое призвание. Доверяйте своей интуиции и оставайтесь сосредоточенными, и вы добьетесь успеха раньше, чем вы думаете! Даже Эндрю Нг когда-то приходилось изучать линейную алгебру - он не родился с такими знаниями.
  2. Хотя это невероятный ресурс, это не единственный курс DL в мире. Многие щедрые учителя, такие как Салман Хан, Джереми Ховард, Себастьян Трун, Джефф Хинтон, бесплатно поделились своими знаниями онлайн, как и Эндрю Нг. Мне не повезло получить степень магистра или доктора философии, так как мне пришлось работать и поддерживать свою семью - но это не означало, что обучение нужно было прекратить. У меня была возможность настроить свой собственный план обучения благодаря демократизации знаний. И я мог учиться у людей, которыми я восхищался больше всего: программированию (Джеральд Сассман), линейной алгебре (Гилберт Стрэнг), искусственному интеллекту (Марвин Мински), философии (Дэниел Деннет), психологии (Жан Пиаже), физике (Ганс Бете)…
  3. Большая часть прикладного DL - это действительно дисциплинированная инженерия - и профессор Нг предоставляет фантастический сборник для курса 3 (Мой любимый из 3 курсов, выпущенных на данный момент). Образ мышления, необходимый для того, чтобы заставить DL работать для ваших проблем, ничем не отличается от того, который требуется при подходе к любой другой сложной инженерной проблеме. Все, что вам нужно знать, было ясно задокументировано Клодом Шенноном несколько десятилетий назад.

Спасибо за чтение и наилучшие пожелания!

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