Jeff Dean本科论文首次曝光!第一批90后出生时,他就在训练神经网络

简介:

22岁时,你在干嘛?

这两天,现任Google AI掌门,传奇一般的Jeff Dean,再次收获膜拜和引发热议。全因他的本科毕业论文首次曝光。

这篇论文只有8页。

却成为1990年的最优等本科论文,被明尼苏达大学图书馆保存至今。

同时这篇论文表明,整整28年前,Jeff Dean已经在用C语言,为神经网络编写并行计算的代码。

拜Jeff Dean教的众人又沸腾了。

老论文,新热议

有位大概很年轻的网友,看了论文之后在HackerNews上发出感慨:不可思议,Jeff Dean在1990年就开始对神经网络感兴趣。

一句话,引来众多科普和追忆。总结起来,就是当时神经网络正当红。

有人感慨:“神经网络那时候是一件大事,在1980年代后期非常热门,那真是一段美好的时光。”

1990年,正值第二次AI寒冬之前,当时,神经网络、Prolog、LISP语言、模糊逻辑都正在流行,ANN还没有被SVM等超越,日本在AI领域还大有赶超美国之势。

后来成为Jeff Dean同事(实习生 ^_^)的神经网络之父Geoffrey Hinton,当时也已经有很多重要研究发表,反向传播也出现了。

Jeff Dean这篇论文提到的两种并行训练方法,就都是基于反向传播的。

网友@silverlake说,“我几乎与Dean同龄,我的本科项目是用遗传算法改进神经网络。当时人工智能很流行,但不久之后冬天来了。”

1990年代早期,对神经网络和机器学习来说是一段非常有趣的日子。当时物体识别、手写识别等都有出现,所有进展都在快速推进,但很快资金撤走了,项目全都陷入困顿。

“幸好后来GPU、深度反向传播的出现,数据量开始爆炸之后,神经网络卷土重来。”网友@dekhn说。而对于那些在第二次AI寒冬中坚守至今的人来说,显然已经得到了应有的回报。

dbdd55c09b6cc2aeb2905c83c35950c6b70a0dfe

回忆往事之外,不少人得出类似不忘初心,方得始终的结论。

比方Jeff Dean本科毕业论文中研究的问题,被指仍然是今天TensorFlow的重大问题之一。

“真正有趣和创新的早期工作,我认为这也解释了为什么TensorFlow不支持层内模型并行。令人惊讶的是,早期的经历对我们的影响有多大。”网友@scottlegrand2评价。

确实如此。实际上本科毕业之后,Jeff Dean并没有一直沿着AI的方向继续研究下去。随后他的兴趣转向编写高级面向对象语言的编译器,并且在这个领域取得博士学位。

“然而那一丝觉得神经网络很有意思的感觉,从来没有真正消失过”,于是后来Jeff Dean又在Google内部主导神经网络、人工智能的研究,并且和吴恩达、Greg Corrado共同发起成立了Google Brain项目并且担任负责人。

有人评价说,Jeff Dean是一位具有编译器优化专业知识的计算机科学家,而TensorFlow本质上是一种将神经网络加速,转化为与编译器优化相关问题的尝试。

872e8b4ed346c75dfec63daa17acc27a5dfdd3a0

当然,还有很多人注意到,这篇优秀毕业论文只有8页

“一如既往,Jeff Dean从不让人失望。在年轻的时候就解决了一个负责的问题,获得很好的结果,而且清楚简洁的描述了解决方案。”网友@halflings留言说,“我的论文得有60页,但价值不及这篇的千分之一。”

一个学术机构竟然允许提交这么简明的毕业论文,值得表扬。有人回忆起自己读研时的经历:几乎每个修改我论文的人都想加一堆废话。如果你想用一句话简单描述,就会被拒。导师能允许他、甚至鼓励他这么高效精简地沟通,对他真是太好了。

于是,大家开始好奇他导师是谁……

当然有答案。Jeff Dean本科毕业论文的导师,是Vipin Kumar。

Kumar教授现在依然在明尼苏达大学任教,研究数据挖掘、高性能计算和这些技术在气候、生态系统、医疗方面的应用。他还曾在1998年-2005年期间,担任美国陆军高性能计算研究中心(AHPCRC)主任。

Jeff Dean发推说,这篇论文他其实已经弄丢了,于是今年年初,他问当年在明尼苏达大学的导师Vipin Kumar还有没有这篇论文,当然,老师也没有……

