CNN通俗解析 cnn是什么意思( 二 )



卷积层扩展
全连接层
上面讨论的层和操作是每个卷积神经网络的核心组件 。既然已经讨论了卷积神经网络在前向传播中经历的操作 , 让我们跳到卷积神经网络在后向传播中经历的操作 。
反向传播|反向传播:全连接层:在全连接层中 , 反向传播与任何常规人工神经网络完全相同 。在反向传播中(使用梯度下降作为优化算法) , 损失函数的偏导数 , 即损失函数相对于权重的导数 , 用于更新参数 , 其中我们将损失函数的导数乘以激活的输出 , 激活的输出的导数乘以非激活的输出 , 非激活的输出的导数对应于权重 。
数学表达式如下:

反向传播图
在计算梯度之后 , 我们从初始权重中减去它以获得新的优化:

其中包括:
I+ 1:优化的权重
I:初始重量
:学习率
J (I):损失函数的梯度

梯度下降
在下面的动态图中 , 它是对线性回归应用梯度下降的结果 。从图中可以明显看出 , 成本函数越小 , 线性模型越适合数据 。
梯度下降适用于线性回归
另外 , 请注意 , 学习率的数值要慎重选择 。太高的学习率可能导致梯度超过目标最小值 , 而太低的学习率可能导致网络模型的收敛速度变慢 。
小学习率和大学习率
在所有的优化任务中 , 无论是在物理学、经济学还是计算机科学中 , 偏导数都有着广泛的应用 。偏导数主要用于计算因变量f(x , y , z)相对于其自变量之一的变化率 。例如 , 假设你拥有一家公司的股票 , 后者的股票会根据多种因素(证券、政治、销售收入等)而上涨或下跌 。).在这种情况下 , 通过偏导数 , 你会计算出在其他因素不变的情况下 , 有多少股票受到影响 , 如果股票发生变化 , 公司的价格也会发生变化 。
池层|池层:在最大池要素图层中 , 梯度仅通过最大值传播回来 , 因此稍微更改它们不会影响输出 。在这个过程中 , 我们将最大池操作前的最大值替换为1 , 将所有非最大值设置为零 , 然后使用链式法则将渐变变量乘以上一个变量 , 得到新的参数值 。
池层反向传播
与最大池层不同 , 在平均池层中 , 梯度通过所有输入传播(在平均合并之前) 。
卷积层|卷积层:你现在可能会问自己 , 如果卷积层的正向传播是卷积 , 那么它的反向传播是什么?好在它的反向传播也是卷积 , 不用担心学习新的高难度数学运算 。
【CNN通俗解析 cnn是什么意思】卷积层反向传播
其中包括:
?hij:损失函数的导数

简而言之 , 上图显示了反向传播在卷积层的工作原理 。现在 , 假设你对卷积神经网络有很深的理论理解 , 让我们用TensorFlow来构建第一个卷积神经网络 。
TensorFlow实现卷积神经网络;什么是张量流?

TensorFlow是一个开源软件库 , 使用数据流图进行数值计算 。它最初是由谷歌机器智能的研究机构谷歌大脑团队开发的 , 用于机器学习和深度神经网络研究 。
什么是张量?张量是一个有组织的多维数组 , 张量的阶数就是它所需要的数组的维数 。
张量的类型
什么是计算图表?图是计算代数中的一种基本处理方法 , 在机器学习中的神经网络等模型推导算法和软件包中非常有效 。计算图的基本思想是表达一些模型 , 如前馈神经网络 , 计算图是表示计算步骤顺序的有向图 。序列中的每一步对应于图中的一个顶点 , 每一步对应于一个简单的操作 。每个操作接受一些输入 , 并根据其输入产生一些输出 。
在下图中 , 我们有两个输入w1 = x和w2 = y 。此输入将流经图形 , 其中图形中的每个节点都是一个数学运算 , 为我们提供以下输出:
W3 = cos(x) , 余弦三角函数运算
W4 = sin(x) , 正弦三角函数运算
W5 = w3?w4 , 乘法运算
W6 = w1/w2 , 除法运算
W7 = w5+w6 , 加法运算


现在我们知道了什么是计算图 , 接下来让我们在TensorFlow中构建自己的计算图 。


推荐阅读