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

Deep Learning Note: 4-4 卷积神经网络:一个例子

1. 一个卷积神经网路的例子   图 1 展示了一个用于识别手写数字的卷积神经网络。   网络输入为 $32 \times 32 \times 3$ 的手写数字图像,第 1 个卷积层 CONV 1 使用 6 个 $5 \times 5$ 的过滤器,步长为 1,输出大小为 $28 \times 28 \times 6$,然后通过第 1 个池化层 POLL 1,数据大小降至原来的一半,即 $14 \t…
Read more

Deep Learning Note: 4-3 卷积神经网络:基本结构

1. RGB 图像上的卷积   前文中展示了灰阶图像上的卷积,对于 RGB 图像,它有三个颜色通道,此时需要使用三个过滤器进行卷积,如图 1 所示:   使用 $高 \times 宽 \times 通道数$ 的方式表示图像的大小,在图 1 中,一个 $6 \times 6 \times 3$ 的图像与一个 $3 \times 3 \times 3$ 的过滤器相卷积,可以将 $3 \times 3 …
Read more

Deep Learning Note: 4-2 卷积神经网络:填充和步长

1. 填充   在上面的例子中,使用 $6 \times 6$ 的图像与 $3 \times 3$ 的过滤器卷积,得到一个 $4 \times 4$ 的矩阵,这是因为在 $6 \times 6$ 的图像中,$3 \times 3$ 的过滤器有 $4 \times 4$ 个可以放置的位置。   更一般地,将 $n \times n$ 的图像与 $f \times f$ 的过滤器相卷积,结果的大小为:…
Read more

Deep Learning Note: 4-1 卷积神经网络:边缘检测

1. 计算机视觉   一些计算机视觉问题有: 图像分类(Image Classification):判断图像中物体的分类,如输入一张图像,判断它是否为猫的照片。 对象检测(Object Detection):不仅要判断图像中是否有目标物体,还找出各个目标物体的位置,如检测汽车前方路况图像中障碍物的具体位置。 神经风格迁移(Neural Style Transfer):使用一张图像的风格迁移到量一张…
Read more

Deep Learning Note: 3-7 端到端学习

1. 端到端深度学习   一些复杂的学习系统通常会具有多个处理阶段,端到端深度学习(End-to-End Deep Learning)将这些不同的处理阶段替换为一个神经网络。   例如对于语音识别,输入为语音数据,输出为语音对应的文本。传统的语音识别系统对语音数据的处理分为多个阶段,首先从语音中提取一些人工设计的特征(如 MFCC),然后通过机器学习算法提取音素(Phoneme),接着将音素串连成…
Read more

Deep Learning Note: 3-6 从多个任务中学习

1. 迁移学习   深度学习的一个强大之处在于,有时候可以将一个神经网络从某个任务中习得的知识应用到另一个任务上,这称为迁移学习(Transfer Learning)。例如一个网络学会了如何识别猫,可以将该网络学到的知识应用于读取 X 光片上。   假设训练了一个用于图像识别的神经网络,如图 1 所示:   现在想要将其学到的知识迁移到放射诊断上,即输入 X 光片,输出诊断结果。一种做法是移除原网…
Read more