非典型神经网络科普

 

 

最近的科技大新闻之一就是图灵奖颁给了深度学习的三位人物。深度学习,也有人泛指人工智能,这个被称为“新电力”的东西,有人捧有人喷有人将信将疑。即便没有这一奖定正宗,看其对工业服务业的影响,要从没有保守派的地方。深圳东莞、班加罗尔、西贡海防已是现在完成时,将来时的“非洲硅谷” 不在南非在肯尼亚。这里什么基础都没有,正是滋长的沃土。

非典型神经网络科普_第1张图片

中青年跃进主题曲

那么对深度学习或者具体说是前向神经网络做一点通俗的诠释,完全非科普仅供笑纳。一个人工神经网络,就像人脑或者真的神经网络一样,是用来完成任务的。前者让机器完成任务,后者让人完成任务,这些任务比如各种认知、判断、决策等等。比如,大到一年、一个季度、一月、两周、一周、一天的计划,小到今天几点上班,坐几路车,先收邮件还是先寒暄,一个个都是任务啊。。。这一个单位时间,比如一天,姑且就类比为一此任务批处理(batch)。接下来处理这批任务,除了网络本身,还需要什么,网络才能工作呢?然后又是怎么工作的呢?

首先,还需要积累经验,见过人生百态各种数据。比如,在CBD上班的数据可能就跟在高校的很不一样。。这个叫训练数据,经验就叫做权重。一些常识会给网络基本经验,这个叫初始化权重。如果你跟一位已经很有工作经验的实习,决策有可能是他做,但任务是你执行,这个叫做微调(finetuning)。

其次,每天醒来,就要开始往前冲,训练自己处理一个个的任务。比如,一早打开电脑过完20封新邮件,其中有5个需要回复,2个文档需要更新,1个bug需要处理,如此等等。这个叫前向传播。经验还不是最重要的,只要训练的久总会积累些经验。更重要的是洞见(insight),就是做完一个任务得到独到的领悟。我们姑且把这种洞见或领悟称作梯度。梯度跟权重有关,但更难得到一些;这就像洞见基于经验,但更难悟到一样。

然后,光做任务还不够,还得评价做的怎么样。10点寒暄完坐定,11点读完邮件,12点回复完邮件,然后吃午饭到1点,感叹起个大早上午就过去了。。这个叫损失函数。

接着,损失很小,继续这样做;损失很大,就要纠正做法。比如,渐渐学会泛读邮件,只立即回复需要立即回复的邮件,并且三言两语回复,多了就约当面谈。于是,上午就可以开始准备一天的工作了。为什么呢?因为处理一上午邮件,吃完饭开始准备今天工作的这种方式,导致了低效率,进而要加班,绩效不好还很累,渐渐地反思为什么?这种从经历的事情、积累的经验中复盘的过程,就叫做反向传播和更新权重。反向传播传递的不是数据、权重,而是梯度;这就像复盘不是为了回放本身,而是为了悟出一些道理,一些在正向做任务的时候不曾想到的道理。比如,谁谁谁总是说很理解我的处境,也的确是在为我着想;现在回头看,他不过是为了说服我,为的还是自己的利益。。领悟往往是沉重的,这就像梯度不好计算一样。

完了吗?还没有!带着这么称重的领悟,又去开始新一天的通关吗?这么累一天,不需要休息一下吗?是的,我们的思维都需要重置一下:明天的某某某,不见得就是过去的谁谁谁;即便明天还是谁谁谁,明天的谁谁谁不见得就一定会是过去的谁谁谁。我们要以开放、包容的心态看世界,如果带着沉重的洞见去开始新的一天,那么洞见就成了成见。睡一觉抛开洞见,这个动作叫做梯度置零。睡眠是对人脑神经网络的重置,神经学都还没有搞清楚睡眠或者做梦的时候,神经元的信息传递在做什么样的信息整理和归纳。但不可否认的是,一觉醒来,我们总有焕然一新的感觉,昨晚想不开的事情,尽早就觉得不算个事了,昨晚特别想发出的邮件,尽早就在庆幸没有发出去,等等。

然后,我们开始新一天的通关,就像神经网络训练到了下一个batch。还有很多的概念,比如epoch、mini-batch、梯度下降等,都可以套这个例子去诠释。但大概的意思已经讲明(you get the point),我就不生搬硬套下去了。

一点复盘,这个梯度置零是在实际中非常重要但又经常忘记的一个操作。清零就是回到原点。人生是一圆周,会有一些节点,过了节点,圆周上跑的越远,直线距离越近,甚至冲回原点,丈量走过的不是距离,而是轨迹,而不回到初始的位置就不能再出发。所谓初心也好,做一张白纸也罢,我们应该经常问一问自己:今天,我有没有给自己清零呢?腾飞的时候置零,不飘飘然;下沉的时候置零,不黯黯然。不要忘咯,抛出一个球自由落体,上升时经过的每一个点见到的每一个人,都将在下落的时候在一个经过或见到。所以啊,傻有傻福;上得台面,忍得委屈;丢得起来,沉得下去;难得鼓励,难处是福!

你可能感兴趣的:(杂)