一、什么是神经网络
人工神经网络简称“神经网络”,是一种应用类似于大脑神经突触联接的结构、用于进行信息处理的数学模型。简单来说,是一种数学模型,其借鉴了生物神经网络的工作原理,并用于做信息处理。
神经元
神经网络的基本结构是神经元,如下图所示:
神经元其中,、、代表输入,中间部分为神经元,最后的是神经元的输出。整个过程可理解为:输入--->处理--->输出。
神经网络
多个神经元可组成一个神经网络,神经网络的结构分为:输入层、隐藏层、输出层。
神经网络上图是一个简单的神经网络,Layer1是输入层,Layer4是输出层,Layer2+Layer3为隐藏层。除了输入层以外,每一层的输入都是上一层的输出。
神经网络数学原理
神经元-
。
~为输入数据,每一个 feature 对应一个;为权重。 -
。
通常被赋值为+1,也就使变成固定的偏置输入。
偏置的大小度量了神经元产生正(负)激励的难易程度。 - 。
-
为激活函数,对加和结果做非线性变化。
常用的激活函数有 ReLU、Tanh、Sigmoid、Linear。 - 为输出结果。
在神经网络模型中,就是我们要训练的模型参数。是输入数据,是我们期望的目标值(实际值),是输出结果。为误差,为方便计算,定义损失函数。
模型训练大致流程:
- 首先,在随机分配权重的情况下,数据通过前向传播(输入层-->隐藏层-->输出层),得到一个输出。对比目标与之间的差距,得到损失。
- 然后,根据进行反向传播,对权值进行更新修正。
- 得到新的权值后,再重复上面的过程,如此往复,不断地更新修正权值,直到达到我们设定的阈值范围。
二、常见的几种神经网络
1、多层感知机MLP(Multilayer Perceptron)
全连接神经网络(Full Connection,FC)的准则:除输入层之外的每个节点都和上一层的所有节点连接。
多层感知机上图是一个多层感知机(MLP),我们说MLP就是全连接神经网络,因为MLP中层与层之间就是全连接的。第N层的每个神经元都和第N-1层的所有神经元相连,第N-1层神经元的输出就是第N层神经元的输入。
2、卷积神经网络CNN(Convolutional Neural Networks)
CNN卷积神经网络的层级结构:
- 输入层
- 隐藏层
- 卷积层(convolutional layer)
- 池化层(pooling layer)
- 全连接层(fully-connected layer)
- 输出层
卷积神经网络主要用于图像处理,但也可用于其他类型的输入,如音频。CNN 的典型用例是对图像进行识别分类,如手写数字的识别分类。
3、循环神经网络RNN(Recurrent Neural Network)
RNNRNN循环神经网络是根据“人的认知是基于过往的经验和记忆”这一观点提出的。它与DNN、CNN的不同在于:它不仅考虑当前时刻的输入,而且赋予了网络对先前的内容的一种‘记忆’功能。
在循环神经网络中,隐藏层节点之间是互相连接的,并且每个神经元内部会保存它先前的值。当前(t=2)的输出,不仅依赖于当前(t=2)的输入,还依赖于先前(t=1)的输出。
只要是考虑时间先后顺序的问题,都可以用RNN来解决。RNN的常用领域:
- 自然语言处理(NLP):主要有视频处理,文本生成,语言模型,图像处理。
- 机器翻译,机器写小说
- 语音识别
- 图像描述生成
- 文本相似度计算
- 音乐推荐、商品推荐、视频推荐等。
4、生成式对抗网络GAN(Generative Adversarial Networks)
GAN生成式对抗网络包含两个模块:
- 生成模型(Generative Model)。用来生成数据。
- 判别模型(Discriminative Model)。用来判别生成数据的真实性。
GAN的基本原理不难理解,我们以图片生成为例进行说明:
- G是一个生成图片的网络。它接受一个随机的噪声z,通过这个噪声生成图片,记做G(z)。
- D是一个判别网络,判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,如果为0,就代表不可能是真实的图片。
在训练过程中,生成网络G的目标是尽量生成真实的图片去欺骗判别网络D。而D的目标是尽量把G生成的图片和真实的图片分辨出来。这样,G和D构成了一个动态的“博弈过程”。
最后博弈的结果是什么?在最理想的状态下,G可以生成“以假乱真”的图片G(z)。对于D来说,它难以判定G生成的图片究竟是不是真实的,因此D(G(z)) = 0.5。
这样我们的目的就达成了:我们得到了一个生成式的模型G,它可以用来生成图片。
GAN常用于图像生成和数据增强。
5、自编码机AE(AutoEncoder)
AEAE的模型结构形似一个沙漏计时器,两边的输入层、输出层较大,中间的隐藏层较小。以中间层为轴,前半部分用于编码(特征提取、压缩),称为编码器;后半部分用于解码,称为解码器。
- 编码器:将输入压缩成潜在空间表征。
- 解码器:重构来自潜在空间表征的输入。
自编码机的主要用途:去噪、降维、特征学习、信息补全等。
网友评论