Машинное обучение. как стать специалистом.

Рассказывает CTO в LoyaltyLab и
спикер курсов Binary District
Александр Кондрашкин

Согласно отчёту McKinsey в США наблюдается устойчивый дефицит специалистов по машинному обучению: спрос растёт на 12% в год, а предложение — лишь на 7%, в итоге в ближайшем будущем открытых вакансий будет на 250 000 больше, чем потенциальных претендентов. В России, по оценкам HeadHunter, число позиций для специалистов по машинному обучению и искусственному интеллекту в 2017 году выросло почти в 11 раз.

CTO в LoyaltyLab и спикер курсов Binary District Александр Кондрашкин составил поэтапный гид по изучению AI. Александр утверждает: «Вокруг машинного обучения сформировался ореол дикой сложности. Это так, если вы хотите делать открытия, разрабатывать новые алгоритмы и войти в историю науки, но если просто применять известные решения на практике — порог входа вовсе не большой». Практически все программисты обладают необходимой базой для построения карьеры специалиста по искусственному интеллекту.

Что нужно для старта

Абстрактное мышление

Машинное обучение вращается вокруг поиска закономерностей в данных. Data Scientist посвящает куда больше времени генерации гипотез, подготовке и проведению бесконечных экспериментов над массивами данных, чем проектированию архитектур сервисов и их отладке. В сознании специалиста дороги и перекрестки Яндекс.Карт превращаются в графы, а статистика по снятиям наличных в банкоматах — во временной ряд в аналитической системе. Без навыка представления обыденных вещей в абстрактном виде тут не обойтись.

Общая грамотность в математических дисциплинах

Карьера в машинном обучении требует общей грамотности в математических дисциплинах. Теория вероятности, линейная алгебра, математический анализ — предметы, которые преподают на первом курсе любой технической специальности — ещё один краеугольный камень Data Science.

Знание Python и основ backend-разработки

Третий базовый навык — программирование. Большую часть работы по Machine Learning выполняют на Python, но знание любого языка ускорит обучение.

На этапе работы с подготовленными моделями пригодятся навыки backend-разработки. Даже с поверхностными знаниями в этой области нейронную сеть куда легче превратить в удобный для использования микросервис.

Если у вас уже есть эта база, можно смело отправляться учить машины.

С чего начать

Путь будущего специалиста по Machine Learning отчасти повторяет историю развития отрасли и начинается с классических алгоритмов обучения с учителем и без, созданных ещё в прошлом веке.

Для начала годится и байесовский классификатор, и линейная регрессия, и деревья решений — простые, интуитивно понятные методы автоматической сортировки объектов. В отличие от капризных нейросетей, от них проще добиться положительной обратной связи, увидеть: «Ух ты, машинное обучение и правда работает!» — и получить мотивацию разбираться в теме дальше.

Через два-три месяца изучения основ синтаксиса и классических алгоритмов самое время перейти к нейронным сетям простой архитектуры — однослойным перцептронам. Следующий логичный шаг — заставить работать многослойную нейронную сеть, а после стоит обратить внимание на обучение с подкреплением.

Как, где и на чём учиться

Чтобы освоить базовые методы, из оборудования достаточно надёжного ноутбука с доступом в интернет. Начинающим редко требуется по-настоящему быстрое железо, а на крайний случай остаются сервисы Google, Amazon, Microsoft и других облачных провайдеров, сдающих мощности в аренду.

Курсы и тренинги

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

Среди общедоступных выделяются курсы Яндекса, например, совместный проект с МФТИ: специализация «Машинное обучение и анализ данных» или «Advanced Machine Learning».

Один из самых популярных англоязычных курсов — «Machine Learning» Стэнфордского университета. Не так известны, но так же полезны и бесплатные программы «Intro to Machine Learning» и «Become a Machine Learning Engineer», которые предлагаются в Udacity.

Тем, кто хочет разобраться в нюансах применения Python для машинного обучения, стоит заплатить за «Data Science, Deep Learning and Machine Learning with Python» или «Python for Data Science and Machine Learning Bootcamp» на площадке Udemy. А для всех тех, кто хочет наладить обратную связь с преподавателями и получать знания очно, в Binary District открыт интенсивный практический курс по AI.

Практические задачи

Практиковаться можно и на самостоятельно придуманных задачах, но для учёбы такие эксперименты неэффективны. На то, чтобы собрать данные через API, очистить их и подготовить, уйдёт огромное количество времени и сил, которые можно потратить на усвоение знаний. Гораздо удобнее, когда всё придумано и сделано до вас. На образовательной платформе Kaggle публикуются задачи по машинному обучению с подробным описанием, заранее определёнными условиями и подготовленными датасетами.

Например, ставшие классикой задачи по предсказанию выживаемости пассажиров Титаника или цен на недвижимость в городе Эймс, штат Айова помогут досконально разобраться в классификации и регрессии, а распознавание рукописных цифр позволит погрузиться в работу с картинками через классическую проблему.

Что делать дальше

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

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

Практикуйтесь, читайте, экспериментируйте и делитесь опытом — потолка в этой сфере нет. Дальнейший профессиональный рост в Data Science — результат ежедневного труда, следствие усложнения задач, общения с коллегами, участия в конференциях и погружения в бизнес-метрики. Любую модель можно сделать ещё немного лучше, но со временем придёт понимание того, когда дополнительный процент точности не стоит затраченных усилий и не принесёт пользы компании.

Конечно, ИИ не решит все проблемы человечества, и не отберёт у программистов работу. Но уже сейчас машинное обучение открывает широкие возможности, технологические и профессиональные перспективы.

стянуто отсюда https://tproger.ru/blogs/coder-to-artificial-intelligence/
Зашарить