关于机器学习和深度学习,今日份学习笔记
很怀念小时候,那时报纸、杂志、电视和广播是我们的灯塔,图书馆是我们的星辰大海。那时我们的记忆力好于体力,没有云存储,只有脑回路。
这是申鹤公众号第790天的第784篇原创文章
1956年,几个计算机科学家相聚在达特茅斯会议,提出了“人工智能”的概念,梦想着用当时刚刚出现的计算机来构造复杂的、拥有与人类智慧同样本质特性的机器。
其后,人工智能就一直萦绕于人们的脑海之中,并在科研实验室中慢慢孵化。之后的几十年,人工智能一直在两极反转,或被称作人类文明耀眼未来的预言,或被当成技术疯子的狂想扔到垃圾堆里。
直到2012年之前,这两种声音还在同时存在。
2012年以后,得益于数据量的上涨、运算力的提升和机器学习新算法(深度学习)的出现,人工智能开始大爆发。
还是那句话,人是因为相信才看见,不是因为看见才相信。
最近几天,满脑子都在萦绕自然语言处理、图像识别、语音识别、机器学习、深度学习、推荐算法、搜索算法等这些人工智能领域的专业技术术语,也在一点点补自己在AI方面的技术短板。
研究到机器学习和深度学习的时候,有了一点疑惑,到底这两者的关系和区别是什么?机器学习又是人工智能的核心,那深度学习又是怎么回事?
为了搞懂这个问题,我查阅资料后写下这篇文章。
首先,什么是机器学习?什么又是深度学习?
机器学习(Machine Learning,ML)是人工智能的子领域,也是人工智能的核心。
举个例子,假设要构建一个识别猫的程序。传统上如果我们想让计算机进行识别,需要输入一串指令,例如猫长着毛茸茸的毛、顶着一对三角形的的耳朵等,然后计算机根据这些指令执行下去。
但是如果我们对程序展示一只老虎的照片,程序应该如何反应呢?更何况通过传统方式要制定全部所需的规则,而且在此过程中必然会涉及到一些困难的概念,比如对毛茸茸的定义。因此,更好的方式是让机器自学。
我们可以为计算机提供大量的猫的照片,系统将以自己特有的方式查看这些照片。随着实验的反复进行,系统会不断学习更新,最终能够准确地判断出哪些是猫,哪些不是猫。
而提到深度学习(Deep Learning,DL),通过一个例子说明,大家就慢慢理解了。
比如我们要区分下面的形状,哪个是圆的那个是方的?
我们的眼睛第一件要做的事情,就是看看这个形状有没有4条边。如果有的话,就进一步检查,这4条边是不是连在一起,是不是等长的,是不是相连的互相垂直。如果满足上面这些条件,那么我们可以判断,是一个正方形。
从上面的过程可以看出,我们把一个复杂的抽象的问题(形状),分解成简单的、不那么抽象的任务(边、角、长度...)。深度学习从很大程度上就是做这个工作,把复杂任务层层分解成一个个小任务。
再比如,识别猫和狗。
如果是传统机器学习的方法,我们会首先定义一些特征,如有没有胡须,耳朵、鼻子、嘴巴的模样等等。总之,我们首先要确定相应的“面部特征”作为我们的机器学习的特征。
而现在,深度学习的方法则更进一步。深度学习会自动地找出这个分类问题所需要的重要特征,而传统机器学习则需要我们人工地给出特征。
那么,深度学习是如何做到这一点的呢?
3)在构建层级网络之后,就可以确定哪些组合可以识别出猫和狗。
我找到了下面这张图,我觉得已经很清晰地阐述出来机器学习和深度学习的关系了。
上面我们大概了解了机器学习和深度学习的工作原理,下面我们从几个重要的方面来对比两种技术。
1、数据依赖
随着数据量的增加,二者的表现有很大区别:
可以发现,深度学习适合处理大数据,而数据量比较小的时候,用传统机器学习方法也许更合适。
2、硬件依赖
深度学习十分地依赖于高端的硬件设施,因为计算量实在太大了。深度学习中涉及很多的矩阵运算,因此很多深度学习都要求有GPU参与运算,因为GPU就是专门为矩阵运算而设计的。相反,普通的机器学习随便给一台破电脑就可以跑。
3、特征工程
特征工程就是前面的案例里面讲过的,我们在训练一个模型的时候,需要首先确定有哪些特征。
在机器学习方法中,几乎所有的特征都需要通过行业专家在确定,然后手工就特征进行编码。
然而深度学习算法试图自己从数据中学习特征。这也是深度学习十分引人注目的一点,毕竟特征工程是一项十分繁琐、耗费很多人力物力的工作,深度学习的出现大大减少了发现特征的成本。
深度学习,作为目前最热的机器学习方法,但并不意味着是机器学习的终点。起码目前存在以下问题:
1. 深度学习模型需要大量的训练数据,才能展现出神奇的效果,但现实生活中往往会遇到小样本问题,此时深度学习方法无法入手,传统的机器学习方法就可以处理;
2. 有些领域,采用传统的简单的机器学习方法,可以很好地解决了,没必要非得用复杂的深度学习方法。
今日份学习笔记。
点击原文,查看已日更的500篇文章~