Много лет назад я загорелась идеей – научиться программированию, создав собственный сайт. Тогда я ничего не понимала в компьютерах и тем более в серверах. И только одна мысль о том, сколько же мне предстоит узнать нового, будила во мне необыкновенный интерес. Перед сном я обдумывала сотни вариантов своего сайта – от параллакс-эффекта при прокручивании до шрифтов из Google Fonts – и мечтала о будущих проектах. Прошли годы, и теперь я профессиональный инженер и решаю серьезные технологические задачи – они действительно гораздо сложнее, чем мой первый сайт! Тем не менее, я часто вспоминаю ощущения и эмоции, которые испытала тогда, делая первые шаги в программировании.  Один из веселых способов познакомиться с машинным обучением – это создать что-то для себя. В этой статье я расскажу, как это сделать. Работая в сфере технологий, вы посвящаете свою жизнь учебе. Глазом не успеешь моргнуть, как самое совершенное ПО моментально заменяется чем-то более продвинутым (хотя я все никак не могу отвыкнуть от старого доброго Vim). Одно из интереснейших направлений в ИТ – машинное обучение. Большинству из нас не рассказывали о нем в вузах (а у некоторых вообще не было уроков информатики), но скоро машинное обучение станет повсеместным, и оно изменит процесс разработки ПО во всех областях. Неудивительно, что меня часто спрашивают, с чего лучше начать изучение машинного обучения. Обычно я советую обратиться к таким ресурсам, как курс компании Google под названием Machine Learning Crash Course, а также книга Прикладное машинное обучение с помощью Scikit-Learn, Keras и TensorFlow и курс на сайте Coursera Машинное обучение (автор: Andrew Ng), который нацелен не только на теоретические основы, но и на практику. Но если вы, как и я, предпочитаете сразу переходить к делу, попробуйте познакомиться с машинным обучением, создав для себя программу. Собственные проекты – это не только приятный и полезный способ знакомства с новыми технологиями. В отличие от идеальных условий, которые предлагаются в домашних заданиях, на практике вы столкнетесь с реальными трудностями при внедрении машинного обучения в ПО. В начале пандемии я вдруг поняла, что у меня много свободного времени. И я поставила перед собой задачу – узнать больше о машинном обучении, решая с его помощью повседневные задачи. С тех пор машинное обучение помогает мне искать семейные видео, улучшать подачу во время игры в теннис, переводить видео, создавать новые рецепты выпечки и многое другое.  Ниже вы найдете список и обзор всех этих проектов, а также исходный код, обучающие видео на YouTube и пошаговые инструкции в моем блоге. Я расскажу обо всем процессе – от работы с новыми технологиями и инструментами до создания приложения с их помощью. Надеюсь, эти проекты окажутся для вас не только веселыми, но и полезными. А если они вдохновят вас на собственные проекты с машинным обучением, я буду только рада. Не забудьте рассказать мне о своих свершениях в твиттере. Удачной работы!  Вы создадите: архив, который сможет предоставлять видео по фразе или объекту из записи (например, "день рождения", "велосипед" или "видеоигры"). Вы узнаете:  как применять машинное обучение в сортировке и поиске сложных типов данных; как использовать Video Intelligence API; как проектировать приложение, в основе которого лежит машинное обучение (в этом помогут инструменты Flutter – для создания клиентской части, Firebase – для написания кода без использования серверов, и поиск как сервис, предоставленный Algolia). Вы создадите: бот для чат-платформы Discord, который помогает находить оскорбительные и нецензурные сообщения, а также спам. Вы узнаете: как использовать Perspective API для анализа текста; как применять машинное обучение в приложениях для чата; как выбирать, нужно ли машинное обучение в сложных и неоднозначных ситуациях. Вы создадите: блокнот Jupyter, который отслеживает подачу и траекторию теннисного мяча (может также пригодиться в гольфе и баскетболе), а также анализирует данные, чтобы дать полезные советы. Для этого перейдите в Qwiklabs. Вы узнаете: как выполнять сложное машинное обучение с помощью небольших наборов данных; как комбинировать простые математические вычисления с распознаванием поз для понимания движений человека; как использовать Video Intelligence API; как работать c AutoML Vision. или Создание приложений на основе языка с помощью семантического машинного обучения Вы создадите:  простую систему на основе языка, с помощью которой можно взаимодействовать с игровым миром через ввод текста.  Вы узнаете: как использовать одну из самых полезных методик обработки естественного языка – встраивание предложений; как реализовывать семантический поиск текста; как разделять текст на кластеры; как добавлять простые чат-боты; как выполнять эти действия в Google Таблице. Вы создадите: код, который преобразует PDF-файлы в аудиокниги формата MP3. Вы узнаете: как извлекать текст из PDF-файлов при помощи Vision API; как озвучивать текст при помощи Text-to-Speech API; как использовать математические вычисления для разделения макетов документа. Вы создадите: код, который автоматически преобразовывает речь из видео в текст, а затем переводит и озвучивает его. Вы узнаете: как совмещать технологии распознавания, перевода и синтеза речи; как улучшать качество перевода и преобразования речи в текст; как работать с видео и аудио на языке Python. Вы создадите: модель машинного обучения без единой строки кода, которая может классифицировать рецепты и генерировать новые. Вы узнаете: как создавать модели машинного обучения в AutoML Tables с помощью табличных данных без написания кода; как определять причину решений модели с помощью функций. Вы создадите: быструю модель машинного обучения, которая распознает позы, объекты и звуки. Вы узнаете: что нужно, чтобы создать простую модель машинного обучения без написания кода; как с помощью инструмента "Обучаемая машина" создать быструю модель, которую можно запустить в браузере. Вы создадите: приложение, которое будет рекомендовать образы на основе фотографий вашего гардероба и публикаций медийных персон в соцсетях. Вы узнаете:  как использовать Product Search и Vision API; как проектировать приложения на основе машинного обучения с помощью React и Firebase.