Очеловеченное машинное обучение

UX-дизайнеры Google Джош Лавджой и Джесс Холбрук рассказали, на что обратить внимание при создании проектов с машинным обучением.

Джош Лавджой
Джош Лавджой

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

Всё больше и больше разработок задействуют машинное обучение. Становится очевидным, что UX-дизайнерам ещё многое предстоит узнать о том, как сделать взаимодействие с технологией понятным для пользователей.

Рано или поздно машинное обучение заставит нас по-новому взглянуть на все разработанные когда-то системы. В Google UX мы развиваем концепцию машинного обучения, ориентированного на человека.

Очеловеченное машинное обучение

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

Наша команда работает со всеми UX-дизайнерами Google, рассказывает им об основах машинного обучения, помогает сделать машинное обучение частью их навыков. Мы следим за тем, чтобы разработка технологии машинного обучения и искусственного интеллекта велась в тесном взаимодействии.

Джесс Холбрук
Джесс Холбрук

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

Чтобы помочь дизайнерам не потеряться на этой новой территории машинного обучения, мы составили небольшое руководство из семи пунктов. Этот список — результат нашей работы с различными командами Google (а также немалой порции проб и ошибок). Он поможет вам обратиться прежде всего к пользователю, быстро включиться в работу и понять, как много возможностей открывает машинное обучение.

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

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

Очеловеченное машинное обучение

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

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

2. Так ли необходимо машинное обучение для решения вашей задачи

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

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

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

Попробуйте ответить на следующие вопросы:

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

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

Устройте командное голосование и решите, какие идеи окажут на взаимодействие с пользователем наибольшее влияние
Устройте командное голосование и решите, какие идеи окажут на взаимодействие с пользователем наибольшее влияние

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

3. Не бойтесь хитростей

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

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

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

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

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

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

4. Какова цена ошибки

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

Матрица ошибок и реакций пользователей

Стоит помнить, что все системы машинного обучения делают одинаковые ошибки, но все люди ошибаются по-разному. Например, если в основу отбора мы поставим вопрос «это тролль или человек?», и система случайно определит человека как тролля, то это будет просто ошибка.

Система не намеревалась обидеть пользователя. Но она не понимает, что гораздо обиднее отнести человека к троллю, чем тролля к человеку. Хотя, возможно, здесь роль играет наш эгоцентризм.

При разработке продукта очень важно найти компромисс между точностью и откликом. Это значит, что вам нужно решить, включите ли вы в выборку все правильные ответы, увеличив тем самым количество неправильных (оптимизация на отклик), или минимизируете число неправильных ответов ценой уменьшения количества правильных (оптимизация на точность). Например, когда я ввёл в Google Photos запрос playground, я получил следующие результаты:

Очеловеченное машинное обучение

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

5. Учите и учитесь

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

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

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

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

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

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

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

6. Правильные метки

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

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

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

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

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

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

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

Сделав дополнительную проверку, попросите ваших специалистов составить большое портфолио из желаемых ответов ИИ. Это даст вам ориентиры для сбора данных, надёжные метки для обучения и основу для создания протоколов маркировки больших объёмов данных.

7. Не бойтесь сотрудничать

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

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

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

Машинное обучение — командная работа
Машинное обучение — командная работа

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

44
Начать дискуссию