跟我一起学PyTorch-01:深度学习简介

围棋号称人类最复杂的棋类运动,但近两年来,在AlphaGo的冲击下,已经溃不成军。继2016年AlphaGo以4:1击败韩国李世石,2017年AlphaGo Master以3:0零封柯洁之后,最新的Alpha Zero在没有棋谱的情况下,进行3天的自我训练后,就击败了AlphaGo;经过40天训练后,击败了Alpha Master。在AlphaGo背后隐藏的知识就是近来发展如火如荼的深度学习。深度学习不仅在围棋领域大放异彩,在图像识别、语音识别、自然语言处理等领域也全面开花。

1.人工智能、机器学习与深度学习

人工智能(Artificial Intelligence,简称AI),也称为机器智能,是指由人制造出来的机器所表现的智能。通常人工智能是指通过普通计算机程度的手段实现的人类智能技术。广义上的人工智能,是让机器拥有完全的甚至超越人类的智能(General AI或者Strong AI)。计算机科学中的研究更多聚焦在弱人工智能(Narrow AI或者Weak AI)上:人工智能是研究如何能让计算机模拟人类的智能,来实现特定的依赖人类智能才能实现的任务(如学习、语言、识别)。

最早的人工智能探索可以追溯到1818年Mary Shelly(雪莱)对于复制人体的想象。计算机科学家先驱(Alan Turing,图灵)早在1950年就完整提出了计算机智能的概念,并且提出了如何评估计算机是否拥有智能的测试——图灵测试。尽管有争议(如Chinese Room Test),这项测试今天依然被很多研究人员当做测试人工智能的一项重要指标。人工智能这个名字的正式提出,来自于1956年的Darmouth会议。从20世纪50年代到90年代,人工智能在跌跌撞撞中前进,期间经历了两次人工智能寒冬。在2000年后,随着互联网时代的发展,人工智能领域用于了期盼已久的大数据,也有了足够快的硬件处理能力的支持。在2010年深度学习出现之后,给人工智能领域带来了一场革命,大大加快了人工智能领域的研究。不过这个领域的发展才刚刚起步,人工智能的未知世界,可能比计算机科学的其他领域(比如硬件、安全、系统)的总和还要多。下图为人工智能之父——图灵。


24d4601123fa4316a2d71dc6b2a5e896.jpg

人工智能的研究分为多种学派,例如符号主义和连接主义等。每种学派所用的方法完全不同,甚至尝试解决的问题也不一样。符号主义源自于数学逻辑,目前依然是主流学派之一(例如知识图谱)。机器学习则是连接主义的产物,机器学习中最早的模型是源自于人脑的仿生学,感知机(Perceptron)就是对人脑单一神经元的模拟。基于统计学的方法,例如决策树、支持向量机、逻辑回归等也被归于此类算法当中。从广义上讲,机器学习是从数据中自动学习算法,并且使用学习到的算法去进行预测。机器学习所学习到的算法,是自动从数据中学习的,随着数据改变也会有本质上的改变。这与传统计算机科学中面向对数据提前编程有着本质区别。

深度学习是使用深度神经网络来实现机器学习的方法。从下面左图中我们可以看到人工智能、机器学习和深度学习这三者的关系。深度神经网络跟人脑的模型有相似性,人脑中每个神经元都是可以连接的,而深度神经网络中,神经元往往被分为了很多层,从而有了深度。拿图像识别来举例(如下面右图:猫咪识别是深度神经网络最早的成功案例之一),图像可以被剪裁成很多小块,然后输入到神经网络的第一层,接着第一层再向后面的层传导,每层做不同的任务,然后最后一层完成预测。每个神经元对于输入都有权重,这些权重被用来计算最后的输出。例如图像识别的例子,有些神经元被用来识别颜色,有些被用来识别形状,最后一层的神经元对于所有权重进行总结,最终做出预测。


u=3047379947,3224356422&fm=173&s=61328873631277CC488D92470300D0E6&w=518&h=481&img.JPEG

深度学习在所有人工智能领域当中都取得了成功。以ImageNet图像分类任务举例,深度学习自2012年以来早已远远超过了传统的机器学习算法,在2014之后甚至超过了人类的正确率。如下图所示,蓝色为非深度学习,紫色为深度学习,红色为人类。


image.png

为什么深度学习能够获得成功呢?主要是由于以下三个因素的影响。

第一个因素是深度学习神经网络增加了学习能力。例如,传统的规则系统100%依赖于人工规则,而机器学习模型往往要依赖于少量人工设计的特征,深度学习模型则几乎不依赖任何人工定义的特征和规则,如下图所示。


2019-06-26_23-22-19.png

另外两个因素是深度神经网络以外的因素,也不可忽视。一个因素是由于互联网时代的积累,我们有了更多的数据来训练模型。另一个因素硬件的飞速发展,特别是GPU的出现,让深度学习所需要的高带宽的超大规模计算变成了可能。以图像识别任务进行对比,2012年和1998年相比,神经网络的复杂程度增加了几十倍,训练数据的数量有了千万倍的飞跃,同时所使用的计算能力也增加了千倍。

2.深度学习工具介绍

3.PyTorch介绍

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!