顛覆程式設計方式的感知編碼:Wolfram雄心勃勃的全新計算模式

發表於2013-12-09

2002 年,出生在英國的科學家、程式設計師及創業家 Stephen Wolfram 的《一種新科學》剛剛釋出,其顛覆傳統的追求知識方式引發的驚愕、爭議與指責就已經鋪天蓋地。上個月初,他在部落格中披露了自己的一個即將完成的新專案,稱該專案將會對技術世界乃至於技術以外的世界產生深遠影響。

39316b61bd37e621363012284f193132

VB 的 John Koetsier 在看了Wolfram的東西后說,那東西確實令人吃驚。無論你對他那本書的看法如何,有一件事情必須承認,他是個天才。

320131209225729
知識+計算=大事物

Wolfram 的父母是二戰前逃離德國到英國去的猶太人。他從小就顯露出了過人之處。12 歲時他已經撰寫了一部物理詞典,14 歲時已經完成了 3 本粒子物理方面的書,15 歲發表了第 1 篇科學論文。

1988 年,他做出了科學計算平臺 Mathematica;2009 年,他釋出了計算知識搜尋引擎 Wolfram Alpha。而他的最新專案,則是這兩者的完美聯姻:

Mathematica 是完美的精確計算引擎,WolframAlpha 則是有關世界的一般資訊。現在我們把二者結合到了一起。

這種結合只是大圖景的一部分。新專案還包括了自然語言程式設計—這種自然語言並不是僅靠自然語言來完成程式設計,而是說開發者可以利用一部分的自然語言。此外應用中的一切會有一個新的定義,從程式碼到影象,從輸入到結果,一切均可以符號表示式的方式使用和擴充。自動化也到了全新的水平,而且程式語言的開發跟以往完全不一樣,拋棄了以往從小開始、以敏捷構造功能,建設庫和模組為核心的做法,轉為一種具備大規模整體性的東西—將資料和程式碼合二為一。還有就是對計算的全新專注,其對世界的瞭解甚至比程式設計師還要多。

野心比Google的知識圖譜大多了

跟我們在 Wolfram Alpha 做的事情相比,知識圖譜的心氣就小得多了,那僅僅是維基百科和其他一些資料

Google 希望理解物件和事物及其關係,以便給出回答而不僅僅是結果。但 Wolfram 希望讓世界變成可計算的,這樣的話計算機就可以回答諸如“現在國際空間站在哪裡”之類的問題。這需要一定水平的機器智慧,它得知道國際空間站是什麼,還得知道它在太空中,知道它正在繞著地球軌道飛行,還得知道它的速度以及目前的軌道位置。

這不是靜態的資料,而是計算與知識的結合。現在 WolframAlpha 做到了這一點,但這還僅僅是個開始。
420131209225759
Wolfram語言元件

Wolfram 認為,搜尋引擎不擅長這個東西,因為太凌亂了。搜尋引擎中的問題會有很多答案,其適用性與正確性也各異。這沒辦法計算,不夠簡潔,無法進行程式設計或注入系統。

Wolfram 說,讓世界成為可計算的,這是一個比產生維基百科式資訊要大得多的目標……一個迥然不同的東西。我們試圖要做的遠比這要更加雄心勃勃。

這件事情是如此的富有野心,意義是如此的深遠,甚至到了難以描述的地步。Wolfram 說在他這輩子做過的各種事情裡面,這是最複雜的一個,複雜到可怕,難以解釋。請記住,這是一個曾經寫過粒子物理論文的人。這件事情需要淵深知識,牽涉面廣,意義深遠—Wolfram 稱之為伸到程式設計、科學、知識及商業等不同領域的“觸鬚”。

讓計算機做這件事情

“總的說來,我們試圖做的是,只要你能描述得出來想要什麼,計算機就替你做。人來定義目標,然後計算機儘量去理解意思,然後盡最大努力去執行。”
Wolfram 說。

他還進行了現場演示。

大約 30 秒鐘,Wolfram 就建立了一個小小的 web 應用,應用可以在網頁上畫圓,裡面還包括有一個使用者介面,通過它訪客可以讓圓圈變大變小或變顏色。程式設計如此簡單要感謝 Wolfram 語言,由於它可以訪問到浩瀚的知識庫—所以知道什麼是圓且可以畫圓,它還可以自動提供 web—原生的使用者控制來操縱這個圓。這個例子只是個小意思,但過了 30 秒,Wolfram 又寫出了一個程式碼片段,程式碼實現了對南美國家的定義然後展示了相應國家的國旗。然後他調出一幅歐洲地圖,通過計算的方式以不同的顏色高亮顯示德國和法國,整個過程只需幾秒鐘

520131209225816
Wolfram語言解決“南美洲有哪些國?它們的國旗是什麼?”這個問題

之所以能做出這樣的東西,是因為新的 Wolfram 計算框架包括了 Mathematica20 年開發過程中形成的複雜而精確的演算法,再加上 WolframAlpha 內部的知識引擎。結果是驚人的。

通過資訊進行自動化

Wolfram 說這種自動化水平要比以往任何時候都要高,其強大令人難以置信,只要是 WolframAlpha 知道的,app 都知道。

這是因為 Wolfram 的自然語言處理技術。它知道南美洲是一個洲,因為知識引擎 WolframAlpha 知道這一點。同樣地,它知道哪些國家屬於南美洲,其國旗是什麼,也瞭解相應國家的人口、地圖形狀及概況,也許還包括成千上萬個其他的資料元素。而獲取這一切只需輸入“南美洲”即可。

620131209225841
1、2行程式碼即可完成一幅高亮顯示德國和法國歐洲地圖的呼叫。粗體的行是Wolfram自己輸入的

