我们可以引⼊⼀种称为S 型神经元的新的⼈⼯神经元来克服这个问题,S 型神经元和感知器类似,然则被修改为权重和偏置的微⼩修改只激发誓出的微⼩变更。这对于让神经元⽹络进修起来是很关键的。
为什么要介绍⼆次价值呢?毕竟我们最初感兴趣的内容不是能精确分类的图像数量吗?为什么不试着直接最⼤化这个数量,⽽是去最⼩化⼀个类似⼆次价值的借居评量呢?这么做是因为在神经⽹络中,被精确分类的图像数量所关于权重和偏置的函数并不是⼀个腻滑的函数,⼤多半情况下,对权重和偏置做出的微⼩更改完全不会影响被精确分类的图像的数量,这会导致我们很难去解决若何改变权重和偏置来取得改进的机能,⽽⽤⼀个类似⼆次价值的腻滑价值函数则能更好地去解决若何⽤权重和偏置中的微⼩的改变来取得更好的效。
这就是选择MSE的原因,我们又有了一些悟道。
我们练习神经⽹络的⽬的是找到能最⼩化⼆次价值函数 C(w,b) 的权重和偏置,然则如今它有很多让我们分散精⼒的构造 —— 对权重 w 和偏置 b 的解释,晦涩不清的 σ 函数,神经⽹络构造的选择,MNIST 等等,事实证实我们可以忽视构造中⼤部分,把精⼒集中在最⼩化⽅⾯来懂得它。
好了,假设我们要最⼩化某些函数,C(v),它可所以随便率性的多元实值函数,v = v 1 ,v 2 ,...。留意我们⽤ v 代替了 w 和 b 以强调它可能是随便率性的函数 —— 我们如今先不局限于神经⽹络的情况。为了最⼩化 C(v),想象 C 是⼀个只有两个变量 v1 和 v2 的函数:
我们欲望有⼀个算法,能让我们找到权重和偏置,以⾄于⽹络的输出 y(x) 可以或许拟合所有的练习输⼊ x。为了量化我们若何实现这个⽬标,我们定义⼀个价值函数,也叫损掉函数或目标函数:
我们想要的是找到 C 的全局最⼩值,当然,对于上图的函数,我们⼀眼就能找到最⼩值,那意味着,也许我展⽰的函数过于简单了!平日函数 C 可能是⼀个复杂的多元函数,看⼀下就能找到最⼩值可是弗成能的。
找到最⼩值可是弗成能的。⼀种解决这个问题的⽅式是⽤微积分来解析最⼩值。我们可以计算导数去寻找 C 的极值点。运⽓好的话,C 是⼀个只有⼀个或少数⼏个变量的函数,然则变量过多的话那就是恶梦,⽽且神经⽹络中我们经常须要⼤量的变量—最⼤的神经⽹络有依附数亿权重和偏置的价值函数,极其复杂,⽤微积分来计算最⼩值已经弗成⾏了。
微积分是不克不及⽤了。荣幸的是,有⼀个漂亮的推导法暗⽰有⼀种算法能获得很好的效不雅。⾸先把我们的函数想象成⼀个⼭⾕,只要瞄⼀眼上⾯的画图就不难解得,我们想象有⼀个⼩球大年夜⼭⾕的斜坡滚落下来。我们的⽇常经验告诉我们这个球最终会滚到⾕底。也许我们可以⽤这⼀设法主意来找到函数的最⼩值?我们会为⼀个(假想的)球体随机选择⼀个肇端地位,然后模仿球体滚落到⾕底的活动。我们可以经由过程计算 C 的导数(或者⼆阶导数)来简单模仿——这些导数会告诉我们⼭⾕中局部“外形”的⼀切,由此知道我们的球将如何滚动。
留意,知道我们的球将如何滚动这是核心。
我们将⽤符号 x 来表⽰⼀个练习输⼊。为了⽅便,把每个练习输⼊ x 看作⼀个 28×28 = 784维的向量,每个向量中的项⽬代表图像中单个像素的灰度值。我们⽤ y = y(x) 表⽰对应的期望输出,这⾥ y 是⼀个 10 维的向量。例如,如不雅有⼀个特定的画成 6 的练习图像,x,那么y(x) = (0,0,0,0,0,0,1,0,0,0) T 则是⽹络的期望输出。留意这⾥ T 是转置操作,把⼀个⾏向量转换成⼀个列向量。
为了更精确地描述这个问题,让我们思虑⼀下,当我们在 v1 和 v2 ⽅向分别将球体移动⼀个很⼩的量,即 ∆v1 和 ∆v2 时,球体将会发⽣什么情况,微积分告诉我们 C 将会有如下变更:
我们要寻找⼀种选择 ∆v 1 和 ∆v 2 的⽅法使得 ∆C 为负;即,我们选择它们是为了让球体滚落,为了弄明⽩若何选择,须要定义 ∆v 为 v 变更的向量,∆v ≡ (∆v1 ,∆v2 ) T ,T 是转置符号,我们也定义 C 的梯度为偏导数的向量,⽤ ∇C 来表⽰梯度向量,即:
有了这些定义,∆C 的表达式可以被重写为:
这个表达式说清楚明了为什么 ∇C 被称为梯度向量:∇C 把 v 的变更接洽关系为 C 的变更,正如我们期望的⽤梯度来表⽰,然则这个⽅程真正让我们高兴的是它让我们看到了若何拔取 ∆v 才能让∆C 为负数,假设我们拔取:
推荐阅读
《2016年度中国云办事及云存储市场分析申报》于近日宣布,经由过程对云办事及云存储市场全方位分析,揭示市场近况。数据显示,2016年,中国云办事市场范围达到516.6亿元。估计2017年,中国>>>详细阅读
本文标题:理解深度学习的钥匙 –启蒙篇
地址:http://www.17bianji.com/lsqh/34781.html
1/2 1