红色中国网

 找回密码
 立即注册
搜索
红色中国网 首 页 经 济 查看内容

人工智能是共产主义的春天吗?(上)

2019-3-4 23:57| 发布者: 龙翔五洲| 查看: 89621| 评论: 0|原作者: 载言|来自: 激流1921

摘要: 2019年1月20日,载言同志在“好家伙”线上讲座向大家详细讲述了人工智能的技术现状,并在此基础上讨论了人工智能行业的现状,以及人工智能对社会矛盾产生的影响。

02

基础理论和发展现状


讲一下基础理论,在讲基础理论的时候先简单说一下,人工智能总计有三次的浪潮。

第一次浪潮大概是从56年到70年,第二次大概是从70年到90年,第三次大潮大概是2006年以后。

然后第一次浪潮就是先提出了,机器能够做一些人能做的事情。比如说他们早期的人就想做一些定理的证明,做一些基本的道路、线路的规划等等,或者是想下一些简单的棋的游戏,这就是第一次人工智能浪潮。

然后第二次人工智能的话,觉得人类有很多的知识,但这些知识的话,机器可能不是能够掌握,我能不能创造一个人工智能的模型,让机器去学习一些人类的知识,就形成了第二次浪潮。第二次浪潮比较典型的就是机器学习的这个方案,就是让让机器去学习,根据一些数据去学习一定的规律,这种规律可能人也是能够掌握,或者说是人先总结一些比较简单的,你比如说一个文档,它是每个词它都有一定的词频,这个词频我就可以构成一个特征,当中一个特征,我去做一些东西,对,要继续做一个决策。就是第二次。

第三次的话,就是基于大数据发展,这个数据量都非常高,数据可能非常复杂,但是人工智能吧,不管数据多么的复杂,我只要能够有大量的数据可输进,我就能够解决一些人类定义的很好的问题。就是第三次的浪潮,第三次浪潮是以深度学习为标志发展。

然后每次浪潮最低潮的时候,总会有这样的反应。每次人工这种高潮进去的时候,肯定有很多人声音就是:天啊人类要毁灭了,但是每次低潮的时候,他说这个东西都是骗子。

现在到了第三次浪潮,可能也有快下去了,过几年可能要下去。将来也有很多人可能有很多声音,就是说现在人工智能就是个骗子。

我们再总结一下,就是56年提出,人工智能第一个阶段,基本上就是到70年,当时主要是做搜索。就是说我给他一个问题,然后也知道这个问题可能有哪些可行的解,那我就把这些解一个一个的找出来,然后去得到一个最好的结果。这就是早期的任务,比如说定理的证明啊,游戏啊等等,都是能够得到比较好的一种。

然后第二的时候就是知识处理,希望人类有一些支持。比如说像医疗领域,我去看一个病,看病的话,它可能有一个标准流程,比如说我要根据某些特征1、2、3,去判断它到底是不是一个心脏病,或者是不是癌症。

当时就希望利用这些知识,让机器去掌握这样的知识,就创造了知识工程,或者专家系统等等。系统给输入一些标准化的东西,输入一些新特征,比如说心电图的一些特征,然后让专家去做一些诊断。但因为人做这种角色其实非常非常复杂的,当时机器去做决策,其实都是只能靠简单的搜索,所以说,当时这个领域其实是客观上失败的。

然后接下来发展第三个阶段,就是特征数据,我人到这个机器去处理的时候,我人先对这个数据做一些简单的处理,比如说我去判断一朵花是什么样的、什么种类的花,我可以人先去做一些简单处理,比如说先把这花的颜色,花瓣的大小,花瓣的数量等等东西,用一种简单的方法先把这些特征提取出来,然后把这些特征去放到一个机器学习的系统里边,比如说通过一些统计的知识,然后去就统计到底可能是某一种花,它可能长度大概就是在5到8厘米区间。另外一种花,可能花瓣长度会在9到12厘米区间,但有一种新的花的花瓣长度,可能是七厘米,我就判断他就是前一种花,这都是一些统计学习的知识,当然优化学习也是有相应的这种知识的。这是特征处理下取得了一定的成果。

当然人工智能机器学习取得真正突破的结果就是2010年深度学习,就是说我根本不用去提取一个图片或者文本特征,我只需要把这个图片简单地扔到一个人工智能这种学习模型当中,它就能出来一个结果,而且能出来一个很好的学习结果。

所以说其实我们讲了这么多,它的一个本质就可以发现它先定义一个问题,然后用相关的算法去求解和预测一些新的问题。

这就是有哪些问题,第一大类人工智能可能就是搜索,然后第二大类人工智能就是继续学习,继续学习就分为回归、分类、深度学习,还要强化学习。

首先就是讲搜索,搜索就很简单,就是要穷举一个所有的可能情况,找到一个最优的决策。这里面就一般分成几大类,比如说像棋类的游戏,导航啊,智能问答啊等等的,等会我会一个一个地讲。

先说导航的问题,就是我们大家知道手机软件,然后希望能从A到B,找到一个最优的路径,一般来说根据高德地图运用的规划,我们就能够非常傻瓜地到我们想要的目的地,它是怎么实现的呢?比如说我们考虑北京市,就这么一个道路的网络,就这个点。可能就是一些关键的地点,然后现在就是一些道路或者路径,我们想从一个点A,就是A这样一个点,然后到这样的点,点B,怎么去找?其实就是暴力搜索的办法。首先会发现A的周边可能有三个点,有三条道路,人工智能系统就会把这三个道路全部搜索一遍。然后这个道路我们在这三条,然后到达这三个点后,我可能要找一些新的道路,比如说我要从某个点出发去寻找新的道路,会发现比如通过GPS的信息会发现这个点到这个点的距离可能是最短,那我就从这个点出发。然后发现他旁边有三条道路,肯定不能走回去,都走回去,那不就死循环了。发现可能有这样这三条三个可能的方向,于是所有的点搜索到就可能能从A点到达道路,就包括O打头的这个地方,S打头这个地方,F打头的这个地方,P打头这个地方还有G打头这个地方,再然后对这些地方在选取一个点,继续进行搜索,比如说我们发现F点根据GPS进行地点最近,我就从F点出发再做一步,然后要找百度下面的一个路径,当然你可能肯定也不能走回头路,结果发现好像F这个点正好一步能够到达最终的终点,就写错了这样一条路径,AI从S点到F点一直到D点这上一条路径,这就是一个搜索。其实搜索就是计算机就做一个简单事情,非常暴力的进行搜索,找到冲击和所有的情况,然后找到一个找到想要的结果。

