NPL Stanford-4.神经网络入门

本文介绍了神经网络的基础,从单个神经元开始,讲解了单层神经网络、前馈计算以及最大间隔目标函数的概念。还探讨了反向传播在参数更新中的作用,并提到了梯度下降法。内容适合NLP与深度学习初学者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NPL Stanford-4.NPL with DL

@(NPL)[阅读笔记]

1. 从一个神经元开始

神经元是神经网络最基本的组成成分,它接收n个输入,产生单个输出。不同的神经元有着不同的参数(或称为权重),但本质上来说它依然在计算,使用某个特定的计算公式。神经元的计算公式(被称为激活函数(activition function)),最常用的就比如下面的sigmoid函数,它接收了n维向量 x ,产生了输出a
注: w 是同样n维的权重向量,b是偏差(bias)。

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

图示

这里写图片描述)

2. 单层神经网络

单层神经网络就是多个神经元的排列,对每个神经元而言,他们接受一样的输入(注:不是全部模型都是接受相同的输入,此处方便理解),却可能产生完全不同的输出。原因在于每一个神经元的权重向量和偏差不一样,可以认为这是对输入向量不同特征的考量。

这里写图片描述

为了表示方便,我们定义如下:

这里写图片描述

其中 z=wTx+b

图示

这里写图片描述

3. 前馈计算

从前面我们看到单层神经网络每一个神经元都有一个输出,如果有m个神经元就会输出m维的向量。但是如果我们需要做一个分类,这样的输出是不合适的,因为我们希望的是一个值。因此我们可以使用另一个矩阵 URm×1 产生一个(非标准的)值:

s=UTa=UTf(wTx+b)

f 即为激活函数。
注:如果输入的xR20,而一层神经元个数为8,那么 wR8×20 , bR8 , UR8×1 sR .

4. Maximum Margin Objective Function

与大多数的机器学习模型一样,神经网络也需要一个最优化的目标函数。Maximum Margin Objective就是其中一种很流行的方式,背后的思想也很简单:保证 "true" 标签的样本计算得到的得分高于"false"标签的样本得分

比如,带有 “true” 标签的句子 “Museums in Paris are amazing” 标记为 s ,而带有 “false” 标签的句子 “Not all museums in Paris” 标记为sc. 当 scs>0 时,即”false”样本得到的分数大于”true”样本,那么此时error为 (scs) ,反之为0。所以我们的最优化目标可以写成:

minimize J=max(scs,0)

但是这样的最优化是有风险的,比如”true”和”false”样本得分都很接近,甚至相等。所以,我们希望提高一点门槛,两者之差最好大于一定的值。所以在原式基础上没我们添加一个充当正数的 Δ (称为margin,间距):

minimize J=max(Δ+scs,0)

其中 sc=UTf(wTxc+b),s=UTf(wTx+b)

如果学过SVM,应该知道max-margin objective function

5. 反向传播(Backpropagation)

如果J计算的结果为0,很显然我们并不需要更改任何参数,因为该模型表现得不错。但是如果大于0,我们就需要去更新一些参数使得结果能够尽可能符合我们的要求(保证 "true" 标签的样本计算得到的得分高于"false"标签的样本得分)。

那么如何更新参数呢?梯度下降法(gradient descent)是最常用的方法,或者它的变体随机梯度下降(SGD)

这部分本来写了一堆,最后还是觉得这个网页写得更清晰:
http://neuralnetworksanddeeplearning.com/chap2.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值