首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
DSP技术
» 神经网络语言模型详解(转)(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
神经网络语言模型详解(转)(2)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2016-9-10 08:26
|
只看该作者
神经网络语言模型详解(转)(2)
网络语言
,
二叉树
,
模型
,
高斯
6.2 参数求解 该模型参数求解可以直接套用Log Bi-Linear和Hierarchical NNLM的方式,其中不同之处,Hinton提出了一种新的简单的构建层次结构的方法:通过递归的使用二维的高斯混合模型(GMM,Gaussian Mixture Model)进行聚类,直到每个cluster中仅包含两个词,这样所有的结果就构成一个二叉树。
7 SENNA SENNA中不仅仅提出了word embedding的构建方法,同时还从神经网络语言模型角度系统去解决自然语言处理任务(POS,Chunking,NER,SRL)。SENNA中,每个词可以直接从Lookup Table中直接查找到对应的向量。
其中,是词向量的维度,为词向量的矩阵,表示取矩阵的第列。SENNA中,表示句子或者词序列仅将对应的词向量拼接起来得到对应的向量。
SENNA中采用HLBL中同一个词存在不同的词向量,用于刻画不同的语义和语法用途,一个词的词向量最终由各种形态下的词向量组合起来,比 如,一个词可以有word stemming的向量,本身的向量(这些向量可能来自不同的Lookup table)等,需要将这些向量结合起来表示这个词。SENNA直接将这些向量拼接起来,构成了一个维度为。
7.1 模型结构 SENNA包含两种网络构建方式(1)window approach(图3)(2)sentence approach(图4)。
(1)window approach
window approach是一个前馈神经网络,包含线性层、HardTanh层。window approach的输入是包含当前词在内的窗口大小的序列,拼接所有词的向量得到的表示向量,维度,
图3 window approach
从图3可知,输入下一层或者几层线性层,记为。
其中,为待训练参数,为第层隐藏单元数。
SENNA中包含了一个特殊的层,HardTanh层,它的输入是前一个线性层。HardTanh层是一个非线性层,形式如下,
其中,
SENNA的输出层为输入序列对应的得分,大小具体任务有关。
(2) sentence approach
window approach能够完成绝大部分自然语言处理任务,但是在SRL上表现不佳。因此,SENNA提出了sentence approach用于适应SRL。sentence approach采用的卷积网络结构,除了线性层和HardTanh层外,还有一个卷积层和一个Max层。
图4 sentence approach
因为sentence的大小不一定相同,需要在sentence上选取滑窗将输入的向量进行卷积,得到如下形式,
其中,序列中所有滑窗共享。相比线性层,卷积层将局部的特征堆叠起来构建高层的特征,而线性层则需要一个非线性变换(比如HardTanh)才能达到这种效果。
Max层是将卷积层的输出的局部特征合并成为全局特征,卷积层输出处理常用的方法有AVG和MAX。SENNA中采用的是MAX运算,即,
其中,为卷积层的输入,为Max的输出。
7.2 参数估计 上述神经网络的参数均通过MLE + SGD得到,我们将参数记为,训练数据记为, 则参数估计记为,
其中,为输入的句子或词序列(window approach)对应的表示向量,表示具体任务(POS,NER,Chunking,SRL)的tag,为神经网络的输出结果,箭头右边为data log likelihood。
SENNA求解方式分为两种,word-level log-likelihood,sentence-level log-likelihood。
(1)word-level log-likelihood
在给定输入的情况下,神经网络输出一个得分,这里为输出的tag编号。这个得分不满足概率的约束,需要对它进行归一化,这里采用了softmax方程,
为方便运算,对上述等式取log值,记分母部分为,得到的形式带入data log likelihood中,最终形式为交叉熵(cross entropy)。但是,由于在句子中当前词和相邻的词的tag存在关联性,上述方案并非最好的求解方式,所以SENNA提出了sentence- level log-likelihood。
(2)sentence-level log-likelihood
在输入的句子中,有些tag不能在某些tag之后。从序列的角度看,tag和tag之间的转换是有条件的,这种转换是需要满足约束的。记,为句 子的网络输出得分,为输入序列中第个词,输出为第个tag的得分。基于上述考虑,SENNA引如一个转换矩阵用于保存tag和tag之间的转换关系,表示 从tag i到tag j的得分,转换得分需要通过从数据中训练得到,故参数为。按照上述处理,序列的得分是神经网络得分加上转换得分,
类似于word-level的处理,最终输出需要满足概率分布的约束,sentence level仅对所有可能的tag路径进行softmax归一化,我们定义这个结果比值为tag路径条件概率。对条件概率取log后,
上式中,logadd操作拥有特殊的性质可以递归的求解,可以方便的得到递推公式,
终止条件为,
上述过程理解可以参照HMM的前向算法。在训练时,对所有的样本最大化data log likelihood,注意其中为tag路径条件概率。
SENNA的推断部分采用的是Viterbi算法,推断过程理解可以参照HMM的推断过程,形式为,
类似于HMM中,也需要按照参数求解过程进行递归处理,但是每步需要用max操作替代logadd操作,然后回溯得到解。viterbi的过程理解可以参照动态规划问题,找出状态转移方程即可。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议