Neural Networks for Machine Learning by Geoffrey Hinton (4)
一种能够学习家谱关系的简单神经网络
血缘一共同拥有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
- 网络底层左右两边各有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=ezi∑j∈groupezi
梯度公式
∂yi∂zi=yi(1−yi)
代价函数依旧使用相互熵
dC / dy 的陡峭正好抵消了 dy / dz 的平坦。
相互熵
C=−∑jtjlogyj
梯度
∂C∂zi=∑j∂C∂yj∂yj∂zi=yi−ti
Theano相应函数
x,y,b = T.dvectors('x','y','b')
W = T.dmatrix('W')
y = T.nnet.softmax(T.dot(W,x) + b)
Neural Networks for Machine Learning by Geoffrey Hinton (4)的更多相关文章
- Neural Networks for Machine Learning by Geoffrey Hinton (1~2)
机器学习能良好解决的问题 识别模式 识别异常 预測 大脑工作模式 人类有个神经元,每一个包括个权重,带宽要远好于工作站. 神经元的不同类型 Linear (线性)神经元 Binary thresho ...
- [Hinton] Neural Networks for Machine Learning - Basic
Link: Neural Networks for Machine Learning - 多伦多大学 Link: Hinton的CSC321课程笔记1 Link: Hinton的CSC321课程笔记2 ...
- [Hinton] Neural Networks for Machine Learning - Converage
Link: Neural Networks for Machine Learning - 多伦多大学 Link: Hinton的CSC321课程笔记 Ref: 神经网络训练中的Tricks之高效BP ...
- [Hinton] Neural Networks for Machine Learning - RNN
Link: Neural Networks for Machine Learning - 多伦多大学 Link: Hinton的CSC321课程笔记 补充: 参见cs231n 2017版本,ppt写得 ...
- [Hinton] Neural Networks for Machine Learning - Bayesian
Link: Neural Networks for Machine Learning - 多伦多大学 Link: Hinton的CSC321课程笔记 Lecture 09 Lecture 10 提高泛 ...
- [Hinton] Neural Networks for Machine Learning - Hopfield Nets and Boltzmann Machine
Lecture 11 — Hopfield Nets Lecture 12 — Boltzmann machine learning Ref: 能量模型(EBM).限制波尔兹曼机(RBM) 高大上的模 ...
- 课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 4、Logistic Regression with a Neural Network mindset
Logistic Regression with a Neural Network mindset Welcome to the first (required) programming exerci ...
- 课程一(Neural Networks and Deep Learning),第一周(Introduction to Deep Learning)—— 2、10个测验题
1.What does the analogy “AI is the new electricity” refer to? (B) A. Through the “smart grid”, AI i ...
- 课程一(Neural Networks and Deep Learning),第四周(Deep Neural Networks) —— 3.Programming Assignments: Deep Neural Network - Application
Deep Neural Network - Application Congratulations! Welcome to the fourth programming exercise of the ...
随机推荐
- 步骤一:下载jdk并安装和配置java环境变量
1.下载JDk地址: http://download.eclipse.org/oomph/jre/?vm=1_1_7_0_64_0 2.进入下载页面(下载的是jdk7),点击:Oracle JDK1. ...
- [PAT] 1140 Look-and-say Sequence(20 分)
1140 Look-and-say Sequence(20 分)Look-and-say sequence is a sequence of integers as the following: D, ...
- (转载)IntelliJ IDEA 自动导入包 快捷方式
原文地址:IntelliJ IDEA 自动导入包 快捷方式 idea可以自动优化导入包,但是有多个同名的类调用不同的包,必须自己手动Alt+Enter设置 设置idea导入包 勾选标注 1 选项,In ...
- hdu 1003(最大子段和)
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- Python五子棋的小程序
代码是在开源中国上看到的,源代码网址:http://www.oschina.net/code/snippet_2365439_48010 需要安装graphics模块,下载地址:http://mcsp ...
- sqlserver 构架与性能优化
太阳底下没有新鲜事 一.sqlserver 构架结构 1.查询优化器三阶段 1).找计划缓存如果找到直接使用 2).简单语句生成0开销的执行计划 3).正式优化 一般情况下优化到开销小于1.0就会停止 ...
- 解决网页中Waiting (TTFB)数据加载过慢的问题
解决网页中Waiting (TTFB)数据加载过慢的问题 最近做了一个网页,在本地测试良好,数据可以得到很快的反馈,但是当部署到云端Linux上时候,就会出现加载缓慢的问题.本地测试,得到数据大概3s ...
- 通过url判断当前页,动态给导航加样式
//通过url判断当前页,动态给导航加样式 var str =location.pathname; var index = str.lastIndexOf("\/"); str = ...
- 五十一 常用第三方模块virtualenv
在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4.所有第三方的包都会被pip安装到Python3的site-packages目录下. 如果我们要同时开发多个应用程序,那这 ...
- crontab定时任务管理
定时任务 添加与编辑任务crontab -e0 */1 * * * command0 */2 * * * command 查询任务是否加了:crontab -l #查看当前用户crontab -l ...