軟件改變世界,程序員改變軟件

機器學習 程序員 軟件 人工智能 金融界 2017-06-09

——聽ThoughtWorks大牛們講述深度學習背後的故事

文/徐培炎 賽迪網

【賽迪網訊】提及“人工智能”,看來起來很深奧的樣子。不過有關人工智能的話題已經出現了二三十年,早期人工智能更多的出現在學術領域,生物工程,或者科幻小說裡。但是最近幾年被科技巨頭、互聯網巨頭炒的沸沸揚揚、如火如荼,已經在各個領域可以逐漸看到人工智能的應用場景,這其中很重要的原因是工程技術的發展,計算能力的廉價,以及整個數據的權量。

傳統企業經過多年IT建設,已經打下良好的信息化根基,比如ERP、MES、CRM、SAM這些底層的業務架構,都已經發展的很成熟。但是這個被雲計算、大數據、人工智能等新概念、新技術推動的新時代,卻給他們帶來了巨大的挑戰。

ThoughtWorks數據及AI業務負責人史凱(右)與ThoughtWorks首席諮詢師楊博(左)

“後ERP時代的數據賦能,對於傳統企業是最大的挑戰。”,ThoughtWorks數據及AI業務負責人史凱,在2017ThoughtWorks技術雷達峰會期間,接受賽迪網採訪時表示:“之前講智慧賦能,但是智慧賦能最核心還是數據,而且是跟過去最大的差異,原來說智慧的時候很多是講人的業務經驗,而現在會更強調數據運營,基於數據的決策。”

用深度學習框架彌補學術空缺

作為一個以工程能力、以技術卓越創造社會價值改變世界的公司,ThoughtWorks要做什麼?史凱認為:“這就是ThoughtWorks開始做深度學習的根源,ThoughtWorks希望讓AI讓深度學習這樣過去很高端的技術,變成一個很平常的,每一個企業甚至每一個程序員都可以掌握的東西。而且隨著近幾年的發展,我們看到事實驗證已經成為現實。”

“AI應用應該飛入尋常百姓家,應該是一種服務,隨需隨用”,在史凱眼裡人工智能應該很平易近人,因為它底層的算法還有神經網絡和技術都來自於學術,學術的東西到商用的過程沒有那麼快,怎麼把學術的東西應用到工程領域,這中間還是要有很大的鴻溝。原來說人工智能、神經網絡、深度學習,如果沒有數學基礎,相信很難能理解,數學的門檻就能將半數人拒之門外,這就是門檻。

史凱強調:“ThoughtWorks希望用卓越的工程能力填補這個學術領域和工業世界以及業務價值之間的空隙。站在程序員的角度,用深度學習的框架,是彌補學術空缺的最好辦法。”

讓每一個程序員簡單應用深度神經網絡

ThoughtWorks首席諮詢師楊博,是DeepLearning.scala的主要作者。他是程序員出身,有很深的工程領域背景,所以很清楚的知道深度學習需要什麼樣的深度學習框架,他會習慣用程序員的思維去思考,怎麼樣最好用,這是ThoughtWorks將DeepLearning.scala開源的根本原因。ThoughtWorks終極目標,就是讓每一個程序員,每一個企業,就像寫平常的對象一樣應用深度神經網絡,這是初衷。

“目前ThoughtWorks有很多跟我一樣的人,都在為DeepLearning.scala開源社區做貢獻。”楊博表示:“ThoughtWorks先後發佈了DeepLearning.scala1.0版本,2.0測試版,未來還將發佈2.1版本。2.1版本之後將重點培養社區,ThoughtWorks希望開發者用深度學習2.1版本,能夠非常簡單的編寫並可以複用深度神經網絡層。”

“神經網絡由很多層組合起來,比如做一個圖樣識別的算法,就要識別一種特殊模式,這時就需要另外一個人開發,怎麼把他用起來,以前可能這個事情比較難,也可能是各個科學家自己的黑科技。”楊博介紹。

楊博希望在ThoughtWorks DeepLearning.scala平臺基礎上,可以很方便的編寫,同時發佈成開源庫。楊博強調:“我就是做開源軟件開發的,我們在DeepLearning.scala內部,我們的模塊化做的非常極致,整個框架一共有幾十個庫,幾十個打包文件,每一個打包文件只有一個原代碼文件,每一個庫都是獨立的,我們希望除了內置的這幾十個庫之外構成我們框架的核心部分,其他的算法開發者也可以寫一個文件幾十行代碼,在30秒內有一個打包的腳本,打包成一個開源庫,其他人把它用上,這就是我們2.1要做的事兒。”

做懂程序員群體的深度學習框架

“ThoughtWorks希望這個DeepLearning.scala是最懂程序員群體的框架,軟件改變世界,程序員改變軟件,我們希望通過我們的開放框架幫助程序員改變世界,他們專注於他們的工程能力和麵對的業務問題,至於深度神經網絡多少層,這些專業性的問題和學術上的價值,我們幫他完成。”史凱補充道。

開發工程師或者業務需求人員,可以基於DeepLearning.scala產生很多業務場景,這是ThoughtWorks一直在努力,並且已經做到了的。如今ThoughtWorks DeepLearning.scala的核心開發從量級和投入上,與百度深度神經網絡差不多是一個量級。

在深度學習上,ThoughtWorks並不想做一個特別全的,閉源的東西,而是希望最大化的開發工程能力,並且藉助團隊強大的學術研究背景,將工程能力和學術能力融合在一起,從而形成一個非常高內聚的內核。

由於Scala既有函數式語言的靈活,又支持Java,所以ThoughtWorks DeepLearning.scala第一版就支持Scala。楊博舉例,比如用Scala編寫一個神經網絡,可以在Java代碼上直接調用,而且神經網絡裡面可以調現有的JAVA庫。JAVA的開源社區非常龐大,有很多很強大的庫,這些庫不是用來做機器學習的,但是神經網絡裡可以用,還可以把已有的程序代碼整合到神經網絡裡,做出來的神經網絡,也可以被已有的代碼拿掉,這是一個互操作性。這方面,ThoughtWorks DeepLearning.scala可以說是做的最好的,也是與其他框架相比起來,最大的差異。

ThoughtWorks數據及AI業務負責人史凱(中)、ThoughtWorks首席諮詢師楊博(左)、賽迪網主編徐培炎(右)

筆者感悟

ThoughtWorks是一個很有情懷的公司,擁有很多技術牛人,技術狂熱者。相識10年以來,給筆者最大的感觸就是,這是一家講求實效的公司,技術強,實踐強,重落地,從敏捷到精益,從社區、實驗室到技術雷達,一切都為開發者做服務。

如何將技術的卓越運用到工程裡,運用到行業中,產生業務價值,這是ThoughtWorks的核心訴求,也是長期以來一直遵循的工作方式。

賽迪網

更多精彩資訊,請來金融界網站(www.jrj.com.cn)

相關推薦

推薦中...