久爱文学

手机浏览器扫描二维码访问

第二章 程序的优化

为了更好的训练这个智能程序,王石已经把这个核心挂在聊天程序上好几个月了,程序也确实按照王石的设想那想变得越来越人性化。
现在基本上王石的聊天活动都是由这个程序代劳的,而对方也基本没有看出来,自己在与一个程序在聊天,只是有时候会觉得王石的回复有点弱智,有点惊讶罢了。

虽然程序的表现越来越好,可是王石也有苦恼,那就是越来越大的神经元数据库和越来越慢的反应速度。

虽然一早就料到了程序在成长的过程中,这些问题是迟早会出来的,但是由于成长的速度超出了王石的想象,所以,这些问题就提前到来了。

程序的成长性主要是由可扩展的神经元数据库和外挂的语言库决定的,到现在为止,神经元数据库的条目已经有十几万条了。而语言库则由开始的2兆多不到3兆字节扩展到了2个多G的体积。足足增加了近上千倍。由于核心基本没变,在体积变大的同时,程序的反应速度也就不可避免的开始变得迟钝。

既然出现这样的问题,那么就要把它给解决,这是王石的一贯作风,其实,王石因为早就料到了这个问题,所以王石老早也就准备好了好几套解决方案,最简单的方案就是升级硬件,让计算机的速度加快,但是王石现在还是学生,虽然由于不错的计算机水平,还能接点活赚点外快,但也不是很多。所以这方案基本被否决了。

那么只能从程序优化上作文章了,由于一开始设计的时候,把神经元的工作模式制作成了核心,把神经元构造成了数据库的模式。而且一开始虽然定义了每个神经元的连结数量,按照使用频率的权值进行增减,但是由于开始时库的容量比较小,所以没有启用这个功能,这就导致了这个连接的数目是按照神经元的条数的指数形式进行增长的。因为每个连接都要被处理的,所以最后计算资源全部消耗在这个地方上了。

幸好核心程序一开始就预留了这个功能模块的接口,使得这一步的工作量大大减小。王石大约花了一个下午时间编好了模块,重新编译连接了整个模块,又通过一星期时间的调试。算是完成了这一步,按照王石的估计,这下连接的数目增长方式可能会变成线性增长的方式。因为,对于单个神经元来说,连接的数目最大数是按照使用频率的来确定的,使用频率越高,那么可连接到其它神经元的连接最多的数目也可以更多,这从整体上限制了连接数目暴发式增长的可能性。但是为了消除由于设置这个限制的影响。这就有必要考虑这个连接的取舍问题。若是由于不加考虑的随便取消一个连接,则将会导致整个系统的逻辑混乱和失去稳定定性。

举个例子,比如说,一个人的关系网,一个人上有爸爸妈妈爷爷奶奶,旁边有老婆,下有儿子女儿孙子孙女,还有兄弟姐妹,而且还有工作上的一些关系,而这些人基本上这也有这么一些关系。而这些关系呢,也就有了远近亲疏之分,而所有这些关系里面,对这个人影响最大的,当然就是最亲最近的人了,然后按照亲疏远近的不同,影响力逐渐减小。所以当关系较远的人发生什么事情,基本上影响不到这个人,自然没有这种关系也无所谓,但是关系较近的人发生了这种事情,那么就会发生很大的影响,当突然之间取消掉这个关系的话,那么情况就会发生突然的变化,从而导致关系网的混乱。而王石构造的这个神经网络与此类似。那个影响力大小和亲近程度就代表了那个连结的强度。这个连接的强度是在的训练中不断调整并趋向于稳定的。很显然,假如有一天,要让你选择你只能保留一百个人之间的关系的话,你会怎么选择呢?自然是按照关系的亲近程度来进行选择的。

幸好由于一开始的时候已经考虑了这个问题,所以王石没花多少时间就完成了这个模块的编制,这个模块的首要问题就是将当前的神经元的输出端按连结强度进行排序,取消超额的末尾那些连结。

一开始的时候,系统的限额并不好估计,大了的话,没有达到精简的效果,小了的话,会导致系统的不稳定。最后,王石通过统计现有神经元数据库中的连结分布情况,发现结果是确实存在使用次数与连结数量的之间的关系,使用次数多了,连结数量都比较庞大。王石最后选择一些简单的函数用最小二乘法去拟合后,没花多少功夫就确定了一个反三角的函数可以较好的拟合这些统计结果。

采用这个函数作为确定连结配额的函数,以连结的使用次数作为参数,就能计算出该神经元所能拥有连结数的限制值,这样,当核心执行这条神经元的时候,会不再计算超出限制值以外的连结。因为限额以外的那些连结是无关紧要的。不会对整个系统产生太大的影响。

在这个模块的代码完成后,王石觉得还可以再做一个优化工作,那就是对整个神经元数据库进行排序,按使用的频率来进行,由于整个程序在进行“思考”的时候,很是消耗计算资源,所以这个排序工作就不能在放在核心之中,必须是另做一个线程,而且优先级必须低于这个核心线程。当核心线程执行的时候,它必须无条件的停止,让出计算资源来。

