深度学习:神经网络

本文介绍了神经网络的核心思想——分布式表征,解释了它如何提高存储效率并允许网络应对硬件故障。接着,详细阐述了反向传播算法,包括其在多层前向神经网络中的应用,以及权重更新的步骤。此外,还探讨了卷积神经网络(CNN)的作用,尤其是权值共享和梯度优化。最后,简要对比了CNN、RNN和DNN的内部网络结构区别。
摘要由CSDN通过智能技术生成

1. 神经网络核心思想

人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model)。它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型,起源于上世纪五、六十年代,当时叫感知机(perceptron),拥有输入层、输出层和一个隐含层。

Hinton 六十年代还是中学生时,就对脑科学着迷。当时一个同学给他介绍关于大脑记忆的理论是:大脑对于事物和概念的记忆,不是存储在某个单一的地点,而是像全息照片一样,分布式地,存在于一个巨大的神经元的网络里。

分布式表征 (Distributed Representation),是神经网络研究的一个核心思想。它的意思是,当你表达一个概念的时候,不是用单个神经元一对一地存储定义;概念和神经元是多对多的关系:一个概念可以用多个神经元共同定义表达,同时一个神经元也可以参与多个不同概念的表达。

分布式表征和传统的局部表征 (localized representation) 相比,存储效率高很多。线性增加的神经元数目,可以表达指数级增加的大量不同概念。

分布式表征的另一个优点是,即使局部出现硬件故障,信息的表达不会受到根本性的破坏。链接

2. 反向传播算法

反向传播算法(Backpropagation algorithm,简称BP算法)是一种监督学习算法,常被用来训练多层感知机。 于1974年,Paul Werbos[1]首次给出了如何训练一般网络的学习算法,而人工神经网络只是其中的特例。

算法简介

反向传播算法(BP算法)主要由两个环节(激励传播、权重更新)反复循环迭代,直到网络的对输入的响应达到预定的目标范围为止。

(a)激励传播

每次迭代中的传播环节包含两步:

(前向传播阶段)将训练输入送入网络以获得激励响应;

(反向传播阶段)将激励响应同训练输入对应的目标输出求差,从而获得隐层和输出层的响应误差。

(b)权重更新

对于每个突触上的权重,按照以下步骤进行更新:

将输入激励和响应误差相乘,从而获得权重的梯度;

将这个梯度乘上一个比例并取反后加到权重上;

这个比例将会影响到训练过程的速度和效果,因此称为“训练因子”;

梯度的方向指明了误差扩大的方向,因此在更新权重的时候需要对其取反,从而减小权重引起的误差。

神经网络中的BP算法(摘自知乎:Linglai Li):

BP算法主要是用于最常见的一类神经网络,叫多层前向神经网络,本质可以看作是一个general nonlinear estimator,即输入x_1 ... x_n 输出y,视图找到一个关系y=f(x_1 ... x_n) (在这里f 的实现方式就是神经网络ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值