深度学习:直观概览¶
上一章的结论看起来不错,但是时候看看最核心的部分了。首先,我们简单介绍一下什么是深度学习。这是为了那些没有经验背景的人,-深度学习十分高级且能做出直觉判断。
如上所述,想要处理好一个分类(或回归)问题时,有两个最重要的概念:1)使用正确的方式从手头获取正确的与问题有关的信息 2)使用正确的模型充分利用输入的数据得出有意义的结果。
虽然在第二部分中我们已经详细研究了复杂而强大的模型,但是我们似乎没有一种有规则的、数学的方法来完成第一部分-即表现。我们之前做的是先人工看看“哪些有意义”,然后从那里开始。对于复杂数据/复杂问题,这不是一个好方法。有没有办法使这个自动化?深度学习就可以做到。
为了强调在深层学习中我们通常尝试的复杂任务中表现的重要性,让我来谈谈使它出名的原始问题。这篇论文通常被称作“Imagenet Challenge Paper”,主要致力于图像中物体的识别。让我们试着考虑一个检测椅子的算法。
如果我让你“定义”一下椅子,你会怎么做?-有四条腿的物体?
又如我们可以坐的平面?
显然,这些定义不准确,我们需要更加复杂的定义。不幸的是,我们没法给出简单的文字规则来让计算机处理!我们要采取更有原则的方法。
深层学习的“深度”来源于传统上应用于神经网络的事实。众所周知,神经网络是分层组织的结构。计算层。为什么我们需要层?因为这些层可以被看作我们在识别椅子的复杂任务中所做的子任务。这可以看作是将复杂的工作分解为较小的子任务的递归分解。
在数学上,每一层的作用就像一个空间变换,它将像素值带到一个高维空间。当我们开始时,图像中的每个像素在我们的矩阵中都具有相同的重要性。对于每一层,卷积运算赋予一些部分更重要,而赋予一些次要的重要性。通过这样做,我们将我们的图像转换为相似外观的对象/对象部分更接近的空间(我们基本上是在深度学习中学习这种空间转换,没有别的)
这些神经网络究竟学到了什么很难知道,是一个活跃的研究领域。但是,一种非常粗略的方式来形象化它所做的是想像-它从学习第一层的非常通用的特征开始。像垂直和水平线一样简单的东西。在下一层中,它了解到,如果以不同比率组合表示垂直和水平向量的向量,则可以生成所有可能的斜线。下一层学习组合线条来形成曲线——比如说,像脸部的轮廓。这些曲线结合在一起形成3D对象。等等。构建子模块,以正确的方式组合它们,从而赋予其语义。
因此,简而言之,“深度”网络的前几层学习数据的正确表示,给出问题(这是由您的目标函数数学描述的,试图最小化基础真理和预测标签之间的差异)。最后一层看起来只是在这个高维空间中事物的距离的远近。
因此,我们可以使用神经网络给出任何类型的数据的高维表示。下面我们将看到概览(文本)和海报(图像)中两个词的高维表示。让我们从海报开始,即利用深度学习从海报中提取视觉特征。