當前位置:係統粉 >   IT資訊 >   微軟資訊 >  微軟技術顧問獨家解讀微軟機器學習的相關服務

微軟技術顧問獨家解讀微軟機器學習的相關服務

時間:2017-07-23 來源:互聯網 瀏覽量:

大家好,我是劉士君,目前在中國微軟集團擔任開發者體驗與平台推廣事業部兼雲平台的技術顧問,今天我將更多的和大家分享微軟雲已有的技術,如基於微軟雲怎麼開發人工智能的應用、開發機器學習的模型等等。

微軟技術顧問獨家解讀微軟機器學習的相關服務(1)

人工智能是現在非常重要同時也是非常火爆的話題,隨著互聯網的接入,底層性能的提升,數據采集和存儲已經不成問題,基於這些海量數據我們可以做一些機器學習或者大數據分析。

微軟技術顧問獨家解讀微軟機器學習的相關服務(2)

如今不管是路演還是各種大會,人工智能都是繞不過的主題,所以在這次IT168主辦的創客沙龍活動中,我也想和大家分享知名公司在人工智能或機器學習方向已有的實踐經驗和成熟產品,希望能對大家有所幫助。

微軟技術顧問獨家解讀微軟機器學習的相關服務(3)

上圖是微軟提供的整套和大數據、數據分析相關的產品,英文名稱是MS Cortana Intelligence Suite,翻譯成中文就是Cortana智能套件,這裏麵包含了微軟雲平台上提供的數據信息管理、存儲,一般分析,高級分析,機器學習,人工智能以及最終層可視化相關的所有服務。

最底層的信息管理Data Factory,其實就是一個ETL的工具,Event Hub我們稱之為事件中心,是微軟提供的針對物聯網的信息和數據采集服務;再上一層是大數據存儲,如數據倉庫、數據湖等等;再上一層是Hadoop、Spark類似的數據分析工具;再上一層是機器學習,是微軟提供的針對數據科學家或者算法工程師快速搭建機器學習算法的PaaS平台,Azure Machine Learning;再上一層是微軟API層和人工智能相關的服務,如認知服務就是一套人工智能的API,其中包括人臉識別,語音識別,表情識別,語音分析相關的API服務。Bot Framework是現在比較火的客服機器人或者是智能客服,可以用來幫你在應用網站或者微信公眾號裏麵快速搭智能的客服機器人,並自動智能的做語音和語義的回複。而Cortana是微軟集成在Win10中的成熟的語音助理,可以幫你做一些日常管理和建議;最頂層是PowerBI服務,是數據完成存儲分析機器學習之後的可視化工具。

微軟技術顧問獨家解讀微軟機器學習的相關服務(4)

今天我們的重點是微軟的機器學習和人工智能這兩塊,也就是數據分析層。在這一層微軟提供四層服務,底層的是麵對開發者的認知服務,開箱既用,它是一套API可以直接在應用網站中調用,去做人臉識別或者是語音識別。再上一層是進一步針對例如結構化數據進行機器學習的算法建模,在機器學習平台上做算法的快速搭建。如果覺得這個平台封裝過於死板或者需要完全自定義,那麼可以在微軟提供的R Server和HDInsight實現完全基於自己需求的功能。最上麵的是微軟提供的跟深度學習相關的框架,分布式深度學習算法包CNTK,你可以基於這套算法的Python SDK或C++ SDK完成自己深度學習算法的搭建和基於GPU的分布式訓練。

微軟技術顧問獨家解讀微軟機器學習的相關服務(5)

認知服務是一套智能服務的API,相當於給你的應用或網站增加了眼耳口鼻大腦的思考和交互能力。

微軟技術顧問獨家解讀微軟機器學習的相關服務(6)

認知服務如果從具體服務來講會分為幾個層麵:

第一個視覺,它為應用提供了計算機視覺API、情感識別API、人臉識別API、視頻檢測API;

第二個是語音,它為應用提供了自定義智能語音識別服務、聲紋識別API、語音識別API;

第三個是語言,微軟是一個全球化的公司,它大部分的服務都會先出一個英文版本,第二出一個中文版本。語言理解服務就是去理解你話裏的意思,例如主謂賓,其次它還可以識別語言的類別,如這句話是中文還是日語。然後,它還會根據這句話的字麵意思去識別這句話所帶的感情色彩,是消極還是積極。針對大段文字,還可以提取關鍵字,總結中心思想。

第三個是知識,主要是針對學術方麵的搜索,你可以輸入自己需要搜索的作者或者是學術主題,他會反饋給你相應的搜索的內容,如發表文章、獲獎情況、成就等等,這些都是基於微軟的Bing搜索引擎做到的。

