Deeplearning4j

維基百科,自由的百科全書
跳至導覽 跳至搜尋
Deeplearning4j
原作者Adam Gibson
開發者眾多
目前版本
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    原始碼庫
    • {{URL|example.com|可选的显示文本}}
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    程式語言Java, Scala, CUDA, C
    引擎
      Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
      作業系統Linux, macOS, Windows, Android
      平台跨平台
      類型自然語言處理, 深度學習, 機器視覺, 人工智能
      許可協定Apache許可證2.0
      網站deeplearning4j.org

      Deeplearning4j是為JavaJava虛擬機器[1][2]編寫的開源深度學習庫,是廣泛支援各種深度學習演算法的運算框架[3]。Deeplearning4j可以實施的技術包括受限玻爾茲曼機深度置信網絡、深度自動編碼器、堆疊式降噪自動編碼器、循環神經張量網絡,以及word2vec、doc2vec和GloVe。這些演算法全部包括分散式並列版本,與HadoopSpark整合。[4]Skymind是Deeplearning4j的商業支援機構。

      簡介[編輯]

      Deeplearning4j基於廣泛使用的程式語言Java——同時也相容Clojure,並且包括Scala的API。它由自有的開源數值計算庫ND4J驅動,可使用CPU或GPU執行。[5][6] Deeplearning4j是開源專案[7],主要由位於三藩市的一支機器學習團隊開發,團隊由Adam Gibson領導。[8][9]Deeplearning4j是谷歌Word2vec頁面上列出的唯一一個在Java環境下實施Word2vec的開源專案。[10]

      Deeplearning4j已經用於多項商業和科研應用。其代碼由GitHub[11]寄存,並在谷歌小組[12]上設有支援討論區。 

      這一框架是可組合的,即受限玻爾茲曼機、卷積網絡、自動編碼器、遞歸網絡等淺層神經網絡可以相互疊加,組合成不同類型的深度網絡。

      分散式[編輯]

      Deeplearning4j的定型以叢集進行。神經網絡通過迭代化簡平行定型,可以在Hadoop/YARN以及Spark上執行。[8][13]Deeplearning4j還與Cuda內核整合,進行純GPU操作,可使用分散式GPU執行。

      Java虛擬機器中的科學計算[編輯]

      Deeplearning4j包括使用ND4J的N維陣列類,可在Java和Scala中進行科學計算,類似於NumpyPython提供的功能。其基礎是線性代數庫,可有效支援生產環境中的矩陣操作。

      用於機器學習的Canova向量化庫[編輯]

      Canova可將各類檔案格式和資料類型向量化,所用的輸入/輸出格式系統近似於Hadoop的MapReduce。Canova目前仍在開發中,設計目標是實現CSV、圖像、聲音、文字和影片的向量化。Canova可以從命令列使用。 版本0.4.0之後,Canova庫已合併到 DataVec當中。

      文字與NLP[編輯]

      Deeplearning4j包括一個向量空間模型和主題模型工具包,在Java中實施,與並列GPU整合以提高表現。這是專門為處理大量文字而設計的。

      Deeplearning4j可實施tf–idf、深度學習以及Mikolov的word2vec演算法、doc2vec和GloVe-在Java中再實施並最佳化。它依靠t-SNE生成視覺化的文字雲。

      實際應用情景與整合[編輯]

      Deeplearning4j的實際應用情景包括金融行業[14]的欺詐偵測、製造業等行業中的異常檢測、電子商務與廣告業的推薦系統、圖像辨識等。Deeplearning4j已與RapidMiner和Prediction.io等其他機器學習平台整合。

      相關庫[編輯]

      • OpenNN,一個用C++語言編寫的深度學習開源神經網絡庫。
      • Torch,一個用Lua語言編寫的 開源框架,廣泛支援各類機器學習演算法。
      • Theano,一個為Python開發的開源深度學習庫。
      • Neuroph

      參見[編輯]

      參考文獻[編輯]

      1. ^ Metz, Cade. The Mission to Bring Google's AI to the Rest of the World. Wired.com. 2014-06-02 [2014-06-28]. (原始內容存檔於2014-06-29). 
      2. ^ Vance, Ashlee. Deep Learning for (Some of) the People. Bloomberg Businessweek. 2014-06-03 [2014-06-28]. (原始內容存檔於2014-06-25). 
      3. ^ Novet, Jordan. Want an open-source deep learning framework? Take your pick. VentureBeat. 2015-11-14 [2015-11-24]. (原始內容存檔於2015-11-27). 
      4. ^ TV, Functional. Adam Gibson, DeepLearning4j on Spark and Data Science on JVM with nd4j, SF Spark @Galvanize 20150212. SF Spark Meetup. 2015-02-12 [2015-03-01]. (原始內容存檔於2015-12-26). 
      5. ^ Harris, Derrick. A startup called Skymind launches, pushing open source deep learning. GigaOM.com. 2014-06-02 [2014-06-29]. (原始內容存檔於2014-06-28). 
      6. ^ Novet, Jordan. Skymind launches with open-source, plug-and-play deep learning features for your app. 2014-06-02 [2014-06-29]. (原始內容存檔於2014-06-28). 
      7. ^ Github Repository. [2016-03-27]. (原始內容存檔於2019-09-24). 
      8. ^ 8.0 8.1 deeplearning4j.org. [2016-03-27]. (原始內容存檔於2016-03-30). 
      9. ^ Crunchbase Profile. [2016-03-27]. (原始內容存檔於2017-07-31). 
      10. ^ Google Code. [2016-03-27]. (原始內容存檔於2016-03-10). 
      11. ^ piskvorky. GitHub - piskvorky/gensim: Topic Modelling for Humans. GitHub. [2016-03-27]. (原始內容存檔於2016-02-01). 
      12. ^ Google Groups. google.com. [2016-03-27]. (原始內容存檔於2011-01-22). 
      13. ^ Iterative reduce. [2016-03-27]. (原始內容存檔於2018-06-10). 
      14. ^ FINANCE & FRAUD. Skymind. [2016-03-27]. (原始內容存檔於2016-03-10). 

      外部連結[編輯]