【原创】不用一句深度学习术语来讲解神经网络运作原理

原创文章,转载请注明出处

神经网络==多层级组织架构的公司

假设有一家公司,这家公司的组织架构是下面这种多层级的结构:

公司每天接待一批固定数量的用户,这些用户会将自己的数据告诉给公司,公司做的事情就是通过每个用户上报的数据来推测当前用户群体整体所表现出来的状态。

公司中直接与用户打交道的只有基层业务员,小部门经理只与基层业务员打交道,大部门经理只与小部门经理打交道…依此类推,层层递进,直到CEO这一层。

并且其中每一个基层业务员会了解每个用户的数据,每个小部门经理也会了解每个基层业务员输出的情况,…,依次类推,直到CEO。而CEO需要了解的是每个副总经理输出的情况。

公司拿到一批用户的数据之后,首先交给基层业务员。每个基层业务员看到了每个用户的数据之后,都会针对每一个用户出一份数据分析报表(由于每个人的观点不同,所以每个人得出的报表都不一样);然后每个小部门经理也会分别去看每个业务员输出的报表,然后自己再输出一个针对每一个基层业务员输出的数据的分析报表;同样,每个大部门经理也会去这样看每个小部门经理输出的报表,然后出一份针对每一个小部门经理输出的数据的分析报表;…;以此类推,最终CEO会输出一个针对每一个副总经理输出的数据的分析报表,这份报表里就是公司当前对用户状态的理解。

那么公司对用户状态把握到底准确不准确呢?这需要一个衡量标准。

所以我们需要对公司进行考核,将一部分已知状态的用户数据给到公司,看公司是否能足够准确的预测出这个状态。换句话说,就是CEO最后输出的这份报表,与用户的真实状态之间相差有多大。

如果CEO发现自己的预测和真实情况偏差很大,它会带头思考自己工作上到底哪里做的不够好导致最终的判断失误,以及自己需要如何调整状态才能使公司表现更好,然后号召副总经理反思并调整状态。副总经理反思调整之后,会号召他的直属下级部门反思并调整状态。以此类推,直到基层业务员。但其实每个人都不能完全保证调整的状态是否可靠,所以大家就比较保守的稍微调整一下自己的工作状态。

当全公司员工调整状态完成之后,在面对新的用户数据,看是否能更加准确的预测用户群体的状态。如果发现上面的调整确实有效,那么继续按照上面的方式调整:由CEO再次依次号召下面的员工来调整工作状态,调整之后继续面对新的用户。重复执行上面的操作若干次之后,直到公司的预测效果趋于稳定为止(和真实状态对比之后,差值基本不再变化了)。

此时的公司就相当于经历了若干次碰壁,并且若干次全员反思、调整状态之后,各个员工都成为了精兵强将了,对于用户数据的把握也更加准确了。

现在,我们回头看看公司接待的客户。假设公司每天共接待1024位用户,每个用户都举着一个纯色的卡片,卡片颜色是灰度值介于0到255之间的某个颜色。

将这些用户按顺序排在32×32的平面上,每个用户占一格。当他们将手里的纯色卡片高举并拼凑起来之后,我们会看到一个写有数字的图片。

公司做的事情就是每天接待这1024个用户,他们会告诉公司自己手里卡片的灰度值,但不会告诉公司卡片拼起来的图片是什么,然后公司经过层层分析来得出当前所有用户卡片拼起来的图像是什么。

这就是一个用户识别手写数字的DNN模型的形象比喻。


几个问题的思考

公司员工数量一定的情况下,组织架构是越扁平越好,还是层级越多越好?

扁平化的架构带来的好处是快速直接触达用户,但最终的准确率会比较低;多层级的架构带来的好处是更合理的分工,但会带来沟通和管理上的开销和数据损失。

所以如何设置公司层级是一门学问。

每个员工是如何生成报表的?

每个员工根据自己对每个数据的重要程度的看法,计算出自己对每个数据的看法。然后在经过一层加工处理之后输出报表。

公司招聘员工的时候,应该招聘类似的人群,还是招聘差异化的人群?

应该招聘差异化大的人群,这样每个人能够产生对数据的不同看法。如果公司大部分人背景相似,那么他们对待同一类问题,产生的看法也都相似,没有多样化的观点,也容易导致公司做出错误判断。


带入术语

  • 神经网络 -> 多层级结构的公司
  • 神经网络架构 -> 公司组织架构
  • 神经元 -> 每一位员工
  • 损失函数/代价函数 -> 公司最终预测结果 - 真实结果
  • 输入数据源 -> 每天所有用户的卡片灰度值向量
  • 输入数据标签值 -> 所有用户卡片拼凑起来的数字图像的真实数值
  • 反向传播 -> 由CEO牵头,依次带领全公司员工反思
  • 正向传递 -> 带入每天的用户数据,层层递进,输出最终预测结果
  • 激活函数 -> 每个员工对数据的加工
  • 参数 -> 每个员工对数据的主观看法
  • 随机初始化参数 -> 招聘差异化人群
  • 输入层 -> 用户层
  • 隐藏层 -> 除了CEO之外的所有员工层级
  • 输出层 -> CEO层
  • 梯度下降 -> 公司朝着缩小预测错误程度的方向全员反思调整状态的过程
  • 学习率 -> 每次调整状态的程度α
  • 训练/学习 -> 带入大量已知状态的用户数据来根据公司的预测结果调整全员状态的过程

总结

神经网络是一个灵活的结构,当带入图片像素值以及图片标签数据时,它训练的就是一个图片识别模型;当带入的数据是邮件特征数据,以及邮件是否为垃圾邮件的类别数据时,它可能就是一个垃圾邮件识别模型。

这里的类比并不严谨,准确的定义还需要参考标准定义。不过通过形象化的类比,可以使我们对神经网络建立起系统化的认知。

坚持原创技术分享,您的支持将鼓励我继续创作!