深度学习-自学手册
来源:互联网 发布:中科院软件所邮编 编辑:程序博客网 时间:2024/06/05 22:52
人工智能
机器学习
神经网络
前馈神经网络:没有回路的
反馈神经网络:有回路的
DNN 深度神经网络
CNN 卷积神经网络
RNN 循环神经网络
LSTM 是RNN的一种,长短期记忆网络
自然语言处理
神经网络
神经元-分类器
Hebb 学习方法,随机 –类似SGD
一篇神经网络入门
BP反向传播,表示很复杂的函数/空间分布
从最后一层往前调整参数,反复循环该操作
y=a(wx+b) x输入 y输出 a激活函数 b偏移 w权重
每一层网络都是这样
神经网络训练权重–使损失函数最小–SGD
BP是求梯度的一种方法
权重要初始化:均匀分布初始化权重
前馈神经网络:多个感知器组合,由不同激活函数控制
激活函数:把线性–非线性的,一般用ReLU y=max(x,0)
输入层与输出层节点是固定的
圆圈是神经元,连线代表权重
两层神经网络可以无限逼近任意连续函数
多层神经网络本质就是复杂函数拟合
隐藏层的数量,每层的节点数都是手工调的,根据经验来判断
神经网络防止过拟合–正则化–权重衰减
正则化–Dropout
多层神经网络–深度学习
参数一样的情况下,更深的网络比浅层网络有更好的识别效率
Keras
1、Dense层
Dense就是常用的全连接层,第一层指定输入维度和输出维度,后面的层只需要指定输出维度。
2、Activation层
激活层对一个层的输出施加激活函数。一般用relu。
有 relu、tanh、sigmoid
sigmoid:未激活是0,激活是1。[0,1]。容易饱和,输出不是0均值的–收敛慢
tanh:[-1,1] 。梯度饱和–梯度为0
relu:f(x)=max(0,x)。
优点:收敛快,梯度不会饱和,计算简单
缺点:神经元坏死,x<0时梯度为0,该神经元就无效了。
学习率大–坏死;合适的较小的学习率–不会频繁坏死
LeakyReLU :
f(x)=αx,(x<0)
f(x)=x,(x>=0)
这里的 α 是一个很小的常数。这样,即修正了数据分布,又保留了一些负轴的值,使得负轴信息不会全部丢失。
PReLU:
对于 Leaky ReLU 中的α,通常都是通过先验知识人工赋值的。
然而可以观察到,损失函数对α的导数我们是可以求得的,可以将它作为一个参数进行训练。
带参数的ReLU,a是可调的,对a本身做SGD,不断更新a
3、Dropout层
Dropout将在训练过程中每次更新参数时按一定概率(rate)随机断开输入神经元,Dropout层用于防止过拟合。正则化。
4、优化器optimizers
SGD
默认:optimizer=’sgd’
- lr:大或等于0的浮点数,学习率,步长,梯度的权重
- momentum:大或等于0的浮点数,动量参数。加速收敛,跳出局部最小值。 v=\beta*v-a*dx 更新x<–x+v 。其中\beta
即momentum系数,通俗的理解上面式子就是,如果上一次的momentum(即v)与这一次的负梯度方向是相同的,那这次下降的幅度就会加大,所以这样做能够达到加速收敛的过程。 - decay:大或等于0的浮点数,每次更新后的学习率衰减值,lr会越来越小
- nesterov:布尔值,确定是否使用Nesterov动量,梯度更新时做校正,避免前进太快,提高灵敏度。
Adam
默认:optimizer=’adam’
- lr:大或等于0的浮点数,学习率
- beta_1/beta_2:浮点数,
0<\beta<1,通常很接近1。一阶矩估计/二阶矩估计,动态调整每个参数的学习率。每次迭代学习率都有范围,使参数比较平稳。善于处理稀疏梯度,非平稳目标,内存需求小。为不同参数计算不同的自适应学习率。适用于非凸优化,大数据集和高维空间 - epsilon:大或等于0的小浮点数,防止除0错误,非常小的正浮点数
经验:
- 对于稀疏数据,尽量使用学习率可自适应的优化方法,不用手动调节,而且最好采用默认值
- SGD通常训练时间更长,但是在好的初始化和学习率调度方案的情况下,结果更可靠
- 如果在意更快的收敛,并且需要训练较深较复杂的网络时,推荐使用学习率自适应的优化方法。
- Adadelta,RMSprop,Adam是比较相近的算法,在相似的情况下表现差不多。
- 在想使用带动量的RMSprop,或者Adam的地方,大多可以使用Nadam取得更好的效果
5、 损失函数loss
mean_squared_error或mse:均方差
mean_absolute_error或mae:绝对误差
mean_absolute_percentage_error或mape:平均绝对百分差
mean_squared_logarithmic_error或msle
binary_crossentropy(亦称作对数损失,logloss),逻辑回归,和sigmoid一起使用。
categorical_crossentropy:亦称作多类的对数损失,和softmax一起使用。
6、评价指标和训练
7、LSTM
- 深度学习-自学手册
- 深度学习必备手册
- 深度学习必备手册
- 深度学习自学笔记(一)
- Google 自学课程:深度学习与 TensorFlow
- 智障自学深度学习系列-1 MNIST
- 深度自学
- 深度学习必备手册(下)
- 深度学习必备手册(上)
- cpp自学手册
- JAVA基础自学手册
- Linux自学手册
- Redis自学手册
- 目前最全面的深度学习教程自学资源汇总
- 智障自学深度学习系列-2 字词的向量表示
- 干货:最全面的深度学习自学资源汇总
- 吴恩达神经网络和深度学习课程自学笔记(一)之深度学习概论
- 吴恩达神经网络和深度学习课程自学笔记(五)之深度学习实用层面
- 会结账的服务器
- 公司主体价值的缺失与社会经济反弹乏力
- K3 LEDE踩坑专题
- Qt:MDI相关笔记
- Android——开发人员不得不收集的工具类集合
- 深度学习-自学手册
- C++之STL -- string
- vb.net 教程 8-3 数据库操作10-1
- 呼唤布鲁诺精神
- 利用svn 日志、eclipse 增量发包,非常简单!
- 推导Beta分布公式
- Python3的编码问题
- 利用timeit模快测试代码运型速度
- 遍历Java Map的方法——Java基础