Требования
- вы должны быть готовы уделять обучению от 10 до 20 часов в неделю следующие полгода;
- у вас должны быть навыки программирования, потому то вам надо будет научиться работать с Python и облачными вычислениями (опыт самого Python и облачных вычислений не нужен);
- базовое знание математики;
- компьютер с доступом в интернет.
Шаг 1
Мы учимся вождению на практике, а не при помощи изучения работы сцепления и двигателя внутреннего сгорания (по крайней мере, не в самом начале). Мы будем придерживаться того же подхода и с глубоким обучением.
Пройдите курс Practical Deep Learning for Coders. Он займет у вас 4–6 недель. В этом курсе надо будет запускать код в облаке. В Google Colaboratory есть бесплатный доступ к GPU. Другие варианты — Paperspace, AWS, GCP, Crestle и Floydhub. Все они достаточно хороши. И не нужно создавать собственный сервер.
Шаг 2
Пора узнать некоторые основы. Изучите математический анализ и линейную алгебру. Хороший обзор матанализа представляет из себя Big Picture of Calculus. Линейную алгебру можно изучить по курсу Гилберта Стренга на OpenCourseWare от MIT. Как только вы закончите с этими двумя курсами, прочитайте Matrix Calculus for Deep Learning.
Шаг 3
Пришло время пройти все пять курсов в специализации глубокого обучения на Coursera. Вам нужно будет заплатить, чтобы получить оценку знаний. Но это того стоит. С вашим бэкграундом вы должны, в идеале, заканчивать по одному курсу каждую неделю.
Шаг 4
Закончите финальный проект. Здесь вы должны выбрать библиотеку глубокого обучения (Tensorflow, PyTorch, MXNet) и создать решение любой проблемы с нуля. Первые три шага должны были дать вам понимание применения глубокого обучения и твердый фундамент для дальнейшей работы. Создание проекта с нуля позволяет лучше освоить инструменты.
Шаг 5
Пройдите вторую часть курса на fast.ai — Cutting Edge Deep Learning for Coders. Этот курс затрагивает более сложные темы, и вы сможете читать последние исследования в этой области.
Каждый из шагов должен занять от 4 до 6 недель. Примерно через 26 недель у вас будет солидный фундамент в глубоком обучении, если вы будете следовать этому плану.
Глубокое обучение: что дальше?
Пройдите Стэнфордские курсы CS231n и CS224d. Это отличные курсы для изучения компьютерного зрения и обработки естественного языка, соответственно. И прочитайте книгу, которая даст вам ещё большее понимание темы.