5.1.1 输入层

​ 输入层(Input Layer)通常是输入卷积神经网络的原始数据或经过预处理的数据,可以是图像识别领域中原始三维的多彩图像,也可以是音频识别领域中经过傅利叶变换的二维波形数据,甚至是自然语言处理中一维表示的句子向量。以图像分类任务为例,输入层输入的图像一般包含RGB三个通道,是一个由长宽分别为$H$和$W$组成的3维像素值矩阵$H\times W \times 3$,卷积网络会将输入层的数据传递到一系列卷积、池化等操作进行特征提取和转化,最终由全连接层对特征进行汇总和结果输出。根据计算能力、存储大小和模型结构的不同,卷积神经网络每次可以批量处理的图像个数不尽相同,若指定输入层接收到的图像个数为$N$,则输入层的输出数据为$N\times H\times W\times 3$。

5.1.2 卷积层

​ 卷积层(Convolution Layer)通常用作对输入层输入数据进行特征提取,通过卷积核矩阵对原始数据中隐含关联性的一种抽象。卷积操作原理上其实是对两张像素矩阵进行点乘求和的数学操作,其中一个矩阵为输入的数据矩阵,另一个矩阵则为卷积核(滤波器或特征矩阵),求得的结果表示为原始图像中提取的特定局部特征。图5.1表示卷积操作过程中的不同填充策略,上半部分采用零填充,下半部分采用有效卷积(舍弃不能完整运算的边缘部分)。 ​ ​ 图5.1 卷积操作示意图

5.1.3 激活层

​ 激活层(Activation Layer)负责对卷积层抽取的特征进行激活,由于卷积操作是由输入矩阵与卷积核矩阵进行相差的线性变化关系,需要激活层对其进行非线性的映射。激活层主要由激活函数组成,即在卷积层输出结果的基础上嵌套一个非线性函数,让输出的特征图具有非线性关系。卷积网络中通常采用ReLU来充当激活函数(还包括tanh和sigmoid等)ReLU的函数形式如公式(5-1)所示,能够限制小于0的值为0,同时大于等于0的值保持不变。 $$ f(x)=\begin{cases} 0 &\text{if } x<0 \ x &\text{if } x\ge 0 \end{cases} \tag{5-1} $$

5.1.4 池化层

​ 池化层又称为降采样层(Downsampling Layer),作用是对感受域内的特征进行筛选,提取区域内最具代表性的特征,能够有效地降低输出特征尺度,进而减少模型所需要的参数量。按操作类型通常分为最大池化(Max Pooling)、平均池化(Average Pooling)和求和池化(Sum Pooling),它们分别提取感受域内最大、平均与总和的特征值作为输出,最常用的是最大池化。

5.1.5 全连接层

​ 全连接层(Full Connected Layer)负责对卷积神经网络学习提取到的特征进行汇总,将多维的特征输入映射为二维的特征输出,高维表示样本批次,低位常常对应任务目标。

最新文章

  1. 计算机程序的思维逻辑 (48) - 剖析ArrayDeque
  2. 【HDU 2089】不要62
  3. STL:原地归并排序模板(InplaceMergeSort)
  4. Psp个人软件开发软件需求分析及用例分析
  5. C#一些知识点:委托和事件的区别
  6. Android数据存储方式之SharedPreferences
  7. IntelliJ IDEA 14.x 创建工作空间与多个Java Web项目
  8. Word 2010发布博客文章
  9. HDU 5868 Different Circle Permutation(burnside 引理)
  10. 机器学习实战 logistic回归 python代码
  11. zabbix proxy部署
  12. vue_过滤器: 对要显示的数据进行特定格式化后再显示
  13. App Store评论优化,让你的APP评论上涨
  14. h5页面转图片长按保存
  15. 如何在已安装Python解释器的Linux上更新Python
  16. 部署 Django
  17. Codeforces Round #531 (Div. 3)
  18. 【Core】.NET Core 部署在Linux
  19. 洛谷P1101 单词方针
  20. MATLAB图片折腾3

热门文章

  1. C++之future和promise
  2. [LeetCode] 21. Merge Two Sorted Lists 合并有序链表
  3. Python 安装 MySQL-python ImportError: No module named &#39;ConfigParser&#39;
  4. IP通信学习心得02
  5. 从GitLab上创建分支本地拉取项目和提交项目详解
  6. [转帖]Redis、Memcache和MongoDB的区别
  7. [转帖]IBM报告:多国央行考虑发行数字货币 最快5年内问世
  8. win10无法安装软件解决
  9. C++容器简介1—stack
  10. Appium移动端测试--搭建测试环境