感知机
- 最小的神经网络结构,无论多复杂的神经网络都由许多感知机构成。
-
感知机结构:输入层、输出层
- 感知机是一个二分类模型,能够解决线性分类问题。经过训练,对于每个输入(x1,x2,x3),通过输出
![](http://www.forkosh.com/mathtex.cgi? \Large h_{w,b}(x))给出分类结果。 - 感知机简洁有效,但缺点很明显,无法解决较复杂问题。最简单的例子,就是异或问题都无法解决。
多层感知机(神经网络NN)
- 将许多感知机连接起来,单个感知机作为神经元,增加隐藏层,就成了大名鼎鼎的神经网络。
-
神经网络结构:输入层、一或多个隐藏层、输出层
- 优点:相对于单个感知机,对于复杂问题的解决能力大大增强。理论上,越深的网络,能够模拟越复杂的函数。
深度神经网络DNN
- 随着网络层数加深,出现了以下严重的问题。
1. 优化函数容易陷入局部最优解。
2. 梯度消失现象(vanishing gradient)。 - 解决方法:
1. 预训练方法缓解局部最优解问题。(注:采用贪心算法,逐层得出权重值)
2. 采用ReLU、Maxout等函数来替换原来Sigmod和tanh激活函数,克服梯度消失问题。 - 这两个问题的解决,使得神经网络的深度可以大幅度加深(DNN),替身了对现实的刻画模拟程度,机器学习中的一大分支-深度学习诞生。
- 全连接的DNN在结构上和多层感知机其实一样,只是深度能够大幅度加深。同时带来了另外的弊端:参数膨胀和过拟合问题。由于全连接的DNN每层每个神经元都和下一层的每个神经元相连,每条连线就要对应一个权重,使得参数数量极大,变得很难训练。另外,由于参数数量过大,对于训练数据的拟合性太大,反而在测试集上难以取得好的效果。
- 因此,在实际运用中,针对数据集的特点,产生了很多优秀的变种。
卷积神经网络CNN
- CNN是神经网络在计算机视觉CV领域的重要应用。目前的CV领域,几乎有deep learning一统江山的局势,其中最大的功臣就是CNN。
- 在图像领域,数据更大,传统的全连接DNN需要的参数更大,变得无法适应。CNN采用局部连接的方式,神经元(卷积核)只和部分像素相连,并采用权值共享,大幅度降低参数数量。
循环神经网络RNN
RNN是在时间序列上建模的神经网络,在语言识别、手写识别等领域具有广泛应用。
-
一般的神经网络,同一隐藏层的各个节点相互独立,互不相连。而RNN不同,隐藏层节点的输入除了上层的输出外,还有自身上一时刻的输出。RNN可以看作一个在时间轴上传递的神经网络。
缺陷:梯度消失问题会在时间轴上出现,一般采用LSTM结构来避免这个问题。
参考资料