深度学习
2022-05-16张轶涵
摘要:为了使机器学习更加接近最初的对象,我们将一种新的研究方向——深度学习,引入到机器学习当中,这个过程即为人工智能。深度学习可以了解樣本数据的内部规律和层次,是一种复杂的机器学习算法,它可以通过进一步学习来帮助解释所获得的信息,如文字、图像和声音,其最终目标是让机器人像人类一样具有分析和研究的能力。而与Ai的另一个方向不同,深度学习的概念始于人工神经网络的研究,前者是由if-then规则去定义的,而后者的基本特征是模仿人体中神经元传递和传导的方式。由于深度学习的快速发展,特别是卷积神经网络(CNN)的发展,计算机视觉取得了巨大进展,CNN已经成为了大多数计算机视觉任务的中流砥柱。本文旨在通过讲述机器学习背景下的深度学习的定义,引入卷积神经网络这一概念,描述其中的算法,如何工作,结构以及其在现代工程中的应用。
关键词:深度学习 ;卷积神经网络; 神经元
卷积神经网络(CNN)是入门深度学习的基础,它的灵感来自于大脑。在CNN中,它可以对未知图像和标准图像之间的部分进行比较,比较的周期称为卷积。因此,如果图像有简单的传输,CNN也可以识别图像。对于CNN来说,这是一个逐渐比较图像的情况。这个被用来比较的东西叫做特征。每个特征都是一幅小图像,可以被看作是二维数组。在每个特征中,卷积可以将特征中的每个元素相乘并相加。例如,这里有3×3元素的原始数据和3×3元素的滤波器。通过对相应位置的卷积,得到新的输出数据。具体来说,原始数据是输入的图像,而滤波器是由一组权重固定的神经元组成的。如果使用不同的滤波器,如阴影和轮廓,研究人员可以得到不同的输出数据。在CNN中,通过滤波器计算出当前数据窗口中的数据后,数据窗口会滑动,直到计算结束。由此可见滤波器是局部一个窗口地在进行卷积操作,和人的眼睛一样,只能一次性看见世界的一部分并从中去提取自己想要的信息,这便是卷积神经网络的局部感知。在此期间,深度表示神经元和过滤器的数量。步长决定窗口可以向边缘滑动多少步。例如, 这里有输入数据5×5×3 ( 5×5代表像素/长度和宽度, 而3代表R, G, B三种颜色通道 )和两种不同的滤波器 ( 滤波器w0和滤波器w1 )。随着窗口的平移滑动, 滤波器w0和w1对不同的局部数据来进行卷积计算。最后,通过w0和w1可以得到不同的输出数据,就好比人脑一样,同样的信息被不同的人接受,他们所形成的反馈是不同的。通过以上的例子,我们可以大概了解到卷积层的计算原理。其中分为三部分,输入矩阵(四个维度依次为样本数。图像高度,图像宽度,图像通道数),输出矩阵(和输入矩阵一样也是同样的四个维度,但是通常情况下后三个的尺寸均会发生变化),权重矩阵(也叫卷积核,四个维度依次是卷积核高度,卷积核宽度,输入通道数,输出通道数)。以下是它们之间的计算公式:
由此可见,输入矩阵,卷积核和扫描方式一起决定着输出矩阵的宽度和高度,公式中的填充值是为了数据窗口可以在最后滑动到最末端,在边缘补充若干个0,通俗来讲,填充值的目的在于可以让总长完整除以步长。
在研究CNN如何进行增量学习时,采用了微调的方法。在数据量较小的情况下,为了避免过度重合问题,该方法能快速将模型收敛到理想状态。首先,研究者应该准备和预处理训练数据和测试数据,然后再次用同一层的参数,并对新层参数应用随机初始值。后来通过调整学习率和步长的参数,提高新层的学习率,降低重用层的学习率。最后,通过对最后几层的参数进行改进,提高了学习率。本质上,CNN是一种从输入到输出的映射。它可以学习大量的输入和输出之间的映射关系,而不是任何输入和输出之间的精确数学表达式。因此,如果按照已知的模式训练卷积网络,网络就能具有映射输入输出的能力,从而实现增量学习。
卷积神经网络中有卷积计算层(主要作用为进行特征提取),激励层,池化层和全连接层。CNN的关键操作如下。首先研究人员应该先输入图像,然后CNN将实现卷积运算并使用激活函数。之后,CNN将进行池化操作 ( 平均值池化或最大值池化 )。在池化过程中,一般取特定区域的平均值或最大值。经过以上步骤,可以得到具有特定特征的图像。在激活函数中,Sigmoid函数是最基本的。它可以使一个实数减少成为0到1之间的值。例如,如果自变量是一个非常大的正数,函数的值将趋向于1。为了增加增量学习,研究者可以应用另一种激活函数ReLU。Sigmoid的缺点是易于饱和和停止梯度转移,而ReLU的优点是收敛快、梯度简单。
CNN可以应用于图像分类和识别。在2012年ImageNet竞赛中,网络模型AlexNet因使用改进后的CNN,从而获得冠军。为了实现图像识别,CNN可能会用到大量的特征映射,每个特征映射代表局部感知场的权值,反映空间结构。因此,CNN可以研究一些关于空间结构的信息来识别图像。为了提高准确率,研究者可以增加卷积层、池化层或连接层。此外,研究人员还应用了其他激活功能,使用了更多的训练数据。CNN的另一个例子是AlphaGo赢了人类棋手。在AlphaGo中,利用19×19大小的图像传递棋盘位置,训练两种深度神经网络 ( 策略网络和价值网络 )。它可以选择有希望的走法,放弃明显不好的走法,从而控制所需要的计算量。从本质上讲,这与人类玩家所做的是一样的。同样,在对自然灾害的检测和预报方面,CNN也发挥着至关重要的作用。根据高分辨率的卫星信息中得到的数据仍然在估计降水方面受到限制,而CNN这种先进的深度学习算法可以适用于此。在2012和2013年夏季,在0.08的空间分辨率和小时时间的标准下评估了该模型的性能。结果表明,CNN在CSI指数中高出PERSIANN-CCS和PERSIANN-SADE高出了54%和23%,由此说明了它的检测性能。此外,根据国家环境预报中心第四阶段的雷达数据,CNN所估计的降雨量平均方差均小于其他方法,说明其超高的估计精度。
参考文献
[1]Hou, Xianxu, 2018. An investigation of deep learning for image processing applications PhD thesis, University of Nottingham.
[2]Sadeghi, M. et al, 2019. PERSIANN-CNN: Precipitation Estimation from Remotely Sensed Information Using Artificial Neural Networks–Convolutional Neural Networks. Journal of hydrometeorology, 20(12), pp.2273–2289.
[3]Pang, Y. et al, 2018. Convolution in Convolution for Network in Network. IEEE transaction on neural networks and learning systems, 29(5), pp.1587–1597.
作者简介:张轶涵,生于2001年8月,男,汉族,天津人,本科学历,专业电子电气工程及其自动化(研究方向)