1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-SimAM

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

SimAM: Простой модуль внимания без параметров для свёрточных нейронных сетей

Линьсяо Янг, Ру-Юань Чжан, Лида Ли, Сяочжао Цзиэ

Аннотация

В данной работе мы предлагаем концептуально простой, но очень эффективный модуль внимания для свёрточных нейронных сетей (CNN). В отличие от существующих модулей внимания канального и пространственного уровней, наш модуль вычисляет 3-D веса внимания для карты признаков в слое, не добавляя параметров к исходной сети. Конкретнее, мы основываемся на некоторых хорошо известных теориях нейробиологии и предлагаем оптимизировать функцию энергии для нахождения важности каждого нейрона. Мы также выводим быстрое аналитическое решение для этой функции энергии и показываем, что это решение можно реализовать менее чем за десять строк кода. Другим преимуществом нашего модуля является то, что большинство операторов выбраны на основе решения определённой функции энергии, что позволяет избежать чрезмерных усилий для настройки архитектуры. Квантификационные оценки на различных визуальных задачах демонстрируют гибкость и эффективность предложенного модуля для улучшения способности представления многих CNN. Наш код доступен по адресу Pytorch-SimAM.


Наши среды и наборы инструментов

  • ОС: Ubuntu 18.04.5
  • CUDA: 11.0
  • Python: 3.8.3
  • Инструментарий: PyTorch 1.8.0
  • GPU: Quadro RTX 8000 (4 шт.)
  • thop

Модуль

Наша цель — вывести 3-D веса внимания (рисунок (c)), используя данную карту признаков, что значительно отличается от предыдущих работ, как показано на рисунке (a) и (b).

SimAM (реализация на PyTorch). Подробности реализации, включая модуль и сеть, можно найти в папке networks этого репозитория.

class SimAM(nn.Module):
    # X: входные данные [N, C, H, W]
    # lambda: коэффициент λ в уравнении (5)
    def forward(self, X, lambda):
        # размер пространства
        n = X.shape[2] * X.shape[3] - 1
        # квадрат (t - u)
        d = (X - X.mean(dim=[2,3])).pow(2)
        # d.sum() / n — это вариация канала
        v = d.sum(dim=[2,3]) / n
        # E_inv группирует все важности X
        E_inv = d / (4 * (v + lambda)) + 0.5
        # вернуть обработанные признаки
        return X * torch.sigmoid(E_inv)

Кривые обучения и проверки

Эксперименты

Обучение и оценка

Далее приведены команды для обучения моделей на ImageNet с нуля с использованием 4 GPU.

# Обучение с нуля

python main_imagenet.py {путь до ImageNet} --gpu 0,1,2,3 --epochs 100 -j 20 -a resnet18 

python main_imagenet.py {путь до ImageNet} --gpu 0,1,2,3 --epochs 100 -j 20 -a resnet18 
--attention_type simam --attention_param 0.1

python main_imagenet.py {путь до ImageNet} --gpu 0,1,2,3 --epochs 150 -j 20 -a mobilenet_v2
--attention_type simam --attention_param 0.1 --lr .05 --cos_lr --wd 4e-5 
# Оценка обученной модели

python main_imagenet.py {путь до ImageNet} --gpu 0,1,2,3 -j 20 -a resnet18 -e
--resume {путь до предобученного .pth}

ImageNet

Все следующие модели могут быть скачаны с BaiduYunPan (код для распаковки: 25tp) и Google Drive.

Модель Параметры FLOPs Top-1(%) Top-5(%)
SimAM-R18 11.69 М 1.82 Г 71.31 89.88
SimAM-R34 21.80 М 3.67 Г 74.49 92.02
SimAM-R50 25.56 М 4.11 Г 77.45 93.66
SimAM-R101 44.55 М 7.83 Г 78.65 94.11
SimAM-RX50 (32x4d) 25.03 М 4.26 Г 78.00 93.93
SimAM-MV2 3.50 М 0.31 Г 72.36 90.74

Оценка на COCO

Мы используем mmdetection для обучения Faster RCNN и Mask RCNN для детекции объектов и сегментации экземпляров. Если вы хотите запустить следующие модели, пожалуйста, установите mmdetection согласно руководству. И затем поместите все .py из mmdetection данного репозитория в соответствующие папки. Все следующие модели могут быть скачаны с BaiduYunPan (код для распаковки: ysrz) и Google Drive.

Детекция с Faster RCNN (FR для короткого имени) и Mask RCNN (MR для короткого имени)

Модель AP AP_50 AP_75 AP_S AP_M AP_L
FR-SimAM-R50 39.2 60.7 40.8 22.8 43.0 50.6
FR-SimAM-R101 41.2 62.4 45.0 24.0 45.6 52.8
MR-SimAM-R50 39.8 61.0 43.4 23.1 43.7 51.4
MR-SimAM-R101 41.8 62.8 46.0 24.8 46.2 53.9

Сегментация экземпляров с Mask RCNN (MR для короткого имени)

Модель AP AP_50 AP_75 AP_S AP_M AP_L
MR-SimAM-R50 36.0 57.9 38.2 19.1 39.7 48.6
MR-SimAM-R101 37.6 59.5 40.1 20.5 41.5 50.8

Цитирование

Если вам полезна модель SimAM в вашем исследовании, пожалуйста, рассмотрите возможность цитирования:

@InProceedings{pmlr-v139-yang21o,
    title = 	 {SimAM: A Simple, Parameter-Free Attention Module for Convolutional Neural Networks},
    author =       {Yang, Lingxiao and Zhang, Ru-Yuan and Li, Lida and Xie, Xiaohua},
    booktitle = 	 {Proceedings of the 38th International Conference on Machine Learning},
    pages = 	 {11863--11874},
    year = 	 {2021},
    editor = 	 {Meila, Marina and Zhang, Tong},
    volume = 	 {139},
    series = 	 {Proceedings of Machine Learning Research},
    month = 	 {18--24 Jul},
    publisher =    {PMLR},
    pdf = 	 {http://proceedings.mlr.press/v139/yang21o/yang21o.pdf},
    url = 	 {http://proceedings.mlr.press/v139/yang21o.html}
}

Контактная информация

Если у вас есть предложения или вопросы, вы можете связаться с нами по адресу: lingxiao.yang717@gmail.com. Благодарим за внимание!

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-SimAM.git
git@api.gitlife.ru:oschina-mirror/mirrors-SimAM.git
oschina-mirror
mirrors-SimAM
mirrors-SimAM
master