機器學習2016重大進展全盤點:超級計算成為主流,深度學習框架領域充滿活力

isuccess88發表於2017-04-23

機器學習2016重大進展全盤點:超級計算成為主流,深度學習框架領域充滿活力


這是機器學習和深度學習領域2016年盤點的系列文章: 第一篇介紹了該領域的重要趨勢。第二篇介紹了開源機器學習專案。第三篇介紹了業界領先的大型科技公司。

第一篇:機器學習的五方面進展對於偏見的擔憂

隨著越來越多的組織擴大了在資料分析和自動化決策等領域對機器學習技術的使用,人們對這種技術可能存在的偏見更加擔憂。2016年,有媒體報導在刑事判決過程中所用的預測模型存在種族偏見,機動車保費報價存在價格歧視,影象識別應用習得“白色”是美麗的特徵,谷歌的word2vec演算法被發現存在成見。

2016年有兩本暢銷書探討了這個問題。其一為Cathy O’Neil所著的《Weapons of Math Destruction》(數學這一毀滅性武器),該書有望獲得美國國家圖書獎。在華爾街日報的採訪中,Jo Craven McGinty將O’Neil的觀點總結為:“演算法本身不存在偏見,但開發演算法的人也許有偏見。”

第二本書由Ariel Ezrachi和Maurice Stucke撰寫,名為《Virtual Competition》(虛擬競爭),著重探討了機器學習和演算法決策導致價格歧視的原因和這裡面存在的陰謀。Burton Malkiel在他的書評中提到,這本書“呈現出作者針對網際網路世界的深入理解和優異的研究成果。博學的作者通過相關判例法,以及經濟與行為心理學領域的研究文獻證明了自己的論點。”

該領域大部分資料科學家均對自己工作成果中隱含的偏見深表擔憂。畢竟偏見本身也是一種錯誤,有偏見的演算法屬於不準確的演算法。然而僱傭這些資料科學家的組織可能無法針對偏見的檢測和糾正投入測試和驗證所需的足夠資源。更重要的是,負責業務的人員通常會誇大自家預測式模型的準確度和精確性,或者錯誤地鼓吹不恰當的應用領域。

在歐洲,GDPR(譯註:General Data Protection Regulation,通用資料保護規則)為使用機器學習技術的組織提供了激勵措施,鼓勵他們更嚴肅地對待可能存在的偏見。我們也許能在2017年聽到有關GDPR的更多訊息。

說到GDPR,從2018年開始,採用機器學習技術實現自動化決策的組織必須準備好隨時向受到決策影響的主體,以及管控機構解釋決策的由來。因此從2016年開始,就有越來越多的組織開始關注可解釋機器學習演算法的研發。

— MIT電腦科學與人工智慧實驗室公佈了神經網路研發中取得的進展,可以對預測的結果提供解釋。

— 在國際人工智慧聯合會議上,David Gunning就最新成果的可解釋性進行了總結。

— MIT在Innovation Showcase活動中選擇了機器學習領域初創公司Rulex成為入圍選手,Rulex實現了一種名為Switching Neural Networks的技術,可用於瞭解分類和迴歸規則集的可解釋性。

— 在O’Reilly Radar活動中,Marco Tulio Ribeiro、Sameer Singh以及Carlos Guestrin介紹了本地可解釋的模型無關解釋(LIME),這種技術可以對任何機器學習分類器的預測進行解釋。

— 華爾街日報也報導了Capital One開發出能解釋決策背後原因的機器學習技術所做的努力。

在Nautilus雜誌中,Aaron M. Bornstein問到:人工智慧是否會永遠這樣“神祕”下去?這方面目前存在若干問題,包括缺乏對“可解釋性”含義的明確界定。

“審查過程中的可解釋性”和“功能的可解釋性”必須明確加以區分。評估機動車時我們不會拆解出發動機和各種零件分別進行評估,只須坐進去試駕就夠了。因此某種程度上我們只能通過最終的行為結果對機器學習模型進行評估,而非分別評估其中的不同元件。

在財富雜誌九月份的一篇文章中,Roger Parloff解釋了為什麼深度學習技術會突然之間改變我們的生活。神經網路和深度學習並非新技術,最近這些技術才得以廣泛運用主要是出於三個原因:

— 運算能力便宜了,並且會更加便宜,相關討論請參閱下文有關超級計算的章節。

— 深度學習技術在“認知”應用程式,例如影象分類、語音識別,以及語言翻譯等領域取得了不錯的效果。

— 研究人員發現了設計和訓練深度學習模型的新方法。

2016年,深度學習驅動的認知應用程式領域還將達成全新里程碑:

— 微軟團隊開發了一套能像人類一樣識別談話內容的系統。該團隊曾使用卷積(Convolutional)和長短期記憶(LSTM)神經網路開發出Microsoft Cognitive Toolkit(CNTK)。

— 在Google Research部落格上,Google Brain團隊公佈了Google Neural Machine Translation System,這個基於深度學習的系統目前每天被用於處理1800萬次翻譯請求。

— TechCrunch的Ken Weiner報導了深度學習驅動的影象識別領域最新進展,以及所能產生的影響。

風險投資家正在積極投資能夠運用深度學習技術的初創公司,尤其是能通過認知解決方案在市場中脫穎而出的公司:

— Affectiva,使用深度學習技術識別數字化視訊中的面部表情,獲得了Fenox Venture Capital提供的1400萬美元D輪投資。

— Clarifai,提供深度學習驅動的影象和視訊識別服務的初創公司,得到了Menlo Ventures提供的一系列總額3000萬美元的B輪投資。

— Zebra Medical Vision,一家通過深度學習技術識別醫學影象,診斷骨骼、大腦、心血管系統、肝臟,以及肺部疾病的以色列初創公司公佈了獲得Intermountain Health提供的1200萬美元風險投資。

