首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >跬步神经网络:基本模型解析

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

原创
作者头像
serena
修改2021-08-03 14:56:07
8402
修改2021-08-03 14:56:07
举报
文章被收录于专栏:社区的朋友们社区的朋友们

作者:严峻

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

整个神经网络可以理解成变量是所有 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++写个小程序动手跑一遍,加深理解,尝试解决简单问题,然后熟悉成熟框架。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档