1、起始输入
Data:输入数据第一层
2、激活算子
作用:引入非线性(通常需要区分的区域,直线是无法完全区分的)
1)Relu
公式:ReLU(x)=max(0,x)
2)LeakyRelu
公式:LeakyRelu(x) = (x >= 0 ? x : x*negative_slope);
3)Relu6
公式:LeakyRelu(x) = max(max(x, 0), 6);
4)Tan
公式:tanh(x)=(exp(x)-exp(-x))/(exp(x)+exp(-x));
5)sigmoid
公式:sigmoid(x) = 1. / (1. + exp(x))
6)PRelu
公式:f(x) = max(x, 0) + slope_data[c] * min(x, 0);
3、两个Tensor计算
1)+、-、*、/:Add、Sub、Mul、RealDiv
2)BiasAdd:用于增加bias操作,通常bias是一维Tensor
3)MatMul:矩阵乘
4)Axpy:向量求和,公式:y += a * x
4、多个Tensor计算
EltwiseOp
作用:多个Tensor对应位置元素进行相乘、相加、取最大值中一种操作
5、归一化
1)BatchNorm
参考:https://blog.csdn.net/life_is_amazing/article/details/51839438
作用:加快神经网络的训练收敛速度
2)LRN
全称:Local Response Normalization,即局部响应归一化层
作用:
LRN这个概念和运用是出现在AlexNet中。
LRN最初是生物学里的概念“相邻神经元抑制”,对局部神经元的活动创建竞争机制。
使用LRN增加了泛化能力(使输出中响应比较大的值变得相对更大,并抑制其他响应较小的神经元),做了平滑处理,提高了1%~2%的识别率。
其他:
在2015年的《Very Deep Convolutional Networks for Large-Scale Image Recognition》中,说明了LRN在IILSVRC数据集上不能对性能进行改善。
主流的模型中基本不使用LRN。
3)SsdNormalize
作用:限制了一次归一化的范围
使用网络:SSD
6、特征提取
1)Convolution
作用:分区域进行特征值提取
2)FullConnection
作用:
看作一种特殊卷积层,或者看作矩阵乘;整个输入作为feature map,进行特征提取
FC是一种迁移学习的结果,具体作用参考:https://www.zhihu.com/question/41037974
通常FC后面接Softmax,所以FC层的功能还包括矩阵维度变换,将维度变换为Softmax对应的维度
3)Correlation
与Convolution的区别,参考:https://www.cnblogs.com/linyuanzhou/p/4846499.html
4)DeConvolution
参考:https://www.jianshu.com/p/91e07efe2f32
作用:将一个低维度的空间映射到tmdsj,同时保持他们之间的连接关系/模式
5)DepConvolution
参考:https://baijiahao.baidu.com/s?id=1625255860317955368&wfr=spider&for=pc
作用:采用分步计算的方法,完成普通3D核的计算,其好处在于提升卷积计算的效率
7、防过拟合
1)Pooling
作用:Pooling的作用是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值或平均值。Pooling减少了参数的数量,防止过拟合现象的发生。
2)Mean
作用:只有取均值功能的滑窗算子
3)ROIPooling
参考:https://blog.csdn.net/u011436429/article/details/80279536
作用:对ROI进行pooling操作,从不同大小的方框得到固定大小相应 的feature maps
使用网络:Faster RCNN
4)ROIAlign
作用:解决ROIPooling两次量化带来的问题,使用线性插值的方式来解决。
使用网络:Mask-RCNN
5)PSROIPooling
参考:https://blog.csdn.net/wfei101/article/details/80766812
使用网络:R-FCN