最後是Bing搜索引擎所有API的開放,包括文字回複,圖片,視頻,新聞等等。

表情識別API可以傳入畫麵中有單人或多人的圖片,然後通過他麵部的位置以及表情,識別出此人是高興還是難過,各種情緒的比重有多少。如果大家用過有道翻譯官這個應用,就知道那裏有一個拍照翻譯還有一個表情翻譯,其中表情翻譯就是用微軟的表情識別API做的,如果你自拍之後可以基於識別出的表情為你推薦一些有趣的英語學習資料,這是一種很有趣的英語學習方式。

微軟技術顧問獨家解讀微軟機器學習的相關服務(7)

人臉識別API,包括對五官、性別、年齡、胡子、頭發以及眼睛的識別,甚至還可以做人臉的比對,如這兩個人是否為同一人,多人分組,哪幾個人為同一類。

微軟技術顧問獨家解讀微軟機器學習的相關服務(8)

微軟人臉識別的API是全球版的,不僅針對中國人,所有人種都可以做人臉識別。我們可以看到上圖中是一個外國人,他的膚色較深,除此之外,他還有一個特征那就是這是張側顏照,微軟人臉識別API在側位60度或者45度時,仍然可以識別,然後是識別這個人的臉部和五官位置,大致會識別29個五官特征,然後從多張照片中辨別出來。

關於人臉識別比較典型的案例是Uber,美國Uber為了確保駕駛員安全,每次在登錄應用時,都要求他們先進行刷臉識別,確認使用手機的是司機本人才可以登錄到應用中,進行接單接乘客的服務,提高轎車服務司機的安全性。

微軟技術顧問獨家解讀微軟機器學習的相關服務(9)

語音服務包括語音的識別輸出、語音目的檢測,針對文字本身還有一些情感以及主謂賓的識別。

微軟技術顧問獨家解讀微軟機器學習的相關服務(10)

日常語音通常分為短模式和長模式,短模式通常小於15秒,而長模式通常是小於2分鍾。微軟語音識別除了支持這兩種語音模式,還會返回多個最佳結果(N-Best),其中這個N是可以通過API本身參數設定,且並不是一段語音結束才返回結果,而是每次斷句都會返回N個結果,也可以基於中間結果做識別和分析。

微軟技術顧問獨家解讀微軟機器學習的相關服務(11)

語音輸出除了支持多種語言還支持多種發聲,如男聲女聲以及一些特定的聲調,最長支持15秒發聲。

微軟翻譯服務支持50多種語言,你可以自己設置的翻譯的語言類型,它會為你返回一個翻譯結果。大家常用的微信翻譯有一部分是有道提供的服務,還有一部分就是微軟所提供的服務。

這一整套認知服務API可以幫助你快速在應用或網站中集成人工智能服務,增加應用的交互趣味性。

微軟技術顧問獨家解讀微軟機器學習的相關服務(12)

下麵我們來講一下跟機器學習操作相關的微軟機器學習服務,總共有三個:Azure Machine Learning Studio、Azure R Server、Azure R Service on Spark。這裏的R不是平常開源的R,而是微軟提供的商業R,所以會有許可證費用。

微軟技術顧問獨家解讀微軟機器學習的相關服務(13)

機器學習可以幫助我們在海量數據中獲得人類分析無法獲得的隱性規律,然後通過發現的規律去指導人類理解數據,所以機器學習並不是一個傳統分析或者模式識別。

微軟技術顧問獨家解讀微軟機器學習的相關服務(14)

舉個例子,機器學習經常會被用來做信用卡的七大檢測,當數據量較少時,我們可以通過分析或谘詢人員來判斷哪一類特征的人群有欺詐或可能有欺詐行為,但是如果數據量大時,分析或谘詢人員可能就無能為力了。

上圖右下角的表記錄了每個人不同的特征,通過機器學習,我們很容易就可以得出具備哪些特征的人群可能會有欺詐行為,如年齡在23歲以下的美國公民,在南美或俄羅斯進行過兩千美元以上的交易,欺詐的可能性很大。

微軟技術顧問獨家解讀微軟機器學習的相關服務(15)

傳統機器學習的工具有很多,但是它們也存在很多缺陷,如數據孤立不能共享,對數據的支持也沒有那麼充分,在部署到真正的生產環境中也會遇到一些難題。

微軟技術顧問獨家解讀微軟機器學習的相關服務(16)

