本篇文章3319字,读完约8分钟

雷锋。(公开号码:雷锋。com)出版社:本文由Tupu Technology从医学图像分析与深度学习第2部分中编译而来,是最近出版的《深度学习下的医学图像分析(一)》的后续文章。雷锋的独家发布。

深度学习下的医学图像分析(二)

在“深度学习下的医学图像分析”系列的第一篇文章中,我们介绍了一些使用opencv和dicom图像基础知识的图像处理过程。在本文中,我们将从“卷积神经网络”的角度讨论深度学习。在本系列的第三部分,我们将使用kaggle的肺癌数据库回顾肺癌dicom图像中的关键内容和信息,并使用kera开发肺癌预测模型。

深度学习下的医学图像分析(二)

卷积神经网络在理解卷积神经网络之前,我们首先应该知道什么是卷积。

什么是卷积?

维基百科将卷积定义为两个函数的数学运算。除了两个原始函数之外,这个数学运算将产生第三个函数。这个函数通常被认为是两个原始函数之一的修正版本,它实际上是两个原始函数的点乘的积分。我们可以简单地将第三个函数理解为“矩阵上的滑动窗口函数”。

深度学习下的医学图像分析(二)

图像来源:deeplearning.stanford.edu/wiki/index.php/feature _提取_使用_卷积

如上图所示,绿色代表滑动窗口,红色代表滑动窗口矩阵,输出结果是具有卷积特性的矩阵。下图显示了两个方波脉冲的卷积及其输出结果。

图片来源:维基百科

杰里米·霍华德在他的mooc课程中用excel电子表格很好地解释了“卷积”。F和G的卷积输出是第三个矩阵卷积的第一层,也是这两个矩阵的点乘结果。这两个矩阵的点乘结果是下图所示的“标量矩阵”,它也是数学函数的来源。

深度学习下的医学图像分析(二)

两个矩阵的点乘结果

像杰里米一样,我们也使用excel表格。我们输入的矩阵是函数f(),滑动窗口矩阵是函数g()。两个函数的点乘结果是表中两个矩阵的和积,如下图所示:

两个矩阵的卷积

接下来,我们将此规则应用于大写字母a的图像。众所周知,所有图像都是由像素组成的。因此,输入矩阵f为“a”,滑动窗函数定义为任意矩阵g。然后,我们得到两个函数的点乘结果,如下图所示:

深度学习下的医学图像分析(二)

什么是“卷积神经网络”?

图片来源:cs231n.github.io/convolutional-networks/

在我看来,一个简单的卷积神经网络。每一层都有一些特定的功能。每个卷积层都是三维的,因此我们使用体积作为测量标准。此外,卷积神经网络的每一层将通过一个可微函数将激活量转换成另一个激活量,该函数称为“激活”或“转换函数”。

深度学习下的医学图像分析(二)

“卷积神经网络”包含不同的实体:输入层、滤波器(或核)、卷积层、激活层、累积层和批处理层。尽管这些层的组合和排列是不同的,但是在不同的排列中仍然有一些规则,这为我们提供了不同的深度学习架构。

深度学习下的医学图像分析(二)

输入层:通常,我们输入到“卷积神经网络”的通常是一个N维数组。如果它是一个图像,我们有颜色通道的三维输入-长度,宽度和高度。

图片来源:xrds . ACM/blog/2016/06/卷积-神经网络-CNNs-插图-解释/

滤镜(或内核):如下图所示,滤镜或内核会滑动到图像的所有位置,并计算一个新像素作为所有像素的加权和。就像上面的excel表格的例子一样,我们的过滤器G已经移动到了输入矩阵f

深度学习下的医学图像分析(二)

资料来源:intellabs.github.io/rivertrail/tutorial/

卷积层:由输入矩阵和核的相乘结果生成的新矩阵称为卷积矩阵,也称为卷积层。

资料来源:docs.gimp/en/plug-in-convmatrix

以下非常清晰的视觉图表可以帮助您更好地理解卷积填充和卷积换位的具体过程:

资料来源:github/vdumulin/conv _算术

激活层:“激活功能”可分为两类——“饱和激活功能”和“非饱和激活功能”。

Sigmoid和tanh是“饱和激活函数”,而relu及其变体是“不饱和激活函数”。使用非饱和激活函数的优点在于两点:

1.首先,“非饱和激活函数”可以解决所谓的“梯度消失”问题。

其次,它可以加快收敛速度。

