Руководство для самостоятельного изучения, как стать неспециалистом в области глубокого обучения

Как и многие другие, за последние пару лет я увлекся машинным / глубоким обучением.

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

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

Предоставленный самому себе, я читал научно-фантастические романы, смотрел Netflix и вообще ничего не добивался каждый день.

Действительно, существует множество отличных онлайн-ресурсов для обучения:

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

В конечном итоге моя главная цель - ответить на вопрос:

Действительно ли мне нужно стать экспертом в области глубокого обучения, чтобы сделать карьеру в области глубокого обучения?

Привилегия

Как и все остальное, вы должны с чего-то начать, и я начинаю со степени разработчика программного обеспечения, мастера на все руки в нескольких языках, практического опыта создания Raspberry Pi Hadoop Cluster, завершил Данные Udacity. Аналитик Nanodegree и недавно работал техническим владельцем продукта в компании-стартапе, предоставляющей профессиональные услуги.

Я не верю, что вам нужен мой опыт, чтобы следовать моему расписанию, на самом деле, я собираюсь пойти на крайность и сказать, что вам нужен только 1 год опыта программирования - если Fast.ai MOOC может заявить об этом, так что могу я.

Нет степени магистра. Нет доктора философии. Всего 3 месяца и 13 шагов к новой карьере.

А теперь приступайте к работе!

  1. Практическое глубокое обучение для программистов, часть 1
  2. Создайте свою собственную машину для глубокого обучения
  3. Присоединяйтесь к Kaggle и примите участие в соревновании
  4. Начать вести блог
  5. Посещайте местные встречи
  6. Практическое глубокое обучение для программистов, часть 2
  7. Начни свой личный проект
  8. Продолжайте вести блог
  9. Завершите свой личный проект
  10. Обновите свое резюме
  11. Создать портфолио
  12. Ищите отличные компании
  13. Начни свою новую карьеру

1 месяц

Глубокое обучение: часть 1

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

План курса для части 1 охватывает: классификацию изображений с помощью Theano, CNN, архитектуру CNN, NLP и RNN, Python 2.7 и др.

Практическое глубокое обучение для программистов, часть 1

Создайте свою собственную машину глубокого обучения

Это не только будет дешевле в долгосрочной перспективе (по сравнению с AWS), но и в краткосрочной перспективе повысит вашу повседневную продуктивность.

Идея состоит в том, чтобы построить машину DL по разумной цене. Установите все необходимое программное обеспечение самостоятельно и узнайте немного больше, чем средний разработчик машинного обучения.

Создание собственной установки для глубокого обучения

Сборка ПК для глубокого обучения за 1000 канадских долларов (мое собственное путешествие - скоро)

Станьте Kaggler

Kaggle для инженеров глубокого обучения, как Github для программистов. Даже если вы никогда не участвуете в соревнованиях (а вы должны это делать!), Kaggle - отличный источник знаний. Посетите форумы, наборы данных, скрипты и т. Д.

Курс глубокого обучения Fast.ai поможет вам начать работу с Kaggle с урока 1.

Kaggle

2-й месяц

Начать блог

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

Средний

Страницы Github

Посещайте встречи

Идея здесь в том, чтобы провести некоторое время с сообществом dl / ml. Это может быть отличным источником знаний и нетворкинга. Кроме того, если вы, как и я, учитесь на дневном отделении, это также поможет вам выйти из дома и пообщаться с другими людьми лично!

Meetup.com

Eventbrite.ca

Глубокое обучение: часть 2

Часть 2 курса «Практическое глубокое обучение для программистов» в настоящее время выполняется (по состоянию на 17 апреля). Но к тому времени, когда я закончу часть 1, часть 2 уже должна быть в сети. Без сомнения, это будет связано с другими проектами Kaggle и сторонними проектами.

План курса для части 2 охватывает: Tensorflow, RNN, Python 3, компьютерное зрение, NLP, производственные модели и многое другое.

Практическое глубокое обучение для программистов, часть 2

Персональный проект

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

Для меня это пример того, как глубокое обучение превращается в реально работающий продукт - именно в этом мой интерес (а не исследовательская сторона вещей).

Моя, вероятно, будет связана с компьютерным зрением

3 месяц

Посещайте встречи + ведение блога

Держись! Не сдавайся.

Глубокое обучение, часть 2 + личный проект + Kaggle

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

4 месяц (+ 5)

Обновите свое резюме

Пора работать над резюме. Главный трюк здесь - продемонстрировать передаваемые навыки, а также новые навыки и проектную работу. Лично я думаю, что любимый проект и работа над Kaggle будут самыми важными пунктами, на которые стоит обратить внимание.

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

портфолио

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

Компания важнее роли

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

Еще одна меньшая, но важная точка, знайте свои варианты. В моем городе, Торонто, Калифорния, вы не найдете столько стартапов или компаний среднего размера, которые требуют инженеров машинного обучения, как Нью-Йорк или Сан-Франциско. Так что я буду держать глаза открытыми и на возможности переезда.