О, ИИ, снова.

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

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

Давайте погрузимся в простое руководство по созданию вашей первой проверки концепции машинного обучения (POC). Это просто три шага.

  1. Начните с проблемы.
  2. Прототипируйте и оценивайте.
  3. Выпуск и итерация

TL;DR

  1. Это простое руководство по шагам, которые я выполнил, чтобы создать POC-модель классификатора изображений на Vertex AI. Благодаря инструменту, предназначенному для помощи врачам в точной классификации нормальных и пневмоний рентгеновских снимков детей.
  2. Эта статья предназначена для всех, особенно для новичков в продуктах, которые хотят знать, как работает это волшебство. Следовательно, он затрагивает различные аспекты обучения и оценки машинного обучения, не углубляясь в каждый шаг.

Шаг 1: Начните с проблемы.

Какую проблему вы решаете?

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

Важно отметить, что не все проблемы можно решить с помощью ИИ, и не все проблемы, которые можно решить с помощью ИИ, стоит решать.

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

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

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

Разработайте свое экономическое обоснование.

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

  • Является ли это серьезной бизнес-проблемой?
  • Можете ли вы количественно оценить результаты бизнеса?
  • Имеет ли проблема значительный объем связанных данных?

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

  • Сколько данных требуется?
  • Эффективно ли набор данных решает проблему?
  • Является ли набор данных полным и правильно аннотированным?

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

Шаг 2: Создайте прототип и протестируйте его на реальных данных.

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

  1. Подготовка набора данных
  2. Обучение модели
  3. Оценка модели

Шаг 2.1: Подготовка набора данных

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

  • Соответствует ли набор данных проблеме?
  • Является ли набор данных полным?
  • Как мы можем аннотировать и обеспечивать качество набора данных с течением времени?

Доступность данных

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

Размер данных

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

Распределение данных и шаблоны

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

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

Аннотации к данным

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

Цель #data #annotation — преобразовать неструктурированные и неразмеченные данные в желаемый размеченный вывод.

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

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

Как работают эти платформы?

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

Шаг 2.2: Обучение модели

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

АвтоML

Поскольку мы согласились создать POC без какого-либо программирования, вам необходимо использовать платформу, которая помогает в обучении, тестировании, развертывании и масштабировании моделей машинного обучения, например Vertex AI от Google. Эта платформа упрощает связанные с этим сложности, позволяя вам сосредоточиться на ваших данных и предметной области, а не на технических деталях разработки модели машинного обучения.

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

Понимайте и диверсифицируйте свои данные

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

Как использовать Vertex AI для обучения и тестирования вашей модели?

  1. Загрузите или импортируйте изображения и назначьте правильную метку изображению.
  2. Определите метод обучения и детали модели и подождите, пока Vertex AI сделает свое дело.
  3. Разверните модель и протестируйте ее с помощью тестовых изображений.

Шаг 2.3: Оценка модели

Оценка сравнивает предсказанные метки с фактическими скрытыми метками. Чтобы вы могли оценить свою модель, вы должны быть знакомы со следующими #evaluation #metrics

Мы приведем простой пример для каждой метрики, чтобы было понятно.

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

Точность:

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

Точность = (истинно положительные + истинно отрицательные) / (общее количество образцов)

Всего ребенку показывают 20 фигур, из них 15 треугольников и 5 квадратов. Если ребенок правильно идентифицирует 17 фигур (14 треугольников и 3 квадрата), точность будет (14 + 3) / 20 = 85%.

Точность

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

Точность = истинные положительные результаты / (истинные положительные результаты + ложные положительные результаты)

Из фигур, которые ребенок идентифицирует как треугольники (скажем, 10 фигур), только 8 на самом деле треугольники, а 2 — квадраты. Точность будет 8/(8 + 2) = 80%.

Отзыв (чувствительность или доля истинного положительного результата)

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

Отзыв = истинные положительные результаты / (истинные положительные результаты + ложноотрицательные результаты)

В наборе всех показанных ребенку треугольников (всего 15 треугольников) ребенок правильно идентифицирует 12 из них как треугольники, при этом пропустив 3. Воспоминание будет 12 / (12 + 3) = 80%. Это означает, что ребенок захватил 80% реальных треугольников.

Оценка F1

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

Оценка F1 = 2 * (Точность * Отзыв) / (Точность + Отзыв)

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

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

Вот как три разных набора данных, которые я использовал, изменили производительность модели.

Шаг 3: Наконец, выпуск, изучение, итерация

AB-тестирование

Итак, пора испытать вашу потрясающую модель! Обычной практикой является отправка 20 % ваших клиентов, чтобы они опробовали новую и блестящую версию 2 вашей модели, в то время как оставшиеся 80 % придерживаются надежной версии 1. Таким образом, вы можете собрать некоторые сочные экспериментальные данные и посмотреть, новая модель действительно затмевает старую. Если это так, вы можете уверенно перевести весь свой пользовательский трафик (100%) на новую и улучшенную модель.

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

Итерация

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

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

Ты сделал это. ****

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

Подводя итог:

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

Отказ от ответственности и кредиты

  • Это не исчерпывающее руководство; Основная цель этой статьи — помочь вам понять основные понятия и этапы высокого уровня.
  • Хотя я не затрагивал этические и юридические аспекты, очень важно всегда учитывать этические и юридические соображения.
  • Представленная информация была предельно упрощена и это приведет к не совсем точным выражениям.
  • Индустрия развивается очень быстро, поэтому велика вероятность того, что она устареет за очень короткое время.
  • Вы всегда должны заботиться о превышении бесплатных кредитов в Vertex AI от Google или фактически запускать свой проект аннотаций в Appen, потому что они, вероятно, будут взимать с вас большую плату, если вы не позаботитесь.
  • Я бы не смог освоить и применить эти навыки без менеджера по продуктам искусственного интеллекта Udacity ND.