<track id="aprvp"></track>

    <table id="aprvp"></table>

  1. <output id="aprvp"><strong id="aprvp"><small id="aprvp"></small></strong></output>
    1. 需求洽談 電話:+86 15102013985
      * 公司名稱:
      * 聯系人姓名:
      * 聯系人手機號:
      * 備注:
       

      云計算、大數據和人工智能的關系(二)

      2019年04月16日

      總結

      到了這個階段,云計算基本上實現了時間靈活性和空間靈活性;實現了計算、網絡、存儲資源的彈性。

      計算、網絡、存儲我們常稱為基礎設施 Infranstracture, 因而這個階段的彈性稱為資源層面的彈性。

      管理資源的云平臺,我們稱為基礎設施服務,也就是我們常聽到的 IaaS(Infranstracture As A Service)。

      云計算不光管資源,也要管應用



      有了 IaaS,實現了資源層面的彈性就夠了嗎?顯然不是,還有應用層面的彈性。

      這里舉個例子:比如說實現一個電商的應用,平時十臺機器就夠了,雙十一需要一百臺。你可能覺得很好辦啊,有了 IaaS,新創建九十臺機器就可以了啊。

      但 90 臺機器創建出來是空的,電商應用并沒有放上去,只能讓公司的運維人員一臺一臺的弄,需要很長時間才能安裝好的。

      雖然資源層面實現了彈性,但沒有應用層的彈性,依然靈活性是不夠的。有沒有方法解決這個問題呢?

      人們在 IaaS 平臺之上又加了一層,用于管理資源以上的應用彈性的問題,這一層通常稱為 PaaS(Platform As A Service)。

      這一層往往比較難理解,大致分兩部分:一部分筆者稱為“你自己的應用自動安裝”,一部分筆者稱為“通用的應用不用安裝”。

      自己的應用自動安裝:比如電商應用是你自己開發的,除了你自己,其他人是不知道怎么安裝的。

      像電商應用,安裝時需要配置支付寶或者微信的賬號,才能使別人在你的電商上買東西時,付的錢是打到你的賬戶里面的,除了你,誰也不知道。

      所以安裝的過程平臺幫不了忙,但能夠幫你做得自動化,你需要做一些工作,將自己的配置信息融入到自動化的安裝過程中方可。

      比如上面的例子,雙十一新創建出來的 90 臺機器是空的,如果能夠提供一個工具,能夠自動在這新的 90 臺機器上將電商應用安裝好,就能夠實現應用層面的真正彈性。

      例如 Puppet、Chef、Ansible、Cloud Foundary 都可以干這件事情,最新的容器技術 Docker 能更好的干這件事情。

      通用的應用不用安裝:所謂通用的應用,一般指一些復雜性比較高,但大家都在用的,例如數據庫。幾乎所有的應用都會用數據庫,但數據庫軟件是標準的,雖然安裝和維護比較復雜,但無論誰安裝都是一樣。


      這樣的應用可以變成標準的 PaaS 層的應用放在云平臺的界面上。當用戶需要一個數據庫時,一點就出來了,用戶就可以直接用了。

      有人問,既然誰安裝都一個樣,那我自己來好了,不需要花錢在云平臺上買。當然不是,數據庫是一個非常難的東西,光 Oracle 這家公司,靠數據庫就能賺這么多錢。買 Oracle 也是要花很多錢的。

      然而大多數云平臺會提供 MySQL 這樣的開源數據庫,又是開源,錢不需要花這么多了。

      但維護這個數據庫,卻需要專門招一個很大的團隊,如果這個數據庫能夠優化到能夠支撐雙十一,也不是一年兩年能夠搞定的。

      比如您是一個做單車的,當然沒必要招一個非常大的數據庫團隊來干這件事情,成本太高了,應該交給云平臺來做這件事情。

      專業的事情專業的人來做,云平臺專門養了幾百人維護這套系統,您只要專注于您的單車應用就可以了。

      要么是自動部署,要么是不用部署,總的來說就是應用層你也要少操心,這就是 PaaS 層的重要作用。



      雖說腳本的方式能夠解決自己的應用的部署問題,然而不同的環境千差萬別,一個腳本往往在一個環境上運行正確,到另一個環境就不正確了。

      而容器是能更好地解決這個問題。



      容器是 Container,Container 另一個意思是集裝箱,其實容器的思想就是要變成軟件交付的集裝箱。集裝箱的特點:一是封裝,二是標準。



      在沒有集裝箱的時代,假設將貨物從 A 運到 B,中間要經過三個碼頭、換三次船。

      每次都要將貨物卸下船來,擺得七零八落,然后搬上船重新整齊擺好。因此在沒有集裝箱時,每次換船,船員們都要在岸上待幾天才能走。



      有了集裝箱以后,所有的貨物都打包在一起了,并且集裝箱的尺寸全部一致,所以每次換船時,一個箱子整體搬過去就行了,小時級別就能完成,船員再也不用上岸長時間耽擱了。

      這是集裝箱“封裝”、“標準”兩大特點在生活中的應用。



      那么容器如何對應用打包呢?還是要學習集裝箱。首先要有個封閉的環境,將貨物封裝起來,讓貨物之間互不干擾、互相隔離,這樣裝貨卸貨才方便。好在 Ubuntu 中的 LXC 技術早就能做到這一點。

      封閉的環境主要使用了兩種技術:

      看起來是隔離的技術,稱為  Namespace,也即每個 Namespace 中的應用看到的是不同的 IP 地址、用戶空間、程號等。

      用起來是隔離的技術,稱為 Cgroups,也即明明整臺機器有很多的  CPU、內存,而一個應用只能用其中的一部分。

      所謂的鏡像,就是將你焊好集裝箱的那一刻,將集裝箱的狀態保存下來,就像孫悟空說:“定”,集裝箱里面就定在了那一刻,然后將這一刻的狀態保存成一系列文件。

      這些文件的格式是標準的,誰看到這些文件都能還原當時定住的那個時刻。將鏡像還原成運行時的過程(就是讀取鏡像文件,還原那個時刻的過程),就是容器運行的過程。

      有了容器,使得 PaaS 層對于用戶自身應用的自動部署變得快速而優雅。


      大數據擁抱云計算

      在 PaaS 層中一個復雜的通用應用就是大數據平臺。大數據是如何一步一步融入云計算的呢?


      數據不大也包含智慧

      一開始這個大數據并不大。原來才有多少數據?現在大家都去看電子書,上網看新聞了,在我們 80 后小時候,信息量沒有那么大,也就看看書、看看報,一個星期的報紙加起來才有多少字?

      如果你不在一個大城市,一個普通的學校的圖書館加起來也沒幾個書架,是后來隨著信息化的到來,信息才會越來越多。

      首先我們來看一下大數據里面的數據,就分三種類型:

      • 結構化的數據:即有固定格式和有限長度的數據。例如填的表格就是結構化的數據,國籍:中華人民共和國,民族:漢,性別:男,這都叫結構化數據。
      • 非結構化的數據:現在非結構化的數據越來越多,就是不定長、無固定格式的數據,例如網頁,有時候非常長,有時候幾句話就沒了;例如語音,視頻都是非結構化的數據。
      • 半結構化數據:是一些 XML 或者 HTML 的格式的,不從事技術的可能不了解,但也沒有關系。其實數據本身不是有用的,必須要經過一定的處理。例如你每天跑步帶個手環收集的也是數據,網上這么多網頁也是數據,我們稱為 Data。

      數據本身沒有什么用處,但數據里面包含一個很重要的東西,叫做信息(Information)。

      數據十分雜亂,經過梳理和清洗,才能夠稱為信息。信息會包含很多規律,我們需要從信息中將規律總結出來,稱為知識(Knowledge),而知識改變命運。

      信息是很多的,但有人看到了信息相當于白看,但有人就從信息中看到了電商的未來,有人看到了直播的未來,所以人家就牛了。

      如果你沒有從信息中提取出知識,天天看朋友圈也只能在互聯網滾滾大潮中做個看客。

      有了知識,然后利用這些知識去應用于實戰,有的人會做得非常好,這個東西叫做智慧(Intelligence)。

      有知識并不一定有智慧,例如好多學者很有知識,已經發生的事情可以從各個角度分析得頭頭是道,但一到實干就歇菜,并不能轉化成為智慧。

      而很多的創業家之所以偉大,就是通過獲得的知識應用于實踐,最后做了很大的生意。

      所以數據的應用分這四個步驟:數據、信息、知識、智慧。

      最終的階段是很多商家都想要的。你看我收集了這么多的數據,能不能基于這些數據來幫我做下一步的決策,改善我的產品。

      例如讓用戶看視頻的時候旁邊彈出廣告,正好是他想買的東西;再如讓用戶聽音樂時,另外推薦一些他非常想聽的其他音樂。

      用戶在我的應用或者網站上隨便點點鼠標,輸入文字對我來說都是數據,我就是要將其中某些東西提取出來、指導實踐、形成智慧,讓用戶陷入到我的應用里面不可自拔,上了我的網就不想離開,手不停地點、不停地買。

      很多人說雙十一我都想斷網了,我老婆在上面不斷地買買買,買了 A 又推薦 B,老婆大人說,“哎呀,B 也是我喜歡的啊,老公我要買”。

      你說這個程序怎么這么牛,這么有智慧,比我還了解我老婆,這件事情是怎么做到的呢?



      數據如何升華為智慧

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

      • 數據收集
      • 數據傳輸
      • 數據存儲
      • 數據處理和分析
      • 數據檢索和挖掘


      數據收集

      首先得有數據,數據的收集有兩個方式:

      • 拿,專業點的說法叫抓取或者爬取。例如搜索引擎就是這么做的:它把網上的所有的信息都下載到它的數據中心,然后你一搜才能搜出來。
      • 比如你去搜索的時候,結果會是一個列表,這個列表為什么會在搜索引擎的公司里面?就是因為他把數據都拿下來了,但是你一點鏈接,點出來這個網站就不在搜索引擎它們公司了。

      比如說新浪有個新聞,你拿百度搜出來,你不點的時候,那一頁在百度數據中心,一點出來的網頁就是在新浪的數據中心了。

      • 推送,有很多終端可以幫我收集數據。比如說小米手環,可以將你每天跑步的數據,心跳的數據,睡眠的數據都上傳到數據中心里面。

      數據傳輸

      一般會通過隊列方式進行,因為數據量實在是太大了,數據必須經過處理才會有用??上到y處理不過來,只好排好隊,慢慢處理。

      數據存儲

      現在數據就是金錢,掌握了數據就相當于掌握了錢。要不然網站怎么知道你想買什么?

      就是因為它有你歷史的交易數據,這個信息可不能給別人,十分寶貴,所以需要存儲下來。

      數據處理和分析

      上面存儲的數據是原始數據,原始數據多是雜亂無章的,有很多垃圾數據在里面,因而需要清洗和過濾,得到一些高質量的數據。

      對于高質量的數據,就可以進行分析,從而對數據進行分類,或者發現數據之間的相互關系,得到知識。

      比如盛傳的沃爾瑪超市的啤酒和尿布的故事,就是通過對人們的購買數據進行分析,發現了男人一般買尿布的時候,會同時購買啤酒。

      這樣就發現了啤酒和尿布之間的相互關系,獲得知識,然后應用到實踐中,將啤酒和尿布的柜臺弄的很近,就獲得了智慧。

      數據檢索和挖掘

      檢索就是搜索,所謂外事不決問 Google,內事不決問百度。內外兩大搜索引擎都是將分析后的數據放入搜索引擎,因此人們想尋找信息的時候,一搜就有了。

      另外就是挖掘,僅僅搜索出來已經不能滿足人們的要求了,還需要從信息中挖掘出相互的關系。

      比如財經搜索,當搜索某個公司股票的時候,該公司的高管是不是也應該被挖掘出來呢?

      如果僅僅搜索出這個公司的股票發現漲的特別好,于是你就去買了,其時其高管發了一個聲明,對股票十分不利,第二天就跌了,這不坑害廣大股民么?所以通過各種算法挖掘數據中的關系,形成知識庫,十分重要。




      大數據時代,眾人拾柴火焰高

      當數據量很小時,很少的幾臺機器就能解決。慢慢的,當數據量越來越大,最牛的服務器都解決不了問題時,怎么辦呢?

      這時就要聚合多臺機器的力量,大家齊心協力一起把這個事搞定,眾人拾柴火焰高。

      對于數據的收集:就 IoT 來講,外面部署著成千上萬的檢測設備,將大量的溫度、濕度、監控、電力等數據統統收集上來;就互聯網網頁的搜索引擎來講,需要將整個互聯網所有的網頁都下載下來。

      這顯然一臺機器做不到,需要多臺機器組成網絡爬蟲系統,每臺機器下載一部分,同時工作,才能在有限的時間內,將海量的網頁下載完畢。


      對于數據的傳輸:一個內存里面的隊列肯定會被大量的數據擠爆掉,于是就產生了基于硬盤的分布式隊列,這樣隊列可以多臺機器同時傳輸,隨你數據量多大,只要我的隊列足夠多,管道足夠粗,就能夠撐得住。



      對于數據的存儲:一臺機器的文件系統肯定是放不下的,所以需要一個很大的分布式文件系統來做這件事情,把多臺機器的硬盤打成一塊大的文件系統。



      對于數據的分析:可能需要對大量的數據做分解、統計、匯總,一臺機器肯定搞不定,處理到猴年馬月也分析不完。

      于是就有分布式計算的方法,將大量的數據分成小份,每臺機器處理一小份,多臺機器并行處理,很快就能算完。

      例如著名的 Terasort 對 1 個 TB 的數據排序,相當于 1000G,如果單機處理,怎么也要幾個小時,但并行處理 209 秒就完成了。





      所以說什么叫做大數據?說白了就是一臺機器干不完,大家一起干。

      可是隨著數據量越來越大,很多不大的公司都需要處理相當多的數據,這些小公司沒有這么多機器可怎么辦呢?


      大數據需要云計算,云計算需要大數據

      說到這里,大家想起云計算了吧。當想要干這些活時,需要很多的機器一塊做,真的是想什么時候要就什么時候要,想要多少就要多少。

      例如大數據分析公司的財務情況,可能一周分析一次,如果要把這一百臺機器或者一千臺機器都在那放著,一周用一次非常浪費。

      那能不能需要計算的時候,把這一千臺機器拿出來;不算的時候,讓這一千臺機器去干別的事情?

      誰能做這個事兒呢?只有云計算,可以為大數據的運算提供資源層的靈活性。

      而云計算也會部署大數據放到它的 PaaS 平臺上,作為一個非常非常重要的通用應用。

      因為大數據平臺能夠使得多臺機器一起干一個事兒,這個東西不是一般人能開發出來的,也不是一般人玩得轉的,怎么也得雇個幾十上百號人才能把這個玩起來。

      所以說就像數據庫一樣,還是需要有一幫專業的人來玩這個東西?,F在公有云上基本上都會有大數據的解決方案了。

      一個小公司需要大數據平臺的時候,不需要采購一千臺機器,只要到公有云上一點,這一千臺機器都出來了,并且上面已經部署好了的大數據平臺,只要把數據放進去算就可以了。

      云計算需要大數據,大數據需要云計算,二者就這樣結合了。


      人工智能擁抱大數據

      機器什么時候才能懂人心

      雖說有了大數據,人的欲望卻不能夠滿足。雖說在大數據平臺里面有搜索引擎這個東西,想要什么東西一搜就出來了。

      但也存在這樣的情況:我想要的東西不會搜,表達不出來,搜索出來的又不是我想要的。

      例如音樂軟件推薦了一首歌,這首歌我沒聽過,當然不知道名字,也沒法搜。但是軟件推薦給我,我的確喜歡,這就是搜索做不到的事情。

      當人們使用這種應用時,會發現機器知道我想要什么,而不是說當我想要時,去機器里面搜索。這個機器真像我的朋友一樣懂我,這就有點人工智能的意思了。

      人們很早就在想這個事情了。最早的時候,人們想象,要是有一堵墻,墻后面是個機器,我給它說話,它就給我回應。

      如果我感覺不出它那邊是人還是機器,那它就真的是一個人工智能的東西了。


      讓機器學會推理

      怎么才能做到這一點呢?人們就想:我首先要告訴計算機人類推理的能力。你看人重要的是什么?人和動物的區別在什么?就是能推理。

      要是把我這個推理的能力告訴機器,讓機器根據你的提問,推理出相應的回答,這樣多好?

      其實目前人們慢慢地讓機器能夠做到一些推理了,例如證明數學公式。這是一個非常讓人驚喜的一個過程,機器竟然能夠證明數學公式。

      但慢慢又發現這個結果也沒有那么令人驚喜。因為大家發現了一個問題:數學公式非常嚴謹,推理過程也非常嚴謹,而且數學公式很容易拿機器來進行表達,程序也相對容易表達。

      然而人類的語言就沒這么簡單了。比如今天晚上,你和你女朋友約會,你女朋友說:如果你早來,我沒來,你等著;如果我早來,你沒來,你等著!

      這個機器就比較難理解了,但人都懂。所以你和女朋友約會,是不敢遲到的。


      教給機器知識

      因此,僅僅告訴機器嚴格的推理是不夠的,還要告訴機器一些知識。但告訴機器知識這個事情,一般人可能就做不來了??赡軐<铱梢?,比如語言領域的專家或者財經領域的專家。

      語言領域和財經領域知識能不能表示成像數學公式一樣稍微嚴格點呢?例如語言專家可能會總結出主謂賓定狀補這些語法規則,主語后面一定是謂語,謂語后面一定是賓語,將這些總結出來,并嚴格表達出來不就行了嗎?

      后來發現這個不行,太難總結了,語言表達千變萬化。就拿主謂賓的例子,很多時候在口語里面就省略了謂語,別人問:你誰???我回答:我劉超。

      但你不能規定在語音語義識別時,要求對著機器說標準的書面語,這樣還是不夠智能,就像羅永浩在一次演講中說的那樣,每次對著手機,用書面語說:請幫我呼叫某某某,這是一件很尷尬的事情。

      人工智能這個階段叫做專家系統。專家系統不易成功,一方面是知識比較難總結,另一方面總結出來的知識難以教給計算機。

      因為你自己還迷迷糊糊,覺得似乎有規律,就是說不出來,又怎么能夠通過編程教給計算機呢?


      算了,教不會你自己學吧

      于是人們想到:機器是和人完全不一樣的物種,干脆讓機器自己學習好了。

      機器怎么學習呢?既然機器的統計能力這么強,基于統計學習,一定能從大量的數字中發現一定的規律。


      其實在娛樂圈有很好的一個例子,可窺一斑:

      有一位網友統計了知名歌手在大陸發行的 9 張專輯中 117 首歌曲的歌詞,同一詞語在一首歌出現只算一次,形容詞、名詞和動詞的前十名如下表所示(詞語后面的數字是出現的次數):



      如果我們隨便寫一串數字,然后按照數位依次在形容詞、名詞和動詞中取出一個詞,連在一起會怎么樣呢?

      例如取圓周率 3.1415926,對應的詞語是:堅強,路,飛,自由,雨,埋,迷惘。


      稍微連接和潤色一下:

      • 堅強的孩子
      • 依然前行在路上
      • 張開翅膀飛向自由
      • 讓雨水埋葬他的迷惘

      是不是有點感覺了?當然,真正基于統計的學習算法比這個簡單的統計復雜得多。

      然而統計學習比較容易理解簡單的相關性:例如一個詞和另一個詞總是一起出現,兩個詞應該有關系;而無法表達復雜的相關性。

      并且統計方法的公式往往非常復雜,為了簡化計算,常常做出各種獨立性的假設,來降低公式的計算難度,然而現實生活中,具有獨立性的事件是相對較少的。


      模擬大腦的工作方式

      于是人類開始從機器的世界,反思人類的世界是怎么工作的。



      人類的腦子里面不是存儲著大量的規則,也不是記錄著大量的統計數據,而是通過神經元的觸發實現的。

      每個神經元有從其他神經元的輸入,當接收到輸入時,會產生一個輸出來刺激其他神經元。于是大量的神經元相互反應,最終形成各種輸出的結果。

      例如當人們看到美女瞳孔會放大,絕不是大腦根據身材比例進行規則判斷,也不是將人生中看過的所有的美女都統計一遍,而是神經元從視網膜觸發到大腦再回到瞳孔。

      在這個過程中,其實很難總結出每個神經元對最終的結果起到了哪些作用,反正就是起作用了。

      于是人們開始用一個數學單元模擬神經元。

      這個神經元有輸入,有輸出,輸入和輸出之間通過一個公式來表示,輸入根據重要程度不同(權重),影響著輸出。



      于是將 n 個神經元通過像一張神經網絡一樣連接在一起。n 這個數字可以很大很大,所有的神經元可以分成很多列,每一列很多個排列起來。

      每個神經元對于輸入的權重可以都不相同,從而每個神經元的公式也不相同。當人們從這張網絡中輸入一個東西的時候,希望輸出一個對人類來講正確的結果。

      例如上面的例子,輸入一個寫著 2 的圖片,輸出的列表里面第二個數字最大,其實從機器來講,它既不知道輸入的這個圖片寫的是 2,也不知道輸出的這一系列數字的意義,沒關系,人知道意義就可以了。

      正如對于神經元來說,他們既不知道視網膜看到的是美女,也不知道瞳孔放大是為了看的清楚,反正看到美女,瞳孔放大了,就可以了。

      對于任何一張神經網絡,誰也不敢保證輸入是 2,輸出一定是第二個數字最大,要保證這個結果,需要訓練和學習。

      畢竟看到美女而瞳孔放大也是人類很多年進化的結果。學習的過程就是,輸入大量的圖片,如果結果不是想要的結果,則進行調整。

      如何調整呢?就是每個神經元的每個權重都向目標進行微調,由于神經元和權重實在是太多了,所以整張網絡產生的結果很難表現出非此即彼的結果,而是向著結果微微地進步,最終能夠達到目標結果。

      當然,這些調整的策略還是非常有技巧的,需要算法的高手來仔細的調整。正如人類見到美女,瞳孔一開始沒有放大到能看清楚,于是美女跟別人跑了,下次學習的結果是瞳孔放大一點點,而不是放大鼻孔。


      沒道理但做得到

      聽起來也沒有那么有道理,但的確能做到,就是這么任性!

      神經網絡的普遍性定理是這樣說的,假設某個人給你某種復雜奇特的函數,f(x):



      不管這個函數是什么樣的,總會確保有個神經網絡能夠對任何可能的輸入 x,其值 f(x)(或者某個能夠準確的近似)是神經網絡的輸出。

      如果在函數代表著規律,也意味著這個規律無論多么奇妙,多么不能理解,都是能通過大量的神經元,通過大量權重的調整,表示出來的。


      人工智能的經濟學解釋

      這讓我想到了經濟學,于是比較容易理解了。



      我們把每個神經元當成社會中從事經濟活動的個體。于是神經網絡相當于整個經濟社會,每個神經元對于社會的輸入,都有權重的調整,做出相應的輸出。

      比如工資漲了、菜價漲了、股票跌了,我應該怎么辦、怎么花自己的錢。這里面沒有規律么?肯定有,但是具體什么規律呢?很難說清楚。

      基于專家系統的經濟屬于計劃經濟。整個經濟規律的表示不希望通過每個經濟個體的獨立決策表現出來,而是希望通過專家的高屋建瓴和遠見卓識總結出來。但專家永遠不可能知道哪個城市的哪個街道缺少一個賣甜豆腐腦的。

      于是專家說應該產多少鋼鐵、產多少饅頭,往往距離人民生活的真正需求有較大的差距,就算整個計劃書寫個幾百頁,也無法表達隱藏在人民生活中的小規律。

      -->
      手機:13711771709
      座機:020-39024760
      34995452
      shigp@zhongkerd-gz.com
      日本高清不码一区二区,91精选资源在线播放,福利一区在线视频,一级av黄片在线看
      <track id="aprvp"></track>

        <table id="aprvp"></table>

      1. <output id="aprvp"><strong id="aprvp"><small id="aprvp"></small></strong></output>