热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

gnap(globalnormawarepooling)block

GNAP(用于mobilefacenet)结构:如果特征维度512,Conv(1x1)BatchnormRelu然后

GNAP(用于mobilefacenet++)

结构:

如果特征维度>512,Conv(1x1)+Batchnorm+Relu

然后Batchnorm+算法[1]+Global Avr Pooling

如果特征维度<512&#xff0c;Batchnorm&#43;FC&#xff0c;否则Faltten

然后Batchnorm

batchnorm的作用是改变输入的分布&#xff0c;尽可能满足正太分布&#xff0c;避免进入激活函数的饱和区&#xff0c;一般在激活层前面。

GNAP优点

对于large pose face&#xff0c;landmark通常检测不够准确&#xff0c;这对于后续的人脸识别工作产生不好的影响&#xff0c;权重单元通常会有一个偏移量。

假设最后一个feature map为3x3&#xff0c;&#xff08;1&#xff0c;1&#xff09;这个点&#xff08;假设是鼻子&#xff09;是应该主要学习的特征点&#xff0c;该点的权重应该最大&#xff08;为1&#xff09;&#xff0c;其他8个点则应该很小&#xff08;为0&#xff09;&#xff0c;如果一些训练样本的landmark不够准确&#xff0c;鼻子的位置发生偏移&#xff0c;如偏移到&#xff08;2,1&#xff09;或者&#xff08;1&#xff0c;2&#xff09;等&#xff0c;在学习这些样本时&#xff0c;&#xff08;2,1&#xff09;或者&#xff08;1&#xff0c;2&#xff09;会得到一些权重&#xff0c;而不是理想中的0&#xff0c;而&#xff08;1&#xff0c;1&#xff09;该点的权重也不再是1&#xff0c;可能是0.9&#xff0c;这样特征学习的位置会发生偏移。

同时&#xff0c;由于fc层不能保持空间对称性&#xff08;所有参数都是独立的&#xff0c;不像卷积层对于每个单元学习同样的特征&#xff09;&#xff0c;用fc层直接映射到全局特征&#xff0c;每个特征单元对应的权值也就是错误的&#xff08;有偏移的&#xff09;。GNAP块设计为在不丢失空间对称性的情况下&#xff0c;为不同空间位置的局部特征提供动态权重&#xff0c;在较低的fpr下&#xff0c;大大提高了基模型的姿态鲁棒性

计算方法

对于输入Fmxnxc&#xff0c;如F7x7x512&#xff0c;计算每个单元512个通道的平方和&#xff08;L2范数&#xff09;||Fi,j||&#xff0c;然后求7x7个范数的平均值||F||mean,reweight之后的feature map为||F||mean/||Fi,j||*Fi,j,c


推荐阅读
author-avatar
乳酪杳杳
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有