标签:ec2 神经网络 权重 href nbsp 选择 多列 工资 文章
此文已由作者刘超授权网易云社区发布。
欢迎访问网易云社区,了解更多网易技术产品运营经验。
在业务架构方面,我这里强调的是服务化。是解决如何避免开发和运维的黑天鹅问题。
所谓黑天鹅,就是遇到了原来没有遇到过的问题,原来我们想象应用不改,从而稳定,已经因为互联网的冲击而成为了泡影。
互联网要求你的应用变化快,所以你不得不改。你的传统的应用,例如传统的刷卡支付,一旦对接到互联网平台,例如在线支付,你所面临的吞吐量,比原来大很多倍,这是一个新问题,不改比改风险更大。
所以,如上面那个图中所说,因为变化快,所以我们要把应用,拆成微服务,每一个模块独立迭代,独立发布,这样才能应对变化。因为扛不住,所以我们还是要用微服务,原来一个程序去扛,现在多个应用一起去扛,才可能扛住。
然而拆成了微服务,服务多了,版本也多了,运维就变成了一个大难题,一般的传统公司,开发和运维的比例相当高,让如此少的运维去运维如此多的服务和版本,运维压力非常大,而且会非常的不稳定。
所以这个时候是应该使用容器,使得对于环境的部署这件事情提前到开发阶段来做,开发人员不能做甩手掌柜,而从开发完代码的时候,就要关心环境的配置,生成容器镜像。
这个时候,虽然每个开发都多了一些工作,但是每个模块的开发人员,仅仅维护自己模块的容器镜像,工作量不是特别大,而如果把所有的环境部署全部交给少数的运维,则非常容易出错,这其实是相当于每个开发多了5%的工作量,从而减少了运维人员200%的工作量。
有人说这样运维部开心了,开发部不愿意打镜像怎么办呢,所以这就需要DevOps的文化,将开发和运维中间的墙打通,才能加快迭代速度,保障系统的稳定性。
网易有一个专门做DevOps的质量管理平台,将整个过程打通。
这里面还有一个故障演练平台,是利用故意的方式,模拟一些系统错误,从而测试系统的稳定性和容错性,只有经过了故障演练系统还不出问题,才是真正的稳定,而不是不动它,因为你不动它,不知道什么原因,突然他挂了整个系统就不可用了,如果你时常故障演练,在演练的过程中,还能保持系统可用,这才是避免黑天鹅的主动出击的方法。
所以互联网化的冲击,使得原来所有不变就相当于稳定的幻想破灭了,快速变更,成为核心竞争力,DevOps的文化成为必然的选择,这就是我们常说的高频打低频。
服务化的第二个作用,就是可以形成能力复用的中心。
如果像原来那样烟囱式的系统建设,会使得信息之间彼此是独立的,而且每当开发一个新应用,成本都会非常的高,每个系统都有自己的用户管理,每个系统都有自己的商品管理。其实应该有一个用户中心,有一个商品中心,并且用户中心和商品中心全部做成服务,这样当你要开发一个新的系统的时候,你只要调用用户中心的接口就可以了,不需要重新开发一个用户中心系统,当这样的能力复用的中心越来越多的时候,你创新出来的新的应用会越来越薄,越来越轻便,推出的越来越快。而且这样信息也是彼此互通的,一个用户听了音乐,买了商品,坐了公交,买了海鲜,上了在线课程,这样一个完整的用户的画像,就能够勾勒出来。
只有数据打通,数据才能成为你的核心竞争力之一,只有能力复用,才能尽快推出新的产品。
现在所谓的新零售,和第四方物流,都是要建立这样的数据中心和能力中心。最苦最累的活儿,比如说最终端的送快递,平台不会去做,然而物流怎么流通,到底送到哪里,仓储如何分配,这个却在能力中心和数据中心已完成。新零售也是同样的道理,你的供应链,到底应该进哪些货,进多少,什么时候送到哪里,这些统一的数据中心和能力中心都会帮你计算,你只要老老实实开你自己的小店就可以。这样,无论你是一个开店的,还是一个终端物流,你的喉咙就在别人的手中,苦活都是你来干,钞票都是别人赚。
对于数据的收集和数据的应用的频率和实时性,是互联网公司和传统公司的一大区别。很多传统的公司也有自己的运营平台,然而它的运营工作是从各个终端收集数据,然后用Excel表格进行整理,每两周做一次整合,写成报告,然后反馈给高层,高层根据这些报告,作出下一个阶段的运营策略,从而指导下一个阶段的运营。
这种运营方式在传统行业是没有问题的,然而对于互联网公司是不可能的。大家可能想象,对于一家电商来讲,618和双11是多么的重要,一年中大部分的营业额都是在这两天完成的,而最关键的就是凌晨过后的四个小时,在双11的凌晨的四个小时中,所有的运营都要在现场,他们看着大数据平台发出来的实时数据,需要迅速的推出营销策略,保证在这四个小时之内能够大卖,如果这四个小时完不成,很可能他一年的业绩指标就会完不成,这种实时性和灵敏度是传统行业无法想象的。
所以战略性的数据整合,是数字化运营的一个前提,所以说你的所有的终端的数据都要收集起来,这里面有交易的数据,可以存放在数据库里面,也有埋点的浏览的数据,可以放在日志库里面,另外还有客服的数据,也可以统一收集起来,放到大数据平台中,进行统一的分析,并通过BI实时反馈给运营。
今年有一个非常火的节目,就是罗永浩和罗振宇进行了九个小时的长谈,在这里面,罗永浩说了一个牌桌理论,就是他想从事最大的计算平台——手机,使得下一次浪潮的时候,先不说胜出,至少能上牌桌。这个理论同样适用于AI,先不谈AI时代的胜出问题,战略性的收集数据,实时的反馈数据,还能成为AI公司牌桌上的竞争者。
人工智能主要经历了三个阶段,第一个阶段,我们称为专家系统阶段,希望专家能够把一些知识总结出来,告诉机器。但是知识这个事儿,一般人可能就做不来了,可能专家可以,比如语言领域的专家,或者财经领域的专家。语言领域和财经领域知识能不能表示成像数学公式一样稍微严格点呢?例如语言专家可能会总结出主谓宾定状补这些语法规则,主语后面一定是谓语,谓语后面一定是宾语,将这些总结出来,并严格表达出来不久行了吗?后来发现这个不行,太难总结了,语言表达千变万化。就拿主谓宾的例子,很多时候在口语里面就省略了谓语,别人问:你谁啊?我回答:我刘超。但是你不能规定在语音语义识别的时候,要求对着机器说标准的书面语,这样还是不够智能,就像罗永浩在一次演讲中说的那样,每次对着手机,用书面语说:请帮我呼叫某某某,这是一件很尴尬的事情。
人工智能这个阶段叫做专家系统。专家系统不易成功,一方面是知识比较难总结,另一方面总结出来的知识难以教给计算机。因为你自己还迷迷糊糊,似乎觉得有规律,就是说不出来,就怎么能够通过编程教给计算机呢?
于是人们想到,看来机器是和人完全不一样的物种,干脆让机器自己学习好了。机器怎么学习呢?既然机器的统计能力这么强,基于统计学习,一定能从大量的数字中发现一定的规律。
其实在娱乐圈有很好的一个例子,可见一斑。
有一位网友统计了知名歌手在大陆发行的 9 张专辑中 117 首歌曲的歌词,同一词语在一首歌出现只算一次,形容词、名词和动词的前十名如下表所示(词语后面的数字是出现的次数):
如果我们随便写一串数字,然后按照数位依次在形容词、名词和动词中取出一个词,连在一起会怎么样呢?
例如取圆周率 3.1415926,对应的词语是:坚强,路,飞,自由,雨,埋,迷惘。稍微连接和润色一下:
坚强的孩子,
依然前行在路上,
张开翅膀飞向自由,
让雨水埋葬他的迷惘。
是不是有点感觉了?当然真正基于统计的学习算法比这个简单的统计复杂的多。
然而统计学习比较容易理解简单的相关性,例如一个词和另一个词总是一起出现,两个词应该有关系,而无法表达复杂的相关性,并且统计方法的公式往往非常复杂,为了简化计算,常常做出各种独立性的假设,来降低公式的计算难度,然而现实生活中,具有独立性的事件是相对较少的。
于是人类开始从机器的世界,反思人类的世界是怎么工作的。
人类的脑子里面不是存储着大量的规则,也不是记录着大量的统计数据,而是通过神经元的触发实现的,每个神经元有从其他神经元的输入,当接收到输入的时候,会产生一个输出来刺激其他的神经元,于是大量的神经元相互反应,最终形成各种输出的结果。例如当人们看到美女瞳孔放大,绝不是大脑根据身材比例进行规则判断,也不是将人生中看过的所有的美女都统计一遍,而是神经元从视网膜触发到大脑再回到瞳孔。在这个过程中,其实很难总结出每个神经元对最终的结果起到了哪些作用,反正就是起作用了。
于是人们开始用一个数学单元模拟神经元:
这个神经元有输入,有输出,输入和输出之间通过一个公式来表示,输入根据重要程度不同(权重),影响着输出。
于是将n个神经元通过像一张神经网络一样连接在一起,n这个数字可以很大很大,所有的神经元可以分成很多列,每一列很多个排列起来,每个神经元的对于输入的权重可以都不相同,从而每个神经元的公式也不相同。当人们从这张网络中输入一个东西的时候,希望输出一个对人类来讲正确的结果。例如上面的例子,输入一个写着2的图片,输出的列表里面第二个数字最大,其实从机器来讲,它既不知道输入的这个图片写的是2,也不知道输出的这一系列数字的意义,没关系,人知道意义就可以了。正如对于神经元来说,他们既不知道视网膜看到的是美女,也不知道瞳孔放大是为了看的清楚,反正看到美女,瞳孔放大了,就可以了。
对于任何一张神经网络,谁也不敢保证输入是2,输出一定是第二个数字最大,要保证这个结果,需要训练和学习。毕竟看到美女而瞳孔放大也是人类很多年进化的结果。学习的过程就是,输入大量的图片,如果结果不是想要的结果,则进行调整。如何调整呢,就是每个神经元的每个权重都向目标进行微调,由于神经元和权重实在是太多了,所以整张网络产生的结果很难表现出非此即彼的结果,而是向着结果微微的进步,最终能够达到目标结果。当然这些调整的策略还是非常有技巧的,需要算法的高手来仔细的调整。正如人类见到美女,瞳孔一开始没有放大到能看清楚,于是美女跟别人跑了,下次学习的结果是瞳孔放大一点点,而不是放大鼻孔。
听起来也没有那么有道理,但是的确能做到,就是这么任性。
神经网络的普遍性定理是这样说的,假设某个人给你某种复杂奇特的函数,f(x):
不管这个函数是什么样的,总会确保有个神经网络能够对任何可能的输入x,其值f(x)(或者某个能够准确的近似)是神经网络的输出。
如果在函数代表着规律,也意味着这个规律无论多么奇妙,多么不能理解,都是能通过大量的神经元,通过大量权重的调整,表示出来的。
这让我想到了经济学,于是比较容易理解了。
我们把每个神经元当成社会中从事经济活动的个体。于是神经网络相当于整个经济社会,每个神经元对于社会的输入,都有权重的调整,做出相应的输出,比如工资涨了,菜价也涨了,股票跌了,我应该怎么办,怎么花自己的钱。这里面没有规律么?肯定有,但是具体什么规律呢?却很难说清楚。
基于专家系统的经济属于计划经济,整个经济规律的表示不希望通过每个经济个体的独立决策表现出来,而是希望通过专家的高屋建瓴和远见卓识总结出来。专家永远不可能知道哪个城市的哪个街道缺少一个卖甜豆腐脑的。于是专家说应该产多少钢铁,产多少馒头,往往距离人民生活的真正需求有较大的差距,就算整个计划书写个几百页,也无法表达隐藏在人民生活中的小规律。
基于统计的宏观调控就靠谱的多了,每年统计局都会统计整个社会的就业率,通胀率,GDP等等指标,这些指标往往代表着很多的内在规律,虽然不能够精确表达,但是相对靠谱。然而基于统计的规律总结表达相对比较粗糙,比如经济学家看到这些统计数据可以总结出长期来看房价是涨还是跌,股票长期来看是涨还是跌,如果经济总体上扬,房价和股票应该都是涨的。但是基于统计数据,无法总结出股票,物价的微小波动规律。
基于神经网络的微观经济学才是对整个经济规律最最准确的表达,每个人对于从社会中的输入,进行各自的调整,并且调整同样会作为输入反馈到社会中。想象一下股市行情细微的波动曲线,正是每个独立的个体各自不断交易的结果,没有统一的规律可循。而每个人根据整个社会的输入进行独立决策,当某些因素经过多次训练,也会形成宏观上的统计性的规律,这也就是宏观经济学所能看到的。例如每次货币大量发行,最后房价都会上涨,多次训练后,人们也就都学会了。
网易将人工智能这个强大的技术,应用于反垃圾工作中,从网易1997年推出邮箱产品开始,我们的反垃圾技术就在不停的进化升级,并且成功应用到各个亿量级用户的产品线中,包括影音娱乐,游戏,社交,电商等产品线。比如网易新闻、博客相册、云音乐、云阅读、有道、BOBO、考拉、游戏等产品。总的来说,反垃圾技术在网易已经积累了19年的实践经验,一直在背后默默的为网易产品保驾护航。现在作为云平台的SaaS服务开放出来。
回顾网易反垃圾技术发展历程,大致上我们可以把他分为三个关键阶段,也基本对应着人工智能发展的三个时期:
第一阶段主要是依赖关键词,黑白名单和各种过滤器技术,来做一些内容的侦测和拦截,这也是最基础的阶段,受限于当时计算能力瓶颈以及算法理论的发展,第一阶段的技术也能勉强满足使用。
第二个阶段时,基于计算机行业里有一些更新的算法,比如说贝叶斯过滤(基于概率论的算法),一些肤色的识别,纹理的识别等等,这些比较优秀成熟的论文出来,我们可以基于这些算法做更好的特征匹配和技术改造,达到更优的反垃圾效果。
最后,随着人工智能算法的进步和计算机运算能力的突飞猛进,反垃圾技术进化到第三个阶段:大数据和人工智能的阶段。我们会用海量大数据做用户的行为分析,对用户做画像,评估用户是一个垃圾用户还是一个正常用户,增加用户体验更好的人机识别手段,以及对语义文本进行理解。还有基于人工智能的图像识别技术,更准确识别是否是色情图片,广告图片以及一些违禁品图片等等。
网易人工智能的第二个应用就是七鱼全智能云客服,也是从第一代的关键字匹配,到后来基于概率的NLP,和基于深度学习神经网络的第三代,逐渐发展到今天的。
AlphaGo事件,让人工智能开始如火如荼,我们发现很多领域都是这样子的,当大牛没有拿出相应的方案来讲,大部分都是干看着没有办法,自从TensorFlow出来,大大降低了机器学习和人工智能的门槛,所以说很多号称人工智能的公司开始冒了出来,这里面往往概念多,落地少,外延无限扩大。
其实目前深度学习形成的模型,适用范围非常小,通用性相对比较差,往往只能干某一件特殊的事情,例如我们如果有很多电商的数据,我们就可以用来做客服,但是客服性质的模型不能用来反垃圾,我们有很多邮箱反垃圾的数据,可以训练出检测垃圾数据的模型,但是这个模型就不能用于推荐音乐,所以通用的人工智能还任重道远,当前在工业界需要找到非常聚焦的场景化落地,才能让人工智能尽快应用起来。
网易云计算基础服务为您提供容器服务,欢迎点击免费试用。
相关文章:
【推荐】 浅析Kubernetes的工作原理
标签:ec2 神经网络 权重 href nbsp 选择 多列 工资 文章
原文地址:https://www.cnblogs.com/zyfd/p/10008963.html