查看“周晓锋:万物皆算法”的源代码
←
周晓锋:万物皆算法
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{4}} 以下内容为周晓锋演讲实录: 今天我要跟大家分享的内容叫万物皆算法。在开始演讲之前,我想问大家一个问题:你今天为什么会来?答案五花八门。 我还想问大家第二个问题:什么样的活动会吸引你参加呢?比如我看到今天的活动场面这么火爆,我也很想组织一场活动。 于是我就给大家发了一个调查问卷,上面写着:什么样的时间段你会有时间来?活动的主题是什么你更有兴趣?每个人都有自己的答案。 我把问卷和答案收集起来,经过整理和计算,就会得到一个图形。这个图形长得像一棵树,节点就是你对一个活动是否感兴趣的原因。 它是按照重要程度从上到下排列的。我拿到这个图形之后就可以了解大家的喜好,对活动内容做出调节。这棵树有一个名字叫做决策树。它属于一类机器学习算法。 在给大家解释什么是机器学习算法之前,我们来看一下什么是算法。 图中这个问题大家都很熟悉了。把大象装冰箱分为三步,其实这就是一个算法。算法就是我们解决一类特定问题有限步骤的描述。它是我们用来解决一类问题的方法,而不是只进行一次计算所采用的方法。 你知道了这个答案之后,下次你把一只企鹅装冰箱,把一头老虎装冰箱,就都会了。 算法有什么用呢?如果我们说数学是用来描述自然的语言,算法其实就是我们改变世界的工具,所以算法是一类工具。 人们从古至今一直在尝试着用数学知识为我们的生活服务。比如,中国在魏晋时期,刘徽在《九章算术》里就用多边形的面积去逼近圆的面积,为了求解到π的近似值。 中世纪,意大利数学家斐波那契发现了一个很有意思的规律,比如有一对兔子,这对兔子从第三个月开始每个月会生一对小兔子,然后小兔子从它们的第三个月开始每个月又会生一对小小兔子,子子孙孙无穷尽也。 那么,我们能不能计算出来每个月的兔子数量是多少呢? 可以,我们有公式,这也是一个算法。我们把这个数列连起来就是斐波那契数列。 这个数列有很多特殊的地方。比如说最简单的,它的任意一项都等于前两项之和。我们把数列里面的每一项作为一个正方形的边长,它可以无限地拼接成长方形。 图中长方形与正方形的比例是黄金分割比例。我们再把正方形里面的内接弧线拼接起来就形成了一个螺线,也就是斐波那契螺线。 图中这个海螺的形状就是斐波那契螺线。松果和向日葵种子的排列方式,甚至银河系的形状都是按照斐波那契螺线的形状生长的。 黄金分割和斐波那契数列被人们广泛地应用到建筑、绘画乃至LOGO的设计中。因为人们觉得符合黄金分割比例的这种构图就是美的,就是和谐的。 甚至有人用斐波那契数列来分割股票的走势,进行股票交易。 我讲的这些内容都是数学,跟算法有什么关系呢?写成公式就是数学,我们用这个知识来解决生活中的问题就是算法。 其实大家每天都在用算法,我们现在就来看一下身边有哪些算法。 外卖的出现拯救了一大批懒癌患者,甚至有些人在生活中已经离不开外卖了。 你知道当你躺在沙发上抱怨为什么自己11点时点的外卖,12点还没有送来的时候,外卖小哥在做什么吗?为了尽快把餐送到你的手上,他其实想走一条最近的路线。 我们假设他现在同时给三个用户送餐,他有三种选择。理想的解法就是在三种选择里找到一条最近的路线,然后按照这个顺序去送餐就可以了。 如果同时给五个用户送餐呢?路线选择便成了60种。 现在用户增加到10个,大家猜一猜这个路线变成了多少种?大于180万种。 更不要提,其实我还没有计算餐馆数量,外卖小哥还要去取餐。这个问题实际上就是一个典型的旅行商问题。 比如,我是一个推销员,我想走遍这些城市而且不要重复,我希望规划出一条最短的路线去实现。但实际上这个问题是很难得到一个最优解的。 城市数量越多,解的空间越呈爆炸式的增长。这个问题就解决不了了吗? 我们看一下动物界是怎么做的。 蚂蚁是一种神奇的动物。我们不说蚂蚁团队是怎样做到逢山开路、遇水架桥;也不说它们在没有设计师的情况下,是怎么建造一个庞大精美的蚁穴的;我们今天单说蚂蚁是怎样找到回家的路的。 不管食物和蚁穴之间有多少障碍物,蚂蚁都有这个本领,它们就能找到回家的近路。怎么做的呢? 其实开始的时候,它们是以等概率,随机选择路线的。 但是它在走路的时候会分泌一种叫信息素的东西,后面的蚂蚁会倾向于选择信息素浓的那条路去走。 我们知道走了近路的蚂蚁往返的次数就多,这条路线上的信息素的浓度就越大。时间一长,所有的蚂蚁都自动集中到这条近路上去了。 人类就学习了蚂蚁的这种本领,模拟它们的这种行为发明了蚁群算法,专门解决刚才说的求解不了的问题。 不光蚂蚁有这种本领,蜜蜂在各个花朵和蜂巢之间,也会规划出一条比较近的路线。还有鱼群、萤火虫等都有很多本领。 人类就模拟了各种各样的动物的行为,发明了各种各样的算法。我们把这一类算法叫作智能搜索算法。 旅行商问题在我们的生活中很常见,比如集成电路的设计和焊接问题就是一个旅行商问题。 还有连锁超市的货物配送问题也是旅行商问题。 给大家分享了传统算法、智能搜索算法,现在到了大家最想听的机器学习算法。 我们说计算机的出现让人类的计算能力大大提高了。我们只要把数据和公式转换成算法一起交给计算机,它就会自动给我们计算出结果。 但是随着信息化的发展越来越好,数据呈现爆炸性的增长。人类越来越发现有点hold不住这些数据了。海量的数据使我们没有办法去从里面挖掘、总结规律。 比如,最开始做图像处理的时候,如果想识别一个车牌,人类需要先教计算机,车牌有一个固定的形状信息,它有特定的纹理信息,再加上一定的颜色信息,照着这个规律去找车牌。这时候,计算机就从图片里很快能把车牌定位到。 但是如果这个问题复杂化了,如果图片上是一只猫的话,按照刚才的方法是行不通的。 所以我们就换了一种思维,把一些数据和我们已经知道的一些结果提交给计算机,由计算机来替我们总结和挖掘里面的规律,然后形成一个公式,之后再告诉我们。这个想法就是机器学习算法的思想。 按照这个思路我们来看,这时候要识别一只猫,只需要给计算机看大量的、用人工标记好的含有猫的图片,然后由机器自己去总结和抽取规律。 它抽取到的这些特征有些是我们可以理解的,有些可能超出了我们的认知范围。再给计算机一张新的图片的时候,它就可以从里面搜索到猫。 同样,在自动驾驶领域,我们不用再费心地去总结车辆有什么特征,路牌有什么特征,行人有什么特征。 我们只需要把标记好的街景交给计算机,它就会自动抽取这些物体的特征。等到上路的时候实现自动识别。 采用相同原理的还有AlphaGo。我们都知道AlphaGo在围棋上已经战胜了人类。 在AlphaGo Master之前,它按照人类的方法去学习怎么下棋,然后跟人类对弈。可是到了AlphaGo Zero的时候,它完全抛弃了人类给它总结的这些知识。 它怎么学习的呢?自己跟自己下棋,怎么下呢?它按照等概率随机地在任何一个位置上落子,下一个黑子,再下一个白子,就这样下了1000多盘棋。 如果用四个字来形容这个时候的水平可以说是惨不忍睹,连小学生的水平都不如。但是没有关系。它采用机器学习的原理,从这1000多个棋局中去学习,学习两个思路。 第一个就是这些落子的位置应该不是等概率的,肯定是下在某些地方好,某些地方不好,它就学习这些不同的位置的落子概率是什么。第二个就是在当前的局面下,往哪一步发展会让它赢的概率更大。 学习到了这些知识之后,自己再跟自己下棋,又下了1000多盘。这时候的水平就比刚才略有提高。 然后它再去总结其中的规律,更新自己的教练系统,再指导自己下棋。就这样反复下,下了五天,它就学会了围棋里面人类总结出来的所有定式。 人类总结这些定式花费了几百年。什么叫定式呢?就是招法。AlphaGo参透了人类所有顶级的招法,不但如此,它还自创了几套招法,自己找到了几个定式,这些定式人类到现在还没有找到。 每次讲到这个话题的时候,总会有人说人工智能打败了人类,感到很沮丧。其实大可不必担心,因为AlphaGo的应用范围很窄,只能做下棋这件事。 它不会唱歌,也不会写诗,如果你想让它做别的事情就得重新训练,甚至重写代码。这就比人类差得多了。虽然我们学得慢,但是我们忘得快。 忘得快也不怕,因为我们会用基础知识去推导,我们想一想原理,想一想学过的其他事情,我们就会做这件事。 这种举一反三的能力,人工智能到现在为止是绝对没有的。你大可不必担心人工智能打败人类,这至少是以后的事情。 生活中的机器学习算法 回到决策树,我们开头说的决策树也是一样的思想,数据就是我给你的问卷,结果就是大家做的答案,经过我的推导和计算就得到了这棵决策树,决策树可以帮我们做很多事情。 比如我知道了一个以往用户的个人情况和他偿还贷款的情况,我就可以判断一个新的用户有没有偿还贷款的能力。 还可以通过对一车西瓜进行学习,学习它的颜色、纹理、敲起来的声音,然后做出一棵挑瓜的决策树,给我们吃瓜群众挑一个又甜又大的西瓜。 我们现在的生活其实已经被机器学习算法包围了。我们像依赖手机一样依赖算法,比如我说睡觉了,晚安。其实不是睡觉,潜台词是躺在床上开始刷手机,一玩玩到后半夜。 比如看抖音,里面的内容太好看了,手机放不下。为什么放不下手机?因为它给你推送的都是很有意思的内容。为什么一直推送你感兴趣的,它怎么知道你喜欢什么呢? 这后面运行的就是推荐算法。它的原理就是:在刷抖音的时候,你对每一条视频的点赞、转发、评论,以及有没有看完这条视频,看完这条视频以后,有没有进到作者的主页里面看他其他的视频。 你的这些行为都被软件记录下来,然后它会给你做一个用户画像,你用软件的时间越多,它了解你就越多,甚至知道你的喜好,知道你的购物习惯,知道你的作息时间。 它会按照这些标签把用户进行分组,相似的人都分到一组。跟你相似的这组人,其他人看过并且喜欢的视频就会推送给你,而你会有很大的概率喜欢这条视频。 如果一味地这样给你推送,你可能也会觉得厌烦,审美疲劳了。它会给你推送一些其他的内容,如热门视频,你的好友发布的视频,你关注的人发布的视频,当然还有一些营销性质的广告视频。 它会按照排序算法做一个列表,按照优先级放在那里,等着你去浏览。 由于你前一天晚上刷手机熬夜了,第二天早上要迟到了,你会用手机叫个车。这时候后台运行的是你的规划路线和空闲车辆的位置匹配算法,后台运行的还有计价算法。 我们知道高峰时期很难打到车,但是加价就可以。计价算法就会根据你叫车的地区用户的繁忙程度、空闲车辆情况,给你推荐一个加价的金额。 甚至如果你总加价的话,它还会根据你以往的加价记录,精准地给你计算出来一个让你勉强可以接受的价格。好不容易到了公司,你坐下来打开网页上邮箱,网页两面弹出大大的广告页面,都是你昨天晚上搜索的物品信息。 更过分的是,我们经常用聊天软件跟别人聊天的时候,如果提到了某个商品,隔天就会收到推送广告。我自己前两天被小区的流浪猫挠了,晚上我就用手机搜索狂犬疫苗。 第二天早上,我在床上躺着刷微博的时候,给我推送的第一条内容就是大学生因狂犬病痛失生命,吓得我赶紧去打疫苗。 生活中还有很多很多类似情况,比如你使用搜索引擎,你用手机刷脸解锁,你骑共享单车,你跟智能音箱对话。只要你细心观察,其实背后都是机器学习算法。 我们从远古时代利用算法治水耕田,到工业时代利用算法进行大规模生产,再到现在的信息时代,我们实现了初级的人工智能。 我们一直在追求更好。但是机器学习还有很多局限性。就像这张图片,机器并不能正确地区分出小狗和玛芬蛋糕的区别。 当然还有很多在大家看不见的领域,比如工业领域,机器学习算法的应用还没有像互联网领域那么成熟和普及。 图中这种精密的装配工作,现在机器就做不了。 而且,机器学习并不能帮助我们为大家量身订作一款你喜欢的产品。后面还有很多工作要做。 我跟我的团队就是致力于把机器学习算法应用到工业领域,解决更多的问题,让我们的工业生产变得更智能化。 也许几十年以后,那时候的人们回头看现在的我们,说我们的机器学习算法根本就不算是算法,我们的人工智能根本就不是人工智能,但是不怕,因为我们一直在追求更好。 人类追求更好也是我们刻在基因里面的算法。
该页面使用的模板:
模板:4
(
查看源代码
)
返回至
周晓锋:万物皆算法
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
社区主页
新闻动态
最近更改
随机页面
帮助
华师附中老三届
站群链接
社友网(sn)
产品百科(cpwiki)
产品与服务(sn)
社区支持农业(sn)
工具
链入页面
相关更改
特殊页面
页面信息