article-spots
article-carousel-spots
programs
Технологии

Хочу разбираться в машинном обучении. Что нужно знать?

7 дек. 2020

Сегодня экспертным мнением на тему машинного обучения с нами поделился Михаил Толмачев, Senior Manager в EPAM.

Важно учитывать потребности бизнеса, а бизнесу нужно то, что очень хорошо работает с высокой долей надёжности, т. е. даёт минимум 90–95 % точности. 

Сейчас во всём мире тренд на Deep Learning, компьютерное зрение, нейросети. Нейросети можно использовать для предсказания спроса, рекомендации товара, персонализированного маркетинга. Однако, чтобы понять, как эти технологии работают, нужно иметь углублённые знания, быть Data Scientist. В отличие от Deep Learning, методы классического машинного обучения — матричного разложения, факторизационных машин — гораздо легче интерпретируются бизнесом, то есть с их помощью можно объяснить, почему те или иные товары были интересны, какие основные драйверы спроса. Также ограничения на интерпретируемость моделей бывает на законодательном уровне, например в фарме или банках. 

В последнее время быстро развивается тренд на Generative Adversarial Networks (GANs). Эти алгоритмы позволяют на основании входящих данных генерировать новые данные, которые очень похожи на настоящие. Возьмём, например, картинку, где машина едет по пустыне, и картинку средней полосы России. Накладываем одно на другое, и вот уже машина едет по полю. Популярные приложения FaceApp и Prisma работают на данной технологии. Есть целый веб-сайт, генерирующий лица людей, которые на самом деле не существуют, при этом выглядят они как настоящие. 

Одна из главных проблем Data Science — отсутствие достаточного количества данных для обучения, а с помощью GANs можно создавать больше данных и более точно обучать модели. Но пока эта область тяжела для применения в бизнесе. Чтобы это начало давать гарантированно хороший результат в реальной жизни, нужно провести больше академических исследований. 

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

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

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


Материал портала "Типичный программист"