Создание надежных продуктов искусственного интеллекта с помощью руководства PAIR

1. Прежде чем начать

В этом практическом занятии вы примените лучшие практики из нового издания руководства People + AI Research (PAIR) для разработки нового продукта с использованием ИИ, уделяя особое внимание человекоориентированным методам работы с данными и правильно настроенному уровню доверия пользователей.

Предварительные требования

  • Базовое понимание того, что такое ИИ.
  • Знание процесса разработки продукта.

Что вы узнаете

В этом практическом занятии вы узнаете, как использовать руководство Google Research «Люди + ИИ» для создания надежных, ориентированных на пользователя продуктов на основе искусственного интеллекта.

В частности, вы будете:

  • Узнайте о новинках второго издания путеводителя PAIR.
  • Выполните ряд упражнений, которые помогут выявить возможности в процессе разработки ИИ для повышения доверия пользователей, уделяя особое внимание данным и объяснимости для пользователей.
  • Ознакомьтесь с более широким набором материалов и ресурсов, доступных для дальнейшего изучения.

Что вам понадобится

2. Начните

В этом году на конференции Google I/O мы представляем второе издание руководства PAIR Guidebook! Первое издание вышло два года назад, и с тех пор им воспользовались более четверти миллиона человек из разных сфер деятельности (разработчики, дизайнеры, менеджеры по продуктам, студенты и т. д.) по всему миру. Теперь мы рады представить ряд обновлений, которые сделают его еще более полезным.

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

  1. Когда и как мне следует использовать ИИ в своем продукте?
  2. Как мне ответственно сформировать свой набор данных?
  3. Как мне помочь пользователям укрепить и откалибровать доверие к моей системе искусственного интеллекта?
  4. Как мне ознакомить пользователей с новыми функциями ИИ?
  5. Как мне объяснить пользователям работу моей системы искусственного интеллекта?
  6. Каков оптимальный баланс между пользовательским контролем и автоматизацией?
  7. Как мне оказывать поддержку пользователям в случае возникновения проблем?

dd1277d752e60684.png

После выбора вопроса вы получите соответствующий контент в виде более мелких, практически применимых блоков.

Мы также обновили руководство PAIR, добавив новый контент:

  1. Набор шаблонов проектирования ИИ
  2. Примеры из практики
  3. Обновлены главы
  4. Новые упражнения и комплект материалов для мастер-класса.

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

Давайте начнём!

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

Представьте себе следующую ситуацию:

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

На главной странице приложения в настоящее время представлены следующие разделы:

  • Список новых фильмов, отсортированный по дате выхода.
  • Каталог всех фильмов, отсортированных по жанрам.
  • Поле поиска, где пользователи могут искать по названию фильма, актерам и т. д.

81efa53fac12f607.png

Приложение для просмотра фильмов без персонализированных рекомендаций

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

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

Используя главу « Потребности пользователей + Определение успеха» из руководства PAIR, вы рассматриваете список сценариев использования, где ИИ, вероятно, является хорошим решением, и обнаруживаете, что потребности ваших пользователей относятся к следующим типам проблем:

  • Рекомендация разного контента разным пользователям
  • Персонализация улучшает пользовательский опыт.
  • Отображение динамического контента эффективнее, чем предсказуемый интерфейс.

Обязательно ознакомьтесь также со списком случаев, когда ИИ, вероятно, не является лучшим решением.

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

Шаблон:

17c84836936a7adc.png

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

Искусственный интеллект хорошо подходит для таких приложений, как:

  • Рекомендация различного контента разным пользователям, например, подборка фильмов.
  • Прогнозирование будущих событий, таких как погодные явления или изменения цен на авиабилеты.
  • Понимание естественного языка
  • распознавание изображений

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

  • Поддержание предсказуемости имеет важное значение.
  • Пользователям, клиентам и разработчикам необходима полная прозрачность.
  • Люди не хотят, чтобы какая-либо задача была автоматизирована.

Более подробную информацию о том, когда следует использовать (или не использовать) ИИ, см. в главе «Потребности пользователей» .

Ссылка на полный шаблон: https://pair.withgoogle.com/guidebook/patterns#determine-if-ai-adds-value

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

Теперь, когда вы решили внедрить решение на основе искусственного интеллекта, вы готовы начать планировать свои дальнейшие шаги.

4. Создайте набор данных для решения задачи.

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

Первое, что вам нужно сделать, это сопоставить потребности пользователя с потребностями в данных.

Используя задание на сопоставление из главы «Сбор и оценка данных» руководства PAIR, вы определяете следующее:

  • Пользователь : зрители фильмов (пользователи приложений для просмотра фильмов)
  • Потребность пользователя : находить больше фильмов, которые ему нравятся, проще и быстрее.
  • Действия пользователя : выбор и просмотр фильмов через приложение.
  • Результат работы системы ИИ : какие фильмы предлагать и почему (метки, или теги, отражающие настроение).
  • Обучение систем искусственного интеллекта : модели поведения, связанные с принятием рекомендаций по фильмам, просмотром фильмов целиком, написанием рецензий на фильмы и выставлением высоких оценок этим фильмам.
  • Необходимые наборы данных : данные о просмотре фильмов из приложения, информация о фильмах, а также рейтинги и отзывы о фильмах.
  • Ключевые характеристики, необходимые для набора данных : предпочтения зрителей в отношении фильмов и история просмотров, информация о фильме (например, жанр, актерский состав), рейтинг фильмов, отзывы о фильмах.
  • В набор данных необходимы следующие ключевые метки : процент принятия или отклонения пользователями предложенных приложений, процент просмотра фильмов до конца, оценки и отзывы пользователей, а также обратная связь пользователей о причинах отклонения предложения.

