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

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

Задача тестового оракула.

Проблема тестового оракула не специфична для ML и хорошо известна из традиционного программного обеспечения [1]. Это относится к определению правильного тестового результата для данного тестового входа.

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

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

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

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

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

Вот как метаморфические отношения могут способствовать решению проблемы оракула.

Что такое метаморфические отношения?

Метаморфические отношения — это отличный способ расширить тестовое покрытие вашей модели машинного обучения. Метаморфическое отношение [2]:

«Относится к взаимосвязи между изменением ввода программного обеспечения и изменением вывода».

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

f(-input) = f(input)

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

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

b) Использование временных отношений в видеопоследовательностях (например, два последовательных кадра изображения в видеопоследовательности с частотой 30 Гц, вероятно, похожи), которые действуют как контролирующие сигналы. Оба были применены в контексте (само) обучения с учителем для создания более надежных моделей машинного обучения [3].

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

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

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

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

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

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

Не убежден? Подобные метаморфические отношения были применены к тестированию нейронных сетей для автономного вождения Tian et al. в DeepTest [4]. Они обнаружили тысячи ошибочных (а иногда и серьезных) действий в современных глубоких нейронных сетях для беспилотных автомобилей.

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

  • [1] «Тестовый оракул», wikipedia.org, 2022 г.
  • [2] «Тестирование машинного обучения: обзор, ландшафты и горизонты», Чжан и др., arXiv.org, 2019.
  • [3] «Обучение с самоконтролем», Зиссерман А., Летняя школа искусственного интеллекта в прериях, 2018 г.
  • [4] «DeepTest: автоматизированное тестирование автономных автомобилей, управляемых глубокой нейронной сетью», Тиан и др., arXiv.org, 2017.