丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能 正文
發(fā)私信給楊文
發(fā)送

0

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

本文作者: 楊文 2018-01-02 11:03
導(dǎo)語:一文讀懂深度學(xué)習(xí)框架Deeplearning4j 的構(gòu)成與應(yīng)用

雷鋒網(wǎng)AI研習(xí)社按:深度學(xué)習(xí)是人工智能發(fā)展最為迅速的領(lǐng)域之一,Google、Facebook、Microsoft等巨頭都圍繞深度學(xué)習(xí)重點投資了一系列新興項目,他們也一直在支持一些開源深度學(xué)習(xí)框架。目前研究人員使用的深度學(xué)習(xí)框架有 TensorFlow、Torch 、Caffe、Theano、Deeplearning4j等,而Deeplearning4j是為數(shù)不多以Java/JVM為基礎(chǔ),能與Apache Spark無縫結(jié)合,支持CPU/GPU集群分布式計算的開源框架。本文就來為大家詳細介紹一下深度學(xué)習(xí)框架Deeplearning4j的重要組件,不同環(huán)境下的操作用法及實例分享。

在近期雷鋒網(wǎng)AI研習(xí)社的線上分享會,來自蘇寧易購搜索技術(shù)研發(fā)部的資深算法工程師萬宮璽為大家介紹了Deeplearning4框架的構(gòu)成、主要功能模塊并結(jié)合實例講述具體的使用方法。

視頻回放鏈接:http://www.mooc.ai/open/course/333

萬宮璽,蘇州大學(xué)碩士,現(xiàn)就職于蘇寧易購搜索技術(shù)研發(fā)部,從事自然語言處理、機器視覺等領(lǐng)域的應(yīng)用開發(fā)工作。熟悉諸如Deeplearning4j、Keras等開源深度學(xué)習(xí)框架。

以下為主要分享內(nèi)容:

分享主題為:基于Java的開源深度學(xué)習(xí)框架-Deeplearning4j的介紹與實例分享。(

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

分享內(nèi)容可概括以下四方面:

  • Deeplearning4j生態(tài)圈主要功能模塊的介紹

  • Deeplearning4j單機/并行/分布式建模過程介紹

  • Deeplearning4j對遷移學(xué)習(xí)、強化學(xué)習(xí)的支持

  • 基于Fashion Mnist數(shù)據(jù)集的圖像分類應(yīng)用的開發(fā)、部署、上線實例

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

第一部分內(nèi)容具體為DL4j的開源庫背景,目前的項目進展情況和背后的支撐團隊。

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

第二部分為DL4j的生態(tài)圈,主要介紹生態(tài)圈中最重要的三個模塊:DL4j本身,它所依賴的張量預(yù)算庫ND4j、DL4j當(dāng)中做數(shù)據(jù)ETL的庫DataVec。

DL4j本身,它定義并且實現(xiàn)了比較經(jīng)典的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),比如圖片中比較常用的卷積神經(jīng)網(wǎng)絡(luò)。機器學(xué)習(xí)都需要依賴一個張量運算框架,對于DL4j,他依賴的是ND4j這樣一個框架,libnd4j是ND4j調(diào)用的一個庫。

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

Model Zoo 是官方給出的經(jīng)典神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的實現(xiàn)。包括AlexNet,GoogLenet ,DeepFace,YOLO等。Modle Zoo在0.9.0版本之前是作為一個獨立的工程存在的,0.9.0之后的版本作為DL4j本身的一個模塊,已經(jīng)嵌入進去。

DL4j所依賴的張量運算庫ND4J,ND4j可當(dāng)作JAVA 版的Numpy。

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

ND4j內(nèi)存管理情況:

ND4j利用了堆外內(nèi)存和堆上內(nèi)存兩個部分的內(nèi)存做相應(yīng)的計算。當(dāng)用ND4j去聲明一個具體的張量時候,是在堆外內(nèi)存存儲張量對象,堆上內(nèi)存只存儲張量對象的引用。設(shè)計的原因主要是我們所依賴張量運算庫,大部分的運算空間都是在堆外內(nèi)存上,把數(shù)據(jù)放到堆外內(nèi)存可提高運行效率。

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