Теперь, когда вы выполнили это упражнение, вы можете заметить несколько потенциальных источников данных:

  • Пользовательские данные из приложения (указанные настройки и история просмотров)
  • Информация о фильме из приложения (название, год выпуска, продолжительность, актерский состав и т. д.)
  • Информация о кинорецензиях и рейтингах из других источников, таких как IMDB и MovieLens.

Как только вы определитесь с типом необходимых данных, рассмотрите принципы и принципы ответственного использования ИИ от Google в качестве примеров концептуальных основ, которые помогут проработать ключевые аспекты, такие как конфиденциальность (например, «предоставьте возможность уведомления и согласия») и справедливость (например, «проводите итеративное тестирование с участием пользователей, чтобы учесть разнообразные потребности пользователей в циклах разработки»).

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

Шаблон:

4617730ca248f081.png

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

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

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

Ссылка на полный шаблон: https://pair.withgoogle.com/guidebook/patterns#embrace-noisy-data

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

5. Сообщите о возможностях и ограничениях системы.

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

Формирование ожиданий у пользователей — это целенаправленный процесс, который начинается еще до их первого взаимодействия с вашим продуктом. Вам следует предоставлять объяснения на протяжении всего процесса использования продукта, а также за его пределами, различными способами:

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

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

Используя поиск по вопросу в руководстве PAIR и выбрав «Как объяснить пользователям мою систему искусственного интеллекта?», вы обнаружите следующую закономерность: объясняйте для понимания, а не для полноты информации.

Шаблон:

a75dc18115d636a9.png

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

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

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

Если вы хотите поделиться более подробными объяснениями того, как работает система в целом, сделайте это вне активного пользовательского сценария, например, в маркетинговых материалах или в материалах для адаптации новых пользователей.

Ссылка на полный шаблон: https://pair.withgoogle.com/guidebook/patterns#explain-for-understanding

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

a534f48eeffaaa40.png

Рекомендация фильма, включая обоснование рекомендации.

В этом примере вы применяете рекомендации руководства PAIR по объяснению информации + доверию и используете источники данных, чтобы предоставить пользователю объяснение, основанное на трех отзывах пользователей, получивших наивысшую оценку.

Кроме того, вы выделили конкретные слова, которые в наибольшей степени способствовали формированию положительного впечатления от этого фильма, а это факторы, важные для пользователя при выборе фильма. Вы можете узнать больше об использовании классификатора настроения в этой демонстрации инструмента интерпретируемости языка (LIT) от PAIR.

b8fc8bd717f7742f.png

Скриншот инструмента для интерпретируемости обучения (LIT)

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

  • Перед развертыванием модели
  • При проверке справедливости
  • Для отладки отдельных прогнозов
  • При сравнении новой модели со старой

6. Определите, как продемонстрировать уверенность.

Еще один способ сформировать у пользователей определенные ожидания — отображение степени уверенности модели в рекомендациях. Вместо того чтобы объяснять, почему или как ИИ пришел к тому или иному решению, отображение степени уверенности модели показывает, насколько ИИ уверен в своем прогнозе и какие альтернативы он рассмотрел. Поскольку большинство моделей могут выдавать n-лучшие классификации и оценки уверенности, отображение степени уверенности модели часто является легкодоступным объяснением.

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

Шаблон:

33a1b5ab6fff1c06.png

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

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

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

Ссылка на полный шаблон: https://pair.withgoogle.com/guidebook/patterns#how-to-show-model-confidence

Изучив рекомендуемые подходы к демонстрации уверенности в главе «Объясняемость + Доверие» руководства PAIR, вы обнаружите следующие варианты:

  • N наиболее вероятных классификаций
  • Числовой уровень доверия

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

8b3181335ece9a09.png

Карусель рекомендованных фильмов, где наиболее вероятные рекомендации отображаются первыми.

7. Предоставьте пользователю возможность исправить ошибки.

На последних нескольких этапах вы освоили некоторые передовые методы формирования ожиданий и предоставления объяснений пользователям, помогая им укреплять и корректировать доверие к продукту.

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

Как объясняется в главе «Ошибки и корректное завершение работы » руководства PAIR, для начала следует определить, что такое ошибка для вашего продукта и к какому типу она относится (пользовательская, системная или контекстная).

Рассмотрим следующие примеры:

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

Во втором и третьем примерах, приведенных выше, ИИ дал рекомендацию, которая не полезна для данного пользователя. В случае возникновения подобных ошибок вам следует предоставить пользователю возможность оставить отзыв о прогнозе и сообщить время, когда это повлияет на результат, как это рекомендуется в главе «Обратная связь + контроль» руководства PAIR.

Шаблон:

2a01f1bf6b24a241.png

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

Обратная связь в системах искусственного интеллекта может принимать различные формы, в том числе:

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

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

Ссылка на полный шаблон: https://pair.withgoogle.com/guidebook/patterns#let-users-give-feedback

В случае вашего приложения это может выглядеть так:

e990b5a272085f20.png

Пользователи могут оставлять отзывы о рекомендациях...

f81d3f378792640f.png

...и их уведомляют о том, что произойдет дальше.

8. Поздравляем!

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

Краткое содержание

В этом практическом занятии вы научились:

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

Что дальше?

Все ресурсы, упомянутые в этом практическом занятии, а также многие другие, вы можете найти по следующим ссылкам: