02. 人工智能核心基础 - 导论(1)

2023/09/27閱讀時間約 23 分鐘

raw-image

Hi,你好。我是茶桁。

非常开心能够和再次见面,能够和大家一起来学习人工智能的这个课程部分。接下来我会给大家一个既内容充实又包含了一点点难度的这样的一个课程。

我希望上完我的课程之后,能够有所收获。能够收获到自己看本课程时期望的目标。

我们首先要有一个信任,你相信我基本上常见的我都是遇到过的。我能帮你解决这些问题,我的这个课程比起市面上其他的这个课程有什么特点呢?首先是我自己有11年的Python编程经历,就今年2023年正好是11年。

Python当时在我开始学的时候,是一个非常非常小众的语言。我还记得,但是似乎Ruby都比Python稍微要热一点,现在Ruby和Python比当然差了很多,可是那个时候,因为一样的特性这两者被对比的很多。

第二,从我开始系统的学习,到做研究,到做项目开始,有9年的时间,在企业里的工作经历6年时间。

什么是人工智能

What is artificial intelligence?

raw-image

接下来是一些关于学习的一些建议。这第一节课,我要跟大家带来一个很很重要的内容,就是我们这个课程叫做人工智能课程,那么咱们需要花费一些篇幅,来搞定的一个问题,就是人工智能到底是什么。

你有没有想过人工智能是什么?这个世界上现在对于人工智能到底是什么

几乎可以说每一个人的定义都不一样。不同的人,每一个同学其实都有一个自己的认识,每一个人其实对于人工智能的定义其实都不太一样。

我们可能在整个生活中会看到很多和人工智能相关的东西,例如openAI的ChatGPT,Google的Bard,百度的文心一言,微软的New Bing。再比如说美国NASA发射火星车。

日本,还有法国人经常会做这种拟人的机器人,当然有些电影里面会有类似于终结者这样的东西。

波士顿Dynamic他们会出这个机器狗,还有AlphaGo、无人驾驶、语音识别,还有面部识别。

而目前,人工智能的其中一个分之,也就是生成式人工智能火的一塌糊涂是吧。

就这些东西,你会发现我们都把它叫做人工智能。但是你仔细看起来,好像这些东西的区别每个又很大。为什么我们把它都叫做人工智能呢?他们之间的共同性是什么呢?

有些科学家用iPad去自动监测水稻的整个生长,你会发现在这个过程中好像没有任何机器人相关的东西。但是我们也把它叫做人工智能。那人工智能到底是什么呢?

首先我想给大家一个很客观的说法,大家一定要知道你现在学的是一个前沿知识,所以大家一定要抱着一个很开放的心理。目前没有一个公认的对于人工智能的定义,整个人工智能,整个AI其实是有不同的学派,是有不同的争论的。

这个对于我们整个东亚教育体系的学生来说可能比较难以接受,这个就是咱们从小学的东西往往都是有标准答案的,基本上课本上的东西不容置疑。学一个东西往往刚开始的时候学的是什么什么的定义。

比方生态循环定义是什,动量的定义是什么。但是当我们如果说现在学的是一个研究生课程或者博士课程,你要特别习惯的一个点就是有很多很多很重要的内容,其实这个世界上是没有标准化定义的。

例如说很火的基因工程。那么什么是基因,其实不同的学派他们的定义是不一样的,在有些学派里,这个东西是基因,有些就不是。

现在的复杂系统。什么东西是系统?在不同的学派都不一样。

所以今天我们会带着大家从各个维度来理解一下人工智能,但是不会给他一个精确的完整的定义。因为人工智能在不同的时间段,在不同的学派,它的定义是不一样的。

There is no definition accepted by all the researchers or engineers.

当你上完课程,如果你发现你听到了两个关于AI的定义或说法,你只要知道他们其实是不同的人在不同的时刻,不同的问题场景下对于这个东西所做的定义,你要理解他们。

在咱们整个学习的过程中,从今天开始,你以后要学习到的这些知识,大家一定要知道。

我第一节课要给大家知道的一点就是,你学的东西很有可能之后是会变的,之后是会过时的。而且你学的这个东西很有可能再过几年他会被人认为提出来是错的。

