last modified at Apr13,2024
0. 引言
机器学习的自动推导过程中有一个关键步骤,就是自动求解过程的参数反向传播过程,这个工作据说是这个人做的:
他的工作真正的推动了机器学习能够工程化运作了。今后我会对这个人的工作做全面的梳理。理论上,是这个人发现了机器之心。
另外,刚刚发现了一个更全的工业领域的数据集,隶属工业预防性维护领域:
Datasets | 52phm故障预测性维护http://www.52phm.cn/datasets/
莱姆哈特几乎是独立把认知心理学从一门准科学的学科,代入了真正的科学——可测量,可分析,结果可重复。数据驱动式的分析是他引入他所在的认知心理学行业的。
1. 莱姆哈特小传
1942年出生,美国人,原籍在South Dakota。2011年3月13日去世。大学专业是个交叉学科,数学心理学。1968年毕业。在毕业大概7,8年后他不再满足于符号逻辑的范式,开始尝试用神经网络来处理认知问题。最主要的论文是在1986年左右完成的,《银河系漫游指南》的作者,那个42的答案不知道是否是指代它的论文的发表时间。
在1970's开始尝试神经网络的尝试,到之后的十年间,他的主要工作成果有两个,一个是交互式的阅读模型。一个是没有前置规则集(字典,语法)的语言学习模型,这些都是由多层神经网络实现的。
2000年一项以他的名字冠名的奖项($100,000)被设立,以表彰他对认知心理学做出的巨大贡献:
1987年,毕业二十一年后,莱姆哈特回到了母校,斯坦福。1998年,因病退休。他的乒乓和排球打得都不赖。
1974 年赖在加州大学圣地亚哥分院教授,并做语言学习的工作,他和LNR研究中心(三个创始人的姓氏简拼,R是赖)已经出版了一本名为《Explorations in Cognition》的书(参见附录B)。他的同事James L. McClelland(下称麦,是PDP理论的另一个主要贡献者)和他一同教授一个系列课程:包含认知心理学概述,认知心理学涉及到的工具,实验环节。每周会有3-6课时的课。大概在1975到1976,麦姓同事开始与赖一同处理数学心理学课程。这个课程的核心是数据,而不是既有的论文和方法传授——很类似凯斯大学和后面的image.net——数据案例驱动的学习模式。
麦在加入这个数学认知课程后,学到了建立数学模型的方法,继而发展起了自称为Cascade model的认知模型。随后和赖一起协同工作,莱姆哈特的第二篇重要论文,就是和麦合作的产物。PDP模型的back-propagation learning algorithm在随后的时间由莱姆哈特单独做出——他把Hopfield的认知结构概念引入PDP(Parallel Distributed Processing)模型。把霍的理论反转了一下,由推模式改为依赖最终结果反推,去修正模型参数。这位麦姓同事和他的协作,还有一处,是英文语法中的过去分词的理解。
他们当时工作的LNR中心,研究的目标是这些:知识的内存映射、口语识别、上下文环境中的单词理解,阅读的交互是模型。当时计算机开始向各个学科渗透,人们希望能够把这个新工具用起来。
赖当时在动词解析组,他们需要构建一套完整的英文语言的计算机映射。心理学一直像经济和其他一些专业一样不能严格地被称为科学。在1975年那本书(参见附录B)以后,这件事情得以改观。1970年代中期他们的计算工具是磁带和PDP-11计算机(1970年代中期):
莱姆哈特被征召回斯坦福后,车是这样的:
这是一辆二手车,Austin-Healey,作为一个家境贫寒,大学学费靠在一个本地教堂看门的奖学金,最终学费打折到只有50美元一年的学生,20年后荣归母校,你知道这是怎么回事。
回到斯坦福之后,他的菜单里才被他的媳妇添加了肉类和薯条之外的食物。赖的做事风格就像它的研究方法,是问题驱动式的,所以他不会陷入理论选项。它始终是一个很不错的程序员,能够快速验证自己和同事的理论。
斯坦福的气候和风俗和堪萨斯非常不同。回到斯坦福后,因为是他的母校,他和很多过去的同学能够待在一起。回旋镖(真正用于狩猎的回旋镖)和乒乓的公余运动也就是在这个时候。1991年,莱姆哈特当选为National Academy of Science成员。
在同事的眼里,赖是个被问题驱动的人,只要他想知道答案,他就不会停息下来。他的编码量似乎超过了研究室里的专职程序员。内向。但是在熟悉的领域,他非常活跃并有创造力。
2.什么是反向传播
back propagation 我随机调取了知乎的一个反向传播的解释,它主要的目的是从结果反向调整模型参数。
2.1 构建最简机器学习模型
这些都是估计值。
2.2 带入经验参数,套入模型,得到模型输出
x1,x2,y是一组真实的测量值。而w系数是一组经验值。从上面的模型图可以得到如下的公式(代入初始值和初始参数值)和计算结果。
h1 = x1*w1 + x2*w2 = 0.5*1.0 + 1.0*0.5 = 1.
h2 = x1*w3 + x2*w4 = 0.5*0.5 + 1.0*0.7 = 0.95
y' = h1*w5 + h2*w6 = 1 *1.0 + 0.95*2 = 2.9
按照上面这个模型的实际计算结果,y' (=2.9)并不等于0.8,瞎猫逮不到活老鼠。
2.3 反向传播修正参数
所以,我们必须依据这个结果反向调整参数。怎么做呢?
#Step1. 求模型输出与最终输出的差值,因为差值有大有效,我们需要得到那个误差
(eq1)
#Step2.我们需要反向倒退w5系数的改变量,模型只是一些超平面的交线:
(eq2)
#Step2.1我们要计算出输出值的变化量换算到w5的变化量那个斜率。
因为最终的y输出依赖h1,h2两个参数。我么先稳住h2.则此时有:
w5*h1 + [w6]*[h2] = y' (eq3) 其中加[]表示是个常量
此时eq1左侧: (δ-0)/(w5.new - w5)
eq2 右侧:
第一个部分∂δ/∂y' 可以从eq1得到:
=1/2*2*(y-y')*(-1) = 1/2*2*(0.8-2.9)*(-1) = 2.1
第2个部分,可以从eq3得到
=h1 = 1
所以等式右侧 = 2.1*1 = 2.1
所以:eq2里:∂δ/∂w5 = 2.1
#Step3.重复Step2,我们能够用类似的方法求出∂δ相对所有参数w1,w2,w3,w4的导数。
#Step4.接下来我们需要刷新所有的参数。我们在学习时,切忌用力过猛,所以我们设定一个精度调节指标比如只有0.1。就是说,虽然我们算出的w5的调整量需要是2.1但是,我们一次只回调0.1*2.1。#Step5.然后在更新w的所有的节点后,我们需要演算一下误差是增大,还是减少了。如果减少,那么可以进入下一轮迭代,如果增大,可能需要调整一下策略。
注意,梯度就是三维乃至更高维空间的斜率,它是一个东西。上面就是误差反向传播,然后自动修正系数的过程。 可以参见这个视频:
附录 A NSTL国家科技图书文献中心记录的戴维论文列表
- Neural network prediction of glass-transition temperatures from monomer structure
10.1039/FT9959102491 - Self-organizing integrated segmentation and recognition neural network
- Facial expression recognition using a neural network
- ACTIVE SEMANTIC NETWORKS AS A MODEL OF HUMAN MEMORY
- An Environment to Acknowledge the Interface between Affect and Cognition
1998,SPIE Proceedings Vol. 1710 Science of Artificial Neural Networks Meeting Date: 04/20/92, Orlando, FL, USA. - Milestones CS Awards
Communications of the ACM,2010,53(12) - 17~17 - memoriam ...
Intelligence: The future of computing,2011,27(11) - 6~6 - In Memoriam David E. Rumelhart 1942–2011
Communications of the ACM,2011,54(5) - 15~15 - Thinking with Your Hands,Lisa Aziz-Zadeh,Science,2023
Jun.2 TN.6648, page 891~892
附录B 莱姆哈特的两本认知心理学的书
这是认知心理学乃至人类历史上可以和牛顿的《自然哲学的数学原理》相提并论的书,两卷莱姆哈特参与的认知科学奠基作品:
Parallel Distributed Processing – Explorations In The Microstructure Of Cognition (2 Vol Set)
后面这一本还有一本红色的,是一套两册。这是机器学习,最初的火种。它可以好不夸张地和相对论,牛顿的《自然哲学的数学原理》相提并论——它还在二手书市出售!