越來越多初創公司組成的新興生態正在通過深度學習構建自己的業務,例如:

— Deep Genomics,這家多倫多公司使用深度學習技術研究疾病、疾病的突變,以及基因療法。

— 網路安全初創公司Deep Instinct使用深度學習技術預測、阻止、檢測針對企業計算系統的威脅。

— Ditto Labs使用深度學習技術識別社交媒體所釋出圖片中包含的品牌和徽標。

— Enlitic提供了基於深度學習的病患分流、疾病篩查和臨床支援,藉此提高醫學專家的生產力。

— Gridspace提供了基於深度學習技術的談話識別系統。

— Indico提供了對社交媒體中文字和圖片進行分析的深度學習工具。

自然語言處理領域的初創公司Idibon資金耗盡並關閉,這一跡象表明深度學習技術的商業化開發也並非全都是炒作和泡沫。隨著財力雄厚的大型供應商逐漸涉足這一領域,我們將看到再DL工具市場方面出現進一步的合併。對剛進入這一領域的企業來說,專用應用程式可能是他們最大的機會,藉此他們可以針對那些眾所周知的問題提供相關領域的技能和打包式的解決方案。

為了讓深度學習變得更實用,我們需要極為強大的運算能力。2016年,硬體供應商公佈了專為機器學習和深度學習打造的,更強大的新平臺。

雖然目前主流的做法是通過GPU進行加速,但在深度學習領域,GPU與FPGA的優缺點也引發了廣泛的爭議。Anand Joshi介紹了FPGA所面臨的挑戰。The Next Platform的Nicole Hemsoth介紹了同時利用兩種方式進行加速的混合做法所蘊含的潛力。2016年,微軟也公佈了將會使用Altera FPGA,而百度稱自己更傾向於選擇標準化的Xilinx FPGA。

2016年的NVIDIA猶如一頭猛獸,過去的一年裡市值翻了三倍。該公司釋出了DGX-1,一款面向深度學習的超級計算機。DGX-1包含八顆Tesla P100 GPU,每顆的運算速度均比NVIDIA之前的評測基準快12倍。只須12.9萬美元即可獲得能與裝備有250顆CPU的伺服器相等程度的運算能力。

NVIDIA還發布了深度學習SDK,其中包含有關深度學習的基元、數學庫、多GPU通訊工具、CUDA工具包和DIGITS,以及一個模型訓練系統。該系統可支援主流的深度學習框架,如Caffe、CNTK、TensorFlow以及Theano。

DGX-1的早期使用者包括BenevolentAI、PartnersHealthCare、阿貢和橡樹嶺實驗室、紐約大學、史丹佛大學、多倫多大學、SAP、Fidelity Labs、百度,以及瑞士國家超算中心。Nicole Hemsoth介紹了NVIDIA通過深度學習超級計算機為癌症研究所提供的支援。

克雷也釋出了Urika-GX,這是一種預裝Hortonworks Data Platform、Cray Graph Engine、OpenStack管理工具,以及Apache Mesos的超級計算裝置,可搭載Intel Xeon Broadwell處理器、22TB記憶體、35TB本地SSD儲存,以及克雷的高效能網路互聯介面。克雷在第三季度可交付單機架16、32或48節點的配置,預計2017年將能交付更大規模的配置。

Wired有關谷歌深度學習晶片的頭條報導:英特爾該驚慌失措了看起來很有先見之明。英特爾收購了僅成立28個月的深度學習軟硬體解決方案初創公司Nervana Systems,根據Re/code的報導,收購價格高達4.08億美元。技術媒體按照慣例釋出的有關“獨角獸”的報告自然蜂擁而至。

此外英特爾還收購了Movidius,這家公司將深度學習晶片裝入了儲存卡中。

機器學習的用例與雲平臺密不可分。工作負載具備即席性,面向具體專案,模型的訓練需要在短時間內投入大量運算能力。負責得出推論的工作負載則體現出截然不同的模式,也正是因為如此這般的原因,負責訓練和推論的工作負載應該分別選擇最適合的平臺。

在年初發布了沒人願意使用的深度學習專案DSSTNE作為煙霧彈後,AWS宣佈將通過MXNet實現深度學習的標準化。此外AWS還新發布了三款託管式機器學習服務:

— 用於影象識別的Rekognition

— 用於文字到語音轉換的Polly

— 對話聊天機器人開發平臺Lex

2014年,AWS成為市面上首家提供GPU加速雲服務的雲平臺。2016年,AWS提供了最多包含16顆Tesla K8- GPU的P2例項。

通過在2015年以CNTK的形式釋出,微軟將自己的深度學習框架更名為Microsoft Cognitive Toolkit,併發布了2.0版,其中新增了Python API以及諸多其他改進。該公司還通過Azure釋出了22種認知API,涵蓋視覺、語音、語言、知識,以及搜尋。此外微軟還發布了適用於Azure HDInsight的Spark託管服務,並繼續對Azure機器學習服務進行著完善。

微軟還發布了Azure N系列計算例項,該系列由NVIDIA GPU驅動,並已於12月正式上市。

Azure是微軟高階分析整體戰略中的一環,具體內容我們還將在第三篇中介紹。

谷歌於二月釋出了TensorFlow Serving,根據Noah Fiedel在Google Research Blog上的解釋,這是一種開源的推論引擎,可用於處理訓練後模型的部署並可對整個生命週期進行管理。

谷歌於春末釋出了自行構建的專有深度學習晶片Tensor Processing Unit(TPU)。高效能運算領域專家Karl Freund在福布斯雜誌上對谷歌的公告進行了解讀。Freund認為TPU主要會被用於推論,而非模型的訓練,換句話說,它取代的是CPU而非GPU。

