机器学习课程笔记一
狂狷 人气:0什么是人工智能?
对话是一个集大成的智能场景。语言是体现智能的一个很重要的方面,语言约等于智能,图灵测试就是基于语言的。 在生活中,我们的很多手机app已经应用了人工智能技术比如:人脸识别(图形处理),语音识别,个性化推荐,智能调度,机器翻译 人工智能技术已经深深的影响了我们的生活,我们已经无法想象没有人工智能的世界是什么样的了。
有两个问题是我们必须要思考的:
目前的人工智能发展到了什么程度?要发展到什么程度?
目前的人工智能技术还处于弱人工智能阶段,我们想要发展到什么地步呢?人们普遍的认为人工智能的发展目标就是造出与人一样的智能体,但是要更好的回答这个问题,我们首先要明白下面这个问题的答案是什么。
什么是智能?
举一个例子,一个连走路都还没有学会的婴儿与一个拥有很多功能的强大的机器人,我们往往会认为婴儿是有智能的,而机器人没有,为什么呢?
智能这个概念十分的模糊,有很多的争议,以下从两个要点,三个层次来解释什么是智能
两个要点
自适应能力:目前AI在一定程度内可以,知识迁移能力;AI的一个很重要的目标是实现通用人工智能 自我意识:“知道自己在做什么”,如何判断一个事物是否有自我意识?(这一点也是为什么很多人认为婴儿具有智能而机器人不具有,目前有着一种检测的方法就是照镜子)
三个层面
1.运算智能:数学运算
2.感知智能:视觉,听觉
目前已经基本解决,计算机视觉与语音识别方面的技术已经很成熟
3.认知智能:逻辑推理,知识理解,决策思考
语言是一个典型的,很重要的应用,语言是表示世界的一套符号系统,无论是各种自然语言还是数学语言,逻辑语言,编程语言,语言是认知智能的核心,如果我们无法表示这个世界,我们也就无法改变它
其他的重要应用还有表情识别,体态识别等
图灵测试
图灵测试是目前一个公认的判断一个机器是否具有智能的方法,其核心思想就是通过语言交流来判断机器是否拥有智能。
图灵测试可以判断一个机器是否具有智能,但其有效性是一个哲学层面的问题:假如一个AI真正有了智能,那么他是否可以假装不具有智能,从而欺骗人类。图灵测试有这个bug是因为其是一个行为主义测试,我们无法从内涵上定义智能,所以只能这么做(所以说图灵测试是一个务实的方法)。行为主义与结构主义,我们并不了解人脑的奥秘以及为什么会产生意识,所以结构主义的困难很大,目前的结构主义的模型的结果有神经网络。
如何制造人工智能?
制造人工智能分为两大流派:联结主义和行为主义
联结主义
联结主义即通过模仿制造一个完全相同的东西使其具有一个功能,在人工智能领域,其主要贡献就是人工神经网络,通过模拟人的大脑来实现智能,但是目前神经科学并不了解人的大脑为什么会产生意识,为什么会出现智能,我们对大脑本身了解的并不充分,所以想要模仿是不可能的。就算我们了解了大脑的结构,能够模仿,但是其成本也可能十分巨大而且效果也不一定好。人类的仿生学发展告诉我们,实现某一种功能并不一定需要完全相同的结构,只要其中遵循的原理相同即可,比如飞行,人类的一个梦想,我们最开始用机械结构模仿鸟的生理结构来制造飞行器,但后来发现行不通,但在我们掌握了空气动力学原理后,我们却可以造出与鸟类的结构大相径庭但飞行能力远远大于自然鸟类的飞行器。这一思想也就是行为主义。
行为主义
实现智能并不一定要完全的模仿人脑的结构,只要我们了解了智能的本质,我们就可以制造出更加强大的智能体。
要了解智能的本质,首先要明白思考是什么?是搜索?是学习?
1.思考即搜索
信息搜索/模型搜索(智能助理),智能的一大功能就是搜索,根据问题的需求在知识库进行搜索,我们的大脑的机制我们还不了解
WATSON 的机制 自然语言处理+信息搜索
搜索需要一个很好的知识库,网络资源混杂,相当于“垃圾”,目前的搜索引擎已经能够很好的做到信息筛选;知识图谱+匹配技术,就可以利用搜索实现智能。
搜索:在已有的知识中找到答案
知识从哪里来?
学习:发现新的知识
学习:什么是知识?
知识就是信息中的模式(pattern),模式识别(人工智能研究的上游),模式是什么:信息或对象之间的稳定的关联关系。比如三角形中三条边的关系,语言中的语法(不同词汇之间的关系),物理定律(不同物理变量之间的关系)
当你在进行决策时,你是对自己脑中的模式进行处理,脑中的模式(世界观)反应了客观世界,也就是你的认知水平,其决定了你的决策水平。
学习就是归纳模式的过程(为什么模式识别这么重要?)
2.思考即学习
什么是模型?模型就是对模式的猜测。模型不是算法,算法基于模型
整个科学研究都在寻找模式,1.确定你的研究目标,2.搜集数据(实验),3.猜测模型(尽量贴合实验结果,大部分情况得先猜测一个),4.根据数据将模型尽可能确定下来
机器学习就是将科研自动化
机器学习的基本框架
1.一系列可能函数(模型)2.选出最好的函数3.训练数据
有监督学习:标记数据需要大量人工,很多时候没有相关的知识(目前最好的模型基本是有监督模型,中国的人口优势使得其可能成为人工智能强国)
无监督学习:模型自己总结出类别(一开始没有类别,类别本身也是一种知识)
半监督学习:模型需根据标注数据完善未标注数据
强化学习:间接“标记”,给很多步一个评价,比如棋局的输赢,训练猫狗(在一系列动作后给予反馈),强化学习是一个反复的过程,有监督学习一次就可以学完,给予少量数据形成模型,用模型输出然后得到反馈,然后不断对模型进行修改强化。
基于规则的模型:由人定义特征及其与输出之间的关系
基于统计的模型:人定义特征,由模型确定特征与输出之间的关系(特征非常重要:灌水论文,随便选特征看效果;工业领域蒙特征很重要,《特征工程》)
更智能一点?
深度学习模型:端到端模型,数据到数据;不用定义特征,其可以自动发现特征(我们自己的认知可能会有缺陷),模型确定原始数据与输出之间的关系
为什么深度学习这么厉害?
深度学习可以自己发现特征,其采用多层人工神经网络,深度深在层次上,广度和深度那个更好?越深越能发现复杂的特征(尽管其计算代价很大,有过拟合的风险)
人工智能的一些重要问题
深度学习这么厉害,我们可以一劳永逸吗?不行
人工标记(劳动密集型),人工选特征(很难),选模型(很难,一半靠蒙)
什么是好的模型? 泛化能力&性能
好的模型就是再泛化能力与性能之间寻求一个平衡
太极阴阳,工程图纸
太极阴阳:描述性十分强,泛化能力强,但精确度与可计算性十分差 欠拟合模型
工程图纸:泛化能力差,描述性差,具体可计算 过拟合模型
再比如大学中的哲学类课程提供了欠拟合模型,过细的专业课则是过拟合模型,我们要想构建更好的认识世界的模型(世界观),还得自学大量的知识
模型的复杂度越高,越容易过拟合(ppt上图片十分重要),太简单或太复杂都不可以,机器学习的技巧性就体现在找最佳VC维,使得模型在泛化能力与性能之间达到一个平衡
为了避免过拟合,就有了开发集这一概念
数据集:训练集,测试集(使用次数越少越好),开发集(使用次数不限)
模型训练中使用开发集做评估,其使用的次数不限,但在模型投入应用前,要用测试集进行一次评估,测试集的评估结果大概率能反映模型的真实水平,因为对测试集的使用次数做了限制,所以模型在测试集上出现过拟合的概率很小。
另外一种方法是大家共同维护一个数据集用于测试,即公共数据集
公共数据集的代表性,质量比较高;不同的模型比较也更加公平
(刷榜问题,依然会过拟合:刷榜指的是公共数据集上好的模型会被其他团队所借鉴,坏的模型逐渐被淘汰,最后多个团队实际在进行一场接力赛,即最好的模型被不断的加强,不断的贴近公共数据集,这样依然会发生过拟合问题)
过拟合问题看起来很简单,但实际很难解决
“成功是最大的失败”(当这个时代变化时,成功者会更加固执的坚持自己的固有经验,更不愿意做出改变)
工程应用由于成本限制,往往先从简单的模型开始(比如基于规则的模型),如果简单的模型效果不好,再尝试更为复杂的模型(比如深度学习模型),以下三种模型按简单到复杂的顺序排列
基于规则的模型:问题简单,拥有大量已有知识
基于统计的模型:数据量不大,有一些明确特征
深度学习模型:没有先验知识,没有明确特征,数据量大,算力高
并不是所有问题都适合用深度学习模型,其必须满足应用的条件;尤其是数据噪音大的时候更不应该用深度学习,因为其对噪音很敏感,这种情况下简单的模型由于对噪声的敏感度低,效果反而更好。
世界知识
基于知识,常识的机器学习。世界知识给机器学习提供辅助功能
在生活中,很多知识离不开具体的场景与背景知识,比如“杭州市长春药店”,如果没有背景知识,很有可能断句错误闹笑话。机器学习也需要大量的这种背景知识,这种背景知识支持,辅助学习过程,其被称为背景知识。
小样本学习
人往往需要很少的数据就可以掌握知识(比如人类儿童对语言的学习),实现小样本学习实际上借用了外部知识(世界知识),人类很多小样本学习可以用此解释,除过儿童学习语言(目前的猜想是人的大脑都有本身存储的知识,拥有所有自然语言的一个高度抽象,这些知识存储在我们的基因之中)
To be continued >>>>
加载全部内容