«Нет единственно возможного пути». Как начать изучение AI и machine learning с нуля (+список курсов)

31 октября 2018, 14:24

Это ещё один пример успешного человека, который сам с нуля прошёл путь до инженера машинного обучения. Разработчик Дэниэл Бурк поделился своей историей на Hacker Noon.

Я работал в магазине Apple, но хотел изменить свою жизнь и создавать технологии, которые обслуживал. Я начал интересоваться машинным обучением (МО) и искусственным интеллектом (ИИ). Это очень насыщенная и динамичная сфера: кажется, каждый день Google и Facebook выпускают новые ИИ-продукты, которые делают жизнь человека проще и удобнее. Не говоря уже о количестве компаний, разрабатывающих беспилотные авто.

Но вместе с тем общепринятого определения «искусственного интеллекта» ещё нет. Одни считают, что к ИИ можно отнести глубокое обучение, другие — что только те системы, которые прошли тест Тьюринга. Отсутствие чёткого понятия поначалу сбивало с толку: было трудно изучать что-то, под чем понимают много разных вещей.

Но нужно было с чего-то начать.

У меня был неудавшийся веб-стартап, но я всё больше слышал о МО и ИИ. Я не верил, что машина может обучаться чему-то, как человек.

Мне попался курс по глубокому обучению на Udacity. В одном из промо-роликов был харизматичный разработчик Сираж Равал. Его энергетика была так заразительна, что я решил записаться на курс, хотя не проходил по базовым требованиям (к тому моменту я не написал ни строчки на Python). За три недели до старта я спросил в поддержке Udacity о компенсации: боялся, что не потяну программу.

Компенсация не понадобилась, потому что я закончил курс в срок. Было непросто, а иногда — даже очень сложно. Два первых проекта я сдал на четыре дня позже дедлайна, но восторг от того, что я прикоснулся к одной из самых важных технологий в мире, подталкивал меня вперёд.

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

Я создал свою программу изучения ИИ.

Я не собирался возвращаться в университет, тем более у меня не было лишних $100 тысяч на магистратуру. Поэтому я сделал то, что и вначале: обратился к своему ментору — гуглу, посмотрел несколько курсов и составил список самых интересных в Trello.

У онлайн-курсов высокий процент отсева слушателей. Но у меня была цель, и я решил идти до конца. А чтобы не отступать, начал делиться своими успехами в сети. Так я тренировался объяснять то, чему научился, и смог найти единомышленников. Я открыл доступ к доске в Trello и написал пост о своих начинаниях.

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

Потом я получил работу.

Я купил билет на самолёт до США в один конец. Я учился уже год: пришло время найти работу и применить эти навыки на практике.

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

Рассказывайте о своих проектах.

Онлайн-курсы — нетрадиционный метод обучения. Все вакансии, на которые я пробовался, требовали диплом магистра или хотя бы диплом по какой-то технической специальности. У меня не было ни того, ни другого. Но у меня были навыки, которые я приобрёл, пока проходил различные курсы в сети.

Попутно я публиковал то, что делаю. Все мои проекты были на GitHub, о них я писал в профиле на LinkedIn, а также делился тем, чему научился, в видео на YouTube и статьях на Medium.

Я не посылал резюме в Max Kelsen. Они сами нашли меня через LinkedIn. Багаж проектов, которые я сделал, говорил обо мне лучше резюме.

Независимо от того, учитесь вы онлайн или в вузе, портфолио — отличный способ привлечь к себе внимание. Навыки МО и ИИ востребованы, но это не значит, что их не нужно демонстрировать. Чтобы продать товар, нужно выложить его на витрину.

Будь то GitHub, Kaggle, LinkedIn или личный блог, у вас должен быть свой уголок в сети, чтобы люди могли узнать о вас.

С чего начать?

Многие спрашивают, с чего начать обучение и какие курсы — лучше. Но на него нет единственно верного ответа. Каждый человек выбирает то, что ближе ему: кому-то больше нравится читать книги, а кому-то удобнее смотреть видео. Гораздо важнее не как вы начинаете, а для чего.

Поэтому начните с ответа на вопрос, «зачем» вы хотите приобрести эти навыки:

  • чтобы заработать много денег;
  • чтобы строить что-то;
  • чтобы сделать что-то значимое.

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

Теперь нужно получить сами навыки. Я могу посоветовать только то, что пробовал сам. Я закончил следующие курсы (по порядку):

  • Treehouse  — введение в Python
  • Udacity  — курсы по глубокому обучению и искусственному интеллекту
  • Coursera  — курс по глубокому обучению от Эндрю Ына
  • fast.ai — Часть 1 (вышла Часть 2)

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

Сколько будет математики?

Я учил математику только в школе, а всё остальное по мере необходимости — на Khan Academy.

Есть много разных точек зрения на то, сколько математики нужно в МО и ИИ. По моему мнению, если вы собираетесь применять эти технологии для решения конкретной задачи, то хорошие результаты получите и без глубоких познаний в математике. Такие библиотеки, как TensorFlow и PyTorch, позволяют людям с опытом программирования на Python создавать мощные модели, а разобраться с математикой можно в процессе.

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

Лично я просто люблю использовать доступные мне библиотеки и по-всякому применять их для решения разных задач.

Чем занимается инженер машинного обучения?

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

Вот несколько вопросов, над которыми ежедневно работает инженер МО.

  • Контекст. Как можно применить МО, чтобы больше узнать о задаче?
  • Данные. Нужно ли больше данных? В какой форме они должны быть представлены? Что делать, если данных недостаточно?
  • Модели. Какую использовать модель? Не произойдёт ли переобучение или недообучение?
  • Продакшн. Как развёртывать модель в продакшн? Она должна быть доступна онлайн, или обновлять её периодически?
  • Поддержка. Что делать, если модель сломается? Как улучшить её, добавив больше данных? Можно ли усовершенствовать её?

Подробно об этом можно прочитать в замечательной статье соосновательницы fast.ai Рейчел Томас. Также у меня есть видео о том, чем мы занимаемся в Max Kelsen.

 

Нет единственно возможного пути

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

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

Иногда мне не даются какие-то понятия или мой код не работает. Я расстраиваюсь и на время всё бросаю: ложусь спать или отправляюсь на прогулку, чтобы отвлечься от проблемы. Это позволяет посмотреть на неё свежим взглядом, и я продолжаю учиться с новыми силами.

Эта сфера бурно развивается, и кажется, что начинать очень страшно. Не пытайтесь взяться за всё сразу. Выберите то, что для вас наиболее интересно, и не распыляйтесь. Если это ни к чему не приведёт, здесь тоже есть и свои плюсы: вы поняли, чем заниматься не стоит. Вернитесь в начало и выберите что-то другое.

подписка на главные новости 
недели != спам
# ит-новости
# анонсы событий
# вакансии
Обсуждение