首先明确人工智能,机器学习,深度学习之间的关系:
机器学习
机器学习这个术语是1959年IMB公司的亚瑟·赛缪尔提出的:
Field of study that gives computers the ability to learn without being explicitly programmed.
机器学习研究和构建的是一种特殊算法(而非某一个特定的算法),能够让计算机自己在数据中学习从而进行预测。
什么是“学习”?学习就是人类通过观察、积累经验,掌握某项技能或能力。
机器学习的基本思路
- 把现实生活中的问题抽象成数学模型
- 利用数学方法对这个数学模型进行求解,从而解决问题
- 评估这个数学模型,是否真正的解决了问题,解决的如何?
不是所有问题都可以转换成数学问题的。那些没有办法转换的现实问题 AI 就没有办法解决。同时最难的部分也就是把现实问题转换为数学问题这一步。
机器学习的原理
假如我们正在教小朋友识字(一、二、三)。我们首先会拿出3张卡片,然后便让小朋友看卡片,一边说“一条横线的是一、两条横线的是二、三条横线的是三”。
不断重复上面的过程,小朋友的大脑就在不停的学习。
当重复的次数足够多时,小朋友就学会了一个新技能——认识汉字:一、二、三。
我们用上面人类的学习过程来类比机器学习。机器学习跟上面提到的人类学习过程很相似。
- 上面提到的认字的卡片在机器学习中叫——训练集
- 上面提到的“一条横线,两条横线”这种区分不同汉字的属性叫——特征
- 小朋友不断学习的过程叫——建模
- 学会了识字后总结出来的规律叫——模型
通过训练集,不断识别特征,不断建模,最后形成有效的模型,这个过程就叫“机器学习”!
监督学习、非监督学习、自监督学习、强化学习
机器学习训练方法大致有三种
- 监督学习
- 非监督学习
- 自监督学习
- 强化学习
监督学习
监督学习(有监督学习 )是对有标签的数据集(有正确答案)进行建模,再用模型对新的数据样本进行分类或者回归分析的机器学习算法。机器总结自己的方法论,学会后来解答问题。
无监督学习
无监督学习(非监督式学习) 是对没有标签的数据集(无正确答案)进行建模,再用模型对新的数据样本进行分类或者回归分析的机器学习算法。无监督学习的任务是从给定的数据集中,挖掘出潜在的结构。
ps: 除了监督非监督还有“半监督学习”,指数据样本有部分(少量)标签。
自监督学习
自监督学习是监督学习的一个特例,它与众不同,值得单独归为一类。自监督学习是没有
人工标注的标签的监督学习,你可以将它看作没有人类参与的监督学习。标签仍然存在(因为总要有什么东西来监督学习过程),但它们是从输人数据中生成的,通常是使用启发式算法生成的。
举例场景:数据生成任务(图片色彩恢复
强化学习
趋向结果则奖励,偏离结果则惩罚。一种决定下一步行动方案的机器学习任务,它通过试错学习(trial and error learning)来实现这一目标,努力使reward回报最大化。
以游戏为例,如果在游戏中采取某种策略可以取得较高的得分,那么就进一步「强化」这种策略,以期继续取得较好的结果。
强化学习和监督学习、无监督学习 最大的不同就是不需要大量的“数据喂养”。而是通过自己不停的尝试来学会某些技能。
应用场景:游戏,机器人
监督学习和无监督学习区别
- 监督学习是一种目的明确的训练方式,你知道得到的是什么;而无监督学习则是没有明确目的的训练方式,你无法提前知道结果是什么。
- 监督学习需要给数据打标签;而无监督学习不需要给数据打标签。
- 无监督学习几乎无法量化效果如何。
机器学习操作流程
机器学习在实际操作层面一共分为以下步骤:
- 确定目标
- 数据准备 - 收集/清洗/处理数据,是否为监督学习也体现在这个步骤
- 建立模型 - 选择适合解决当前问题的模型
- 训练 - 机器独立完成
- 评估 - 评估的指标主要有 准确率、召回率、F值。
- 模型应用
深度学习
深度学习类似于一个水流系统,假设深度学习要处理的信息是“水流”,而处理数据的深度学习网络是一个由管道和阀门组成的巨大水管网络。
网络的入口是若干管道开口,网络的出口也是若干管道开口。
这个水管网络有许多层,每一层由许多个可以控制水流流向与流量的调节阀(neurons 神经元)。根据不同任务的需要,水管网络的层数(HIDDEN LAYERS 隐藏层)、每层的调节阀数量可以有不同的变化组合。对复杂任务来说,调节阀的总数可以成千上万甚至更多。水管网络中,每一层的每个调节阀都通过水管与下一层的所有调节阀连接起来,组成一个从前到后,逐层完全连通的水流系统。
比如先输入:田 ->
把每一张写有“田”字的图片(训练集)变成一大堆数字组成的水流,进入管道,计算机跑到管道出口查看是否标记“田”字管道流出来的水最多,如果是,那么管道网络符合要求;如果不是,继续调节管道阀门,直至让“田”字出口“流出”的水最多。
再输入:申 ->
我们就用类似的方法,将“申”字灌进水管网络,看一看,是不是写有“申”字的那个管道出口流水最多,如果不是,我们还得再调整所有的阀门。这一次,要既保证刚才学过的“田”字不受影响,也要保证新的“申”字可以被正确处理。
如此反复进行,直到所有汉字对应的水流都可以按照期望的方式流过整个水管网络。这时,我们就说,这个水管网络是一个训练好的深度学习模型了。
深度学习大致就是这么一个用人类的数学知识与计算机算法构建起来的整体架构,再结合尽可能多的训练数据以及计算机的大规模运算能力去调节内部参数,尽可能逼近问题目标的半理论、半经验的建模方式。
传统机器学习和深度学习的区别
相似点:
数据准备和预处理方面,两者相似,都会进行数据清洗,数据标签,归一化等操作。
核心区别:
特征提取 - 传统机器学习的特征提取主要依赖人工,而深度学习的特征提取并不依靠人工。
传统机器学习的特征提取主要依赖人工,针对特定简单任务的时候人工提取特征会简单有效,但是并不能通用。
深度学习的特征提取并不依靠人工,而是机器自动提取的。这也是为什么大家都说深度学习的可解释性很差,因为有时候深度学习虽然能有好的表现,但是我们并不知道他的原理是什么。
举例说明:
假如我们拿出很多风景照,让机器区分出哪些是绿植风景照?
深度学习:
图片直接输入到模型,机器负责特征提取,并且对特征进行分类,最后输出概率值。对于深度学习方式而言,我们在预测一张图的分类时,只需要将图片传给模型,然后在模型的输出端就可以直接得到它所属分类的概率值。这种全自动、无需人工干预的工作方式就是“端到端”(End-To-End)的方式。
传统机器学习:
绿植风景照大部分都是绿色,和其他图片在像素颜色分布上有很大差异,因此我们可以选取‘颜色分布’来做为解决任务的图像特征,可以采用‘颜色直方图’的方式去生成每张图片的特征向量值,我们再用这些特征向量训练机器学习模型。
颜色直方图简单理解就是统计图片中每种颜色所占比例,RGB图片每个通道颜色值在0-255之间
总结
深度学习在解决问题的时候采用‘端到端’的全自动模式,中间无需人为干预,能够自动从原有数据中提取到有利于解决问题的特征,该部分原理相对来讲‘可解释性弱’。
对于传统机器学习来讲,一个很重要的工作就是提取特征工程,我们必须人工筛选(挑选)什么特征有利于问题的解决,比如上面的例子,像素颜色分布就是一个很好的特征,同时我们还需要人工去提取这些特征,这部分原理相对来讲‘可解释性更强’。但对于特征工程这块工作而言,它对人工专业性要求较高,因为对于稍微复杂的问题,很难识别出数据集的哪些特征有利于解决问题,尤其像图片、语音、文本等等非结构化数据。
数据和特征决定机器学习的上限,而模型和算法只是逼近这个上限。
参考资料
Knowledge Base 归档 - 产品经理的人工智能学习库 (easyai.tech)
Comments (暂无评论)