深度前馈网络原理及Batch训练原理

前馈神经网络通常用许多不同函数复合在一起来表示。例如,我们有三个函数 f (1); f (2) 和 f (3) 连接在一个链上以形成f(x) = f (3)(f (2)(f (1)(x)))。f (1) 被称为网络的 第一层(first layer, f (2) 被称为 第二层(second layer,以此类推,最后一层被称为 输出层(output layer)。链的全长称为模型的 深度(depth。 前馈网络的训练过程中,让 f(x) 去匹配 f ∗(x) 的值。训练数据为我们提供了在不同训练点上取值的、含有噪声的 f ∗(x) 的近似实例。每个样本 x 都伴随着一个标签 y ≈ f ∗(x)。训练样本直接指明了输出层在每一点 x 上必须做什么,它必须产生一个接近 y 的值但是训练数据并没有直接指明其他层应该怎么做,学习算法必须决定如何使用这些层来产生想要的输出,但是训练数据并没有说每个单独的层应该做什么。相反,学习算法必须决定如何使用这些层来最好地实现 f ∗ 的近似。因为训练数据并没有给出这些层中的每一层所需的输出,所以这些层被称为 隐藏层(hidden layer。把层想象成由许多并行操作的 单元(unit组成,每个单元在某种意义上类似一个神经元,它接收的输入来源于许多其他的单元,并计算它自己的激活值。 

为了扩展线性模型来表示 x 的非线性函数,我们可以把线性模型用在一个变换后的输入 ϕ(x) 上,这里 ϕ 是一个非线性变换。可以认为 ϕ 提供了一组描述 x 的特征,或者认为它提供了 x 的一个新的表示。 如何选择映射 ϕ ?深度学习的策略是去学习 ϕ 。模型 y = f(x; θ; w) =ϕ(x; θ)⊤w里有两种参数:用于从一大类函数中学习 ϕ 的参数 θ,以及用于将 ϕ(x) 映射到所需的输出的参数 w。部署一个前馈网络所需的每个设计决策:选择用于计算隐藏层值的 激活函数(activationfunction;设计网络的结构,包括网络应该包含多少层、这些层应该如何连接,以及每一层包含多少单元。在深度神经网络的学习中用反向传播(back propagation)算法和它的现代推广可以高效地计算复杂函数的梯度。

XOR问题为例形象化给出Batch训练的并行机制:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值