Пару месяцев назад я был на сетевом мероприятии, и ко мне в закусочной подошла женщина, управляющая успешной производственной компанией. Мы болтали за выпивкой и сыром, потом она задала вопрос: что ты изучал в университете? Я сказал: машинное обучение. Потом она ткнула меня в руку и пошутила:

Ух ты, но ты настоящий человек!

Несколько человек услышали шутку и начали смеяться, но я понял шутку только через мгновение - этот момент дал мне прозрение и я понял две разные вещи:

1. Создать потребительский продукт ML сложно.
2. На потребительском рынке ML все еще есть много низко висящих плодов.

На моей нынешней работе мы выпустили продукт машинного обучения в декабре прошлого года, это была самая востребованная функция 3,3 миллиона пользователей на текущей платформе, и мы доставили ее после долгого пути. Большая часть усилий была направлена ​​на то, чтобы понять влияние уровня пользователя, а затем спроектировать пользовательский опыт с продуктом, UI / UX, чтобы продукт максимизировал преимущества ML и сводил к минимуму потенциальную путаницу.

Не позволяйте пользователям обмануть вас

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

Ха, звучит как простой двоичный классификатор. Но что, если в вашем наборе данных так мало неофициальных расшифровок, а модель ничего не изучает? Что делать, если некоторые записи в базе данных ошибочно помечены как официальные, но на самом деле таковыми не являются? Ваши примеры обучения и тестирования могут быть и загрязнены, и любые статистические данные, которые у вас есть на модели, могут вообще не соответствовать действительности, как вы минимизируете вред неправильного прогноза?

Только на этапе подготовки данных вы столкнетесь с миллионом вещей, которые вы, возможно, не учли при составлении плана. Не торопитесь и решите проблемы.

Оценка с помощью многомерных показателей

Чтобы создать продукт машинного обучения, ориентированный на потребителя, важно преобразовать метрики ученого в области машинного обучения в метрики на уровне пользователя. Это не только поможет вам выбирать модели, но и донести вашу работу до более широких заинтересованных сторон: продукта, UI/UX, маркетинга и т. д. В предыдущем примере, где у вас есть верхняя граница производительности модели, возможно, изменение Пользовательский интерфейс может помочь более плавно интегрировать модель в продукт, сохраняя при этом преимущества машинного обучения. Некоторые из вопросов, которые вы можете задать себе:

Что на самом деле представляют полнота или точность на пользовательском уровне?

Будет ли ложноотрицательный или ложноположительный прогноз увеличивать рабочий процесс для пользователей?

Вы проектируете, чтобы удовлетворить средний пользовательский опыт или большинство пользователей?

Список можно продолжить.

Оценка модели с помощью метрик пользовательского уровня представит много новых точек зрения и критериев для определения того, является ли модель «хорошей» или «плохой». Очень сложно и, возможно, даже предвзято оценивать модель машинного обучения исключительно на основе ее точности, прецизионности или оценки F1. Проблема, которую вы решаете как инженер по машинному обучению, разрабатывающий потребительский продукт, является многомерным продуктом и должна оцениваться с помощью многомерных показателей. Создание набора метрик для оценки моделей-кандидатов является важной частью создания продукта машинного обучения. Это также когда инженеры анализируют ценностное предложение продукта.

Поведение пользователей не является монотонным

Ваша работа не заканчивается после выбора модели! Как часто следует извлекать данные и переобучать модель? Что, если в примере со стенограммой пользователи вернутся и изменят свои ярлыки? Это всего лишь одно действие, которое они могут предпринять в нашем простом проекте модели бинарного классификатора, однако вы можете представить множество разных действий, которые пользователи могут делать с более сложной системой, возможности растут экспоненциально, как дерево.

При создании потребительских продуктов ML помните, что вы создаете больше, чем просто модель, и именно такие инженеры, как вы, помогают расширить преимущества машинного обучения для более широкой аудитории. Спасибо ❤️