weekly/docs/issue-348.md

409 lines
22 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 科技爱好者周刊(第 348 期):李飞飞,从移民到 AI 明星
这里记录每周值得分享的科技内容,周五发布。
本杂志[开源](https://github.com/ruanyf/weekly),欢迎[投稿](https://github.com/ruanyf/weekly/issues)。另有[《谁在招人》](https://github.com/ruanyf/weekly/issues/6771)服务,发布程序员招聘信息。合作请[邮件联系](mailto:yifeng.ruan@gmail.com)yifeng.ruan@gmail.com
## 封面图
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051203.webp)
5月1日宇宙飞船造型的深圳科技馆新馆开馆上图是设计团队在新馆前合影。[via](https://www.szstm.org.cn/)
## 李飞飞,从移民到 AI 明星
大家知道[李飞飞](https://baike.baidu.com/item/%E6%9D%8E%E9%A3%9E%E9%A3%9E/7448630)吧AI 的明星教授。
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051013.webp)
她在斯坦福大学任教,是美国国家工程院等三院院士,担任过斯坦福 AI 实验室主任,以及谷歌云 AI 首席科学家。
她1976年出生于北京在成都长大16岁全家移民美国。
我一直好奇,她怎么走上 AI 这条路,从移民变成学术明星?
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051014.webp)
这几天,我读完她的自传[《我看见的世界》](https://book.douban.com/subject/36672955/)中信出版集团2024才发现**她的人生很有戏剧性,每当重要关头,都有幸运的事情发生**。
### 1高中阶段
她出生于一个普通家庭,中学阶段并无过人之处。
> 我们家位于成都当时的外环路旁边,小区由三栋一模一样的塔楼组成,我家住在四楼。这个环路是不断扩张的城市边缘,一侧是工厂,另一侧是农田。
>
> 我进入了一所吸引全市优秀学生的中学。在那几年里,对女孩的预设和偏见让我越来越不耐烦,这种情绪已经超出了课业的范围。在同龄人中,我已经有“假小子”的称号。
1992年移民美国后她家的生活顿时变得困难。一家三口挤在新泽西乡下一间一居室公寓她睡客厅床就放在餐桌旁边。
父亲在一家华人商店修理旧相机后来被辞退从此失业。母亲做杂货店营业员后因风湿性心脏病回家休养。李飞飞下课后就要去打工有时在中餐馆端盘子12个小时每小时2美元。
最后实在走投无路她们家决定买下社区的一家干洗店靠洗衣为生。买下干洗店需要10万美元全家仅有2万美元储蓄其余8万美元都是借的。
### 2大学阶段
1997年李飞飞中学毕业要申请大学了。
> 一开始,我的目标大学主要是州立大学和社区大学,而不是常春藤学校。但我一直对一所顶级高校念念不忘,那就是普林斯顿大学。
>
> 我们是一个靠从车库市场淘来的旧货才能勉强度日的家庭,连我用的计算器都是坏的,我们怎么可能负担得起常春藤学校的学费呢?
>
> 尽管如此,我还是无法抑制内心的冲动,提交了申请。就算只是象征性地申请一下,我也感觉具有特殊意义。
她申请了普林斯顿大学,结果好梦成真,普林斯顿给了全额奖学金。
如果没有全奖,以她家的经济状况,负担不了学费。如果不去普林斯顿大学,她就不太可能走上学术道路了,更不要说后面的成就了。
### 3博士阶段
大学毕业后,李飞飞原想去华尔街工作,解决家庭的经济问题。
母亲鼓励她,继续追求自己的梦想。于是,她选择去加州理工学院读研究生,方向是视觉识别机制。
2004年李飞飞为了写博士论文需要图片材料来训练算法。她找了9000张图片组成了一个图片集手工对每张图片进行分类标注一共分成101类。
这个图片集叫做 Caltech 101算法经过训练就能从新图片识别出这101类物品。她因此顺利拿到了博士学位。
### 4助教阶段
博士毕业后,李飞飞先去伊利诺伊大学,后去普林斯顿大学,都是担任计算机科学的助教。
她继续探索视觉识别,想找到一种通用算法,能够识别所有种类的物品,而不是 Caltech 101 那样只能识别出101类物品。
这意味着她需要一个超大的图片训练集,能够包含了世界上所有物品。这可太难了,所有人都反对这件事。
> 我们都是年轻的助理教授,所处的院系竞争激烈,在事业起步的那几年里,我们都面临着“要么发表论文,要么完蛋走人”的局面。压力之下,我们必须马不停蹄、保质保量地完成工作,因为我们知道,稍有懈怠就可能与终身教授的职位说再见,一同失去的还有获得稳定生计的最佳机会。
>
> 我听到的劝阻之声已经多得够我用一辈子了(可能下辈子也够了).
>
> 有上万个类别的数据集有什么用?大部分模型连一两个类别都识别不准!
>
> 你知道用这么多图像训练一个模型要花多长时间吗?这个时间可是用“年”来计算的。
>
> 别人要怎么下载呢?你这个图像总量比大多数硬盘的存储量还要大。
>
> 具体怎么做,你有计划了吗?几百万张图谁来做标注?要花多长时间?怎么验证所有内容的准确性呢?
### 5ImageNet
李飞飞坚持要做,这个通用图片集起名为 ImageNet。那时是2006年。
她想到一个思路,英语词典有一些基本名词,用来解释其他所有物品。只要统计一下,基本名词有多少个,每一个又有多少变体,那就得到了所有物品的基本类别。
统计结果是3万类。因此李飞飞估计ImageNet 将有3万个类别总共包含2000万张图片每张图片都要有分类和标注需要从几亿张图片里面筛选出来。
> 我们发出了邮件招募愿意帮忙从网上下载和标注图片的本科生工作时间灵活每小时10美元。我们招募到一些学生但是按照这样的进度完成整个项目需要19年。
这太慢了项目方法做了改进用脚本自动去谷歌搜索图片然后抓取。但是这样也需要人工核对和筛选只把19年的时间缩短到18年。
幸运的是亚马逊刚刚发布了众包平台“土耳其机器人”Amazon Mechanical TurkAMT。在这个平台上你可以出钱通过互联网把任务分包给世界各地接活的人。
他们通过这个平台,将 ImageNet 分包出去,投入的人数一下子扩展到几千人,而人均费用只是原来的几十分之一。
> 2009年6月ImageNet 的初始版本终于完成了。我们成功达成了目标收集了1500万张图片涵盖了2.2万个不同类别。这些图片筛选自近10亿张候选图片并由来自167个国家的4.8万多名全球贡献者进行了标注。
### 6ILSVRC 算法竞赛
ImageNet 虽然完成了,但在学术界毫无反响,没有太多人关注。
> 我们遇到了第一个也是最严重的挫折在当年的“计算机视觉与模式识别大会”上ImageNet 被降级为“海报展示”。
>
> 所谓的“海报展示”是一个学术术语,意味着我们将不能在演讲厅内向听众展示我们的工作,只能在会场的指定区域里摆放一幅印有项目摘要的大幅海报,希望能引起路人的兴趣。
>
> 我想过 ImageNet 可能被证明是对的,也可能被证明是错的,对于这两种可能性,我都做好了准备。无论是哪种结果,都会是一个学习的机会。然而,我万万没想到,它被忽视了。
由于 ImageNet 得不到承认,李飞飞想到一个办法,她要每年举行一次算法比赛,看看哪种算法识别 ImageNet 图片集的正确率最高。
这样一来在计算机视觉领域ImageNet 就会成为一个比较基准,各种算法都需要用它表示自己的识别能力,大家就不会忽视它了。这个比赛叫做 ILSVRCImageNet 大型视觉识别挑战赛ImageNet Large Scale Visual Recognition Challenge
2010年第一届比赛令人失望11个团队提交了35个参赛算法。冠军算法是传统的图片向量比较并无创新之处正确率也不高。
2011年第二届比赛更惨获胜算法还是图片向量比较正确率只提高了2个百分点。这意味着没有任何创新和进展。
> 最糟糕的是参赛人数也出现急剧下降参赛算法从35个减少到15个愿意为此付出努力的人似乎越来越少。
>
> 说这种经历“让人羞愧”已经远远不足以描述我们的心情了。为了推动 ImageNet 的发展我们倾注了多年的心血搜集的图片数量远远超过以往的任何数据集还精心策划了一场国际竞赛来探索它的能力但结果却只是简单地重复了现状。如果说ImageNet 是一场赌注,是时候开始思考我们是不是已经输了。
眼看这个项目就要失败了,几年的心血付之东流。就在这个时候,李飞飞人生最大的惊喜和反转来临了。
2012年第三届比赛一个加拿大团队使用被学术界遗忘已久的卷积神经网络一举将图片识别正确率提高了10%。
接下来的事情就是被写进教科书的历史了。全世界被神经网络的效果轰动了AI 研究出现突破,人类进入 AI 时代。
李飞飞彻底翻身,一举成名,从助教变成世界知名的 AI 研究领头人物,人生从此海阔天空。
她的故事令人感叹如果神经网络算法没有在2012年出现而是再晚几年或者更早一点亚马逊的土耳其机器人众包平台没有在2005年诞生一切会怎样
这就是时运吧。科学家的人生和科学发现一样,都是由一些偶然事件推动的。个人奋斗固然重要,但是关键时刻还是离不开幸运。
## 科技动态
1传统的脑电图需要在头上布满电极下图有很多限制也不舒适。
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050802.webp)
美国宾州大学的科学家,发明了一种[头发电极](https://newatlas.com/medical-devices/3d-printed-hairlike-eeg-electrode/),细得像头发一样,可以直接粘在皮肤上,淋浴和运动也不会掉下。
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050803.webp)
这种电极目前还是有线的,但是有计划开发无线版本。
2[百度地图](https://finance.sina.cn/7x24/2025-05-09/detail-inevxzxx9213651.d.html)在导航路面植入广告。
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050904.webp)
3谷歌的 AI 笔记应用 NotebookLM可能很快就会添加“[视频概览](https://www.xda-developers.com/notebooklm-video-overviews/)”功能。
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051007.webp)
它已经支持生成音频和 AI 问答,如果再支持生成视频,简直难以想象,是否还需要真人老师。
直接上传课本,它就生成讲课视频了。
4安卓官方的[桌面模式](https://www.androidauthority.com/android-desktop-mode-leak-3550321/),泄露了运行照片。下图是它的多窗口模式。
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051401.webp)
但是 Android 16 可能来不及,发布要等到 Android 17。
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051402.webp)
手机当作桌面电脑,已经不远了。
5百度公布“[动物语言转换方法、装置、电子设备及存储介质](https://www.sohu.com/a/892944913_120347736)”专利,使用 AI 识别动物的情感状态,转换为人类能够理解的语言,从而实现动物与人类之间的情感交流和理解。
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050806.webp)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050807.webp)
## 文章
1、[一段让 Chromium 机器人崩溃的代码](https://blog.castle.io/detect-and-crash-chromium-bots-with-one-weird-trick-bots-hate-it/)(英文)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051012.webp)
作者介绍了一段 JS 代码让Chromium 无头浏览器Puppeteer 和 Playwright崩溃。它可以用来识别访问者是不是机器人。
2、[Git worktree 简介](https://opensource.com/article/21/4/git-worktree)(英文)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051405.webp)
Git 仓库同时只能有一个工作区,如果想同时建立多个工作区,可以使用 git worktree 命令。
3、[用 Go 移植 TypeScript 的重要影响](https://imbant.github.io/blog/2025/05/07/ts-go/)(中文)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051003.webp)
微软官方要用 Go 语言重写 TypeScript 项目,本文分析这样做的目的和影响。([@imbant](https://github.com/ruanyf/weekly/issues/6817) 投稿)
4、[为什么大模型可以控制手机](http://hanzilu.com/wordpress/?p=376)(中文)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051002.webp)
开源项目 [droidrun](https://github.com/droidrun/droidrun) 可以通过大模型,以自然语言操作安卓手机的 APP。本文分析它是如何做到的。[@lezhi12](https://github.com/ruanyf/weekly/issues/6822) 投稿)
5、[创业公司可能无法承受微服务](https://nexo.sh/posts/microservices-for-startups/)(英文)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050903.webp)
本文提出,微服务需要很强的运维能力,并会增加代码复杂性,创业公司不要盲目采用,单体应用更简单。
6、[从 Prettier 和 ESLint 迁移到 BiomeJS](https://blog.appsignal.com/2025/05/07/migrating-a-javascript-project-from-prettier-and-eslint-to-biomejs.html)(英文)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050808.webp)
BiomeJS 是用 Rust 语言写的工具,对 JS 代码进行格式化和语法检查,速度极快,可以取代 Prettier 和 ESLint。
7、[如何自己托管 Obsidian](https://www.xda-developers.com/i-self-hosted-obsidian-so-i-can-access-it-in-web-browser-anywhere/)(英文)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051301.webp)
Obsidian 是一个优秀的笔记软件,作者给出详细步骤,自己托管 Obsidian 服务器,从而在任何地方都可以通过浏览器使用。
## 工具
1、[Void](https://github.com/voideditor/void)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050902.webp)
开源的 AI 代码编辑器Cursor 的替代品,基于 VS Code。
2、[Hyvector](https://www.hyvector.com/)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051001.webp)
在线的矢量图SVG 文件)编辑工具。
3、[Karakeep](https://github.com/karakeep-app/karakeep)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051005.webp)
一个自搭建的书签 App提供全文搜索和 AI 自动分类标签,参见[介绍文章](https://www.xda-developers.com/this-self-hosted-app-showed-me-been-using-bookmarks-wrong-all-life/)。
4、[PairDrop](https://pairdrop.net/)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051006.webp)
局域网传输文件的 Web 应用,[代码开源](https://github.com/schlagmichdoch/PairDrop),类似于 [ShareDrop](https://github.com/szimek/sharedrop) 和 [LocalSend](https://localsend.org/zh-CN)。
5、[zVault](https://www.zvault.io/)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051505.webp)
NAS 操作系统 TrueNAS 原本基于 FreeBSD正在转向 Linux。zVault 是一个社区的分支,由社区推动继续在 FreeBSD 开发。
6、[YAMLResume](https://github.com/yamlresume/yamlresume)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051205.webp)
使用 YAML 格式创建简历,并通过 LaTeX 输出 PDF方便进行版本管理。[@xiaohanyu](https://github.com/ruanyf/weekly/issues/6837) 投稿)
7、[AllinSSL](https://github.com/allinssl/allinssl)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051302.webp)
开源的 SSL 证书自动化管理平台,集证书申请、管理、部署和监控于一体。([@KincaidYang](https://github.com/ruanyf/weekly/issues/6842) 投稿)
8、[Basecoat](https://basecoatui.com/)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051404.webp)
一套基于 Shadcn UI 的组件库,但是不使用 React。
9、[Scraperr](https://github.com/jaypyles/Scraperr)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051503.webp)
网络爬虫的 Web 控制台。
## AI 相关
1、[MathModelAgent](https://github.com/jihe520/MathModelAgent)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051204.webp)
开源的 AI 应用,自动完成数学建模,生成一份完整的论文。([@jihe520](https://github.com/ruanyf/weekly/issues/6825) 投稿)
2、[BiliFilter](https://github.com/ddddng/BiliFilter/)
基于本地大模型的 Bilibili 弹幕过滤器,对弹幕分类过滤。([@ddddng](https://github.com/ruanyf/weekly/issues/6833) 投稿)
3、[AI 语音克隆](https://aivoicecloning.io)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051501.webp)
免费的语音克隆工具3 秒录音克隆人声。([@xiaodaidai0701](https://github.com/ruanyf/weekly/issues/6850) 投稿)
## 资源
1、[I Don't Have Spotify](https://idonthavespotify.donado.co/)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051004.webp)
一个音乐搜索引擎,输入 Spotify、YouTube、Apple、SoundCloud 的音乐链接,它会提供该音乐在其他网站的链接。
2、[IPinfo Lite](https://ipinfo.io/lite)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025050901.webp)
地理位置数据库 IPinfo 推出的免费服务IP 查询地理位置无需信用卡API 请求次数不受限制。
1、[Web Component 教程](https://plainvanillaweb.com/index.html)
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051504.webp)
英文的 Web Component 入门教程。
## 图片
1、[数字键盘的样式](https://www.doc.cc/articles/a-brief-history-of-the-numeric-keypad)
数字键盘来源于电话。
早期的电话都采用旋转的拨号盘。20世纪50年代电话可以长途直拨了拨打长途电话需要输入11个号码拨号盘就太麻烦了导致了数字键盘的诞生。
1955年AT&T 公司的研究人员做过一个研究10个数字的小键盘应该怎样排列效率最高
他们一共列出了15种排列。
![](https://cdn.beekka.com/blogimg/asset/202505/bg2025051202.webp)
经过研究和比较,用户更喜欢从左到右、从上到下的布局。
具体来说,两排五列水平布局与现在普遍使用的 3x3+1 布局速度相当,差异很小。
AT&T 公司最终为电话选择了 3x3+1 布局,主要原因大概是它比较紧凑。
## 文摘
1、[我第一次加入创业公司的教训](https://blog.jacobstechtavern.com/p/the-side-hustle-from-hell)
一位开发者大学毕业后,加入了一家创业公司。
他逐渐发现,公司内部有很多矛盾,产品决策也有失误。
最终,公司开始走下坡路,他就提交了辞呈,放弃了自己的期权。
离职后,他写了[一篇文章](https://blog.jacobstechtavern.com/p/the-side-hustle-from-hell),总结了自己得到的教训。
![](https://cdn.beekka.com/blogimg/asset/202504/bg2025042817.webp)
1即使创业公司的每个员工都很有动力但如果创始人并非顶尖人才那么取得巨大成功的机会很低但你仍然可以从中学到很多东西
2创业公司只有两种工作开发和销售。如果创始人既不做开发也不做销售不知道他在做什么那就相信你的直觉吧。
3创业公司的产品还未得到市场验证的情况下为多个平台构建原生应用是一种极其低效的行为。如果同时为两个产品在每个平台开发两个原生应用简直是疯了。
4创业公司的路演大多是浪费时间。产品的验证来自于与用户交流和迭代而不是打动评委。
5没有什么比并肩作战、共同实现梦想更神奇的了。如果你经常见不到创始人所有的沟通都只能通过远程进行那可不是好兆头。
6如果创业公司没有经过严格的面试就录用了你这是一个危险信号。他们到底是基于能力来录用你还是因为你是第一个同意只收很少的报酬就为他们工作的工程师
## 言论
1、
科学项目日益大型化和制度化,使得个人的好奇心和创新,对于科学的推动正在减弱。科学的进步越来越依靠有效的组织和大量的投入。
-- [《思想家和实干家》](https://www.strangeloopcanon.com/p/on-thinkers-and-doers)
2、
除非你参与过历史遗留项目,否则你不能自称高级工程师。
-- [infobip.com](https://www.infobip.com/developers/blog/seniors-working-on-a-legacy-project)
3、
是什么让硅谷的公司如此强大?
不仅仅是它们数十亿美元的资金或数十亿用户,也不仅仅是因为它们拥有惊人计算能力和数据储备,让学术实验室的资源相形见绌。它们之所以强大,是因为成千上万个才华横溢的人在同一个屋檐下共同努力。
-- 《李飞飞自传》
4、
以前的小团队是1名高级开发人员 + 5名初级开发人员以后是1名高级开发人员 + AI 大模型。
-- [Hacker News 读者](https://news.ycombinator.com/item?id=43955519)
5、
我打赌以后的工程师必须深入底层更接近硅片的层面。开发应用程序将不再需要精通技术的人AI 让每个人都可以开发自己的应用程序。
-- [Hacker News 读者](https://news.ycombinator.com/item?id=43965599)
## 往年回顾
[OpenAI 的图书馆工位](https://www.ruanyifeng.com/blog/2024/05/weekly-issue-301.html)#301
[国产单板机值得推荐](https://www.ruanyifeng.com/blog/2023/04/weekly-issue-251.html)#251
[中国需要成立半导体部](https://www.ruanyifeng.com/blog/2022/04/weekly-issue-201.html)#201
[NFT 是什么,听说能赚钱](https://www.ruanyifeng.com/blog/2021/03/weekly-issue-151.html)#151
(完)