从LeNet5 / AlexNet演变的一种新的深度神经网络
2017-12-31 23:51 作者:FintechProbe编译 收藏(0) 阅读(2436) 评论(0)


IFTNews:一种新的深层神经网络即将到来。它们是前馈模型的进化。

这种新型的神经网络是LeNet5 / AlexNet和衍生物的初始前馈模型的演变,并且包括比ResNet / Inception更复杂的旁路方案。这些前馈神经网络也被称为编码器,因为它们将图像压缩并编码成较小的表示矢量。

新一轮的神经网络有两个重要的新特点:

生成分支:也称为解码器,因为它们将表示向量投射回输入空间

循环图层:将以前时间步骤中的表示与当前时间步骤的输入和表示组合在一起

太棒了!但这增加的复杂性又能为我们做些什么呢?

事实证明,传统的前馈神经网络有很多限制:

1 -不能精确定位:由于在较高层次上对空间分辨率的采样和丢失,特征/对象/类的本地化被削弱

2 -无法解释场景:因为他们将一个图像压缩成一个简短的表示代码,他们丢失了图像是如何组成的信息,以及图像或场景的部分是如何被空间排列的

2 -有时间不稳定性:由于他们接受静止图像的训练,他们没有学习在空间中物体运动的平滑时空转换。它们可以识别某些图像中的对象类别,但不能识别其他对象,它们对对抗性的噪声和扰动非常敏感

3 -无法预测:由于它们不使用时态信息,前馈神经网络在每个帧上提供新的表示码,只基于当前输入,但不能预测下几帧会发生什么(注意:有例外,没有视频训练)

为了超越这些限制,我们需要一种新的网络,它可以将一个已学习的表示投射到输入图像空间中,也可以对图像进行时间连贯的序列训练:我们需要在视频上进行训练。

这是这些新网络可以提供的高级功能列表:

无监督学习:他们可以在视频中预先训练,以预测未来的框架或表示,因此需要更少的标签数据(视频上花费昂贵)来训练完成一些任务

分割:在图像中分割不同的对象

场景解析:如果数据集有每个像素的对象标签,则用于自动驾驶和增强现实

定位::从分割和完美对象边界开始,所有的场景解析和分割网络都可以做到这一点!

时空表示:使用视频进行训练,不只是静止图像,了解时间和时间关系的概念

视频预测:一些网络设计用来预测视频中的未来帧

表示预测:一些网络可以预测视频中未来帧的表示

通过监控预测和实际的未来框架或表示之间的误差信号来执行在线学习的能力

现在让我们检查这些新网络的细节和实现,如下所示。

生成阶梯网络

这些模型使用编码器和解码器对将图像分割成部分和对象。例如:ENet,SegNet,Unet,DenseNets,梯形网络等等。

这是一个有代表性的三层模型:

D模块是标准的前馈层。 G模块是生成模块,与标准前馈层相似,但是具有去卷积和上采样。它们还使用残差式连接“res”将每个编码器层的表示连接到解码器层之一。这迫使生成图层的表示被前馈表示调制,因此具有更强的将场景定位和解析为对象和部分的能力。 “x”是输入图像,“y”是在同一时间步的输出分割。

这些网络可以执行分割,场景分析和精确定位,但是不在时域操作,对过去的帧没有记忆。

在最近的每一层中,编码器对每一层的解码器进行解码,帮助这些网络达到最先进的性能。

递归和生成阶梯网络

最新的深度神经网络架构之一增加了生成阶梯网络的递归。这些是递归和生成阶梯网络(REGEL,我们称之为CortexNet模型),它们是迄今为止最复杂的深度神经网络模型之一,至少对图像分析是如此。

这里是我们目前使用的一个网络的三层模型:

D和G模块实际上与上面述生成梯形网络中的模块相同。这些网络从每个G模块向同一层中的相应D模块添加循环路径“t-1”。

