深度学习知识体系

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37789876/article/details/82594490

广义网络结构:
前馈神经网络
卷积神经网络
循环神经网络LSTM GRU
双向循环神经网络bi-LSTM bi-GRU(了解)

网络中的特殊单元:
BN(为什么可以加快学习)
用1x1的感受域来减少变量数(为什么可以加快学习)
用两2层3x3的感受域的卷积,代替5x5感受域的卷积(为什么可以优化网络)
用1x3感受域的卷积加上3x1感受域的卷积来代替3x3感受域的卷积(为什么可以优化网络)
residual block(为什么可以加快学习,为什么可以优化网络)

狭义网络结构:
不同的结构和单元的堆叠
主流网络结构有VGG,resNet,denseNet,inception v4,Xception

声音的转化方法:
傅立叶变换,CQT,MFCC
傅立叶变换是把一个波形图在时间上的图像进行频域上的解析生成的频谱图
CQT是以乐理为依据来改进单纯的傅立叶变换生成的频谱图,而最后生成CQT的图
MFCC是以人的耳蜗对频率的敏感程度为依据来改进单纯的傅立叶变换生成的频谱图,而最后生成MFCC的图

傅立叶变换的抽象理解:
机器学习算法都是一个拟合过程,傅立叶也不例外
古有泰勒公式拟合函数,今有三角函数拟合函数,这也就是傅立叶变换
泰勒公式是多项式的组合,傅立叶就是三角函数单元的组合
三角函数单元包含3个变量,acos(bx+c),a振幅和b与频率相关,c与相位相关
傅立叶变换就是通过确定b的值来求a和c的值
其实细细想想,傅立叶变换只能去拟合一个有周期的函数,那么一个没有周期的函数怎么去拟合呢
以数学的思维去思考,如果一个函数图像分成无限等份,那么我们可以认为没等份都是某个有周期的函数的一部分
所以我们一般的做法是把函数图像按窗口平移(具体方法见移窗)的方法分成很多份,对每份都进行单独的傅立叶变换。
最后可以得到两张图,第一张是x为时间,y为频率的频谱图;第二张是x为时间,y为相位的相位图

移窗:
为什么不像切菜一样切成N等份呢?为什么要移窗?窗是矩形的吗?
1一个波形图特征的重点之一是在于波峰的特征的,如果一刀把波峰切成两段了,那么就会影响到傅立叶特征的转换。
2所以我们一般都是有重叠的进行移窗来,避免把波峰给分成两部分,就算切了波峰,下一次移窗也会把那个波峰重用一遍。
3窗不是矩形的,把波峰切断是不可避免的,那么怎么尽量丢掉切断后的没用的波峰,使其他的波峰特征都集中在窗口的中心呢,这就需要一个类似于三角形的窗来在函数图像上移动了,三角形的形状可以把靠近两边边缘的较高点给排除,而不会影响到中心区域的波峰。

深度学习中的注意力机制:
抽象概念,就像人一样有一定的注意力一样,我们也可以给神经网络加进一些结构,来学习到对不同数据的敏感度
在GRU和LSTM单元中就用到了这种思想,再比如GTU、GLU一些创新形的激活函数就用到了注意力机制。

机器学习算法:
贝叶斯——概率模型
决策树——基于信息熵的理论
向量机——基于空间的理论。把一个平面不可分的分类问题,映射到更高维度,使其接近平面可分。比如在二维空间,线性不可分,利用核函数,映射到三维,使其平面可分。

PCA降维:
基本思想就是如果数据在某一个维度上的映射是一个随机模型,也就是满足正态分布的话,就可以认为这个维度对于数据特征来说是没有意义的,就可以把这个维度给删除了。
抽象理解,在空间上PCA是通过旋转参考系的方法来改变维度上映射的分布,从而降低了特征维度。

深度学习的网络设计思考
https://blog.csdn.net/u011534057/article/details/54847992
https://www.cnblogs.com/skyfsm/p/8451834.html
1.用更密集、不同的的卷积尺寸来适应不同的特征。
2.随着网络加深,特征的尺寸在卷积下慢慢变大,所以后面大尺寸的卷积也要增加
3.如果网络足够深,特征足够抽象,可以同pooling来代替全连接
4.在网络开始的阶段,不能一开始就高度压缩特征,容易表达瓶颈。一般来说维度也会逐渐增加
5.在低维上进行空间汇聚,比如在进行3x3卷积之前,可以对输入先进行降维而不会产生严重的后果。假设信息可以被简单压缩,那么训练就会加快。比如1*1的卷积
6.5*5变成3*3不会影响网络性能,并且会提高;但是1*3+3*1代替3*3,就会降低性能,所以在网络的开始的地方就不能进行这种变换,而在网络后面特征已经很明显,很稳定的层就可以使用这种变换,因为特征已经足够明显,傻子都能识别出来(对于mxm大小的feature map,建议m在12到20之间)。
7.现在的网络学习的性能不是说网络越深,在性能的表现上就会越好,网络太深带来的影响包括:过拟合和网络退化。过拟合好理解,就是学的太多而导致在测试集上的表现不好,网络退化是由于梯度消失导致学习停止、参数过多导致训练更加困难(掉入局部最优)。
8.residual block使下一层参数的优化会考虑到上一层的特征,使网络的优化方向不是那么极端,这样避免了过拟合也在一定程度上减低了梯度下降的严重性。
9.densenet更极端,不仅接受上一层的特征,它接受上面所有层的特征。

猜你喜欢

转载自blog.csdn.net/m0_37789876/article/details/82594490