Научитесь создавать программное обеспечение с использованием моделей машинного обучения.
Отказ от ответственности: эта статья основана исключительно на моих наблюдениях за командами разработчиков машинного обучения и не является научным обзором отрасли.
Для справки, помогаю разрабатывать Кора головного мозга — открытая платформа для запуска моделей в производство.
Если вы разработчик, то у вас есть хотя бы мимолетный интерес к машинному обучению.
Идея алгоритма, который учится, чтобы делать прогнозы, просто.
крутая.
Однако если вы решите начать изучать ML по всем канонам, то есть большая вероятность, что после двух недель линейной алгебры и многомерного анализа вы бросите это занятие.
Причина в том, что большинство вводных материалов по машинному обучению ориентированы на исследователей, а не на разработчиков, что является проблемой для разработчиков, которые просто хотят создавать продукты машинного обучения.
Вы хотите создавать продукты или проводить исследования?
До конца 2000-х годов машинное обучение было почти исключительно исследовательской проблемой.Просто было не так много компаний, которые действительно использовали машинное обучение в производстве.
Таким образом, многие из вводных материалов, доступных по машинному обучению, основаны на исследовательском подходе.
Все начинается с объяснения нейронных сетей с математической точки зрения и теории машинного обучения.
Охватываются такие вещи, как обратное распространение ошибки и состязательные сети.
Даже материалы, не относящиеся к университету, в некоторой степени следуют этой схеме.
Например, это взято непосредственно из библиотеки TensorFlow «Quickstart for Beginners»:
Если ты думаешь, что я избирательен, Предлагаю вам прочитать следующее .
Если вы уже знакомы с математикой, лежащей в основе машинного обучения, или вам нравится ее изучать, этот подход подойдет вам.
Однако если вас в первую очередь интересует создание вещей с помощью машинного обучения, то это, вероятно, не совсем то, что вам нужно.
Использование программирования в качестве дополнения к математике — это то же самое, что научиться писать код, сначала изучив ассемблер.
Ни один разработчик не будет учиться таким образом.
Примечание.
Если вы каким-то образом научились программировать на языке ассемблера, я приму все ненавистные комментарии к ответу, и я впечатлен тем, что вы нашли браузер в своем отстойном дистрибутиве Linux. Когда вы учились программировать, вы, скорее всего, делали это, написав «привет, мир» на языке высокого уровня.
Затем, когда проекты стали более сложными, вы начали изучать низкоуровневое программирование.
Эта модель обучения пользуется успехом среди людей, создающих программное обеспечение, поскольку в ней четко расставлены приоритеты работы над проектом.
Если вас больше интересует создание системы рекомендаций, чем публикация статьи, то вам следует подойти к изучению машинного обучения именно так.
Как изучить машинное обучение при создании программного обеспечения
Если вы относитесь к тому типу людей, которые лучше всего учатся, посещая курсы, то лучший ресурс, продвигающий этот нисходящий подход к работе с машинным обучением «сверху вниз», — это курс на fast.ai. Практическое глубокое обучение для программистов .Цель этой статьи не в том, чтобы продвигать fast.ai, но стоит отметить, что основатели платформы (Джереми Ховард и Рэйчел Томас) собрали несколько курсов для разработчиков глубокого обучения, которые буквально заставляют вас создавать вещи, углубляясь в основную теорию, как это напрямую связано с проектом.
Чтобы лучше понять их стиль обучения, посмотрите это видео с Рэйчел Томас.
С другой стороны, если вы относитесь к тому типу людей, которые лучше всего учатся, погружаясь в работу и создавая вещи самостоятельно, тогда вы можете начать изучать машинное обучение так же, как и в любой другой области программирования.
Просто выберите проект, который вас интересует - Я собрал гигантский список проектов по обработке естественного языка для начинающих.
- выбирать.
Чтобы лучше понять, что такое создание программного обеспечения с помощью ML (если вы пойдете по этому пути):
- Определите цель, например создание автозаполнения для текстового поля или идентификатора номерного знака.
- Найдите предварительно обученную модель, подходящую для вашего проекта — модели GPT-2 или YOLOv3 также будут работать с ранее упомянутыми проектами.
- Если вы хотите, вы даже можете использовать такую библиотеку, как gpt-2-simple, для точной настройки (адаптации к вашим собственным данным) вашей модели.
- Наконец, разверните модель как микросервис.
Вы можете увидеть реальное применение этот процесс в проекте , созданный инженером по машинному обучению.
С помощью этого метода обучения вы сможете познакомиться с различными популярными архитектурами моделей, узнать о других подходах машинного обучения и о том, для каких приложений они предназначены.
Не менее важно вы узнаете об инфраструктуре машинного обучения, необходимой для создания реальных продуктов на основе моделей.
Как только вы сможете создавать продукты на основе ML, начните изучать теорию.
Как инженер, вы, вероятно, уже реализовали ту или иную форму аутентификации раньше, а это означает, что вы (надеюсь) хешировали пароли.
При настройке хеширования паролей вы написали собственный алгоритм хеширования? Вы потратили несколько недель на изучение криптографии? Или ты просто использовал bcrypt
?
Аналогично, когда вы создавали свое первое веб-приложение, потратили ли вы недели на изучение баз данных? Ты сам это с нуля написал? Или вы использовали случайный ORM из вашего любимого фреймворка?
Та же логика применима и к машинному обучению.
Если вы человек, который любит создавать программное обеспечение, начните с создания программного обеспечения для машинного обучения и позвольте себе абстрагироваться от базовой теории машинного обучения с помощью инструментов, предварительно обученных моделей и структур машинного обучения.
Затем, если вам интересно или ваш проект требует большей сложности, копните глубже, чтобы увидеть, как все это работает.
Узнайте подробности о том, как получить востребованную профессию с нуля или Level Up по навыкам и зарплате, пройдя онлайн-курсы SkillFactory:
- Курс машинного обучения (12 недель)
- Курс «Профессия Data Scientist» (24 месяца)
- Курс «Профессия Аналитик данных» (18 месяцев)
- Курс «Python для веб-разработки» (9 месяцев)
Читать далее
- 450 бесплатных курсов Лиги плюща
- Бесплатные курсы по науке о данных от Гарвардского университета
- 30 лайфхаков для прохождения онлайн-курса
- Самый успешный и самый скандальный проект Data Science: Cambridge Analytica
-
Как Настроить Dynamics Gp Great Plains
19 Oct, 24 -
В Чем Заключается Работа Тестировщика?
19 Oct, 24 -
Хайку. Начало
19 Oct, 24