他们又去问了学校的荣誉毕业生项目(Honors Program),得到的答案是,纸质论文全都没了。好在,图书馆扫描了一份PDF,才让这篇论文重见天日。

这篇论文在讲什么?

这篇已经快30岁的论文,是怎样并行训练神经网络的?

Jeff Dean探讨了两种基于反向传播来平行训练神经网络的方法。

第一种是模式分割法(pattern-partitioned approach),将整个神经网络表示在每一个处理器上,把各种输入模式划分到可用的处理器上;

第二种称为网络分割法(network-partitioned approach)流水线法(pipelined approach),将神经网络的神经元分布到可用的处理器上,所有处理器构成一个相互通信的环。然后,特征通过这个pipeline传递的过程中,由每个处理器上的神经元来处理。

他还构建了不同大小的神经网络,用几种不同的输入数据,对这两种方法进行了测试。

结果表明,对于模式分割法,网络大、输入模式多的情况下加速效果比较好;

ed3f3875d7225732a7a430cd2a174030e94b931f

而下面这张图,是两种方法的对比结果:

4080193b72d7ca0760193c559a521e1657d891e0

那时候,Python公开版还没发行,更没有TensorFlow、PyTorch之类的框架。Jeff Dean并行训练神经网络的测试代码,都是用C语言写的。

这些神经网络本身、用来测试的配置,也有有浓厚的年代感。我们从论文里能看到1990年的“大”神经网络什么样:3层、每层分别10、21、10个神经元的神经网络,就算很大了。而Jeff Dean测试用的处理器,最多达到了32个。

这时的Jeff Dean应该还想不到,12年后,他会和吴恩达、Quoc Le等人一起,用16000个CPU核心,从海量数据中找出猫。

论文传送门:

https://drive.google.com/file/d/1I1fs4sczbCaACzA9XwxR3DiuXVtqmejL/view

Jeff Dean小传

05233306d820441343bb33400a821c034bebeb8c

1969年生,49岁。

1996年博士毕业于华盛顿大学计算机系(UW)。

美国国家工程院院士,ACM Fellow,AAAS Fellow。

1999年加入初创期的Google,设计并部署了Google广告、抓取、索引和查询服务系统的大部分内容,以及位于Google大部分产品下方的各种分布式计算基础架构,也是Google新闻、Google翻译等产品的开发者。

发起创办了Google大脑。

发起打造了目前全球份额第一的深度学习框架平台TensorFlow。

虽然官方title是Google高级研究员,但Jeff Dean在Google的地位仅次于创始人拉里·佩奇和谢尔盖·布林。

在2018年4月,Google内部架构调整,Jeff Dean接管Google整个AI业务和团队,据称工位也与Google现任CEO皮猜相邻。

cbb2061bf51ea2efc8621b92571d540316366eda

Jeff Dean的LinkedIn履历

段子中的姐夫

当然,如果你对这位低调的大神了解有限,是时候又要祭出圈内口口相传的Jeff Dean的段子集了。

我们也当面向“姐夫”转述过这些段子,他当时笑着回答说:谢谢大家的喜爱。

一起来看看这些段子吧:

During his own Google interview, Jeff Dean was asked the implications if P=NP were true. He said, “P = 0 or N = 1.” Then, before the interviewer had even finished laughing, Jeff examined Google’s public certificate and wrote the private key on the whiteboard.
当他被Google面试时,Jeff Dean被问及如果P=NP意味着什么。他说,“P=0 或者 N=1”。然后,在所有的面试官还没笑完之前,Jeff瞄了一眼Google的公共证书然后在白板上写上了对应的私钥。

Compilers don’t warn Jeff Dean. Jeff Dean warns compilers.
编译器从来不给Jeff编译警告,而是Jeff警告编译器。

The rate at which Jeff Dean produces code jumped by a factor of 40 in late 2000 when he upgraded his keyboard to USB 2.0.
在2000年后段,Jeff码代码的速度突然激增了40倍,原因是他把自己的键盘升级到了USB 2.0。

Jeff Dean builds his code before committing it, but only to check for compiler and linker bugs.
Jeff还是会在提交代码前把它们编译一遍,不过这么做的目的只是为了检查下编译器和链接器有没有bug。

gcc -O4 emails your code to Jeff Dean for a rewrite.
gcc的-O4优化选项是将你的代码邮件给Jeff重写一下。

9efb7eebdee42642883a9c49b25481f49d2b15f3

