技术开发 频道

深度学习很难?一文读懂深度学习!

  【IT168 技术】深度学习是机器学习(人工智能机制)的一个特定子集。它的编程框架看起来非常复杂,但其实思路很好理解,无非就是“以人脑为模型实现计算机系统智能化。”

  在过去的十几年里,研发人员进行了很多努力,研发出了模仿人类大脑工作方式的算法,由此也催生出了很多有价值的分析工具。

  神经网络及其使用方式

  深度学习的名称来源于它分析“非结构化”数据(或者其他未被标记过的数据)的方式。它需要仔细分析数据是什么,并对数据进行重复测试,最终得出可用结论。传统的计算机不擅长分析这样的非结构化数据。

  从写作的角度理解:如果你让十个人写同一个单词,由于书写、纸张、墨水和个人癖好的不同,每个人写出来的单词都是不一样的,但即便如此,人脑也能识别出这些单词都是同一个单词,因为人脑对这些因素都足够了解。但如果是一个普通的计算机系统便做不到这些,因为计算机只能从表象上分析。

  神经网络因此而出现,它是一种模拟大脑神经元相互作用的算法。神经网络试图以思维的方式来分析数据。它们的目标是处理混乱的数据,并得出有用的结论。为了方便理解,我们可以将神经网络分成三个重要部分。

  输入层

  在输入层,神经网络吸收所有未分类的数据。这意味着需要把信息分解成数字,然后把它们转换成非数据或“神经元”。如果你想教神经网络识别单词,那么输入层就会用数学方法定义每个字母的形状,把它分解成数字语言,这样网络就可以开始工作了。输入层可能非常简单也可能非常复杂,具体要取决于数学方式所表达的内容的难易程度。

  隐藏层

  神经网络的中心是隐藏层——从一个到多个。这些层是由它们自己的数字神经元构成的。单个神经元是一个基本的模型,但是层是由长链神经元组成的,并且不同的层之间可以相互作用,从而产生复杂的结果。我们的目标是让神经元能够识别不同的特征,然后组合成一个单一的实现。就像我们在学习英文之前,都需要学习26个英文字母,然后组合在一起识别出一个完整的单词,后续即便这个单词写得潦草我们也能识别出来。

  隐藏层是大量深度学习训练的地方。例如,如果算法不能准确地识别一个单词,程序员就会发送“对不起,您输入有误”,算法会重新调整数据的权重,直接找到正确的答案。通过重复这个过程(程序员可以手动调整权重),神经网络便可以建立强大的隐藏层,通过大量的试验以及外部的一些指令找到正确的答案,这个过程就如同人类大脑的工作方式一样。如上图所示,隐藏层也可能变得非常复杂!

  输出层

  输出层的“神经元”相对较少,因为它是最终决策的地方。在这里,神经网络应用最终分析,确定数据的定义,并根据这些定义得出编程结论。例如,“大量的数据线表明这个单词是lake,而不是lane。”最终,网络传输的所有数据都会被缩小到输出层的特定神经元。因为这是最终目标实现的地方,所以它通常是网络创建的第一部分。

  应用

  目前,深度学习的应用已经非常广泛,我们使用的现代技术中,很多都应用了深度学习算法。例如Alexa、谷歌助手,它们都基于神经网络去理解语音命令。包括如今的各种搜索系统、摄像监控系统等都离不开深度学习。

  该领域还有许多其他的应用,例如医学就是一个很有潜力的领域,在该领域,深度学习可以被用来分析DNA的缺陷或者分子化合物的潜在益处。在物理方面,越来越多的机器和车辆使用深度学习来预测设备何时需要维修,以防出现严重故障。

  深度学习的未来

  深度学习的未来特别光明!神经网络的优点在于擅长处理大量的不同的数据(就如同我们大脑每天需要处理所有的事情一样)。在目前的高级传感器时代,这一点尤为重要,而传统的计算机在海量数据处理方面就显得尤其艰难。

  另外,深度学习可以处理我们正在收集的海量数据。事实上,与其他分析方法相比,数据量越大,深度学习的效率就越高。这就是为什么像谷歌这样的巨头企业会在深度学习算法上投入这么多。

0
相关文章