DPS 周刊 124 - ImageNet 的艰难诞生
在上一期 DPS 周刊中,我们介绍了李飞飞教授的移民奋斗史 -- The Worlds I See。其实她的成名之作当属 ImageNet,这座计算机视觉的里程碑的诞生却一波三折,它甚至差点夭折。
当李飞飞最早和身边的人聊起 ImageNet 的点子,很多人都觉得她异想天开,甚至包括她的祖师爷 Jitendra Malik:
He paused for a moment, then continued. “Frankly, I think you’ve taken this idea way too far.” I took a shallow breath. “The trick to science is to grow with your field. Not to leap so far ahead of it.”
幸好李飞飞遇到了 Kai Li 教授,以及他的学生 Jia Deng。专注于分布式计算的他们帮助李飞飞解决工程上的难题,毕竟在当年要构建一个包含上百万张图片的数据集,工程上并不容易。
最早他们是请学生一张张搜索图片,然后手工下载。Jia Deng 计算了一下工程量之后,发现要19年才能下载完。于是他写了爬虫,自动从 Google 上检索图片,然后下载。不久这个爬虫就被 Google 封锁,直到他使用动态 IP 来破解 Google 的封锁。
解决了图片下载的挑战之后,如何标注这些数据是第二大难题。在与 Jia Deng 的闲聊中,另一名研究生 Min 得知了这一挑战,于是向李飞飞建议使用 Amazon 的众包服务 -- Mechanical Turk -- 将标注工作外包给全世界使用 MTurk 的人。
I instantly forgot about my haste as my ears perked up. Jia has a social life?
就这样经过两年不懈的努力,ImageNet 终于完成建设,包含了近1500万张图片。
After two more years on the knife-edge of our finances—an agonizing stretch in which even a minor bump in the road might have sunk us for good—ImageNet was finally maturing into the research tool Jia and I had always envisioned.
他们于2009年将论文 ImageNet: A Large-Scale Hierarchical Image Database 投向了计算机视觉的顶会之一 – Conference on Computer Vision and Pattern Recognition (CVPR),没想到只获得了海报展示的机会。你能相信吗?这篇计算机视觉史上最重要的论文只获得了海报展示机会,而不是口头汇报的机会?
Our first setback was also the most consequential: that ImageNet was relegated to a poster session.
尽管在 CVPR 2009 上,ImageNet 并没有获得多少关注。但是李飞飞他们并没有气馁,相反,她非常坚信自己的成果:
“I don’t think ImageNet will make today’s algorithms better,” I said. “I think it will make them obsolete.”
他们也没有雪藏这个数据集,而是把他们做成了一个挑战赛,任何人都可以报名参加。于是他们联合之前的赛事 PASCAL VOC,让 ImageNet 成为其中的一个分支。
Mark was a rising star in the world of computer vision in his own right, and kindly allowed ImageNet to begin its life as a new track within the PASCAL VOC competition, then in its sixth year. It was an especially gracious offer, giving us the chance to learn the ropes within the confines of something already established.
当然“古早”的机器学习算法 -- 比如随机森林,支持向量机等等,拿这么大的数据集毫无办法,所以参赛者也知难而退:
Worst of all, participation was already dropping, and precipitously: registrations fell from 150 to 96 in the second year, and the entries themselves fell from 35 to just 15.
一直等到2012年,Alex Krizhevsky,Ilya Sutskever 和 Geoffrey Hinton 三人利用基于神经网络的 AlexNet 把 ImageNet 上的识别错误率降低到 15.3%,比第二名高出10.8%。以至于李飞飞和 Jia Deng 都不敢相信自己的眼睛。因为神经网络在当时被视为古早的算法,很多机器学习的教材都是一笔掠过 :)
“All right. Well, first of all, they’re using a really unorthodox algorithm. It’s a neural network, if you can believe it.” My ears perked up even more. If he didn’t have the entirety of my focus a moment ago, he certainly did now. “It’s like … ancient.”
当然 Hinton 知道 ImageNet 也纯属巧合。因为神经网络早已被人摒弃,只有他一人在默默坚持。当时的他苦于找不到足够大的数据集测试自己的算法,知道有一天他向老朋友 Jitendra 抱怨,而 Jitendra 向他提起了 ImageNet。没错,就是前面心存怀疑的祖师爷。
“You really want to impress me, Geoff? Show me they can handle something serious.”
“Like?”
“Like object recognition. In the real world.” Whatever Jitendra thought about ImageNet, I’d known since my days at Caltech that he was a believer in the power of visual categorization. “Have you tried PASCAL VOC?”
“Yeah. No luck. It’s just too small. There aren’t enough examples, so the network doesn’t generalize very well when we show it something new.”
“All right, so you need something bigger. Have you been following Fei-Fei’s lab, by any chance? When you’re ready for a real challenge, take a look at what they’re up to.”
所以 ImageNet 和 AlexNet 相辅相成,没有 ImageNet 这么大量的数据,AlexNet 就不会有惊人的突破;没有 AlexNet 的问世,也就没有 ImageNext 的广为人知。而之后的一切都是人们所熟知的历史。
现在回看,ImageNet 真是命运多舛,哪怕李飞飞少一点坚持,那么整个计算机视觉的发展速度都会不一样。
恰逢 Black Friday,我们开通了订阅优惠,首年只要75折。
我们已经开通了微信支付和支付宝支付,如果你想及时读到 DPS 的全文,不妨直接付费订阅:
关于支付的详情介绍,可以访问这一页面。
Recap
Mark Manson 对成功有不少独到见解:
- 真正的成功人士往往不循规蹈矩,他们的习惯往往与众不同;
- 极端成功建立在独特的想法、正确性和大规模执行之上;
- 成功的关键是持有与众不同、正确的观点,并敢于为之奋斗;
- 成功不仅仅取决于执行,还包括创意和勇气;
- 极端成功可能带来不受欢迎、频繁失败和幸福感缺失的风险;
- 真正的动机理解是追求成功的关键,而非仅仅超越他人。
Julian Lehr 介绍了 Linear 内部如何将突发工作转换为有计划工作的实践:
- 突发工作会一直存在,只是时间早晚的问题;
- 突发工作不可避免,但是我们可以提前准备好应对措施;
- 当我们遇到突发工作的时候,最重要的是将他们转变为可执行的,有优先度的工作。
Will Larson 对于依赖运气有不同的见解:
- 依赖运气不可持续;
- 运气光顾当然好,即使没有光顾,我们也需要有其他的应对方案;
- 即使在运气不好的时候,有应对方案也好过坐以待毙。
比如 Digg 被收购前,Yahoo 搜索被收购前,Uber 退出中国市场前,Will 所在的团队都做出了很多努力,使得最后的退场都有不错的补偿。
Danilo Campos 使用 ChatGPT 辅助自己写代码,这段经历让他觉得自己的职业被 ChatGPT 所改变:
- 软件结构对项目的成功产生显著影响,影响调试、开发速度和功能实现。
- 开发者从他们在项目中遇到的挑战和复杂性中学习。
- 像 ChatGPT 和 GitHub Copilot 这样的工具正在软件开发中变得必不可少,提供指导并放大个人能力。
- 软件开发技术的演进具有深远的社会影响。
Paul W. Homer 认为抽象机制是编程中最重要的机制之一:
- 抽象机制可以让你的代码减少错误,提高你的编程效率,最重要的是降低你的认知负担;
- 你可以让你的代码慢慢变得抽象,并不一定要一步到位,但好的代码是在不断进化的,而抽象恰好是进化的标志之一;
- 代码是一个程序员的认知体现,所以写代码之前读一些相关的文档,请教一些有经验的人,会让你事半功倍;
- 写代码本身也会面临不少取舍,而你要做的就是根据实际情况,做出平衡。
本周的生产力日报集合就到此为止,如果你有什么建议,也欢迎留言告诉我们。如果想要收到最及时的推荐,不妨订阅我们的频道,或者付费解锁更多增值内容,我们下期见。