科技愛好者週刊#330:李開復梳理人工智慧

這裡記錄每週值得分享的科技內容,週五釋出。
本雜誌開源[1],歡迎投稿[2]。另有《誰在招人》[3]服務,釋出程式設計師招聘資訊。合作請郵件聯絡[4][email protected][5])。

封面圖

上個月正式開放的杭州良渚玉湖公園,公園的設計象徵良渚文化和運河文化的連線。(via[6]

李開復梳理人工智慧

前些日子,我讀了李開復老師的兩本書:《AI·未來》(浙江人民出版社,2018)和《AI·未來進行式》(浙江人民出版社,2022)。
這兩本書都是面向社會大眾解釋 AI,不是技術類書籍,但是有一些段落,闡述 AI 概念。
李開復老師用通俗的語言來解釋,人工智慧、機器學習、神經網路、深度學習……這些詞到底是什麼意思?彼此有什麼關係?
我覺得,這些介紹對理解 AI 的體系,挺有啟發的。它們分散在各個章節,我將它們整理在一起。
為了行文連貫,我沒有完全照搬原文,而是用自己的語言重新敘述,如果有錯誤,也歸咎我。
(1)人工智慧
1956年夏天,計算機科學家約翰·麥卡錫(John McCarthy)首次提出“人工智慧”(AI)這個概念。
人工智慧指的是,透過軟體和硬體,來完成通常需要人類智慧才能完成的任務。它的研究物件,就是在機器上模擬人類智慧。
(2)機器學習
早期,人工智慧研究分成兩個陣營。
第一個陣營是規則式(rule-based)方法,又稱專家系統(expert systems),指的是人類寫好一系列邏輯規則,來教導計算機如何思考。
可想而知,對於複雜的、大規模的現實問題,很難寫出完備的、明確的規則。所以,這種方法的進展一直很有限。
第二個陣營就是機器學習(machine learning),指的是沒有預置的規則,只是把材料提供給計算機,讓機器透過自我學習,自己發現規則,給出結果。
(3)神經網路
神經網路(neural network)是機器學習的一種主要形式。
神經網路就是在機器上模擬人腦的結構,構建類似生物神經元的計算網路來處理資訊。
一個計算節點就是一個神經元,大量的計算節點組成網路,進行協同計算。
神經網路需要極大的算力,以及海量的訓練材料。以前,這是難以做到的,所以20世紀70年代開始,就陷入了停滯,長期沒有進展。
(4)深度學習
深度學習是神經網路的一種實現方法,在20世紀80年代由傑弗裡·辛頓提出。它讓神經網路研究重新復活。
深度學習是一種讓多層神經元可以進行有效計算的方法,大大提高了神經網路的效能。“深度學習”這個名字,就是比喻多層神經元的自主學習過程。
多層神經元包括一個輸入層和一個輸出層,它們之間有很多中間層(又稱隱藏層)。以前,計算機算力有限,只能支撐一兩個中間層,深度學習使得我們可以構建成千上萬箇中間層的網路,具有極大的“深度”。
(5)Transformer
早些年,深度學習用到的方法是卷積神經網路(CNN)和迴圈神經網路(RNN)。
2017年,谷歌的研究人員發明了一種新的深度學習處理方法,叫做 Transformer(轉換器)。
Transformer 不同於以前的方法,不再一個個處理輸入的單詞,而是一次性處理整個輸入,對每個詞分配不同的權重。
這種方法直接導致了2022年 ChatGPT 和後來無數生成式 AI 模型的誕生,是神經網路和深度學習目前的主流方法。
由於基於 Transformer 的模型需要一次性處理整個輸入,所以都有“上下文大小”這個指標,指的是一次可以處理的最大輸入。
比如,GPT-4 Turbo 的上下文是 128k 個 Token,相當於一次性讀取超過300頁的文字。上下文越大,模型能夠考慮的資訊就越多,生成的回答也就越相關和連貫,相應地,所需要的算力也就越多。

豆包 MarsCode 動手實驗室(杭州站)

先提一下,上週說的全國 AI 程式設計挑戰賽
應用賽道的作品提交,從12月16日已經開始了,大家可以上傳自己用 AI 完成的作品了。
演算法賽道目前還在報名中,只要你有信心,在 AI 的輔助下解出演算法題,不妨報名試試,也是一種體驗和鍛鍊。
比賽規則和報名連結,請訪問這裡[7],也可以看上週的週刊
(此處有分隔線)
本週介紹的活動,是12月28日(星期六)下午兩點,在杭州的位元組工區舉行的豆包 MarsCode 動手實驗室
到時,大家可以現場深度體驗豆包 MarsCode 的 AI 程式設計能力,並跟位元組的同學當面交流。在動手環節,你可以用 AI 實現自己的創意。如果你的作品很優秀,還有機會直通 AI 程式設計挑戰賽的決賽。
活動的詳細介紹,以及報名連結,請訪問這裡[8]

科技動態

1、硬碟打孔機[9]
硬碟報廢時,一般需要擦除資料。最保險的方法,莫過於物理破壞硬碟。
但是,這樣很費事,你要找把錘子,把硬碟敲碎了。
為了解決這個問題,一家日本公司推出了“硬碟打孔機”。這種機器可以在硬碟上輕鬆打四個孔,保證徹底破壞資料。
它採用電動液壓系統,產生12噸的壓力,足以穿透任何硬碟。
它的尺寸為 410 x 289 x 187 毫米,跟臺式電腦差不多大小,但是重達18公斤,適合那些有成千上萬硬碟需要銷燬的大公司。
2、沙子國際象棋[10]
一位英國設計師用沙子作為材料,3D 列印了一套國際象棋。
他說,這樣做只是為了追求一種奇特的感覺。沙子是一種無形且流動的材料,塑造成堅固耐用的東西,讓人感到難以把握、隨時可能變化。
而且,沙子表面是不光滑的,當你用沙子下棋時,會有真實的、與眾不同的觸覺。
3、玻璃磚[11]
大家考慮過嗎,房子為什麼需要牆?難道不能建造一所沒有牆、全部是窗戶的房子嗎?
回答是不能,因為建築的重量由牆承受,窗戶不承受重量。如果把牆全改成窗戶,建築物就會倒塌。
那麼,能不能用玻璃來造牆呢?玻璃既可以承重,又可以透光。
麻省理工學院的科學家,最近就發明了這樣一種全透明的玻璃磚(上圖),根據測試具有跟普通磚相同的承重能力。
除了透光,玻璃磚還有一個好處,可以重新利用。只要高溫加熱,玻璃磚就會融化,能夠塑造成其他形狀,還能 3D 列印,但這也導致它不防火。
總的來說,玻璃磚比紅磚更環保,在很多場合有推廣潛力。
4、其他
(1)本週發生了一筆史上最大的風險投資[12],AI 公司 Databricks 一次性募集了100億美元。
(2)GitHub 宣佈,程式設計助手 GitHub Copilot[13] 向所有使用者免費開放。
(3)OpenAI 推出了免費電話 1-800-ChatGPT[14],北美使用者可以撥打該電話,跟 AI 語音聊天,每月額度為15分鐘。
(4)小米官方[15]開始支援,小米物聯網裝置接入智慧家居管理助手 Home Assistant。

文章

1、組合語言的一點入門介紹[16](中文)
這篇短文通俗解釋了組合語言的基本概念。
2、CSS 網格區塊詳解[17](英文)
這篇長文詳細介紹 CSS grid 佈局的區塊功能(template area)。
3、網頁如何插入 JSON-LD 語義資料[18](中文)
本文詳細介紹網頁的 JSON-LD 資料塊,用來插入機讀的語義資料。
4、13個對前端開發有用的 Chrome 外掛[19](英文)
本文介紹13個用於前端開發的 Chrome 外掛。
5、谷歌不再是最好的搜尋引擎[20](英文)
本文是一篇新聞分析,作者認為 Perplexity 的 AI 搜尋體驗已經優於谷歌了。
6、如何為 Windows 新增6個 macOS 最好的功能[21](英文)
一篇 Windows 使用技巧,教你怎麼為 Windows 新增一些 macOS 功能,比如檔案瀏覽器可以文件預覽。

工具

1、Presenterm[22]
將 Markdown 檔案轉成幻燈片,在命令列播放的開源工具。(@lengyijun[23] 投稿)
2、Rslib[24]
製作 JavaScript 軟體包的工具,可以直接開發元件庫和命令列工具。(@fi3ework[25] 投稿)
3、Midscene.js[26]
AI 驅動的網頁 UI 自動化測試框架,透過文字描述,生成 UI 測試用例。(@yuyutaotao[27] 投稿)
4、wechatDataBackup[28]
Windows 桌面 PC 端的微信聊天記錄一鍵匯出。(@git-jiadong[29] 投稿)
5、MoeMail[30]
基於 Next.js + Cloudflare 技術棧構建的臨時郵箱服務,線上體驗[31]。(@beilunyang[32] 投稿)
6、my-github-2024[33]
一個 Python 程式,生成你在2024年的 GitHub 程式碼提交統計。(@WCY-dt[34] 投稿)
7、Vanilla[35]
Canonical 公司的 CSS 框架,就是 Ubuntu 官網採用的樣式。
8、OpenAuth[36]
網頁登入的第三方認證的整合庫。
9、Schemio[37]
基於 Web 的示意圖視覺化編輯器。
10、Buzee[38]
一個桌面軟體,提供本地檔案的全文搜尋(包括圖片裡面的文字),支援 Windows 和 Mac。

AI 相關

1、Hika AI[39]
免費的 AI 搜尋。(@atlas-comstock[40] 投稿)
2、Slea.ai[41]
免費的 AI Logo 生成器。(@aaamomo64[42] 投稿)
3、AI 音效生成器[43]
免費生成各種音效,比如雨聲、風聲。(@aurthur[44] 投稿)

資源

1、SQL 風格指南[45]
一份書寫 SQL 語句的風格約定。
2、顏色程式碼表[46]
線上配色設計工具集,做在一個網站。(@nettsz[47] 投稿)

圖片

1、機器蜻蜓[48]
美國首都華盛頓的中央情報局博物館,有一隻上個世紀70年代製造的機器蜻蜓。
它其實是一架微型直升機,飛到目標物件附近,竊聽對方的談話。
這隻蜻蜓可以飛200米,然後落下來,透過雷射捕捉空氣振動,來還原談話聲。
但是,它不防風,也難以控制,所以從來沒有實際用過。
2、荷蘭的郵資程式碼[49]
荷蘭寄信不用郵票,而是用一種9個字母和數字組成的程式碼。
你花錢買一個程式碼,以 3 x 3 的格式寫在信封上,就能代替郵票,作為付款證明。
因為程式碼的有效期只有五天(以郵戳為準),需要購買後及時寄出,被猜到的可能性很小。

文摘

1、沒有程式設計生產力這樣的東西[50]
正如馬丁·福勒(Martin Fowler)所觀察到的那樣,程式設計師的程式設計生產力無法有效地衡量,因為它不存在。
軟體開發並不是一項必然會產生任何東西的活動。
假設你有兩個開發人員在同一個專案上工作,並且偶然地,他倆在同一天接受了相同的任務。
甲寫了一個1000行的框架,完美地解決了這個問題。程式碼編寫良好,並經過充分測試,每一步都有詳細記錄。
乙則是當天去了公園,一邊喂鴿子一邊思考問題,然後漫步回到辦公室,刪除了100行程式碼,部署了更改……問題就解決了。
請問誰的生產力更高?
回答是,這不重要。重要的是乙解決了問題,同時降低了團隊的長期維護成本。甲也解決了這個問題,但是他透過增加程式碼,增加了維護成本,因此(在其他條件相同的情況下)他的解決方案較差。
我們能說,乙具有更高的生產力嗎?顯然,很難找到程式設計生產力的正確衡量指標。
我認為,優秀的軟體開發者所做的就是解決問題。但是,生產力的衡量指標,比如程式碼、文件、資料等等,都只是解決問題的工具,並不是解決問題本身。

言論

1、
我寫 SQLite 的時候,從來沒人教過我 B 樹的知識。我需要自己實現 B 樹,我就從書架取下高德納的《計算機程式設計藝術》,找到了 B 樹的章節。他描述了演算法,我就照著實現。
有趣的是,高德納詳細介紹了搜尋 B 樹和插入 B 樹的演算法,沒有提供從 B 樹刪除資料的演算法,這是放在本章末尾的練習。所以我在實現自己的 B 樹之前,還必須先做完該章的練習。謝謝高德納,我真的很感激。
— 理查德·希普《SQLite 不為人知的故事》[51]
2、
瑞典南部的馬爾默市,洗一次10分鐘的淋浴,電費高達2.65歐元(約20元人民幣)。原因是該市接入的是德國電網,德國能源短缺,推高了電價。
— 《瑞典能源危機》[52]
3、
職業生涯最重要的一課是,你需要認識到,你工作的目的不在於使得公司的客戶滿意,而在於使得那些控制你的加薪、獎金和晉升的人滿意。
— Hacker News 讀者[53]
4、
正在開發的水下無人機技術,會使得以航空母艦為中心的海軍戰略過時,從而大幅削減軍事開支。
舉例來說,美國開發的水下無人機 Orca XLUUV,可以攜帶8噸的有效載荷,行駛數千英里,並且不需要長時間浮出水面。
— Hacker News 讀者[54]
5、
我第一次嘗試 MidJourney(文生圖工具)和 Suno(文生音樂工具)時,我想知道未來是否每個人都會成為數字藝術家。
很快,我就意識到我沒有“創作衝動”,即使看過很多別人的創作,我也常常不清楚自己想要創作的東西。
因此,未來的 AI 即使具備無比強大的繪畫和編曲能力,還是隻有少數人能成為畫家和音樂家。程式設計師也是如此,即使 AI 會程式設計,也無法人人成為程式設計師。
— 《Cursor 深度體驗》[55]

往年回顧

(完)

References

[1]

 開源: 

https://github.com/ruanyf/weekly
[2]

 投稿: 

https://github.com/ruanyf/weekly/issues
[3]

 《誰在招人》: 

https://github.com/ruanyf/weekly/issues/5610
[4]

 郵件聯絡: 

mailto:[email protected]
[5]

mailto:[email protected]
[6]

 via: 

https://www.163.com/dy/article/JJI2MD7C0514ETGI.html
[7]

 這裡: 

http://zjsms.com/iUNhdBEk/
[8]

 這裡: 

https://www.bagevent.com/event/8960133?bag_track=ryf
[9]

 硬碟打孔機: 

https://www.tomshardware.com/pc-components/storage/hard-drive-ssd-puncher-puts-four-holes-through-your-drives-puncher-p30-destroys-physical-media-with-12-tons-of-pressure
[10]

 沙子國際象棋: 

https://parametric-architecture.com/3d-printed-dune-chess-set-by-rory-noble-turner/
[11]

 玻璃磚: 

https://news.mit.edu/2024/engineers-3d-print-sturdy-glass-bricks-building-structures-0920
[12]

 史上最大的風險投資: 

https://finance.sina.cn/7×24/2024-12-18/detail-inczvnmc5201636.d.html
[13]

 GitHub Copilot: 

https://github.com/features/copilot
[14]

 1-800-ChatGPT: 

https://help.openai.com/en/articles/10193193-1-800-chatgpt-calling-and-messaging-chatgpt-with-your-phone
[15]

 小米官方: 

https://github.com/XiaoMi/ha_xiaomi_home/blob/main/doc/README_zh.md
[16]

 組合語言的一點入門介紹: 

https://shikaan.github.io/assembly/x86/guide/2024/09/08/x86-64-introduction-hello.html
[17]

 CSS 網格區塊詳解: 

https://ishadeed.com/article/css-grid-area/#header-layout
[18]

 網頁如何插入 JSON-LD 語義資料: 

https://csvbase.com/blog/13
[19]

 13個對前端開發有用的 Chrome 外掛: 

https://jsdevspace.substack.com/p/13-super-useful-chrome-plugins-for
[20]

 谷歌不再是最好的搜尋引擎: 

https://www.theregister.com/2024/12/16/opinion_column_perplexity_vs_google/
[21]

 如何為 Windows 新增6個 macOS 最好的功能: 

https://www.xda-developers.com/how-i-got-the-best-macos-features-on-windows/
[22]

 Presenterm: 

https://github.com/mfontanini/presenterm
[23]

 @lengyijun: 

https://github.com/ruanyf/weekly/issues/5706
[24]

 Rslib: 

https://github.com/web-infra-dev/rslib
[25]

 @fi3ework: 

https://github.com/ruanyf/weekly/issues/5713
[26]

 Midscene.js: 

https://github.com/web-infra-dev/midscene
[27]

 @yuyutaotao: 

https://github.com/ruanyf/weekly/issues/5733
[28]

 wechatDataBackup: 

https://github.com/git-jiadong/wechatDataBackup
[29]

 @git-jiadong: 

https://github.com/ruanyf/weekly/issues/5721
[30]

 MoeMail: 

https://github.com/beilunyang/moemail
[31]

 線上體驗: 

https://moemail.app
[32]

 @beilunyang: 

https://github.com/ruanyf/weekly/issues/5740
[33]

 my-github-2024: 

https://github.com/WCY-dt/my-github-2024
[34]

 @WCY-dt: 

https://github.com/ruanyf/weekly/issues/5722
[35]

 Vanilla: 

https://vanillaframework.io/
[36]

 OpenAuth: 

https://github.com/openauthjs/openauth
[37]

 Schemio: 

https://github.com/ishubin/schemio
[38]

 Buzee: 

https://github.com/gsidhu/buzee-tauri
[39]

 Hika AI: 

https://hika.fyi/
[40]

 @atlas-comstock: 

https://github.com/ruanyf/weekly/issues/5714
[41]

 Slea.ai: 

https://slea.ai/zh-CN
[42]

 @aaamomo64: 

https://github.com/ruanyf/weekly/issues/5727
[43]

 AI 音效生成器: 

https://tiktokvoice.net/en/sounds-effect
[44]

 @aurthur: 

https://github.com/ruanyf/weekly/issues/5729
[45]

 SQL 風格指南: 

https://www.sqlstyle.guide
[46]

 顏色程式碼表: 

https://www.ysdaima.com
[47]

 @nettsz: 

https://github.com/ruanyf/weekly/issues/5717
[48]

 機器蜻蜓: 

https://www.popularmechanics.com/flight/drones/a30795266/cia-robot-dragonfly/
[49]

 荷蘭的郵資程式碼: 

https://en.wikipedia.org/wiki/Postzegelcode
[50]

 沒有程式設計生產力這樣的東西: 

https://www.benrady.com/2012/11/theres-no-such-thing-as-software-productivity.html
[51]

 理查德·希普《SQLite 不為人知的故事》: 

https://corecursive.com/066-sqlite-with-richard-hipp/
[52]

 《瑞典能源危機》: 

https://www.euractiv.com/section/energy/news/swedish-minister-open-to-new-measures-to-tackle-energy-crisis-blames-german-nuclear-phase-out/
[53]

 Hacker News 讀者: 

https://news.ycombinator.com/item?id=42092156
[54]

 Hacker News 讀者: 

https://news.ycombinator.com/item?id=42432129
[55]

 《Cursor 深度體驗》: 

https://www.pixelstech.net/article/1734488862-do-not-be-misled-by-‘build-an-app-in-5-minutes’%3a-in-depth-practice-with-cursor


相關文章