Deeplearning4j是為Java和Java虛擬機器[2][3]編寫的開源深度學習庫,是廣泛支援各種深度學習演算法的運算框架[4]。Deeplearning4j可以實施的技術包括受限玻爾茲曼機、深度置信網絡、深度自動編碼器、堆疊式降噪自動編碼器、迴圈神經張量網絡,以及word2vec、doc2vec和GloVe。這些演算法全部包括分散式並列版本,與Hadoop和Spark整合。[5]Skymind是Deeplearning4j的商業支援機構。
簡介
Deeplearning4j基於廣泛使用的程式語言Java——同時也相容Clojure,並且包括Scala的API。它由自有的開源數值計算庫ND4J驅動,可使用CPU或GPU執行。[6][7] Deeplearning4j是開源專案[8],主要由位於三藩市的一支機器學習團隊開發,團隊由Adam Gibson領導。[9][10]Deeplearning4j是谷歌Word2vec頁面上列出的唯一一個在Java環境下實施Word2vec的開源專案。[11]
Deeplearning4j已經用於多項商業和科研應用。其代碼由GitHub[12]寄存,並在谷歌小組[13]上設有支援討論區。
這一框架是可組合的,即受限玻爾茲曼機、卷積網絡、自動編碼器、遞歸網絡等淺層神經網絡可以相互疊加,組合成不同類型的深度網絡。
分散式
Deeplearning4j的定型以叢集進行。神經網絡通過迭代化簡平行定型,可以在Hadoop/YARN以及Spark上執行。[9][14]Deeplearning4j還與Cuda內核整合,進行純GPU操作,可使用分散式GPU執行。
Java虛擬機器中的科學計算
Deeplearning4j包括使用ND4J的N維陣列類,可在Java和Scala中進行科學計算,類似於Numpy為Python提供的功能。其基礎是線性代數庫,可有效支援生產環境中的矩陣操作。
用於機器學習的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的實際應用情景包括金融行業[15]的欺詐偵測、製造業等行業中的異常檢測、電子商務與廣告業的推薦系統、圖像辨識等。Deeplearning4j已與RapidMiner和Prediction.io等其他機器學習平台整合。
相關庫
參見
參考文獻
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.