Привет! Это Коля, и уже три года я работаю ML-инженером.
Все началось с того, что я работал в вебе и страшно устал от рутинных задач, связанных с разработкой пользовательских интерфейсов. Мне захотелось большего интеллектуального вызова. Как и многие, я слышал о машинном обучении, но не представлял себе, с чего начать и какой объем знаний потребуется. Но очень хотел попробовать.
Первые шаги: построение фундамента
Мой знакомый ML-щик сказал, что первая и главная задача — освоить базовые математические концепции. Сюда входят линейная алгебра, вероятности и статистика. Без этих знаний понимание более сложных алгоритмов и моделей было бы невозможным. Конечно, я когда-то изучал это в университете, но так потом особо этими знаниями не воспользовался.
Здесь мне помогла книга «Глубокое обучение» Иана Гудфеллоу, Йошуа Бенджио и Аарона Курвилля.
Также многие советовали книгу «Грокаем глубокое обучение» от Эндрю Траска, но она показалась мне недостаточно понятной, поэтому я пока ее отложил.
Погружение в программирование и алгоритмы
Следующий шаг — изучение языка программирования Python. Конечно, я раньше писал на Python, но для ML потребовались более глубокие знания.
Дальше я почувствовал необходимость включения практики в обучение. Курс Machine Learning от Stanford University на Coursera был создан давным давно одним из основателей сервиса — Andrew Ng. Кажется, сейчас он один из самых популярных и его рекомендуют ничуть не меньше моей «математической Библии».
Экспериментирование с данными
Когда я понял основы, пришло время для следующего шага — работы с данными. Я начал изучать процессы очистки, нормализации и визуализации данных.
И на этом этапе я пересмотрел десятки самых разных курсов. Но, увы, их было так много не от того, что я увлекся темой, а потому что они были не слишком понятные. В итоге от себя лично я могу порекомендовать серию курсов «Data Analyst Nanodegree» на Udacity.
Построение и обучение моделей
Дальше отступать стало некуда — пришло время для построения собственных моделей.
И вот тут, казалось бы, должно было все-таки прийти время для «Грокаем глубокое обучение» от Эндрю Траска, но я свернул немного в сторону — к книге «Грокаем алгоритмы» от Адитья Бхаргава.
А когда у меня появилось достаточно знаний, я решил участвовать в настоящих проектах.
Мне очень помогла платформа Kaggle.
Постоянное обучение и развитие: курсы и сертификаты
Последний и, возможно, самый важный этап — непрерывное обучение. Технологии машинного обучения стремительно развиваются, и остановка на достигнутом невозможна.
Мне помогают курсы, например, сейчас я прохожу DeepLearning.AI на Coursera. И у меня еще большой список того, на что стоит обратить внимание :)
Итак, мой путь был долгим и сложным, но каждый шаг на этом пути приблизил меня к тому, чтобы стать полноценным ML-инженером. Сейчас я продолжаю изучать новые технологии и совершенствую свои навыки, но наконец-то работаю в желаемой сфере. И мои рутинные задачи больше не кажутся мне скучными.