Self-training with Noisy Student improves ImageNet classification |
||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2021-01-21 10:48 Google Research, 2020 https://arxiv.org/abs/1911.04252 Какую задачу решают авторы? Когда речь заходит о deep learning’e в целом и о задачи классификации изображений в частности, общепринятой точкой зрения является, что чем больше размеченных данных, тем лучше качество модели. Получить качественный размеченный датасет может быть долго и дорого, поэтому вместе с небольшим количеством размеченных данных можно использовать неразмеченные данные, которые имеются в избытке. В статье предлагают итеративный подход, когда сначала обучают учителя, учитель генерирует псевдо-разметку для корпуса неразмеченных картинок, затем на псевдо-размеченных картинках вместе с размеченными обучается ученик, наконец уже ученик выступает в качестве учителя и используется для генерации псевдоразметки, и процесс повторяется вновь, в результате получается последовательность моделей. Ниже чуть подробнее рассмотрим трюки, которые позволили сильно улучшить SOTA решение на ImageNet. Как решают Идея Основная идея авторского решения довольна проста и ее можно разбить на следующие шаги:
В результате работы алгоритма получается последовательность моделей. В статьях посвященных knowledge distillation, как правило, модель ученика намного меньше модели учителя. Делается это чаще всего с целью не потерять сильно в качестве, но при этом сильно уменьшить размер модели, чтобы ее можно было эффективно использовать в продакшене. Однако если в предлагаемом алгоритме пойти по тому же пути, то мы не увидим особого роста качества. Улучшения Получить по настоящему интересные результаты авторам позволили следующие улучшения существующих подходов:
Разберемся почему описанные пункты позволяют добиться хороших результатов. Ученик должен быть не меньше учителя, для того чтобы модель обладала достаточной емкостью, чтобы суметь выучить все что знает учитель и еще немного больше. То есть при обучении ученика используется та же архитектура, что и у учителя, но с большим числом параметров. Рассмотрим как именно зашумляются данные. После того как учитель сгенерирует псевдо-разметку для корпуса неразмеченных картинок, к картинкам применяются случайные преобразования (повороты, отражения относительно оси итд). Нужно это для того чтобы ученику было чуть сложнее учиться, и чтобы он смог выучить не только знания учителя, но и какую-то дополнительную информацию. Наряду с зашумлением данных, авторы также “зашумляют” модель, используя dropout и stochastic depth. То есть во время обучения случайным образом исключаются отдельные нейроны (dropout) или целые слои сети (stochasticdepth) — этот процесс авторы называют noising. Это позволяет получить более робастную модель. Ниже на картинке представлена общая схема подхода Так же важно отметить, что псевдо-разметка для картинки - это не лэйбл класса, а распределение вероятности над классами (вектор). Такой подход позволяет достичь лучшего результаты при обучении ученика. Эксперименты Для экспериментов авторы использовали корпус из 300М неразмеченных картинок. Лучше всего иллюстрирует результат следующая таблица: использовании намного меньшего по размеру датасета, предлагаемый подход сильно обходит SOTA решение, которое использует только размеченные данные. Еще одно преимущество — для достижения таких результатов потребовалось всего три итерации алгоритма, по времени обучения тоже получается выигрыш. В статье представлено большое число экспериментов, где авторы отвечают на всевозможные вопросы, которые только могут возникнуть у читателя. Начиная от вопроса сколько необходимо неразмеченных данных, заканчивая вопросом того нужно ли ученика обучать с нуля или можно дообучать модель с предыдущей итерации. Очень рекомендую посмотреть статью целиком, там много интересных наблюдений. Мое мнение Данная статья в лишний раз подтверждает то, что важна далеко не только архитектура модели, но и то каким именно образом готовятся данные для обучения, и как устроен процесс обучения. Наглядный пример того как можно добиться более качественных результатов не увеличением числа параметров модели, а изменением подхода к обучению Источник: m.vk.com Комментарии: |
|