時間:2017-10-19 來源:互聯網 瀏覽量:
謝梁,美國微軟總部首席數據科學家,本科畢業於西南財經大學經濟學專業,然後在中國工商銀行從事信貸評估工作,一年後辭職到紐約州立大學學習應用計量經濟學。研究興趣主要是混合模型(mixed model)和數據挖掘方法,以及 SAS 潛力的挖掘(他認為在各大 SAS 論壇幫人解決問題同時學習他人經驗,是提升自己最快的途徑,曾用網名 oloolo),著有《Keras 快速上手:基於 Python 的深度學習實戰》。
十餘年的機器學習應用經驗,讓他成功從一位經濟學畢業生轉型為雲計算領域的頂級數據科學家。近日,謝梁接受 CSDN 專訪,分享了從經濟學入坑機器學習的原因和挑戰;如何深入掌握深度學習;當今工業界應用的模型很多,是否可安心當調包俠等話題。
為何轉向機器學習
CSDN:你是經濟學博士,什麼原因讓你著迷於機器學習、數據挖掘和人工智能,並將其應用於 IT 基礎架構的優化?
謝梁:我的專業是計量經濟學,專注於實證分析各種社會和經濟現象,其中很多內容跟統計學習、機器學習都有重合,隻是應用領域不同,後麵的數理模型還是有很多相通的地方。我一開始也直接從事基於機器學習的商業智能方麵的工作,包括自動化的營銷、客戶畫像等,使我對機器學習的應用領域有了比較多的了解。
到微軟以後,我先後在 Azure 雲計算部門從事了服務層 SaaS 和基礎架構層 IaaS 的數據分析工作。SaaS 層專注於使用 Azure 雲服務的客戶行為分析,而在 IaaS 則重點構築基於機器學習的基礎架構運營優化工作。這些領域都需要對大量的數據進行分析,對客戶運營策略和基礎架構上運行的軟件行為進行優化,都是在有限資源條件下進行最優化的工作,同時需要對結果進行合理的解讀與概念推廣,這些都與經濟學裏的工作很像,因此計量經濟學所學的理論,方法和技術都能自然地得到運用。
凡是有大量數據,並能根據數據找出某種規律並實施操作的業務都能運用機器學習的方法來自動化和優化。微軟 Azure 雲計算恰恰提供了一個非常符合這種要求的應用環境,並且其規模和競爭壓力促使其無法一直維持最初的粗放型擴張,必須運用現代智能方法提高自動化運維水平。可以說在合適的時間,出現的合適的機會促使我考慮將機器學習和人工智能應用於 IT 基礎架構的優化。
CSDN:經濟學博士入坑機器學習,你遇到的挑戰都有哪些?
謝梁:經濟學背景的人進行機器學習有自己的優勢和劣勢。
優勢是經濟學出身的人對實證分析結果的解釋非常重視,往往考慮的是如何在實證結果的基礎之上進一步提供理論總結和可執行的策略。這在以後的發展中非常重要。
劣勢是經濟學出身的人在編程方麵相對較弱,特別是生產係統上進行規範的編程相對科班出身的人來講差距較大,會影響在 IT 公司裏發揮。
經濟學裏麵的一個核心概念是比較優勢,作為經濟學出身的人,需要懂得合理運用這個理論。
微軟 Azure 存儲部門如何開展機器學習
CSDN:你和團隊將機器學習與人工智能方法用於大規模高可用並行存儲和運維,具體包括哪些方麵的工作?是否可以量化說明這些手段的效果?
謝梁:機器學習和人工智能的方法可以應用於 IaaS 存儲係統的多個方麵,包括負載平衡、節點故障預測、可售容量預測、係統工作調度等。更新的應用包括內部運維的知識圖譜構建,代碼質量打分和 Bug 預測等。這些工作有很大部分也是建立在微軟現有其他部門的工作或者建立的基礎平台之上。
機器學習的效果非常顯著。比如,通過節點故障預測,並相應地合理安排存儲拷貝,我們在幾乎不損失容量的情況下,將由於節點故障造成的 Incidents 降低了 30%。
CSDN:根據你的經驗,是否未來的開發團隊和運維團隊都應當掌握機器學習和人工智能方法?
謝梁:我覺得未來的運維必須智能化才能有效降低程序員的工作負荷,極大提高係統運作效率。在一個部門裏麵,至少需要一個專門的數據挖掘團隊來提供相應服務,而如果開發和運維團隊都能將人工智能方法從一開始就建立到係統中,那將有更大的競爭優勢。這也是我在 Azure 存儲部門推動的目標之一。
CSDN:深度學習在互聯網公司應用廣泛,社區提供的工具很多,你和團隊如何根據場景選擇深度學習框架?
謝梁:微軟作為一個成熟的領先 IT 公司,內部有自己的係統和深度學習平台。但是微軟現在也擁抱各種開源工具。在深度學習框架選擇上,仍然是根據自己需要的場景,「哪個能盡快提供從概念到生產係統的實現」是選擇的重要依據。
深度學習實戰技巧
CSDN:你的著作《Keras 快速上手:基於 Python 的深度學習實戰》,選擇從 Keras 入手簡單、快速地設計模型,較少注底層代碼,那我們是否可以這麼推導:現在很多算法都封裝好了,並且工業界應用的模型那麼多,安心當調包俠就可以了?
謝梁:肯定不是這樣的。誠然,現在的機器學習理論和算法越來越先進,很多以前需要數據科學家和分析師進行的工作都可以由算法自動完成,比如以前需要做很多人工的特征工程工作,現在新的算法將這方麵的要求降低,但是如何選擇合適的模型,如何對結果進行合理的解釋仍然需要數據科學家有較好的理論訓練和知識深度。
在工業界應用機器學習,包括三個部分:
前端對實際業務問題的理解和翻譯;
中端對所選機器學習算法的實現;
末端對結果的解釋和在業務上的運用。
現在有了較多可調用的機器學習包,隻是讓中段的一些工作簡化,但同時對前端和末端提出了更多的要求,因為現在很多業務問題都非常複雜,如何將其合理地分解為可以進行建模的問題,非常考驗實踐工作者。同時,如何將分析結果植入到現有生產係統中,高效率高質量地運行也是不低的要求。
「調包俠」會是被人工智能代替的首批白領之一,所以當調包俠可沒法安心。
CSDN:能否分享寫這本書的初衷,以及寫作過程中你印象最深刻的事情是什麼?
謝梁:寫這本書之前就有很多業界朋友問我深度學習問題,最多的就是如何開始,並能了解一些應用。他們也都看了很多市麵上的深度學習書籍,基本麵臨兩個難題:一是很多書是大部頭論著,作為學校畢業多年已經工作的人來說沒有精力研讀;二是很多深度學習著作難以入門,學習曲線陡峭,不是適合他們的背景。他們需要一本簡單實用的書,能達到快速入門的目的。
CSDN:很多專家對這本書的評價都強調了「實用」,你能否總結這一點如何體現,實用的收獲都有哪些?
謝梁:最實用的書就是菜譜,從配料都烹飪的每一步都一一列出。我們這本書也遵循這樣的方式,不過多強調理論,而是具體強調對於一個問題去怎麼做。沒有深度學習基礎的讀者讀完本書以後能自己舉一反三進行類似問題的實際操作。
CSDN:有評論說這部書後半部分講解得比較深,需要有一定深度學習基礎,你對本書讀者的知識儲備和配套學習資料有什麼建議嗎?
謝梁:這本書基本都講得比較淺顯,後半部分可能最深的要算時間序列的一些理論,但是並不影響讀者學習深度學習實際操作部分。如果對那些理論暫時不了解的話可以跳過,先看代碼,等有時間再回去依次了解每個概念。
如何進階
CSDN:通過 Keras 快速體驗深度學習之後,如果還想進一步提升,比如希望透徹理解底層原理和優化,或者這本書的經驗用到移動端深度學習,你有什麼建議?
謝梁:進一步提升需要跟上最新的進展,可以多讀讀這個領域頂級會議的文章。如果沒有什麼基礎可以從以前的經典論文開始讀,輔以 Ian Goodfellow 與 Yoshua Bengio 合寫的《深度學習》這本書能較好地了解原理。之後可以關注當前頂級會議的文章,看看最新發展。
CSDN:有人評價說 Keras 不好調試,編譯慢,那麼 Keras + TensorFlow/CNTK 是否可以滿足生產環境需求?
謝梁:相對於很多模型的訓練時間,編譯的耗時可以忽略不計。對於輕度的生產環境,Keras 本身就可以滿足需求,比如用 neocortex.js 在瀏覽器中根據 Keras 模型實時打分。對於負載較大的生產環境或者對實時性要求非常高的生產環境,還是需要直接使用 TensorFlow 或者 CNTK 的底層 API。
CSDN:對於調參,有哪些經驗可以分享?
謝梁:調參對於傳統的機器學習方法通常是通過 Cross Validation 進行 greedy search,但是對於 hyperparameter 的範圍大致根據經驗有一個設定。對於深度學習的模型,還是根據數據量大小和特點選擇合適的結構特征比較有效。
7 場技術專題,AI 開發者必看!
10 月 28 日,謝梁將在 SDCC 2017「人工智能技術實戰線上峰會」 上帶來題為 《使用 Keras 由零開始快速構造自己的深度學習模型》 的分享。
同時,CSDN 也邀請了來自阿裏巴巴、微軟、商湯科技、第四範式、微博、出門問問、菱歌科技的 AI 專家,將針對機器學習平台、係統架構、對話機器人、芯片、推薦係統、Keras、分布式係統、NLP 等熱點話題進行分享。先行者們正在關注哪些關鍵技術?如何從理論跨越到企業創新實踐?你將從本次峰會找到答案。每個演講時段均設有答疑交流環節,與會者和講師可零距離互動。