智者见“智”专栏科普系列:深入探索神经网络反向传播(一)

科普课程共四期,由浅至深地解密人工智能与深度学习。每期课程包含2~3个专题讲座,一周更新一个主题,视频内容简明扼要。帮助用户快速提升在认知与实践上的知识和技能,使其在学习和实战过程中深度挖掘并解决目前部署过程中遇到的难题,感受到AI的无限魅力。

本期课程:

深入探索神经网络反向传播(一)

反向传播(Backpropagation,简称BP)是目前用来训练人工神经网络(ArtificialNeuralNetwork,简称ANN)算法最常用、最有效的方法。

反向传播最早出现于20世纪70年代,但直到GeoffreyHinton(杰佛里·辛顿)在1986年发表了论文《LearningRepresentationsbyBack-PropagatingErrors》后才得到各界重视。

杰佛里·辛顿是一位英国出生的加拿大计算机学家和心理学家,在类神经网络领域贡献颇多,是反向传播算法的发明人之一,也是深度学习的积极推动者,被称为神经网络和深度学习之父。

反向传播得以实现的关键取决于梯度下降算法

要实现反向传播,还需要依赖一类重要的算法——梯度下降算法(Gradientdescent),梯度下降极大地加快了学习过程,可以简单理解为:从山顶下山时,挑一条梯度最陡的路最快。

因为我们需要不断计算输出与实际值的偏差来修改参数(相差越多修改的幅度越大),所以我们需要用误差函数(Errorfunction,也称损失函数,lossfunction)来衡量训练集所有样本最终预测值与实际值的误差大小。

其中y^i为预测结果,yi为实际结果。

这个表达式衡量的是训练集所有样本最终预测值与实际值的误差大小,仅与输出层的预测类别有关,但这个预测值取决于前面几层中的参数。如果我们不想将狗认为是猫,就需要让这个误差函数达到最小值。

梯度下降算法是其中一种使误差函数最小化的算法,也是ANN模型训练中常用的优化算法,大部分深度学习模型都是采用梯度下降算法来进行优化训练。给定一组函数参数,梯度下降从一组初始参数值开始,迭代移向一组使损失函数最小化的参数值。这种迭代最小化是使用微积分实现的,在梯度的负方向上采取渐变更改。使用梯度下降的典型例子是线性回归。随着模型迭代,损失函数逐渐收敛到最小值。

由于梯度表达的是函数在某点变化率最大的方向,通过计算偏导数得到,所以使用梯度下降方式,会极大地加快学习进程。

在实际操作中,理论上要先检查最后一层中的权重值和偏移量会如何影响结果。将误差函数E求偏导,就能看出权重值和偏移量对误差函数的影响。

可以通过链式求导法则来计算这些偏导数,得出这些参数变化对输出的影响。求导公式如下:

为得到上述表达式中的未知量,将zi分别对wi和bi求偏导:

然后反向计算误差函数关于每一层权重值和偏移量的偏导数,并通过梯度下降法来更新调整后的权重值和偏移量,直到出错的最初层为止。

这个过程就是反向传播算法,又称BP算法,它将输出层的误差反向逐层传播,通过计算偏导数来更新网络参数使得误差函数最小化,从而让ANN算法得出符合预期的输出。

课程摘要:

01

解密人工智能与深度学习

深度的运作方式

机器学习及学习任务

02

深入探索神经网络

利用前馈神经网络介绍神经网络运作及学习方法

向前传播(一)

向前传播(二)

反向传播(一)

反向传播(二)

03

深度学习让计算机看得见

介绍卷积神经网络结构(CNN)

深度学习在机器视觉的应用

04

如何给深度学习装上记忆机制

了解循环神经网络

介绍长短时记忆网络(LSTM)

长短时记忆网络的应用

讲师介绍:

罗净智

高级讲师

马来西亚理科大学硕士

Skymind高级深度学习工程师

Skymind深度学习商业培训课程高级讲师

其研究方向为机器视觉及感应器的信号处理,他在机器视觉及传感器领域内开发基于深度学习的应用程式,设计及利用机器视觉技术进行自动化的产品质量检查,曾开发过针对不同商业领域的应用。

惊喜福利

凡有关于深度学习就业与授课经验的小伙伴可以一起加入我们的讲师队伍,凡参与竞聘皆可送《深度学习基础与实践》一本,并有丰厚报酬等着您(详情可进群咨询工作人员)。

Skymind

