Когда-то я работал в Apple Store и мечтал изменить свою жизнь: вместо обслуживания техники Apple, мне хотелось ее создавать.
Я начал изучать машинное обучение (ML) и искусственный интеллект (AI), потому что на этом поприще творятся невероятные вещи. К тому же, эта область активно развивается.
Например, такое ощущение, что Google или Facebook каждую неделю выпускают новую технологию AI, чтобы ускорить работу или улучшить наш с вами пользовательский опыт.
И даже не будем затрагивать такую тему, как растущее число компаний по производству беспилотных автомобилей. Это отличная идея, но, к сожалению, я не поклонник вождения.
Несмотря на все вышеперечисленное, до сих пор не существует согласованного понятия искусственного интеллекта (AI).
Некоторые утверждают, что глубокое обучение можно рассматривать как AI, другие говорят, что это не AI, пока не пройден Тест Тьюринга.
Из-за отсутствия четкого определения, мой прогресс изрядно затормозился в начале. Было трудно разобраться в том, что не имело строгого определения.
С чего я начал?
Начнем с того, что, какое-то время назад, я и мои друзья запустили веб-стартап. Он провалился. В итоге мы сдались и не стали продолжать из-за бессмысленности идеи. Но во время работы над стартапом, я все больше и больше узнавал о таких вещах, как ML и AI.
Я не мог поверить в то, что компьютер может что-то учить для меня.
Через какое-то время я наткнулся на курс от Udacity под названием Deep Learning Nanodegree. На одном из промо-роликов я увидел забавного человека по имени Сирадж Раваль. Он заразил меня своей энергией и я записался на курс, несмотря на то, что совсем не отвечал основным требованиям (я ни разу не писал на Python).
За 3 недели до начала курса, я написал в Службу Поддержки Udacity, с вопросом об их политике возврата средств. Я боялся, что не смогу закончить курс.
Что же, мне не потребовался возврат, так как я закончил курс в установленный срок. Было действительно тяжело. Мои первые проекты были сданы с опозданием на четыре дня. Я шел вперед только из-за гордости от принятия участия в данном проекте.
Окончив Deep Learning Nanodegree, я гарантированно получал доступ к другим курсам Udacity, таким как AI Nanodegree, Self-Driving Car Nanodegree или Robotics Nanodegree.
Но я был растерян. Что делать дальше?
Мне нужен был учебный план. Я получил необходимые базовые знания с помощью Deep Learning Nanodegree, теперь пришло время выяснить, куда двигаться дальше.
Моя собственноручно созданная степень магистра по AI
В мои планы точно не входило возвращаться в университет. К тому же $100,000 на дороге не валяются, чтобы получить степень магистра.
Поэтому я сделал то, что сделал в самом начале своего пути — попросил своего наставника Google о помощи.
Я понял, что погрузился с головой в глубокое обучение без каких-либо знаний в этой области, вместо того, чтобы постепенно взбираться на верхушку айсберга под названием AI.
Просмотрев кучу курсов, я составил список самых интересных в Trello.
Я знал, что онлайн-курсы имеют высокий процент отсева, но я не собирался становиться частью этих отсеявшихся участников. У меня была миссия.
Чтобы привить себе ответственность, я решил делиться своими успехами и неудачами в Интернете. Помимо этого, там я мог бы найти других людей, которые заинтересованы в том же, что и я.
Я сделал доску Trello открытой и написал о своих начинаниях в блоге.
Мой учебный план немного изменился с тех пор, как я впервые написал его, но он по-прежнему актуален, и я посещаю доску Trello несколько раз в неделю, чтобы отслеживать свой прогресс.
Получение работы
Я следовал своему учебному плану вот уже более года, настало время на практике применить свои навыки. Поэтому я купил билет на самолет в один конец в США.
Мой план заключался в том, чтобы добраться до США и получить работу.
Однажды, девушка по имени Эшли написала мне на LinkedIn вот такое письмо: “Я видела твои посты и они на самом деле отличные, я думаю, тебе стоит встретиться с Майком”.
Я встретился с Майком и рассказал ему свою историю онлайн-обучения, о том как мне нравится Health Tech и о своих планах по переезду в США. Майк сказал мне: “Тебе лучше остаться тут на год или дольше, и посмотреть, что из этого выйдет. Кроме того, советую тебе встретиться с Кэмероном”.
Я встретился с Кэмероном и у нас был практически такой же диалог, что и с Майком. Health Tech, онлайн-обучение, США. Кэмерон сказал мне: “Мы с командой работаем над некоторыми проблемами в области здравоохранения, почему бы тебе не прийти к нам в четверг?”.
Настал четверг. Мои нервы были на пределе. Чтобы успокоиться, я вспомнил слова какого-то мудрого человека: нервное состояние — это то же самое, что и воодушевленное. Я перестал нервничать и переключился на нужное, в данной ситуации, состояние.
Весь день я знакомился с командой Max Kelsen.
Две недели спустя, Ник — генеральный директор, Атон — ведущий инженер по машинному обучению и я пошли за кофе.
“Ты хотел бы присоединиться к команде?” — спросил меня Ник.
“Конечно” — ответил я.
Билет в США мне не понадобился.
Делитесь своей работой
Я знаю, что онлайн-обучение не является традиционной формой обучения. Все специальности, к которым я обращался, требуют степени магистра или, по крайней мере, какую-то техническую степень.
Никакой степени у меня, естественно, не было. Но у меня были навыки, которые я получил, благодаря множеству онлайн-курсов.
Во время обучения, я делился своей работой в Интернете. Мой GitHub был заполнен проектами, которые я сделал, профиль на LinkedIn я забросил и стал делиться своими знаниями через YouTube и статьи на Medium.
Я никогда не писал резюме для Max Kelsen, потому что они и так уже все про меня знали из моего профиля на LinkedIn.
Моя публичная деятельность и была моим резюме.
Независимо от того, учитесь ли вы онлайн или получаете степень магистра, наличие портфолио с примерами ваших работ — отличный способ показать себя.
Да, навыки по ML и AI востребованы, но это не значит, что вам ничего не придется делать, чтобы получить работу. Продемонстрировать навыки придется, потому что даже гениальный продукт не будет продаваться, если его не поместить на видное место.
Создайте себе профиль на GitHub, Kaggle, LinkedIn или просто заведите блог — люди должны о вас как-то узнать. Кроме того, иметь собственный уголок в Интернете — очень весело.
Как начать?
На каких платформах учиться? Какие курсы лучше выбрать?
Однозначного ответа нет. Учебный процесс у всех складывается по-разному. Некоторые люди лучше учатся по книгам, другие по видео.
Важнее не то, как начать, а почему вы это начинаете.
Начните с определения причины.
- Почему вы хотите изучать эти навыки?
- Вы хотите много зарабатывать?
- Вы хотите создавать что-то интересное?
- Вы хотите что-то изменить в нашем мире?
Опять же, нет единственно верной причины. Все они верны по-своему.
Наличие “почему” означает, что в трудные времена у вас будет к чему обратиться за помощью, чтобы напомнить себе, почему вы все это затеяли.
Определили свое “почему”? Хорошо. Пришло время перейти к самой трудной части.
Я могу рекомендовать только то, что сам пробовал.
Вот курсы, которые я окончил (по порядку):
- Treehouse — Введение в Python
- Udacity —Глубокое обучение и AI
- Coursera — Глубокое обучение от Andrew Ng
- fast.ai — Часть 1, скоро будет Часть 2
Я лучше воспринимаю визуальную информацию, то есть когда мне наглядно показывают и объясняют разные вещи. Все эти курсы заточены на таких как я.
Если вы абсолютный новичок, начните с вводных курсов по Python, а затем, когда станете более уверены в своих знаниях, переходите к data science, машинному обучению и AI.
Нужны ли углубленные знания по математике?
Самый высокий уровень математического образования, который я получил, был еще в старшей школе. Остальное я узнал через Khan Academy, поскольку эти знания были мне необходимы.
Существует большое количество мнений по поводу того, какой уровень знаний по математике нужно иметь, чтобы попасть в сферу машинного обучения и AI. Я поделюсь с вами своим мнением.
Если вы хотите применить знания ML и методы AI к какой-либо проблеме, вам не обязательно нужно иметь глубокое понимание математики, чтобы достичь хорошего результата.
Такие библиотеки, как TensorFlow и PyTorch позволяют создавать, при небольшом знании Python, современные модели, в то время как математика делает основную работу за кулисами.
Если же вы собираетесь углубиться в машинное обучение и AI, поступив в университет или куда-то еще, глубокие знания по математике играют наиважнейшую роль.
Лично я не собираюсь углубляться в математику и улучшать производительность алгоритма на 10%. Оставлю это людям, которые умнее меня.
Вместо этого, я буду использовать доступные мне библиотеки и манипулировать ими как мне угодно, чтобы решать проблемы по своему усмотрению.
Что на самом деле делает специалист по машинному обучению?
То, что специалист по машинному обучению делает на практике, может оказаться совсем не тем, о чем вы думаете.
Например, несмотря на распространенный факт, мы не работаем с роботами, у которых красные и страшные глаза.
Вот несколько вопросов, которые ежедневно задает себе специалист по ML:
- Концепция — как можно использовать ML, чтобы узнать больше о проблеме?
- Данные —сколько данных вам требуется? В каком формате они должны быть? Что вы делаете, когда данные отсутствуют?
- Моделирование — какую модель следует использовать? Хорошо ли она работает с данными (переобучение)? Если работает плохо, то почему?
- Производство — как вы можете использовать свою модель в производстве? Должна ли это быть онлайн-модель или она должна обновляться через определенные промежутки времени?
- Будущее — что произойдет, если ваша модель сломается? Можно ли улучшить ее с большим количеством данных?
Я позаимствовал эти вопросы из замечательной статьи Рейчел Томас, одной из основательниц fast.ai.
Кроме того, я снял видео о том, чем мы занимаемся по понедельникам в Max Kelsen.
Нет однозначно верного пути
Не существует правильного или неправильного способа попасть в сферу ML или AI.
Самое прекрасное в этой сфере то, что у нас есть доступ к одним из передовых технологий в мире, и все, что нам нужно сделать — это научиться правильно их использовать.
Вы можете начать с изучения Python.
Вы можете начать с изучения исчисления и статистики.
Вы можете начать с изучения философии принятия решений.
Машинное обучение и AI привлекает меня именно тем, что тут сходится так много разнообразных областей.
Чем больше я узнаю, тем больше еще остается узнать. И это подстегивает меня двигаться вперед.
Когда мой код не запускается или я не понимаю концепцию, я временно прекращаю работу. Я сдаюсь, позволяя себе уйти от проблемы, немного вздремнуть или сходить на прогулку. Когда я возвращаюсь со свежей головой, я смотрю на проблему под другим углом. Воодушевление возвращается и я продолжаю учиться.
Начните свое обучение с того, что вам больше всего по душе. Если это приведет вас в тупик, вернитесь назад и выберите другой путь.
Компьютеры умны, но они все еще не могут учиться самостоятельно. Им нужна ваша помощь.