2.2.1 家谱模型:前馈网络
Hinton(1986)描述的家谱模型可帮助我们了解图2.11中的两个家谱中的亲属关系。这两个家谱是同构的,也就是说它们完美地相互映射,一个家谱中的一位家庭成员对应于另一个家谱中的一位家庭成员。
图2.11 Hinton(1986)使用的两个同构家谱。符号“=”表示已结婚。例如,Penelope已与Christopher结婚,并且是Arthur和Victoria的母亲
该模型本身(如图2.12所示)是一个多层感知器,激活严格地从输入节点传递到输出节点。特定事实被编码为每个输入对的输入节点。模型对两个图中描绘的24个人之一进行编码,或对12种家族关系(父亲,母亲,丈夫,妻子,儿子,女儿,叔叔,姨妈,兄弟,姐妹,侄子,侄女)之一进行编码。输出节点代表特定的个体。给定由关系输入单元编码的12种可能的家族关系,并考虑Hinton使用的两个家谱,总共有104个可能的事实,其形式为X是Z的Y,例如Penny是Victoria和Arthur的母亲。
图2.12 Hinton(1986)的家谱模型。圆表示单元,矩形表示单元的集合,并非所有单元或所有连接都显示在图中。通过激活一个施事单元和一个关系单元来表示对模型的输入。在输出库中激活了与该施事和关系相对应的一组受事,所有激活都是从输入到输出向前流动的
最初,模型的权重是随机的。在这一点上,模型随机响应父亲、女儿和姐妹之类的词语,并且不知道任何具体事实,例如哪些人是Penelope的孩子。但是通过应用反向传播[7],该模型逐渐了解了具体事实。Hinton认为,该模型学到了一些有关其被训练的亲属关系(父亲、女儿等)的信息。(我将在第3章中对Hinton的论点提出质疑。)
Hinton并未对104个事实进行模型训练,而是保留了4个事实以供测试。特别是,他对该模型进行了两次测试,每次都根据104个可能的事实中的100个进行训练。使用的初始随机权重不同,测试运行的过程也不同可以认为这两次测试与两个不同的实验对象大致相似。在第一次测试中,模型对所有4个测试用例都给出了正确输出;而在第二次测试中,模型给出了3个正确输出。从这两次测试可以看出,该模型具有一定的泛化到新案例的能力。
该模型有趣的部分原因在于,隐藏单元似乎捕获了未在输入中显式编码的概念,例如“一个人属于哪一代以及一个人属于哪个家庭分支”。McClelland(1995,p.137)采用的Hinton模型表明“可以学习无法用给定变量之间的相关性表达的关系。网络所做的是发现新的变量,并且必须将给定的变量转换为新的变量。”同样,Randall O'Reilly(私人通信,1997年2月6日)认为,Hinton的“网络(通过反向传播学习)在‘编码’隐藏层中抽象了内部表示,在随后的层中针对这些抽象的内部表示的关系信息进行编码。”