Если вы читаете эту статью, у вас, вероятно, есть представление об увеличении данных. Расширение данных — это эффективный метод увеличения разнообразия набора данных, который показал улучшение общей производительности сетей. Однако ему никогда не уделялось должного внимания, больше внимания уделялось поиску лучших архитектур. До статьи AutoAugment единственным методом выбора техник аугментации был случайный выбор. Это была первая статья, в которой было предложено параметризованное пространство поиска для поиска лучших операций увеличения и их величин в популярных наборах данных изображений, таких как CIFAR, SHVN, ImageNet и других. AutoAugment оказалась успешной статьей и улучшила современные результаты для всех упомянутых наборов данных. Но самым заметным ограничением автоаугментации было время, необходимое для поиска оптимальных политик аугментации. Итак, были разные статьи, такие как Увеличение на основе населения, Быстрое автодополнение и Состязательное автодополнение, которые пытались сделать этот поиск более эффективным. В этой статье объясняется последний из этих методов Adversarial AutoAugment, его подход, результаты и ограничения.

Если вы еще этого не сделали, я бы порекомендовал вам ознакомиться с документом по автоаугментации, так как это состязательное автоаугментация использует аналогичный подход для изучения оптимальных стратегий аугментации. Даже если вы не читали статью, вы сможете получить представление об автоаугментации, прочитав эту статью. Autoaugment пытается изучить преобразования изображения в виде политик, где каждая политика состоит из 5 подполитик, и каждая подполитика имеет два параметра: вероятность и величина (например, применить shearX к изображению с вероятностью 0,3 и величиной 0,5). . Чтобы ограничить пространство поиска, можно выбрать из 16 операций, а значения вероятности равномерно распределены по 11 значениям, а величина — по 10 значениям. Он использует обучение с подкреплением для поиска оптимальных политик в этом пространстве поиска, имеется сеть контроллеров (RNN) для прогнозирования политик и алгоритм обучения PPO (ProximalPolicy Optimization). На каждом шаге контроллер прогнозирует операции (10), их вероятности и величины. Затем этот вывод используется для обучения прокси-сети до сходимости, а точность проверки используется в качестве сигнала вознаграждения для контроллера.

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

Авторы состязательного автоматического расширения утверждают, что политики расширения, созданные их методом, делают целевую модель более устойчивой к вариациям изображений из-за агрессивных политик, генерируемых их контроллером, когда он пытается максимизировать потери при обучении. Например, состязательное автоаугментация предсказывает более агрессивные геометрические операции в ImageNet по сравнению с автоаугментацией, которая в основном изучает преобразования цвета в том же наборе данных. Они также показывают улучшенные результаты автоаугментации примерно за 1/10 времени, необходимого для автоаугментации. Однако они не говорят о возможности переноса операций, изученных на одном наборе данных, на другой похожий набор данных. У Autoaugment Paper есть много экспериментов, чтобы показать эту переносимость как доказательство отсутствия переобучения в их методе. Кроме того, в состязательном документе по автоаугментации нет речи о том, что произойдет, если контроллер начнет генерировать бесполезные преобразования только для того, чтобы увеличить потери при обучении целевой сети. На мой взгляд, эти вопросы стоит изучить, чтобы изучить надежность состязательной автоаугментации.