為了推動Google Cloud Machine Learning繼續發展,谷歌於10月組建了一個專門的團隊,並宣佈了有關該服務的一系列改進:

— Google Cloud Jobs API為企業提供了查詢、匹配求職者,提供工作建議的能力,目前處於有限Alpha預覽階段。

— Cloud Vision API已能執行於谷歌自己的Tensor Processing Unit,價格降低了80%。

— Cloud Translation API將釋出標準版和高階版兩個版本。

— Cloud Natural Language API已完工並可正式上市。

2017年,Google Compute Engine和Google Cloud Machine Learning將可使用GPU加速例項,詳見這裡。

2016年,IBM對假新聞的湧現做出了巨大貢獻。

6月的Spark Summit活動中,IBM大張旗鼓地公佈了一款名為IBM Data Science Experience的服務。但很多老練的觀察家發現這則訊息讓人費解,他們的媒體通稿中描述了一種適用於Apache Spark,使用Jupyter IDE的託管服務,但當時IBM已經有適用於Apache Spark且使用了Jupyter IDE的託管服務了。

11月,IBM低調地釋出了另一個服務,並且沒有提供新聞通稿,這也完全可以理解,畢竟沒什麼值得炫耀的。果不其然,這又是一個使用Jupyter IDE的Spark服務,但同時又包含了R服務和Rstudio,以及一些倉促寫就的“社群”文件和“精心策劃”的資料來源,據稱已經可以在數百個地區免費使用了。真了不起。

IBM在機器學習方面還有其他重大舉措,該公司重新發布了原有的SPSS服務,只不過這次改名為Watson Machine Learning。分析師們紛紛為這個服務鼓掌喝彩,但是竟然沒人真正登入上去看看他們釋出的到底是啥。

當然,IBM稱對於該服務的完善他們制訂了巨集偉的計劃。IBM能有計劃還真是棒。我們每個人都渴望更大規模,更好的產品,但是也要注意,儘管IBM非常善於“重塑”被人開發出來的成果,但該公司在歷史上還從未開發出任何一款在商業上獲得成功的高階分析軟體產品。

IBM Cloud是IBM巨集偉戰略的組成部分,所以我打算在第三篇中詳細談一談。第二篇:開源專案的發展

目前市場上有上千種開源專案,本文無法一一涉及。我們會通過對資料科學家進行的調查結果,以及OpenHub公佈的開發活躍度,根據使用率選擇最主要的專案來介紹。本文僅介紹非盈利機構提供的,以及雖然獲得了商業投資,但並不提供軟體許可的專案。

R和Python依然是開放式資料科學領域最主要的工具。Python與R之間的爭議雖然還在繼續,但也在不斷達成新的共識,因此資料科學家可能需要考慮同時學習這兩者。R在統計庫方面更有優勢,所提供的機器學習技術在配合小規模資料使用時更為靈活。Python更適合於應用程式的開發,並且Python的開源許可對商業化應用程式開發工作的限制更少。

毫無疑問,深度學習框架領域充滿了活力,TensorFlow、Microsoft Cognitive以及MXNet遠遠領先於Caffe和Torch等更加成熟的產品。值得注意的是,2014年釋出的深度學習工具現在看來已經顯得老邁了。

2016年,R使用者社群還在擴張。R在O’Reilly 2016年度資料科學家薪資調查中僅次於SQL位居第二,在KDNuggets投票中位居第一,在Rexer調查中也居首位。R在IEEE Spectrum評價中位居第五。

R的功能也在飛速增加。4月,微軟的Andrie de Vries稱作為R的最主要程式包倉庫,CRAN中已包含超過8,000個程式包。到12月中旬,程式包總數已達到9,737個。CRAN中機器學習程式包的數量和功能均在顯著增長。

Linux基金會的合作專案:R Consortium在2016年也取得了一些進展。隨著IBM和ESRI的加入,該專案的成員現已包括Alteryx、Avant、DataCamp、谷歌、Ketchum Trading、Mango Solutions、微軟、Oracle、Rstudio,以及TIBCO。目前共有三個工作組和八個已獲注資的專案。

Hadley Wickham今年過得不錯。作為R專案最主要的貢獻者之一,Wickham與人合著了《R for Data Science》並於9月釋出了tidyverse 1.0.0。在The tidy tools manifesto中,Wickham介紹了tidy API的四大基本原則。

《Applied Predictive Modeling》一書的作者兼機器學習caret程式包的開發者Max Kuhn於11月加入了Rstudio。Rstudio還曾從微軟挖角聘請了Joseph Rickert。

AT&T Labs用R完成了一些讓人印象深刻的成果,包括使用Hadoop和其他資料平臺為堆外(Out-of-core)處理開發的分散式後端。在UseR!大會上,Simon Urbanek進行了簡單的總結。

今年在R領域進行的各種有趣分析無法一一列舉。David Robinson對唐納德·川普推文的分析令很多人產生了共鳴,通過使用tidyverse、tidytext和twitteR,Robinson已經能夠區分推文內容到底是川普自己釋出的,還是手下員工用他的賬號釋出的。

在Revolutions部落格上,微軟的David Smith調查了R社群內女性角色的增長。

在2016年度 KDNuggets投票中,被調查的資料科學家中46%稱自己在過去12個月裡曾將Python用於分析、資料探勘、資料科學,或機器學習專案。而這一比例在2015年為**30%,當時僅次於R。在2016年度O’Reilly資料科學家薪資調查中,Python位居第三,僅次於SQL和R。

Python軟體基金會(PSF)擴大了資助的範圍和金額。PSF為全球推廣Python教育和培訓的組織提供了大量小額資助,併為Python in Education網站設計、改程式序包生態(見下文)、Python 3.6 Beta 1釋出、重要的Python會議等專案提供了大額資助。

