
发表日期: 2021-04-27 12:54:55 浏览次数:126
丹阳网络公司哪家好【丹阳企业网站百度SEO推广公司】丹阳做网站开发价格、丹阳淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、丹阳高端企业网站页面制作设计专业公司需要多少钱
丹阳市,江苏省辖县级市,由镇江市代管,位于江苏省南部,介于北纬31°44′~32°08′、东经119°23′~119°53′之间,总面积1047平方公里。丹阳属亚热带季风气候,具有气候湿润、光照充足、雨量丰沛、无霜期长、四季分明的气候特征。截至2019年,丹阳市辖2个街道、10个镇。常住人口80.63 万人。 [1]
丹阳建置始于战国时期,初为云阳邑。《山海经》中有一条河叫“丹水”,即丹江,根据“山水阴阳,水北为阳”的理论命名丹阳。 [2] 1987年12月,丹阳撤县设市,为丹阳市,由镇江市代管。丹阳市与常州市新北区交界处建有常州奔牛国际机场,沪宁高速公路(G42沪蓉高速)、312国道、122省道、338省道等是通过公路出入丹阳的主要干道,水运有京杭大运河纵贯丹阳,大港港口是对外开放的长江第三大港。 [3]
2019年,丹阳市实现地区生产总值1121.99亿元,同比增长4.7%。 [4] 2018年12月,入选全国县域经济综合竞争力100强,2018中国大陆最佳商业城市100强、中国最佳县级城市30强。 [5] 2019年10月8日,被评为2019年度全国综合实力百强县市。 [6] 2019全国营商环境百强县。 [7] 2019年国家卫生城市。 [8] 2020年12月,社科院发布《全国县域经济综合竞争力100强》,丹阳排名第40 [9] 。
代码
对后向传递进行编码也很简单:
def matrix_function_backward_1(X: ndarray, W: ndarray, sigma: Array_Function) -> ndarray: ''' 计算矩阵函数相对于第一个元素的导数。 ''' assert X.shape[1] == W.shape[0] # 矩阵乘法 N = np.dot(X, W) # 通过sigma传递矩阵乘法的输出 S = sigma(N) # 后向计算 dSdN = deriv(sigma, N) # dNdX dNdX = np.transpose(W, (1, 0)) # 将它们相乘。因为这里的dNdX是1×1,所以顺序无关紧要 return np.dot(dSdN, dNdX)复制代码
注意,这里显示的动态效果与 1.5 节中 3 个嵌套函数示例显示的动态效果相同:计算前向传递(这里指 N)上的量,然后在后向传递期间进行使用。
这是对的吗?
如何判断正在计算的这些导数是否正确?测试起来很简单,就是稍微扰动输入并观察输出结果的变化。例如,在这种情况下, 为:
print(X)[[ 0.4723 0.6151 -1.7262]]复制代码
如果将 增加 0.01,即从
-1.7262 增加到 -1.7162,那么应该可以看到由输出梯度相对于 的前向函数生成的值有所增加,如图 1-20 所示。

图 1-20:梯度检查示意图
利用 matrix_function_backward_1 函数,可以看到梯度是 -0.1121:
print(matrix_function_backward_1(X, W, sigmoid))[[ 0.0852 -0.0557 -0.1121]]复制代码
可以看到,在将 递增 0.01 之后,函数的输出相应减少了约
0.01 × -0.1121 = -0.001121,这可以帮助测试该梯度是否正确。如果减幅(或增幅)大于或小于此量,那么关于链式法则的计算就是错误的。然而,当执行计算时,少量增加 确实会使函数的输出值减小
0.01 × -0.1121,这意味着计算的导数是正确的!
1.12 节介绍的示例涉及前面介绍的所有运算,并且可以直接用于第 2 章将构建的模型。
在深度学习和更通用的机器学习中,需要处理输入为两个二维数组的运算,其中一个数组表示一批数据 ,另一个表示权重
。这对建模上下文很有帮助,第 2 章将对此展开介绍。本章仅关注此运算背后的原理和数学意义,具体来说,就是通过一个简单的示例详细说明,我们不再以一维向量的点积为例,而是介绍二维矩阵的乘法。即便如此,本章介绍的推算过程仍然具有数学意义,并且实际上非常容易编码。
和以前一样,从数学上看,得出这些结果并不困难,但过程看起来有点复杂。不管怎样,结果还是相当清晰的。当然,我们会对其按步骤进行分解,并将其与代码和示意图联系起来。
假设 和
如下所示:
这可能对应一个数据集,其中每个观测值都具有 3 个特征,3 行可能对应要对其进行预测的 3 个观测值。
现在将为这些矩阵定义以下简单的运算。
将这些矩阵相乘。和以前一样,将把执行此运算的函数表示为 ,将输出表示为
。因此,可以这样表示:
。
将结果 传递给可微函数
,并定义
。
和以前一样,现在的问题是:输出 相对于
和
的梯度是多少?可以简单地再次使用链式法则吗?为什么?
注意,本例与之前的示例有所不同: 不是数字,而是矩阵。那么,一个矩阵相对于另一矩阵的梯度意味着什么呢?
这就引出了一个微妙但十分重要的概念:可以在目标多维数组上执行任何一系列运算,但是要对某些输出定义好梯度,这需要对序列中的最后一个数组求和(或以其他方式聚合成单个数字),这样“ 中每个元素的变化会在多大程度上影响输出”这一问题才有意义。
因此,在最后添加第 3 个函数 ,该函数获取
中的元素并将其求和。
通过数学把它具体化。首先,把 和
相乘:
为了便于书写结果矩阵,这里将第 行的第
列表示为
。
接下来,将该结果输入到 中,这意味着将
应用于
矩阵中的每个元素:
最后,对这些元素求和:
现在回到了纯微积分的场景中:存在一个数字 ,想计算出
相对于
和
的梯度,也就是明确这些输入矩阵中每个元素(
、
等)的变化对
的影响。可以这样写:
至此,我们已经从数学上理解了所面临的问题,接下来讨论示意图层面和代码层面。
从概念上讲,与前面介绍的多输入函数的计算图相比,包含两个二维矩阵输入的运算所做的工作其实是类似的,如图 1-21 所示。

图 1-21:具有复杂前向传递函数的计算图

丹阳网络公司哪家好【丹阳企业网站百度SEO推广公司】丹阳做网站开发价格、丹阳淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、丹阳高端企业网站页面制作设计专业公司需要多少钱
服务热线
顶部
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: http://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878