之所以会产生这样的问题不是因为你当时学错了,而是因为你现在学的是一个比较前沿的东西,整个科学的进步。

大家可以去看一下有一段关于Steven Hawking当时还活着的时候的一段采访。他说我们做的事情就是不断的推翻前人的工作,并且等着我们的工作被后人推翻。这就是做前沿的事情所面临的一个问题。

所以大家一定要保持心态的开放,我发现我们做程序员出身的同学,很多同学比较固执。比方说有的同学会争到底学Java好还是学C++好,到底学PHP好还是JS好啊等等。什么Python就怎么怎么样。

就互相争,这个争论其实完全没有必要啊。你们不知道PHP宇宙无敌吗?

如果想成为一个真正优秀的人,一定要保持一个开放的心。我给大家分享一个概念,是道德经的前两句话,这个可能很多同学都听过,但是呢多同学不理解他是什么意思。

raw-image

所谓「道可道 非常道」,这个道可道是什么意思呢?就是如果一个道理它可以被说出来,那么它就不是一个固定的道理。如果一个道理可以被人说出来,那么他肯定就有另外一种说法,肯定不是永久的道理。

如果一个东西我们给他给了一个名字,我们是可以说出来的,这个名也是可以说出来的意思。如果有一个可以讲出来的名字,那么它也不会是一个固定的名字。就好比一个人,你能够给他起一个名字,一个东西你能够给他起一个名字,就能够给他换另外一个名字。

同学在这个过程中,第一节课我想多次跟大家强调的就是:要理解并接受这个世界的复杂性,以多维度多角度观察问题,切忌固步自封。

我为什么要跟大家来讲这些事情呢?有的同学说,你讲这些东西但没有用啊。我要年薪十几万二十几万,我想年薪四五十万,我想年薪赶快过百万,年薪千万。你给我讲讲怎么年薪四五十万,百万千万别扯这些闲的。

其实我想跟大家说的是,一个人如果你想突破自己现有的边界,想从一个月一万多、两万多到一个月四、五万,五、六万,甚至一个月平均下来能挣十几万二十几万,年薪百、万千万来说,这个时候重要的是你一定要能博采众长。

在我们AI的这个行业更是这样。就是你要能知道你学的这个东西是会变的,不要死板的去动他。那么这个时候就会有一个问题,我们在这个课程上学什么呢?

我们在课程上学的大家更应该关注的是那些不变的东西,例如我给大家就是讲CNN结构的时候,大家就一定要跟着我去思考,为什么当时人们提出来了CNN,CNN比起其他网络它到底解决了之前哪些不能解决的问题?它到底它的原理是什么?

只有你理解了为什么,那么当他之后出现新的东西的时候你也知道他改了哪些东西,你也更能跟上这个时代的变化。切记死记硬背。

我们把基础课上完之后,把基础东西掌握了。现在我跟你说很多东西可能你也不理解其中到底是什么意思,先把基础课上完。然后会有专门的时间给大家介绍。

虽然现在整个人工智能没有一个统一的定义,但是我们可以从不同的维度来给大家做一个分析。

从时间维度来讲

首先从时间维度上来分析。

最早最早的时候提出来人工智能,有的同学说可以把这个时间都扯到中国的伏羲啊、阴阳啊、八卦算盘。就有人说AI、人工智能最早是中国的伏羲氏当时提的。什么阴阳变化啊各种定制。这个无从考证。

因为伏羲确实自己也没有留下什么可验证的东西,我们说一下可验证的东西。最接近的,最早是一个叫做图灵的人,当时提出来了一个问题叫做Can Machines think,机器们能思考吗?

raw-image
raw-image
raw-image

他在这个过程中讨论了一个问题,就是如何实现机器的智能化与自动化。在这篇文章里面他做了一个定义,机器如果有智能,如果能思考我们怎么去检测它。

