论文阅读笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文阅读笔记相关的知识,希望对你有一定的参考价值。

参考技术A 【阅读笔记一】 Lattice-Based Recurrent Neural Network, Encoders

for Neural Machine Translation ( Jinsong Su et al. )

摘要介绍:

NMT神经机器翻译很大程度上依赖于词级建模来学习输入句子的语义表示。

对于处理没有自然语言分隔符的语言(比如中文),需要首先进行标记,这就产生了

两个问题:1)为源句子模型找到最优标记粒度的难度很大,粗粒度导致数据稀疏,细粒度导致有用信息丢失;2)难度大就容易造成错误,产生的错误会带到NMT的编码器中去,影响源句子的表示。

基于这两个问题,为了更好地进行源句建模,有必要向NMT提供多个标记化,而不是单一的标记化序列。

本文提出了一种 基于词格的递归神经网络 NMT编码器:1)以压缩编码多个标记字格作为输入;2)并在前面的时间步骤中学习从任意多个输入和隐藏状态生成新的隐藏状态。

字格是许多标记化的压缩表示,基于词格的编码器不仅减轻了最佳标记方式的标记错误( 1-best

tokenization errors)的负面影响,而且更具有表达性和嵌入输入句子的灵活性。

 

NMT特点:

传统的统计机器翻译模拟管道(pipeline)中源语言和目标语言之间的潜在结构和对应关系,

NMT则是训练了一个统一的编码-解码神经网络,其中编码器将输入的句子映射成固定长度的向量,解码器从编码的向量生成翻译。

基于词格的递归神经网络 NMT :

本文调查和比较了两个基于词格的RNN编码器:

1).浅度词格GRU编码器:基于来自多个采用标准GRU体系结构的标记的输入和隐藏状态的组合;

2).深度词格GRU编码器:它学习并更新门、输入和隐藏状态的特定标记向量(tokenization-specific

vector),然后为当前单元生成隐藏状态向量。

在这两种编码器中,可以同时利用许多不同的标记来进行输入句子建模。

结论:

与标准的RNN编码器相比,本文的编码器同时利用输入和前面的隐藏状态,依赖于 多个标记 来为源语句建模。因此,它们不仅减少了1-best tokenization

errors的传播,而且比标准编码器更具表现力和灵活性。

汉英互译的实验结果表明,本文的编码器在各种基线上都有显著的改进。

展望:

本文的网络结构依赖于源句的词格。 扩展模型,将分割模型合并到源句表示学习中 。通过这种方式,符号化和翻译可以相互协作。此外, 更好的组合策略来改进编码器 。

验证实验:

为了验证所提出的编码器的有效性,我们对汉英翻译任务进行了实验。

实验结果表明:

(1)利用词界信息学习准确嵌入输入的汉语句子是十分必要的;

(2)基于词格的RNN编码器在NMT方面优于标准RNN编码器。据我们所知,这是第一次尝试在词格上构建NMT。

实验部分:

1.数据集

对NIST汉英翻译任务中提出的编码器进行了评估:

训练数据集:LDC2002E18、LDC2003E07、LDC2003E14、LDC2004T07、LDC2004T08和LDC2005T06中提取的125万对句子,其中中文单词2790万,英文单词3450万。

验证数据集:NIST 2005数据集

测试数据集:NIST 2002、2003、2004、2006和2008数据集。

使用斯坦福大学发布的toolkit2在CTB、PKU和MSR语料库上训练分词器以获得汉语句子格。

为了有效的训练神经网络,我们使用了中、英文最常用的50K单词作为我们的词汇。CTB、北大、MSR、lattice语料库中的汉语词汇占98.5%、98.6%、99.3%、97.3%,英语词汇占99.7%。

2.实验结果:

字符覆盖比率:

翻译质量:

使用1-best分词的NMT解码实验:

模型:

Word Lattice

Lattice模型完全独立于分词,但由于可以在上下文中自由选择词汇来消除歧义,因此在使用单词信息时更加有效。

两种基于词格的RNN 编码器

