zoukankan      html  css  js  c++  java
  • 关系抽取---远程监督 ---《DSGAN: Generative Adversarial Training for Distant Supervision Relation Extraction》

    在本文理解之前,这个图必须理解,因为这个是本文数据的划分范围。

    x为远程监督的负样本,也就是通过远程监督排除的数据。其余的为远程监督产生的样本,即远程正例样本。但是这里还分真的能表达这个关系的true positive data(○),和噪音数据false positive data(△).

    • 创新点:

      1. 第一次将对抗生成网络应用在关系抽取领域。 

      2. 模型是的句子层面,与之前的bag-level不同。并且generator是可插拔式,可以安插在任何网络之前,进行对数据的清洗。

    文本有强假设(ture postive的data还是在bag中占多大数的)(这个假设有些过于强势,因为relation bag 有几率全是噪音数据)

    • 本文思想:

      给定一组远程监督产生的句子,generator试图从中生成true positive data; 但是,这些生成的样本被视为nagative data来训练discriminator。因此,当完成一次扫描DS positive data时,generator产生的true positive data越多,discrimnator的性能下降越快。经过对抗性训练,我们希望得到一个鲁棒的genarator,使鉴别器在最大程度上丧失其分类能力。

      (可能有点绕口,这么解释吧:

        本文的目标就是获得一个generator,可以最大限度的过滤掉噪音数据。那么留下来的正好是true positive data,这些留下的数据用于训练discriminator。按照正常的思维,这些优质数据被discriminator训练的时候,应该最大化true positive data对应relation的概率。但是恰恰相反,本文要让这批数据被discriminator看成是负例数据。所以这样就可以最大限度的降低discrimination的分类能力。

    •  pre-trainning strategy:

        1.  discriminator 用 DS positive dataset P (label 1) and DS negative set N D (label 0) 预训练。(见上图),预训练的目标:accuracy到达90%以上。   

        2. generator用 DS positive dataset P (label 1) and DS negative set N D (label 0) 预训练.(但是这个negative set 和discriminator不相同,目的就是为了实验的鲁棒性),同时让generator过拟合训练数据。

          (过拟合是为了让generator可以最大限度的在对抗学习中逐渐降低 false positive samples)

    • Generative Adversarial Training for Distant Supervision Relation Extraction

        generator和discriminator都是CNN model. 都是句子输入(word embedding ,position embedding)+entity pair 输入

        注:将sentences 分成bags,并不是entityt pair对应的那个bag.

        generator:

          

            T是generator认为true positive的数据。(置信度高)

           

             generator的目标就是最大化这个函数。Pd是discriminator对T中的每个句子表达relation的概率

            (LG涉及一个离散的采样步骤,因此不能通过基于梯度的算法进行直接优化。我们采用了一种常用的方法:基于策略梯度的强化学习,下一章节说明)

        discriminator:

          

           discriminator的目标就是最小化这个函数。(解释:也就是最大化false positive data的概率(大括号上面的部分)和 最小化true positive data的概率  )

        

        算法概述:

          

         注:在每一轮epoch中,discriminator加载相同的初始函数。(原因:我们需要的是genarator而不是discriminator;generator的作用是从数据中筛选出true positive data,而不是取从头到尾生成)

          (因此,我们当discriminator的性能在一个epoch内下降最大时,就产生了最鲁棒的genarator。。为了创建相等的条件,每个epoch的包集B是相同的.)

         Optimizing Generator:

           reward由两部分组成:

            

              

           因此,Lg的梯度:

            

       流程概述:

        

        

  • 相关阅读:
    windows10 + anaconda + tensorflow-1.5.0 + python-3.6 + keras-2.2.4配置和安装
    k-center问题-学习
    交换机+路由器 网络口连接桥接关系示意
    用scp命令来通过ssh传输文件,ssh推送.py程序到CentOS7服务器端出现lost connection错误
    codevs 1519 过路费 最小生成树+倍增
    10.18 noip模拟试题
    poj 3565 ants
    [国家集训队2011]种树 (神贪心~~)
    poj 1821 Fence 单调队列优化dp
    SPFA 小优化*2
  • 原文地址:https://www.cnblogs.com/dhName/p/11857499.html
Copyright © 2011-2022 走看看