在此之前其实图灵还做了一件很重要的事情,它提出来一个东西叫做图灵机,图灵机是一个什么东西呢?他是图灵在数学上证明了,如果我们能够在一个有限的带子上有一个状态,然后我们还有一个东西可以去读取他的状态。我们还有一些固定的操作,注意是固定的操作,这样的一台机器可以执行所有的运算,加减乘除,积分、微分,平方、开方等等。他证明了这样的一个简单东西可以执行所有的运算。除了他不能自动判断是否停机问题。

就是除了机器不能自动判断它是不是要停,除此之外它能够计算所有的计算。这是当年图灵提出来了一种机器叫做图灵机,他在理论上奠定了现代计算机的基础。

有的同学看完原始的文章后说这图灵机也太简单了吧,但图灵之所以厉害的地方就在于,你看一看我们学过的数学书、物理书、化学书,你就知道我们学过的计算有多少了,他把那么多复杂的计算变成了一个极其简单的模型。

把极其复杂的东西变成非常非常简单的东西,这才是需要非常大的智慧的。后来做完了图灵机,图灵又开始去思考机器能计算,到底能不能思考呢?当时这个文章写的很长,大家去去可以读他的原文。

图灵就提出一个很著名的测试,我们如何去测试机器有没有智慧。他给出了一个比较可行的方案,当时是说一个人在屋子外边,对面有两个屋子,其中一个屋子里也是一个人,另外一个屋子是一个机器。但是对于外边的这个人他不知道里边到底哪边是人,哪边是机器。屋外这个人可以给门缝里面去递一些那个纸条,给1和2递一些纸条。

当然那个图灵并不知道后来人们发明了互联网,可以直接打字。他当时还不知道有互联网这个东西。如果外边这个人他分不清楚里边这个人到底是人还是机器,我们就可以说对面的机器是有智慧的。

比方说他可以问对面啊一个非常复杂的数字。如果机器有智慧的话,按照图灵的理解是他会假装很复杂,虽然瞬间可以算出来,但是他会假装一下。或者他会问一些问题,比方说你吃了吗?你今天觉得这个天气怎么样啊?对或者问他一些哲学问题,比方说你觉得我们有自由意识吗等等。结果就是如果当外面的人发现他不能判断里边到底是人还是机器的时候,我们就说是有智慧的。

图灵当时提出来了图灵机和图灵测试,大家发现图灵想的东西都非常的高屋建领似得。他没有造出来任何机器。

在整个人工智能及计算机的历史上,有一个非常著名的人叫做冯诺伊曼。这个人把图灵提出来的计算模型,纸带加上一个读取物,再加上有线操作员,变成了一台机器。

raw-image

raw-image

这台机器通过电子管,电线连接起来,变成了一种真的能运行的机器。这种机器呢就叫做冯诺伊曼体系结构的机器。

raw-image

这台机器当时在整个第二次世界大战中起到了非常著名重要的作用,世界第一台原子弹和它有密不可分的关系。就是刚才那个纸带,如果说我们要图灵机能够做出来真正可运行的,其实就是变成冯诺伊曼这样的结构,它变成了我们日后真正能运行的机器的基础。

后来到一九五几年,第二次世界大战结束,有一群很年轻的科学家就集中在一起提出来了一个单词,这个时候呢就有一个单词在一个词组,在人类的历史长河中被提出来就叫做:Artificial Intelligence,当时叫做Every aspect of learning or any other feature of intelligence can be so precisely described that a machine can be made to simulate it.

raw-image

什么意思呢?只要一种intelligence能够被表述,那么这个机器就能够去模仿它。当时一九五几年的时候,人们对人工智能,对于我们的这种intelligence feature,比方说我们的眼睛看东西、人说话。大家觉得这种能力可能一二十年机器就可以做好。

因为当时人们制造出来原子弹,就觉得人类已经厉害的不行了。还有准备阿波罗登月等等。那个时候,就觉得人类已经非常非常厉害了。但是呢人们发现这件事情非常非常的困难,直到2016年才有了一些进展。

当年的这个会议,提出人工智能的会议,大家可以看到都是很年轻的科学家,都是二十几岁哎30岁左右的。

raw-image

