Neural Networks for Machine Learning by Geoffrey Hinton (4)

来源:互联网 发布:猎巫运动知乎 编辑:程序博客网 时间:2024/04/28 02:05

一种可以学习家谱关系的简单神经网络

血缘一共有12种关系:

son, daughter, nephew, niece, father, mother, uncle, aunt, brother, sister, husband, wife

有1个英国家庭以及1个意大利家庭,每个家庭有12个人。各种家庭关系都是可用三元数组表示,即( Agent / Relation / Patient ) 结构:

  • (colin has-father james)
  • (colin has-mother victoria)
  • (james has-wife victoria) 可以由上述关系推导得到

该网络由5层结构组成,如图1所示


图1
图1

  • 网络底层左右两边各有12个神经元。
  • 第1层左侧神经元输入 Agent 向量,每次只有一个为1,如000100000000。
  • 第1层右侧神经元输入 Relation 向量,每次也只有一个为1。
  • 第2层左侧神经元用来序列化 Agent 向量,右侧神经元用来序列化 Relation 向量。
  • 第3层用以学习 Agent 与 Relation 的关系,预测出 Patient。
  • 第4层解析出 Patient 向量。
  • 第5层是预测出的实际 Patient,其每次的激活值可能不只一个。
    例如:Andrew has-aunt ? 可能对应多个 aunt。

网络学到了什么?

以序列化输入 Agent 的 6 个神经元为例,如图2.
- 1号神经元对不同国籍的输入很敏感,能够进行区分。
- 2号神经元对每次输入 Agent 所属的辈分(Generation)很敏感。
- 6号神经元对每次输入 Agent 所属的家庭很敏感。


这里写图片描述
图2

关于 概念(Concepts) 的两种理论

  • 特征理论(The Feature Theory)

    概念是语义特征的集合。
    A concept is a set of semantic features.


因此概念就能够用特征的向量来表示
  • 结构主义理论(The Structuralist Theory)

    概念的意义存在于概念与概念之间的关系。
    The meaning of a concept lies in its relationships to other concepts.


因此概念可以用关系图模型表达。Hinton 认为 *Both sides are wrong* ,因为

神经网络可以使用语义特征来实现关系图模型

Softmax 输出函数

均方误差有以下缺陷

  • 如果目标是1而现在的实际输出是0.00000001,那么返回给神经元的梯度几乎为0.
  • 强制指定所属各类概率就会剥夺网络的学习能力。
    Softmax作为逻辑回归的推广,能够很好解决这些问题。

构造公式

yi=ezijgroupezi

梯度公式

yizi=yi(1yi)

代价函数依然使用相互熵

dC / dy 的陡峭正好抵消了 dy / dz 的平坦。

相互熵

C=jtjlogyj

梯度

Czi=jCyjyjzi=yiti

Theano相应函数

x,y,b = T.dvectors('x','y','b')W = T.dmatrix('W')y = T.nnet.softmax(T.dot(W,x) + b)
0 0