ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

斯坦福深度视觉识别课程cs231n 学习笔记三:神经网络

2021-02-21 12:31:18  阅读:209  来源: 互联网

标签:cs231n 梯度 斯坦福 传播 神经网络 反向 np 如图


斯坦福深度视觉识别课程cs231n 学习笔记三:神经网络

反向传播

一个简单的例子

在这里插入图片描述
如图,z=f(x,y)为一个结点,由输入x,y得到预测值z,计算损失值L,可得到L对z的偏导数。根据链式求导法则,可求得L对x和y的偏微分,将计算得到的偏微分继续往前传播,即为反向传播。

具体例子

加法门:梯度分配器

如图,z=x+y,z对x的偏导为1,z对y的偏导为1,因此x处的反向传播值等于上游梯度乘1,等于2,同理,y处的反向传播值等于上游梯度乘1,等于2。
在这里插入图片描述

max门:梯度路由器

如图,z=max{x,y},反向传播至x,y中的较大值,较小值为0,即x的反向传播值为2,y的反向传播值为0。
在这里插入图片描述

乘法门:梯度转换器

如图,z=x*y,z对x的偏导为y,z对y的偏导为x,则x处的反向传播值等于上游梯度乘y,等于-8,y处的反向传播值等于上游梯度乘x,等于6。
在这里插入图片描述

两个上游结点

如图,有两个上游结点时,应该分别反向传播的值相加,进行运算。
在这里插入图片描述

一个向量的例子

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于df/dqi=2qi,则qi的反向传播值为上游梯度乘2qi,例如,q1处的反向传播值=1.0020.22=0.44。
在这里插入图片描述
因为dqi/dwij=xi,则wij处的反向传播值为xi乘qi处的反向传播值,例如,w11处的反向传播值=0.2
0.44=0.088。又因为dqi/dxj=wij,则xj处的反向传播值q1w1j+q2w2j,例如x1处的反向传播值=0.440.1-0.30.52=-0.112。
在这里插入图片描述

神经网络

神经元基本结构

举例如下,输入变量及对应的权值,在神经元内进行运算,运算也可以是非线性运算,得到运算结果,作为变量输入激活函数,激活函数值即为神经元输出。
在这里插入图片描述

常用激活函数

在这里插入图片描述
通过激活函数作用,可以将输出映射成离散的分类值。

神经网络结构

多个神经元按一定规律组织结构,可构成神经网络,如图,第一层被称为输入层,最后一层被称为输出层,中间各层被称为隐藏层。当隐藏层最后一层的输出分别输入到输出层的输入,此时又叫做全连接层。
在这里插入图片描述

前向传播代码示例

以上图为例

class Neuron:
	def feed_forward():
		#前向传播三层神经网络
		f=lambda x:1.0/(1.0+np.exp(-x))
		x=np.random.randon(3,1) #随机输入3*1的向量
		h1=f(np.dot(W1,x)+b1) #计算第一层隐藏层
		h2=f(np.dot(W2,h1)+b2)#计算第二次隐藏层
		out=np.dot(W3,h2)+b3 #计算输出
		return out

标签:cs231n,梯度,斯坦福,传播,神经网络,反向,np,如图
来源: https://blog.csdn.net/weixin_40796275/article/details/113895811

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有