Снижение рисков при разработке продуктов на основе ИИ

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

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

Почему это было?

Бережливый стартап

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

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

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

Большинство идей, лежащих в основе Lean Startup, были разработаны в период расцвета продуктов «Web 2.0», т. е. программного обеспечения, основная функциональность которого заключалась в создании и совместном использовании контента пользователями. Из-за относительной простоты этих продуктов (без учета масштаба, в котором некоторые из них работают для этого обсуждения) предполагается, что решение проблемы MVP может быть сформулировано экспертом в предметной области и реализовано компетентной командой разработчиков в разумные сроки. время и средства. Как следствие, разработка MVP полностью находится в зоне влияния команды разработки продукта: реализация решения не зависит от внешних факторов.

Стартап AI/ML

Что делать, если решение проблемы наших клиентов не может быть подробно описано специалистом в предметной области?

Такое решение зависит от систематических закономерностей и отношений в физической, биологической или социальной реальности. Алгоритм машинного обучения (ML) обнаруживает эти отношения и представляет их в виде модели. Затем эта модель используется для управления поведением вашего решения. Что принципиально отличается от продуктов, не связанных с ML, так это то, что эти отношения и шаблоны в реальности, лежащие в основе нашего решения, неизвестны вашему эксперту в предметной области. Если бы они были известны, поведение решения можно было бы явно указать, и не было бы нужды в машинном обучении!

В качестве иллюстрации этой разницы, хотя Facebook в настоящее время использует ML для оптимизации своего продукта, его основная функциональность как MVP была бы полностью функциональна без ML. Наоборот, без использования машинного обучения и наличия большого набора данных 23andme никогда не смогли бы протестировать MVP своего решения для определения вашей родословной по вашей ДНК.

Создание продукта на основе машинного обучения вносит несколько неопределенностей по сравнению с более «традиционным» приложением:

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

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

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

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

Практическое снижение рисков продукта ML

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

Получите доступ к данным как можно раньше

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

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

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

Делиться == Доверять

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

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

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

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

Приманка

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

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

Модель соответствует рынку

Все модели ошибочны, но некоторые из них полезны. — Джордж Э.П. Коробка

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

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

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

Бесплатного обеда не бывает

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