一、人工智能的发展
人工智能(Artificial Intelligence),重点在“智能”,既然是智能,那它具备判断和分析的能力,它是由人创造并服务于人的一种技术。
人工智能从1950年开始发展到今天,已经越渐成熟。我们可以将人工智能看作是最终的总目标,而机器学习则是实现这一目标的手段,我们可以通过机器学习这一个手段让机器也变得跟人一样有智慧。深度学习则是机器学习的一种方法,随着算力的提升,GPU和TPU的运用,深度学习也得以发展。
二、如何做到人工智能
1、机器智慧的来源
机器的智慧来源于两个方面:先天的本能和通过后天学习的手段表现的很有智慧。先天的本能是由设计者一开始就将其设计好的,后天的学习是极其重要的,它会使得机器显得更加智能和人性化。 例如,当我们需要假设有一天你想要做一个chat-bot,我们不是用机器学习的方式,而是给他天生的本能的话,这样就会变成社么样子呢? 我们可能就会在这个chat-bot里面设定一些规则,这些规则我们通常称hand-crafted rules,叫做人设定的规则。那假设你今天要设计一个机器人,他可以帮你打开或关掉音乐,那你的做法可能是这样:设立一条规则,就是写程序。如果输入的句子里面看到“turn off”这个词汇,那chat-bot要做的事情就是把音乐关掉。这个时候,你之后对chat-bot说,Please turn off the music 或can you turn off the music, Smart? 它就会帮你把音乐关掉。看起来好像很聪明。别人就会觉得果然这就是人工智慧。如果今天我们对它说please don‘t turn off the music,但是他还是会把音乐关掉。这种人工智能显然不是我们想要的人工智能。 当然,我们在使用hand-crafted rules的时候,也会暴露出许多的弊端。我们是无法考虑到所有的可能性的,我们使用hand-crafted rules创造的机器都是只有先天的本能的,而不具备后天的学习能力。这种机器就只能在特定的场景里面做特定的事情,显然并不能算的上是人工智能。
通过这两个例子我们可以发现,先天的本能并非是非重要,极其关键的应该是后天机器的学习能力,只有赋予机器极强的学习能力,人工智能才有可能超过人类,成为真正意义上的人工智能。
2、Machine Learning
在机器学习中我们最主要的任务就是找到一个合适的function,通过我们给这个function一些input从而得到output,进而实现一些功能。
机器学习主要分成三个步骤: 1、找到一个函数集 2、写出评价函数好坏的方程(这主要是用来训练模型) 3、选择一个最合适的方程
完成这三步将会是之后机器学习最重要的三个步骤。
三、机器学习的相关技术
1、Supervised Learning(监督学习)
supervised learning 需要大量的training data,这些training data告诉我们说,一个我们要找的function,它的input和output之间有什么样的关系而这种function的output,通常被叫做label(标签),也就是说,要使用supervised learning这样?种技 术,我们需要告诉机器,function的input和output分别是什么,而这种output通常是通过?工的方式标注出来的,因此也被称为人工标注的标签(label),它的缺点是需要大量的人力劳动(effort) Regression(回归) regression是machine learning的?个task,特点是通过regression找到的function,它的输出是?个scalar数值。 比如PM2.5的预测,给machine的training data是过去的PM2.5资料,而输出的是对未来PM2.5的预测数值,这就是一个典型的regression的问题。 Classification(分类) regression和classification的区别是,我们要机器输出的东西的类型是不?样的,在regression里机器输出的是scalar, 而classification又分为两类: Binary Classification(?元分类):在binary classification里,我们要机器输出的是yes or no。 比如G-mail的spam filtering(垃圾邮件过滤器),输?是邮件,输出是该邮件是否是垃圾邮件。 Multi-class classification(多元分类):在multi-class classification?,机器要做的是选择题,等于给他数个选项,每?个选项就是?个类别, 它要从数个类别??选择正确的类别 比如document classification(新闻文章分类),输?是一则新闻,输出是这个新闻属于哪?个类别(选项)
2、Semi-supervised Learning(半监督学习)
如果想要做一个区分猫和狗的function 手头上有少量的labeled data,它们标注了图片上哪只是猫哪只是狗;同时又有大量的unlabeleddata,它们仅仅只有猫和狗的图片,但没有标注去告诉机器哪只是猫哪只是狗。在Semi-supervised Learning的技术里面,这些没有labeled的data,对机器学习也是有帮助的。
3、Transfer Learning(迁移学习)
假如,我们还是做做猫和狗的分类问题,我们也一样只有少量的有labeled的data;但是我们现在有?量的不相干的data(不是猫和狗的图片,而是一些其他不相干的图片),在这些?量的data里面,它可能有label也可能没label。 Transfer Learning要解决的问题是,这一堆不相干的data可以对结果带来什么样的帮助,在迁移学习中我们可以减少data的用量
4、Unsupervised Learning(无监督学习)
与监督学习不同的是:在无监督模型中,data全部没有对应的label。我们给入模型大量的数据,让机器去学习,机器学到什么就是什么。
假设我们今天带机器去动物园让它看一大堆的动物,它能不能够在看了一大堆动物以后,它就学会自己创造一些动物。那这个都是真实例子。仔细看了大量的动物以后,它就可以自己的画一些狗出来。有眼睛长在身上的狗、还有乳牛狗等等。
4、Structured Learning(结构化学习)
顾名思义,在structured Learning里,我们要机器输出的是,一个有结构性的东西
举例来说,在语?识别的情境下,机器的输入是?个声音信号,输出是?个句子;句子是由许多词汇拼凑而成,它是一个有结构性的object。或者说机器翻译、人脸识别(标出不同的人的名称)
5、Reinforcement Learning(强化学习)
在Supervised Learning中,我们会告诉机器正确的答案是什么 ,其特点Learning from teacher 比如训练?个聊天机器?,告诉他如果使用者说了“Hello”,你就说“Hi”;如果使用者说了“Byebye”,你就说“Good bye”;就好像有?个家教在它的旁边手把手地教他每?件事情 而在Reinforcement Learning中:我们没有告诉机器正确的答案是什么,机器最终得到的只有一个分数,就 是它做的好还是不好,但他不知道自己到底哪里做的不好,他也没有正确的答案;很像真实社会中的学习,你没有一个正确的答案,你只知道自己是做得好还是不好。 比如训练?个聊天机器人,让它跟客人直接对话;如果客人勃然大怒把电话挂掉了,那机器就学到 一件事情,刚才做错了,它不知道自己哪里做错了,必须自己回去反省检讨到底要如何改进,比如 一开始不应该打招呼吗?还是中间不能骂脏话之类的。 其实在很多人都熟知的Alpha Go中就是用supervisedLearning+reinforcement Learning的方式去学习的,机器先是从棋谱学习,有棋谱就可以做supervised的学习;之后再做reinforcement Learning,机器的对手是另外一台机器,Alpha Go就是和自己下棋,然后不断的进步。
|