sigmoid函数要求将实值输入压缩到[0,1]的范围内

σ(x) = 1 / (1 + exp(?)x))

tanh函数需要说明实值输入被压缩到[-1,1]的范围

tanh(x) = 2σ(2x)?1

relu

relu函数代表“修正的线性单位”,它是输入x与卷积图像的最大函数(x,o)。relu函数将矩阵x中的所有负值设置为零,其他值保持不变。relu函数是卷积后计算出来的,因此它属于“非线性激活函数”,类似于tanh函数和sigmoid函数。这一内容首先是由杰夫·辛顿提出的。

深度学习下的医学图像分析(二)

elus

Elus是一个“指数线性单位”,它试图使激活函数的平均值接近于零,从而加快学习速度。同时,通过标记正值可以避免梯度消失的问题。一些研究表明,elus的分类准确率高于relus。以下是elu细节的详细介绍:

深度学习下的医学图像分析(二)

图片来源:图片网/挑战/海报/poster.pdf。

图片来源:维基百科

泄漏relus

Relu将所有负值设置为零。相反,漏relu给所有负值一个非零斜率。在声学模型(2013)中首次提出了泄漏relu激活函数。从数学上讲,我们可以将其表达为:

图像来源:“卷积网络中校正激活函数的经验评估”

上图中的Ai是区间(1,+∞)中的固定参数。

参数化修改线性元素

Prelu可以被认为是漏relu的变体。在prelu中,负部分的斜率是根据数据确定的,而不是预先定义的。作者认为,在imagenet分类中,prelu是超越人类分类水平的关键(2015,russakovsky等。)。

深度学习下的医学图像分析(二)

随机校正线性元素

Rrelu也是漏relu的变体。在rrelu中,负值的斜率在训练中是随机的,在以后的测试中变得固定。rrelu的亮点是aji是从训练中均匀分布的u(i,u)中随机选取的值。从形式上讲,我们可以得到以下结果:

深度学习下的医学图像分析(二)

下图显示了relu、leakyreu、prelu和relu的比较:

图片来源:arxiv/pdf/1505.00853.pdf。

人工智能在前期根据数据变化;漏泄电缆中的人工智能是固定的;rrelu中的Aji是在给定范围内随机选择的值,该值将在测试期间固定。

噪声激活功能

这些是包含高斯噪声的激活函数。下图可以帮助您理解“噪音”是如何与激活功能结合的:

图片来源:维基百科

堆积层

“累积层”的目的是通过逐渐减小矩阵的空之间的大小来减少网络中的参数和计算的数量,从而控制过拟合。“累积层”在输入中独立运行,然后通过使用最大值或平均值的运算来调整输入矩阵的空大小。“累积层”最常见的形式是“累积层”,对两个输入样本应用2x2滤波器。在这种形式中,每一个最大值操作将取大于4的最大值,并且深度尺寸保持不变。更常见的“累积层”如下:

深度学习下的医学图像分析(二)

图片来源:cs231n.github.io/convolutional-networks/#pool

图片来源:ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/

注意:这里我们将2×2窗口移动两个单元格,然后取每个区域的最大值。

批量标准化层

批量标准化是标准化每个过渡层的有效方法,包括激活功能。批量标准化操作的两个主要优点是:

1.将“批量规格”添加到模型中可以加快训练速度

2.标准化操作大大降低了少量外围输入对训练的影响,减少了过度拟合的发生。

杰里米的在线公开课有更多关于批量标准化的细节。

全连接层

“全连接层”是传统的“多层感知器”,它在输出层使用“灵活的最大激活函数”。顾名思义,“完全连接”意味着上层的每个神经元都与下层的每个神经元相连。“灵活最大值函数”是逻辑函数的推广,它将具有任意实值的K维向量转换为具有(0,1)范围内的实值的K维向量。

深度学习下的医学图像分析(二)

图片来源:维基百科

“灵活的最大激活函数”通常用于最后一个完全连接的层,以获得真实值介于0和1之间的概率。现在,我们已经知道了“卷积神经网络”的不同层,因此,有了这些知识,我们就可以为肺癌检测构建深层学习框架。我们将在下一篇文章中讨论肺癌检测的深度学习架构。

深度学习下的医学图像分析(二)

雷锋的特别贡献。严禁擅自转载。详情请参考转载说明。

标题:深度学习下的医学图像分析(二)

地址:http://www.hcsbodzyz.com/hcxw/9363.html