大數(shù)據(jù)在人類歷史長河的各個(gè)時(shí)期一直存在著,只是要等到技術(shù)發(fā)展到一定階段,它才開始嶄露頭角。而它的未來又在哪里?來自 Intercom 的工程師 Cathal Horan 表達(dá)了他對大數(shù)據(jù)的看法,他認(rèn)為,未來屬于算法,而不是代碼。
“大數(shù)據(jù)時(shí)代”的稱號并不能為當(dāng)今世界所獨(dú)享,數(shù)據(jù)充斥著人類文明歷史長河的各個(gè)時(shí)期??v觀這些歷史時(shí)期,通過從離散到抽象的轉(zhuǎn)換,我們就會明白為什么算法比代碼重要。
信息即數(shù)據(jù)
如果我們把整個(gè)人類歷史看成一天,那么我們只能從晚上 11 點(diǎn) 7 分開始說起。這是安靜的一天。但是在隨后的一丁點(diǎn)時(shí)間里,我們積攢了很多知識和故事,并打算將它們傳達(dá)給其他人。你可以想象最開始人類通過對話的形式將知識代代相傳,從父輩傳給子輩,從老師傳給學(xué)生。但是整個(gè)社會的知識量增長迅速,以至于最初的對話形式無法傳達(dá)這么多的信息。
我們需要將這些信息編撰成冊進(jìn)行保存和傳播。通過書寫的方式將知識編撰成冊代表著這些時(shí)期在技術(shù)上的重大轉(zhuǎn)變。事實(shí)上,蘇格拉底(柏拉圖“斐德羅篇”里的角色)認(rèn)為這種技術(shù)轉(zhuǎn)變比不上最初的對話形式,擔(dān)心它會降低我們開發(fā)智慧和知識的能力。所以很自然地,我不認(rèn)為蘇格拉底會喜歡電視。
問題的核心是,對話代表了一種離散的溝通手段。你知道你的交談對象是誰,而且參與對話的人通過論證和反證的方式進(jìn)行直接的互動。反過來,書本是一種抽象的溝通手段,作者和讀者之間不存在直接的互動。作者并不知道誰讀了他的書,也不知道有多少人、在什么時(shí)候、在哪里讀了他的書。有時(shí)候,我們可能知道潛在的讀者群體是誰,然后根據(jù)讀者群體進(jìn)行內(nèi)容裁剪。不過大多數(shù)時(shí)候,書本都只是一種抽象的傳播知識和學(xué)習(xí)新技能的手段。
等腰三角形的大數(shù)據(jù)
當(dāng)我們從簡單的計(jì)算形式轉(zhuǎn)變?yōu)橛啥ɡ怼⒎柡退惴ńM成的抽象形式(我們現(xiàn)在稱其為數(shù)學(xué)),就開啟了另一個(gè)大數(shù)據(jù)時(shí)代。第一批有記載的計(jì)算發(fā)生在公元前 2500 年的美索不達(dá)米亞。當(dāng)時(shí),美索不達(dá)米亞人需要計(jì)算出一谷倉的糧食能夠養(yǎng)活多少人。
美索不達(dá)米亞人有具體的問題關(guān)注點(diǎn),他們很清楚需要解決的問題是什么。他們的計(jì)算都是很離散的,因?yàn)槊恳淮斡?jì)算只能解決一個(gè)問題。這也就是為什么評論家們認(rèn)為它們不是數(shù)學(xué)。直到公元前 500 年的古希臘,畢達(dá)哥拉斯學(xué)者們(可以把他們認(rèn)為是早期的 Google 使用者,哈哈)開始針對三角形提出了一些奇怪的問題。比如,他們想知道等腰直角三角形的三個(gè)邊能否都是整數(shù)(這聽起來像不像一個(gè) Google 風(fēng)格的面試題?)。
如果你想通過離散的方式來解答這個(gè)問題,那么可以像美索不達(dá)米亞人那樣做。不過,隨著數(shù)字的增加,這種方式會顯得很笨重。要證明這個(gè)假設(shè),你需要進(jìn)行多少次計(jì)算(其實(shí)這個(gè)假設(shè)是錯(cuò)誤的,三個(gè)邊不可能都是整數(shù))?等腰三角形問題的不同之處在于,它不存在具體的關(guān)注點(diǎn)。我們不知道三角形的大小,也不知道它們的邊長,而且它們的大小可能是無限的。如果我們在數(shù)字上應(yīng)用推理,那么就進(jìn)入了數(shù)學(xué)領(lǐng)域,大數(shù)據(jù)也就接踵而至。畢達(dá)哥拉斯式的思維方式體現(xiàn)了數(shù)學(xué)的抽象特征,在今天,我們使用符號、規(guī)則和推理來解答這類抽象的問題。
或許你想知道人類歷史上的其他大數(shù)據(jù)時(shí)期,不過我想直接跳到 20 世紀(jì),看看代碼如何成為現(xiàn)代技術(shù)領(lǐng)域的重要組成部分.
代碼的崛起
1945 年,當(dāng) Grace Hopper 開始在 Harvard Mark I 計(jì)算機(jī)上工作時(shí),編碼(或者說編程,不過我們不打算在這里區(qū)分它們有什么不同)這項(xiàng)工作的重要性就開始凸顯出來。在這之前,電腦(如果可以這么叫它的話)充其量只是個(gè)計(jì)算工具。以二戰(zhàn)為例,當(dāng)時(shí)的大炮需要借助矩陣進(jìn)行輔助瞄準(zhǔn)。矩陣是一些方程式的計(jì)算結(jié)果,這些方程式使用數(shù)百種不同的計(jì)算因子,比如距離、海拔、風(fēng)速、溫度、濕度,等等。電腦(computer)這個(gè)名字的由來也是很偶然的,人們用它描述在二戰(zhàn)中操作計(jì)算機(jī)的女性,她們被稱為“computer”。操作員們必須使用打孔卡和曲柄來處理方程式。一個(gè)打孔卡需要 170 個(gè)人月才能完成。
這個(gè)與我們之前討論的事情有什么相似之處?美索不達(dá)米亞人使用黏土矩陣來進(jìn)行計(jì)算,而到了 20 世紀(jì),計(jì)算媒介變成了編碼。雖然已經(jīng)有了長足的進(jìn)步,不過編碼仍然是一種離散的操作,因?yàn)樗鼒?zhí)行的是具體的計(jì)算任務(wù),只是效率上有所提升而已。編碼解放了人工操作,讓我們可以處理更多的數(shù)據(jù)。
算法與代碼
算法:一系列用于描述一個(gè)問題解決方案的步驟,符合正確性和有限性的標(biāo)準(zhǔn)。是與具體實(shí)現(xiàn)相互獨(dú)立的抽象計(jì)算步驟。
代碼:一系列計(jì)算機(jī)指令。它們是計(jì)算的具體實(shí)現(xiàn),使用一種特定的編程語言,運(yùn)行在一個(gè)特定的平臺上。
人們可以借助這種直接向計(jì)算機(jī)發(fā)送編碼指令的方式來實(shí)現(xiàn)更為復(fù)雜的指令序列,并以算法的形式呈現(xiàn)出來。算法比編碼的出現(xiàn)要早得多。穆斯林?jǐn)?shù)學(xué)家 Al-Khawarizm 早在公元 820 年就對解決線性方程和二次方程式的算法進(jìn)行了描述。算法一詞來源于這位數(shù)學(xué)家的拉丁文名字“Algoritmi”,而“algebra”則來源于“al-jabr”,Al-Khawarizm 用它來解決二次方程式問題。算法由一系列有限的計(jì)算或指令組成,并產(chǎn)生一個(gè)結(jié)果。正如我們所知道的那樣,代碼是向計(jì)算機(jī)發(fā)出指令的一種方式,很適合用于實(shí)現(xiàn)算法。它們只不過是一系列按照一定次序執(zhí)行的操作。
與早期的大數(shù)據(jù)時(shí)期一樣,我們這個(gè)時(shí)代的信息量也在增長。根據(jù)摩爾定律,我們在編碼的設(shè)計(jì)和使用方面所作的改進(jìn)換來了性能的提升,從而能夠應(yīng)付不斷增長的數(shù)字化需求。你可以繼續(xù)編寫代碼從數(shù)據(jù)庫查詢相關(guān)的資源列表。這些操作的離散特征仍然被保留了下來,因?yàn)槿藗內(nèi)匀辉谕ㄟ^編寫代碼告訴硬件應(yīng)該做哪些事情。就算操作變得越來越復(fù)雜,它仍然只是人類的編碼指令。不過,算法已經(jīng)開始展露頭角,正在創(chuàng)造一個(gè)抽象的新時(shí)代。
算法的崛起
所以說,算法和代碼之間有很大的不同。代碼可以用來實(shí)現(xiàn)算法,而且代碼的實(shí)現(xiàn)方式會影響到性能。例如,如果你要從一個(gè)序列里找出最大或最小的元素,那么二叉堆的性能相比其他的數(shù)據(jù)結(jié)構(gòu)要好很多。不過,你已經(jīng)沒有必要通過編寫代碼來實(shí)現(xiàn)一個(gè)算法,就像沒有必要通過聽音樂來寫歌一樣。
雖然每個(gè)人都知道摩爾定律的魔力,驅(qū)動數(shù)字經(jīng)濟(jì)發(fā)展的性能改進(jìn)遵循的就是摩爾定律,但鮮有人知道,在很多領(lǐng)域,算法所產(chǎn)生的性能改進(jìn)已經(jīng)超過了硬件所帶來的性能提升。實(shí)際上,2010 年的一份官方報(bào)告表明,算法已經(jīng)為很多領(lǐng)域帶來了顯著的性能提升,比如語音識別、神經(jīng)語言處理和物流。
“更加令人感到吃驚但同時(shí)又令人難以理解的是,在很多領(lǐng)域,算法為性能帶來的提升已經(jīng)遠(yuǎn)遠(yuǎn)超過了處理器速度提升所帶來的性能改進(jìn)?!薄嫦蚩偨y(tǒng)和國會的報(bào)告:設(shè)計(jì)數(shù)字的未來
抽象算法
我們現(xiàn)在擁有大量的數(shù)據(jù),這意味著我們不能再用離散的思維來思考問題。大數(shù)據(jù)促使我們轉(zhuǎn)變思維。它促使我們向后退一步,去尋找能夠處理數(shù)據(jù)洪流的方法。按照傳統(tǒng)的方式,你可能會根據(jù)一些指定的模式或參數(shù)編寫代碼來查詢數(shù)據(jù)。例如,你可能想從數(shù)據(jù)庫中查找在過去兩周買過 2 件商品并且支付超過 30 歐元的顧客,因?yàn)槟阆肼?lián)系到這些顧客,并向他們推薦一些優(yōu)惠活動。你使用這個(gè)模式來查找匹配的數(shù)據(jù)。不過大數(shù)據(jù)卻正好相反,你先有了數(shù)據(jù),然后查找可以匹配這些數(shù)據(jù)的模式。
想想看,有這么多的數(shù)據(jù),但是我們卻找不到匹配的模式,所以我們要回退一步。我們通過集群、分類、機(jī)器學(xué)習(xí)和其他新的支撐技術(shù)來尋找模式,而能夠幫助我們做到這點(diǎn)的是算法,不是代碼。要找到隱藏在暗處的模式,跨出這一步是必需的。與光譜一樣,有一些波長的光線我們是看不到的,而超過一定數(shù)據(jù)量之后的模式我們也是看不到的,它就是大數(shù)據(jù)。
我們不僅可以從中搜索到模式,它還能夠生成做這些事情所需要的代碼。Pedro Domingos 在“The Master Algorithm”一書中描述了如何使用“學(xué)習(xí)者算法”來創(chuàng)建新的算法,這些算法可以反過來為我們編寫我們所需要的代碼,“通過機(jī)器學(xué)習(xí),計(jì)算機(jī)可以自己編程,我們就可以解放了”。為了實(shí)現(xiàn)這個(gè)目標(biāo),我們需要更好地理解這些算法的原理,以及如何讓它們與我們的需求相匹配。否則,我們就無法向抽象轉(zhuǎn)變。
“工業(yè)的發(fā)展讓手工勞動自動化,信息的發(fā)展讓腦力勞動自動化,而機(jī)器學(xué)習(xí)則讓它自己自動化。如果沒有機(jī)器學(xué)習(xí),程序員就會成為發(fā)展瓶頸。而有了機(jī)器學(xué)習(xí),發(fā)展的速度就會加快。”——Pedro Domingos,“The Master Algorithm”
思考算法
不過,不管如何從離散轉(zhuǎn)變成抽象,我們?nèi)匀恍枰绦騿T,但這不是重點(diǎn)。并不是說代碼已經(jīng)變得不重要了,也不是說代碼就不會再帶來任何改進(jìn)。重點(diǎn)在于,我們要開始思考算法,這不僅僅是數(shù)學(xué)家或?qū)W者的事情。我們周邊充斥著各種算法,以致于我們不需要知道如何編寫代碼來使用它們,或者理解它們?,F(xiàn)在,有一些人通過新的算法對不同的領(lǐng)域進(jìn)行優(yōu)化和改進(jìn),他們使用了遺傳編程(genetic programming)和大數(shù)據(jù)技術(shù)。人們甚至創(chuàng)造了更好的優(yōu)化技術(shù),他們觀察金屬的冷卻過程,并通過算法對其進(jìn)行建模(被稱為模擬退火算法,這就是我們應(yīng)該從算法角度開始考慮問題的一個(gè)最好的例子)。
編碼作為新數(shù)字經(jīng)濟(jì)的關(guān)鍵技能,就像學(xué)習(xí)如何閱讀一樣,已經(jīng)模糊了我們對算法的理解。算法正逐漸成為我們生活的組成部分,從電影推薦到新聞過濾和尋找合作伙伴。我們要更好地理解它們,這樣才能更好地理解和掌控我們的未來。
- 蜜度索驥:以跨模態(tài)檢索技術(shù)助力“企宣”向上生長
- 央國企采購管理升級,合合信息旗下啟信慧眼以科技破局難點(diǎn)
- Apache Struts重大漏洞被黑客利用,遠(yuǎn)程代碼執(zhí)行風(fēng)險(xiǎn)加劇
- Crunchbase:2024年AI網(wǎng)絡(luò)安全行業(yè)風(fēng)險(xiǎn)投資超過26億美元
- 調(diào)查報(bào)告:AI與云重塑IT格局,77%的IT領(lǐng)導(dǎo)者視網(wǎng)絡(luò)安全為首要挑戰(zhàn)
- 長江存儲發(fā)布聲明:從無“借殼上市”意愿
- 泛微·數(shù)智大腦Xiaoe.AI正式發(fā)布,千人現(xiàn)場體驗(yàn)數(shù)智化運(yùn)營場景
- IDC:2024年第三季度北美IT分銷商收入增長至202億美元
- AI成為雙刃劍!凱捷調(diào)查:97%組織遭遇過GenAI漏洞攻擊
- openEuler開源五年樹立新里程碑,累計(jì)裝機(jī)量突破1000萬
- 創(chuàng)想 華彩新程!2024柯尼卡美能達(dá)媒體溝通會煥新增長之道
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。