Deeplearning4j

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

基本介紹

  • 中文名:Deeplearning4j
  • 外文名:Deeplearning4j
  • 領域:人工智慧
簡介,分散式,Java虛擬機中的科學計算,用於機器學習的Canova向量化庫,文本與NLP,實際套用情景與集成,相關庫,參見,

簡介

Deeplearning4j基於廣泛使用的程式語言Java——但同時也兼容Clojure,並且包括Scala的API。它由自有的開源數值計算庫ND4J驅動,可使用CPU或GPU運行。Deeplearning4j是開源項目,主要由位於舊金山的一支機器學習團隊開發,團隊由Adam Gibson領導。Deeplearning4j是谷歌Word2vec頁面上列出的唯一一個在Java環境下實施Word2vec的開源項目。
Deeplearning4j已經用於多項商業和科研套用。其代碼由GitHub託管,並在谷歌小組上設有支持論壇。
這一框架是可組合的,即受限玻爾茲曼機、卷積網路、自動編碼器、遞歸網路等淺層神經網路可以相互疊加,組合成不同類型的深度網路。

分散式

Deeplearning4j的定型以集群進行。神經網路通過疊代化簡平行定型,可以在Hadoop/YARN以及Spark上運行。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是”for Java”的深度學習框架,也是首個商用級別的深度學習開源庫。Deeplearning4j由創業公司Skymind於2014年6月發布。

實際套用情景與集成

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

相關庫

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

參見

相關詞條

熱門詞條

聯絡我們