【阅读笔记二】 基于 BLSTM 的命名实体识别方法( fenget al. )

摘要介绍:

对于(1)监督学习语料不足;(2)RNN 无法很好地处理长距离依赖问题, 并且训练算法存在梯度消失或爆炸问题

基于三点考虑:(1)文本是否被识别为命名实体与其上下文有关, 也与 构成命名实体的每个字及字序 有关;(2)考虑标注序列中标签间的相关性, 对本文提出的模型的代价函数进行约束, 在小的训练数据上尽可能挖掘有价值的信息 , 以提高命名实体识别的效果;(3)传统识别方法中的人工特征和领域知识对命名实体的识别效果的提升有重要影响, 但设计人工特征和获取领域知识的代价昂贵。

因此,本文提出了一种利用神经网络模型解决命名实体识别问题的有效方法, 该方法不直接依赖人工特征和外部资源, 只是利用了少量的监督数据、 领域知识和大量的无标注数据, 解决了目前的机器学习方法中过度依赖人工特征和领域知识及语料不足的问题。本文提出的命名实体识别方法中融入了词语的上下文信息、 词语的前后缀信息和领域词典, 将这种信息特征化为词的分布表示特征; 考虑了词语的标签之间的约束关系, 进一步提高了识别的效果。

展望: 本文只是顺序地读取数据对命名实体进行识别, 每个词语对命名实体的影响同等重要, 并没有考虑不同的词语对命名实体的不同影响,如何将深度学习的 注意力机制 引入本文的模型中、 重点关注对命名实体识别有重要影响的词语, 是进一步需要解决的问题。

实验部分:

数据集:

DataSet1(大规模无标注语料)、DataSet2(标注语料)、DataSet3(命名实体识别标注语料)

DataSet4(本文将DataSet2 和DataSet3 中的标签进行 删除, 并 拆分 为 字符序列数据, 得到的数据集)

DataSet5(选择搜狗输入法词库中的部分数据[, 包括常见的中国人名、中国地名、 国家机关组织机构名, 拆分为 字符序列数据)

样本分类:TP  FP  TN  FN

评价指标:精确率(Precision,P)、召回率 (Recall, R) 、F 测度值 (F-score,F) 、敏感度 (Sensitivity, Sent) 、特异性 (Specificity,Spec) 、1-特异性(1GSpec) 、 准确率(Accuracy,Acc)

实验结果:

实验影响因素:

地名和机构名这两类命名实体的长度通常较人名长, 而且构成复杂,由基于上下文的词向量和BLSTM_Ec 模型训练得到的词向量对识别效果有积极的影响。

   人名词语长度较短、人名的姓氏和名字没有较强的约束关系、人名词典中的人名与待识别的文本中的人名实体没有很强的相关性, 因此前后缀信息、标签约束信息和领域知识对人名这类实体有一定的影响, 但影响不大。

模型:

其中,Ec为字符级向量;Ew为基于上下文词语的词向量。

【阅读笔记一】 An Empirical Study of Automatic Chinese

Word Segmentation for Spoken Language Understanding and Named Entity

Recognition ( Luo et al. )

背景: 在英语文本中,句子是用空格分隔的单词序列。中文句子则是没有自然分隔符的字符串(其他类似语言:阿拉伯语、日语),汉语处理任务的第一步是识别句子中的单词序列,在合适的位置作边界标记。在中文文本中分词可以一定程度消歧义。分词通常被认为是许多中文自然语言处理任务的第一步,但它对这些后续任务的影响相对研究较少。

摘要介绍:

目前主要存在问题是1)在对新数据应用现有的分词器时的不匹配问题;2)一个更好的分词器是否能产生更好的后续NLP任务性能。

对于以上问题,本文提出三种方法: 1 )在后续的任务中使用分词输出作为额外的特征,这比使用分词单元更能抵抗错误传播。 2 )使用从后续任务训练数据中获得的部分标记数据对现有的分词器进行改进,进一步提高了端到端的性能。 3 )利用了分词输出的 n-best 表,使得后续的任务对分词错误不那么敏感。

