DeepLearning_Note

这里写目录标题

  • 深度学习框架
  • 深度学习开发万能公式
  • 模型的网络设计和开发:
  • 激活函数:
  • 几个数据参数:
  • 神经网络的输出
  • 零碎知识点:

深度学习框架

DeepLearning_Note_第1张图片

深度学习开发万能公式

DeepLearning_Note_第2张图片

① 问题定义
② Paddle.vision.datasets(内置数据集)
③ 模型的网络设计和开发
④ 模型封装+模型配置+fit
⑤ Evaluate+predict
⑥ Save 保存+使用预测引擎部署 paddleSlim

模型的网络设计和开发:

DeepLearning_Note_第3张图片

激活函数:

作用:
神经元权重和偏差部分计算得到线性函数+激活函数=非线性函数(任意函数)
激活函数(线性函数)=非线性函数
如果神经网络只有线性,那么不论有多少隐层,有多少神经元,最终还是线性的。
多层神经网络也就可以转化为一层了,多层和一层的表达能力是一致的
DeepLearning_Note_第4张图片

任何复杂的函数都可以由一个常量加一堆sigmoid函数模拟出来
更复杂的函数就会对应更多的隐层和神经元
Sigmoid、Relu、Tanh:
(1) Sigmoid:任何复杂的函数都可以由一个常量加一堆sigmoid函数模拟出来,大多用在当输入数据的特征相差不明显的时候,梯度消失或梯度爆炸
(2)Tanh:大多用在当输入数据的特征相差明显的时候,梯度消失或梯度爆炸
(3)Relu: 优点:得到的SGD(梯度下降)的收敛速度会比 sigmoid/tanh 快很多。ReLU梯度为1,只有一边有饱和的问题,因此其梯度能在深度网络中传递。解决梯度消失(每次求导的值都相同)和梯度爆炸的问题,被广泛应用在深度学习中。ReLU同时引入了稀疏的特性(人类在判断问题时,往往会直接去掉一大部分的无用信息),ReLU完全把小于0的项全部取0。ReLU并非线性,它是分段函数,效果类似于划分和折叠空间。当网络层数少的时候,几根线肯定只能线性分割,但是当网络深了以后,就出现了很多很多分割线,曲线可以近似多段直线,因此,网络深的时候,直线也可以进行曲线分割。
缺点:ReLU的输入值为负的时候,输出始终为0,其一阶导数也始终为0,这样会导致神经元不能更新参数,也就是神经元不学习了,这种现象叫做“Dead Neuron”。假如learning rate 很大,很有可能网络中的40%的神经元都”dead”了。

学习博文:https://blog.csdn.net/zhaohongfei_358/article/details/123056206
https://blog.csdn.net/a6333230/article/details/80887062
激活函数是对向量中的每一个值进行计算,得到的结果再组装成向量

几个数据参数:

batch_size、enpochs
假设训练集一共60000个样本
batch_size=64 每一步step扔进去64个数据,60000个样本就需要执行至少938步,
enpochs=10 一个enpochs代表完成一次前向计算和反向传播,等于10代表执行10次前向计算和反向传播,每个enpochs里要完成938步的输入数据计算
enpochs太少会导致欠拟合,太多会导致过拟合
验证一下,多个enpoch的前面是不是跟少的是重复的?
不可能,肯定会有一些差距,loss从一开始就会不一样

神经网络的输出

  • Linear output
    y = wTh+b
    线性的输出层,通常用于回归问题,输出一个连续的具体的一个值
    DeepLearning_Note_第5张图片
  • Sigmoid
    y = f(wT+b)
    For binary classification
    y for one class
    1-y for another
    利用sigmoid将输出的那个值压到0-1这个区间内
  • Softmax
    解决多分类的问题,判断有多少个分类就有多少个输出
    先用指数函数将每个输出的值映射为一个正数,最后除以所有输出值的和,使得所有输出层的值加起来为1,得到的就类似于一个概率分布
    DeepLearning_Note_第6张图片

零碎知识点:

  1. 对于cv的图像处理Paddlepaddle等框架由自带的数据增强API
  2. 大数据或者分布较散的数据要事先进行归一化处理,目的:归一化后在进行梯度优化时候比较有意义,梯度图会更规整一些,梯度下降会更快
  3. Y=w*x+b,在cnn中卷积核就是w,相当于将常数w变成了一个复杂的权重卷积核w,卷积核中的参数也是通过后续学习
  4. 网络中的全连接层其实就是线性层Lineary=w*x+b
  5. 平均池化层更适合提取背景普遍信息,最大池化层更易于提取显著特征,提取特征的效果更好一些

你可能感兴趣的:(AI,算法,深度学习)