其中引用了大量其他人的东西……数量太多就不一一列举了
前言
论我划水看完两个视频以后的操作。
以下是正文内容
一、神经网络
1.根据生物神经元模拟
2.激活函数问题
(1)没有激活函数相当于矩阵相乘,只能拟合线性函数
(2)常见激活函数
这里着重介绍一下s性函数,其被用于早期神经网络上,缺点是容易饱和,输出不对称。
后来的双极s性函数一定程度上弥补了这个缺陷
但是relu函数横空出世(发明者获得了图灵奖)解决了梯度消失的问题,而之后leakyrelu函数则在此基础上进行修正,可以很好的跳出负值
3.单层感知器
首个可以自动学习的神经网络
问题:解决不了逻辑中的异或问题——引入了多层感知器
4.多隐层神经网络可视化
万有逼近定理:如果一个隐层包含足够多的神经元,那么三层前馈神经网络(输入——隐层——输出)能以任意精度逼近任意的连续函数
在此基础上双隐层感知器可以逼近非连续函数
每一层的作用:输入——空间的转换
增加层数:增加非线性转换次数
增加节点数:增加线性转换能力
二、梯度消失
1.原理
- 对于非线性多元函数来说
而在无约束优化下:参数会沿负梯度方向更新使函数下降
2.误差传播
增加梯度会造成梯度小时,误差无法传播,因此三层神经网络为早期主流。
这个误差传播消失可以拿s函数试一下,在两侧很容易求导出一个很小的数。
2.解决措施
-
逐层预训练:可以使数据落在较好的局部极小值,且可以解决梯度消失问题
其实有了relu函数以后这个问题得到了较好的解决,这里讲一下早期的rbm和自编码器 -
自编码器:假设输入和输出相同,无额外监督信息,中间隐层就代表输入特征,可以继续向下传递
-
rbm:模型结构为两层网络,不同层之间连成一个二分图。
输入v得到隐层h,输入h得到v‘。希望输入h得到的v‘有原来v的特种证,因此隐层可作为可见层的特征表述。两个方向的权重w是共享的。 -
具体建模方式大致如下,利用了物理学中的能量和概率的一个联系,不多赘述,因为也用不大到了。
总结
无