浅谈深度学习的基础——神经网络算法(科普)

浅谈深度学习的基础——神经网络算法(科普)

  • 神经网络算法是一门重要的机器学习技术。它是目前最为火热的研究方向——深度学习的基础。学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术。

  • 人工神经网络早期的研究工作应追溯至上世纪40年代,而1945年冯.诺依曼领导的设计小组试制成功存储程序式电子计算机,标志着电子计算机时代的开始。计算机科学家研究这一问题的目的在于寻求新的途径以解决不能解决或解决起来有极大困难的大量问题,构造更加逼近人脑功能的新一代计算机。

  • 它的发展历程经历了三个阶段:上世纪50年代末,F·Rosenblatt设计制作了“感知机”,它是一种多层的神经网络。这项工作首次把人工神经网络的研究从理论探讨付诸工程实践,形成了第一次研究热潮;然而,这次人工神经网络的研究高潮未能持续很久,因为当时的电子技术工艺水平比较落后,主要的元件是电子管或晶体管,利用它们制作的神经网络体积庞大,价格昂贵,要制作在规模上与真实的神经网络相似是完全不可能的;80年代初期,模拟与数字混合的超大规模集成电路制作技术提高到新的水平,完全付诸实用化,人们重新认识到神经网络的威力以及付诸应用的现实性。随即,形成了80年代中期以来人工神经网络的研究热潮。

  • 人工神经网络就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。

  • 这是一个包含三个层次的神经网络。红色的是输入层,绿色的是输出层,紫色的是中间层(也叫隐藏层)。输入层有3个输入单元,隐藏层有4个单元,输出层有2个单元。
    浅谈深度学习的基础——神经网络算法(科普)_第1张图片

  • 设计一个神经网络时,输入层与输出层的节点数往往是固定的,中间层则可以自由指定;

  • 神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别;

  • 结构图里的关键不是圆圈(代表“神经元”),而是连接线(代表“神经元”之间的连接)。每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的

单层神经网络(感知器)

浅谈深度学习的基础——神经网络算法(科普)_第2张图片

上图的圆圈就代表一个感知器。它接受多个输入(x1,x2,x3…),产生一个输出(output) ,为了简化模型,我们约定每种输入只有两种可能:1 或 0。如果所有输入都是1,表示各种条件都成立,输出就是1;如果所有输入都是0,表示条件都不成立,输出就是0。
下图显示了带有两个输出单元的单层神经网络,其中输出单元z1的计算公式
浅谈深度学习的基础——神经网络算法(科普)_第3张图片

两层神经网络(多层感知器)

两层神经网络除了包含一个输入层,一个输出层以外,还增加了一个中间层。此时,中间层和输出层都是计算层。我们扩展上节的单层神经网络,在右边新加一个层次(只含有一个节点)。

现在,我们的权值矩阵增加到了两个,我们用上标来区分不同层次之间的变量。例如ax(y)代表第y层的第x个节点。z1,z2变成了a1(2),a2(2)。下图给出了a1(2),a2(2)的计算公式。
浅谈深度学习的基础——神经网络算法(科普)_第4张图片

多层神经网络(深度学习)

我们延续两层神经网络的方式来设计一个多层神经网络。

在两层神经网络的输出层后面,继续添加层次。原来的输出层变成中间层,新加的层次成为新的输出层。所以可以得到下图。

浅谈深度学习的基础——神经网络算法(科普)_第5张图片
在已知输入a(1),参数W(1),W(2),W(3)的情况下,输出z的推导公式如下:
g(W(1) * a(1)) = a(2);
g(W(2) * a(2)) = a(3);
g(W(3) * a(3)) = z;

以算法区分深度学习应用,算法类别可分成三大类:

  1. 常用于影像数据进行分析处理的卷积神经网络(简称CNN)
  2. 文本分析或自然语言处理的循环神经网络(简称RNN)
  3. 常用于数据生成或非监督式学习应用的生成对抗网络(简称GAN)

卷及神经网络(CNN)
浅谈深度学习的基础——神经网络算法(科普)_第6张图片

特点:
卷积层:相当于滤镜,将图片进行分块,对每一块进行特征处理,从而提取特征。
池化层:通过对提取的高维特征进行降维。
全连接层:对空间排列的特征化成一维的向量。
场景:人脸识别、图片识别
循环神经网络(RNN)
浅谈深度学习的基础——神经网络算法(科普)_第7张图片
特点:

  1. 中间层的输出作为输入和下一个样本数据一起作为输入,也叫循环层
  2. 具有记忆样本之间相关联系的能力
    场景:常用于文本填充、时间序列、语音识别等序列数据
    生成对抗网络(GAN)
    浅谈深度学习的基础——神经网络算法(科普)_第8张图片

特点:

  1. 它会创建两个不同的对立的网络模型,让一个网络模型生成与训练集不同的且足以让另外一个网络模型难辨真假的样本。
  2. GAN可以用任何形式的generator和discriminator,不一定非得使用神经网络。
    场景:斑马和马的互相转换、人脸置换、表情置换、图像数据增强及格式转换。

你可能感兴趣的