深度学习与自然语言处理(3)_斯坦福cs224d Lecture 3

本文介绍了神经网络的基础知识,包括神经元、单层神经元和前向计算,以及反向传播算法。文章详细阐述了最大化间隔目标函数和反向传播训练法的数学原理,并探讨了神经网络训练中的技巧,如梯度检验、正则化、神经单元的选择。此外,还介绍了Xavier参数初始化方法和学习速率的概念。
摘要由CSDN通过智能技术生成

原文作者:Rohit Mundra, Richard Socher
原文翻译:@熊杰(jie.xiong.cs@gmail.com) && @王昱森(ethanwang92@outlook.com) && @范筑军老师( fanzhj@mail.sysu.edu.cn) && @OWEN(owenj1989@126.com)
内容校正:寒小阳 && 龙心尘
时间:2016年6月
出处:
http://blog.csdn.net/han_xiaoyang/article/details/51711134
http://blog.csdn.net/longxinchen_ml/article/details/51711172
说明:本文为斯坦福大学CS224d课程的中文版内容笔记,已得到斯坦福大学课程@Richard Socher教授的授权翻译与发表

课堂笔记:第3课


关键词:神经网络,正向计算,反向传播,神经元,最大化间隔损失,梯度检验, 参数的哈维初始化, 学习速率, ADAGRAD(自适应梯度法)

这是斯坦福CS224d深度学习与自然语言处理的第3课,这节课先会介绍单层和多层神经网络和它们在机器学习分类任务中的应用, 接着介绍如何利用反向传播算法来训练这些神经网络模型(在这个方法中,我们将利用偏导数的链式法则来层层更新神经元参数)。在给出神经网络以及这些算法严谨的数学定义后,介绍了训练神经网络的一些实用的技巧和窍门,比如,神经元(非线性激励),梯度检验,参数的Xavier初始化方法,学习速率,ADAGRAD(自适应梯度法)等。最后,我们在神经网络模型的基础上来建立语言模型

我们发现notes最后语言模型这个部分被略去了,回头ppt里面扒出来补充给大家

1 神经网络:基础

我们在前面的课程中提到,由于大部分数据并非线性可分,线性分类模型在这些数据上的分类效果略显尴尬,而非线性的分类模型通常能取得更好的效果。 如下图1所示,神经网络模型就是这样一类具备非线性决策边界的分类器。 从图上我们可以看到神经网络生成了非线性判定边界,来对2类样本做分类,那咱们一起来看看,它是怎么做到的呢。



图 1 ︰ 在图上可以看到神经网络产生的非线性判定边界,更好地把2类样本点分隔开了。这就是神经网络的强大之处(不纠结原始样本的分布状况)。

一点小历史 ︰ 神经网络是受生物学启发的分类器,因此它也常被称为人工神经网络(ANN),以区别于生物学上的神经网络。事实上,人类的神经网络复杂性高很多,也比ANN具有更强大的能力,所以即使名字很接近,两者之间倒没有那么多的相似之处。

1.1 神经元

简单说来,神经元其实就是一个取 n 个输入,并产生单一输出的通用计算单元。每层神经元通过不同的参数(也称权重)产生不同的输出结果(通常情况下同一层神经元的输入值是相同的,只是权重不同)。比较常见的神经元(激励函数)是”Sigmoid函数”,也叫作”二项逻辑回归”单元。这种神经元,对于输入的 n 维向量,通过与 n 维的权重向量 w 和一个偏差标量 b 做组合运算,输出一个标量 a (咱们也把它叫做标量激活结果),具体的运算过程如下公式所示:


a=11+exp((wTx+b))

其中 w 是权重, b 是偏移量, x 是输入

为了运算的一致性和精简性,我们也可以把权重向量和偏差变量写到一个 n+1 维的向量里,得到上式的一个等价形式:


a=11+exp([wT b][x 1])

你们看出来了,就是把偏移量放作权重的一部分

下图2是这种神经元的一个直观一点的解释:



图 2 ︰ 这就是所谓的”二元逻辑回归”神经元,输入向量 x 的各个元素被 w 中对应的权重缩放后求和,加上偏移量 b (数学上可以看做对对输入x做线性的变换)之后放进”Sigmond函数”。

一点小总结:神经元呢,可以看做神经网络的基本组成功能单元,有多种多样功能(就是对输入做不同非线性变换)的神经元,它们共同去帮助整个神经网络形成非线性切分的能力。

1.2 单层神经元

刚才看完1个神经元的情况了,也知道它在做的非线性变换(输入到输出的运算)是什么,现在咱们拓展一下,看看对于一组输入 x ,一层神经元(其实就是多个神经元)的变换和处理情况,基本的结构,就如下图3所示。



图 3 ︰ 传说中神经网络的一层(多个”二元逻辑回归”神经元),它们的输入是一致的,都是x。

我们分别用 { w(1),,w(m)} { b1,bm} { a1,am} 来表示 m 个神经元的权重向量,偏移量以及激励输出,则有一下的结果:

a1=11+exp(w(1)Tx+b1))


am=11+exp(w(m)Tx+bm))

式子多了看着有点乱,咱们设定一下以下的数学标记,简化简化在神经网络中的公式:

σ(z)=11+exp(z1)11+exp(zm)

b=b1bmRm

W=w(1)Tw(m)TRm×n

其中,

z=Wx+b

这样咱们的二元逻辑回归的激励输出就可以写成:

a1am=σ(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值