Python Packaging Authority釋出了Warehouse專案,並以此取代原有的Python Packaging Index(PyPI)。該專案的目標包括更新視覺識別系統、提高程式包的可發現性,以及改進對程式包使用者和維護者的支援。

PSF在12月釋出了Python 3.6.0和Python 2.7.13。Scikit-learn團隊釋出的0.18版本中包含大量改進和Bug修復,在這之後很快他們還發布了維護髮布版本的0.18.1。

機器學習領域很多重要的Python開發者均通過Python API的形式對外提供程式包,例如Spark、TensorFlow、H2O以及Theano。下文將分別進行介紹。

Continuum Analytics預計今年將針對Python提供商業支援,並提供商業性的軟體許可擴充套件,這些將在第三篇文章中介紹。

具備機器學習能力的Apache專案共有十個。當然其中Spark的使用者數、活躍貢獻者人數、提交數,以及增加的程式碼行數最多。在開發活躍度方面Flink緊隨其後位居第二,不過大部分Flink粉絲最關注的是其基於事件的流功能,而非機器學習能力。

具備機器學習能力的頂級Apache專案共有四個:Spark、Flink、Mahout,以及OpenNLP。Apache Spark

Spark團隊提供了主要發行版Spark 2.0以及六個維護版本。這些版本中有關Spark機器學習能力的重要改進包括通過DataFrames API、PySpark和SparkR提供的更多演算法,以及儲存和載入機器學習模型與管道的能力。基於DataFrames的API現已成為Spark中主要的機器學習介面,不過該團隊還將繼續支援基於RDD的API。

Spark的圖形引擎GraphX沒什麼變化。Spark 2.0包含了對Spark的SQL以及流能力的很多其他改進。

2016年,第三方為Spark Packages增加了24個機器學習程式包。

Spark使用者社群還在繼續擴張。Databricks報告稱Spark Summit與會者人數增加了30%,Spark Meetup成員數增加了240%。Databricks的年度使用者報告稱在生產環境中使用Spark機器學習庫的受訪者人數增加了18%,而2015年這一比例為13%。2016年度 KDNuggets投票中接受調查的資料科學家中有22%稱他們在使用Spark,2016年度O’Reilly資料科學家薪資調查稱,21%的受訪者在使用Spark。

從Databricks的調查中還可以發現,61%的使用者在公有云中使用Spark,這一比例在2015年為51%。截止2016年12月,各大主要公有云供應商(AWS、微軟、IBM、谷歌)均提供了Spark服務,此外還有Databricks、Qubole、Altiscale,以及Domino Data為資料科學家提供的增值託管式服務。Apache Flink

dataArtisans的Mike Winters回顧了Flink在2016年取得的成就,但並未使用“機器學習”這個詞。這是因為Flink的機器學習庫依然非常有限,很明顯,Flick最吸引使用者的依然是流執行時。

雖然使用預測模型對資料流進行評分已經出現不少用例,但現實世界中很少有通過資料流對預測模型進行訓練的用例。機器學習模型只有在使用者量大到一定程度後才會顯得有用,但只有當建立資料的過程處於穩定狀態後才可能獲得更多使用者。如果某個過程已經處於穩定狀態,到底是使用一批靜態資料或使用流式資料進行訓練將顯得無關緊要,此時歸於同一數學領域的最新事件將成為“上一條”事件。如果最新事件導致模型產生較大改動,那麼這樣的過程並不算處於穩定狀態,因而我們無法依賴這樣的模型對未來事件進行預測。

Flink目前尚不支援匯入PMML模型,而這樣一個相對簡單的改進將使得使用者能夠使用其他地方建立的模型通過流式資料進行預測。目前大部分流引擎均已支援這樣的能力。

有些用例中Flink基於事件的流更勝過Spark的微批。然而對我來說,大部分情況下面對所要解決的問題,Flink都是一個優雅的解決方案。Apache Mahout

Mahout團隊釋出了四個Double-dot版本。重要改進包括Samsara數學環境以及支援使用Flink作為後端。大部分單機和MapReduce演算法已被棄用,僅剩針對Spark、H2O和Flink提供的矩陣運算庫。Apache OpenNLP

OpenNLP是一種處理自然語言文字的機器學習工具包。該工具還沒死,只不過正在休眠。孵化器專案

2016年,有兩個機器學習專案進入了Apache孵化器,目前尚未“畢業”,因而截止年底孵化器中還留有六個進行中的專案:SystemML、PredictionIO、MADLib、SINGA、Hivemall,以及SAMOA。SystemML和Hivemall是最有希望在2017年“結業”的選手。機器學習專案

本節將介紹能支援各類演算法,如分類、迴歸、聚類以及關聯的常規用途機器學習平臺。根據使用量和開發活躍度,下文將涉及H2O、XGBoost以及Weka。

還有另外三個專案值得一提,它們提供了圖形使用者介面,因而對業務使用者更有吸引力。KNIME和RapidMiner除了提供商業許可版本,還提供了開源版軟體;我們會在這一系列文章的第三篇進行介紹。Orange是源自斯洛維尼亞盧布林雅那大學生物資訊學實驗室、計算機與資訊科學學院的一個專案。

Vowpal Wabbit尤為值得一提。Kaggleists以快速高效的學習演算法而知名,VW目前的使用者體量太小,無法實現全面的覆蓋。該專案目前已被併入微軟研究院,很期待看到微軟能通過該專案發展出什麼有趣的東西。H2O

H2O是商業化風投公司H2O.ai的開源機器學習專案(我們將在第三篇介紹H2O.ai的業務成果)。

