算法体系

 仅供个人学习用

算法


  • CNN:卷积神经网络 Convolutional neural network
  • RNN:循环神经网络 Recurrent neural networks
  • LSTM:长短期记忆 Long  short term memory
  • GRU : 门循环单元 Gated recurrent units
  • FFNN:前馈神经网络 Feed forward neurral network
  • BP:反向传播 Backpropagation
  • RBFN:径向基函数网络 Radial basis function network
  • HN:霍普菲尔网络 Hopfield network
  • MC:马尔可夫链 Markov Chain
  • BM:玻尔兹曼机 Boltzmann machine
  • RBM:受限玻尔兹曼机 Restricted Boltzmann machine
  • GAN:生成式对抗网络 Generative adversarial networks
  • AE:自动编码器 Autoencoder
  • SAE:稀疏自编码机 Sparse autoencoders
  • VAE:变分自编码机 Variational autoencoders
  • DAE:去噪自编码机 Denoising autoencoders
  • DBN:深度信念网络 Deep belief networks
  • SVM:支持向量机 Support vector machines

CNN:卷积神经网络


 擅长领域:图像处理。目前 CNN 已经得到了广泛的应用,比如:人脸识别、自动驾驶、美图秀秀、安防等很多领域。

 CNN 有2大特点:

  • 能够有效的将大数据量的图片降维成小数据量
  • 能够有效的保留图片特征,符合图片处理的原则

CNN 的基本原理:

  • 卷积层 – 主要作用是保留图片的特征
  • 池化层 – 主要作用是把数据降维,可以有效的避免过拟合
  • 全连接层 – 根据不同任务输出我们想要的结果

CNN 的实际应用:

  • 图片分类、检索
  • 目标定位检测
  • 目标分割
  • 人脸识别
  • 骨骼识别

RNN:循环神经网络


  RNN的独特价值在于:它能有效的处理序列数据。比如:文章内容、语音音频、股票价格走势…。

  RNN用在序列数据,比如语音文本。CNN用在图像或类似数据。视频是把每一帧图像用CNN处理下,再用RNN窜起来。

  之所以他能处理序列数据,是因为在序列中前面的输入也会影响到后面的输出,相当于有了“记忆功能”。但是 RNN 存在严重的短期记忆问题,长期的数据影响很小(哪怕他是重要的信息)。于是基于 RNN 出现了 LSTM GRU 等变种算法。这些变种算法主要有几个特点:

  • 长期信息可以有效的保留挑选重要信息保留,不重要的信息会选择“遗忘”

RNN的应用:

  • 文本生成
  • 语音识别
  • 机器翻译
  • 生成图像
  • 描述视频标记

LSTM:长短期记忆


 Long Short Term Memory网络是一种 RNN 特殊的类型,它有效地解决了RNN在训练时出现的梯度问题

FFNN:前馈神经网络 


 前馈神经网络(Feedforward Neural Network),简称前馈网络,是人工神经网络的一种。在此种神经网络中,各神经元从输入层开始,接收前一级输入,并输出到下一级,直至输出层。整个网络中无反馈,可用一个有向无环图表示。     

 前馈神经网络采用一种单向多层结构,其拓扑结构如图1所示。其中每一层包含若干个神经元,同一层的神经元之间没有互相连接,层间信息的传送只沿一个方向进行。其中第一层称为输入层。最后一层为输出层.中间为隐含层,简称隐层。隐层可以是一层。也可以是多层

 常见前馈神经网络:

  • 感知器网络:是最简单的前馈网络,它主要用于模式分类,也可用在基于模式分类的学习控制和多模态控制中。感知器网络可分为单层感知器网络和多层感知器网络。
  • BP网络:BP网络是指连接权调整采用了反向传播(Back Propagation)学习算法的前馈网络。与感知器不同之处在于,BP网络的神经元变换函数采用了S形函数(Sigmoid函数),因此输出量是0~1之间的连续量,可实现从输入到输出的任意的非线性映射。
  • RBF网络:RBF网络是指隐含层神经元由RBF神经元组成的前馈网络。RBF神经元是指神经元的变换函数为RBF(Radial Basis Function,径向基函数)的神经元。典型的RBF网络由三层组成:一个输入层,一个或多个由RBF神经元组成的RBF层(隐含层),一个由线性神经元组成的输出层。

BP:反向传播


  BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。具体来说,对于如下的只含一个隐层的神经网络模型:BP神经网络的过程主要分为两个阶段,

  • 第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;
  • 第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。

GAN:生成式对抗网络


  生成式对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。 

  GAN 主要包括了两个部分,即生成器 generator 判别器 discriminator

  • 生成器主要用来学习真实图像分布从而让自身生成的图像更加真实,以骗过判别器。
  • 判别器则需要对接收的图片进行真假判别。在整个过程中,生成器努力地让生成的图像更加真实,而判别器则努力地去识别出图像的真假,这个过程相当于一个二人博弈,随着时间的推移,生成器和判别器在不断地进行对抗,最终两个网络达到了一个动态均衡:生成器生成的图像接近于真实图像分布,而判别器识别不出真假图像,对于给定图像的预测为真的概率基本接近 0.5(相当于随机猜测类别)。

参考资料:


原文地址:https://www.cnblogs.com/tgzhu/p/11332524.html