当前位置: 首页 > 科技观察

理解深度学习

时间:2023-03-21 19:16:33 科技观察

1.现状:现在深度学习很火,各种会议都要跟这个有关。这就是百度大脑和谷歌大脑打算做的事情。它在一些领域取得了很好的效果,比如图像识别、语音识别,甚至安全领域的识别和加密协议。比如图中,实验室在语音领域的准确率超过90%。2.深度学习的本质一个典型的机器学习例子如上,从一开始就是通过传感器(比如CMOS)获取数据。然后经过预处理、特征提取、特征选择,进而进行推理、预测或识别。最后一部分是机器学习的部分。大部分工作都是在这方面完成的,也有很多论文和研究。中间三部分总结为特征表达。良好的特征表达对最终算法的准确性起着关键作用,系统的主要计算和测试工作都花在这部分。然而,这在实践中通常是手动完成的。手动提取特征。然而,手动选择特征是一种非常费力和启发式(需要专业知识)的方法。能否被选中很大程度上取决于经验和运气,其调整需要大量的时间。既然人工选择特征不太好,能不能自动学习一些特征?答案是肯定的!深度学习就是用来做到这一点的。看它的别名UnsupervisedFeatureLearning,顾名思义就可以了。无监督意味着不让人类参与特征选择过程。深度学习的本质是通过建立一个具有很多隐藏层和海量训练数据的机器学习模型来学习更多有用的特征,从而最终提高分类或预测的准确性。因此,“深度模型”是手段,“特征学习”是目的。与传统的浅层学习不同,深度学习的不同之处在于:1)强调模型结构的深度,通常有5层、6层甚至10层的隐藏层节点;2)明确突出了特征学习的重要性,即通过逐层特征变换,将样本在原始空间中的特征表示变换到新的特征空间中,从而使分类或预测变得更加容易。与通过人工规则构造特征的方法相比,利用大数据学习特征能够更好地描述数据丰富的内部信息。3、深度学习与传统神经网络的关系深度学习本身就是机器学习的一个分支,可以简单理解为神经网络的发展。大约二十、三十年前,神经网络曾经是ML领域特别火热的方向,但后来逐渐淡出。原因包括以下几个方面:1)更容易过拟合,参数更难调优。少花样;2)训练速度比较慢,在层数较少(小于等于3)时效果并不比其他方法好;所以中间大概有20年的时间,神经网络几乎没有受到关注。以上是支持向量机和提升算法的世界。然而,一个痴情的老Hinton先生,他坚持了下来,并最终(与Bengio、Yann.lecun等)提出了一个实用的深度学习框架。4.深度学习与传统神经网络有很多相同点和不同点。两者的区别在于深度学习采用了类似于神经网络的分层结构。该系统由一个多层网络组成,该网络由输入层、隐藏层(多层)和输出层组成。仅连接相邻层中的节点。并且跨层节点之间没有连接,每一层都可以看作是一个逻辑回归模型;这种分层结构比较接近人脑的结构。为了克服神经网络训练中存在的问题,深度学习采用了与神经网络截然不同的训练机制。在传统的神经网络中,采用反向传播的方法。简单的说,它是用迭代算法训练整个网络,随机设置初始值,计算当前网络的输出,然后根据当前输出和标签的差值计算当前输出。改变前面层的参数,直到收敛(整体是一种梯度下降法)。而深度学习整体上是一个分层的训练机制。这样做的原因是,如果使用反向传播机制,对于一个深度网络(7层以上),到前层的残差传播已经变得太小,出现所谓的梯度扩散(gradientdiffusion)。5.总结深度学习是关于自动学习要建模的数据的底层(隐式)分布的多层(复杂)表示的算法。换句话说,深度学习算法自动提取分类所需的低级或高级特征。high-levelfeatures,一个是指该特征可以层次化(hierarchically)依赖于其他特征,例如:对于机器视觉,深度学习算法从原始图像中学习以获得它的低级表达,例如边缘检测器、小波滤波器等,然后在这些低级表达式的基础上构建表达式,比如将这些低级表达式进行线性或非线性组合,然后重复这个过程,最终得到一个高级表达式。深度学习可以更好地表示数据的特征。同时,由于模型层级多,参数多,容量充足,模型具有表示大规模数据的能力,所以图像和语音的特征不明显(需要人工设计,很多有没有直观的物理意义),在大规模训练数据上可以取得更好的效果。另外,从模式识别特征和分类器的角度,深度学习框架将特征和分类器合二为一,利用数据学习特征,在使用中减少了人工设计特征的巨大工作量(这是目前业界工程师提出的inthemosteffort),所以不仅效果可以更好,而且使用上也有很多便利,所以是一套值得关注的框架,大家做ML的都应该关注一下。当然,深度学习本身并不完美,也不是解决世界上任何ML问题的有力工具,也不应该被放大到万能的程度。【本文为《大数据与云计算》专栏作者原创稿件,转载请通过微信公众号联系授权】点此查看作者更多好文