我一出镜有同学说,好年轻啊。其实我比起他们来说年龄已经算大了。大家一定要知道,所有的科学技术,高产期高分期一定是很年轻的时候,那个时候人的思维最活跃。在这些科学家里边,每一个人都成为了世界顶尖的计算机科学家。而且里面还有一个非常著名的人,克劳德·艾尔伍德·香农就在这里,香农后来是成为了我们信息论整个的开山鼻祖。

我们现在每天说3G、4G、5G,我们每天用的互联网,其实都离不开香农的工作。

后来到一九六几年,人们提出来了一个非常简单的模型,这个模型叫做Perceptron, 感知器。

Perceptron book showed that linear models could not solve XOR (Minsky / Papert) 1969, first AI winter.

raw-image

感知器是最早的类似于现在的深度学习,但是他和现在深度学习还是有比较大的区别。他提出来了这样的一种东西,就是通过我们的简单的线性和非线性,简单线性变化,能够去拟合出一些函数。而且能够对我们的一些问题进行分割。

但是有数学家和计算机科学家就证明了,这种感知器模型连最简单的逻辑上的异或关系都解决不了。

什么叫做逻辑上的异或关系呢?

raw-image

我们来看一下这张图左边的坐标轴,坐标轴X1轴是0,1, X2也有0,1。

假如我们现在有逻辑上的and,逻辑上的or,逻辑上的not。

如果是and的话,0和0是不是就是0,0和1的话就是0,1和1就是1,0和1就是0。

raw-image

在数学上这种Perceptron其实它是类似于 \Sigma_{W_i X_i},其实它是一种线性变化。

线性变化的话它可以做线性分割,比方说and,就可以线性的去把这个数据分割了。or其实也可以, not其实也可以。大家可以下来之后自己查一下。

但是人们就发现像这种异或关系,怎么样机器都是不能去解决的。就是你不能画一条线,把加号和减号给他分割开。在这是非常基本的一个逻辑操作。

人们就说这玩意连这个都解决不了,你还能干啥。后来人们就发现这个其实是希望通过函数拟合来解决我们的问题,希望通过函数拟合来解决类似于分类等等这种问题,类似于通过函数拟合来解决逻辑问题。

这部分听不懂没关系,因为这个方法现在已经不用了。你只要能知道一九六几年的时候人们已经提出来了一个和现在的深度学习模型比较相似的东西。但是后来他就不行了,因为他解决不了一些很基本的问题,就可以了。

后来从一九六几年开始,人们就把AI的这个问题转向了通过符号和逻辑运算,这是一九七几年八几年的时候最重要的一个方法。

Changed AI research to Symbols and Logics.

然后在1980年到1990年的时候,开始有一个人,这个人是2019年获得图灵奖的一个作者,叫做Hinton。

Backpropagation, statistical learning, 1980s ~ 1990s

Hinton当时在美国加利福尼亚圣地亚哥分校的脑科学认知科学实验室,当时就发现我们可以通过一种叫做反向传播的东西,再加上非线性变化来拟合复杂函数。

raw-image

我们梳理一下时间段,一九三几年的时候图灵提出来了我们可以有一种机器,他可以执行各种各样的运算。一九四几年、五几年冯诺依曼就做出来了真的能计算的机器,一九五几年的时候提出来人工智能到底是不是模仿我们各种可以定义的intelligence的特征。 后来人们就提出来了一种Perceptron能够拟合简单函数。但是后来发现它其实连一些最基本的逻辑运算都做不了。到一九六几年,AI有一个很重要的一个学派,现在这个学派其实也有很多人,只不过现在它不活跃了。就是此起彼伏,整个学派不活跃了。这个学派就是基于Symbols和Logics演算的。

到1980年有一个人叫做Hinton,他当时就提出来可以通过一种叫做反向传播的方法来拟合复杂函数。

而同期,也是一九八几年,有一个很年轻的博士生,现在呢也是一个大佬了。这个人估计国内很多人都会比较熟悉,这个当时很年轻的博士生叫做李开复,他提出来一个东西,他的论文叫做一种能够自动识别语音的系统。

raw-image

