大數據不僅僅是大量的數據,也不僅僅是一些公司為了推銷產品而強調的異構數據或者非結構化數據,而是具有了以往數據中難以具備的多維度和完備性等特點,更重要的是它是一種新的思維方式、一種新的方法論。現在大數據炙手可熱的原因不僅是各行各業都可以通過對數據的分析極大地提升自身的業務,更重要的是它將帶來機器智能的全面革命,并且最終改變世界的產業格局和社會生活。從數據驅動的時代開始,計算機領域的科學家和工程師已經意識到,讓機器具有所謂的智能需要,走一條和人的認知方法完全不同的道路,這就是發揮計算機在計算和存儲方面的特長,利用大數據的完備性,發現人難以發現的規律,得到傳統方式無法得到的結果,從而在某些方面超越人的智力。
概括起來,如今從學術界到工業界都意識到,實現機器智能需要 3 個支柱——摩爾定律、大數據、數學模型。摩爾定律的作用是保證計算機的計算能力和存儲能力能夠適應解決復雜智能問題的需求;大數據的多維度和完備性特點是保證智能性問題能夠找到答案的關鍵;數學模型則是將現實生活中的問題轉化成計算的橋梁。
實現大數據的應用和機器智能涉及很多關鍵技術,涵蓋了計算機科學、電機工程、通信、應用數學和認知科學等許多方面。
數據的收集是關鍵
大數據離不開數據,而數據的收集非常關鍵。與傳統的利用采樣收集數據不同,大數據需要全面地、在無意間收集各種可能有用的數據。強調“無意間”是因為有時可以收集的數據會變形,不具有統計意義,關于央視收視率調查的例子就說明了這個道理。雖然收集大量的數據并不難,但是收集全面卻不容易。在 Silver 所做的美國大選預測的例子中,準確性來自于數據的全面性。下面用 Google 產品中另外一個例子來說明收集完備的數據和大量的數據在難度上的區別。統計語言模型是語音識別、機器翻譯甚至輸入法的基礎,而訓練一個好的統計語言模型需要大量的數據。過去為了保證訓練數據具有代表性,通常是從各種來源的文本數據中抽樣,湊足即可。這樣得到的模型是針對所有人的,當然對于用詞非常怪異的人(小概率事件)來講,通用的模型就未必合適。在大數據時代,有可能為每一個用戶量身定做一個語言模型,這就要收集每一個用戶完備的輸入數據,要做到這一點而不涉及用戶的隱私就有相當大的難度。
在大數據時代,擁有數據就等于擁有了財富。2014 年初,Google 以 32 億美元的天價收購幾乎沒有什么收入的智能空調控制器公司 Nest,這不是為了給家庭省一點電,而是通過 Nest 的產品收集人們在家活動的數據,而這些數據采用傳統的數據采集方法是得不到的。
數據的存儲面臨挑戰
摩爾定律使存儲成本成倍下降,但是當大數據出現后,數據量增長的速度可能超過摩爾定律增長的速度。例如,Google 眼鏡可能將人一輩子看到的事情全部記錄下來,如果這件事做成了,會徹底改變人們對世界,甚至對自己人生的了解。但是,將這些視頻(包括音頻)數據都存下來不是一件容易的事情。對于擁有和使用大數據的公司,存儲數據的數據中心就成了未來業務的關鍵點。如果這個點出了故障,如何保證業務的正常運行就是一個挑戰。另外,在很多時候數據的存儲不僅僅是成本問題。處于保護隱私的考慮,很多與用戶相關的數據還不能集中存儲,而是需要存在每一個人的智能終端上,這也給數據的存儲和使用帶來了挑戰。
對于互聯網的網頁數據、公司運營的日志數據、用戶使用互聯網習慣的數據,雖然其數據量大,但是顆粒度都很小,因此它們的表示(描述)、檢索和隨機訪問并不是大問題。但是,對于富媒體數據(如視頻),要想隨機訪問其中一個畫面就不是一件容易的事情。還有很多比網絡富媒體顆粒度大得多的數據,例如很多和醫療相關的數據,一個基本單元就幾百兆甚至更多。目前,檢索一個詞組是件容易的事情,但是檢索一段基因就不容易。除了醫療,很多行業(如半導體設計、飛機設計制造)的數據量都很大。
過去,各個領域甚至各個公司會有自己的數據格式,它們只在自己的領域使用自己的數據。但是,到了大數據時代,希望通過數據之間的相關性尤其是大數據多維度的特性,找到各種事務之間的關聯。如果能夠將每一個用戶的飲食習慣收集起來,通過可穿戴式設備了解他們的生活習慣,然后再與他們的醫療數據甚至是基因數據聯系起來,就能研究出不同人、不同生活習慣下各種疾病的發病可能性,并且可以建議他們改進飲食習慣,預防疾病。這個前景看起來很美好,但是要實現它就必須先解決數據的表示、檢索和隨機訪問等問題。顯然,對于世界上各種各樣的大數據,無法用一個統一的格式來描述,但是需要一些標準的格式,以便于相互交換數據和使用數據。數據表示的另一個挑戰來自于數據保密和對隱私的訴求。很多時候,希望使用大數據的人,既能得到想要的統計規律,又無法看到數據的內容。
學會從沙子里淘金
使用大數據,相當于在一堆沙子中淘金,不經過處理的原始數據給不出新知識,大數據能產生的效益在很大程度上取決于使用和挖掘數據的水平。在 Google,至少有四成的工程師每天在處理數據。大數據不同于過去為了某個特定目的獲取或者產生的數據,在結構和格式上比較規范,大數據的原始數據常常是雜亂無章的,因此從沙子里淘金的本領是使用大數據的必要條件。雖然問題的答案存在于網頁之中,但是答案的內容通常是零碎地分布在不同網頁里,對網頁的結構、內容進行分析就成為了使用大數據的先決條件。而對于文本大數據來說,自然語言理解技術是使用它們的前提。從紛雜的數據中獲取有用的信息,通常只是使用大數據實現機器智能的第一步,而接下來關鍵的一步就是機器學習。對于同樣的數據、同樣的算法,采用不同深度的機器學習方法得到的結果不同。Google 的Jeff Dean 等人采用大規模并行的人工神經網絡,對語音識別的參數重新訓練,將識別的錯誤率降低了 15%(相對值)。對于機器翻譯,效果同樣顯著。這說明機器學習的重要性。
安全性和隱私性的維護
大數據由于數據量大而且完備,一旦丟失,損失將是巨大的,而一旦被盜取,后果更是不可想象。因此,大數據的安全性是 IT 領域新的挑戰。
大數據的完備性可以帶來很多好處,例如很多原本針對一個群體的產品和服務可以做到針對每一個人,但是同時也會帶來隱私的憂患。對隱私的保護不是僅在法律層面,而是指如何通過技術手段,使得在使用大數據時既能夠發揮它的功效,還能夠維護個人的隱私。
大數據使機器智能水平超過人成為可能
目前,機器智能做得最好的領域都有一個共同的特點,就是找到了把實際問題變成計算的數學模型和智能算法。為了讓計算機發揮更大的作用,變得更加智能,需要在數學模型研究上進行更大的投入,而這需要一個漫長的技術積累,很難在一夜之間有突破,因此除了長期堅持研究,別無他法。
機器智能曾經是無數代人的夢想。在 1946 年人類制造出第一臺電子計算機以后,這個夢想似乎離人們非常近了,但是直到上個世紀末,機器的智能水平還比較低。
主要有兩個原因:一是很多技術條件還不具備,機器智能的發展在整體上還處于早期階段;二是人們習慣于按照人的思維方式去要求機器,并且讓機器模擬人,導致走了很多彎路。但是,人類最終認識到計算機實現智能和人采用的方法是完全不同的。經過半個多世紀的摸索,人類找到了采用適合機器特長的發展機器智能的方式。由于人類的智能水平在過去的幾千年里沒有太大的變化,但是機器的智能水平卻可以隨著摩爾定律呈指數增長,因此在某個時間點,一定會出現機器在智能上超過人類的可能性,如今人們可能就處在這個轉折點,而這一切在很大程度上是因為有了大數據。