需要注意的是,用ND4j做神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時,堆外內(nèi)存一定要調(diào)的非常大,因為大量的工作都是在堆外內(nèi)存做相應(yīng)的張量運算。堆外內(nèi)存要遠遠大于堆上內(nèi)存。

ND4j具體例子,第一個是如何去創(chuàng)建一個張量,并且把這個張量在底層存儲的順序打印出來。

第二個是hadmard乘積實現(xiàn)。用直白的話解釋就是,兩個張量相應(yīng)的位置去做乘積,把這個結(jié)果形成新的向量,作為下一部分利用的結(jié)果,這個操作在包括卷積上面都是比較常用的。

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

數(shù)據(jù)ETL庫,稱之為DataVec, 它的主要功能就是把語音信號,圖片文件,文本文檔轉(zhuǎn)化為張量形式,做數(shù)據(jù)ETL.

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

總結(jié)DataVec庫的作用:它可以將非結(jié)構(gòu)化數(shù)據(jù)經(jīng)過處理轉(zhuǎn)化變成張量型數(shù)據(jù),也支持結(jié)構(gòu)化數(shù)據(jù)的讀取。

第三個部分怎么建模。分三個場景,第一個是本地單機建模;第二個是有多個CPU或多個GPU卡情況下怎么做并行建模;第三個是怎么和Spark結(jié)合做分布式的DL4j模型的建模。

建模的四個步驟并不是固定的,可以根據(jù)實際情況做靈活的處理。大致思路首先是生成這樣一個訓(xùn)練,測試,驗證數(shù)據(jù)集。

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

本地單機建模,首先是加載數(shù)據(jù)(包括本地數(shù)據(jù)和測試數(shù)據(jù)),其次是配置模型結(jié)構(gòu)以及超參數(shù),并初始化模型參數(shù)。最后,訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,并利用測試數(shù)據(jù)集進行評估。

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

數(shù)據(jù)并行化:

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

并行建模如圖所示:

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

怎么和Spark結(jié)合做一個分布式的Dp4j模型的建模:

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

想要在Spark上面開發(fā)的同學(xué),需要注意Spark的版本,因為DL4j支持1.5、1.6 還有2.0之后的版本??蚣芙咏?.0版本的發(fā)布,真正原生態(tài)支持Spark 并不多,DL4j和Spark的結(jié)合是它的一大亮點。

第四部分是強化學(xué)習(xí)模塊,稱之為RL4j ,也是生態(tài)系統(tǒng)當(dāng)中的一個組件。

遷移學(xué)習(xí)和強化學(xué)習(xí)在DL4j的支持情況:

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

具體應(yīng)用實例分享:

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

關(guān)于Deeplearning4j 的總結(jié):

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

個人在做AI方面的心得體會:

  • 機器學(xué)習(xí)是AI的主要解決方案,但不是唯一方案。

  • 深度學(xué)習(xí)并不是萬能的,對于非結(jié)構(gòu)化數(shù)據(jù):圖像、文本、語音會有出色的效果,但傳統(tǒng)機器學(xué)習(xí)模型同樣很重要。

  • 數(shù)據(jù)的質(zhì)和量在實際的應(yīng)用中共同決定了模型的泛化能力。

  • 轉(zhuǎn)型AI同樣可以從Hello World 入手。

  • 提升AI內(nèi)功必須精通原理,而不僅僅跑出Demo。

  • 不要局限于某一特定工具框架,可以取長補短。

  • 遷移學(xué)習(xí)和強化學(xué)習(xí)可能代表AI的未來。

如果想詳細了解深度學(xué)習(xí)的應(yīng)用,如何做開發(fā),怎么去訓(xùn)練他的模型,怎么去調(diào)優(yōu),怎么去部署上線點擊下面的視頻可回顧本期內(nèi)容。

雷鋒網(wǎng)AI慕課學(xué)院視頻回放鏈接:http://www.mooc.ai/open/course/333

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

資深算法工程師萬宮璽:Java工程師轉(zhuǎn)型AI的秘密法寶——深度學(xué)習(xí)框架Deeplearning4j | 分享總結(jié)

分享:
相關(guān)文章

編輯&記者

AI科技評論員,微信:yeohandwin
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說