DL-池化层

池化层通常用于在特征图中提取主要特征。一般有平均池化、最大池化。池化会缩小特征图,可以通过添加池化后特征图的深度进行弥补。

池化层具有不变性。对于2×2的池化来说,如果某个特征在2×2的区域中平移,池化层所提取的特征将会是一样的。尺度的大小也不会影响最后池化所提取到的特征。因此,池化层具有平移不变性和尺度不变性。

DL-卷积层

1、卷积:图像中同卷积核做内积操作叫做卷积。其计算过程又被称为过滤,其本质是提取特征。

2、卷积核:也称为过滤器(filter)。带着一组固定权重的神经元。通常是n*m的矩阵。n和m也是该神经元的感受野。卷积核常用来提取特征(比如物体轮廓或者颜色等)。通过卷积核提取出的特征被称为特征映射(feature map)。filter_size为卷积核的尺寸,通常有3*3,5*5等。filter_num为filter_size的个数,通常是通道数,一般为3。

3、卷积层:由多个卷积核构成。

4、通道(channel):通常为R、G、B,即为3通道。

5、深度(depth):由过滤器的个数来决定。如果有3*3*3的过滤器6个,那么可以得到深度为6的输出。

6、步长(stride):指过滤器移动的幅度。

7、填充(padding):通常给图片进行边缘填充。一般填充0。用于解决卷积时边缘信息丢失的情况。注:通常情况下,左右边缘只会被卷积核扫描过一次,经过多次卷积后,边缘信息将会丢失。

8、权值共享:卷积核里的数叫做权重,使用该卷积核对一张图像的每个位置进行遍历,所以被遍历的位置权重相同。

1*1的卷积核可以用来进行升维或降维操作。

DL-Softmax函数

Softmax函数通常出现在概率论等相关领域中。它也被称为归一化指数函数。该函数公式如下:

Softmax函数实际上是有限项离散概率分布的梯度对数归一化。通常用与基于概率的多分类问题上。通过以上公式可以将所有数据映射到(0, 1)空间中,并且这些映射值的和为1。

通过Python3实现Softmax函数:

结果:

通过结果可以发现,数据中越大的数,所占的比例越大。其中4.0对应的结果为0.389。

DL-残差网络

残差网络的出现,为的是解决网络退化的问题。

网络退化的原因在与:深层的网络可能无法很好的拟合较为简单的函数。如:让深层网络拟合一个潜在的恒等映射函数H(x)=x。

令F是求和前的网络映射,而H是求和后的网络映射。那么,引入残差结构时:F'(10) = 10.1,引入残差结构:H(10) = 10.1,且H(10) = F(10) + 10,那么H(10) = 0.1。对于引入残差结构后的网络对于输出的变化更为敏感。如接下来,映射结果为10.2,那么对于残差结构来说,它的节点变化从0.1增加到0.2,变化量为100%。对于没引入残差结构的网络,它的变化则只有1%。

残差网络结构示意图

TensorFlow:基础_会话

内容:Session

一个会话的典型流程分为3步:
(1)创建会话
(2)运行会话
(3)关闭会话

创建会话

Session构造方法的输入参数

会话的主要配置参数

例:希望在没有GPU时将计算任务放到CPU上执行,并通过日志验证放置情况

运行会话

Session.run方法的输入参数

用例

代码:

结果:

关闭会话

显式关闭
sess.close()
隐式关闭
with tf.Session() as sess:
sess.run()

交互式会话InteractiveSession

交互式会话提供类似shell的交互式编程环境。交互式会话和普通回话的主要区别是:交互式会话实例创建后,该实例被注册为默认会话。因此,如果后续需要使用Tensor.eval或Operation.run求解张量、执行操作可以直接使用而不需要借助with语句块。最后还是需要通过显式关闭会话:InteractiveSession.close

用例

代码:

结果:

30.0