Уроки о создании продуктов AI/ML и Data Science

Сказать, что ИИ сейчас на пике популярности, было бы грубым преуменьшением. Кажется, все осознали потенциал ИИ для автоматизации и повышения уровня своих продуктов и услуг. С этим потенциалом возникает необходимость привлечь людей, которые могут преодолеть разрыв между талантливыми разработчиками, создающими алгоритмические решения, и направлением бизнеса, стремящимся извлечь из них выгоду. Звучит как работа для управления продуктом.

Управление продуктами в отношении ИИ сопряжено с несколькими уникальными проблемами. Для хорошего выполнения работы требуется хотя бы базовое понимание концепций ИИ, но добиться успеха в этом проще, если вы понимаете несколько более глубоких принципов и практик.

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

В Правилах машинного обучения Google правило №1 сформулировано следующим образом:

Не бойтесь запускать продукт без машинного обучения.

Эвристику можно рассматривать как «эмпирические правила», которые определяют, как люди думают о решении проблемы. Если вы хотите решить проблему, используя данные в масштабе, учтите, что модель, основанная на эвристике, может обеспечить лучшую производительность, чем слепая модель машинного обучения.

Эвристика может быть отличным началом при решении проблемы с использованием науки о данных. Эти алгоритмы обычно требуют гораздо меньше времени на разработку моделей машинного обучения, выполняя ключевой принцип управления продуктом: более быстрые циклы → больше обучения → лучшие продукты.

Однако соблюдайте осторожность, так как система эвристики может быстро стать слишком сложной, чтобы с ней можно было справиться. Имейте в виду, что машинное обучение ценно отчасти потому, что оно может работать со сложными системами взаимосвязанных переменных лучше, чем мы, люди.

Определение правильных операционных целей для вашего алгоритма

Независимо от того, используете ли вы настоящий ML или работаете с более ручным алгоритмом, вы столкнетесь с проблемой настройки своей модели в соответствии с ситуацией, к которой она применяется.

Рассмотрим матрицу путаницы для задачи биномиальной классификации.

С алгоритмической точки зрения, как правило, можно сбалансировать модель таким образом, чтобы она регистрировала больше истинных срабатываний, с компромиссом в виде более высокой степени ложных срабатываний (например, при балансировании точности и полноты), но правильно баланс для любой данной модели часто можно сбалансировать следующим уравнением:

Значение = (количество истинных срабатываний) * (значение на одно истинное срабатывание) — (количество ложных срабатываний) * (стоимость ложноположительного результата)

Проще говоря, правильный баланс модели часто связан с тем, насколько ценны прогнозы, и насколько дорогостоящими являются ошибки.

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

  • Модель, которая отбирала пациентов для дополнительного скрининга на сепсис. Обратной стороной ложноположительного результата здесь являются некоторые эксплуатационные расходы на скрининг, которые оказываются ненужными, но истинные положительные результаты могут спасти жизни. Таким образом, вы можете позволить себе некоторую степень ложных срабатываний, поскольку истинные срабатывания имеют огромное положительное влияние.
  • Сравните этот случай с моделью, которая используется для определения того, какие пациенты были назначены на визуализирующее исследование, которое им не нужно, чтобы обуздать склонность поставщиков медицинских услуг назначать чрезмерные назначения и сокращать расходы. Ценность этой модели невелика по сравнению с обратным риском отказа пациенту от визуализации, которая помогла бы в его случае. Это пример, когда вы можете сбалансировать высокую пропорцию истинных положительных результатов, даже если это означает низкое покрытие модели.

Этот принцип применим и к наборам прогнозов, включающим непрерывные переменные. Часто лучший способ работать с непрерывными переменными — это установить произвольную точку, в которой вы допустили «достаточно ошибок», чтобы иметь смысл.

Например, вы можете решить, что модель, предсказывающая счет футбольного матча, является «значительно неточной», если ее ошибка превышает 7 очков.

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

Укрепляйте доверие к вашему UX с помощью модели объяснимости

Люди изо всех сил стараются доверять машинам. Это особенно верно, когда эти машины заменяют их, дополняют их или производят продукт, за который они несут ответственность.

Продукты ИИ могут отлично выглядеть на бумаге, но часто для успеха решения ИИ в производственной среде требуется как производительность, так и доверие. Мощный способ создать это доверие — предоставить пользователям инструменты объяснимости моделей.

Объяснимость — это процесс, с помощью которого мы можем рассказать нашим пользователям, как модель «думает», показав им, какие функции модель использует для принятия решений.

Хотя не все случаи машинного обучения требуют объяснимости, как правило, люди внимательно следят за новыми приложениями машинного обучения, даже людьми, чью работу вы дополняете или заменяете. Эти люди должны доверять вашей модели.

Глобальная объяснимость включает в себя объяснение того, как ваша модель принимает решения в макросмысле. Когда вы продаете машинное обучение новому клиенту или перепродаете его существующему клиенту, может быть важно дать представление о том, как мыслит ваша модель.

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

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

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

Здравствуйте! Я Джек Мур, и я люблю писать обо всем, что связано с продуктом. Если вам понравилось, вы можете найти меня в Twitter и LinkedIn.

Фото на обложке Possessed Photography на Unsplash.