Jeff Dean was born on December 31, 1969 at 11:48 PM. It took him twelve minutes to implement his first time counter.
Jeff出生于1969年12月31日的下午11点48分,然后他花了整整12分钟的时间实现了他的第一个计时器。(背景:计算机中的计时器数值通常被设计为从1970年1月1日0点0分0秒到当前为止的秒数)。

When Jeff Dean designs software, he first codes the binary and then writes the source as documentation.
当Jeff写软件时,他是直接码机器码的。写源代码只是为了作为文档使用。

Jeff Dean’s keyboard has two keys: 1 and 0.
Jeff的键盘多达两个键:1和0。

When Jeff has trouble sleeping, he Mapreduces sheep.
当Jeff失眠时,他用Mapreduce属羊。(Mapreduce是Jeff的作品之一,这个分布式处理的框架算法是Google立足的根本之一)。

You name three pointers, Einstein, Euler, and Turing, when you de-reference them, all you get is Jeff Dean.
如果你命名三个指针分别为爱因斯坦、欧拉和图灵,当你查看它们的指向时,你看到的都会是Jeff。


原文发布时间为:2018-08-27

本文作者:关注前沿科技

本文来自云栖社区合作伙伴“量子位”,了解相关信息可以关注“量子位”。

相关文章
|
2月前
|
机器学习/深度学习 PyTorch 算法框架/工具
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
这篇文章介绍了如何使用PyTorch框架,结合CIFAR-10数据集,通过定义神经网络、损失函数和优化器,进行模型的训练和测试。
159 2
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
|
2月前
|
机器学习/深度学习 数据可视化 计算机视觉
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
这篇文章详细介绍了如何通过可视化深度学习中每层特征层来理解网络的内部运作,并使用ResNet系列网络作为例子,展示了如何在训练过程中加入代码来绘制和保存特征图。
68 1
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
|
2月前
|
机器学习/深度学习 人工智能
类人神经网络再进一步!DeepMind最新50页论文提出AligNet框架:用层次化视觉概念对齐人类
【10月更文挑战第18天】这篇论文提出了一种名为AligNet的框架,旨在通过将人类知识注入神经网络来解决其与人类认知的不匹配问题。AligNet通过训练教师模型模仿人类判断,并将人类化的结构和知识转移至预训练的视觉模型中,从而提高模型在多种任务上的泛化能力和稳健性。实验结果表明,人类对齐的模型在相似性任务和出分布情况下表现更佳。
71 3
|
29天前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
52 8
|
2月前
|
机器学习/深度学习 Web App开发 人工智能
轻量级网络论文精度笔(一):《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》
《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》这篇论文提出了一种基于YOLOv3-Tiny的轻量级目标检测模型Micro-YOLO,通过渐进式通道剪枝和轻量级卷积层,显著减少了参数数量和计算成本,同时保持了较高的检测性能。
45 2
轻量级网络论文精度笔(一):《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》
|
2月前
|
机器学习/深度学习 编解码 算法
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
MobileNetV3是谷歌为移动设备优化的神经网络模型,通过神经架构搜索和新设计计算块提升效率和精度。它引入了h-swish激活函数和高效的分割解码器LR-ASPP,实现了移动端分类、检测和分割的最新SOTA成果。大模型在ImageNet分类上比MobileNetV2更准确,延迟降低20%;小模型准确度提升,延迟相当。
83 1
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
|
2月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
69 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
|
2月前
|
编解码 人工智能 文件存储
轻量级网络论文精度笔记(二):《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object ..》
YOLOv7是一种新的实时目标检测器,通过引入可训练的免费技术包和优化的网络架构,显著提高了检测精度,同时减少了参数和计算量。该研究还提出了新的模型重参数化和标签分配策略,有效提升了模型性能。实验结果显示,YOLOv7在速度和准确性上超越了其他目标检测器。
59 0
轻量级网络论文精度笔记(二):《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object ..》
|
2月前
|
机器学习/深度学习 算法 TensorFlow
深度学习笔记(五):学习率过大过小对于网络训练有何影响以及如何解决
学习率是深度学习中的关键超参数,它影响模型的训练进度和收敛性,过大或过小的学习率都会对网络训练产生负面影响,需要通过适当的设置和调整策略来优化。
537 0
深度学习笔记(五):学习率过大过小对于网络训练有何影响以及如何解决
|
10天前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
47 17

热门文章

最新文章