跬步神经网络1-基本模型解析

导语: 最近开始看NN,很多疑问。微积分什么的早丢了,边看边查,记录备忘。 本篇主要是针对最基本的网络模型,解释反向传播(backpropagation)原理。

目录 跬步神经网络1-基本模型解析 跬步神经网络2-C++简单实现

跬步神经网络3-MNIST手写库初步识别

整个神经网络可以理解成变量是所有 w、b的损失函数 L,L(w1,b1,w2,b2,w3,b3…….)

为求L的极小值,使用梯度下降的方法

对每个变量求偏导,算出 **Δw、Δb

更新 w = w - lr Δw    b = b - lr Δb     lr 是步长(learning rate)

激活函数、损失函数、网络结构、训练方法、连接方式、填充方式,都有很多选择,每个选择都会影响最终结果,要达到最优需要逐步积累经验

先从最简单的开始。。。。。。

需要复习的知识点,导数和偏导数、链式法则、梯度下降

导数:二维几何场景下,可以理解为曲线上某点的斜率,在求函数极小值的时候,可以根据斜率确定下一步 X 该增大还是减小

偏导数:存在多个变量的情况下,x的偏导就是假设其他变量都是常数,然后对x求导

链式法则:借一张图

梯度下降:求导或偏导得到斜率确定变化值,更新变量得到新的值,重复上面的操作,直到斜率为0或小于设置的某个阈值(比如0.000001)

x = x - lrΔx                   y = y - lrΔy          lr 是步长

NN网络举个栗子:

神经元:

激活函数、损失函数:

网络结构:

根据上面的网络结构以及定义,可以得到:

为了更新 W24、W25,需要求 E关于W24、W25的偏导:

 计算W12偏导比较麻烦一些

 根据上面的结果,总结下面的公式:

不同的激活函数和损失函数,求导的方程不一样。

上面的例子使用 logistic函数和最小方差。

下一步打算根据上面的公式,用c++写个小程序动手跑一遍,加深理解,尝试解决简单问题,

然后熟悉成熟框架。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

深度学习优化器算法详解:梯度更新规则+缺点+如何选择

902
来自专栏决胜机器学习

深层神经网络参数调优(四) ——adam算法、α衰减与局部最优

深层神经网络参数调优(四)——adam算法、α衰减与局部最优 (原创内容,转载请注明来源,谢谢) 一、概述 本文主要讲解另外一种思想的梯度下降——adam,并...

4696
来自专栏AI科技评论

开发 | 史上最简洁易懂教程 用Excel理解梯度下降

AI科技评论按:本文作者为 Jahnavi Mahanta,前 American Express (美国运通公司)资深机器学习工程师、深度学习在线教育网站 De...

3364
来自专栏计算机视觉战队

梯度优化

梯度下降是最流行的优化算法之一并且目前为止是优化神经网络最常见的算法。与此同时,每一个先进的深度学习库都包含各种算法实现的梯度下降(比如lasagne, caf...

3699
来自专栏计算机视觉战队

各类的梯度优化

梯度下降是最流行的优化算法之一并且目前为止是优化神经网络最常见的算法。与此同时,每一个先进的深度学习库都包含各种算法实现的梯度下降(比如lasagne, caf...

3536
来自专栏林欣哲

10分钟看懂Batch Normalization的好处

Batch normalization是一个用于优化训练神经网络的技巧。具备有以下几个优点 1. 训练的更快 因为在每一轮训练中的前向传播和反响传播的额外计算会...

3776
来自专栏计算机视觉战队

机器学习------令人头疼的正则化项

监督机器学习问题无非就是在规则化参数的同时最小化误差。最小化误差是为了让模型拟合训练数据,而规则化参数是防止模型过分拟合训练数据,但训练误差小并不是最终目标,最...

3734
来自专栏社区的朋友们

跬步神经网络:基本模型解析

最近开始看NN,很多疑问。微积分什么的早丢了,边看边查,记录备忘。 本篇主要是针对最基本的网络模型,解释反向传播(backpropagation)原理。

3232
来自专栏李智的专栏

斯坦福CS231n - CNN for Visual Recognition(7)-lecture6梯度检查、参数更新

  梯度检查是非常重要的一个环节,就是将解析梯度和数值计算梯度进行比较。数值计算梯度时,使用中心化公式

1042
来自专栏人工智能LeadAI

深度学习优化器总结

每次更新我们需要计算整个数据集的梯度,因此使用批量梯度下降进行优化时,计算速度很慢,而且对于不适合内存计算的数据将会非常棘手。批量梯度下降算法不允许我们实时更新...

1143

扫码关注云+社区