Deeplearning4j

위키백과, 우리 모두의 백과사전.

Deeplearning4j
원저자Adam Gibson, Chris Nicholson, Josh Patterson
개발자various
미리보기 버전
1.0.0-beta7 / 2020년 5월 13일(4년 전)(2020-05-13)[1]
저장소
프로그래밍 언어자바, 스칼라, CUDA, C, C++, 파이썬, 클로저
운영 체제리눅스, 맥 OS, 윈도우, 안드로이드
플랫폼크로스 플랫폼
종류자연 언어 처리, 딥 러닝, 인공지능
라이선스아파치 2.0
상태개발 중
웹사이트deeplearning4j.org

Eclipse Deeplearning4j자바자바 가상머신 용으로 작성된 딥 러닝 라이브러리이며[2][3] 딥 러닝 알고리즘을 광범위하게 지원하는 컴퓨팅 프레임워크이다.[4] Deeplearning4j에는 Restricted Boltzmann machinedeep belief net, deep autoencoder, stacked denoising autoencoder, recursive neural tensor network, word2vec, doc2vec, Glove 등의 알고리듬들이 구현 되어 있다. 이 알고리듬은 모두 아파치 하둡스파크를 이용해 분산 병렬 처리가 가능하다.[5]

Deeplearning4j는 아파치 라이선스 2.0을 따르는 오픈 소스 소프트웨어이며[6] 샌프란시스코도쿄에 근거를 두며 Adam Gibson이 이끄는 기계 학습 그룹이 주로 개발하고 있다.[7][8] Skymind Intelligence Layer라고 불리는 엔터프라이즈 배포판에 DL4J, Tensorflow, Keras 및 기타 딥 러닝 라이브러리를 번들로 제공하는 스타트업 회사인 Skymind를 통해 상업적 지원을 받을 수 있다.[9] Deeplearning4j는 2017년 10월에 Eclipse Foundation에 합류 하였다.[10]

개요[편집]

Deeplearning4j는 널리 사용되는 프로그래밍 언어 인 자바를 사용하지만 클로저와도 호환 되며 스칼라 API를 포함하고 있다. 자체 오픈 소스 수치 계산 라이브러리인 ND4J를 사용하여 CPUGPU 모두에서 작동한다.[11][12]

Deeplearning4j는 다수의 상용 및 학술 응용 분야에서 사용되고 있다. 코드는 깃허브에 공개되어 있으며[13] 개발자 지원 포럼은 기터를 통해 서비스 되고 있다.[14] 한국 개발자를 위한 기터 채널도 서비스 되고 있다.[15]

Deeplearning4j 프레임워크를 이용하여 Restricted Boltzmann machines, convolutional nets, autoencoders, and recurrent nets과 같은 얕은 신경망들을 조합 하여 다양한 형태의 깊은 신경망을 만들 수 있다. 또한 강력한 시각화 도구[16]와 Computation graph[17]를 포함하고 있다.

분산 처리[편집]

Deeplearning4j의 학습 과정은 클러스터에서 분산 컴퓨팅을 이용할 수 있도록 구현되어 있다. 아파치 하둡 주요 배포판과 스파크를 통한 반복적 리듀스 작업을 통해 분산 학습이 가능하다.[18][19] 또한 Deeplearning4j는 GPU 연산을 위한 CUDA 커널 구현체를 포함하고 있으며 분산된 GPU환경에서도 작동한다.

활용[편집]

Deeplearning4j의 학습 과정은 분산 컴퓨팅을 이용할 수 있도록 짜여져있다. 즉, 하둡과 스파크를 기반으로 한 반복적 맵리듀스로 학습이 가능하다. 또, 쿠다 커널도 지원하고 있어서 GPU를 이용한 연산이 가능하며 여러 대의 GPU를 이용한 분산 학습도 가능하다.

Deeplearning4j는 ND4J를 이용해 다차원 어레이 클래스 연산이 가능하다. ND4J는 파이썬의 Numpy와 같은 역할을 한다. 이를 이용해 선형 대수과 행렬 연산을 효과적으로 처리할 수 있다.

카노바를 이용하면 CSV파일, 이미지, 소리, 텍스트, 비디오 파일을 벡터 형태의 데이터로 쉽게 만들 수 있다.

