Только за май 2019 года ArXiv8, популярный электронный архив научных статей, где часто появляются статьи о новых моделях, пополнился 13 тысячами новых публикаций
1. Сформулировать цель продукта в парадигме МО. При создании продукта в первую очередь следует подумать о том, какой сервис мы хотим предоставить пользователям. Как уже упоминалось в предисловии, в этой книге концепции будут иллюстрироваться на учебном примере — редакторе, который помогает пользователям грамотнее писать сообщения с вопросами. Цель такого продукта понятна: давать пользователям практические и полезные рекомендации по написанию текста. Однако задачи МО формулируются иначе: обучение модели и приобретение функционала на основе данных. Наглядный пример такого обучения —преобразование текста на одном языке в текст на другом. Для одной цели продукта обычно можно по-разному сформулировать задачу, сложность которой тоже может варьироваться.
2. Оценить осуществимость МО. Задачи МО могут сильно различаться. По мере развития МО задачи вроде классификации фотографий кошек и собак решаются буквально за пару часов, в то время как, например, создание системы, способной вести полноценный разговор, пока остается нерешенной научной проблемой. Для эффективной разработки МО-приложений важно рассмотреть несколько формулировок задачи и взять за основу самую простую. Лучший способ оценить сложность МО — обдумать, какие данные ей нужны и какие из ныне существующих моделей способны работать с такими данными.
При рассмотрении подходов к МО мало оценки того, насколько они интересны сами по себе. Обязательно оцените и то, насколько они подходят для вашего продукта.
Лучше всего уложиться в два последовательных этапа: (1) сформулируйте цель вашего продукта в парадигме МО; (2) оцените осуществимость этой задачи для МО. В зависимости от полученной оценки можно корректировать процесс разработки до тех пор, пока вас не устроит результат. Давайте посмотрим, что в действительности включают в себя эти два этапа.
Пока что нет безошибочных способов предсказать, насколько успешным будет применение МО, однако есть ряд рекомендаций для снижения рисков. Самая главная рекомендация — всегда отталкиваться от цели продукта и находить наилучший способ ее достижения.
В технологиях МО машина учится на основе данных. Задается цель, и с помощью вероятностных методов машина решает задачу, постепенно приближаясь к этой цели. Такой подход коренным образом отличается от традиционного программирования, когда разработчик пишет пошаговые инструкции, указывающие, как следует решать задачу. В силу этого МО хорошо подходит для задач, где невозможно определить эвристическое решение
очень редко разработчики способны взять задачу, определить наилучший способ ее решения, выбрать алгоритм машинного обучения (МО) и уверенно реализовать его. Часто это умение приходит лишь с опытом, после множества сверхамбициозных проектов и сорванных сроков выполнения.
Для каждого проекта есть несколько способов реализации с помощью МО.
Процесс МО как он есть Путь от исходной идеи до развернутого МО-приложения извилист и тернист. Проанализировав опыт многих компаний и специалистов, я выделил четыре основных последовательных этапа, каждому из которых будет посвящена отдельная часть книги.
1. Определение правильного подхода к МО. Машинное обучение — достаточно широкая сфера и часто предлагает много способов достижения цели, поставленной при создании продукта. Выбор наилучшего подхода в каждом конкретном случае будет зависеть от многих факторов, таких как критерии успешности, доступность данных и степень сложности задачи. На данном этапе необходимо правильно определить критерии успешности, достаточный размер исходного датасета и подходящий тип модели.
2. Создание исходного прототипа. Перед тем как начать работу над моделью, необходимо создать «сквозной» прототип, учитывающий все факторы. Такой прототип должен достигать целей, для которых создавался продукт, без МО. Создание прототипа обычно позволяет понять, уместно ли использование МО, и дает возможность начать сбор данных для обучения модели.
3. Итеративная доработка моделей. Собрав датасет, вы можете приступить к обучению модели и оценке ее недостатков. Этот этап сводится к циклу анализа ошибок и корректировки реализации. Ускорение этого цикла является самым эффективным способом ускорения процесса МО-разработки.
4. Развертывание и мониторинг. Добившись хорошей производительности модели, вы должны выбрать подходящий вариант развертывания. После развертывания модели часто происходит ее непредвиденный отказ. Последние две главы этой книги будут посвящены методам предотвращения и мониторинга ошибок.
Текстовые данные используются повсеместно Текстовые данные есть почти везде, где вы только можете вообразить, и они играют ключевую роль во многих практических МО-приложениях. Когда мы пытаемся лучше разобраться в отзывах о нашем продукте, точнее классифицировать запросы, поступающие в службу поддержки, или скорректировать свои рекламные сообщения с учетом целевой аудитории, мы принимаем и производим некоторые текстовые данные.