Топ-5 способов начать заниматься машинным обучением

Как пишет Лусеро дель Альба на techpoint.com, машинное обучение стремительно развивается, и делает оно это неистово, привнося новые идеи в каждую отдельную отрасль. Если вы хотите быть востребованным — это именно тот навык, который выведет вас на передовую. Устрашающее на первый взгляд, оно удивительно просто, если найти к нему правильный подход.
Машинное обучение (МО) – это захватывающая практика и область исследований. Именно оно позволило создание самоуправляемых машин; роботов, которые сами убирают ваш дом; навигационных систем всех видов дронов; системы рекомендаций на YouTube и Netflix; систем распознавания лиц; распознавания рукописного текста; компьютерных игр и многого другого.
Также, из-за его невероятной ценности и, в некотором роде, таинственной природы, это очень востребованный экспертный потенциал, который продолжает распространение в различные сферы – что ещё пять лет назад казалось немыслимым. В этой статье рассмриваются различные практические подходы к машинному обучению.
«Простите… но что такое машинное обучение?»
МО – это ответвление искусственного интеллекта (ИИ). Как сказал один из основоположников данной области Артур Самуэль, МО даёт «компьютерам способность обучаться, не будучи непосредственно запрограммированными». Таким образом, вместо программирования компьютера (или робота) на какую-либо деятельность, вы даёте информацию и задаёте общую схему, что позволяет системе программировать саму себя.
Чертовски захватывающе, правда? Да, но в детали этого, казалось бы, невозможного процесса, мы вдаваться не будем. Вместо этого, мы укажем вам правильные места, где вы сможете сделать это самостоятельно.
Прежде, чем начать
МО – это что-то из продвинутой практики, и вам потребуются не только некоторые базовые знания компьютерных наук, но также способность писать код на хотя бы одном языке программирования. Популярные языки программирования для МО — Python, R, Java, C, и MATLAB, среди прочих.
1. Начните очень быстро… меньше, чем за десять минут
Иногда, и для некоторых людей, лучше сразу же начать работу над чем-нибудь, чтобы получить первое впечатление и выработать интуицию о том, что представляет из себя это новое искусство или умение, а уже после — погрузиться в некоторые детали и особенности.
Рецепты машинного обучения от Google с Джошем Гордоном как раз об этом – прямолинейный и практичный подход к МО. Используя scikit-learn от Python и библиотеку TensorFlow, Джош покажет вам несколько очень практичных примеров и приземленно объяснит сами принципы МО.
Вот первое 7-минутное видео из этой серии, рассказывающее о контролируемом алгоритме обучения в Python – всего в шести строках кода!:
Видео выходят немного нерегулярно, каждый месяц или каждые два месяца, раскрывая такие темы, как деревья решений, выбор функций, пайплайны, классификаторы: совсем неплохо для 6-8 минутных видео, понять которые может любой человек, обладающий небольшими базовыми знаниями программирования и английского языка.
2. Посетите курсы от первоклассных университетов (бесплатно)
Если жаждете качественных знаний, вы, возможно, слышали о Coursera, edX, Udacity и многих, многих других. Мы говорим о МООК или массовых открытых онлайн-курсах.
Давайте быстро это разберем:
- Массовые: отсутствует ограничение на количество мест, доступны любому количеству желающих.
- Открытые: доступны всем, независимо от возраста и предыдущих знаний по теме, а также от возможности оплатить сертификацию.
- Онлайн: все, что требуется – это подключенное к сети интернет устройство; подойдёт даже мобильный телефон.
- Курсы: это реальные курсы с необходимой литературой, практическими занятиями и даже сроками.
Давайте рассмотрим некоторые курсы, с которых можно начать.
«Машинное обучение» от Эндрю НГ из Стэнфорда
Профессор Стэнфорда Эндрю Нг – ведущий исследователь в области искусственного интеллекта, а также человек, который фактически разжёг искру МООК, которая позже превратилась в костёр знаний, начав свой онлайн-курс машинного обучения. Реакция была ошеломляющей, когда тысячи людей со всего мира проходили курс и обсуждали его темы. Позже он превратил свой курс в то, что сегодня известно, как Coursera, ведущий провайдер МООК’ов.
Данный курс настолько великолепен, насколько непрост. Около часа уходит только на то, чтобы прочесть 5-страничное описание рассматриваемых задач и понять его. Так что, в отличие от сериала Джоша Гордона, это более научный подход, но с большим количеством практических знаний и советов, которые очень пригодятся в занятиях МО. Однако, это выполнимо, а количество отзывов на форумах действительно ошеломляет. Имейте в виду, что это один из первых МООК, и один из лучших.
Детали курса:
- Приблизительная продолжительность: 2-5 месяцев.
- Сложность: высокая.
- Загруженность: средне-тяжёлая.
«Введение в искусственный интеллект» Себастьяна Трона
Будучи профессором и исследователем ИИ в Стэнфорде (в области робототехники), сооснователем Google X Lab (полусекретная R&D компания, разработавшая, кроме прочих проектов, самоуправляемые машины Google), Себастьян является также основателем крупного провайдера МООК – Udacity. Совместно с Питером Норвигом (директор по исследованиям в Google), он подготовил потрясающее «Введение в искусственный интеллект».
Это практически основа всего МО. Он намного легче курса Эндрю, с содержанием, разделённым на большее количество разделов, чтобы его легче было осмыслить, но, тем не менее, курс довольно длительный.
Детали курса:
- Приблизительная продолжительность: 4 месяца.
- Сложность: средняя.
- Загруженность: легкая.
«Изучая данные» от Ясер С. Абу-Мостафы из Калтеха
Профессор Ясер – это еще один основоположник онлайн-распространения качественного обучающего материала, МО курс которого — «Изучая данные», был доступен на его веб-сайте, со всеми его лекциями, обучающими материалами и тестами, еще до появления МООК’ов. Позже, он объединил эти материалы в МООК, регулярно предлагаемый Калтехом на edX.
Те, кто прошли данный курс, могут сказать вам, что здесь нужно будет потрудиться. Но, если вам понравился курс Эндрю, и вы жаждите больше основ – это выглядит как разумный следующий шаг.
Детали курса:
- Приблизительная продолжительность: 4 месяца.
- Сложность: очень высокая.
- Загруженность: очень тяжелая (10-20 часов в неделю).
Другие курсы Coursera, edX и Udacity
Выбор бесплатных МО и ИИ курсов, не только у Coursera, edX и Udacity, но и у других провайдеров МООК, вроде Data Camp, довольно широк – хотя изучение данных, судя по всему, является чем-то вроде ниши для трех провайдеров, которых мы обсудили.
3. Получите сертифицированное образование за небольшую цену
Итак, мы поговорили о МООК. Они потрясающи и вам не нужно платить ни копейки, чтобы на них записаться и начать обучение. В начале, эти провайдеры предлагали бесплатные сертификаты или отчеты о достижениях, некоторые можно было даже получить онлайн. Эти программы, тем не менее, были прекращены, так что, в большинстве случаев, вы не получите сертификат или какое-либо другое удостоверение, с помощью которого можно было бы показать уровень вашего образования потенциальному работодателю или другому ВУЗ’у.
Это не проблема, если вы хотите учиться просто ради учёбы и даже использования этих знаний в успешной карьере фрилансера, по примеру многих профессионалов по всему миру. Но использовать их в работе может быть затруднительно, а сертификаты и дипломы, во многих случаях, облегчают этот процесс, так что давайте обсудим их.
Подтвержденные курсы
Стоимость подтвержденных курсов может варьироваться от $40 до $200, в зависимости от курса и института. По сути, вы платите надбавку к цене за подтверждение вашей личности и навыков (это и есть то, что из себя представляет подтверждающего сертификата). Вы можете найти больше информации о Course Certificates от Coursera и Verified Certificates от edX. Вы обнаружите, что оба провайдера предлагают огромное количество подтвержденных курсов по МО и изучению данных, что можно видеть в этом результате поиска на edX.
Учтите, что платите вы или нет, содержание и материалы курса не меняются. Всё, что вы получаете за деньги – это сертификат о том, что вы действительно начали и прошли курс.
Специализации Coursera
Coursera взяли концепцию подтвержденных курсов и улучшили её, сгруппировав связанные друг с другом курсы, и добавив дипломный проект для того, чтобы вы могли получить ваш сертификат о специализации.
Некоторые специализации, представляющие для нас интерес:
Специализация |
Курсы |
Институты |
6 |
Калифорнийский университет в Сан-Диего |
|
5 |
deeplearning.ai |
|
4 |
Вашингтонский университет |
|
5 |
Миннесотский университет |
|
Введение в робототехнику | 6 | Пенсильванский университет |
Вероятностные графические модели (ВГМ) | 3 | Стэнфордский университет |
Степень магистра от Coursera
Магистр компьютерных наук в области науки о данных Coursera (MCS-DS) – это подлинная, официальная степень магистра, выданная аккредитованным университетом. Темы в программе очень сильно связанны с МО и включают в себя:
- визуализацию данных
- машинное обучение
- сбор данных
- облачные вычисления
- статистику
- информатику
Детали курса:
- Институт: Иллинойсский университет в Урбане-Шампейне
- Стоимость: $600 в час и $19,200 за полный курс
- Продолжительность: 32 часа
XSeries и профессиональные сертификаты от edX
У edX существует программа под названием XSeries для курсов, затрагивающих одну тему, в стиле, очень похожем на специализации от Coursera. Выпуски включают в себя:
Выпуски |
Курсы |
Институты |
Стоимость |
3 |
Microsoft |
$49–99 за курс |
|
3 |
Гарвардский университет |
$132.30 |
|
4 |
Гарвардский университет |
$221.40 |
|
3 |
Калифорнийский университет в Беркли |
$49–99 за курс |
Также edX предоставляет программы получения профессиональных сертификатов по «ключевым навыкам», которые включают в себя науку о данных и большие данные, обе на базе Microsoft.
MicroMasters и College Credit от edX
Доступны также курсы, дающие право на получение кредита, которые не только подтверждены, но также могут послужить вам в деле получения кредита на бакалавриат или магистратуру. Естественно, мелким шрифтом указано множество деталей, так что вам придётся провести дополнительное исследование.
MicroMasters от edX точно в том же духе. Вот несколько интересных вариантов (стоят они больше, так как вы также оплачиваете часы обучения научной степени):
Программа |
Курсы |
Институты |
Стоимость |
Искусственный интеллект |
4 |
Колумбийский университет |
$1,200 |
Большие данные |
5 |
Университет Аделаиды |
$1,215 |
Наука о данных |
4 |
Калифорнийский университет в Сан-Диего |
$1,260 |
Робототехника |
4 |
Пенсильванский университет |
$1,256 |
Больше о получении университетского кредита можно найти на edX, а также, прочтя статью «MOOCs for Credit» от Class Central.
Нанодипломы от Udacity
Нанодиплом – это что-то вроде диплома, выданного Udacity. Поскольку Udacity не являются аккредитованным учебным заведением, они приложили огромные усилия для установления партнерских отношений с лидерами в отрасли, с целью предоставления максимально ориентированного на рынок образования – другими словами, с целью обучить вас непосредственно тем навыкам, в которых в данный момент нуждается рынок труда.
И мы говорим о действительно крупных фирмах: Google, Amazon, IBM, Nvidia, Mercedes-Benz, DiDi, AT&T, среди многих прочих. Партнёры Udacity не только участвуют в создании программ обучения, но и имеют с Udacity соглашения о найме!
Udacity и их партнёры дошли до того, что публикуют ожидаемые размеры заработной платы:
Программа |
Время |
Ожидаемая зарплата |
6 месяцев |
$59.4K — $250K |
|
подлежит определению |
подлежит определению |
|
6 месяцев |
$38.7K — $212K |
|
Два трехмесячных срока |
$42k — $156k |
|
9 месяцев |
$67.8K — $265K |
Получите работу или ваши деньги назад!
На самом деле, нанодиплом по МО – это часть программы Nanodegree Plus, которая, вероятно, является одной из наиболее безумных инноваций в онлайн-обучении: вы обучаетесь и выпускаетесь, и, если вы не получите высокооплачиваемую работу, Udacity вернёт вам деньги за обучение! Невероятно.
4. Принимайте участие в онлайн-конкурсах: учитесь и выигрывайте деньги (если преуспеете в этом)
Kaggle – это онлайн платформа (теперь это часть Google) для прогнозных и аналитических конкурсов, где компании и исследователи со всего мира выкладывают наборы данных и статистику, чтобы конкурсанты искали модели, которые смогут сделать прогноз и объяснить данные – почти всегда, используя МО.
С помощью конкурсов была улучшена программа распознавания жестов для Microsoft Kinect, поиск бозона Хиггса в CERN, были сделаны инновационные прорывы в биологии и медицине, среди прочих. Нужно также отметить, что многие из победителей не имели предшествующих знаний физики, химии или каких-либо других конкурсных наук, о чём можно прочесть в интервью с победителями от Kaggle.
Также можно выиграть деньги! Большие, на самом деле, деньги (чтобы узнать детали о конкурсе Kaggle на $3 миллиона, смотрите “The latest incentive contest aims to predict hospitalizations by harnessing spare grey cells“).
Индивидуально или в составе команды
Вы можете бесплатно присоединиться, выбрать язык программирования, алгоритм и тут же начать участвовать в любом конкурсе. Существуют форумы с очень высокой активностью на них, где вы можете узнать много информации о том, какие конкурсы бросают реальный вызов МО, можете собраться в команду и, если ваша команда победит в конкурсе, разделить призовые деньги.
Но, даже если конкурс вы не выиграете, в процессе, применяя реальные выборки данных и обсуждая с другими практиками МО подробности моделирования данных с целью прогнозирования, вы многому научитесь.
Следите за списком лидеров
Kaggle имеет очень крутую рейтинговую систему в реальном времени для проводимых конкурсов, что позволяет почувствовать реальный соревновательный дух.
Но опасайтесь! Как вы сможете узнать, рано или поздно, создание модели, предсказывающей тестовые данные очень точно, может поднять ваш рейтинг на несколько очков, но позже, когда представят новые данные, это вас погубит (привет, переобучение!).
5. Устройтесь на работу!
Как и практически во всём, чем больше вы над этим работаете и чем чаще вы бросаете себе вызов, тем лучше вы будете становиться. Лично или как часть организации, если вы знаете машинное обучение – вы будете востребованы.
В качестве фрилансера
Работать с МО в качестве фрилансера вполне возможно, и, со временем, можно начать получать достойный доход, свободно работая над проектами по машинному обучению.
Сайты вроде Freelancer, Upwork или Guru могут стать отправной точкой для работы над малыми и средними проектами. Но, имейте в виду, что это межнациональная и очень конкурентная сфера деятельности, так что создание портфолио и базы собственных клиентов из ничего, когда вы начинаете в одиночку, может быть очень непростой задачей.
В стартапе
Мы живём в эру изобилия данных, и эта тенденция будет только расти. Стартап-компании, часто работающие с технологиями, особенно нуждаются в инженерах, способных работать с данными и извлекать из них ценную информацию.
Как только вы построите прочный фундамент, ищите вакансии в местных технических компаниях и откликайтесь на них, даже если в них ищут не конкретно инженера МО, расскажите им, сколько ценного ваши аналитические способности и знания о сборе данных, могут привнести в их бизнес.
В обычной компании
Инженеры МО также очень востребованы в таких отраслях, как финансы, медицина, химия, и даже в таких неожиданных местах, как общественные науки, если доступны большие массивы данных.
Устроиться будет нелегко, так как понадобятся не только документальные доказательства ваших инженерных навыков, но и некоторые знания в отрасли (например, на вакансию «аналитик по управлению рисками» в банке, требуются не только навыки МО, но также степень бакалавра или магистра финансов или кредита). Тем не менее, если всё это у вас в наличии, то, будьте уверены, можно претендовать на самую высокооплачиваемую работу.
Что делать дальше
Вы хотите начать изучение МО и, к счастью, у вас есть выбор:
- Хотите иметь быстрое чутьё в МО? Смотрите видео Джоша Гордона и начните писать код через несколько минут.
- Хотите быть в авангарде глубокого обучения? Пройдите специализированный курс и применяйте эти техники к специфичным задачам.
- Хотите построить карьеру в МО? Получите диплом и найдите работу.
- Заинтересованы в академической сфере? Вам повезло, имеется много качественного материала!
Машинное обучение – одна из немногих дисциплин ИТ, о которой мы точно можем сказать, что она будет в тренде еще некоторое время в будущем. Алгоритмы могут меняться, техники могут совершенствоваться и могут появиться новые библиотеки, но мы сейчас в самом начале пути, который позволит машинам обучать самих себя.