基于深度学习的入侵检测记录二

时间:2021-04-11 00:20:56

写在前面

  我们已经了解了深度学习的基本概念,但是还不了解它具体如何实现。设想一下,如果让你来实现深度学习,你会如何做?就以图像识别为例,比方说一辆摩托车,如何让机器做出正确的选择?
  我试图以通俗的语言进行解释,但是发现解释不好。那么,我们就先来看一下深度学习的实现过程再回过头看这个问题。

DL训练过程

  看一下这段话

deep learning训练过程具体如下:
1. 使用自下上升非监督学习(就是从底层开始,一层一层的往顶层训练):
  采用无标定数据(有标定数据也可)分层训练各层参数,这一步可以看作是一个无监督训练过程,是和传统神经网络区别最大的部分(这个过程可以看作是feature learning过程):
  具体的,先用无标定数据训练第一层,训练时先学习第一层的参数(这一层可以看作是得到一个使得输出和输入差别最小的三层神经网络的隐层),由于模型capacity的限制以及稀疏性约束,使得得到的模型能够学习到数据本身的结构,从而得到比输入更具有表示能力的特征;在学习得到第n-1层后,将n-1层的输出作为第n层的输入,训练第n层,由此分别得到各层的参数;
2. 自顶向下的监督学习(就是通过带标签的数据去训练,误差自顶向下传输,对网络进行微调):
  基于第一步得到的各层参数进一步fine-tune整个多层模型的参数,这一步是一个有监督训练过程;第一步类似神经网络的随机初始化初值过程,由于DL的第一步不是随机初始化,而是通过学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够取得更好的效果;所以deep learning效果好很大程度上归功于第一步的feature learning过程。

可以看到,训练的过程分为两个部分,利用非监督学习自下而上一层一层进行训练,使得这一层的输入和输出差别最小。利用监督学习自上向下对网络进行微调。第一部分可以看成是feature learning的过程。接下来看下具体的算法。

DL的训练算法

  1. AutoEncoder自动编码器
  2. Sparse Coding稀疏编码
  3. Restricted Boltzman Machine限制波尔兹曼机
  4. Deep Belief Networks 深信度网
  5. Convolutional Neural Networks卷积神经网络

接下来我们将一一探讨这些算法。

Written with StackEdit.