格致论道第45期|2019年9月22日苏州大家好,我是周晓锋

[复制链接]
查看264 | 回复0 | 2024-5-19 19:05:15 | 显示全部楼层 |阅读模式
如果说物理是描述自然的语言,

算法就是我们改变世界的工具。

周晓锋 · 中国科学院沈阳自动化研究所副研究员

格致论道第45期 | 2019年9月22日 苏州

大家好,我是周晓锋,今天我要跟你们分享的话题是“万物皆算法”。

在开始讲演之前,我想问你们一个问题:你昨天为何会来?答案五花八门。

我还想问你们第二个问题:什么样的活动会吸引你出席呢?比如我见到明天的活动场面如此火热,我也很想组织一场活动。

于是我就给你们发了一个调查问卷,上面写着:什么样的时间段你会有时间来?活动的主题是哪些你更有兴趣?每个人都有自己的答案。

我把问卷和答案搜集上去,经过整理和估算,就会得到一个图形。这个图形长得像一棵树,节点就是你对一个活动是否感兴趣的诱因。

它是根据重要程度从上到下排列的。我领到这个图形以后就可以了解你们的喜好,对活动内容作出调节。这棵树有一个名子称作决策树。它属于一类机器学习算法。

在给你们解释哪些是机器学习算法之前,我们来看一下哪些是算法。

图中这个问题你们都很熟悉了。把小象装冰柜分为三步,其实这就是一个算法。算法就是我们解决一类特定问题有限步骤的描述。它是我们拿来解决一类问题的方式,而不是只进行一次估算所采用的方式。

你晓得了这个答案以后,下次你把一只企鹅装冰柜,把一头老虎装冰柜,就就会了。

算法是我们改变世界的工具

已完成:20%//////////

算法有什么用呢?如果我们说物理是拿来描述自然的语言,算法虽然就是我们改变世界的工具,所以算法是一类工具。

人们从古至今仍然在尝试着用物理知识为我们的生活服务。比如,中国在先秦时期,刘徽在《九章算术》里就用六边形的面积去迫近圆的面积,为了求解到π的近似值。

中世纪,意大利数学家斐波那契发觉了一个很有意思的规律,比如有一对狐狸,这对狐狸从第三个月开始每个月会生一对小兔子,然后小兔子从它们的第三个月开始每个月又会生一对小小狐狸,子子孙孙无穷尽也。

那么,我们能不能估算下来每个月的小猫数目是多少呢?

可以,我们有公式,这也是一个算法。我们把这个数列连上去就是斐波那契数列。 这个数列有很多特殊的地方。比如说最简单的,它的任意一项都等于前两项之和。我们把数列上面的每一项作为一个正方形的周长,它可以无限地拼接成长圆形。

图中长方形与正方形的比列是黄金分割比列。我们再把正方形上面的内接弧线拼接上去就产生了一个螺线,也就是斐波那契螺线。

图中这个海螺的形状就是斐波那契螺线。松果和波斯菊种子的排列方法,甚至银河系的形状都是根据斐波那契螺线的形状生长的。

黄金分割和斐波那契数列被人们广泛地应用到建筑、绘画乃至LOGO的设计中。因为人们认为符合黄金分割比列的这些布光就是美的,就是和谐的。甚至有人用斐波那契数列来分割股票的走势,进行股票交易。

我讲的那些内容都是物理,跟算法有哪些关系呢?写成公式就是物理,我们用这个知识来解决生活中的问题就是算法。

算法就在我们身边

已完成:40%//////////

其实你们每晚都在用算法,我们如今就来看一下身边有什么算法。

外卖的出现挽救了一大批懒癌病人,甚至有些人在生活中早已离不开订餐了。

你晓得当你躺在椅子上责怪为何自己11点时点的订餐,12点还没有送来的时侯,外卖小哥在做哪些吗?为了尽早把餐送到你的手上,他似乎想走一条近来的路线。

我们假定他如今同时给三个用户送餐,他有三种选择。理想的解法就是在三种选择里找到一条近来的路线,然后根据这个次序去送餐就可以了。

现在用户降低到10个,大家猜一猜这个路线弄成了多少种?大于180万种。

更不要提,其实我还没有估算餐厅数目,外卖小哥还要去取餐。这个问题实际上就是一个典型的旅行商问题。

比如,我是一个推销员,我想踏遍那些城市并且不要重复,我希望规划出一条最短的路线去实现。但实际上这个问题是很难得到一个最优解的。

城市数目越多,解的空间越呈爆炸式的下降。这个问题就解决不了了吗?

