1 卷积核大小的确定
多个小的卷积核叠加使用要远比一个大的卷积核单独使用效果要好的多,在连通性不变的情况下,大大降低了参数个数和计算复杂度。
卷积核大小必须大于1才有提升感受野的作用,1排除了。而大小为偶数的卷积核即使对称地加padding也不能保证输入feature map尺寸和输出feature map尺寸不变(画个图算一下就可以发现),2排除了。所以一般都用3作为卷积核大小。
当然,卷积核也不是越小越好,对于特别稀疏的数据比如下图所示,当使用比较小的卷积核的时候可能无法表示其特征,如果采用较大的卷积核则会导致复杂度极大的增加。总而言之,我们应该选择多个相对小的卷积核来进行卷积。
图1 特征比较稀疏的数据图像
例如:一个7*7的卷积核可以用3个3*3的卷积核去复现,得到相同大小的特征图,但是7*7的卷积核会产生49个权重参数,而3层3*3的卷积核仅产生27个权重。同理,一个5*5的卷积核可以用2个3*3的卷积核去复现。
特征图大小计算方式有两种,分别是‘VALID’和‘SAME’,计算方法如下:
(1)[endif]‘VALID’---对输入图像不进行填充:
(2)[endif]‘SAME’---对输入图像进行填充,保持输入图像和输出图像大小一致:
图2 卷积核分别为7*7、3*3的特征图大小计算
图3 权重参数
2生成对抗网络GAN
2.1 生成对抗网络的基本结构
GAN的主要结构包括一个生成器G(Generator)和一个判别器D(Discriminator)。
图4 GAN基本结构
我们现在拥有大量的手写数字的数据集,我们希望通过GAN生成一些能够以假乱真的手写字图片。主要由如下两个部分组成:
(1)定义一个模型来作为生成器(图三中蓝色部分Generator),能够输入一个向量,输出手写数字大小的像素图像。
(2)定义一个分类器来作为判别器(图三中红色部分Discriminator)用来判别图片是真的还是假的(或者说是来自数据集中的还是生成器中生成的),输入为手写图片,输出为判别图片的标签。
2.2 生成对抗网络的训练方式
最终目的:
实际应用:
GAN主要应用在图像生成、超分辨率、风格迁移等方面
图5 根据文字描述生成图像
图6 更改面部表情
图7 生成超高分辨率图像
图8 图像风格迁移
图9 pix2pix生成图像
3强化学习
强化学习得应用场景:
强化学习是与监督学习、非监督学习并列的第三类机器学习方法。
图10 机器学习分类
(1)强化学习和监督式学习的区别:
监督式学习就好比你在学习的时候,有一个导师在旁边指点,他知道怎么是对的怎么是错的,但在很多实际问题中,例如chess,go,这种有成千上万种组合方式的情况,不可能有一个导师知道所有可能的结果。
而这时,强化学习会在没有任何标签的情况下,通过先尝试做出一些行为得到一个结果,通过这个结果是对还是错的反馈,调整之前的行为,就这样不断的调整,算法能够学习到在什么样的情况下选择什么样的行为可以得到最好的结果。
就好比你有一只还没有训练好的小狗,每当它把屋子弄乱后,就减少美味食物的数量(惩罚),每次表现不错时,就加倍美味食物的数量(奖励),那么小狗最终会学到一个知识,就是把客厅弄乱是不好的行为。
两种学习方式都会学习出输入到输出的一个映射,监督式学习出的是之间的关系,可以告诉算法什么样的输入对应着什么样的输出,强化学习出的是给机器的反馈reward function,即用来判断这个行为是好是坏。
另外强化学习的结果反馈有延时,有时候可能需要走了很多步以后才知道以前的某一步的选择是好还是坏,而监督学习做了比较坏的选择会立刻反馈给算法。
(2)强化学习和非监督式学习的区别:
非监督式不是学习输入到输出的映射,而是模式。例如在向用户推荐新闻文章的任务中,非监督式会找到用户先前已经阅读过类似的文章并向他们推荐其一,而强化学习将通过向用户先推荐少量的新闻,并不断获得来自用户的反馈,最后构建用户可能会喜欢的文章的“知识图”。
4 循环神经网络(RNN)
首先看一个简单的循环神经网络如,它由输入层、一个隐藏层和一个输出层组成:
图11 RNN结构图
具体应用: