1

我一直在思考这个问题有一段时间了,但我还没有找到一个我很满意的答案。

想象一下,我们已经在 MNIST 数字数据库上训练了一个 DNN,它以一定的高精度对样本外观察进行分类。然后我们向 DNN 展示 4 和 3 的异常图像,如下所示。DNN 会正确分类吗?我不这么认为,因为隐藏层根本不会具有图像中存在的具有不寻常数字(各种卷发)的特征,因此它可能会对它们进行错误分类。

我还认为仅对此类不寻常数字的数据库进行培训会很困难。隐藏层将如何存储(非常相似的)特征?直观地说,它会在这个 db 上过拟合,因为由于卷曲之间的相似性,隐藏的神经元将学习所有不必要的特征。

我认为训练这种 DNN 的方法是以某种方式学习组成数字的“条”/卷曲之间的角度,例如在数字“4”中,条之间有一个直角,但我不太确定。我也找不到处理这个问题的论文。

在此处输入图像描述

4

2 回答 2

1

抱歉,但我认为尝试构建表示角度的特征并不符合 DNN 的精神:深度学习的全部意义在于您无需手动设计这些详细的特征,而是让网络学习并发现它们自动与目标任务最相关的功能。

对于您的问题,一种更“主流”的方法宁愿采用现有的数字数据库并破坏数字图像,以便您获得类似于您的示例的图片。例如,您可以尝试用随机曲率替换 N 个像素的直线。

这种方法通常用于深度学习以增加训练数据集,同时提高网络对某种噪声的鲁棒性。因此,经典的损坏方法包括平移/旋转数字图像。

但请注意,对于您展示的两张图片,更简单的解决方案可能是模糊或像素化或降低清晰度,或者更好地计算带有裁剪的光谱变换,以便仅捕获全局/较大的形状并过滤较小的变化 -出去。

于 2015-12-10T15:56:34.730 回答
0

如果您查看 MNIST 上的最佳结果,您会发现它们(上次我检查)在训练期间的每个时期都使用弹性变形。

在您的情况下,您必须添加这种类型的变形:弹性振荡(或?)。

如果您确定您只有此类信息,那么您可以尝试简化数字(曲线的主要部分而不是这些振荡),然后将其提供给您的 DNN。

于 2015-12-11T10:09:51.140 回答