我们来看一下动物界是如何做的。蚂蚁是一种神奇的植物。我们不说蚂蚁团队是如何做到逢山开路、遇水架桥;也不说它们在没有设计师的情况下,是如何建造一个庞大精致的蚁穴的;我们明天单说蚂蚁是如何找到回家的路的。

不管食物和蚁穴之间有多少障碍物,蚂蚁都有这个本领,它们能够找到回去的近路。怎么做的呢?

其实开始的时侯,它们是以等机率,随机选择路线的。

但是它在走路的时侯会分泌一种叫信息素的东西,后面的蚂蚁会倾向于选择信息素浓的那条路去走。

我们晓得走了近路的蚂蚁往返的次数就多,这条路线上的信息素的含量就越大。时间一长,所有的蚂蚁都手动集中到这条近路起来了。

人类就学习了蚂蚁的这些本领,模拟它们的这些行为发明了蚁群算法,专门解决刚刚说的求解不了的问题。

不光蚂蚁有这些本领,蜜蜂在各个花朵和蜂巢之间,也会规划出一条比较近的路线。还有鱼群、萤火虫等都有好多本领。

人类就模拟了各种各样的昆虫的行为,发明了各种各样的算法。我们把这一类算法称作智能搜索算法。

旅行商问题在我们的生活中很常见,比如集成电路的设计和点焊问题就是一个旅行商问题。

还有连锁药店的货物配送问题也是旅行商问题。

机器学习算法

已完成:60%//////////

给你们分享了传统算法、智能搜索算法,现在到了你们最想听的机器学习算法。

我们说计算机的出现让人类的估算能力大大增强了。我们只要把数据和公式转换成算法一起交给计算机,它还会手动给我们估算出结果。

但是随着信息化的发展越来越好,数据呈现爆炸性的下降。人类越来越发觉有点hold不住那些数据了。海量的数据使我们没有办法去从上面挖掘、总结规律。

比如,最开始做图象处理的时侯,如果想辨识一个牌照,人类须要先教计算机,车牌有一个固定的形状信息,它有特定的纹理信息,再加上一定的颜色信息,照着这个规律去找牌照。这时候,计算机就从图片里很快能把牌照定位到。

但是假如这个问题复杂化了,如果图片上是一只猫的话,按照昨天的方式是行不通的。

所以我们就换了一种思维,把一些数据和我们早已晓得的一些结果递交给计算机,由计算机来替我们总结和挖掘上面的规律,然后产生一个公式,之后再告诉我们。这个看法就是机器学习算法的思想。

按照这个思路我们来看,这时候要辨识一只猫,只须要给计算机看大量的、用人工标记好的富含猫的图片,然后由机器自己去总结和抽取规律。

它抽取到的这种特点有些是我们可以理解的,有些可能超出了我们的认知范围。再给计算机一张新的图片的时侯,它就可以从上面搜索到猫。

同样,在手动驾驶领域,我们不用再费心地去总结汽车有哪些特点,路牌有哪些特点,行人有哪些特点。我们只须要把标记好的夜景交给计算机,它还会手动抽取这种物体的特点。等到上路的时侯实现手动辨识。

采用相同原理的还有AlphaGo。我们都晓得AlphaGo在象棋上早已击败了人类。

在AlphaGo Master之前,它根据人类的方式去学习如何对弈,然后跟人类下棋。可是到了AlphaGo Zero的时侯,它完全抛弃了人类给它总结的这种知识。

它如何学习的呢?自己跟自己对弈,怎么下呢?它根据等机率随机地在任何一个位置上落子,下一个黑子,再下一个白子,就这样下了1000多盘棋。

如果用四个字来形容这个时侯的水平可以说是惨不忍睹,连小学生的水平都不如。但是没有关系。它采用机器学习的原理,从这1000多个棋局中去学习,学习两个思路。

第一个就是这种落子的位置应当不是等机率的,肯定是下在个别地方好,某些地方不好,它就学习这种不同的位置的落子机率是哪些。第二个就是在当前的局面下,往哪一步发展会让它赢的机率更大。

学习到了这种知识以后,自己再跟自己对弈,又下了1000多盘。这时候的水平就比昨天略有增强。

然后它再去总结其中的规律,更新自己的教练系统,再指导自己对弈。就这样反复下,下了五天,它就学会了象棋上面人类总结下来的所有定式。

人类总结这种定式耗费了几百年。什么叫定式呢?就是招法。AlphaGo参悟了人类所有顶尖的招法,不但这般,它还自创了几套招法,自己找到了几个定式,这些定式人类到现今还没有找到。

每次提到这个话题的时侯,总会有人说人工智能击败了人类,感到很失望。其实大可不必害怕,因为AlphaGo的应用范围很窄,只能做对弈这件事。 它不会跳舞,也不会作诗,如果你想让它做别的事情就得重新训练,甚至重画代码。

