Андреа Клинг

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

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

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

Что вообще такое машинное обучение?

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

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

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

Критерии качества машинного обучения

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

1. Точность

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

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

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

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

2. Надежность

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

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

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

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

3. Эффективность обучения и адаптация

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

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

4. Производительность

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

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

Первоначально опубликовано на https://www.nagarro.com.