V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cralison
V2EX  ›  TensorFlow

学习笔记 TF027:卷积神经网络

  •  1
     
  •   cralison · 2017-07-23 14:05:26 +08:00 · 2613 次点击
    这是一个创建于 2463 天前的主题,其中的信息可能已经有所发展或是发生改变。

    卷积神经网络(Convolutional Neural Network,CNN),可以解决图像识别、时间序列信息问题。深度学习之前,借助 SIFT、HoG 等算法提取特征,集合 SVM 等机器学习算法识别图像。

    SIFT,缩放、平移、旋转、视角转变、亮度调整畸变的一定程度内,具有不变性。有局限性,ImageNet ILSVRC 比赛最好结果错误率在 26%以上,常年难以突破。

    卷积神经网络提取特征效果更好,分类训练时自动提取最有效特征。卷积神经网络 CNN,降低图像数据预处理要求,避免复杂特征工程。CNN 使用图像原始像素输入,对缩放、平移、旋转畸变具有不变性,强泛化性。CNN 卷积权值共享结构,大幅减少神经网络参数量,防止过拟合,降低神经网络模型复杂度。延时神经网络 TDNN,时间权值共享,降低学习时间序列信号复杂度。

    感受野(Receptive Field),每个视觉神经元只会处理一小块区域视觉图像。神经认知机(Neocognitron),两类神经元,抽取特征 S-cells 对应主流卷积神经网络卷积核滤波操作,抗形变 C-cells 对应激活函数、最大池化(Max-Pooling)操作。LeCun LeNet CNN 首个成功多层训练网络结构。卷积神经网络利用空间结构关系减少学习参数量,提高反向传播算法训练效率。

    第一个卷积层,接受图像像素级输入,每个卷积操作只处理一小块图像。卷积变化后传到后面网络。每一层卷积(滤波器),提取数据最有效特征。提取图像最基础特征,组合抽像更高阶特征。

    一般卷积神经网络多个卷积层构成。每个卷积层,图像多个不同卷积核滤波,加偏置(bias),提取局部特征,每个卷积核映射一个新 2D 图像,卷积核滤波输出结果,非线性激活函数处理(ReLU),激活函数结果池化操作(降采样),最大池化,保留最显著特征,提升模型畸变容忍能力。可以加 LRN(Local Response Normalization 局部响应归一化层),Batch Normalizations。

    卷积核权值共享,卷积层多个不同卷积核,卷积核对应滤波后映射新图像,同一新图像每个像素来自完全相同卷积核。降低模型复杂度,减轻过拟合,降低计算量。

    图像空间有组织结构,每个像素点与空间周围像素点有紧密联系,与太遥远像素点少联系,即感受野。每个感受野只接受一小块区域信号。小块区域内像素互相关联,每个神经元不需要接收全部像素点信息,只接收局部像素点输入,再将所有神经元收到局部信息综合起来得到全局信息。将全连接模型改为局部连接,从隐含层每个隐含节点和全部像素相连,改为每个隐含节点连接局部像素节点。

    局部连接方式卷积操作,默认每个隐含节点参数完全一样。不再担心隐含节点数量和图片大小,参数量只跟卷积核大小有关。权值共享。一个卷积核只能提取一种卷积核滤波结果,只能提取一种图片特征。每个卷积核滤波图像是一类特征映射,一个 Feature Map。一般,第一个卷积层 100 个卷积核已经充足。

    卷积,不管图片尺寸,训练权值只与卷积核大小、数量有关,可以用非常少参数量处理任意大小图片。每个卷积层提取特征,在后面层抽象组合更高阶特征,多层抽象卷积网络表达能力强,效率高。隐含节点数量没有下降,隐含节点数量只跟卷积步长有关。隐含节点数量=输入像素数量 /(步长 X 步长)。

    卷积神经网络,局部连接(Local Connection)、权值共享(Weight Sharing)、池化层(Pooling)降采样(Down-Sampling)。局部连接、权值共享降低参数量,训练复杂度下降,减轻过拟合。权值共享,卷积网络平移容忍性。池化层降低输出参数量,模型轻度形变容忍性,提高泛化能力。训练中自动完成特征提取抽象,同时模式分类,降低图像识别难度。

    LeNet5 始于 1994 年,深层卷积神经网络。Yann LeCun。可训练参数卷积层,用少量参数在图像多个位置提取相似特征。如果图像独立像素直接作输入,利用不到图像很强的空间相关性。每个卷积层包含卷积、池化、非线性激活函数。卷积提取空间特征。降采样(Subsample)平均池化层(Average Pooling)。双曲正切(Tanh)或 S 型(Sigmoid)激活函数。MLP 最后分类器。层间稀疏连接减少计算复杂度。

    State-of-the-art。LeNet5 奠定现代卷积神经网络基石。LeNet5,输入图像,三个卷积层,一个全连接层,一个高斯连接层。第一个卷积层 C1 有 6 个卷积核,卷积核尺寸为 5x5,共(5x5+1)x6=156 个参数。1 个 bias。2x2 平均池化层 S2 降采样。Sigmoid 激活函数非线性处理。第二个卷积层 C3,卷积核尺寸 5x5,16 个卷积核,16 个 Feature Map。第二个池化层 S4,2x2 降采样。第三个卷积层 C5,120 个卷积核,卷积大小 5x5,输入 5x5,构成全连接,可以算全连接层。F6 全连接层,84 个隐含节点,激活函数 Sigmoid。最后一层,欧式径向基函数(Euclidean Radial Basis Function)单元组成,输出最后分类结果。

    参考资料: 《 TensorFlow 实践》

    欢迎付费咨询(150 元每小时),我的微信:qingxingfengzi

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2665 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:59 · PVG 19:59 · LAX 04:59 · JFK 07:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.