会议学习笔记(一):第十五届《前沿技术讲习班》之唐建
第十五届中国中文信息学会暑期学校暨中国中文信息学会《前沿技术讲习班》的回放链接:http://conference.cipsc.org.cn/ssatt2020/
学习笔记
- 唐建:Neural and Symbolic Logical Reasoning on Knowledge Graphs
- 摘要
- 简单介绍:
- 1. Reasoning in Continuous Space:连续空间上做推理。
- 2. Reasoning in Symbolic Space:符号逻辑上做推理。
- 3. Neural-Symbolic Reasoning:连续空间和符号逻辑上做推理。
- 4. Logic Rule Introduction/Learning。基于知识图谱已有知识去推断logical rule,基于logical rule在做推理。
- 介绍Logical Rules的三种类型:
- 讲座大纲:
- Part1:Logical Reasoning in Continuous Space将entity和relation投影到连续空间上,做推理
- TransE思想:
- TransR思想:
- RotatE思想:
- 优化思想
- 其他方法
- 不同方法分析
- 数据集和实验结果
- Part2:Symbolic Logic Reasoning (Reasoning in Symbolic Space)传统的AI方法,在符号逻辑上进行推理
- Logic Programming:
- Logic Programming in Probabilistic Ways——Markov Logic Network:
- Logic Programming in Probabilistic Ways——Stochas Logic Network:
- 其他方法:
- Part3:Neural-Symbolic Reasoning连续空间和符号逻辑上做推理。
- pLogicNet
- Part4:Logic Rule Introduction/Learning
- Inductive Logic Programming
- Neural LP核心思想:
- RNNLogic
- 总结
唐建:Neural and Symbolic Logical Reasoning on Knowledge Graphs
摘要
知识图推理是电子商务中的推荐、生物医学知识图中的药物再利用等诸多应用中一个重要的基础性问题。在本教程中,我将全面介绍知识图推理的最新进展,包括:
(1)基于知识图嵌入的方法(如:TransE、TransR和RotatE);
(2)传统的归纳逻辑规划方法和现代的神经逻辑规划方法;
(3)结合神经和符号逻辑方法进行知识图推理的最新进展。
简单介绍:
1. Reasoning in Continuous Space:连续空间上做推理。
方法:TransE、TransR等
2. Reasoning in Symbolic Space:符号逻辑上做推理。
方法:Logic programming等
3. Neural-Symbolic Reasoning:连续空间和符号逻辑上做推理。
方法:pLogicNet、ExpressGNN等
4. Logic Rule Introduction/Learning。基于知识图谱已有知识去推断logical rule,基于logical rule在做推理。
方法:Inductive logic programming和Neural logic programming(基于神经网络推断logical rule)。
介绍Logical Rules的三种类型:
- 对称、非对称关系。Eg:对称:结婚;非对称:父亲。
- 互逆关系。Eg:丈夫、妻子。
- 组合关系:Eg:妈妈 的丈夫是我的父亲。
讲座大纲:
Part1:Logical Reasoning in Continuous Space将entity和relation投影到连续空间上,做推理
TransE思想:
- 将所有的entity和relation都投影到连续空间领域,表示成低维度向量。
- 定义relation:是head entity到tail entity的translation翻译。
- 基于TransE可以建模哪种类型的logical rules?
互逆可以:“r1=-r2”
组合可以:“h+r1=x,x+r2=t,则:h+r3=t(先r1+r2就是r3)”
对称不可以:“h+r=t;t+r=h,则:r=0,h=t是不可以的,r=0意味着无法embedding嵌入表示”
TransR思想:
对TransE进行改进,将所有的entity和relation都投影到同一个空间(欧氏空间)里面,会产生问题。
改进:entity space 矩阵投影到 relation space,希望在投影中head 与tail接近。
RotatE思想:
对TransE进行改进,TransE不可以Model对称的关系,将所有的entity和relation都投影到附属向量空间里面,定义relation embedding:r定义为head到tail的旋转。建模不同关系:
对称关系可以:角度=0或者180。
互逆关系可以:角度=-角度
组合关系可以:角度3=角度1+角度2
缺点: 组合关系没有考虑关系的顺序(r1、r2和r2、r1;妻子的父亲和父亲的妻子)
优化思想
TransE、TransR、RotaE都是:使得head entity在平移或者旋转后接近tail entity。
本质是分类问题:正例负例,观测到的事实是正例(知识图谱中观测到的事实,<h,r,t>),其他的三元组是负例(固定r,构造负例:<h’,r,t‘>等)。对于给定的三元组,预测是属于正例负例的概率。distance越小,正例越高;将distance转换成概率,sigmoid方法0-1的值,k个负例,用Loss function优化entity和relation embedding对于所有都适用。
缺点:构造了多个负例,导致学习的负例的概率高。
Self-adversarial Negative Sampling。
改进了上面的思想,刚开始学习简单例子,随着学习不断进行,学习难的思想(实际是负样本,但是属于正样本的概率高)sample的概率高。
其他方法
不同方法分析
数据集和实验结果
s1至s3test是:逐渐变难
开源的方法:
Part2:Symbolic Logic Reasoning (Reasoning in Symbolic Space)传统的AI方法,在符号逻辑上进行推理
Logic Programming:
前项算法推理:基于当前所有的事实,将logic rules应用不断的到当前的事实中,得到新的事实。缺点:需要大的内存,将所有的logical rules存到内存中,再进行推理。
后项算法推理:对每个查询词,找到和当前问题相关的事实进行推理,构造一个搜索树。缺点:每次只能构建一个搜索树。
Logic Programming in Probabilistic Ways——Markov Logic Network:
本质:把一阶谓词逻辑跟graph model做结合,每一个node是事实,不同事实通过logic rules连接在一起。
解决logic rules的alternative:推理出的logic rule可能会存在错误(住在城市,就是有国籍)。
- 对每一条logic rule赋予权重
- 将所有logic rules基于已有的事实做前项推理,得到权重(权重越大,rule越可信)。
缺点:复杂的图结构无法使用;召回率较低。
Logic Programming in Probabilistic Ways——Stochas Logic Network:
与Markov Logic Network不同:做后项推理。
对每个query,基于不同的路径,得到不同的答案,对每个答案得到权重,归一化
其他方法:
Part3:Neural-Symbolic Reasoning连续空间和符号逻辑上做推理。
pLogicNet
Inference:根据graph embedding方法定义variational 方法:对于未观测到事实的事例,定义每件事情正确或错误的概率。
预测每个未知的事实是正确还是错误的,每个事实都知道正确还是错误的。
Learning:他的邻居(这个fact涉及到相关的fact),learning学习弱的权重。
对每个事实,基于它相关事实正确与否推断它正确与否。
Part4:Logic Rule Introduction/Learning
Inductive Logic Programming
新的领域有Graph,没有Logic Rule 。对于给定的Graph,如何进行Logic Rule的推断和学习,挖掘出Rule。
生成Logical Rule应用到Backgroud facts中,符合facts则有用。
Neural LP核心思想:
生成链状的logic rules,对每个logic rules都有权重,将所有logic rules都用来推理,但选择最大权重的Rules。生成logic rules有模版,长度是n。Vi是当前的entity,用one-hot来表示;每个关系由矩阵来表示,对所有可能的entity去测试是否有关系。
问答:Vx是当前entity=1,其他=0;一步推理Mq;两步推理Mp。
RNNLogic
logic rule链式,可以找到正确答案的搜索EM空间变小
总结
会议学习笔记(一):第十五届《前沿技术讲习班》之唐建相关推荐
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十五章:第一人称摄像机和动态索引...
Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十五章:第一人称摄像机和动态索引 原文:Introduction to 3 ...
- 动手深度学习笔记(四十五)8.1. 序列模型
动手深度学习笔记(四十五)8.1. 序列模型 8.1. 序列模型 8.1.1. 统计工具 8.1.1.1. 自回归模型 8.1.1.2. 马尔可夫模型 8.1.1.3. 因果关系 8.1.2. 训练 ...
- Slicer学习笔记(三十五)slicer学习链接
Slicer学习笔记(三十五)slicer学习链接 使用方面: 坐标系:https://www.slicer.org/wiki/Coordinate_systems 模块:https://slicer ...
- 【OS学习笔记】三十五 保护模式十:中断描述符表、中断门和陷阱门
上一篇文章学习了中断与异常的概念:[OS学习笔记]三十四 保护模式十:中断和异常区别 本片文章接着学习以下内容: 中断描述符表 中断门 陷阱门 1 中断描述符表 我们前面讲了无数次,在实模式下,是由位 ...
- 【OS学习笔记】二十五 保护模式七:任务和特权级保护对应的汇编源代码
本汇编代码是以下两篇文章讲解的内容的内核代码; [OS学习笔记]二十三 保护模式七:保护模式下任务的隔离与任务的特权级概念 [OS学习笔记]二十四 保护模式七:调用门与依从的代码段----特权级保护 ...
- Java学习笔记(三十五)
在完成对C语言的学习后,我最近开始了对C++和Java的学习,目前跟着视频学习了一些语法,也跟着敲了一些代码,有了一定的掌握程度.现在将跟着视频做的笔记进行整理.本篇博客是整理Java知识点的第三十五 ...
- Python学习笔记:第十五站 大宝藏
Python学习笔记 文章目录 Python学习笔记 第十五站 大宝藏 1. 编码格式介绍 2. 文件的读写原理 3. 文件读写操作 4. 文件对象常用的方法 5. with语句(上下文管理器) 6. ...
- USB学习笔记连载(十五):USB固件更新以及安装驱动
前几篇博客已经把如何更改固件程序和更改USB驱动名称,那么接下来就要把之前生成的 .iic 文件烧录到EEPROM里面去,实现USB的C2启动(笔者使用的是此类型,C2启动). 打开Cypress U ...
- ViSP学习笔记(二十五):基于图像的视觉伺服
开发环境:Ubuntu 18.04 LTS + ROS Melodic + ViSP 3.3.1 文章内容主要参考ViSP官方教学文档:https://visp-doc.inria.fr/doxyge ...
- 【GANs学习笔记】(十五)EBGAN、BEGAN
完整笔记:http://www.gwylab.com/note-gans.html ----------------------- 本章借鉴内容: https://blog.csdn.net/qq_2 ...
最新文章
- python 语音websocket_Python 牺牲性能以提升程序员的工作效率
- React (native) 相关知识
- service调用的存储过程里显式commit,而导致事务不能rollback
- ASP.NET 连接MySql数据库
- C++多线程快速入门(五)简单线程池设计
- linux 内核3.8,[Beaglebone] BBB迁移到linux 3.8实时内核
- 使用ExtJS做一个用户的增删改查
- 入门科普:一文看懂NLP和中文分词算法(附代码举例)
- 软银收购芯片巨头ARM 或将推动物联网应用跨越式发展
- 二套“非普通住宅”是否认贷不认房 各地口径不一
- 计算机文字录入教案,《文字录入》(1-4)教案.doc
- python全栈开发-Day11 迭代器、生成器、面向过程编程
- Fundebug前端JavaScript插件更新至1.6.0,新增test()方法用于测试 1
- 【BZOJ2407/4398】探险/福慧双修 最短路建模
- 计算机枚举法教案,简单枚举算法教案.ppt
- web项目开发上传功能
- pyecharts 插入到 ppt
- C语言实现部标JTT808
- java取石子_取石子游戏 - Snowdream - BlogJava
- Mac电脑没有声音,苹果电脑没有声音怎么办