码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 深度学习-神经网络原理2


    神经网络的原理

    对于一个神经网络我们可以分为输入层,隐藏层,输出层,对于神经网络的训练可以分为正向传播和反向传播。这里对神经网络不同层次的数据表示进行约定。这里我们以一个二层的神经网络模型进行演示。
    在这里我们将A0定义为输入层数据,将A1定义为隐藏层数据,最后的A2定义为输出层数据。这A0时输入的矩阵通常为(m,n)m为特征个数,n为样本个数。对于L层,AL层为a个元素,L-1层有b
    个,这里我们就可以直到WL为形状(a,b)的矩阵,bL为(1,b)的矩阵,输入的AL-1为(b,n)的矩阵,得到ZL和AL为(a,n)的矩阵。

    向前传播

    向前传播比较简单,主要就是和上面图片一样,每一层可以看作一个单独的逻辑回归,只不过一层的激活函数可能不同,通常使用的是Relu或者tanh函数作为激活函数。

    (1)Relu(x)={0,x≤0x,x>0

    tanh(x)=ex−e−xex+e−x


    具体的计算过程如下:

    Z[i]=W[i]A[i−1]+b[i]

    A[i]=σ(Z[i])

    Z[i+1]=W[i+1]A[i]+b[i+1]

    A[i+1]=σ(Z[i+!])

    反向传播

    反向传播的本质是依据链式发展对每一层都求出w和b的偏导数,只用进行一个变量修改,实现对代价函数的一个求极值过程。假设该神经网络有L层,最后一层的激活函数为:

    A[L]=sigmod(z)=11+e−z

    对于代价函数可以求得为:

    J(W,b)=−1m∑1m[yilog(ALi)+(1−y)log(1−ALi)]

    所以对于最后一层我们可以计算得到:

    dJdAL=−1m[YAL−−1−Y1−AL]

    这里计算的是矩阵除法,得到的对应的一个矩阵。
    之后计算关于的一个方向倒数,假设激活函数为σ(z)

    是激活函数点的导数值dJdZL=dJdALσ‘(σ‘是激活函数z点的导数值)

    已知已知ZL=WLA[L−1]+b所以可以依据链式法则求出dJdWL和dJdbL:

    dJdWL=dJdZL·dZLdWL=dJdZL·AL−1

    dJdbL=dJdZL

    依据链式法则还可以求出:

    dJdAL−1=dJdZL·WL

    之后进行循环,获取每一层对应的w和b的梯度,用于进行一个数据的更新。
    对于反向传播的具体流程大致就是上面公式所示,具体可以能符号有些错误但思想是这样的。

  • 相关阅读:
    【python】基于随机森林和决策树的鸢尾花分类
    跨境出海人必备的营销指南:海外各大社交媒体的对比
    MATLAB算法实战应用案例精讲-【大模型】LLM算法(最终篇)
    【DP+贪心】跳跃游戏
    微医CodeReview工具链
    一级造价工程师(安装)- 计量笔记 - 第六章第三节通信设备及线路工程
    深度学习常见激活函数:ReLU,sigmoid,Tanh,softmax,Leaky ReLU,PReLU,ELU,Maxout整理集合,场景应用
    密码学中的RSA算法与椭圆曲线算法
    网络安全应急响应与实践合集
    java线程池
  • 原文地址:https://www.cnblogs.com/blackworld-sp/p/16562787.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号