激活层函数和affine层的反向传播

import numpy as np
#Relu函数实现带反向传播
class Relu:def __init__(self):self.mask=Nonedef forward(self,x):self.mask=(x<=0)out=x.copy()                    #复制x中的所有元素out[self.mask]=0return outdef backward(self,dout):dout[self.mask]=0dx=doutreturn dx
#如果正向传播时的输人值小于等于0.则反向传播的值为0。因此,反向传播中会便用正问传播时保存的mask,将从上游传来的doutmask中的元素为True的地方设为0。

#Sigmoid函数带反向传播
class Sigmoid:def __init__(self):self.out=Nonedef forward(self,x):out=1/(1+np.exp(-x))self.out=outreturn outdef backward(self,dout):dx=dout*(1.0-self.out)*self.outreturn dx#这个实现中,正向传播时将输出保存在了实例变量out中。然后反向传播时,使用该变量out进行计算。

#神经网络的正向传播过程中的矩阵乘积运算在几何学领域称作仿射变换(affine)。因此这里将进行仿射变换的处理实现为affine层。class Affine:def __init__(self):self.W=Wself.b=bself.x=Noneself.dW=Noneself.db=Nonedef forward(self,x):self.x=xout=np.dot(x,self.W)+self.breturn outdef backward(self,dout):dx=np.dot(dout,self.W.T)                       #在numpy模块下.T表示转置矩阵self.dW=np.dot(self.x.T,dout)self.db=np.sum(dout,axis=0)return dx

激活层函数和affine层的反向传播相关推荐

  1. 结合反向传播算法使用python实现神经网络的ReLU、Sigmoid、Affine、Softmax-with-Loss层

    结合反向传播算法使用python实现神经网络的ReLU.Sigmoid激活函数层 这里写目录标题 一.ReLU层的实现 二.Sigmoid层的实现 三.实现神经网络的Affine层 四.Softmax ...

  2. DL:神经网络算法简介之Affine 层的简介、使用方法、代码实现之详细攻略

    DL:神经网络算法简介之Affine 层的简介.使用方法.代码实现之详细攻略 目录 Affine 层的简介 批版本的Affine 层 Affine 层的使用方法 Affine 层的代码实现 Affin ...

  3. 误差反向传播和深度学习相关技巧总结

    误差反向传播和深度学习相关技巧总结 文章目录 误差反向传播和深度学习相关技巧总结 一.误差反向传播法 1.几个问题 2.简单层(加法.乘法层).激活函数层.Affine/softmax层的实现 3.误 ...

  4. 独家 | 数据科学家指南:梯度下降与反向传播算法

    作者:Richmond Alake 翻译:陈之炎 校对:zrx本文约3300字,建议阅读5分钟 本文旨在为数据科学家提供一些基础知识,以理解在训练神经网络时所需调用的底层函数和方法. 标签:神经网络, ...

  5. 第二章 反向传播算法如何工作的?

    更好的公式展现请去gitbook 连接阅读 在上一章,我们看到了神经网络如何使用梯度下降算法来学习他们自身的权重和偏差.但是,这里还留下了一个问题:我们并没有讨论如何计算代价函数的梯度.这是很大的缺失 ...

  6. CNN 反向传播推导

    CNN卷积神经网络推导和实现 本文的论文来自: Notes on Convolutional Neural Networks, Jake Bouvrie. 这个主要是CNN的推导和实现的一些笔记,再看 ...

  7. 入门机器学习(八)--神经网络参数的反向传播算法

    1. 代价函数(Cost Function) 假设我们拥有一个如下图所示的神经网络,一共有四层,分别是一层输入层,两层隐藏层,一层输出层.下面定义几个变量的意义: m:训练样本的个数,共有m个样本 L ...

  8. Day8_误差反向传播

    1.激活函数的实现 ReLU层 Relu函数 y=np.maximum(0,x) dy/dx=(1 if i >0 else 0 for i in x) 正向传播时的输入值小于等于0,则反向传播 ...

  9. 花书+吴恩达深度学习(三)反向传播算法 Back Propagation

    目录 0. 前言 1. 从 Logistic Regression 中理解反向传播 2. 两层神经网络中单个样本的反向传播 3. 两层神经网络中多个样本的反向传播 如果这篇文章对你有一点小小的帮助,请 ...

最新文章

  1. 7能看出圆的周长吗_分手后真的能看出一个人的人品吗
  2. 算法笔记_031:计算中值和选择问题(Java)
  3. 在我的ibmR40上装osx86
  4. 怎样使用计算机的桌面助手,win10系统有一个360桌面助手如何使用
  5. Domain Adaptation论文合集
  6. Problem A: 小学生的算术题
  7. 1.8 30 分钟完成桌球小游戏项目
  8. [poj3130][半平面交]How I Mathematician Wonder What You Are!
  9. 什么是正价元素和负价元素??
  10. Mac软件卸载:安全彻底地卸载Microsoft Outlook
  11. vim-python怎么用_如何在使用 Vim 时访问/查看 Python 帮助
  12. 《微信小程序-基础篇》初识微信小程序
  13. 句法分析-基于CKY的PCFG(概率上下文无法语法)
  14. CGB2202面向对象第7天
  15. 用TypeScript写界面就是个笑话, 狗屎级别的体验.根本体验不到脚本语言带来的好处.
  16. DiscuzX2.5数据库字典 值得学习
  17. 20道高频面试题(含答案),手慢无
  18. sql查询数据库表结构
  19. Google 的左手 : 近距离观察 SEO
  20. 计算机三级数据库考试题型,计算机三级《数据库技术》考试试题与答案

热门文章

  1. MongoDB的客户端管理工具--nosqlbooster
  2. 一座熟悉而陌生的城市--一个程序员的成长史(7)
  3. Android USB Accessory相关知识
  4. Nacos 1.4.1 紧急升级修复Alibaba Nacos 认证绕过漏洞
  5. 艾美捷胆固醇肉豆蔻酸酯技术信息说明
  6. 钻石继承和虚钻石继承的对象模型
  7. 吾弈乾坤(2012.03.27)
  8. 对于小学语文教学中,运用课本剧编演的教学方式,有哪些好处呢?
  9. 物联网专题17:IP地址和端口
  10. 【深入理解JVM 七】JVM垃圾回收机制