雲計算&大數據&人工智能相關概念

雲計算相關概念

首先做雲計算平臺的公司會買很多的物理機放在自己的數據中心中,再通過虛擬化的技術(如閉源的VMware,開源的Xen、KVM),將物理機分割成不同大小的資源(計算資源(CPU)、網絡資源(帶寬)、存儲資源(硬盤))以滿足不同用戶的需求,如個人用戶可能只需要一個CPU、1G內存、10G的硬盤、一兆的帶寬

但是創建一臺虛擬的電腦,需要人工指定這臺虛擬電腦放在哪臺物理機上的。這一過程可能還需要比較複雜的人工配置,所以僅僅憑虛擬化軟件所能管理的物理機的集羣規模都不是特別大,一般在十幾臺、幾十臺、最多百臺這麼一個規模。而幾十上百萬臺機器要靠人去選一個位置放這臺虛擬化的電腦並做相應的配置,幾乎是不可能的事情,還是需要機器去做這個事情

所以人們發明了一種叫做調度(Scheduler)的算法,通俗一點說,就是有一個調度中心,幾千臺機器都在一個池子裏面,無論用戶需要多少CPU、內存、硬盤的虛擬電腦,調度中心都會自動在大池子裏面找一個能夠滿足用戶需求的地方,把虛擬電腦啓動起來做好配置,用戶就直接能用了。這個階段稱爲池化或者雲化

私有云:把虛擬化和雲化的這套軟件部署在別人的數據中心裏面。使用私有云的用戶往往很有錢,自己買地建機房、自己買服務器,然後讓雲廠商部署在自己這裏

公有云:把虛擬化和雲化軟件部署在雲廠商自己數據中心裏面的,用戶不需要很大的投入,只要註冊一個賬號,就能在一個網頁上點一下創建一臺虛擬電腦。例如AWS即亞馬遜的公有云;例如國內的阿里雲、騰訊雲、網易雲等

OpenStack:公有云第二名Rackspace和美國航空航天局合作創辦了開源軟件OpenStack,一個計算、網絡、存儲的雲化管理平臺。所有想做雲的IT廠商都加入到這個社區中來,對這個雲平臺進行貢獻,包裝成自己的產品,連同自己的硬件設備一起賣。有的做了私有云,有的做了公有云,OpenStack已經成爲開源雲平臺的事實標準

隨着OpenStack的技術越來越成熟,可以管理的規模也越來越大,並且可以有多個OpenStack集羣部署多套。在這個規模下,對於普通用戶的感知來講,基本能夠做到想什麼時候要就什麼什麼要,想要多少就要多少。還是拿雲盤舉例子,每個用戶雲盤都分配了5T甚至更大的空間,如果有1億人,那加起來空間多大啊。其實背後的機制是這樣的:分配你的空間,你可能只用了其中很少一點,比如說它分配給你了5個T,這麼大的空間僅僅是你看到的,而不是真的就給你了,你其實只用了50個G,則真實給你的就是50個G,隨着你文件的不斷上傳,分給你的空間會越來越多。當雲平臺發現快滿了的時候(例如用了70%),會採購更多的服務器,擴充背後的資源,這個對用戶是透明的、看不到的

IaaS(Infranstracture As A Service)到了這個階段,雲計算基本上實現了時間靈活性和空間靈活性;實現了計算、網絡、存儲資源的彈性。計算、網絡、存儲常稱爲基礎設施Infranstracture, 因而這個階段的彈性稱爲資源層面的彈性。管理資源的雲平臺,稱爲基礎設施服務,也就是我們常聽到的IaaS

PaaS(Platform As A Service):

  •     自己的應用自動安裝:安裝的過程平臺幫不了忙,但能夠幫你做自動化,如用容器技術(Docker)
  •     通用的應用不用安裝:通用的應用可以變成標準的PaaS層的應用放在雲平臺的界面上。當用戶需要時(如數據庫),一點就出來了,用戶就可以直接用了

大數據相關概念

數據的應用分爲四個步驟:數據、信息、知識、智慧

最終的階段是很多商家都想要的。你看我收集了這麼多的數據,能不能基於這些數據來幫我做下一步的決策,改善我的產品。例如讓用戶看視頻的時候旁邊彈出廣告,正好是他想買的東西;再如讓用戶聽音樂時,另外推薦一些他非常想聽的其他音樂

數據的處理分幾個步驟,完成了才最後會有智慧