当时人们发现用Perceptron,类似于函数拟合这种东西是解决不了AI的问题。人们把它变成了逻辑和推演问题,一九七几年、八几年的时候人们解决AI的问题是怎么解决的呢?比方说咱们现在输入了一段语音,机器要把这段语音到底是什么内容给他翻译出来。比方说这段语音我们听起来可能是「你好吗」,也有可能呢机器可能认为说是「泥耗马」,也有可能是「你好嘛」。

当时摆在这些科学家面前的问题是,人们其实已经能够通过语音来把它转变成以上三种的内容,就这些文字都可以转化出来。但是大家不知道,我让机器怎么能够「自动」,怎么样能够自动的去识别出来到底是1、2还是3。

当时大家真的很恼火,就是做不出来。在全世界来说,大家都是在做什么语法分析,还定义了各种语法。大家学过那个英语语法吗?就是定义了很多语法规则,语法术。大家希望通过这些去解决,结果当时这个语法规则是越做越复杂,语言的特例实在是太多了。

后来人们就发现李开复提出来一个方法,就是他基于概率来做这件事情。怎么基于概率来做这件事情呢?

在李开复之前人们如何判断这句话对还是错,这句话为什么错,因为他不符合语法规范,因为他怎么怎么样一大堆。

但对于李开复来说他并不会说这个话真的就错了,其实这个话人家也有可能对。

举个例子,你像这个「泥耗马」,那现在很多网络用语里一些奇奇怪怪的用语和这个「泥耗马」很类似,也许其实这个「泥耗马」就是对的。

所以说,这些话其实并不能就给他打个对错,而是要判断它的概率。类似于我们在基于语境,放在网络上一句话是正确的,放在考试里大概率就是错误的。

李开复当时是怎么判断的?他的核心思想很简单,咱们不是有很多书籍吗?有很多文章,你给他统计一下,比方说,你可以统计出来这么多书里边「你好」出现了多少次,「吗」出现了多少次,「你好吗」出现多少次。

那么这个你好吗,这句话的概率它就等于:P(你好|吗)P(吗)。这是不是就是一个条件概率啊?之前仔细看了我数学篇的同学对于这个公式应该就非常熟悉了对吧?

「你好吗」的概率可以通过在文本中数个数来知道,你给我10万本书我给你数一遍,「吗」字也可以数出来。这样做结果就是我们把之前非常复杂的计算方式变成了数数就能解决的问题。其实数数就是我们的统计问题,统计本质上就是数数。

就上面这两篇论文,把我们的整个AI从以前的符号分解,带到了我们的神经网络加上统计学这样的一个过程中。

后来发展到了1998年,有了一个真正的能解决实际问题的AI程序了。看起来很复杂的一个视觉上的程序,解决自动识别问题。

raw-image

0123456789,手写字母识别。当时是杨立坤使用一种叫做CNN的网络解决了0-9之间,识别手写数字的问题。大家就对它越来越有信心了,但是当时是又由于我们的计算能力和我们的数据量,之后大家知道这种CNN,神经网络其实特别需要计算力和训练数据的数据量,导致没有大规模去应用。

时间到了2015年,准确的说最重要的是2012年。当时有一个叫做image net这样的比赛,image net有1,000多万张图片,有1,000多类,让大家自己去做图片分类。

raw-image

当时2010年的时候图片分类的TOP5的错误率有将近30%,TOP5的错误率是什么意思?就是我也不指望你全说对,你给出5个可能的选项,其中有一个对了就算你对,这叫TOP5。

就是你给5个,只要里边有一个对了就算你对。当时的正确率也只有72%。

如果你要按TOP0啊TOP1的话,那估计就错误率能超过50%。这是咱们2010年时候的情况,就很差。

其实从08年之前大家一直也都在尝试,基本上是每一年能前进1%,最多2%。所以在2010年的时候,当时有一些科学家预言人工智能能在实际生活中落地大约在2040年左右。为啥呢?你看这个错误率是不是30%,2010加30就是2040年代。就按照这个速度,都是每一年前进一个百分点,两个百分点。

结果到了2012年这个错误率基本上相当于是拦腰折断了。

raw-image

是一个科学家的学生用了一种模型,这个模型就叫做深度神经网络。他的错误率直接下降到了16%,拦腰折断。后来从2012年之后每一年的错误率都迅速下降,到了2015年的时候错误率已经低于人类、低于人眼了。人其实也会犯错误。2015年的时候准确度已经达到99.7%,低于人类了。