2016年,H2O團隊更新了Sparkling Water,藉此改善與Spark 2.0的相容性。Sparkling Water可以幫助資料科學家將Spark的資料攝入和ETL能力與H2O機器學習演算法結合在一起。該團隊還發布了首版Steam,該元件可支援大規模模型管理和部署,此外還發布了用於深度學習的Deep Water預覽版。

2017年,H2O.ai計劃提供自動化機器學習能力,併發布生產用版本的Deep Water,屆時將支援TensorFlow、MXNet以及Caffe作為後端。

根據H2O.ai的介紹,H2O的使用者數量在2016年增加了超過一倍。XGBoost

華盛頓大學分散式機器學習平臺(DMLC)下的XGBoost專案是一種優化的分散式梯度提升庫,主要被對縮放能力和精確度有極高要求的頂尖資料科學家所使用。2016年上半年,Tianqi Chen和Carlos Guestrin釋出了論文介紹了該演算法。機器學習領域初創公司DataRobot和Dataiku在2016年將XGBoost加入了自己的平臺。Weka

Weka是一系列由Java編寫的機器學習演算法,由紐西蘭懷卡託大學開發,通過GPU許可釋出。Pentaho和RapidMiner在自己的商業化產品中包含了該軟體。

本篇談及Weka是因為該技術依然被少數重量級資料科學家使用著,在Kdnuggets的年度投票中,11%被調查者稱他們在使用該軟體,然而統計發現過去幾年來,該軟體的使用者數正在飛速減少,開發工作也幾乎停擺,也許該專案如其名稱一般,將步那隻不能飛翔的鳥類後塵。深度學習框架

本節主要介紹深度學習方面的軟體。很多常規用途的機器學習程式包也支援深度學習,本節主要介紹專門為深度學習開發的程式包。

在2015年底面世後,谷歌的TensorFlow和微軟的Cognitive Toolkit從零開始一舉躍升為該領域的領軍產品。雖然在亞馬遜和其他廠商的支援下,MXNet也取得了強勁的增長,但Theano和Keras主要活躍在Python的世界中。與此同時,其他更老也更成熟的框架,例如Caffe、DL4J和Torch已逐漸被後浪拍死在沙灘上。

有錢能使鬼推磨,商業化支援很重要。得到谷歌、微軟、亞馬遜支援的專案無疑能在2017年取得更大的進展。TensorFlow

無論從使用者數量或開發活躍度來看,TensorFlow都是領先的深度學習框架。谷歌在2015年釋出的這一深度學習平臺以創紀錄的速度從默默無聞發展為領軍產品。

四月,谷歌釋出了TensorFlow 0.8,該版本開始支援分散式處理。開發團隊在2016年還發布了另外四個版本。

同樣是在四月,谷歌的人工智慧研究部門DeepMind宣佈計劃從Torch切換至TensorFlow。

谷歌於九月在TensorFlow中釋出了自己的首個影象字幕模型。Google Brain團隊稱該模型在ImageNet 2012評測中準確識別出94%的影象。

12月,Constellation Research評選了TensorFlow獲得企業軟體領域2016年度創新獎,並讚賞了該技術在谷歌服務中的廣泛運用和強有力的開發者社群。Microsoft Cognitive Toolkit

2016年,微軟將自己的深度學習框架更名為Microsoft Cognitive Toolkit(MCT),併發布了2.0 Beta版,根據VentureBeat的Jordan Novet報導,新版本支援全新Python API幷包含大量其他改進。

在12月初舉行的神經資訊處理系統(NIPS)大會上,Cray宣佈已在包含超過1,000個NVIDIA Tesla P100 GPU加速器的Cray XC50超級計算機上成功執行了MCT。

此外微軟和NVIDIA也宣佈將通過合作支援在Azure或使用者本地環境的Tesla GPU上執行MCT,並將支援在使用Pascal GPU的NVIDIA DGX-1超級計算機上執行。Theano

Theano是蒙特利爾大學Montreal Institute for Learning Algorithms旗下的專案,這是一種適用於計算密集型科學調查的Python庫。該專案可供使用者使用多維陣列有效地定義、優化、評估數學表示式(參見這裡)。與CNTK和TensorFlow類似,Theano已成為神經網路的代表性符號。

該團隊於3月釋出了Theano 0.8,該版本為多種GPU提供了支援。2016年還發布了另外兩個Double-dot版本,增加了對CuDNN v.5的支援並修復了多個Bug。MXNet

MXNet是一種可縮放的深度學習庫,也是華盛頓大學分散式機器學習平臺(DMLC)下的另一個專案。該產品可執行於CPU、GPU、群集、桌面,以及手機上,可支援Python、R、Scala、Julia、Matlab以及Javascript API。

對MXNet來說,2016年的第一大新聞是被Amazon Web Services 選用。Craig Matsumoto對此有報導,Serdar Yegulalp對此進行了介紹,Eric David進行了深入解讀,Martin Heller給出了評論。Keras

Keras是一種執行在TensorFlow或Theano之上的高階神經網路庫。該專案最初由谷歌的Francois Chollet建立,2016年Keras有超過200個活躍的貢獻者。

在赫芬頓郵報中,Chollet介紹了Keras與其他深度學習框架的不同之處。簡單來說:Keras可以將深度學習架構從計算後端中抽象出來,因此可以輕鬆地從Theano移植到TensorFlow。DL4J

本節內容根據Skymind CEO Chris Nicholson的評論有所更新。

Deeplearning4j(DL4J)是商業風投公司Skymind的專案。這是一種開源的分散式深度學習庫,使用Java和Scala編寫。通過與Hadoop和Spark的整合,DL4J可執行在分散式GPU和CPU上。Skymind的評測結果遠遠勝過Caffe、TensorFlow和Torch。