下棋也是,比如说一个最简单的棋,就相当于是在一个井字的3×3的井字格里面画圈,或者说画叉,然后如果是某一方能够横竖斜形成三个能够连在一起的话,某一方就赢了。这是一个现在假设机器就是画叉的这个人,可能要下下一步的棋,然后机器要判断他下一步要下到哪,机器就要穷举所有情况,所有情况其实简单,就是人工智能的系统,它要把所有可能的棋局都要下一遍。比如说现在有三个部分,就有三种可能情况,比如说他可能下到这里,右边中间这个点,但是下到这里发现肯定不行,因为比如说画圈的人下到了这里,那圈就赢了,我肯定不能下到这个地方,如果说我下到这个地方当然也不行,因为画圈的只要下到这里它肯定也赢了。然后我下到这个地方,我就让画叉的话我再做进一步的一个计算,比如说如果画圈的话到这里结果可能是平局。如果这个画圈的话到这里,那这个画叉的再补一步,就是这三条连成一线,那么这画叉的就赢了。(ppt演示

综合的所有的可能情况会发现,这个人工智能系统可能只能把叉画到这里面,最后取得胜利。

然后还有智能问答,我们这里面就几个最简单的这种问答,可能大家原群里面,就是可能在微信群里面,都能看到一个非常搞笑的AI类核心代码,估值一个亿。它做什么呢?

比如说我输入一个“在吗?”

“在”。

然后我再说“你好”

AI说“你好”。

我说“能听懂汉语吗?”

“能听懂汉语”。

“真的?”

“真的”

“English too?”

“Englisg too.”

“bye!”

“bye!”

你会发现后面代码其实对这些文字做一些简单的替换,比如说如果后面有“吗”和问号的话,那我就把这个“吗”和问号换成叹号,如果是句号的话,我就可以是一个陈述句,然后发现好像这个逻辑都是正常的。

实际上早期的智能问答系统它就是在做这个事情,然后我就存大量的问答的语句和格式,那么人输入某一段话,他就去在这个数据库里面做匹配,匹配一个对这个问题的最佳回答,然后再输出出来,然后你们发现,其实所有智能问答在早期的话,本质其实就是在做这个事情。

有人提问:下棋问题,为什么继续计算?这个问题是下棋总结的棋步,为什么还要继续计算?对,总结棋步肯定是要他要在搜索的时候,我要模拟棋局,就是要把棋局的结果下完,在下完之后,它实际上这个计算才能够真正地停止。

这是搜索啊,然后接下来还有一大类,就是机器学习,这个可能大家也会听到很多相关的概念,我们得简单说一下,机器学习他到底在做什么?其实就是比如说我们假设收集到一百本书的页数,这一百本书的价格,大致是一个这样的情况,比如说这有一本书,有一本书是55页,然后它的价格是69块钱,有本书是105,价格79.5,有本书是90页,价格是128块钱,然后有一本书是240页,价格133。

我们把这一百本书,可以在一个坐标系里面去画出来,可能会通过这个分布,我们可以得到一个非常简单的结论,就是书的页数越多价格就越高,这其实也是符合人类常理的。

好的,我们接下来想做的任务的做两个,第一个就是告诉机器学习什么,然后第二个任务就是等机器把结果写出来,告诉机器学习什么呢?就是说我们假设有一本书是480页,我想知道这本书的价格是多少,

可能就是我们要学习的话,因为我们觉得可能书的页数越多,书价值越高的,其实它可能就成为一个线性的关系,就是一次函数的关系,比如说可能是下面这样一条斜线。当然书价是480块钱的话,我能在斜线找到对应书价这样一个点,然后得到相应的结果。

好了,这个斜线可能大家都学过,y=wx+b,W和B都是一些待定的系数,待定系数比如说可以解方程,也可能用一些其他方法去求,我们是必须要求W和B是什么?

好,问题就是w和b是多少合适,我这里面就有一个。我们设y=wx+b这样一个一次函数,我们需要确定wb到底多少最合适。比如说这可能下面是有一些不同的情况,然后当然最好的情况,就直接根据这样的一些离散的点,人去画,或者机器再画一条直线,感觉这个直线能够覆盖到大多数情况就可以了。比如说下面这三种情况,可能都是一个比较合理的结果。但是哪个点可能就是哪条直线是最好的,我可能需要做一定的量化。

比如说一个最好的最简单方法,就是要使预测的书价和实际的书价差越少越好,你说这样一个预测的点,比如说这是一个预测书价和书的线性的关系,我会发现可能每个点,和每个实际的书价和预测的书价,都会有一定偏差。这个就是偏差。我们就希望让这些偏差,就是所有点偏差的和越小越好,也就是说让预测书价,实际书价,差越小越好。

怎么去形式化这个问题,我们可能就要做,像高中的话大家可能都学习过,我需要构造一个函数,针对实际问题,我们去实际问题去做到一个y=f(x)这样一个函数,然后去优化Y等于X,那么在这个问题中也是一样的。

比如说我们假设价是y=wx+b,我们肯定是适当,比如说页数是55,那么它价格55w+b,然后它55W+B,它和实际69,他肯定存在一个误差,他这个误差我就取一个平方,就是这就是第一本书的误差。为什么取平方而不是取绝对值,就因为取平方可能更好计算,没有别的道理。然后这第二本书的话,预测价格是105w+b,实际价格79.5,我这也是求一个相应的误差,所有书的误差总和,我就可以一百个把它列出来,然后得到这么一个结果。然后得到这个结果的话,其实我们可以做到一个以W+B有关的损失函数,这点我只列了以W相关的损失函数。比如说是有这样的一个情形是很明显这样的形式,如果是掌握初中掌握的二次函数知识的话,肯定知道W该怎么求。求它的最低点,对吧?比如说我们把W搬进去,用一个图像去画出来,肯定知道W大概斜率大概10到15之间的这样一个数。OK,这是一个非常简单的算法,当然有些还是可能非常复杂的,比如说三次函数,还有可能这个函数都是分段的函数。总之到实际的深度机器学习里面,这个函数是非常复杂的,肯定不是像这么简单的二次函数。

在求解过程中就有另外一种方法,就是画切线,然后算导数。比如说我就随机的从某一个点出发,然后这个点会发现它可能在现在切线,然后在切线的时候,我可能就是取一段X,然后X往前移,移到这里,然后再从这个点出发,然后再画一个斜线再往前移。然后这样的话,所有我们去做一个迭代,然后迭代人算肯定是非常的困难的,这样一个循环,但是机器的话确实非常容易去解决这类的问题。然后当然这个切线怎么算?那些高中的导数知识,其实就告诉我们答案。

我小结一下吧,我从线性规划这个例子去说一下,目前最火的人工智能在做什么?首先就是在搜集数据。刚才不说书价和书的页数这样一个关系,书的页数是X,然后书价Y,就是X和Y也构造一个关系。

第二个就是选择模型,就是选择一个合适的函数F(x),比如说刚才那个问题,相应合适的函数就是一个线性函数,在F(x)中的参数,都是W和B两个参数。

第三点就设计代价函数,比如说衡量一个预测结果,和衡量一个真实的结果的差距,比如说用一个平方误差的代价函数,

最后一步就是用一些方法去进行优化,去优化这个系统。

所以说机器学习,其实从原理来说是非常简单的,但是在实际考察问题的时候,他可能有一些现实的困难,比如说他可能数据是非常复杂的,比如说一个图像,你怎么去确定图像对应的输入,X比如说它的它向量X,它是一个什么样的格式?我怎么去拟合它?可能就是让上个世纪一直到本世纪的前几年,一直大家都在研究这个X该怎么去算,直到最近深度学习,大家知道,我直接把图像每个像素点的RGB三色通道的数值输入进去就可以了。

然后另外需要设计合适的模型,可能这些模型会非常非常的复杂。另外一点模型的输出和真实的结果可能是非常复杂的,比如说刚才这个解释的这个问题,就是输入输出就是一个连续的实数。但是可能有时候输出是一个离散的,比如说1和0,那就代表1可能代表某一类人,0可能代表另外一类。有的时候可能输出的结果是一个框,这个框可能有四个参数,就是左上角这个点的坐标和右下角的点的坐标,反正总之实际输出的结果是非常复杂的,虽然设计时就是和这个代价函数进行优化。然后非常复杂,大家可能用高中学的知识,就没有办法去进行解决了。

然后呢,把F(x)学习出来的话,我就可以用到实际场景了,比如说给定一个新的数据,X那我就要预测,它对应的标签我直接用学习好的F去预测就可以了,这都是基于学习。

然后我们再说一些其他应用,比如说分类,分类的话,比如说鸢尾花的话两有两种分支,一种是变色鸢尾花,一种是山鸢尾花。我们需要判断给定一张图片,这个图片有一朵鸢尾花,那这朵鸢尾花到山鸢尾花,还是变色的鸢尾花。

比如说用一个比较简单的方法,我可以用我可以选取这个图片连几个特征,比如说花瓣的长度,花瓣的宽度,到植株的长度,还有花瓣的颜色,这样四个参数,然后进行学习,然后去判断,最后这个到底是一个什么样的花。比如说第一个花,他这个花瓣的长度5.10cm,花瓣的宽度是3.5cm,然后可能植植株的高度是1.4米,植株宽度可能是0.2米等等的,最后它这种花比如说是一种白鸢尾花等等,这就有一组X,还有四个数就构成一个x,然后输出的话就是一个什么样的话,比如说用B或者E来进行表示。

如果我们画在一个坐标系里面,其实就可以看到这个为什么用四个,四个特征可能是非常的合理的,比如说我们仅用花瓣长度和花瓣的宽度这两个特征,然后在这个坐标系上做一个显示,就会发现这个山鸢尾花,它花瓣的长度宽度都比较短,然后变色鸢尾花花瓣长度和宽度都比较大。于是我发现这两个类别其实在这个坐标系统是明显分开的,我们就可以画这么一条红色的直线去把这两个种类分开,比如说这样一个一侧结构,比如说可能这样一个函数小于零的时候,它就是山鸢尾花,还是这样一个函数大于零的时候,它就是变色鸢尾花。

当然怎么去确定这么一条直线?一个最简单的方法就是蒙嘛。把这条直线在所有空间里面枚举一遍,然后找到一个最好的,看起来最好的直线。当然有一个比较靠谱的做法,我可以通过函数的手段去进行优化。

比如说我开始可能是这样一条直线,发现这条线肯定是不能把这两个类别分开的。也可能这个直线也不能把所有类别走开。当然可能是这样的直线,这个直线其实是能成功地把这两个类别分开了,但是好像发现分开的效果并不是很好。当然有可能是这样的,这样的直线的话,他们分的效果就很好,我们就可以以这条直线去进行优化,就其实是蒙的方法。(ppt演示

实际上怎么去形式化去应对这个问题呢?有一个比较简单方案,就是定义分类的间隔,你说第三条直线它是这样的一个直线,它分类会发现这条直线对着山鸢尾花特征的距离中最短的距离,会比较小,然后这条直线到变色鸢尾花的最短距离可能也是比较小的。

但是如果是红色的直线,会发现这是这个直线对着山鸢尾花的最短距离,和这条直线对变色鸢尾花的最短距离都是比较大的,但我们肯定会选取红色的直线作为最好的结果。

当然这个东西是可以去用一个函数,形式化来进行表示的,然后我们去优化这个函数,就确定这条直线到底在哪。


鲜花

握手

雷人

路过

鸡蛋

最新评论

Archiver|红色中国网

GMT+8, 2024-4-19 17:15 , Processed in 0.016443 second(s), 12 queries .

回顶部