Deeplearning4j는 벡터 공간 모델링과 주제 모델링(topic modelling) 도구를 포함하고 있어 규모가 큰 텍스트 데이터를 분산 시스템에서 빠르게 처리할 수 있다. 한편 Deeplearning4j는 tf-idf, word2vec, doc2vec, GloVe 알고리즘의 구현을 포함하고 있다. 또, t-SNE를 이용해 단어 구름(word cloud)을 시각화할 수 있다.

Deeplearning4j는 금융 업계의 사기 탐지[20], 비정상 행위 탐지[21], 이미지 인식 등에 사용되고 있다. 또 RapidMiner와 Prediction.io 등 다른 기계학습 플랫폼을 포함하고 있다[22].

관련 라이브러리[편집]

같이 보기[편집]

각주[편집]

  1. “Releases · eclipse/deeplearning4j”. 《github.com》. 2021년 4월 3일에 확인함. 
  2. “The Mission to Bring Google's AI to the Rest of the World”. 《WIRED》 (미국 영어). 2017년 11월 11일에 확인함. 
  3. “Deep Learning for (Some of) the People”. 《Bloomberg.com》. 2014년 6월 3일. 2017년 11월 11일에 확인함. 
  4. “Want an open-source deep learning framework? Take your pick | VentureBeat” (미국 영어). 2017년 11월 11일에 확인함. 
  5. https://www.youtube.com/watch?v=LCsc1hFuNac&feature=youtu.be.  |제목=이(가) 없거나 비었음 (도움말)
  6. https://github.com/deeplearning4j/deeplearning4j.  |제목=이(가) 없거나 비었음 (도움말)
  7. team, Chris Nicholson, Adam Gibson, Skymind. “Deeplearning4j: Open-source, Distributed Deep Learning for the JVM”. 2017년 11월 18일에 원본 문서에서 보존된 문서. 2017년 11월 11일에 확인함. 
  8. “Adam Gibson - Founder & Chief Technology Officer @ Skymind” (영어). 2017년 11월 11일에 확인함. 
  9. “SKIL CE 1.0.0”. 2017년 11월 7일에 원본 문서에서 보존된 문서. 2017년 11월 11일에 확인함. 
  10. Gibson, Adam (2017년 6월 22일). “Eclipse Deeplearning4j”. 《projects.eclipse.org》 (영어). 2017년 11월 11일에 확인함. 
  11. Harris, Derrick (2014년 6월 2일). “A startup called Skymind launches, pushing open source deep learning” (미국 영어). 2017년 11월 24일에 원본 문서에서 보존된 문서. 2017년 11월 12일에 확인함. 
  12. “Skymind launches with open-source, plug-and-play deep learning features for your app | VentureBeat” (미국 영어). 2017년 11월 12일에 확인함. 
  13. https://github.com/deeplearning4j/deeplearning4j.  |제목=이(가) 없거나 비었음 (도움말)
  14. “deeplearning4j/deeplearning4j” (영어). 2017년 11월 12일에 확인함. 
  15. “deeplearning4j/deeplearning4j/deeplearning4j-kr” (영어). 2017년 11월 12일에 원본 문서에서 보존된 문서. 2017년 11월 12일에 확인함. 
  16. team, Chris Nicholson, Adam Gibson, Skymind. “How to Visualize, Monitor and Debug Neural Network Learning - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM” (미국 영어). 2017년 8월 31일에 원본 문서에서 보존된 문서. 2017년 11월 12일에 확인함. 
  17. team, Chris Nicholson, Adam Gibson, Skymind. “Building Complex Network Architectures with Computation Graph - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM” (미국 영어). 2018년 1월 26일에 원본 문서에서 보존된 문서. 2017년 11월 12일에 확인함. 
  18. team, Chris Nicholson, Adam Gibson, Skymind. “Deeplearning4j: Open-source, Distributed Deep Learning for the JVM”. 2017년 11월 18일에 원본 문서에서 보존된 문서. 2017년 11월 12일에 확인함. 
  19. https://github.com/emsixteeen/IterativeReduce.  |제목=이(가) 없거나 비었음 (도움말)
  20. “보관된 사본”. 2016년 3월 10일에 원본 문서에서 보존된 문서. 2016년 6월 4일에 확인함. 
  21. “보관된 사본”. 2016년 3월 10일에 원본 문서에서 보존된 문서. 2016년 2월 22일에 확인함. 
  22. “보관된 사본”. 2016년 5월 18일에 원본 문서에서 보존된 문서. 2016년 6월 4일에 확인함. 

외부 링크[편집]