中文分词的任务主要是:1)识别句子中的单词序列。2)在合适的位置标记边界。

总结:

本文提出三种方法:利用分词输出作为附加特征;进行局部学习自适应;利用n-best表。

另外还研究了CWS在三种不同情况下的影响: 1)当域数据没有单词边界信息时,由公共域外数据构建的单词分段器能够提高端到端性能,将其与从人类注释派生的部分标记数据进行调整可以进一步提高性能。2)将n-best词分段边缘化会带来进一步的改进,当领域分词可用时,使用领域数据本身训练的词分段者有更好的CWS性能,但不一定有更好的端到端任务性能。一个在训练和测试数据上表现更 平衡 的词段器可以获得更好的端到端性能。3)在手工分割测试数据时,分词确实对任务有很大帮助,分词可以减少后续NLP任务的模糊性。

未来可能方向:顺序堆叠两层CRF,一层用于分词,一层用于后续任务。除了序列标记问题,探讨更多后续任务。

实验( NER 部分):

对于使用的NER数据,域训练和测试数据都有词界信息。这里讨论用域内数据训练的分词器和公开可用数据之间的区别(第二种情况)。分词性能与端到端后续任务之间的关系。

实验数据:使用第三个SIGHAN中文处理Bakeoff的基准NER数据(SIGHAN-3)

(Levow, 2006)。训练集数据:46364句,测试集数据:4365句。这些数据都被标注了单词边界和NER信息。

实验结果:

关于 AlphaGo 论文的阅读笔记

这是Deepmind 公司在2016年1月28日Nature 杂志发表论文 《Mastering the game of Go with deep neural networks and tree search》。介绍了 AlphaGo 程序的细节。

本博文是对这篇论文的阅读笔记。

AlphaGo 神经网络构成

AlphaGo 总体上由两个神经网络构成。以下我把它们简单称为「两个大脑」,这并非原文中的提法,仅仅是我的一个比喻。

第一个大脑(Policy Network)的作用是在当前局面下推断下一步能够在哪里走子。它有两种学习模式:一个是简单模式。它通过观察 KGS(一个围棋对弈server)上的对局数据来训练。粗略地说:这能够理解为让大脑学习「定式」,也就是在一个给定的局面下人类通常会怎么走,这样的学习不涉及对优劣的推断。

还有一个是自我强化学习模式。它通过自己和自己的海量对局的终于胜负来学习评价每一步走子的优劣。由于是自我对局,数据量能够无限增长。

第二个大脑(Value Network)的作用是学习评估总体盘面的优劣。它也是通过海量自我对局来训练的(由于採用人类对局会由于数据太少而失败)。

在对弈时。这两个大脑是这样协同工作的:

第一个大脑的简单模式会推断出在当前局面下有哪些走法值得考虑。

第一个大脑的复杂模式通过蒙特卡洛树来展开各种走法,即所谓的「算棋」,以推断每种走法的优劣。在这个计算过程中,第二个大脑会协助第一个大脑通过推断局面来砍掉大量不值得深入考虑的分岔树,从而大大提高计算效率。

与此同一时候,第二个大脑本身通过下一步棋导致的新局面的优劣本身也能给出关于下一步棋的建议。

终于,两个大脑的建议被平均加权。做出终于的决定。

在论文中一个有趣的结论是:两个大脑取平均的结果比依赖两者各自得出的结果都要好非常多。

这应当是让 AlphaGo 表现出和人类相似性的关键所在。


======================================
两个网络的输入都是整个棋盘的状态,不存在一个注重局部一个注重总体。差别在于功能,policy network用于直接给出落子策略,value network用于高速预计当前局面导致终于获胜的概率。MCTS在一个简化版的policy network的指导下多次搜索到终局来实时(但比較慢)预计当前局面终于获胜的概率。