雖然亞馬遜、谷歌和微軟都在自己的雲平臺上推廣深度學習技術,Skymind的目標是將深度學習技術帶到標準企業架構中,為希望在本地訓練模型的企業提供幫助。對此我將信將疑,但這無疑是一種可靠的戰略。Skymind在9月接受了一大筆種子輪投資,應該足夠他們撐過這段時間了。對於在Xeon伺服器上執行的深度學習框架,英特爾肯定是喜聞樂見的,也許這也是一種可能的出路。

Skymind提出將使用Keras作為Python API,這樣他們的專案才能更容易被資料科學家使用。Caffe

Caffe是Berkeley Vision and Learning Center(BVLC)的一個專案,這是一種以開源BSD許可方式釋出的深度學習框架。以BVLC在視覺和影象識別領域的成果為基礎,Caffe的核心優勢在於能夠對卷積神經網路(CNN)建模。Caffe使用C++編寫,使用者可通過Python API或命令列介面與Caffe互動。Caffe中訓練的深度學習模型可通過編譯在大部分裝置,包括Windows上執行。

但是Caffe在2016年似乎沒搞出什麼大新聞。第三篇:機器學習的公司狀態

本部分將介紹大型科技公司在機器學習和深度學習領域的舉措,這些行業領軍公司在軟體開發和市場營銷方面往往有更充沛的預算。本文要介紹的大型公司包括:

—SAS,分析預測技術領域軟體收入最高的企業,具備一種獨一無二,自成一派的業務模式。

— 諸如IBM、微軟、Oracle、SAP以及Teradata等公司,在資料倉儲市場上佔據優勢地位,除Teradata之外其他幾家公司均提供了獲得廣泛應用的商業智慧軟體。這些公司具備為現有客戶群開發、營銷,以及交叉銷售各類機器學習軟體所需的財務優勢,只要願意,就能在市場中產生極大的反響。

—戴爾和HPE作為高階分析市場的新手,已在2016年黯然退場。

第一篇曾介紹過谷歌和Amazon Web Services。雖然這兩家公司目前在業務分析領域尚無太大建樹,但正在向著這個方向發力。為了涉足這個市場,谷歌今年已經設立了Google Cloud Machine Learning這一獨立產品組,亞馬遜也已提供了一個名為QuickSight的業務分析服務。

熟悉我的讀者都知道,我更喜歡開源軟體,大部分資料科學家也是如此。在本篇將要介紹的諸多公司中,IBM和微軟已經對開源模式做出了大量承諾,包括直接向開源軟體專案提交貢獻。這樣的舉措值得鼓勵。Teradata開始對Presto SQL進行投入,這一行為值得為之鼓掌。Oracle和SAP在自己的解決方案中使用了開源軟體,但並未作出太大貢獻。SAS擁抱開源的姿態總給人造成一種“視死如歸”的感覺。

根據IDC調查,在高階和預測式分析軟體市場中,SAS的軟體許可收入居於首位。該公司有一大批統計學、精算師、生命科學家,以及其他在工作中需要嚴重依賴統計分析結果的使用者。

乍看起來,SAS正在極力從基於伺服器的計算軟體供應商向著最新的分散式架構和雲端計算時代轉型。過去十年來,為改善自家產品的效能和縮放性,該公司公佈了多項舉措,但結果有好有壞。4月,SAS公佈了Viya,這是該公司第三次企圖為分散式MPP架構提供高階分析軟體。

SAS Viya是什麼?與SAS以往提供的高效能軟體有何不同?宣傳冊裡有介紹:

雲就緒,彈性,可縮放

SAS Viya的開發充分考慮到私有和公有云環境的彈性和可縮放性。記憶體中分析運算已針對更自由的環境進行優化,但也可通過調整融入受到各種限制的環境中。彈性處理能力可自動適應不同需求和可用資源的數量,並可按需對計算容量進行擴大或縮小。彈性縮放能力使得使用者能夠快速針對不同使用場景進行實驗,並對更大數量的流資料應用更復雜的方法。

嗯,任何軟體都是“雲就緒”的,就好像無論在本地或雲中執行,Linux例項始終就Linux例項。當然在將任何軟體部署到虛擬裝置,例如Amazon Machine Image中之後,任何軟體都將具備彈性,SAS 9.4也不例外。雖然SAS在2014年將其稱之為“雲就緒”,但就算更老版本的SAS也可以部署在AWS中,儘管SAS並不為其提供官方支援。

然而如果你想構建這樣的軟體例項,還必須具備軟體許可。對於Python、R或Spark這樣的開源軟體來說,許可完全不是一個問題,想搭建幾個例項都行,完全不需要擔心是否會違反許可協議。商業化軟體就複雜多了,必須為想要執行的例項支付許可費用。一些供應商,例如HPE和Teradata曾經嘗試通過自己的雲平臺與Amazon Web Services進行競爭,並最終悲慘地失敗了。其他一些廠商,例如Oracle則選擇與AWS合作在雲平臺提供自己的軟體,例如使用捆綁的託管式服務,或選擇“自帶許可(Bring Your Own License,BYOL)”模式。

換句話說,如果沒有靈活的許可模式,就無法用商業化軟體獲得彈性計算能力。但靈活的許可模式會對SAS這樣的供應商造成一個問題:如果客戶只為自己使用的東西付費,毫無疑問他們最終支付的費用會遠遠少於常規許可方式的費用。這是因為大部分商業化軟體的客戶實際上是過度許可的:會為大量自己根本沒有使用的軟體付費。整個軟體行業在本地部署軟體許可費用的收入減少幅度遠大於從雲訂閱中所獲得收入的增速。雲環境真正實現了“付出更少,做的更多”。

底線是:除非Viya提供更靈活的定價模式,否則沒人會關心它的“雲就緒,彈性,可縮放”。