換句話說,“南美洲”並不是一個被賦值的變數或待例項化的物件或類,而是一個機器知道和理解的短語,其含義、意思和關聯均可毫不費力地植入程式中,且不需要外部的資料來源。而且該知識來源還會不斷更新和發展來匹配不斷更新和變化的世界。

這將是開發者開發應用的一大變化,而且這種程式設計方式不存在現實限制。

Wolfram 進一步以南美洲作為類比,說正如我們瞭解厄瓜多的事情(如人口)一樣,我們也可以瞭解 Twitter API 的東西。

由於具備快速建立應用的能力,Wolfram 將成為遊戲顛覆者。

自然語言輸入—小孩也能寫程式碼?

它改變了應用開發經濟,因為以往需要數小時或數週完成的事情現在只需要幾分鐘。許多人都一些有趣的想法、演算法或應用創意,但苦於缺人缺錢或缺時間而無法完成。Wolfram 目前正在跟這些人會面,這一切將會改變。

Wolfram 說自己的新專案將會催生一大批新的初創企業—在數小時內開發出一種演算法或自動化系統將變成現實。

它還改變了程式設計師的範疇,因為程式碼將不再是動輒成千上萬行,而是 20 到 200 行。這意味著娃娃也能寫程式碼,菜鳥也能做出精彩的應用。

313bccb8e8c009b96f6a509dd9d513f9
你想看圖還是看程式碼?

Wolfram 說,有了自然語言輸入,誰將成為富有經驗的程式設計師將會被改變。書寫程式碼將被大大縮短—這是一門可以讓你馬上就能把事情幹完的語言,不是那種“hello world”也要寫上 10 行。而它將為書寫複雜程式的人鋪設好了坦途。

但這也會讓你有點發懵。

感謝 Mathematica 的歷史悠久以及 WolframAlpha 的大腦,Wolfram 語言知道許多東西,也能通過內建函式對其進行操作—包括資料操縱和分析、視覺化及製作圖表,影象、地理、幾何、聲音、科學資料以及幾乎自動化的使用者介面開發,進入資料、社交資料,甚至在雲端的部署。這是所有一切東西的大雜燴,甚至還要多得多,這正是它最晦澀難懂的地方—因為它跟傳統的資料與程式碼及介面分離的做法實在是太不一樣了。

當然,在具備自然語言輸入的同時,Wolfram 語言也有語法和結構以及操作符等,那些建立無缺陷的、可按你思路執行的程式所必須的構造物。這也意味著這門語言還是需要學習的—並非說誰都可以馬上就能使喚它來開發應用。

Wolfram的用武之地:Raspberry Pi,智慧手機、裝置

這些應用有很多用武之地。

Wolfram 最近釋出了一個 Raspberry Pi 版的 Mathematica。這不僅令人好奇:承載著浩大知識的 Wolfram 語言是如何被容納進 Pi 小小的身軀內的?

奧祕在於它的引擎非常便攜,但顯然知識卻是非常龐大的,所以 Wolfram 語言所需要的知識是集中存放到雲端的,在處理時引擎會向雲端索取知識。

Wolfram 語言還可支援桌面應用、移動應用、web 應用的開發,且既可支援公有云也可支援私有云。對於移動應用將會嵌入一個 Wolfram 引擎,然後通過 API 的方式去獲取所需的資料。而所有程式碼均可複製貼上於雲端、裝置及桌面之間。

不過不想學 Wolfram 語言也沒問題,Wolfram 說像 Java 那樣的原生語言可以通過函式呼叫來利用 Wolfram 引擎。從表面上來看開發者仍只是在呼叫 Java,但實際上後臺會訪問 Wolfram 的雲。

感知編碼,智慧物件

由於 Wolfram 語言具備很高的自動化能力和智慧水平,且對待資料和程式碼的方式十分類似,所以這種語言是不是可以被認為是具有感知能力的程式碼呢?

從某種程度來說是這樣的。Wolfram 解釋說,他們試圖做的,是讓程式設計師設定目標,然後由計算機去琢磨如何實現目標。

但這並不是要讓機器去創新手段,不過 Wolfram 也對讓計算機去創新、創作感興趣。比方說Wolfram Tones就是這樣。這款音樂製作應用可以根據使用者的輸入自動創作音樂(在他的《一種新科學》中提到過)。這種東西他說很多都在“祕密地”搞,往往是替玩對衝基金的金融服務公司弄的。而 Wolfram 引擎已經為如果做事和展示結果新增了一定程度的智慧。

當然這種智慧跟人工智慧仍相去甚遠,但這一天也許會來的。可能是以大規模分佈的形式。

Wolfram 說,視定義的不同,目前全球大約有 100-150 億臺計算機,而且很多裝置內部也有計算機。在不久的將來,幾乎所有的東西都將由計算機組成—甚至很小的東西。到那時,計算的作用甚至比現在還要大,而且那時候各種級別的東西都將是可適配的、可修改的。

Wolfram 所指的也許是技術奇點。當我們到達技術奇點時,智慧將成為萬物唯一的定義因子,而且那時候的技術發展節奏之快已非現在的人們所能理解了,世界變化越來越快,快到人類已經無法想象。

如果這個奇點真的到來,可能就是智慧系統發展的結果。也許 Wolfram 語言就是此類系統的先驅。

也因此 Wolfram 語言才會如此的難易理解和解釋,正如 Wolfram 在部落格中所述:

在我看來,現在還是它將會帶來的結果的早期階段。但我已經可以確定該專案是我們迄今為止最重要的一個。這需要艱苦卓絕的工作,但它所展現的景象會令人無比興奮。我已經迫不及待,恨不得“即將推出”變成所有地方的人都能使用的實際系統……

相關文章