那这个时候是不是就意味计算机在识别物体的这件事情上已经低于人类?是不是就能意味着他有可能能商用了?真正的计算机在我们国家开始大规模应用落地,开始蓬勃爆发其实也就是产生在2016、17年。

你现在回忆一下,在8年前,如果是春运的时候,比如像北京西站杭州东站成都东站这种大站,郑州站这种,是不他临时会在外面安排很多检票员,二三十个。

北京机场很夸张,每年那个时候会有30多个临时检票窗口,有30多个人在那里检票检测。

但现在,坐高铁的话全部都是身份证自动比对了。大家知道,就是对于我们的孩子来说,他就觉得这是很正常的一件事情,身份证放到这边然后人脸识别直接通过。但其实就在8年前,这件事情还是做不到的,还得有一个人在那里吭哧吭哧在那检查。

这就是我们其实我们是亲眼见证、感受了这个时代,从2012年到现在真的产生这样大的变化。

raw-image

当时,2012年带队的这个科学家叫做Alex,他就是刚才我们提过的Hinton的学生。Alex做了什么事情呢?他把我们刚才提到的1998年的那个网络做了优化,做了分布式。

然后在这个时候,硬件和数据已经都OK了,所以他改动之后取得了当时的世界第一,在人类的科学进步史上留下了不可磨灭的作用。

2016年又发生了一件很重要的事情,当时一个叫做Deepmind的公司要挑战当时的职业围棋九段。

围棋这件事情在整个人类的所有的游戏中是公认的难度最大的,就当年的IBM可以下赢国际象棋,但他就是下不赢围棋。甚至有科学家证明了围棋这件事情在现有的计算体系下是无法被解决的。

但是Deepmind这个公司的首席科学家就说,为什么人类要这么痴迷于游戏呢?是因为游戏其实是对我们现实世界问题的一种抽象和简化,而围棋是所有的游戏中对人类的这个世界抽象简化程度最为相似的,所以它的难度也是最大的。

在Deepmind之前,世界上最先进的人工智能程序都不能打败职业的初段的选手,结果AlphaGo要挑战。Deepmind要挑战的是李世石,一个职业九段。这个我不得不佩服一下,我们不得不佩服谷歌的这个公关能力、市场能力。

他为什么当时这个比赛要去选李世石呢?其实当时李世石不是世界排名第一的棋手,当时排名世界第一的是柯洁,也是中国的年轻人。但是李世石是柯洁之前的世界第一,李世石当时年龄已经大了,但是因为李世石是柯洁之前当了好多年的世界第一,所以李世石在全世界来说名气更大。

raw-image

围棋选手都是黄金期就那么几年,他现在年龄稍微大了,脑子又跟不上了,人又是职业九段,名气又大,难度又不是最大的。所以说,谷歌当时就搞了这么个东西。结果赢了,赢了之后他们就发现,就说这东西都是很机械的,都不是智慧。

人们一直说围棋是智慧,因为里面有推理,感觉有分析、有逻辑。AlphaGo当时的成功其实就证明了我们现有的这个计算机科学,整个人工智能能解决推理问题。这也是非常非常重要的一个操作。

后来到了2019年开始,我们会发现一个叫做Alot的概念被广泛接受,所有的工厂,所有的东西都有了AI的智能化。

raw-image

在十几年前我们有人提物联网,大家会觉得是个很遥远的事情。但是大家想一下,你最近有没有骑那个共享单车啊?有没有用滴滴打车去打车?你会发现现在的这个智能化,其实它不仅仅是在以前的什么下个棋什么的,所有常用的硬件它都联网了,车的调度、自行车的安排等等。

从2019年之后,各个领域都开始做人工智能的东西。这是我们说的第一个维度,就是从时间维度上来说,不同时间段的人工智能有不同的这个侧重点,有不同的影响世界的东西出现。


茶桁
茶桁
80后,先后在多家大厂担任数据产品经理,中台产品。
留言0
查看全部
發表第一個留言支持創作者!