【一起理解】Transpose 、 Flatten 、Reshape、全连接层
这里使用YoloV1的案例来解释这些操作的内容
Transpose
transpose 转置;
- 并非是每次都会用到的(非深度学习的基础设施)(一种上采样的方法)
- 特征提取的专职操作通常指的是转置卷积,也称为反卷积或上采样卷积。用于从较小的特征生成较大的特征映射的场景,主要目的是增加数据的空间维度,与传统的卷积操作相反,他是通过零填充来扩大输入特征图的,然后应用到卷积核的,以此生成具有更大空间尺寸的输出特征图。
Flatten
flatten 扁平化
- 用于将多维度的输入数据转换为一维的数组,通常在卷积神经网络CNN与全连接层Dense Layer使用。
- 假设有一个三位特征图,使用Flatten操作之后,这个特征图会转换为一维数组,作为全连接层输入,用于后面的分类、回归等后续任务。
- Flatten本身不改变数据的总量,只是改变数据的形状,使其输入到全连接层中。
全连接层
FC,fully connected
(7,7,1024)Tensor 与 4096个神经元连接,组成全连接层,(7,7,1024)中的所有元素与4096个神经元全部连接。意味着这个层负责将(7,7,49)维的高级表示映射到一个4096更低维度的空间,以满足任务的需要。可以用于包括分类、回归或其他任务。
简单理解:高维与低维的所有神经元都进行连接,通过不同的权重将高维信息映射到低维度上,实现参数的减少,维度的降低。
Reshape
如果用于多分类的话,一般衔接多个全连接层一直到和class种类相同,然后进行softmax,找到分类概率最大的。
在这里,因为最后要映射到7 * 7 * 30的Tensor上,所以要进行一次reshape