CN117057398A - 用于训练卷积神经网络的方法 - Google Patents
用于训练卷积神经网络的方法 Download PDFInfo
- Publication number
- CN117057398A CN117057398A CN202310539488.4A CN202310539488A CN117057398A CN 117057398 A CN117057398 A CN 117057398A CN 202310539488 A CN202310539488 A CN 202310539488A CN 117057398 A CN117057398 A CN 117057398A
- Authority
- CN
- China
- Prior art keywords
- convolutional
- training
- feature map
- training input
- input image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 100
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 32
- 238000013528 artificial neural network Methods 0.000 claims description 53
- 238000004590 computer program Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 29
- 238000011176 pooling Methods 0.000 description 21
- 230000011218 segmentation Effects 0.000 description 9
- 230000004913 activation Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000002604 ultrasonography Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000001931 thermography Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
按照不同实施方式,描述了用于训练卷积神经网络的方法,针对多个训练输入图像中的每个训练输入图像,所述方法具有:通过卷积网络来处理所述训练输入图像;通过所述卷积网络来处理所述训练输入图像的缩放过的版本;确定所述卷积网络的卷积层对,使得所述对的一个卷积层针对所述训练输入图像产生第一特征图,所述第一特征图具有与第二特征图相同的大小,所述对的另一卷积层针对所述训练输入图像的所述缩放过的版本产生所述第二特征图;而且计算在所述第一特征图与所述第二特征图之间的损失;并且训练所述卷积神经网络,以减少包含所计算出的损失的总损失。
Description
技术领域
本公开涉及用于训练卷积神经网络的方法。
背景技术
在许多计算机视觉应用、如对象识别或者语义分割中,绝对必要的是,在多个尺度上识别图案,例如既识别图像中的大的(近的)对象,又识别图像中的小的(远的)对象。在这种应用中的常见实践是使用多尺度网络、也就是说卷积神经网络(针对英文convolutionalneural networks的CNNs),在这些卷积神经网络中,输出直接与这些网络的多个卷积层连接,这些卷积层对不同分辨率的数据进行运算。这个方案在对象识别中最为流行,但是例如也可以被用于标准图像分类或者被用于识别图案而不是对象。
背后的想法在于:在较高分辨率的情况下要更容易地识别出小的对象(或者图案),但是分辨率较低的卷积层应该要更好地识别出特征,因为这些卷积层位于网络中的较深处(也就是说进一步远离神经网络的输入)。假设:两者的结合促进特征在训练期间相一致,也就是说,与对象在神经网络的输入图像上的缩放尺度无关地,相似地确定针对同样的对象(或者一般来说是图像元素)的特征。数种方法促进,图像特征的呈现摆脱缩放尺度而是相似的这一假设是合理的,其方式是这些方法使用不同缩放尺度中的共同特征。这意味着:对特征的确定与具有相同卷积(也就是说相同卷积核)的卷积层的分辨率无关地进行。
可是,可能出现如下情况:每个缩放尺度在这些共同特征的输入空间中都具有“保留子空间”,因为神经网络在训练时已经学会了单独地存储至少数个特征。
因此,能够实现对具有多个卷积层的神经网络进行训练的着手方式是值得期望的,这些卷积层针对不同分辨率确定特征,使得该神经网络针对被不同缩放但具有同样的特征的图像元素识别出同样的特征。
发明内容
按照不同实施方式,提供了一种用于训练卷积神经网络的方法,针对多个训练输入图像中的每个训练输入图像,该方法具有:通过卷积网络来处理该训练输入图像;通过该卷积网络来处理该训练输入图像的缩放过的版本;确定该卷积网络的卷积层对,使得该对的一个卷积层针对该训练输入图像产生第一特征图,该第一特征图具有与第二特征图相同的大小,该对的另一卷积层针对该训练输入图像的缩放过的版本产生该第二特征图;而且计算在第一特征图与第二特征图之间的损失;并训练该卷积神经网络,以减少包含所计算出的损失的总损失。
上面描述的方法能够实现对神经网络的训练,使得当在输入数据中以不同缩放尺度来表示同一特征时,该神经网络针对这些表示中的每个表示都识别出该特征。例如,该网络可以针对(至少相似地)以不同缩放尺度存在于输入图像中的一个图像元素识别出同样的特征,并且这样例如可以对该图像元素在所有缩放尺度中都相同地进行分类。这样,该方法可以提高该神经网络的性能,而该方法不要求附加的存储器或者附加的处理资源。
上面描述的方法可以被应用于具有在不同分辨率上工作的层的任何类型的神经网络,并且不限于确定的任务。该神经网络例如可以被训练用于进行图像分类和语义分割。该方法也不限于计算机视觉和例如对RGB图像数据的处理。该神经网络例如也可以为了处理雷达数据或者激光雷达(LiDAR)数据而被训练和被采用。
在下文,说明了不同实施例。
实施例1是训练卷积神经网络的方法,如上面所描述的那样。
实施例2是根据实施例1所述的方法,其中通过按在卷积网络的相继的卷积层之间的下采样因子、该下采样因子的幂、该下采样因子的倒数或者该下采样因子的倒数的幂的倒数来对该训练输入图像进行缩放,产生该训练输入图像的缩放过的版本。
这允许彼此在它们的大小方面找到相对应的特征图,在这些特征图之间的损失可以被计算。该下采样因子例如是池化因子,或者是除以卷积的步长(英文Stride(步幅))的下采样因子、也就是说步幅(Stride)因子。
实施例3是根据实施例1或者2所述的方法,其中该总损失还具有用于针对预先给定的任务来训练该卷积网络的训练损失,而且其中该方法还具有:对在该总损失中的所计算出的损失相对于该训练损失进行加权。
在这些特征图之间的损失因此可以通过损失函数中的如下附加损失项来给出:所述附加损失项附加地具有“正常”损失、亦即针对该神经网络的任务的训练损失(例如分类损失或者分割损失),其中这些损失被互相加权。通过选择权重,可控制通过该训练实现的特征对应的程度。
实施例4是根据实施例1至3中任一个实施例所述的方法,该方法具有:针对多个训练输入图像中的每个训练输入图像,确定该卷积网络的多个卷积层对,使得针对每个对,该对的一个卷积层针对该训练输入图像产生第一特征图,该第一特征图具有与第二特征图相同的大小,该对的另一卷积层针对该训练输入图像的相应的缩放过的版本产生该第二特征图,其中计算在第一特征图与第二特征图之间的损失,而且该总损失包含针对这些对所计算出的损失。
借此可以实现:该卷积网络被训练为使得,不仅在两个卷积层之间存在特征对应,而且在多个卷积层之间存在特征对应。该卷积网络也可以处理该训练输入图像的不同的缩放过的版本,以便能够确定如下卷积层对:这些卷积层对的区别在于,在两个卷积层之间多强烈地被缩放(例如这些卷积层关于它们在该卷积网络中的深度彼此相距多远)。
实施例5是根据实施例1至4中任一个实施例所述的方法,其中借助于训练输入图像的训练数据集来训练该神经网络,从该训练数据集中选择多个训练输入图像,并且针对这些训练输入图像产生这些训练输入图像的缩放过的版本,使得针对所述多个训练输入图像的每个训练输入图像和该训练输入图像的每个缩放过的版本,该卷积网络都具有卷积层对,使得该对的一个卷积层针对该训练输入图像产生特征图,该特征图的大小与该对的另一卷积层针对该训练输入图像的缩放过的版本所产生的特征图的大小相同。
通过选择针对训练数据中的训练输入图像的哪些部分产生缩放过的输入图像并且在按照上面描述的方法进行训练时使用这些缩放过的输入图像,可控制通过该训练所实现的特征对应的程度。针对卷积层关于它们在该卷积网络中的深度的不同距离,可以产生缩放过的版本。
实施例6是一种用于卷积神经网络的训练装置,该训练装置设立为,执行根据实施例1至5中任一个实施例所述的方法。
实施例7是一种计算机程序,该计算机程序具有指令,当由处理器实施这些指令时,这些指令引起:该处理器执行根据实施例1至5中任一个实施例所述的方法。
实施例8是一种计算机可读介质,该计算机可读介质存储指令,当由处理器实施这些指令时,这些指令引起:该处理器执行根据实施例1至5中任一个实施例所述的方法。
附图说明
在附图中,相似的附图标记一般涉及在所有不同视图中的同样的部分。这些附图不一定是按比例尺画出的,其中重点反而一般被置于呈现本发明的原理。在下文的描述中,参考下列附图来描述不同方面。
图1示出了车辆。
图2示出了针对神经网络的示例。
图3示出了卷积神经网络的示例。
图4阐明了按照实施方式的针对层对之间的特征对应而对神经网络的训练。
图5阐明了按照实施方式的对神经网络的训练。
具体实施方式
下文的详细描述涉及随附的附图,这些附图为了阐述而示出了本公开的其中可实施本发明的特定细节和方面。在不偏离本发明的保护范围的情况下,可以使用其他方面,并且可以执行结构更改、逻辑更改和电更改。本公开的不同方面不一定是相互排斥的,因为本公开的一些方面可以与本公开的一个或者多个其他方面相结合,以便形成新的方面。
在下文,更详尽地描述不同示例。
在机器学习的情况下,学习将输入数据映射到输出数据的函数。在监督学习(例如训练神经网络或者其他模型)的情况下,根据在每次输入都预先给定所希望的输出(例如对输入数据的所希望的分类)的输入数据集(也称为训练数据集),确定该函数,使得该函数尽可能好地描绘输入到输出的分配。
应用这种经过机器学习的函数的示例是数字图像中的对象分类或者语义分割,例如是针对自主驾驶(如在图1中所阐明的那样)的数字图像中的对象分类或者语义分割。
图1示出了(例如自主)车辆101。
应注意:在下文,图像或图像数据非常普遍地被理解成表示一个或者多个对象或者图案的数据的集。图像数据可以由如下传感器来提供:所述传感器测量可见光或者不可见光、如例如红外光或者紫外光、超声波或者雷达波、或者其他电磁信号或者声信号。
在图1的示例中,车辆101(例如PKW或者LKW)配备有车辆控制装置102。
车辆控制装置102具有数据处理组件,例如具有处理器(例如CPU(中央单元))103和存储器104,该存储器104用于存储控制软件和数据,车辆控制装置102按照所述控制软件工作,所述数据由处理器103来处理。
例如,所存储的控制软件(计算机程序)具有指令,当处理器实施这些指令时,这些指令引起:处理器103实现一个或者多个神经网络107。
存储在存储器104中的数据例如可包含如下图像数据:所述图像数据由一个或者多个摄像机105检测到。所述一个或者多个摄像机105例如可以拍摄车辆101的周围环境的一张或者多张灰度照片或者彩色照片。
车辆控制装置102可基于图像数据来确定:在车辆101的周围环境中是否存在对象并且存在哪些对象、例如像交通标志或者道路标线那样的固定对象或者像行人、动物和其他车辆那样的移动对象。
接着,按照对象确定的结果,可以由车辆控制装置102来控制车辆101。这样,车辆控制装置102例如可以控制执行器106(例如制动器),以便控制该车辆的速度,例如以便使该车辆制动。
按照一个实施方式,在图1的示例中,基于由神经网络执行的图像分类或者语义分割,进行控制。
图2示出了神经网络200的示例,该神经网络200设立为,将输入数据映射到输出数据,例如该神经网络可以设立为,将图像分类成预定义数目的类别。
在该示例中,神经网络200包含一个输入层201、多个“隐藏”层(英文:hiddenlayers)202和一个输出层203。
应当注意:神经网络200是实际神经网络的简化示例,该实际神经网络可以包含多得多的处理节点和隐藏层。
输入数据对应于输入层201,并且一般可以被视为值的多维排列,例如可以将输入图像看成如下值的二维排列:这些值对应于该图像的像素值。输入层201的输入与处理节点204相连。
如果层202是“全连接”层,则处理节点204将该层的输入数据的每个输入值都乘以权重,并且对所计算出的值进行求和。附加地,节点204可以将偏差添加至总和。此外,在全连接层的情况下,在该处理节点204之后是非线性激活函数205、例如ReLU单元(f(x)=max(0,x))或者S型函数(f(x)=1/(1+exp(-x)))。接着,向下一层输出最终得到的值。
但是,这些层202的至少一部分也可以具有非全连接层,例如在卷积神经网络的情况下可以具有卷积层。
输出层203接收(层202的序列的)最后一层202的值。通常,输出层203对这些接收到的值进行处理,并且接着输出这些值,以供进一步处理。例如在该神经网络用于进行图像分类的情况下,输出层203将所接收到的值转换成置信度,其中每个置信度都表明,图像有多可靠地对应于相应的预定义类别。接着,具有最高概率的类别可以作为所预测的类别由输出层203输出,以供进一步处理。为了训练神经网络200,针对具有已知的类别分配的训练数据,可以确定由神经网络200所预测的类别是否与已知类别相一致,或通常借助于损失函数(英文loss function)可以评价如下概率:该神经网络已经为该已知类别确定了所述概率。在训练神经网络200以进行分割或者回归等等时,可以类似地采取行动。
应当注意:图像的分类可以被视为等同于对图像中所呈现的对象的分类。如果原始图像具有多个对象,如在自主驾驶中那样,则可以(可能由另一神经网络)执行语义分割,使得每个片段都显示一个对象并且这些片段被用作对该图像进行分类的神经网络的输入。
卷积神经网络(英文:convolutional neural network,CNN)是一种特殊类型的神经网络,这些神经网络特别好地适合于对图像数据进行分析和分类。
图3示出了卷积神经网络300的示例。
应当注意:在图3的图示中,仅示出了神经网络300的不同层的输入数据和输出数据,并且这些层仅通过虚线来象征性表示。这些层可具有参考图2所描述的形式。
输入数据对应于输入层301。例如,输入数据是RGB图像,这些RGB图像可以被看成三个二维矩阵(这三个二维矩阵对应于图像的像素值)。这三个矩阵也可以被看成一个单独的三维数组,该三维数组也称为张量(Tensor)。张量可以被视为n维数组(英文:Array),或可以被理解为矩阵的泛化。
卷积神经网络常常使用三维和四维张量,例如可以将多个RGB图像理解为四维张量(图像数目*通道数目(例如三个)*高度*宽度)。
输入数据由第一卷积运算层302来处理。在卷积运算层中,输入数据被卷积滤波器(也为Faltungsfilter)修改,这些卷积滤波器可以被看成值的(二维或者也为三维)排列。
这些卷积滤波器取输入数据子集,并且将卷积(Faltung)应用于所述输入数据子集。所述输入数据子集可以被解释为使得,它们表示输入数据中的可能的特征、例如确定的形状。
通常,卷积滤波器在(该卷积滤波器所属的层202的)整个输入数据上“逐像素地”移位。例如,在RGB图像作为输入数据的情况下,这些卷积滤波器对应于三维张量(或“相叠地”对应于三个滤波器矩阵),而且在这些图像的所有“像素”(元素)上被移位。但是,也可以为这些滤波器选择其他步幅(英文:stride),例如可以选择为2的步幅,也就是说只考虑每两个值。
在卷积运算层302中,在这些卷积滤波器之后通常跟着非线性激活函数(图3中未示出)、例如ReLU单元。
接着,这些数据被转交给池化层303。同样,在池化层303中,使滤波器在输入数据上移位,其中该滤波器在一般情况下输出多个输入值中的最大值或者多个输入值构成的平均。换言之,该池化层合并多个输入值,也就是说将这些输入值聚合,因此该池化层也称为聚合层。也可以将池化层的运算视为欠采样,因此该池化层也可以称为子采样层(或者欠采样层)。
换言之,池化层可以被看成一种非线性下采样形式,在该非线性下采样的情况下减少数据量,其方式是例如通过采纳这些输出的最大值,将多个节点的输出在下一层中组合成单个节点。替选于池化,这些卷积层也可以将相应的卷积滤波器也不应用于每个像素,而是以确定的步长跳过像素(这称为跨步(Striding))。由此,也进行下采样。
在池化层303中,通常没有激活函数,因此池化也可以与先前的卷积运算层302一起被视为卷积层的部分(因为通常神经网络的每层都具有激活函数)。在本发明,卷积层因此被理解成具有激活函数和(如果存在的话)随后的池化层303的卷积运算层302(或者具有通过跨步进行下采样的卷积层)。每个卷积层的输出都是特征图(英文:feature map)。
在图3的具有池化的所示出的示例中,在池化层303之后跟着第二卷积运算层304,在该第二卷积运算层304之后又是第二池化层305。
应当注意:在卷积运算层之后也可以是另一卷积运算层;而且更多的卷积层和/或池化层可以是卷积神经网络的部分。
第一卷积运算层302的输入例如是数字图像,而随后的卷积运算层304的输入是由先前的卷积层(也就是说必要时是池化层303)所输出的特征图。
在第二卷积层之后跟着一个或者多个全连接层(英文:fully connected layers)306。在此之前,从第二卷积层获得的张量被平坦化(英文:flattening)成(一维)向量。
输出层从最后一个全连接层306接收数据,并且输出输出数据307。
该输出层可以包含处理,例如将值转换成概率或概率向量,例如通过将Softmax函数或者S型函数应用于这些值来转换,并且接着输出具有最高概率的类别,以供进一步处理。
应当注意:卷积神经网络不是必然必须具有(或最终必须具有)一个(或者多个)全连接层。此外,也可能的是:卷积神经网络对多个层进行并行处理。
通过由池化层和/或跨步引起的下采样,这些输入数据对于更深的卷积层(也就是说朝处理的方向进一步远离输入层301的卷积层)来说具有比不那么深的层更低的分辨率。换言之,这些卷积层确定针对不同分辨率的特征。
现在,可能出现如下情况:能在一幅图像中多次看到一个图像元素(例如相似车辆),但是大小不同(例如因为这些车辆中的一个车辆比另一个车辆距离更远)。这意味着:一个图像元素可以(至少相似地)以不同的缩放尺度出现在一幅图像中。在这样一种情况下,值得期望的是:该神经网络对于该图像元素来说在它的所有缩放尺度中都识别出同样的特征,也就是说卷积层对于不同缩放尺度识别出彼此相对应的特征。更一般来说,值得期望的是:如果用不同缩放尺度来表示同一特征,则对于这些表示中的每个表示来说都识别出该特征。
为了针对不同缩放尺度实现(所识别出的)特征的这种对应,按照不同实施方式提供了一种(在一定程度上)迫使这种对应的训练方法。在此,可控制同一特征的表示(也就是说具有同样的特征的图像元素)的特征相似性程度,也就是说可控制特征对应程度。此外,通过分类器(例如神经网络的最后一个卷积层)对不同缩放尺度的对象的评价使训练简化,并且最终降低了学习任务的复杂度。
图4阐明了按照实施方式的针对特征对应而对神经网络的训练。
假设:大小为N x N的输入图像401连续地由卷积神经网络的(分别包括池化层和/或带有跨步的)卷积层来处理,如上面参考图3所描述的那样。
在第一卷积层(深度d=1)之后,结果是第一特征图402;在第二卷积层(深度d=2)之后,结果是第二特征图403;并且在第三卷积层(深度d=3)之后,结果是第三特征图404。每个特征图402、403、404都具有所分配的缩放尺度s,也就是说大小为N/s x N/s。如果现在例如从一层到另一层的缩放因子为2(标准池化),则由深度为d的卷积层输出的特征图的大小(并且借此为分辨率)为N/2d x N/2d,也就是说s=2d。
可是,如果给神经网络输送输入图像401的缩放到2N x 2N的版本405,那么由深度为d的卷积层输出的特征图的大小为N/2d-1 x N/2d-1,也就是说只有通过卷积层稍后才实现同一缩放尺度。具体来说,通过第一卷积层(深度d=1)针对被缩放的输入图像(也就是说输入图像的缩放过的版本)所产生的(第四)特征图406的大小为N x N;通过第二卷积层(深度d=2)针对被缩放的输入图像所产生的(第五)特征图407的大小为N/2*N/2;通过第三卷积层(深度d=3)针对被缩放的输入图像所产生的(第六)特征图408的大小为N/4x N/4;并且通过第四卷积层(深度d=4)针对被缩放的输入图像所产生的(第七)特征图409的大小为N/8x N/8。
因此,在第一特征图402与第五特征图407之间、在第二特征图403与第六特征图408之间并且在第三特征图404与第七特征图409之间存在大小方面的对应关系。
由于这些特征图来自同一图像(只是缩放尺度不同),所以这些特征图应当要包含同样的特征(以便例如在两个缩放尺度中识别出所包含的对象)。
按照不同实施方式,这通过如下方式来实现:要求在由深度为d的卷积层针对输入图像401输出的特征图与由深度为d+1的卷积层针对输入图像405的缩放过的版本输出的特征图之间的显式对应,因为这些卷积层应当要识别出同样的特征(例如图案)。为此,借助于如下损失函数来训练该神经网络:该损失函数包含(基于相似性的)损失项,该损失项采取这两个特征图之间的区别。(除了要用来按照神经网络的函数来训练该神经网络的正常损失、也就是说分类或者分割损失之外),该损失项作为附加损失项被插入到该损失函数中,例如用于多个层对(例如所有可能的对),亦即例如(针对一批训练(Trainings-Batches)的输入图像401及其缩放过的版本405,在这些输入图像上求和或者求平均)插入:
·针对在第一特征图402与第五特征图407之间的区别的损失项;
·针对在第二特征图403与第六特征图408之间的区别的损失项;和
·针对在第三特征图404与第七特征图409之间的区别的损失项。
损失项例如是距离度量的值、如在两个特征图之间的L2损失,使得在训练该神经网络时为了减小(在理想情况下最小化)该损失函数而引起:针对每个输入图像401的(在其大小方面)彼此相对应的特征图(在这些输入图像上平均)尽可能好地相一致。
损失项被用于输入图像401、405的对,其中一个输入图像是另一个输入图像的缩放过的版本。不必针对该批的所有输入图像都这样做。在上面的示例中,缩放过的版本405大于输入图像401,也就是说一般大小为N*F x N*F,其中F(上面F=2)是在卷积层的层之间的缩放因子(或者其整数幂,因为也可以类似地在彼此离得较远的卷积层之间迫使相对应;只要可以转用到由不同深度的卷积层产生的特征图的对应中,就可以任意选择在输入图像401与缩放过的版本405之间的缩放比例)。类似地,也可以使用F的倒数,亦即可以将输入图像401按比例缩小到缩放过的输入图像405。接着,上面的比例相对应地反转。也可以针对输入图像产生多个缩放过的版本,并且视缩放比例而定,可以将相对应的损失项插入到该损失函数中。该损失函数也可以被应用为使得,只考虑包含对象的区域,亦即不是在整个特征图之间的损失项被计算,而是在一个片段上的损失项被计算,其中该片段对应于该对象的以s来缩放的范围。
通过选择该附加损失项(或者针对多个特征图对的这些附加损失项)在该损失函数中(亦即在总损失中)的权重可以设定,针对由不同深度的卷积层产生的特征图之间的特征对应要多强烈地训练该神经网络,并且由此,针对训练数据的多少输入图像来产生缩放过的版本,而且相对应地使用该附加损失项(或者这些附加损失项)。
对于由输入图像401和该输入图像的缩放过的版本405所构成的对来说,为了确定相应的特征图402至404和406至409,输入图像401和缩放过的版本405可以依次被输送给该神经网络。
替选地,在孪生网络的意义上,可存在该神经网络的两个(或者更多个)实例,其中给一个实例输送输入图像401并且给另一个实例输送缩放过的版本405。接着,可以借助于不同缩放尺度中的输入图像来并行地训练该神经网络(也就是说并行地确定神经网络的函数的相应损失、如分类损失),其中该附加损失项使这些层的训练相关联。为此,输入图像的两个缩放尺度可以由该神经网络的两个实例来并行处理,使得来自一个缩放尺度的处理的特征图不需要被存储直至另一个缩放尺度的处理。也可以针对两个以上实例这样做。
概括来说,按照不同实施方式,提供了一种如在图5中所呈现的方法。
图5示出了流程图500,该流程图500呈现了用于训练卷积神经网络的方法。
在501,针对多个训练输入图像中的每个训练输入图像:
·在502,通过卷积网络来处理该训练输入图像;
·在503,通过该卷积网络来处理该训练输入图像的缩放过的版本;
·在504,确定该卷积网络的卷积层的(至少一个)对,使得该对的一个卷积层针对该训练输入图像产生第一特征图,该第一特征图具有与第二特征图相同的大小,该对的另一卷积层针对该训练输入图像的缩放过的版本产生该第二特征图;而且
·在505,计算在该第一特征图与该第二特征图之间的损失。
在506,训练该卷积神经网络,以减少总损失,该总损失包含所计算出的损失(也就是说针对每对所计算出的损失)。
用于减少该总损失的训练通常包含:朝着降低的总损失的方向,调整该卷积神经网络的权重(尤其是滤波器权重)。
应当注意,这里如下层被理解为该卷积网络的卷积层:该层对其输入数据执行卷积运算,必要时继之以激活函数,并且紧接着执行池化,或者包含跨步,使得该层的输出数据的维度小于该层的输入数据(例如,在将输入数据和输出数据呈现为矩阵或者张量时,在长度方向上和/或在宽度方向上的分量数目在输出数据的情况下比在输入数据的情况下小)。
此外应当注意:这些步骤不一定需要按照所呈现的顺序来实施。例如,该训练输入图像及其缩放过的函数也可以被同时处理(在使用该神经网络的两个实例的情况下)。
通过具有一个或者多个数据处理单元的一个或者多个计算机,可以执行图5的方法。术语“数据处理单元”可以被理解为任何一种类型的实体,该实体使得能够处理数据或者信号。例如,可以按照至少一个(也就是说一个或者一个以上)特定功能来处理这些数据或者信号,所述功能由数据处理单元来执行。数据处理单元可以包括模拟电路、数字电路、逻辑电路、微处理器、微控制器、中央单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、可编程门阵列(FPGA)的集成电路或者它们的任何一种组合,或者可以由它们来构造。用于实现在本发明更详尽地描述的相应功能的任何一种其他方式也可以被理解为数据处理单元或者逻辑电路装置。这里详细描述的方法步骤中的一个或者多个可以由数据处理单元通过一个或者多个特定功能来实施(例如实现),这些功能由该数据处理单元来执行。
该神经网络的输入数据图像可以包含如例如视频、雷达、激光雷达、超声、运动、热成像之类的各种传感器的(图像形式、也就是说二维形式的)传感器信号。该神经网络所进行的处理可包括传感器数据的分类或者在传感器数据上执行语义分割,例如以便探测到(在其中已获得这些传感器数据的周围环境中的)对象的存在。
尽管这里已呈现和描述了特定实施方式,但是本领域技术人员认识到:所示出的和所描述的特定实施方式可以被替换成多种替选的和/或等效的实现方案,而不偏离本发明的保护范围。本申请要涵盖这里所探讨的特定实施方式的任何调整方案或者变型。因而旨在,仅通过权利要求书及其等效物来限制本发明。
Claims (8)
1.一种用于训练卷积神经网络的方法,所述方法具有:
针对多个训练输入图像中的每个训练输入图像:
通过卷积网络来处理所述训练输入图像;
通过所述卷积网络来处理所述训练输入图像的缩放过的版本;
确定所述卷积网络的卷积层对,使得所述对的一个卷积层针对所述训练输入图像产生第一特征图,所述第一特征图具有与第二特征图相同的大小,所述对的另一卷积层针对所述训练输入图像的所述缩放过的版本产生所述第二特征图;而且
计算在所述第一特征图与所述第二特征图之间的损失;和
训练所述卷积神经网络,以减少包含所计算出的损失的总损失。
2.根据权利要求1所述的方法,其中,通过按在所述卷积网络的相继卷积层之间的下采样因子、所述下采样因子的幂、所述下采样因子的倒数或者所述下采样因子的所述倒数的幂的倒数来对所述训练输入图像进行缩放,产生所述训练输入图像的所述缩放过的版本。
3.根据权利要求1或2所述的方法,其中,所述总损失还具有用于针对预先给定的任务来训练所述卷积网络的训练损失,而且其中所述方法还具有:对在所述总损失中的所述所计算出的损失相对于所述训练损失进行加权。
4.根据权利要求1至3中任一项所述的方法,所述方法具有:针对所述多个训练输入图像中的每个训练输入图像,确定所述卷积网络的多个卷积层对,使得针对每对,所述对的一个卷积层针对所述训练输入图像产生第一特征图,所述第一特征图具有与第二特征图相同的大小,所述对的另一卷积层针对所述训练输入图像的相应的缩放过的版本产生所述第二特征图,其中计算在所述第一特征图与所述第二特征图之间的损失,而且所述总损失包含针对所述对所计算出的损失。
5.根据权利要求1至4中任一项所述的方法,其中,借助于训练输入图像的训练数据集来训练所述神经网络,从所述训练数据集中选择所述多个训练输入图像,并且针对所述训练输入图像产生所述训练输入图像的缩放过的版本,使得对于所述多个训练输入图像的每个训练输入图像和所述训练输入图像的每个缩放过的版本,所述卷积网络都具有卷积层对,使得所述对的一个卷积层针对所述训练输入图像产生特征图,所述特征图的大小与所述对的另一卷积层针对所述训练输入图像的所述缩放过的版本产生的特征图的大小相同。
6.一种用于卷积神经网络的训练装置,所述训练装置设立为,执行根据权利要求1至5中任一项所述的方法。
7.一种计算机程序,所述计算机程序具有指令,当由处理器实施所述指令时,所述指令引起:所述处理器执行根据权利要求1至5中任一项所述的方法。
8.一种计算机可读介质,所述计算机可读介质存储指令,当由处理器实施所述指令时,所述指令引起:所述处理器执行根据权利要求1至5中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022204722.2A DE102022204722A1 (de) | 2022-05-13 | 2022-05-13 | Verfahren zum Trainieren eines neuronalen Konvolutionsnetzwerks |
DE102022204722.2 | 2022-05-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117057398A true CN117057398A (zh) | 2023-11-14 |
Family
ID=88510156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310539488.4A Pending CN117057398A (zh) | 2022-05-13 | 2023-05-12 | 用于训练卷积神经网络的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230368334A1 (zh) |
CN (1) | CN117057398A (zh) |
DE (1) | DE102022204722A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11964654B2 (en) * | 2020-10-30 | 2024-04-23 | GM Global Technology Operations LLC | Spatially invariant 3D convolutional network over spherical coordinate input |
-
2022
- 2022-05-13 DE DE102022204722.2A patent/DE102022204722A1/de active Pending
-
2023
- 2023-04-11 US US18/298,613 patent/US20230368334A1/en active Pending
- 2023-05-12 CN CN202310539488.4A patent/CN117057398A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102022204722A1 (de) | 2023-11-16 |
US20230368334A1 (en) | 2023-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102613517B1 (ko) | 이미지의 시맨틱 분리를 위한 시스템 및 방법 | |
US11600007B2 (en) | Predicting subject body poses and subject movement intent using probabilistic generative models | |
Sun et al. | Swformer: Sparse window transformer for 3d object detection in point clouds | |
US20220277549A1 (en) | Generative Adversarial Networks for Image Segmentation | |
US9633282B2 (en) | Cross-trained convolutional neural networks using multimodal images | |
US11157764B2 (en) | Semantic image segmentation using gated dense pyramid blocks | |
Zhang et al. | Long-range terrain perception using convolutional neural networks | |
EP3803791A1 (en) | Generating a displacement map of an input dataset pair of image or audio data | |
Melotti et al. | Multimodal CNN pedestrian classification: a study on combining LIDAR and camera data | |
US20210019620A1 (en) | Device and method for operating a neural network | |
CN115631344B (zh) | 一种基于特征自适应聚合的目标检测方法 | |
CN112541567A (zh) | 借助于神经卷积网络处理传感器数据的方法和设备 | |
EP3789909A1 (en) | Image classification in a sequence of frames | |
US20220076119A1 (en) | Device and method of training a generative neural network | |
CN117057398A (zh) | 用于训练卷积神经网络的方法 | |
Nguyen | Fast traffic sign detection approach based on lightweight network and multilayer proposal network | |
US11704894B2 (en) | Semantic image segmentation using gated dense pyramid blocks | |
EP3767534A1 (en) | Device and method for evaluating a saliency map determiner | |
Anupama et al. | SIDA-GAN: a lightweight generative adversarial network for single image depth approximation | |
Wang et al. | Variant-depth neural networks for deblurring traffic images in intelligent transportation systems | |
CN115066691A (zh) | 生成或者处理图像序列的循环单元 | |
CN112819832A (zh) | 基于激光点云的城市场景语义分割细粒度边界提取方法 | |
Acun et al. | D3NET (divide and detect drivable area net): deep learning based drivable area detection and its embedded application | |
US20230410561A1 (en) | Method and apparatus for distinguishing different configuration states of an object based on an image representation of the object | |
US20210279506A1 (en) | Systems, methods, and devices for head pose determination |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |