Advertisement

AI笔记-基础知识

阅读量:

文章目录

  • AI学习框架

  • 硬件

  • 标准

  • 应用场景

    • 语音识别
    • 计算机视觉
    • 自然语言处理
  • 数据集

  • 基本网络

    • MLP(multi layer perception)多层感知

      • 感知器
      • 激活函数
      • 输入层、隐藏层、输出层
      • 正向传播和反向传播求导
    • CNN(Convolution Neural Network)卷积神经网络

      • 图像的几个不变性
      • 卷积层
      • 池化层
      • Inception
      • Flatten层和全连接层
      • 跳层连接
      • 经典CNN
    • RNN(Recurrent Nerual Network)循环神经网络

  • 几种有效的神经网络结构

    • Inception结构
    • ResNet结构
    • seq2seq
    • Attention
  • 深度学习基础架构

  • 深度学习开发工具

  • 深度学习辅助工具

    • MMdnn
  • 深度学习云平台

AI学习框架

Google的TensorFlow
亚马逊的MxNet
微软的 CNTK
百度的 PaddlePaddle
Caffe2 在TensorFlow发布之前其一直是深度学习领域最为火热的项目。Caffe2拥有大量已经训练好了的模型,如AlexNet,VGG,Inception,收藏在Modle Zoo中。
Facebook 的Pytorch

硬件

深度学习的执行作业需要大量的矩阵和向量计算,基于GPU,CPU,FPGA,ASIC等,GPU适合模型训练,目前主流的是NVIDIA GPU。

标准

学习框架有很多种,慢慢的就积累了很多基于不同框架的模型,所以模型和框架之间转换是急需解决的问题;所以就有了Microsoft和Facebook发布了一个全新的开源项目-ONNX,欲借此打造一个开放的深度学习工具生态系统。

应用场景

语音识别

计算机视觉

复制代码
    身份识别,直播美颜,安检,车牌定位,门禁系统,人脸识别,表情识别
    
    
      
    

自然语言处理

复制代码
    比如机器翻译,聊天机器人,问答系统,情感分析
    
    
      
    

数据集

复制代码
    因为深度学习需要进行大量的训练,训练就需要数据集,所以就有了公共数据集
    ImageNet, Coco,MINIST等
    
    
      
      
    

基本网络

复制代码
    深度学习网络大多由很多基本网络结果组成而来,基本网络有以下这些:
    
    
      
    

MLP(multi layer perception)多层感知

复制代码
    MLP的结构特点是输入层和输出层之间存在一个或者多个隐藏层,输入层用于获取外部输入信号,只有隐藏层和输出层的神经元为计算节点,每层都对上一次的输入进行加权处理,然后通过激活函数进行非线性变换,参数通过反向传播进行训练。
    
    
      
    

感知器

在这里插入图片描述

激活函数

复制代码
    常见的激活函数:sigmoid,thanh,ReLU,softplus
    Sigmoid: f(x) = 1/(1+e(-x))
    ReLU: F(x) = max(0,x)
    
    
      
      
      
    

输入层、隐藏层、输出层

在这里插入图片描述

正向传播和反向传播求导

CNN(Convolution Neural Network)卷积神经网络

CNN是深度学习技术中重要的网络结构之一。
CNN最初引用于图像数据,根据图像数据特点进行近似和优化,除了通用的网络结构,CNN还包含了几个特有的网络组件,如,卷积层,池化层,全连接层等,神经网络参数通过反向 传播算法进行训练。
通过深度学习CNN的处理方式,我们可以发现CNN相比于图像处理算法的优点在于,CNN可以直接输入原始图像,这就避免了对图像复杂的前期预处理和特征工程。

图像的几个不变性

复制代码
    平移不变性,旋转/视觉不变性,尺度不变性
    
    
      
    

卷积层

卷积层是CNN中的重要组件,它不仅能够通过各种卷积核提取图像特征,还能够通过卷积优化传统全连接层的计算量。

  • 多滤波器
    比如有的滤波器可进行边缘检测、锐化、边框模糊、高斯模糊,因此,使用多个不同的滤波器对同一张图片进行多次特征提取,可以获得不同的特征图。

  • 权值共享
    采用卷积的方式,可以减少一定参数,但是参数依然很多,采用权值共享的方式可以进一步减少参数。

