符号学习简介

绪论

(Press ? for help, n and p for next and previous slide)


戴望州

南京大学人工智能学院
2022年-春季

https://daiwz.net

课程简介

课程安排

授课:戴望州(daiwz@lamda.nju.edu.cn)

时间:32学时(周二下午7、8节)

考核:课堂报告+大作业(暂定)

经验不足,请多多反馈

课程目标

『俱往矣,数风流人物,还看今朝。』

——《沁园春・雪》

回顾符号学习的发展史,展望机器学习的未来。

具体而言,尝试回答以下几个大问题:

  1. 符号主义凭什么和联结主义分庭抗礼?
  2. 纯符号学习为什么曾经一蹶不振
  3. 为什么知识图谱、神经—符号学习重新崛起
  4. 符号学习未来的出路在何方?

符号学习・绪论

  1. 为什么?
  2. 是什么?
  3. 怎么做?

什么是智能?

Credit: 2001: A Space Odyssey

什么是智能?

什么是智能?

智能是一个复杂概念

  • 感知(perception)
  • 抽象(abstraction)
  • 逻辑(logic)
  • 知识(knowledge)
  • 推理(reason)
  • 规划(planning)
  • 创造(creativity)
  • 学习(learning)
  • 自觉(self-consciousness)
  • ……

什么是人工智能?

Credit: 2001: A Space Odyssey

什么是人工智能?

什么是人工智能?

人工智能研究现状

人工智能研究之“怪”现状

DNN/不能做什么?

分布式表示(distributed representation)以及基于它的计算能/不能做什么?

  • Each neuron must represent something, so this must be a local representation.
  • “Distributed representation” means a many-to-many relationship between two types of representation (such as concepts and neurons).
    • Each concept is represented by many neurons
    • Each neuron participates in the representation of many concepts

Geoffrey Hinton. “Introduction to Neural Networks and Machine Learning”

分布式表示

嵌入式表示空间(Embedding space)

分布式表示的优点

  1. 学习海量样本,用参数化的嵌入式表示空间逼近数据真实分布
    • 大数定律
  2. 学习、推理算法复杂度低,速度快
    • 梯度下降 + 四则运算
  3. 无需人工输入知识(?)
    • 端到端建模(?)

那么,还有必要采用符号表示(symbolic representation)吗?

分布式表示的不足

分布式表示的不足

分布式表示的不足

为什么我们不会这样?

认知科学中的猜想:人的认知分为系统I系统II[Kahneman, 2011]

视觉上的例子

系统I、系统II

你能多快判断出以下命题的正误?

  1. \(1+1=2\)是对的。
  2. 窗外的树有些是绿色的。
  3. \(\bigcirc\bigcirc\bigcirc\bigcirc\bigcirc\longleftarrow\)这里有5个圈。
  4. \(\bigcirc\bigcirc\bigcirc\bigcirc\bigcirc\bigcirc\bigcirc\bigcirc\bigcirc\bigcirc\bigcirc\bigcirc\bigcirc\bigcirc\bigcirc\bigcirc\bigcirc\longleftarrow\)这里有18个圈。
  5. 若\(p\rightarrow q\)且\(q\rightarrow r\),那么\(p\rightarrow r\)。
  6. \(1+\frac{1}{4}+\frac{1}{9}+\cdots+\frac{1}{n^2}+\cdots=\frac{\pi^2}{6}\)。
  7. 如果教室里有一百只大象,那么我的符号学习课就拿能满分。
  8. “我只给自己不理发的人理发,所以我可以给自己理发”。
  9. 乌克兰在一年之内应该会打仗。
  10. \(P= NP\)是错的。

系统I、系统II

系统I:

  1. 直觉思维、一步到位
  2. 大量训练实现肌肉记忆、熟能生巧
  3. 速度快、几乎不消耗注意力
  4. 失败时放弃并转向系统II

系统II:

  1. 程序思维、逐步推理
  2. 必须依赖背景知识、举一反三
  3. 速度慢、消耗大量注意力
  4. 经常(盲目)相信系统I提供的信息
  5. 过于困难时放弃并转向系统I

“下一代深度学习”

符号学习・绪论

  1. 为什么?
  2. 是什么?
  3. 怎么做?

什么是符号?

  • 公孙龙:离坚白
  • 墨子:“坚白,不相外也。”
  • 毕达哥拉斯学派:万物皆数
  • 亚里士多德:目的论、Automaton
  • 莱不尼茨:“精炼我们的推理的唯一方式是使它们同数学一样切实”
  • 图灵:通用图灵机
  • (人工)神经元的工作模式:命题逻辑演算

符号:认知解释的词汇

 知行工夫,本不可离。

—— 王守仁

 What I cannot create, I do not understand. 

—— Richard Feynman

科学中,探索理解的过程是解释

  • 为什么会发生这种现象?
  • 什么该为此负责?
  • 它是怎样引起该现象?

