卷积神经网络构成部分
- 输入:$n_H^{[l-1]} \times n_W^{[l-1]} \times n_C^{[l-1]}$
- 权重参数$w^{[l]} : f^{[l]} \times f^{[l]} \times n_c^{[l-1]} \times n_c^{[l]}$ ($n_c^{[l]}$表示过滤器总数量)
- 偏差参数$b^{[l]}: 1 \times 1 \times 1 \times n_c^{[l]}$
${w^{[1]}}{a^{[0]}}$卷积计算,$+{b^{[1]}}$加上偏差
卷积网络通常有三层:
卷积层(convolution layer,简称Conv)
作用
提取输入图片的特征,使图像从具体到抽象
填充(padding)
如果有一个$n \times n$的图像,用$f \times f$的过滤器做卷积,那么输出的维度为$(n-f+1)\times (n-f+1)$。这样存在缺点:1. 输出缩小;2. 图像边缘的大部分信息都丢失了
padding:在图像四周均填充p个像素点,这样输出维度变成了(一般向下取整)$(n+2p-f+1)\times (n+wp-f+1)$
- Valid卷积:不填充
- Same卷积:填充后输入大小和输出大小相同,即$n+2p-f+1=n -> p = (f-1)/2$
在计算机视觉中,f通常是奇数,因为:
- 如果f为偶数,只能使用不对称填充
- 奇数维过滤器有中心像素点,便于指出过滤器的位置
卷积步长(strided convolutions)
设步长为s,输出大小为$[\frac{n + 2p - f}{s} + 1] \times [\frac{n + 2p - f}{s} + 1]$(向下取整)
三维卷积
${n_c}$表示通道数,对应位置相乘后全部数相加
对于某个卷积层,无论输入图像有多少个通道,输出图像通道数总是等于卷积核数量
池化层(pooling layer,简称Pool)
作用
- 挑选不受位置干扰的图像信息。
- 对特征进行降维,提高后续特征的感受野,也就是让池化后的一个像素对应前面图片中的一个区域。
- 因为池化层是不进行反向传播的,而且池化层减少了特征图的变量个数,所以池化层可以减少计算量。
分类
- 最大池化:将输入矩阵划分成若干小矩阵,选取每个小矩阵中的最大值
- 平均池化:将输入矩阵划分成若干小矩阵,选取每个小矩阵中的平均值
超参数:f,s
全连接层(fully connected layer,简称FC)
作用:将前一层得到的矩阵平整化为一个一维向量输出(类似普通的神经层)
卷积神经网络常见模式
一个或多个Conv + 一个Pool + 一个或多个Conv + 一个Pool + 几个全连接层 + softmax
注:
- 池化层和最大池化层没有参数
- 卷积层的参数相对较少,许多参数存在于神经网络的全连接层
尽量不要自己设置超参数,而是查看文献中别人采用了哪些超参数
卷积的优点:
- 参数共享 parameter sharing
- 稀疏链接 sparsity of connections
对抗攻防
概念:训练样本中隐藏了微小噪声,人眼无法识别出来,但是会造成模型产生错误预测。
解决办法:强化学习,延迟奖励机制
监督学习试图基于训练数据预测其标签,并正确泛化至未经过训练的数据;但在强化学习中,由于延迟奖励,当前状态下的最优动作往往难以定义,且在智能体与环境交互的过程中,足以代表训练环境的数据往往难以获取。
对抗攻击:白盒设置、黑盒设置(主要)
目标:增强模型的鲁棒性
多智能体
把博弈论运用在人机对抗、机器与机器的对抗中。这些智能体都拥有自己的优化目标,比如最大化自身收益。
传统无生命的物理对象通过机器学习等方法正在逐渐被赋予如生命体一样的智能性。多智能体和自动控制的差距缩小