第一個步驟叫數據的收集首先得有數據,數據的收集有兩個方式:

  1.     抓取或者爬取
  2.     推送如小米手環,可以將你每天跑步的數據,心跳的數據,睡眠的數據都上傳到數據中心裏面

第二個步驟是數據的傳輸

第三個步驟是數據的存儲

第四個步驟是數據的處理和分析。通過清洗和過濾垃圾數據,得到一些高質量的數據。對於高質量的數據,就可以進行分析,從而對數據進行分類,或者發現數據之間的相互關係,得到知識

第五個步驟是對於數據的檢索和挖掘


人工智能相關概念

機器是和人是完全不一樣的物種,想要告訴計算機人類的推理能力是很難的,所以乾脆讓機器自己學習

基於統計學習:從大量的數字中發現一定的規律

    統計學習比較容易理解簡單的相關性:例如一個詞和另一個詞總是一起出現,兩個詞應該有關係;而無法表達複雜的相關性。並且統計方法的公式往往非常複雜,爲了簡化計算,常常做出各種獨立性的假設,來降低公式的計算難度,然而現實生活中,具有獨立性的事件是相對較少的

模擬大腦的工作方式:神經網絡學習

    人類的腦子裏面不是存儲着大量的規則,也不是記錄着大量的統計數據,而是通過神經元的觸發實現的,每個神經元有從其它神經元的輸入,當接收到輸入時,會產生一個輸出來刺激其它神經元。於是大量的神經元相互反應,最終形成各種輸出的結果

    例如當人們看到美女瞳孔會放大,絕不是大腦根據身材比例進行規則判斷,也不是將人生中看過的所有的美女都統計一遍,而是神經元從視網膜觸發到大腦再回到瞳孔。在這個過程中,其實很難總結出每個神經元對最終的結果起到了哪些作用,反正就是起作用了

    於是人們開始用一個數學單元模擬神經元。這個神經元有輸入,有輸出,輸入和輸出之間通過一個公式來表示,輸入根據重要程度不同(權重),影響着輸出。於是將n個神經元通過像一張神經網絡一樣連接在一起。n這個數字可以很大很大,所有的神經元可以分成很多列,每一列很多個排列起來。每個神經元對於輸入的權重可以都不相同,從而每個神經元的公式也不相同。當人們從這張網絡中輸入一個東西的時候,希望輸出一個對人類來講正確的結果

    學習的過程就是,輸入大量的圖片,如果結果不是想要的結果,則進行調整。如何調整呢?就是每個神經元的每個權重都向目標進行微調,由於神經元和權重實在是太多了,所以整張網絡產生的結果很難表現出非此即彼的結果,而是向着結果微微地進步,最終能夠達到目標結果。當然,這些調整的策略還是非常有技巧的,需要算法的高手來仔細的調整

    神經網絡的普遍性定理是這樣說的,假設某個人給你某種複雜奇特的函數,f(x):不管這個函數是什麼樣的,總會確保有個神經網絡能夠對任何可能的輸入x,其值f(x)(或者某個能夠準確的近似)是神經網絡的輸出。如果這個函數代表着規律,也意味着這個規律無論多麼奇妙,多麼不能理解,都是能通過大量的神經元,通過大量權重的調整,表示出來的

人工智能可以做的事情非常多,例如可以鑑別垃圾郵件、鑑別黃色暴力文字和圖片等。這也是經歷了三個階段的:

    

  • 第一個階段依賴於關鍵詞黑白名單和過濾技術,包含哪些詞就是黃色或者暴力的文字。隨着這個網絡語言越來越多,詞也不斷地變化,不斷地更新這個詞庫就有點顧不過來

  • 第二個階段時,基於一些新的算法,比如說貝葉斯過濾等,你不用管貝葉斯算法是什麼,但是這個名字你應該聽過,這個一個基於概率的算法

  • 第三個階段就是基於大數據和人工智能,進行更加精準的用戶畫像和文本理解和圖像理解


SaaS (Software AS A Service):軟件即服務,人工智能算法多是依賴於大量的數據的,如果沒有數據,就算有人工智能算法也白搭,而雲計算廠商往往積累了大量數據的,於是就可以暴露一個服務接口,比如您想鑑別一個文本是不是涉及黃色和暴力,直接用這個在線服務就可以了

參考:

爲什麼說21世紀是一場ABC的革命?

作者:劉超



    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章