大约花了两个月的时间,程序的优化工作算是完成了。反应速度快了,回答问题的准确性,逻辑性也增加了。以前CPU占用率长时间100%也降下来了。现在平均40%左右上下浮动,也算是暂时解决了王石的当前问题。

这下子,王石基本上把聊天这部分工作扔给了这个程序。因为已经没有人在不知道的情况下还能分辨得出来,与自己聊天的是程序还是人。己经砌底人性化起来了。

而这时,王石的大学生涯也只剩下最后一学期了。由于把所有时间都花在了这个程序上面,王石在其他方面一片苍白。人其貌不扬,性格孤僻,无恋爱史,成绩也就能刚刚过,虽然不少同学都知道他在程序方面水平不错,不过也没听说有什么成果出来,熟悉的一些同学也只知道他在编一个聊天程序。不过呢,那也太简漏了。根本看不上眼。而本身王石的性格也是比较孤僻的,基本上也太多要好的朋友。这也导致了王石也不愿意把这个程序公开出来。王石的直觉觉得这样做是不妥当的。

最后一学期,一般主要任务就是毕业论文或毕业作品,比如象王石他们计算机专业的,既可以写一篇论文,也可以做一个软件。本来,王石想给智能聊天程序做个语音输入输出模块的,不过有一件事情让他改变了主意。

最新更新
热门小说推荐

网王之龙马乖乖进我怀抱吧

“龙马,抱抱”某女不知廉耻的伸出手臂,朝着旁边的少年伸去,某男一脸不愿,但还是双手一伸,把某女抱在怀中,某女露出邪邪的微笑,更加靠近某男。“呐,龙马,痛痛,呼呼”某女眨着灵动的大眼睛,望着远处正在打网球的某男,迈着腿往某男走去,某男一脸黑线,他刚刚打到兴头上说的,但看到某女大眼中充满了薄薄的雾气,抬起某女的手轻轻的吹起。“龙马,亲亲”某女继续发挥厚颜无耻的功力,某男一脸尴尬,刚想跑,这时,某女,一脸邪恶,拉着某男,轻轻的说,龙马害羞了,没事,我来主动就好了,说完,踮起脚尖,吻了上去,随即深入。

万人迷穿成丑女后被团宠了

顾末冉没想到自己会穿书,还是从自带万人迷属性的大美女穿成原书中的丑女配角。 被要求渣女收心,乖乖撮合原书男女主也就算了,可为什么她在现实世界中曾经喜欢过的白月光男神陆霖也出现在了书里? 顾末冉揉揉脸,醒醒,这是书里!他只是个跟陆霖长得一样的角色!于是她决心好好逆袭,势必要跟这个&......ldquo;白月光”再续前缘。 直到某天,顾末冉突然意识到,书里的陆霖和现实的陆霖,怎么好像不止是长得像呢……【展开】【收起】

她在无限游戏中屠神

萧织淼在通过一次神秘的游戏内测进入到了一个真实的异世界中,通关游戏副本后获得奉献点向神明兑换恩赐获得特殊能力和稀有物品。 为了早日通关游戏回归正常生活,萧织淼开始了她的通关(屠神)之旅。 萧织淼在过副本时惊险又刺激,却没想到到了最终boss面前,他们一个比一个放水厉害,各种稀有物......品不要钱似的塞给她。 boss一号:“狗屁神明的东西都是破烂,我给你的才是好东西,拿好不许丢掉也不许给别人!” boss二号:“我躺好了,来上......来打我吧。” boss三号:“神明都是狗屁,不许要他们的狗屁恩赐,要我。” boss四号:“爱我,不许害怕!” 萧织淼:嗯???你们这些boss都是怎么回事!怎么一个个跟妖精似的勾引人呢?! 当她重新站立在这片颓废大地,他们会站在她的身后做她最坚韧的后盾,揭露伪神之面,将真正的光散落在她身上。 而她将举起残剑,屠尽伪神!【展开】【收起】

王道传??第1季

下界境界分为:灵空境、雷结境、元婴期、风灵境、元海境、灵冰境、金丹期、化神境、溯神境、神帝。 仙界境界分为:半仙、仙者、武仙、真仙、金仙、仙王、仙皇、化仙、仙帝、万古太仙。 魔界境界分为:魔者境、聚魔境、铸魔境、宿魔境、万魔境、玄魔境、乘魔境、诸魔境、天魔境、仙魔境。 天地混乱,魔族入侵,下界将要迎来一场巨大的灾难!一个莫家废物,实力一直停留在灵空境二星,但是他去坦银城猎杀妖兽的时候,意外拥有了一个叫最强无敌顶级神尊系统,帮助莫一路之远!直到莫成为这个世界上真正的一位强者。 【新书《九武独尊》正在连载中!超火热!快来看看吧!】

左手捞钱??右手捞命

大炮新闯荡江湖,他信奉人无横财不富,马无夜草不肥的哲理,捞偏门挣快钱,结果马失前蹄,被警察抓了…… 后来他与同伴偷渡澳岛,他左手捞钱,右手捞命,凭着一腔热血,开启他的狗血人生。 钞票满天飞,你钱入你袋。

神武大晋??我打开万物起源

谢隐:吾有匹夫之力,可撼昆仑。

每日热搜小说推荐