value network估算的概率和MCTS估算的概率直接加权平均,终于选择落子位置的时候是根据这个加权平均和完整版policy network给出的对各落子位置的收益的一个加权平均,可是一个位置被MCTS搜索(相似于计算)的次数越多,policy network的结果(相似于经验和直觉)给的权值也越小。所以这一步并非一个简单的加权平均。也不是局部推断和全局推断的加权平均。两个网络考虑了多少全局因素和局部因素仅仅跟训练数据和当前棋盘状态有关,跟用的哪个网络没有关系。

使用图像识别经常使用的卷积神经网咯识别棋局确实可能不是最好的方案,可是围棋的状态和图像都具有一定的平移对称性。这是卷积网络擅长利用的特点。

我不了解围棋,但我猜人识别围棋局面应该也是有使用识别图像时的相似思维的。我看到有懂围棋的说人会使用一些抽象的模糊的概念进行高速但不精确的推演,假设这点非常重要的话,如今的算法可能还须要增加recurrent neural network来实现相似的功能。但也应该不是大问题。

加上机器高速搜索的能力。我觉得三月份输赢或许不好说。可是AI在围棋上碾压人类也就一两年内的事了。

学习效率问题。如今AI学习的方式确实跟人非常不一样,但这仅仅是由于人在学习一个新领域的知识的时候并非真正从零開始的,而像神经网络这样的模型往往是从随机的參数開始训练的,没有不论什么别的先验信息。

比方AI假设懂得人类语言以及各种常识,经常使用概念,那么開始学围棋的时候并不用像如今这样看大量人类的棋谱,然后疯狂自己跟自己下,而能够跟人一样由老师从基础知识開始一点点教授。这样或许起步能更快一些。

可是到了须要大量模仿和练习来提升技能的阶段,AI的学习效率真不一定比人差。

======================================


提出以下这些问题和评论

首先,这些神经网络训练在非常大程度上是通过自我对局来实现的。

这既是某种优势(依照 Facebook 人工智能研究员田渊栋的说法,几千万自我对局这样的规模是相当惊人的数据量)。某种程度上来说也是不得已而为之,由于人类对局的总数实在太少,会导致机器学习中常见的过度拟合问题。

可是这样是否有可能造成自我设限乃至画地为牢的后果?这同一时候牵涉到人们对神经网络学习过程的理解和对围棋本身的理解。

一方面,神经网络本身是否包容一定程度的「think out of the box」的能力。这固然取决于详细的神经网络算法,但也确实是人们对神经网络方法的一个本质困惑。

还有一方面,由于 AlphaGo 最基础的定式仍然是来源于人类对局,因此。这个问题依赖于人类棋手本身是否已经穷尽了围棋中全部有意义的基本定式。

(作为一个案例,在 AlphaGo 和樊麾的第二盘对局中,非常多人都注意到 AlphaGo 走了一个不标准的大雪崩定式。这是说明 AI 学错了呢,还是它发现这是更好的走法?)

其次,这两个大脑的工作方式确实和人类非常相似,一个推断细部,一个纵览全局。但 AlphaGo 终于的结合两者的方式相当简单粗暴:让两者各自评估一下每种可能的优劣,然后取一个平均数。

这可绝不是人类的思维方式。

对人类来说,这两种思考问题的方式的结合要复杂的多(不仅仅是在围棋中是这样)。

人们并非总是同一时候对事态做出宏观和微观的推断。而是有时候側重于大局。有时候側重于细部。

详细的精力分配取决于事态本身,也取决于人在当时的情绪、心理和潜意识应激反应。这当然是人类不完美之处,但也是人类行为丰富性的源泉。

而 AlphaGo 固然体现出一定的大局观,但从详细算法看来。它在为了宏观优势做出局部牺牲这方面的能力和人类全然不能相提并论。AlphaGo 引入总体盘面评估确实是它胜于很多别的围棋 AI 的地方。但从根本上来说,这仅仅是人们让 AI 具有「战略思维」的尝试的第一步,还有太多能够改进的可能性。

