现在深度学习受到了大家的青睐,这是因为深度学习有很多实用的技术,而这些技术都有值得我们学习的知识。所以现在有很多人都去学习深度学习,但是在学习深度学习过程中有两个问题需要我们去考虑,那么这两个问题到底是什么呢?下面我们就给大家介绍一下这两个问题。
深度学习需要考虑的两个问题就是如何在样本数量有限的数据集上训练算法,以便让它们在能够完全捕捉真实世界复杂度的无限大数据集上也能发挥出好的表现;第二个问题就是如果我们手中只有有限的数据集,我们要如何高效地测试这些算法才能确保它们在无限大数据集上也有好的表现。
这就涉及到了克服组合问题,有一些目前形式的数据驱动方法比如深度神经网络类似的方法,其实有时候我们可能永远也无法完善解决组合爆炸的问题。其实还有一些比较有潜力的方法,那就是在组合性的数据上进行测试,下面我们就给大家介绍一下这种方法。
在克服组合问题上,在组合性的数据上测试是一个好办法,测试视觉算法的一个潜在的挑战是我们只能在有限的数据上测试,即便我们测试的算法是为了解决真实世界中巨大的组合复杂度而设计的。博弈论中对这种问题的思考方式是关注于那些最糟糕的情况解决得如何,而不那么关注平均难度的状况解决得如何。而有限数据集中的平均难度的结果意义并不高,尤其是当数据集无法完全捕捉到问题的组合复杂性的时候。更为关注最糟糕的情况当然是有一定理由的,我们都知道,失误都是更容易在复杂的情况下出现,出现以后也更可能带来严重的后果。
如果失效模式可以在低维空间中捕捉到,比如可以缩小到只有两三个因素的影响,我们就可以通过计算机图形学和网格搜索的方法进行研究。但是对于多数视觉任务,尤其是涉及组合性数据的任务,我们就很难分辨出来一小组影响因素并独立地研究它们。一种策略是在标准的对抗性训练的基础上进行拓展,让它也可以作用于非局部的结构,方法是允许模型对图像的主要结构、场景做复杂的操作,但同时不显著改变人类的观感。把这种方法拓展到视觉算法用来解决组合复杂度的问题仍然有不小挑战。不过,如果我们设计算法的时候心里就注意着复合性的事情,它们的显式结构也可以让我们更方便地进行诊断并判断它们是如何失效的。
通过这篇文章我们不难看出深度学习中需要思考的两个问题都是值得我们深思的,同时从侧面上也可以说明深度学习还有很长的路要走。相信在未来,深度学习能够帮助我们解决更多的问题。