Monthly Archive: 1 月 2018

Deep Learning Note: 4-12 一维和三维的推广

  前面讨论了使用卷积网络处理二维的图像数据的各种方法,其中很多方法也适用于一维和三维的数据。   例如计算如图 1 所示的二维图像和过滤器的卷积,图像尺寸为 $14 \times 14$,过滤器尺寸为 $5 \times 5$,二者卷积得到结果的尺寸为 $10 \times 10$;如果网络中某一层使用 16 个 $5 \times 5$ 的过滤器,则卷积结果的大小为 $10 \times 10…
Read more

Deep Learning Note: 4-11 Neural Style Transfer

1. 何为 Neural Style Transfer   Neural Style Transfer 指的是给定一张内容图片(Content,以下简称 C)和一张风格图片(Style,以下简称 S),将 S 图片中的风格迁移到 C 图片上,生成一张新的图片(Generated,以下简称 G),如图 1 所示(其中的生成图片来自 Justion Johnson)。 2. 深度卷积网络学到了什么  …
Read more

Deep Learning Note: 4-10 人脸识别

1. 人脸认证和人脸识别   在人脸认证(Face Verification)问题中,输入为一张图像和身份(姓名或 ID 等),输出为图像中的人是否与输入的身份相匹配。人脸认证是一个 1:1 问题,即只需要判断输入的一个图像是否与输入的一个身份相符。   在人脸识别(Face Recognition)问题中,有一个记录了 K 个人身份信息的数据库,对于一张输入图像,如果图像中的人在数据库中有记录,…
Read more

Deep Learning Note: 4-9 Region Proposal

  无论是前文介绍的滑窗检测算法还是其卷积实现,都需要无差别地计算整张图片,即使用分类器对图像上各个位置的窗口进行识别。Ross Girshick 等人提出的 R-CNN(Regions with CNN features)算法会先对图像中可能存在目标的区域进行建议,然后仅对这些区域进行识别。   R-CNN 算法对识别区域进行建议的方式是,先通过分割算法(Segmentation Algorit…
Read more

Deep Learning Note: 4-8 边框预测

1. 边框预测   前文介绍的滑窗算法的一个缺点是无法准确给出目标的边框,这是因为在一轮滑窗过程中使用的窗口大小是固定的,且窗口每次移动一个特定的步长,如果窗口大小和移动步长不合适,可能会刚好跳过目标,或者只包含了目标的一部分。   YOLO算法给出了更精确地进行边框预测的方法。YOLO 是 You Only Look Once 的缩写,其基本步骤是,将输入图像划分为若干网格,在每个网格上通过图像…
Read more

Deep Learning Note: 4-7 检测算法

1. 目标定位   前文主要讨论了图像分类问题,即判断图像中对象的类型,如图 1 中左图,给出一张图片,识别它是一张汽车的图片。而对于分类和定位问题,不仅要判断图像中是否存在目标对象,还要找到该对象的位置,如图 1 中间的图,不仅要识别出图中的汽车,还要找到汽车的位置。以上两个问题都只针对一个目标,目标检测问题则更进一步,需要识别和定位图像中存在的全部目标,这些目标还可能属于不同的分类,如图 1 …
Read more

Deep Learning Note: 4-6 使用卷积神经网络的建议

1. 使用开源实现   前面介绍了很多优秀的卷积神经网络架构,但要根据论文复现这些网络往往非常复杂,不但需要实现各种细节,还需要做超参数调优,最终得到的性能可能还会与原网络有差异。幸运的是,很多研究者会将自己的工作开源。在选定了要使用的网络后,可以先在网上(如 Github)查找该网络的开源实现。另外,很多网络的训练都需要大量的数据和很强的计算能力,通过使用开源实现,可以直接利用别人训练好的模型,…
Read more

Deep Learning Note: 4-5 卷积神经网络案例分析(3)

3. 1 乘 1 卷积   在进行卷积时,对于只有 1 个通道的输入,如果参与卷积的过滤器的尺寸为 $1 \times 1$,则只相当于将输入乘以一个固定的系数,如图 1 所示。   而对于有 $n$ 个通道的输入,如果参与卷积的过滤器尺寸为 $1 \times 1 \times n$,则相当于将输入中每个位置上的 $n$ 个值与过滤器中的 $n$ 个值依次相乘再求和,如图 2 所示。   此时这…
Read more

Deep Learning Note: 4-5 卷积神经网络案例分析(2)

2. ResNet   由于存在梯度爆炸和梯度消失的问题,往往难以训练很深的神经网络。ResNet 通过将一层的激活值直接传递给更深的层,使得训练非常深(如超过 100 层)的神经网络成为可能。 2.1. Residual Block   ResNet 由 Residual Block 组成,为了说明 Residual Block 的结构,先看一个普通的两层网络结构,如图 1 所示:   其计算过…
Read more

Deep Learning Note: 4-5 卷积神经网络案例分析(1)

1. 经典网络 1.1. LeNet-5   LeNet-5 是一个用于识别手写数字的网络,由 Yann LeCun 等人于 1998 年提出。其结构如图 1 所示。   LeNet-5 的输入是一张 $32 \times 32$ 的灰度图像,只有一个通道。先是两组卷积层和池化层的组合,然后是两个全连接层,输出 $84 \times 1$ 的向量,再通过一个特定的分类器得到预测值 $\hat{y}…
Read more