[关闭]
@gzm1997 2018-01-21T02:55:25.000000Z 字数 1432 阅读 966

树媒基础期中

树媒技术基础作业


神经网络

参考博客

参数激活值(输出值)
image_1btluvcqs19jggo1tttuei234p.png-62.3kB
image_1btlv12ig16im1rnhjhd2b1un516.png-106.8kB

feature map

在每个卷积层,数据都是以三维形式存在的。你可以把它看成许多个二维图片叠在一起,其中每一个称为一个feature map。在输入层,如果是灰度图片,那就只有一个feature map;如果是彩色图片,一般就是3个feature map(红绿蓝)。层与层之间会有若干个卷积核(kernel),上一层和每个feature map跟每个卷积核做卷积,都会产生下一层的一个feature map。


卷积神经网络结构


大体结构

image_1bt6nt54komfl0fkt032e1d459.png-83.1kB


卷积神经网络基本操作

参考博客

空间池化(Spatial Pooling)(也叫做亚采用或者下采样)降低了各个特征图的维度,但可以保持大部分重要的信息。空间池化有下面几种方式:最大化、平均化、加和等等。
对于最大池化(Max Pooling),我们定义一个空间邻域(比如,2x2 的窗口),并从窗口内的修正特征图中取出最大的元素。除了取最大元素,我们也可以取平均(Average Pooling)或者对窗口内的元素求和。在实际中,最大池化被证明效果更好一些。
下面的图展示了使用 2x2 窗口在修正特征图(在卷积 + ReLU 操作后得到)使用最大池化的例子。
此处输入图片的描述

全连接层是传统的多层感知器(也叫前馈神经网络),在输出层使用的是 softmax 激活函数(也可以使用其他像 SVM 的分类器,但在本文中只使用 softmax)。“全连接(Fully Connected)”这个词表明前面层的所有神经元都与下一层的所有神经元连接。
image_1bt8l2o3gvlj14v4ja184tj9415.png-68.2kB


卷积神经网络包含的算法

反向传播算法


完整的卷积网络的训练过程可以总结如下:
image_1bt6nt54komfl0fkt032e1d459.png-83.1kB

  1. 第一步:我们初始化所有的滤波器,使用随机值设置参数/权重
  2. 第二步:网络接收一张训练图像作为输入,通过前向传播过程(卷积、ReLU 和池化操作,以及全连接层的前向传播),找到各个类的输出概率
    • 我们假设船这张图像的输出概率是 [0.2, 0.4, 0.1, 0.3]
    • 因为对于第一张训练样本的权重是随机分配的,输出的概率也是随机的
  3. 第三步:在输出层计算总误差(计算 4 类的和)
    • ½²
  4. 第四步:使用反向传播算法,根据网络的权重计算误差的梯度,并使用梯度下降算法更新所有滤波器的值/权重以及参数的值,使输出误差最小化
    • 权重的更新与它们对总误差的占比有关
    • 当同样的图像再次作为输入,这时的输出概率可能会是 [0.1, 0.1, 0.7,
      0.1],这就与目标矢量 [0, 0, 1, 0] 更接近了
    • 这表明网络已经通过调节权重/滤波器,可以正确对这张特定图像的分类,这样输出的误差就减小了
    • 像滤波器数量、滤波器大小、网络结构等这样的参数,在第一步前都是固定的,在训练过程中保持不变——仅仅是滤波器矩阵的值和连接权重在更新
  5. 第五步:对训练数据中所有的图像重复步骤 1 ~ 4

上面的这些步骤可以训练 ConvNet ——这本质上意味着对于训练数据集中的图像,ConvNet 在更新了所有权重和参数后,已经优化为可以对这些图像进行正确分类。
当一张新的(未见过的)图像作为 ConvNet
的输入,网络将会再次进行前向传播过程,并输出各个类别的概率(对于新的图像,输出概率是使用已经在前面训练样本上优化分类的参数进行计算的)。如果我们的训练数据集非常的大,网络将会(有希望)对新的图像有很好的泛化,并把它们分到正确的类别中去。


风格转化

image_1btbmmnav163ua441albq8d1o499.png-314.4kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注