这些网络将一个视频的帧序列作为输入xt,在每一个时间步上,他们预测视频yt + 1的下一个帧,如果预测准确的话,它接近xt + 1。

由于这个网络可以测量预测与实际下一帧之间的误差,所以它知道何时能够预测输入。如果不是,它可以激活增量式学习,前馈网络是无法做到的。因此能够执行固有的在线学习。

我们认为这是机器学习的一个非常重要的特征,它是预测神经网络的特权。没有这个功能,网络不能提供一个真实的预测信心信号,并且不能执行有效的增量学习。

这些网络还在研究中。我们的建议:密切关注他们!

预测编码网络 - 第1部分

递归生成网络是一种可能的预测模型。或者,预测编码计算神经科学模型可以提供预测能力并被安排为层次化的深度神经网络。

这是一个2层模型的例子:

Rao和Ballard模型和Friston实现在“A”模块(类似于梯形网络之上的D模块)和“R / Ay”模块(类似于上述梯形网络的G模块)之间的每一层计算出每个层的误差“e”。这个错误“e”表示在每一层,网络的预测能力表示。然后将错误“e”作为输入转发到下一层。 “R”是卷积RNN / LST模块,“Ay”类似于“A”模块。 “R”和“Ay”也可以组合成一个循环模块。在第一层“x”是输入框架。

这个模型的问题是这个网络与标准的前馈神经网络有很大的不同。它并没有在更高层次上创建分层的表示,从而创建低层的特征组合,而是这些预测网络计算先前层的剩余误差的表示。

因此,它们有点让人想起剩余的前馈网络,但实际上,迫使这些网络转发错误不会导致他们在高层学习有效的分层表示。因此,他们不能有效地执行基于上层表示的其他任务,例如分类、分割、动作识别。需要更多的实验来证明这些局限性。

Bill Lotter和David Cox在PredNet中实现了这个模型。 Brain Corporation也有类似的模型。

预测编码网络 - 第2部分

Spratling预测编码模型将表示y投影到上层,而不是在上面的Friston模型中执行的误差“e”。这使得这个网络模型与分层前馈深度神经网络更加兼容,并且避免了上层的错误学习。

这里是一个2层模型的例子:

这个模型基本上可以重写和简化为上面我们看到的递归生成阶梯模型。这是因为“R”和“Ay”可以组合成一个循环模块。

与生成对抗网络的关系

生成敌对网络(GAN)是一种非常流行的模型,能够学习从数据分布中生成样本。这里介绍的新网络模型优于GAN,因为:

他们不是在最小极小游戏中训练,他们被直接训练有用的任务,所以鉴别器和发生器都是直接有用的。

他们学习创建一个有用的输入表示,同时也能够产生新的输入。

他们可以学习根据输入生成目标数据。

发生器和鉴别器网络连接在一起,消除了收敛问题。

与GAN提供的难看的结果相比,该发生器提供了几乎完美的照片级真实样品(见下文)

CortexNet预测能力示例 - 左:当前帧,中心:下一帧地面实况,右:预测的下一帧

请注意其他型号

像CortexNet这样的模型让人想起Pixel循环网络及其各种实现(PixelCNN,Pixel CNN ++,WaveNet等)。这些模型旨在对输入数据的分布进行建模(“我们的目标是估计一个自然图像的分布,可用于计算数据的可能性,并生成新的数据。”)。他们只专注于生成新的实际数据样本,但没有显示用于实际任务的表示。这些模型的推论也非常缓慢。

结论:

这里有一篇关于这个话题的论文。CortexNet仍在研究和评估中。例如,最近的PredNet文章就比较了预测编码和梯形网络,PredNet在某些任务上获胜。使用PredNet进行面向变量的人脸分类,使用了更高的层表示。它还可以预测数据集的转向角度,但主要是使用网络第一层的简单运动过滤器。此任务不需要对特性进行层次分解。



作者:Eugenio Culurciello

来源:towardsdatascience

编译:FintechProbe