引子
在人工智能领域,机器学习与深度学习是两个重要名词。如果我们要学习它们,就得先在一个大的方向、轮廓上看到它们。比如爬一座山,先远远地看看,对它有个大致的了解。好了,先上一张图,远远的看一下:
如何理解人工智能、机器学习和深度学习三者的关系呢?再来一张图:
可以看出,人工智能是个很大的概念,机器学习是其中的一个子集,而深度学习又是机器学习的子集。
而在理解深度学习之前我们要先了解两个概念:机器学习和神经网络。
机器学习
简单地说,机器学习就是让机器去分析数据找规律,并通过找到的规律对新的数据进行处理。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。这些算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。由于其中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。很多推论问题属于无程序可循难度,所以部分的机器学习研究是开发容易处理的近似算法。
神经网络
神经网络简单点说就是由好多个神经元组成的系统。这是模拟人类的神经网络。其中,神经元是一个简单的分类器,比如我们有一大堆猫狗照片,把每一张照片送进一个神经元中,神经元需要判断这张照片里的东西是猫还是狗。我们把这堆照片处理一下,左边是狗的特征属性,右边是猫的。
但神经元有一个缺点是:它只能“切”一刀。那要是下面这种情况只“切“一刀肯定是不能完成分类的。
解决办法是多层神经网络,底层神经元的输出是高层神经元的输入,通过神经元串联的方法对数据进行更精细的划分。我们可以在中间横着砍一刀,竖着砍一刀,然后再把左上和右下的部分合在一起,与右上和左下部分分开;也可以围着左上角的边沿着砍10刀把这一部分先挖出来,然后和右下角合并。
只要能够“砍”足够多刀,把结果拼在一起,不管什么奇怪形状的边界,神经网络都能表示,所以神经网络在理论上可以表示很复杂的函数/空间分布。当然真实情况下神经网络的运行还有许多细节要考虑。
深度学习
1.简单理解
那么什么是深度学习呢?简单来说,就是一种为了让层数较多的多层神经网络可以训练,能够运行起来而演化出来的一系列新的结构和新的方法。就像下图:
普通的神经网络可能只有几层,深度学习可以达到十几层。深度学习中的深度二字也代表了神经网络的层数之多。
2.原理解释
通过神经网络的多层处理,逐渐将初始的“低层”特征表示转化为“高层”特征表示后,用“简单模型”即可完成复杂的分类等学习任务。由此可将深度学习理解为进行“特征学习”或“表示学习“(看不懂没关系)。相较于以往机器学习中由人类专家来设计描述样本的特征,深度学习则通过机器学习技术自身来产生好特征,并以此反馈给前驱进行数据分析。
3.特点
显而易见的一点是深度学习强调了模型结构的深度,通常有5、6层甚至10多层的隐藏层结点;其次是明确了特征学习的重要性,即自我学习并将学习结果用于精确化学习,这能够实现我们对复杂事务处理的自动化要求。
4.应用
①语音识别
最具代表性的就是现在大家手机上的各种智能助手:“Siri、小爱同学、小艺”等等。在语音识别和智能语音助手领域,我们可以利用深度神经网络开发出更准确的声学模型。
②自动机器翻译
我们都知道,谷歌支持100种语言的即时翻译,速度之快宛如魔法。谷歌已经完全将深度学习嵌入进了翻译中。事实上,这些对语言翻译知之甚少的深度学习研究人员正提出相对简单的机器学习解决方案,来打败世界上最好的专家语言翻译系统。文本翻译可以在没有序列预处理的情况下进行,它允许算法学习文字与指向语言之间的关系。谷歌翻译利用的是大型递归神经网络的堆叠网络。
③即时视觉翻译(拍照翻译)
深度学习可以用来识别照片中的文字。一旦识别了,文字就会被转成文本,并且被翻译,然后图片就会根据翻译的文本重新创建。这就是我们通常所说的即时视觉翻译。
④自动驾驶
现在深度学习算法使自动驾驶汽车领域达到了一个全新的水平,设计师不再使用老的手动编码算法,而是编写程序系统,使其可以通过不同传感器提供的数据来自行学习。
除了上述几个具有代表性的应用外,深度学习在生活、生产、科研等方面还有着广泛的应用金融领域的预测股价、医疗领域的疾病监测,教育领域的技术赋能等等。
结语
看山是山,看水是水。我们弄清楚了深度学习属于机器学习,而机器学习属于人工智能,而人工智能呢?也就是由人来实现的东西,智能本不是机器的,而是人的,或者说是人通过一些技术赋予机器的,而赋予它的一个强有力的方法就是深度学习。而深度学习中的神经网络模型,其设计灵感来自人体的神经网络。可见,人工智能的发展主要因素依旧是人的智慧。