相比於傳統機器學習工具,微軟提供的Machine Learning工具更加簡單易用:第一它不需要安裝任何環境,完全由微軟公有雲維護,底層的R、Python或者機器學習的算法包也會實時更新。這樣你就可以通過在線網站搭建算法,而且微軟也會提供一些打包好的機器學習基礎算法,同時也支持R和Python擴展。最後,當算法訓練完成之後,一鍵式將代碼完全轉換成部署代碼,發布API,還可以調節API的調用量。

微軟技術顧問獨家解讀微軟機器學習的相關服務(17)

上圖是Azure Machine Learn Service全過程,左邊的數據可以應用微軟或者外部的數據庫服務,然後通過內置算法或者R擴展完成整個算法的訓練和部署,最後,發布的API可以直接在應用網站或者任何服務中調用。

微軟技術顧問獨家解讀微軟機器學習的相關服務(18)

這裏提供了幾個基礎類的機器學習算法,包括回歸、分類、決策樹、決策森林等等,如果你是基於傳統機器學習算法做數據分析、訓練,那麼絕對可以滿足。另外,每個模塊都會有幾個參數是可以設置的,如迭代次數,所以你不一定要死板的使用一個算法,可以通過設置參數定製自己的算法。

微軟技術顧問獨家解讀微軟機器學習的相關服務(19)

其它的一些功能模塊包括機器學習評估、數據處理、特征選擇、其它模塊。

微軟技術顧問獨家解讀微軟機器學習的相關服務(20)

微軟和某知名品牌基於發動機預測性維護性的合作,這項合作的業務要求包括設備故障預測,故障原因診斷,故障識別,維護操作推薦。

微軟技術顧問獨家解讀微軟機器學習的相關服務(21)

雖然提出了諸多需求,但是最終目標隻有一個,那就是預測設備多久會出現故障,也就是剩餘使用時間。當時提供的數據有很多,包括故障曆史,即什麼時候出現什麼故障;維修曆史,即該機器進行過怎麼樣維修;機器狀態,即各種傳感器的數據,以及所處環境的作用等等。

我們將這些數據收集起來,繪製了上麵的表格,包括設備ID、使用時長、設備相關背景數據以及21個傳感器的實時數據,作為其訓練數據。因為這個預測是一個連續的時間,所以是回歸算法。

微軟技術顧問獨家解讀微軟機器學習的相關服務(22)

這是在這套POC裏麵使用Machine Learning Studio去搭建的算法,包括從一開始的數據導入到前期使用,不管是R或Python自定義還是已經打包好的模塊都可以進行屬性更改、滑動以及平均值的計算。在後麵采用了兩個算法,分別是決策樹回歸和加速決策樹回歸。最後將這個模塊直接部署到微軟公有雲服務器中,直接發布API,這樣你隻需要學習如何使用這個API即可。

微軟技術顧問獨家解讀微軟機器學習的相關服務(23)

上圖是預測性維護互聯網整體架構圖,左邊有一個C#做的模擬設備端,通過微軟的物聯網IOT相關服務做數據的實時收集,然後進到流式分析服務,通過SQL語句對數據進行實時的篩選和分流。微軟Event Hub中介服務,將數據輸入到Web Job ,在這裏麵它會把收集到的數據傳到調用它的API,完成數據的分析返回,把數據結果存到storage裏麵。這裏存的是設備注冊的信息,它一共做了兩步,一個是把設備注冊的信息存下來,另外一個是調用API做數據的機器學習,再存到Blog裏麵去,網站就會讀取到機器學習的結果做出實時顯示。

現在很多企業已經針對他們通過互聯網或物聯網收集到的海量數據做了簡單的機器學習和數據分析,並且快速部署到生產環境中。但是他們缺乏足夠多的算法工程師或者是數據科學家,通過MachineLearning Studio,在有基礎的數學知識或者是簡單的機器學習的數據算法之後就可以快速的把數據導進來,完成算法的搭建、部署,幫助企業解決數據分析的需求。

微軟技術顧問獨家解讀微軟機器學習的相關服務(24)

如果大家覺得Machine Learning還是太頂層化、定製能力太弱。那麼可以使用Azure R Server。

它是真正用於企業級部屬的版本,能夠幫助用戶搭建分布式的計算架構。通過右下角的圖片,我們可以看到它會配置好Web Node,在虛機裏麵配置好網絡節點和計算節點,所有的算法會分布到各個計算結點進行運算,外部結點是用來做API的模型最終的發布,然後暴露出一個API給應用調用,所有的數據配置到SQLite DB裏做存儲。如果你覺得一個計算節點不夠用,你還可以配置多個節點或者是跨多個虛機的節點。這樣整套基於R機器學習算法就完成了分布式搭建。

