如何向5岁小朋友解释神经网络?这个Reddit回答获得了5k+赞
大数据文摘出品
编译:小鱼、龙牧雪
如何向5岁小朋友解释神经网络?
Reddit有位叫做kouhoutek的大咖给出了一个超棒的答案,获得了200+条评论,6700+点赞,还吸引来了各种技术大牛的互相讨论!
答案:谁叫得响,谁说了算
想象这样一个场景:
你当教练的球队刚刚赢得了比赛,你问队员们是否想出去吃披萨或汉堡包庆祝一下。每个孩子都开始尖叫自己喜欢的食物,最后,你会选择带孩子们去吃呼声最高的那种食物。
这基本上就是一个多层神经网络的工作原理。顶层节点接收输入信息,然后每个节点都会检测输入信号的某个属性,比如,多数孩子喜欢吃汉堡,汉堡这一属性在此次食物争霸赛中所占的权值越大,针对这种食物的欢呼声就越大。
类似的还有,你会听到来自不同“节点”的不同音量的叫声:“它颜色很深!”,“它是红色的!”,“它是圆的!” 接着,下一级节点会根据刚才听到的内容喊出更复杂的特征:“它有一张脸!”,“它有毛皮!”,直到最后,会听到有个声音喊道“这是一只小猫!”。
有意思的是,并没有人告诉孩子们什么时候开始尖叫,完全是基于孩子们行动后的反馈。你的小队员们决定去吃汉堡,结果吃完发现有队员生病了。下周,他们可能不会吵着要吃汉堡,汉堡的呼声也没有第一次那么高。他们已经建立了共识,吃汉堡可能不是一个很好的选择,并且会有意避开这个选择。
神经网络也是基于相同的原理进行训练。你用大量的小猫图片和非小猫图片对网络进行训练。如果识别结果正确的话,该节点的权值会增加,所以对于类似输入,网络能更准确的识别出小猫的图片。如果识别结果错误,将会减小该节点的权值。最初,网络的识别结果是随机的,但是如果你设计正确,它会随着节点的调整而变得越来越好。所以,经常会遇到这种情况:你设计的神经网络运行效果很棒,但你却无法解释它的工作原理。
评论里将这个比喻扩展到RNN
同样,我们可以用上面那个很棒的比喻来解释RNN。
假设你的球队要做的决策不再是选择食物这么简单,而是要对正在进行的一系列运动做出判断。 例如,假设球队正在进行棒球比赛。球队中每个队员对赛况都有不同的个人见解,并且在任何时候他们都可以协作对当前的状况做出判断,并据此采取具体行动。
同样,这种决策也是基于反馈进行不断学习。一旦球队完成了一场比赛,球员们可以一起回顾比分,并作出一些分析:“比利需要靠近内场”等等,球员会相应地做出反应。随着赛季的进行,球队的成绩会变得越来越好!
“叫声”比喻的作者也说道,他的比喻和1957年的一篇文章Pandemonium: A Paradigm for Learning中提出的一个字符识别的比喻很接近。在那个比喻里,尖叫的是“小恶魔”节点们。
相关报道:
https://www.reddit.com/r/explainlikeimfive/comments/7buzbs/eli5_what_are_neural_networks_specifically_rnns/
https://wolfe4e.sinauer.com/wa04.02.html