百度Paddle训练营简单神经网络总结

用自己的语言,简单描述神经网络的结构

神经网络主要由三部分组成:输入层,隐藏层,输出层 而其中最小的单元是神经元,每层中可以有很多神经元
全连接神经网络的特点是前一层的输出全部是后一层的输入

常见的激活函数有哪几种?

sigmoid函数,tanh函数,relu函数
sigmoid函数的缺点是:1.在两端曲线较平滑部分容易出现梯度消失的情况,在之后的损失函数优化过程中效果差 2.计算量很大
tanh函数本质上是放大版的sigmoid函数,那么缺点与sigmoid类似,而且计算量比sigmoid函数的更大
relu函数的优点是:1.在x>0时很好的解决了梯度消失的情况 尤其在RNN中作用极大 2.对梯度收敛有巨大的加速作用
缺点是:在x<0时,由于输出为0,信息全部消失,没法进行优化,x=0时,又无法求导
所以出现了很多改进的relu函数。

用自己的语言描述梯度下降求解过程?

因为损失函数表示的就是真实值与预测值的差距,所以求得损失函数最小值正是训练的目的。
高数中学过:梯度的方向就是函数增长最快的方向,那么梯度的反方向就是函数减小最快的方向。所以只需要定义一个学习率,每次在梯度的反方向移动一段长度,逐步逼近最合适值点。此时的w,b即为最优参数
学习率不可以过大,过大可能导致不收敛。例如最优是(1,1),而此时处于(2,2),如果学习率是0.5,梯度是(1,1),反方向为(-1,-1),那么两步后可到最合适值点。倘若学习率为2,那么只能在最合适值点附近震荡
学习率过小又会导致训练时间过长。

人工神经网络的三步分别是什么?其作用是什么?

正向传播,反向传播,梯度下降
正向转播是通过一层层的线性变化和非线性变换,得到最后的损失函数然后优化。
反向传播就是逐步的求偏导,求梯度,逐步得到每层损失函数最小值对应的最优参数。
反向传播利用的方法就是梯度下降,利用了梯度的几何意义。

常见的误差函数?

均方误差损失函数(常用于线性回归),为什么带平方,因为误差有正有负,导致误差的总和可能因为正负号减小,甚至为0,所以带平方。为什么不用绝对值呢,在拐点处,不好计算偏导数,平方较平滑。
交叉熵损失函数(常用于二分类或多分类问题)

注意

1.数据集小,网络层数太多,会导致过拟合 正则化可以解决过拟合
dropout:随机丢弃一些神经元,让每次的模型都不一样,最终可以看成一个模型的集合
early stopping:降低训练集错误率同时检测测试集错误率,若发现训练集 错误率下降但是测试集错误率反而上升,此时结束训练,选择拐点处的参数为最优参数
2.因为数据有很多,在利用梯度更新参数时,

①如果用全部数据求梯度再取平均值就是批量梯度下降Batch Gradient Descent(BGD) 优点:此时找到的是全局最优解,易于并行实现(向量化)缺点:样本数很多时,每次迭代计算量非常大 推荐小样本时使用

②如果用一个数据的梯度代替这个过程就是随机梯度下降Stochastic Gradient Descent(SGD) 优点:加快训练速度 缺点:1.可能得到局部最优解 2.盲目搜索准确率低 3.迭代次数增加

③如果用一部分数据的梯度平均值就是小批量梯度下降Mini-Batch Gradient Descent(MBGD) 优点:1.训练次数尽量小 2.训练时间尽量少
后两种方法优化了求梯度的部分,优化学习率的部分有相应的API可以调用
3.参数更新过程是利用BP算法,求出损失函数对应的偏导数,不同的参数对应的偏导数及损失函数也是不同的。
4.小批量梯度下降可以适当增加学习率,必须增加循环次数

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值