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

OSCHINA-MIRROR/mirrors-SimAM

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

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

Линсяо Янг, Ру-Юань Чжан, Лида Ли, Сяохуа Се

Аннотация

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

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

  • ОС: Ubuntu 18.04.5
  • CUDA: 11.0
  • Python: 3.8.3
  • Toolkit: PyTorch 1.8.0
  • GPU: Quadro RTX 8000 (4x)
  • thop

Модуль

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

<p align="center">
<img src="figures/attentions.png">
</p>

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

class SimAM(nn.Module):
    # X: входной признак [N, C, H, W]
    # lambda: коэффициент λ в уравнении (5)
    def forward (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 * sigmoid(E_inv)

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

<p align="center">
<img src="figures/training_curves.png">
</p>

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

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

Следующие команды обучают модели на ImageNet с нуля на 4 графических процессорах.

# Обучение с нуля
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 M 1,82 G 71,31 89,88
SimAM-R34 21,80 M 3,67 G 74,49 92,02
SimAM-R50 25,56 M 4,11 G 77,45 93,66
SimAM-R101 44,55 M 7,83 G 78,65 94,11
SimAM-RX50 (32x4d) 25,03 M 4,26 G 78,00 93,93
SimAM-MV2 3,50 M 0,31 G 72,36 90,74

COCO Evaluation

Мы используем 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://gitlife.ru/oschina-mirror/mirrors-SimAM.git
git@gitlife.ru:oschina-mirror/mirrors-SimAM.git
oschina-mirror
mirrors-SimAM
mirrors-SimAM
master