微軟技術顧問獨家解讀微軟機器學習的相關服務(25)

微軟收購了一家專業做商業版Hadoop的公司,其包括有Hadoop On Spark,基於Hadoop的R Server服務。微軟提供的PaaS服務可以一鍵式安裝所有底層HDMS部署,以及工作節點的部署,支持實時擴展、自動伸縮,就連上層機器學習的相關模塊也會自動安裝好。

微軟技術顧問獨家解讀微軟機器學習的相關服務(26)

最頂層微軟提供深度學習的分布式算法包CNTK,去年CNTK算法包開源了。它既可以通過基本的函數模板構建深度學習網絡,如CNN,RNN等一些現成的模板,也可以通過底層的求導去構建自己的深度學習算法。

CNTK的強大之處在於它支持多機多卡,即你可以在多個CPU上運行,甚至是在多個服務器的GPU上做分布式的運行,且性能也非常出色。除此之外,它支持跨平台在Windows、 Linux、 Docker和 Cudnn5都可以部署。

微軟技術顧問獨家解讀微軟機器學習的相關服務(27)

深度學習是今年特別火的話題,之前參加了很多人工智能公司的峰會,發現他們都在做無人駕駛、自動駕駛、零售推薦以及醫學領域的圖像識別,而這些都會使用到深度學習框架。

ImageNet圖像識別大賽是業界很重要的比賽,上圖是ImageNet大賽的經典框架。自從2012年的ImageNet 競賽上,Alexnet取得突破發展,成為第一個應用深度神經網絡的應用,其他關於DNN的更複雜的應用也陸續出現,微軟的ResNet框架也在2015年奪冠,去年中國公司在大賽上也取得了很好的名詞,所以中國在深度學習領域甚至是人工智能領域都處在比較領先的地位。

微軟技術顧問獨家解讀微軟機器學習的相關服務(28)

深度神經網絡簡單來說就是很多層的神經網絡,最底層是輸入層,中間層用來做特征轉換,最上層是輸出層,每個神經元通過聯線的方式,對上層的輸入做加權整合,然後它的輸出成為下一個神經元的輸入,通過這種連接網絡完成整個神經網絡的搭建。

微軟技術顧問獨家解讀微軟機器學習的相關服務(29)

為什麼說深度學習在圖像領域和語音識別領域前景比較好呢?那是因為它可以通過深層網絡對特征進行表達。以圖片識別為例,每一層運算之後它都會提取圖像的特征,如最底層提取圖像的線條,再上一層提取角落的結構,再上一層提取部分的特征,以貓為例,這一層提取到的可能是貓的眼睛、鼻子,再上一層是把貓的五官全部提取出來,再上一層是貓的整個身體被提取出來。通過深度學習層層提取出特征,最後基於特征去計算你的圖片是貓是狗還是其他。

微軟技術顧問獨家解讀微軟機器學習的相關服務(30)

微軟技術顧問獨家解讀微軟機器學習的相關服務(31)

現在深度學習的框架有很多,上圖列舉了一些國際上比較知名的框架,前段時間TensorFlow剛剛發布了正式版本,而CNTK比較有特色的是它支持多GPU訓練,也支持跨機。

微軟技術顧問獨家解讀微軟機器學習的相關服務(32)

這是微軟做的基於不同深度學習算法多GPU性能的比較。從中可以看出CNTK在語音識別和語音理解的相關算法中表現出色,在圖像相關算法中,CNTK雖然不是最好的,但其性能也相當不錯。

右圖中使用的是全連接網絡,GPU個數分別為1個、2個、4個和8個,從結果中我們看到GPU數量越多,CNTK的性能越突出。

微軟技術顧問獨家解讀微軟機器學習的相關服務(33)

如何通過模塊化的方式構建深度學習網絡呢?深度學習的各個部分都可以通過模塊化的標準來實現,如你可以設置是多少維度,定義每一層的參數、輸入、特征以及函數處理,甚至評價標準也可以通過模塊化的標準來定義。

微軟技術顧問獨家解讀微軟機器學習的相關服務(34)

網絡和輸入設置好之後就可以進入到訓練過程,它提供了幾乎所有常見的訓練方式,如SGD是大家都知道的做多機多卡深度網絡訓練的命令,所以我們可以獲得一個比較好的訓練性能。

以上就是我今天想要和大家分享的微軟在機器學習和人工智能領域相關的服務,希望能夠對大家在根據自己的需求進行機器學習和人工智能開發時有所幫助。

我要分享:

最新熱門遊戲

版權信息

Copyright @ 2011 係統粉 版權聲明 最新發布內容 網站導航