最后。和非常多别的围棋 AI 一样,当 AlphaGo 学习盘面推断的时候,採用的是图像处理的技术,也就是把围棋棋盘当做一张照片来对待。这当然在技术上是非常自然的选择,可是围棋棋局到底不是一般意义上的图案,它是否具有某些特质是常见的图像处理方法本身并不擅好处理的呢?

应用

为什么要让人工智能去下围棋?有非常多理由。但在我看来最重要的一个,是能够让我们更深入地理解智能这件事的本质。

神经网络和机器学习在过去十年里跃进式的发展,确实让 AI 做到了很多之前仅仅有人脑才干做到的事。但这并不意味着 AI 的思维方式接近了人类。并且吊诡的是,AI 在计算能力上的巨大进步。反而掩盖了它在学习人类思维方式上的短板。

以 AlphaGo 为例。

和国际象棋中的深蓝系统相比,AlphaGo 已经和人类接近了很多。深蓝仍然依赖于人类外部定义的价值函数,所以本质上仅仅是个高效计算器。但 AlphaGo 的价值推断是自我习得的,这就有了人的影子。然而如前所述。AlphaGo 的进步依赖于海量的自我对局数目,这当然是它的好处,但也恰好说明它并未真正掌握人类的学习能力。

一个人类棋手一生至多下几千局棋,就能掌握 AlphaGo 在几百万局棋中所训练出的推断力,这足以说明,人类学习过程中还有某种本质是临时还无法用当前的神经网络程序来刻画的。

(顺便提一句,非常多评论觉得 AlphaGo 能够通过观察一个特定棋手的对局来了解他的棋风以做出相应的对策。

至少从论文来看,这差点儿确定是不可能的事。

一个棋手的对局数对 AlphaGo 来说实在太少,无从对神经网络构成有效的训练。观察和总结一个人的「棋风」这件事仍然是人类具有全然优势的能力,对电脑来说。这恐怕比赢棋本身还更难一些。)

这当然不是说。AlphaGo 应该试图去复刻一个人类棋手的大脑。可是 AlphaGo 的意义当然也不应该仅仅反映在它终于的棋力上。

它是怎样成长的?成长曲线具有什么规律?它的不同參数设置怎样影响它的综合能力?这些不同參数是否就相应了不同的棋风和性格?假设有还有一个不同但水平相当的 AI 和它重复对弈。它是否能从对方身上「学到」和自我对弈不同的能力?对这些问题的研究和回答,恐怕比单纯观察它是否有朝一日能够超越人类要告诉我们多得多的知识。

因此。即使 AlphaGo 在三月份战胜了李世乭,在我看来也是还有一扇大门的开启而非关闭。

其实,即使就围棋发展本身而论。假设把 AlphaGo 的两个大脑以如此简单的方式线性耦合起来就能胜过人类,那仅仅能说明人们对围棋的规律还有太多值得探索的空间。

而对人工智能领域来说。AlphaGo 和一切神经网络一样,本质上还仅仅是个大黑盒,我们能观察到它表现出的巨大能力,但对它到底是怎样「思考」的这件事依旧所知甚少。

在project上,这是个伟大的胜利。在科学上,这仅仅是万里长征的第一步而已。


參考资料

AlphaGo 项目主页:http://www.deepmind.com/alpha-go.html

Nature 论文:http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html

Nature 报道:http://www.nature.com/news/google-ai-algorithm-masters-ancient-game-of-go-1.19234

Dan Maas 对论文的浅显总结:http://www.dcine.com/2016/01/28/alphago/


关于程序算法艺术与实践很多其它讨论与交流,敬请关注本博客和新浪微博songzi_tea.


以上是关于论文阅读笔记的主要内容,如果未能解决你的问题,请参考以下文章

bigtable论文阅读笔记

SurfaceDefectsDetectionBasedonAdaptiveMultiscaleImageCollectionandConvolutionalNeuralNetworks-论文阅读笔记

关于 AlphaGo 论文的阅读笔记

程序算法艺术与实践关于 AlphaGo 论文的阅读笔记

论文阅读GNN阅读笔记

阅读笔记:做研究与写论文-周志华