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

ФУНДАМЕНТАЛЬНЫЕ ИССЛЕДОВАНИЯ

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

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

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

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

«Чем меньше пользователю нужно менять свое поведение и понимание, тем лучше».

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

СОВЕЩАНИЯ ПО ТРЕБОВАНИЯМ ПРОЕКТИРОВАНИЯ

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

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

Глубокое обучение похоже на обучение с подкреплением в том, что цель пытается быть достигнута. Разница в том, что с дополнительными данными глубокое обучение может прогнозировать результат. Внутри глубокого обучения есть две группы. Обучение на основе правил - вот как это звучит. Правила вводятся в машину до того, как она будет обучена на данных. Этот тип одобрен OpenAI и тем, как они побеждают чемпиона по го. Реакционное обучение похоже на инстинкт. Это больше полагается на то, что машина будет больше проявлять свою реакцию. Google больше зависит от этого стиля.

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

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

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

СРАВНЕНИЕ АЛГОРИТМОВ

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

Обычный процесс машинного обучения состоит из трех этапов. Алгоритм берет некоторые данные (с известными ответами) и предсказывает результат (без доступа к этим ответам). Затем он использует этот прогноз для сравнения с ответами и измерения ошибки / потери. На основе этого измерения / оценки он «учится», адаптируясь. Затем он проходит через весь процесс снова и снова. Казалось бы, самый простой способ выбрать алгоритм - сравнить их на основе их измерения / оценки, которую они себе выставляют. Проблема в том, что процесс оценки внутри каждого алгоритма настраивается, поэтому его нельзя сравнивать.

Лучший способ сравнить алгоритмы друг с другом - использовать «матрицу неточностей». Думайте об этом как о своего рода финальном тесте в конце срока для алгоритмов. (Он не должен быть большим, обычно данные делятся на 60% на обучение, 20% на проверку и 20% на тестирование.) Обычные наборы данных, используемые для обучения алгоритма, разделяются между обучением и последующей проверкой. Но точно так же, как студенты могут научиться готовиться к тесту, вместо того, чтобы изучать материал; алгоритмы могут научиться передавать только набор данных проверки. Использование окончательного набора данных, которые алгоритмы никогда не увидят во время обучения, гарантирует, что этого не произойдет. Это также позволяет вам сравнить, какой из различных алгоритмов лучше всего достигает ваших целей, поскольку все они тестируются на одних и тех же данных, и вы можете указать требования для измерения.

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

ВЫВОД

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