这就比人类差得多了。 虽然我们学得慢,但是我们忘得快。 忘得快也不怕,因为我们会用基础知识去推论,我们想一想原理,想一想学过的其他事情,我们都会做这件事。

这种举一反三的能力,人工智能到现今为止是绝对没有的。你大可不必害怕人工智能击败人类,这起码是之后的事情。

机器学习算法无处不在

已完成:80%//////////

回到决策树,我们开头说的决策树也是一样的思想,数据就是我给你的问卷,结果就是你们做的答案,经过我的推论和估算就得到了这棵决策树,决策树可以帮我们做好多事情。

比如我晓得了往年用户的个人情况和他还清房贷的情况,我就可以判定一个新的用户有没有还清房贷的能力。

还可以通过对一车菠萝进行学习,学习它的颜色、纹理、敲上去的声音,然后作出一棵挑瓜的决策树,给我们吃瓜群众挑一个又甜又大的菠萝。

周志华《机器学习》

我们现今的生活虽然早已被机器学习算法包围了。我们像依赖手机一样依赖算法,比如我说睡着了,晚安。其实不是睡着,潜台词是躺在床上开始刷手机,一玩儿到后晚上。

比如看抖音,里面的内容太好看了,手机放不下。为什么放不下手机?因为它给你推送的都是很有意思的内容。为什么仍然推送你感兴趣的,它如何晓得你喜欢哪些呢?

这前面运行的就是推荐算法。它的原理就是:在刷抖音的时侯,你对每一条视频的点赞、转发、评论,以及有没有看完这条视频,看完这条视频之后,有没有进到作者的主页上面看他其他的视频。

你的这种行为都被软件记录出来,然后它会给你做一个用户画像,你用软件的时间越多,它了解你就越多,甚至晓得你的喜好,知道你的购物习惯,知道你的作息时间。

它会根据这种标签把用户进行分组,相似的人都分到一组。跟你相像的这组人,其他人看过而且喜欢的视频都会推送给你,而你会有很大的机率喜欢这条视频。

如果一味地这样给你推送,你可能也会感觉讨厌,审美疲劳了。它会给你推送一些其他的内容,如热门视频,你的好友发布的视频,你关注的人发布的视频,当然还有一些营销性质的广告视频。

它会根据排序算法做一个列表,按照优先级放到哪里,等着你去浏览。

由于你前一天白天刷手机通宵了,第二天早上要迟到了,你会用手机叫个车。这时候后台运行的是你的规划路线和空闲汽车的位置匹配算法,后台运行的还有计价算法。

我们晓得高峰时期很难打到车,但是加价就可以。计价算法还会依据你叫车的地区用户的忙碌程度、空闲汽车情况,给你推荐一个加价的金额。

甚至假如你总加价的话,它就会按照你往年的加价记录,精准地给你估算下来一个让你勉强可以接受的价钱。好不容易到了公司,你坐出来打开网页上邮箱,网页两面弹出大大的广告页面,都是你昨天晚上搜索的物品信息。

更过份的是,我们常常用聊天软件跟他人聊天的时侯,如果讲到了某个商品,隔天都会收到推送广告。我自己前两天被新村的流浪猫挠了,晚上我就用手机搜索狂犬疫苗。

第二天早上,我在床上躺下刷微博的时侯,给我推送的第一条内容就是大学生因狂犬病痛失生命,吓得我赶快去打卡介苗。

生活中还有很多很多类似情况,比如你使用搜索引擎,你用手机刷脸解锁,你骑共享自行车,你跟智能耳机对话。只要你悉心观察,其实背后都是机器学习算法。

我们从远古时代借助算法治污耕田,到工业时代借助算法进行大规模生产,再到如今的信息时代,我们实现了中级的人工智能。

我们仍然在追求更好。但是机器学习还有好多局限性。就像这张图片,机器并不能正确地区分出兔子和玛芬蛋糕的区别。

当然还有好多在你们看不见的领域,比如工业领域,机器学习算法的应用还没有像互联网领域这么成熟和普及。

而且,机器学习并不能帮助我们为你们量身订作一款你喜欢的产品。后面还有好多工作要做。

我跟我的团队就是致力于把机器学习算法应用到工业领域,解决更多的问题,让我们的工业生产显得更智能化。

也许几十年以后,那时候的人们回头看现今的我们,说我们的机器学习算法根本就不算是算法,我们的人工智能根本就不是人工智能,但是不怕,因为我们仍然在追求更好。

人类追求更好也是我们刻在基因上面的算法。

谢谢你们!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则