Найти тему
Город будущего

Фильтрация контента и постановка диагноза: как ИИ учат сложным задачам без данных

Артем Бондарь, руководитель ИИ-сегмента компании Voximplant, рассказывает, как создаются алгоритмы, которых можно научить чему угодно — от сортировки фотографий до постановки диагнозов.

Какой бы ни была задача модели, ее цель — предсказать результат по входным данным. Чем разнообразнее датасет (набор данных, «скармливаемых» модели), тем алгоритму проще найти закономерности, а значит, точнее будет результат на выходе.

Сегодня в машинном обучении доминирует подход, ориентированный на саму модель, поэтому ML-инженеры тратят много времени на алгоритмы. От его выбора зависит скорость и точность работы. Несмотря на то, что этот подход проще и интереснее для инженеров, не стоит забывать о простом принципе garbage in, garbage out. Если собранные данные не репрезентативны, никакие алгоритмические хитрости не помогут улучшить качество работы модели.

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

Вот главные принципы этого подхода.

Качественные гайдлайны по разметке. Можно подумать: зачем формализовать каждый пункт процесса постановки и решения задачи, когда ее можно сформулировать одним предложением? Допустим, речь идет о разметке данных для автопилота, она может звучать так: «выделите всех пешеходов на фотографиях». Но аннотаторы быстро встретят неоднозначные кейсы — выделять ли велосипедиста, человека на самокате или пассажира в открытом кузове как пешехода? Каждый аннотатор придет к ответу сам, но он будет разным и разрушит однородность данных. Поэтому нужно заносить все сложные примеры в базу данных, куда аннотаторы, в случае сложностей, могут обратиться.

Обратная связь. База данных не может появиться из ниоткуда. Для этого нужно два условия: культура уважения к обратной связи аннотаторов и ответственные за поддержание этой базы в актуальном состоянии сотрудники.

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

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

Аугментация или синтетика данных. Если данных мало или их разметка слишком дорогая — можно размножить их. Например, если данные текстовые, одни и те же пользовательские обращения можно перефразировать. Если это изображения — можно менять яркость, вырезать и переворачивать часть картинок.