如果想找點樂子,下次當你的SAS客戶代表鼓吹Viya的彈性時,不妨問問對方這軟體每使用一小時,軟體許可需要花多少錢,然後欣賞一下對方糾結的表情吧。

在接受福布斯的採訪時,SAS CEO Jim Goodnight提到了Viya的優勢:

我們已經面向大資料做好了準備…(我們)剛剛釋出了全新架構Viya的第一個版本,主要面向大規模平行計算領域,可將資料分散到數十臺伺服器上,隨後使用這些伺服器的所有處理器核心並行處理資料。也許同一時間可以並行通過500個核心處理這些資料,這種能力使得我們的產品可以應對某些非常非常大規模,以前根本無法解決的問題,例如邏輯迴歸。

也許有人可以為G博士提供更充分的論據。順便要提一下,在大規模並行(MPP)環境中執行的商業化邏輯迴歸軟體早在1989年就已問世。目前有很多軟體包提供了分散式邏輯迴歸功能,包括SAS五年前釋出的軟體包。

在高效能分析領域,Viya也許會比SAS的前幾次突破實現更好的效果。然而他們所面臨的障礙本身也不大,SAS迫切需要證明他們高成本專有分散式框架比Apache Spark更優秀,而Spark正在快速成為企業大資料平臺的新標準。

雖然SAS的多個產品均支援機器學習技術,但缺乏深度學習能力。SAS營銷團隊針對深度學習製作了一些有用的內容,但仔細看看這些內容你會發現,根本沒有什麼能真正提供深度學習能力的產品。沒錯,我知道SAS Enterprise Miner支援多層感知器(Multilayer perceptron),但SAS不支援GPU、Xeon Phi、Intel Nervana,或任何其他能夠讓你不用等到老就能完成深度神經網路訓練任務的高效能架構。

如果你認為用一臺伺服器執行一款18歲高齡的產品就足以勝任你的深度學習專案,那你說的一定是SAS。然而要注意,NVIDIA的DGX-1,這款藉助GPU加速的深度學習硬體裝置具備250臺傳統伺服器運算能力的強大效能,這是有原因的:你真的需要這麼強大的運算能力。

SAS的其他業務似乎發展的挺順利。龐大的現有客戶群所產生的續訂、升級,以及超售行為可以讓他們在2016年實現比較低的個位數收入增長率,考慮到IBM、Oracle,以及Teradata的業務下滑,這樣的成績不算很差。

根據IDC最新的全球軟體市場份額報告,本節介紹的五家公司在業務分析軟體方面每年至少賺到十億美元銷售額。然而他們的大部分收入來自資料倉儲和商業智慧軟體,其實都沿襲了SAS在預測分析領域的收入模式。

然而“軟體許可收入”是一種容易造成誤導的指標,因為現在開源軟體的應用越來越普遍。例如IBM、微軟,以及Oracle都在大量使用開源的機器學習軟體對自家的資料倉儲和商業智慧平臺進行擴充套件,而這些領域都是他們的強項。IBM使用Spark作為自己眾多產品的基礎。微軟也已將R整合在SQL Server和PowerBI中,並積極地向自己的企業客戶推廣R。Oracle也採取了類似做法。

與SAS不同,日漸衰弱的科技巨頭IBM從未給自家的旗艦級高階分析軟體SPSS開發過任何專有的分散式框架。相反,這家公司選擇使用資料庫內引擎(DB2、Netezza和Oracle)以及開源框架(MapReduce和Spark)。

IBM對Apache Spark有貢獻,並將其用在自己的很多產品中,此外還對Apache SystemML有貢獻。IBM Research開發了SystemML的核心,並在2015年將其捐獻給Apache。IBM還通過各種教育和培訓對Spark社群做出了大量貢獻。

2016年,IBM依然以2007年收購而來的SPSS Statistics和SPSS Modeler為主要營銷目標。SPSS Modeler的Release 18版本於3月釋出,包含諸多改進,例如為DB2提供了對機器學習的支援,以及在BigInsights中提供了針對IBM General Parallel File System(GPFS)的支援。然而沒幾個資料科學家關心這些,貌似只有150多個企業的CIO依然篤信沒人會因為買了IBM的產品而被炒魷魚。

第一篇文章曾經提過,IBM的機器學習產品正在逐漸遷入IBM的雲平臺,用莎士比亞的名言代表我的想法吧:無事生非(Much Ado About Nothing)。

微軟今年在機器學習和深度學習領域收穫不錯。正如在第一和第二篇文章中提到的,2016年,微軟通過Azure釋出了一系列涵蓋視覺、語音、知識,以及搜尋的認知API,並通過Azure HDInsight提供了Spark託管服務,同時還完善了Azure機器學習,並以Microsoft Cognitive Toolkit為名釋出了2.0版深度學習框架。

這才只是開始。

1月,微軟釋出了Microsoft R Server,該產品源自微軟2015年收購的Revolution Analytics。Microsoft R Server包含一套增強的R發行版,一個可縮放的後端,以及其他整合工具。這一年裡,微軟釋出了R Server的兩個重大版本,第8版中增加了與Spark的Push-down整合,第9版更新了適用於Spark 2.0的Spark整合,並增加了MicrosoftML,這是一個適用於機器學習的新版R軟體包。

微軟3月釋出的SQL Server 2016內含SQL Server R Services。在Revolutions部落格上,David Smith報導了此次釋出的新版,同時Tomaž Kaštrun解釋了SQL Server中的R服務所能實現的用途。

11月,經過進一步預覽後,微軟正式釋出了適用於Azure HDInsight的R Server,這是一種專門針對HDInsight打造的,可橫向縮放,能與Spark群集整合的R。

微軟還為Azure提供了一個Linux版本的Data Science Virtual Machine(DSVM)。這種針對資料科學家提供的虛擬機器以前只能執行Windows例項,DSVM內含Revolution R Open、Anaconda、Visual Studio Community Edition、PowerBI Desktop、SQL Server Express以及Azure SDK。