解释就是要获得概括,而不同的词汇体现不同的概括。

符号:认知解释的词汇

假定你站在大街的一个角落,看到描述如下的一系列事件:

  1. 一个行人正沿着人行道走着。
  2. 这个人突然转身穿过街道。
  3. 与此同时,一辆小汽车飞快地冲着这个行人疾驰而来。
  4. 小汽车司机踩了急刹车。
  5. 汽车打滑,冲向路边撞向电线杆。
  6. 行人犹豫片刻,走到汽车司机坐位那边,看了看车里。
  7. 他跑到转角处的电话亭,拨了电话9和1。

请问:出了什么事?为什么行人跑向电话亭?下一步他将做什么?为什么那样做?

符号:认知解释的词汇

请描述一下你下课以后打算做什么。

  1. 这一系列行为之间有物理上的因果性吗?
  2. 这些行为合理吗?
  3. 这些行为具有普遍性吗?
  4. 这些行为之间的关联唯一吗?
  5. 你的这些描述完全准确吗?
  6. 如果不借助任何符号化词汇,你还能够描述吗?

符号:认知计算的表征

一个大胆,但又不得不做的假设:认知是一种计算

  1. “计算”具有普适性:
    • 通用图灵机
    • \(\lambda\)演算
    • 原始递归函数
    • C语言
  2. “计算”是一种抽象过程,与承载它的物理设备无关:
    • 大脑
    • 电子计算机
    • 量子计算机
  3. 我们最终希望用计算机实现一个认知体(弱/强人工智能)

符号:认知计算的表征

一个大胆,但又无法避免的结论:认知是关于符号的计算

  1. 没有无表征的计算:包括用代码实现的DNN
  2. 计算是由规则支配的过程:函数、证明、形式语言、逻辑推理
  3. 所谓的黑箱——直觉、情绪乃至神经网络:输出的表征仍然是符号
  4. 认知是可穿透的:可解释、可调试

符号学习的例子:程序归纳

Concatenate(ToLower(Substring(v,WordToken,1)),
            " ", ToLower(SubString(v,WordToken,2)))

符号学习的直观意义

通俗来讲:符号学习就是选择“词汇”寻找“解释”

  • “词汇”:背景知识、领域特定语言(DSL)
    • FlashFill语言中的语法和关键字
    • 开普勒第三定律\(\rightarrow\)万有引力的发现\(\rightarrow\)广义相对论

  • “解释”:假设模型
    • FlashFill中自动合成的程序
    • 从观测中总结出来的科学定律

符号学习的形式化定义

通过机器学习算法,从样本\(E\)中学会一个符号模型\(H\),使得在给定背景知识\(B\)的情况下:

\begin{equation} B\cup H\vdash E. \end{equation}

  1. 这里的“\(\vdash\)”是一个通用计算过程,表示“有限步推出
  2. \(B\)的表征形式多种多样,一般与\(H\)和\(E\)相同

符号学习的特点

表征 分布式/向量 符号
样本量 许多 较少
数据形式 表格 灵活
模型形式 固定形式 通用程序
可解释性 较难 较简单
知识迁移 较难 较简单
复杂度 较低 较高

符号学习・绪论

  1. 为什么?
  2. 是什么?
  3. 怎么做?

路径图

参考书目

命题规则学习、归纳逻辑程序设计

  1. 周志华. 《机器学习》. 清华大学出版社.
  2. Johannes Fürnkranz, Dragan Gamberger and Nada Lavrač. Foundations of Rule Learning. Springer.
  3. John Wylie Lloyd. Foundations of Logic Programming. Springer.

概率归纳逻辑程序设计、统计关系学习

  1. Luc de Raedt, Paolo Frasconi, Kristian Kersting and Stephen Muggleton. Probabilistic Inductive Logic Programming. Springer.
  2. Lise Getoor and Ben Taskar. Introduction to Statistical Relational Learning. MIT Press.

神经—符号学习

  1. New! Pascal Hitzler, Md Kamruzzaman Sarker. Neuro-Symbolic Artificial Intelligence: The State of the Art. IOS Press.

会议

One More Thing…

课堂报告(并不是每周都有)

尝试用\(x\)实现一个数数模型:当输入任意\(n, m\in\mathbb{N}\)时,不断输出 \(\{n+1,n+2,\ldots\,n+m\}\)。其中\(x\)为以下两种方式:

  1. 任意一种(你熟悉的)程序语言;
  2. 训练一个(循环)神经网络。

报告(学号_姓名_报告1.pdf):

  1. 请描述你的实现方案(包括神经网络),代码or伪代码皆可。
  2. 请测试神经网络的性能(关键:训练样本量、序列长度、训练样本区间)
  3. 并讨论:
    • 你的程序用到哪些背景知识?它们都是必须的吗?
    • 你的神经网络性能应该如何提升?

Deadline:3月4日23:59