看,大脑内部上千亿个神经元是平等的。并不存在“某一小撮神经元高于其他周边神经元、从而在处理信息时先由这一撮神经元预处理、预处理完之后再交给下一撮神经元处理”这样的先后顺序。
(神经网络当然还有其他很多基础特点,这里仅仅讨论和“遗传算法/退火算法”的主要区别,所以不多赘述了。否则能水几万字,大家还看不懂。)
当年“神经网络”的概念被提出时,就是为了探讨一种让电脑高效处理类似于“找到礼堂里到底有没有我认识的人”问题的新方法:如果可以有多个电脑,自然随机地分配任务,并行从多个点开始用就近算法寻找,那么自然可以在“单核cpu”性能比较弱的情况下,通过堆砌cpu数量加快问题的解决速度。
但这个概念并没有“节约计算资源”,因为理论上它只是把“1台电脑10小时工作量”变成了“10台电脑1小时的工作量”而已。而且这种最原始的“神经网络”也依然没法解决那些“似是而非”的模糊问题——他们只能回答“有我认识的人/没有我认识的人”这种非此即彼的问题。
库克点名了在这个领域让顾诚对其应用模型说出个子丑寅卯来,顾诚自然不能避战。
“我拜读过辛顿教授对于神经网络的最新模型假说,卷积神经网络,以及与之配套的学习型算法。我认为这个东西可以和互联网的自动识别/索引工具相结合。至于具体的应用场景么……那就属于商业机密了,恕我无可奉告。”
“卷积神经网络的新用法?”
史蒂芬.库克教授一愣,但很快冷静下来,他可不是一个概念就能忽悠住的。
“看来,顾先生要论述的重点,就在于‘卷积’上面了?”
“没错,如果没有‘卷积’,仅有‘神经网络’,我们依然没法讨论近似于人脑判断的模糊问题。”顾诚一副成竹在胸的样子,似乎对对方的反应早有预判。
他打开电脑,接上投影仪,屏幕上出现了一张猫的图片。
“我用图上这只猫举例子——尽管这只猫一只耳朵竖着一只耳朵折了,眼珠瞳孔也有点不正常,尾巴还特别短,毛色肮脏还和照片的背景色非常接近,但我作为一个人类,还是一眼就认出了这确实是一只猫。
现在,我用我根据辛顿教授的阀值思想编写的自学程序,用机器对这只猫是否是猫进行初次预判。在这个算法里,我们预构了30个组合特征量,比如‘猫眼’、‘猫耳’‘猫毛’、‘猫尾’……然后用三十个神经元单位的处理资源,分别针对每一个组合特征量进行预判,然后分别给出结果。
在这三十个神经元单位内部,我们再根据‘本图猫眼与本神经元见过的猫眼’之间的像素相似度作出判断,给出一个积值,从而得到‘这有85%概率是一只猫眼’或者‘有70%概率是一只猫耳’之类的参考量。最后,把这30个组合特征量按照默认1:1的权重进行组合,最终平均分高于60分就判定‘这是一只猫’。”
“那成功率肯定很可怜。”库克教授耸耸肩,一脸的悲悯。
“当然很可怜,因为我的实验才开始呢——做到这一步,并不是要让机器判断正确,而是在机器判断完之后,让人眼再复查一遍。如果机器和人的判断结果一致,那么就给目前的特征量分组方式和每个特征量的权重比例数组加1分。
然后,再判断下一次。如果还对,再加一分。直到判断错了,然后就自动对现有权重比例数组作出调整:比如,此前判断正确的两次‘平均分60分’的结果中,‘猫眼’得分分别是75和80分,而‘猫耳’得分是45和40分。而判断错误的那一次‘平均分60分’的结果中,‘猫眼’是50分‘猫耳’是70分。那么,我们就可以得出一个结论:决定猫是否长得像猫的所有特征变量中,‘猫眼’是比‘猫耳’更关键的变量,在计算综合分的时候应该提升其权重。
最后,按照这个逻辑让这套算法看一百张猫图,一千张,一万张……算法自然会总结出一套‘即使不全对,但正确概率越来越高的判断权重’。”
人类的小孩儿,在3岁的时候学习认各种东西,其实大脑里就是这么算的。没什么非坚持不可的特征,看个几百只猫,自然而然就调整各个特征权重,知道什么是猫了。
没有任何一个变量,拥有“一票否决”的权力。充其量,只是其在卷积神经网络中的“积分量”比较高而已。正是因为如此,人类才可以在看到一只双眼彻底被挖掉的猫时,依然认出这是一只猫。
……
顾诚的整体论述,自然是非常冗长的,难以一一赘述。
其中很多关窍,说透了之后也完全通俗易懂,根本没什么逼格。
但是顾诚至少为“如果做不到全对,就没有商业价值”的卷积神经网络,提供了一种“就算现在做得还不太好,也能在一两年内就取得阶段性商业变现可能性”的路径。
史蒂芬.库克教授与之交谈良久,最后默然不知如何应对。
“神