深度学习基本概念

时间:2022-04-24 18:08:48
  1. 卷积的含义:一个函数(输入)在另一个函数(加权函数)上的加权叠加,得到的函数为输出随时间变化的函数,可以用来做特征提取
  2. batchsize:每批处理的数据数目 eporch:迭代次数 ReLU,Sigmoid,Softmax均为激活函数,比如Softmax输出类标签分布后,与真实类标签分布构成交叉熵(交叉熵反映了相似程度),即softnax交叉熵损失函数。
  3. 端到端的模型:模型从原始输入到最终输出,自动提取特征
  4. 非端到端的模型:输入的是提取后的特征,而不是原数据,本质为你要解决的问题是多阶段的或多步的,如果分阶段学习,第一段的最优解不能保证第二阶段达到最优,而端到端模型把他们堆在一起优化,全局最优
  5. 例如sigmoid_cross_entropy_with_logit(logits,targets)中logits就是神经网络模型中的w*x矩阵,假如这个模型要判断100张测试图中是否包含10种动物,targets和logits的shape都是[100,10(num_classes)]
  6. 激活函数如sigmoid,softmax,tanh都有饱和区域,当随着网络层数加深,sigmoid等的导数过小时,容易梯度消失,因为梯度等于导数乘以w,所以当w过大时容易梯度爆炸,https://zhuanlan.zhihu.com/p/25631496,梯度爆炸的解决办法时限制最大值,梯度消失是更换激活函数为ReLU(max(0,x)),此时导数为1,不会消失,但在小于0部分没有梯度,解决办法为改为softplus激活函数,其为ReLU的平滑逼近
  7. 统计机器学习中的一个经典假设是源空间(source domain)和目标空间(target domain)的数据分布(distribution)是一致的,covariate shift是指源空间和目标空间的条件概率是一致的,但是其边缘概率不同,对于神经网络的各层输出,由于他们经过了层内操作作用,其分布显然与各层对应的输入信号分布不同,可它们所能“指示”的样本标记(label)是不变的所以要进行Normalization(使输出方差为1,均值为0。但不在训练过程中计算,而是对输入/min-batch计算,减少计算量和时间),固定每层输入信号的均值和方差,即让分布一样,其实即使均值方差一致的分布也不是同样的分布,所以其本质还是为了防止梯度弥散(消失)0.9的100次方/爆炸1.1的100次方(只要是Normalization就会有的作用,而不必须是BN),
    作者:Jiang 链接:https://www.zhihu.com/question/38102762/answer/164790133
    它抹去了w的scale影响。https://www.zhihu.com/question/38102762。总结起来就是BN(batch normalization批量归一话)解决了反向传播过程中的梯度问题(梯度消失和爆炸),同时使得不同scale的 w 整体更新步调更一致。其用于收敛速度很慢或者梯度爆炸等无法训练的状况,一般使用情况下也可以加入BN来加快训练速度,提高模型精度。还有一种要归一化的解释是神经网络训练过程的本质是学习数据分布,,训练数据与测试数据的分布不同将大大降低网络的泛化能力,因此我们需要在训练开始前对所有输入数据进行归一化处理。然而随着网络训练的进行,每个隐层的参数变化使得后一层的输入发生变化,从而每一批(batch)训练数据的分布也随之改变,致使网络在每次迭代中都需要拟合不同的数据分布,增大了训练的复杂度以及过拟合的风险。Batch Normalization方法是针对每一批数据,在网络的每一层输入之前增加归一化处理(均值为0,标准差为1),将所有批数据强制在统一的数据分布下。而且输出需要恢复前一层学习到的特征分布。https://www.zhihu.com/search?type=content&q=%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E4%B8%AD%E5%BD%92%E4%B8%80%E5%8C%96%E7%9A%84%E4%BD%9C%E7%94%A8
  8. 卷经神经网络应该权值共享,所以有更少的神经元连接和参数。神经网络训练过程的本质是学习数据分布。
  9. 如何解决过拟合:
    法一:数据增强,然后对所有结果求平均值:(1)扣图:先将图片resize,然后再随机裁剪,也可以上下左右加水平翻转。(2)增加通道量
    法二:dropout
    法三:多个模型取平均结果(代价太大)
    法四:正则化(L1/L2):在bias和variance中取一个中值
    法五:label smoothing(使对标签不那么信任)
    法六:池化
  10. 归一化的作用:
    (1)加快收敛速度
    (2)使照片更平滑,更自然
    (3)解决过拟合问题,增强泛化能力。
  11. 池化的作用:
    (1):下采样
    (2):防止过拟合
    (3):增强了图片的不变性
  12. 滤波器分为以下几种常见的功能:
    (1):rect/big rect/gaussian 平滑的作用,反映在图像上就是模糊
    (2)sharpen
    (3)edges
    (4)shift
    (5)handshake
    具体效果见斯坦福的Spatial convolution 网页
  13. conv = tf.nn.con2d(x,filters,[1,1,1,1],padding=”same”)
    x:输入,filter:卷积核kenel,步幅,padding = valid 缩小图像 =“same”不变,通过0填充
    14:为了将深度学习模型部署到移动/嵌入式设备中,应减少模型的内存占用(权重量化,将模型压缩,权重剪枝),缩短推断时间(大模型–小模型)