池化层

池化(pooling)的目的:通过卷积获得特征后,希望利用这些特征进行分类。理论上可以利用所有的特征去训练分类器,但是这样做面临着计算量的挑战。同时容易出现过拟合。因此可以对不同位置的特征进行聚合统计进而表示一个更大的图像。聚合统计特征不仅具有低的多的维度(相比使用提取到的所有特质),同时还会改善结果(不容易过拟合)。这种聚合的操作称作为池化(pooling)。
常用的池化算法有最大池化(max pooling),平均池化

Inception

inception目的:消除尺寸对识别结果的影响。

Flatten层和全连接层

flatten 展平,使平坦。

跳层连接

跳层连接允许不同层级之间的因素进行信息交互、综合判断。

经典CNN

  • LeNet

  • AlexNet 相比LeNet,网络层次更深

  • ZFNet 增加了中间卷积层的尺寸,使得第一层的stride和滤波器尺寸更小。

  • GoogleNet 减少参数数量,最后一层使用Max pooling层代替了全连接层,同时引入了inception V4模块的使用。

  • VGGNet 只使用了3x3卷积层和2x2 pooling层进行深度神经网络结构连接。

  • ResNet 引入了跳层连接和Batch Normalization

  • DenseNet
    发展趋势:

  • 使用更小尺寸滤波器的卷积层和池化层。

  • 去掉参数过多的全连接层。

  • Inception

RNN(Recurrent Nerual Network)循环神经网络

RNN应用于时序数据,例如文本和语音,RNN针对时序数据特点进行相应的网络结构设计,RNN由多个cell按照时序串联,每个Cell都可以通过LSTM,GRU等进行实现。
RNN的网络结构形式

  • 一对一形式(One to One)
  • 多对一形式 (Many to One)
  • 一对多形式(One to Many)
  • 多对多形式 (Many to Many),这种结构又称作Encoder-Decoder,也可称作Seq2Seq模型。

几种有效的神经网络结构

Inception结构

Inception的主要目标在于更有效地提取特征,减少参数量。
在这里插入图片描述

随着深度的增加,CNN所带有的特征也更加丰富,因此特征维度会变的更大,在这种情况下,单纯地增加CNN特征维度会带来训练上的问题,这种方式不适合神经网络在深度上进行扩展,因此产生了Inception子结构。这种子结构可以将不同大小的卷积核心进行组合,这样就可以使得神经网络的训练更加高效。

ResNet结构

Inception解决了特征的问题,但其在网络深度上的进一步扩展,需要更加有效的网络结构,这就出现了再深度神经网络之上添加支路的过程。
在这里插入图片描述

跨层之路的加入使得深度神经网络更加接近于浅层神经网络,这使得训练更加有效解决了训练过程中的梯度消失问题。

seq2seq

在自然语言处理(NLP)中,比如翻译,常见的结构就是seq2seq结构,这种结构通常是由两个RNN结构组成。
在这里插入图片描述
这两个RNN分为encoder和decoder。两者之间的桥梁是encoder最终产生的状态向量,状态向量传入decoder中作为其的第一个状态,从而奖励前两个网络之间的联系。当然,encoderDecoder结构并不仅限于RNN,CNN同样也可以完成。

Attention

用于自然语言处理的神经网络通常分为encoder和decoder,它们通常是两个独立的RNN。但是语言长度的不确定性,我们有时需要将一个很长的语句通过encoder压缩成一个固定长度的向量。这显然是不合常理的,因此,Attention应运而生,其使得encoder每一步的输出都有可能参与decoder的输出
在这里插入图片描述

深度学习基础架构

  • PAI
    Microsoft开源的Platform for AI

  • XLearning
    奇虎360的XLearning

深度学习开发工具

  • Visual studio tools for AI & Visual Studio code tools for ai

深度学习辅助工具

MMdnn

MMdnn是一套工具集,其包含模型转换,模型可视化等,支持Caffe,Tensorfllow,CNTK,MxNet,Pytorch,Keras,CoreML模型之间的转换。

深度学习云平台

Azure是Microsoft的公有云平台,其提供以下服务
GPU虚拟机
模型训练服务
模型管理和部署

参考 :【深度学习核心技术、工具与案例解析】 高彦杰 于子叶 著

全部评论 (0)

还没有任何评论哟~