想要和更多志同道合的人一同探索深度学习的知识,获得与大牛共同交流AI行业知识的贴心服务,及时获取AI行业最新技术更新吗?

扫描二维码|加入我们

墨子沙龙是由中国科学技术大学上海研究院主办、上海市浦东新区科学技术协会及中国科大新创校友基金会协办的公益性大型科普论坛。沙龙的科普对象为对科学有浓厚兴趣、热爱科普的普通民众,力图打造具有中学生学力便可以了解当下全球最尖端科学资讯的科普讲坛。

THE END
1.超强!深度学习Top10算法!top10算法在深度学习以下是我心目中的深度学习top10算法,它们在创新性、应用价值和影响力方面都具有重要的地位。 1、深度神经网络(DNN) 背景:深度神经网络(DNN)也叫多层感知机,是最普遍的深度学习算法,发明之初由于算力瓶颈而饱受质疑,直到近些年算力、数据的爆发才迎来突破。 https://blog.csdn.net/xiangxueerfei/article/details/140894206
2.深度学习残差残差神经网络算法mob64ca141a2a87的技术博客本文解读了一种新的深度注意力算法,即深度残差收缩网络(Deep Residual Shrinkage Network)。从功能上讲,深度残差收缩网络是一种面向强噪声或者高度冗余数据的特征学习方法。本文首先回顾了相关基础知识,然后介绍了深度残差收缩网络的动机和具体实现,希望对大家有所帮助。 https://blog.51cto.com/u_16213724/8718018
3.深度学习及CNNRNNGAN等神经网络简介(图文解释超详细)常见的深度学习算法主要包括卷积神经网络、循环神经网络和生成对抗神经网络(Generative Adversarial Network,GAN)等。这些算法是深度学习的基础算法,在各种深度学习相关系统中均有不同程度的应用 1. 卷积神经网络 卷积神经网络(Convolutional Neural Network,CNN)是第一个被成功训练的多层神经网络结构,具有较强的容错、自学https://developer.aliyun.com/article/1400173
4.第五章深度学习与神经网络基础*1、深度学习算法可以分为监督学习和非监督学习两类。() 正确 错误 *2、自编码器是非监督学习类算法。() 正确 错误 *3、深度学习不同于机器学习,没有非监督类算法。() 正确 错误 *4、循环神经网络更适合于处理图像识别问题。() 正确 错误 *5、循环神经网络更适合于处理语音识别问题。() https://www.wjx.cn/jq/87327809.aspx
5.深度学习与神经网络有什么区别?深度学习算法主要采用反向传播算法来优化模型,其核心思想是通过计算误差反向传播至每一个节点,进而调整权值和阈值等参数。 而神经网络的算法包括感知器算法、反向传播算法、Kohonen自组织网络算法等多种方法,不同的算法适用于不同的场景和问题。 综上所述,深度学习和神经网络有着很多相似之处,但也存在一些差异。深度学https://www.cda.cn/bigdata/201326.html
6.科学网—[转载]联邦学习算法综述摘要:近年来,联邦学习作为解决数据孤岛问题的技术被广泛关注,已经开始被应用于金融、医疗健康以及智慧城市等领域。从3个层面系统阐述联邦学习算法。首先通过联邦学习的定义、架构、分类以及与传统分布式学习的对比来阐述联邦学习的概念;然后基于机器学习和深度学习对目前各类联邦学习算法进行分类比较和深入分析;最后分别从通信https://blog.sciencenet.cn/blog-3472670-1280769.html
7.机器学习深度学习和神经网络之间的区别和联系python传统机器学习、深度学习和神经网络之间的区别可以从以下几个方面来理解: 架构:机器学习基于统计模型。神经网络和深度学习架构只是非常大和更复杂的统计模型,并使用许多相互连接的节点。 算法:深度学习算法与其他机器学习算法的区别在于它们使用具有多层的深度神经网络,这使得网络能够在不需要显式特征工程的情况下学习数据中https://www.jb51.net/python/316268muf.htm
8.深度学习算法原理——神经网络的基本原理腾讯云开发者社区2.1、神经网络的结构 神经网络是由很多的神经元联结而成的,一个简单的神经网络的结构如下图所示: 其中一个神经元的输出是另一个神经元的输入,+1项表示的是偏置项。上图是含有一个隐含层的神经网络模型,L1层称为输入层,L2层称为隐含层,L3层称为输出层。 https://cloud.tencent.com/developer/article/1066395