Полное руководство о том, как начать изучать машинное обучение (ML) и искусственный интеллект (AI), не обладая каким-либо опытом в этой области.
В моих соцсетях мне сотни раз в день задают один и тот же вопрос: "как попасть в Machine Learning?" Зачастую он имеет другие формы, вроде: "как начать бесплатно?", "как начать, не будучи разработчиком?" и т.п. Поэтому я решил написать полное руководство о том, как начать свой путь в машинном обучении с полного нуля и бесплатно. Чтобы отвечать на такие актуальные вопросы, я исследовал множество ресурсов на протяжении нескольких последних лет, и сохранял лучшие из них в блокнот, чтобы быстро отвечать на будущие вопросы.
Сегодня я поделюсь этим блокнотом со всеми и перечислю множество прекрасных ресурсов, а также дам вам несколько советов относительно того, как лучше учиться, и как улучшать свои навыки в машинном обучении.
Кто может стать экспертом в машинном обучении?
Это руководство рассчитано на тех, у кого нет никаких или очень мало навыков в программировании, математике и/или машинном обучении. Вы не обязаны изучать приводимые материалы именно в этом порядке, но классическим путем будет изучение "с начала до конца", следуя порядку, приведенному в этой статье. Если вы не любите читать книги, пропустите соответствующую секцию, а если вам не нравится проходить курсы онлайн – и эту секцию тоже можно пропустить. Есть множество путей к тому, чтобы стать экспертом в машинном обучении, и вы, несомненно, сможете достичь этой цели своим путем.
Цель этой статьи – в том, чтобы предоставить путь для всех, желающих попасть в Machine Learning, но не знающих, с чего начать. Я знаю, что найти, с чего начать, или что изучать дальше при изучении чего-нибудь нового, может быть трудно, особенно если у вас нет учителя или кого-нибудь, кто дал бы хороший совет. Именно поэтому я перечислю множество ресурсов, с которыми вы сможете проконсультироваться, упорядоченных по возрастанию сложности. Если вы уже кое-что знаете, то просто пропустите некоторые шаги.
Все перечисленные здесь ресурсы бесплатны, кроме некоторых онлайн-курсов и книг, которые, несомненно, пригодятся для лучшего понимания, но без которых все-таки можно обойтись, потратив немного больше времени на чтение, видео и практику.
Не стесняйтесь проигрывать видео несколько раз или изучать одни и те же концепции из разных источников. Повторение – ключ к успеху при изучении чего-то нового!
Начните с YouTube
Давайте погрузимся!
Я считаю, что лучший способ начать изучение чего-либо – короткие видео об этом предмете на YouTube, и эта область – не исключение. На YouTube есть тысячи прекрасных видео и плейлистов, рассказывающих о важных концепциях машинного обучения бесплатно, и вам, несомненно, стоит их использовать.
Сейчас я перечислю несколько лучших видео, которые я нашел, и которые предоставят вам отличное первое знакомство с терминами, необходимыми для начала изучения этой области.
Первый ресурс, который я лично рекомендую – это плейлист YouTube, представляющий самые важные термины в данной области, What's AI. Этот плейлист надо обязательно посмотреть, чтобы получить базовое понимание машинного обучения и какое-то представление о терминах, используемых в этой области. Это просто последовательность коротких 1-минутных видео, рассматривающих самые важные термины, от простых до более сложных. Вам потребуется не больше 30 минут, чтобы получить полный обзор этой области!
Вслед за этими видео, я советую погрузиться немного глубже в основания машинного обучения и глубокого обучения, а также узнать больше о нейронных сетях. Понимание нейронных сетей и обратного распространения (backpropagation) – самое важное для начала, и оно предоставит вам огромное преимущество, когда вы погрузитесь в более сложные курсы и лекции.
К счастью для нас, замечательный канал 3Blue1Brown создал серии видео, раскрывающих именно эти концепции предельно ясно. Не стесняйтесь проигрывать их несколько раз или найдите свой плейлист на эту тему, если что-то осталось непонятным! Изучение основано на повторении!
Теперь, когда у вас есть четкое представление о том, что такое алгоритм машинного обучения, как он работает, и как нейронная сеть может обучаться методом обратного распространения, вы уже готовы погрузиться в более сложные и более полные курсы.
Не упускайте и другие обучающие видео на YouTube! Там есть отличные ресурсы, и вообще это бесплатная и недооцененная платформа для изучения!
Начинаем серьезное изучение
Этот шаг немного дольше, чем предыдущий, поскольку вам предстоит посмотреть много часов великолепных, бесплатных курсов на YouTube, и многому из них научиться.
Пожалуйста, не делайте что-нибудь еще, пока смотрите эти курсы! Это отличные ресурсы, заслуживающие вашего внимания. Вы должны делать заметки и задавать вопросы в онлайн-сообществах.
Кроме того, эти курсы очень увлекательны. Как только у вас появится мотивация, чтобы нажать кнопку "Play", они удержат ваше внимание до конца, и я, обещаю, что вы научитесь МНОГОМУ!
Вот краткий список лучших курсов, которые я предлагаю посмотреть в первую очередь. Они перечислены в порядке "сложности понимания", начиная со введения и заканчивая прекрасной специализацией. Заметьте, что даже специализация – на этом этапе всего лишь введение, но она приготовит вас к более интересным вещам. Конечно, все это бесплатно!
- Введение в машинное обучение (Стэнфорд)
- Введение в глубокое обучение (МТИ)
- Специализация в глубоком обучении (Deeplearning.ai – Эндрю Ын)
Переходим к чтению
Читайте статьи онлайн
Как было доказано множество раз, люди учатся лучше, повторяя одно и то же и изучая его разными способами: слушать, читать, писать, смотреть и т.д. Вот почему читать так же важно, как смотреть видео, чтобы достичь лучшего понимания. Вы рассмотрите тему с разных сторон и получите более полный обзор того, что вы пытаетесь изучить. Этот раздел – список коротких статей, бесплатных и необязательных.
Вы, несомненно, найдете множество других статей сами. Эти – просто предложения, основанные на моем личном вкусе.
Вот 5 статей, которые можно прочитать на Medium, которые я предлагаю вам просмотреть до того, как вы погрузитесь в книги, кодирование или онлайн-курсы. Эти короткие статьи будут особенно полезны в сочетании с видео, о которых мы говорили прежде.
- 5 шагов к изучению машинного обучения и Data Science для начинающих – Даниэль Бурке.
- Что такое "машинное обучение"? – Роберто Ириондо.
- Машинное обучение для начинающих: введение в нейронные сети – Виктор Чжоу.
- Руководство по нейронным сетям для начинающих – Томас Дэвис.
- Понимание нейронных сетей – Принс Канума.
Теперь, когда вы уже прошли через эти короткие видео и статьи, вы точно готовы к кодированию и практике! Если вы хотите получить более глубокое понимание теоретических аспектов машинного обучения, тогда вас ждет следующий раздел. В противном случае можете переходить сразу к разделам онлайн-курсов, кодирования или практики, чтобы учиться с невероятной скоростью!
Читайте важные книги
Этот раздел совершенно необязателен, но настоятельно рекомендуется для получения более глубокого понимания того, что происходит "за сценой" алгоритма машинного обучения. Книги – отличный способ учиться в своем ритме. Убедитесь, что вы все поняли, прежде чем перейдете к практическим упражнениям. Не стесняйтесь перечитывать главы!
Как вы, наверное, знаете, большинство книг требуют огромной работы авторов, и поэтому не бесплатны. К счастью для нас, есть одна великолепная книга, которая полностью бесплатна и доступна онлайн! Остальные можно купить на Амазоне. Вот список нескольких лучших книг для тех, кто предпочитает путь чтения:
- Книга о глубоком обучении – доступна бесплатно онлайн.
- Искусственный интеллект: современный подход – необязательна (платно).
- Распознавание шаблонов и машинное обучение – необязательна (платно).
- Элементы статистического обучения – необязательна (платно).
- Глубокое обучение на языке Python – необязательна (платно).
Еще раз: эти книги совершенно необязательны, но они обеспечат вам лучшее понимание теории, и даже научат вас кое-чему о кодировании ваших нейронных сетей!
Теперь вы более чем готовы начать кодировать и применять на практике теорию, которую вы изучили и освоили.
Нет опыта кодирования – нет проблем!
Этот раздел – для начинающих кодировщиков. Если у вас нет никакого опыта в Python или других языках программирования, он предоставит вам базу и даст отличную основу для программирования машинного обучения.
Если вы уже неплохо знакомы с Python'ом, смело пропускайте этот раздел и переходите к следующему!
Вот лучшие онлайн-курсы для изучения программной стороны машинного обучения:
Прежде всего, вам нужно изучить Python. Отличный способ начать – этот бесплатный интерактивный курс изучения Python.
Затем вы можете изучить бесплатный курс "Изучите основы Python для анализа данных" на OpenClassroom.
После этих двух ресурсов, если вы все еще не чувствуете, что уверенно знаете Python, можно погрузиться в платный курс от IBM на Coursera под названием "Машинное обучение на Python". Он уж точно подготовит вас к кодированию своих первых алгоритмов машинного обучения и серьезно улучшит ваши навыки программиста.
Проходите онлайн-курсы
Теперь, когда вы уже хорошо понимаете теорию, лежащую в основе машинного обучения и умеете программировать, вы готовы проходить онлайн-курсы машинного обучения. Конечно, все они не обязательны. И, как прежде, первый из них бесплатный, а остальные платные, поскольку они научат вас множеству вещей, а некоторые даже выдадут вам сертификаты, которые вы сможете упомянуть в своем резюме!
Если вы не хотите проходить никаких курсов, можете просто прыгнуть к следующему разделу и начать практиковаться. Поначалу это будет немного сложнее, но умея "гуглить" и обладая мотивацией, вы точно с этим справитесь.
Если вы предпочитаете учиться под руководством учителя и следовать четким шагам, вот лучшие курсы (в порядке от простых к более сложным):
- Введение в машинное обучение – Kaggle (освойте основные идеи машинного обучения и создайте свои первые модели).
- Знакомимся с ИИ / ИИ для всех – Эндрю Ын.
- Машинное обучение – Эндрю Ын – Стэнфорд.
- Специализация в машинном обучении – Эндрю Ын.
- Tensorflow (профессиональные сертификаты).
- Разработка ИИ – IBM (профессиональные сертификаты).
- Полный курс Data Science 2020.
Теперь вы более чем готовы начать практическую работу и строить свое будущее портфолио!
Учимся вместе
Практика, практика и еще раз практика!
Самое важное в программировании – это практика, это относится и к машинному обучению. Найти персональный проект для практики может быть непросто. Вам придется найти задачу еще до того, как вы начнете писать код, что может быть очень трудно без посторонней помощи.
К счастью, существует Kaggle. Этот сайт полон бесплатных курсов, учебных пособий и соревнований. Вы можете присоединиться к соревнованию бесплатно, просто скачать их данные, прочитать их задачу и сразу же начать писать код и тестировать его! Вы можете даже заработать деньги, выиграв соревнование, и это будет прекрасно смотреться в вашем резюме. Возможно, это самый лучший способ получить опыт, одновременно изучая множество вещей, да еще и имея шанс заработать на этом!
Вы также можете создавать команды для соревнований Kaggle и учиться вместе! Я предлагаю вступить в коммьюнити для поиска команды и учиться вместе, это всегда лучше, чем учиться в одиночку. Этому посвящен следующий раздел.
Еще ресурсы
В большинстве случаев, лучший способ учиться – это учиться вместе с другими людьми. Вступайте в онлайн-коммьюнити и ищите партнеров по обучению!
Вот прекрасный сервер Discord со множеством энтузиастов, где вы сможете чему-то научиться, задать вопросы, найти команду для соревнования Kaggle, выложить свои проекты и многое другое.
Вы также можете вступить в сообщества Reddit – задавайте вопросы, делитесь своими проектами, следите за новостями, и делайте многое другое. Вот самые популярные сообщества:
- artificial – Искусственный Интеллект.
- MachineLearning – машинное обучение (самое крупное сообщество).
- DeepLearningPapers – статьи по глубокому обучению.
- ComputerVision – извлечение полезной информации из изображений и видео.
- learnmachinelearning – изучение машинного обучения.
- ArtificialIntelligence – ИИ.
- LatestInML – последние разработки в области машинного обучения, которые вы не должны пропустить.
Еще одна важная вещь в этой области – это следить за последними статьями и приложениями, которые появляются каждый день. Лучший способ – это присоединиться к группам LinkedIn, в которых отслеживают эти приложения, следить за публикациями Medium и даже YouTube-каналами, которые суммируют эти новые статьи. Я перечислю лучшие известные мне ресурсы, но вы, конечно, можете найти и другие, более соответствующий вашим интересам!
Подпишитесь на каналы YouTube, чтобы следить за новостями в сфере машинного обучения:
- Two Minutes Papers – видео, выходящие раз в две недели и описывающие новые статьи за это время.
- What's AI – еженедельные видео, описывающие новые статьи.
Вступите в группы LinkedIn:
- Artificial Intelligence, Machine Learning, and Deep Learning News
- Artificial Intelligence | Deep Learning | Machine Learning
- Applied Artificial Intelligence
Следите за аккаунтами и публикациями на Medium:
- Towards Data Science – "делимся концепциями, идеями и кодом"
- Towards AI – "лучшее в технологии, науке и инженерном деле"
- OneZero – "скрытые течения будущего – публикация Medium о науке и технологии"
- Небольшая самореклама, автор – я объясняю термины и новости Искусственного Интеллекта для новичков. Моя цель – раскрыть "черный ящик" ИИ для всех, чтобы люди знали о его возможностях и рисках.
Заключение
Вы прочитали руководство по изучению машинного обучения для любого желающего, даже без опыта в программировании, математике и/или машинном обучении. Не обязательно учиться строго по порядку, но именно таков классический путь изучения.
Заметьте, что это далеко не полный список ресурсов, которые помогут вам стать экспертом в машинном обучении. Разумеется, вы можете использовать больше (или меньше) ресурсов и учиться в удобном для вас ритме. Не все в жизни – соревнование, и вам стоит следовать своим инстинктам в выборе собственного пути изучения. Никогда не стесняйтесь перечитать статью или посмотреть видео второй раз, чтобы понять концепцию. Мы все прошли через это, и это совершенно нормально. Самое важное – чтобы вы поняли концепции, а не "покончили" со всем списком ресурсов за кратчайшее время.
Спасибо за внимание, и я желаю вам всего наилучшего в вашей будущей карьере машинного обучения! Вот список всех ссылок из этой статьи на GitHub.
Мнение переводчика может не совпадать с мнением редакции «Библиотеки программиста».
Комментарии