Masked Autoencoders Are Scalable Vision Learners
#paper
Смотрите, какя простая и одновременно круто работающая идея:
Давайте мы обучим обычный автоэнкодер, но с одним нюансом: при подаче картинки в сеть мы разделим ее на патчи и закроем случайные 75% из них (см. картинку к посту). А учить нейронку будем восстанавливать всю картинку целиком. Такое "закрывание" большей части картинки, во-первых, сильно ускоряет обучение сети (примерно в 3 раза). А во-вторых, оказывается, это заставляет нейросеть при обучении выучивать полезную информацию об изображениях.
Что я имею в виду под "выучивать полезную информацию об изображениях": оказывается, если у обученного таким образом AE заменить декодер на классификационный слой и совсем немного дообучить, получится SOTA на ImageNet.
Почему это круто:
Сейчас в эпоху больших моделей для обучения современных больших нейросетей требуется огромное количество данных. Если мы обучаем сеть для классификации с нуля, то нам нужна куча размеченных картинок. А большое число размеченных картинок собрать сложно: долго и дорого. Нужно нанимать людей размечать данные за деньги или писать сложные алгоритмы автоматической разметки, которые еще и работать будут неидеально. Поэтому сейчас развитие self-supervised подходов к обучению (подходов, в которых сеть обучается на данных без разметки) идет полным ходом.
Обучение автоэнкодера как раз происходит в self-supervised режиме: лейблы не нужны. И после обучения AE достаточно дообучить его на совсем небольшом наборе размеченных данных для классификации — и мы получим SOTA! Вот поэтому этот результат так крут.
Ссылка на статью: тык.
#paper
Смотрите, какя простая и одновременно круто работающая идея:
Давайте мы обучим обычный автоэнкодер, но с одним нюансом: при подаче картинки в сеть мы разделим ее на патчи и закроем случайные 75% из них (см. картинку к посту). А учить нейронку будем восстанавливать всю картинку целиком. Такое "закрывание" большей части картинки, во-первых, сильно ускоряет обучение сети (примерно в 3 раза). А во-вторых, оказывается, это заставляет нейросеть при обучении выучивать полезную информацию об изображениях.
Что я имею в виду под "выучивать полезную информацию об изображениях": оказывается, если у обученного таким образом AE заменить декодер на классификационный слой и совсем немного дообучить, получится SOTA на ImageNet.
Почему это круто:
Сейчас в эпоху больших моделей для обучения современных больших нейросетей требуется огромное количество данных. Если мы обучаем сеть для классификации с нуля, то нам нужна куча размеченных картинок. А большое число размеченных картинок собрать сложно: долго и дорого. Нужно нанимать людей размечать данные за деньги или писать сложные алгоритмы автоматической разметки, которые еще и работать будут неидеально. Поэтому сейчас развитие self-supervised подходов к обучению (подходов, в которых сеть обучается на данных без разметки) идет полным ходом.
Обучение автоэнкодера как раз происходит в self-supervised режиме: лейблы не нужны. И после обучения AE достаточно дообучить его на совсем небольшом наборе размеченных данных для классификации — и мы получим SOTA! Вот поэтому этот результат так крут.
Ссылка на статью: тык.