PowerBI是一套功能強大的微軟資料視覺化工具,該工具於8月開始支援R。ComputerWorld的R使用者Sharon Machlis對此感到極為激動。此外Revolutions部落格對此也進行了介紹。

R Tools for Visual Studio在3月釋出了公開預覽版,並於9月正式釋出。同樣在9月,微軟還發布了Microsoft R客戶端,這是一款免費的資料科學家工具,可配合Microsoft R Open和ScaleR分散式後端執行。

微軟資料科學家Gopi Krishna Kumar、Hang Zhang以及Jacob Spoelstra聯手開發了一種適用於資料科學家的方法論,並在9月舉行的2016年度微軟機器學習和資料科學峰會中進行了介紹。David Smith對此有報導。發明者們將該方法稱之為Team Data Science Process,提供了一種可使用諸如Git等系統管理專案內容的標準化目錄結構,此外還包含為整個過程提供支援的開源工具。

除此之外,雷德蒙特這一年在其他方面都較為平淡。

對於嚴重依賴Oracle產品的使用者,Oracle提供了一系列極為強大的機器學習工具,包括:

— Oracle Data Mining(ODM),一種可作為原生SQL函式在Oracle Database中執行的機器學習演算法套件。

— Oracle Data Miner,適用於ODM的客戶端應用程式,並提供了適用於業務使用者的介面。

— Oracle R Distribution(ORD),一個增強的免費R發行版。

— Oracle R Enterprise(ORE),Oracle R Distribution程式包,提供了將R與Oracle Database整合的工具。

— Oracle R Advanced Analytics for Hadoop(ORAAH),一系列包含原生演算法和Spark介面的R binding。

Oracle宣稱ORAAH的原生演算法比Spark速度更快,但ORAAH只有兩種演算法,所以也沒人會在乎。Oracle有一家合作的OEM廠商Cloudera,因此這個版本的Spark至少也算是一個比較重要的版本。

除了上文列出的這些產品,Oracle在2016年貌似也沒別的什麼重大產品釋出。

SAP釋出了新版的預測式分析產品,並將其更名為SAP Business Objects Predictive Analytics 3.0。該產品包含兩套相互獨立的自動化功能,一套名為Predictive Factory,另一套名為HANA Automated Predictive Library。Predictive Factory與SAS Factory Miner類似,是一種指令碼工具,可以幫助資料科學家建立模型管道,並對其執行進行排程,但該工具無法對資料科學流程本身實現自動化。HANA Automated Predictive Library是一系列可包含在SQL指令碼中的函式呼叫。

HANA Automated Predictive Library是一系列可包含在SQL指令碼中的函式呼叫,但該產品可能只適合SAP HANA的狂熱使用者,並不適合其他人。

SAP在2014年收購了KXEN以及該公司旗下的InfiniteInsight軟體。根據Gartner的調查,該公司的客戶滿意度已跌至谷底,SAP也已落後於所有其他高階分析產品供應商。以前的InfiniteInsight使用者開始產生兩個陣營:(a)IT部門已經開始大量投資SAP產品的使用者,以及(b)其他所有使用者。前者似乎對這些軟體的依賴性很強,而SAP已經開始將其整合於自家產品中;後者則在爭先恐後地逃離。

日漸衰敗的資料倉儲供應商Teradata認為自己可以提供極為強大的分析能力。實際上,該公司的大部分收入來自資料倉儲業務,在這個領域,諸如Gartner等分析師給出了較高的評價。

也許可以說Teradata在整個棧的底層有著居高臨下的地位。

Teradata的高管們(如果可以這樣稱呼他們的話)徹底忽視了Hadoop和雲端計算的影響力。相反,他們篤定地認為Teradata這個品牌是IT高管們的摯愛,使用者還會大批大批地購買他們的裝置。這種狹隘的世界觀導致該公司現在的市值已縮水至五年前的三分之一。他們的產品銷量已經連續十季度下滑,並連著七個季度遭遇兩位數的下滑。

經歷了低靡的一季度後,Teradata的董事會炒掉了接受了CEO Mike Koehler的辭呈,並由董事會長期成員Victor Lund接任CEO職務。9月的Teradata合作伙伴大會上,Lund宣佈了Teradata會將自己重新定位為一家“分析解決方案”公司。

這還怎麼與SAS友好地“在一起”?作為Teradata在高階分析軟體方面的主要合作伙伴,SAS也將自己定位為一家“分析解決方案”公司。當然,不同之處在於,SAS在提供這種解決方案方面已經有很久遠的歷史,並與使用者企業的高管建立了一定的“街頭信譽”,畢竟他們的業務解決方案還是挺成熟的,包含實用的軟體和自己的智慧財產權,而Teradata除了“改變世界的偉大想法”和PowerPoint幻燈片,似乎什麼都沒有。

給Teradata的管理層支個招:嘴上說要向著價值鏈的上游進軍,並不意味著你就有這樣的能力。

其他方面,該公司宣佈Aster終於可以支援Spark了,但早在兩年前就沒人在乎這事啦。Teradata還宣佈Aster的分析功能已經可以部署到Hadoop。Hadoop上的Aster就是一把無刃還無柄的刀,這個商業化的機器學習庫可是要與無數開源的庫血拼的。Aster還要與Teradata的另一個合作伙伴Fuzzy Logix競爭,該公司的dbLytix庫比Teradata庫的功能豐富六倍,還更成熟。

如果有人提議押賭這套“解決方案”並解綁Aster,也許可以挽回Teradata的頹勢,但一定要考慮地夠周密。


原網站:http://www.toutiao.com/i6377967815814545922/

相關文章