聚焦人工智慧晶元:腦芯編專題(1)
人工智慧晶元專題將同時發表在公眾號「矽說」與「機器之心」,我們還創建了人工智慧硬體交流微信群,歡迎加入(加入方法請見文末)!
作者:痴笑
<序>
你信不信有一天,硅工造的晶元會寫詩?
如果信,
那說好的「詩三百,一言以蔽之,思無邪」
還真的是「無邪」么?
如果不信,請讀下面這一首
昨夜神風送層雲,幾重卷積幾重生
夢裡不問形與令,燭台簇華照單影
真北路頭初相見,一見泰坦誤終身
半入豪門尋極樂,日起地平寒武競
如果要給這詩一個賞析,大概可以是一個憂傷的故事。
天邊雲的變換複雜,而我卻是半夢半醒,我在想一個人,想第一次和他相見,想他的風流倜儻,想他的英雄颯爽。
如果你是個文科生,或許你會嘲笑這首連平仄都不滿足的劣質詩歌,
韻腳也押的有些蹩腳,故事更是為賦新詞強說愁。
如果你是理科男,或許對這種思春的小情懷不以為然。
不過,那是因為你們並沒有看懂這首詩。
因為這詩暗藏了一個密碼,藏著人工智慧遇到摩爾定律後蹭出的火花。
另外,這詩不是人工智慧的產物,只是矽說在這個人工智慧橫行的年代裡特有的小情懷。
但可能在不遠的將來,人工智慧將會開車,會翻譯,會調情,也會寫下更美的篇章。想解開這個人工智慧與集成電路的秘密?關注矽說,找到「腦芯編」的推送,我們一句一句地讀下去。
〈一〉
昨夜神風送層雲
在我讀書的時候,人工智慧(Artifical Intelligence, AI)從來就是CS (Computer Science)的天下,哪有電路攛掇的份。那時候的碼農們或許會掛著機器學習,數據挖掘,支持向量機,壓縮感知……但從來沒有一次,電路的突破是由人工智慧推動的。可是在今天,如果你打開半導體行業的利好消息,有多少不是和人工智慧,深度學習相關的?
過去幾個月,光在半導體巨頭們發生的人工智慧的故事就足以吊足大家的胃口。何況,這還是只是很多硅工心目中的人工智慧元年。
是什麼導致了半導體行業」AI一出驚天下「的巨大改變?矽說推出「腦芯編」系列,為你揭秘類腦晶元的過去,現在與未來。
從人工智慧到神經網路神經網路
在人工智慧改變半導體行業之前,在AI領域發生過一場「華山論劍」,耗時數載,最終以「深度學習神經網路(Deep Learning Neural Network)」一統江湖落下帷幕。該過程腥風血雨,而主角「神經網路」的遭遇更堪比張無忌、楊過,歷經少年時的悲慘遭遇,被無數號稱時代「大俠」嗤之以鼻,但終究是主角光環加持,加之得外家指點,十年一劍終成大器,號令天下,誰敢不從。
本篇對這裡其中的故事,按下不表,有好事者,可以去各處搜搜,劇情精彩不容錯過。但是這裡還是要感謝,在神經網路經歷最寒冬的時候,一眾大牛如 Yann LeCun (讀作楊雷昆,不是嚴立春!!), Geoffrey Hinton等的默默堅守,才有神經網路的今天。不過他們也早已是Facebook / Google的首席科學家,如今功成名就,也是吾等小輩無法企及的高度。
Yann LeCun, Geoffrey Hinton
神經網路在人工智慧領域,屬於機器學習一路的分支。所謂機器學習,就是讓電腦經過學習後代替人腦做出判斷,理解,甚至訣定(還記得贏了李世石的AlphaGo么?)而所謂深度學習和淺學習的區別在於設計者是否告訴電腦的學習策略。最常見的例子是大家電子郵件系統里的垃圾郵件分類,一般一份郵件是否是垃圾郵件,在於它是否滿足一些標準,比如是不是群發的,有沒有叫你買東西的廣告,是不是圖片佔有比例很高,然後發信人有沒有被舉報過等等……這些標準都是一個個特徵,如果一種機器學習方法規定了學習的特徵與策略,那就是淺學習,如果沒有規定,需要演算法本身去挖掘策略,那就是深度學習。
所以,深度學習的一大隱憂就是——人類並不知道演算法本身究竟在想什麼?所以如果哪天他在他負責的演算法下隱藏了一個暗算/統治人類的bug,那我們就被徹底奴役了。
不過,所謂「庄生曉夢迷蝴蝶」,人類自己究竟是不是被另外一個物種開發出來的一種新智慧呢?然後,那個物種是不是已經被我們滅絕了呢?我們並沒有答案。
碼農老師教的生物課為了弄清這橫掃千軍的神經網路,首先讓我們來上一堂不污的生物課。既然叫神經網路,那起源就是生物腦科學。很久以前,人們發現一個單神經細胞(也叫神經元)包括輸入(樹突dendrites),激活判斷(細胞核nucleus),輸出(軸突axon)和與下一個神經元的連接關係(突觸synapse)。如果用數學抽象出來過程,就是把一堆輸入經過線性組合以後經過一個閾值判斷,然後輸出給下一級。這樣一個簡單的神經元就形成。把足夠多個神經元連起來就能實現神經網路了。
上面兩個圖就是真實的神經元和它的數學模型。不過我還是要吐槽下:
誰起的中文?樹突與突觸傻傻分不清
從上述神經元的提出,到許多仿生的演算法結構的研究,如多層感知器
(Multilayer Perceptron) ,脈衝神經元(Spiking Neural)之類的,經過了一個甲子的時間,特別但都沒沒什麼巨大的成功,原因有兩個:
(1)當時的集成電路計算規模與資源遠沒有達到面向實際應用的需求,仔細去研究神經元的數學模型,會發現每個神經元有若干個權重和成累加計算 。他對應彙編可以大致是如下流程:
累加器清零 (mov)
-- 循環開始 (branch)
從存儲器中載入權重 (load)
從存儲器/外設中載入輸入 (load)
權重 乘以 輸入 (multiply)
累加 (add)
-- 判斷是否重新循環 (goto)
激活函數 (??)
輸出 存儲 (store)
對於一個N輸入的神經元要走N個循環,這對於上個世紀的單核單線程的CPU,實在是操作難度太複雜。這也就是為什麼當流水線與並行處理 不斷壯大的近十年,神經網路的發展得到了迅猛發展。
(2)連得不對。這短短四個字,雖說的輕巧,但要找到連連看的竅門,著實花費了多少人的青春?關於怎麼連,各位看官先別著急,且聽腦芯編下回分解。
作為腦芯編的開篇,今天就到這裡,所謂「神風送層雲」指的就是集成電路的下一個增長點或許就在在人工智慧領域取得巨大成功的神經網路硬體實現上。
特別鳴謝 復旦大學腦晶元研究中心 提供技術諮詢,歡迎有志青年報考。
人工智慧晶元硬體群加入方法:
請訪問
人工智慧晶元硬體交流群
經群管理員審核通過後即會邀請您入群!
========
我們同時也開通了微信平台(微信號:silicon_talks),將會發布更多半導體行業深度解讀和福利,歡迎搜索公眾號或掃描下方二維碼關注!
推薦閱讀:
※64位的處理器的地址匯流排一定也是64位嗎?
※华为麒麟芯片的含金量有多高?
※碳納米管能否拯救摩爾定律?
※請問RFIC與Mixed-Signal IC是否是兩條幾乎毫不相關的path?
※Verilog 中定義信號為什麼要區分 wire 和 reg 兩種類型?