맨위로가기

Deeplearning4j

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Deeplearning4j는 자바 기반의 딥러닝 라이브러리이다. 분산 컴퓨팅을 지원하며, 아파치 하둡과 스파크를 기반으로 반복적 맵리듀스 방식을 사용한다. ND4J를 통해 다차원 배열 연산을 지원하며, 파이썬의 넘파이와 유사한 기능을 제공한다. DataVec를 사용하여 다양한 형식의 데이터를 벡터화하고, 자연어 처리 기능을 위해 벡터 공간 모델링, 주제 모델링 도구, tf-idf, word2vec, doc2vec, GloVe 알고리즘을 구현한다. 또한, 금융 사기 탐지, 이미지 인식 등 다양한 분야에 활용되며, 모델 서버(SKIL)를 통해 딥러닝 모델을 배포할 수 있다. 자바, 스칼라, 파이썬, 클로저, 코틀린 등 다양한 API를 지원한다.

더 읽어볼만한 페이지

  • 자바 프로그래밍 언어 계열 - 코틀린 (프로그래밍 언어)
    코틀린은 젯브레인즈에서 개발한 정적 타입 언어로, 자바 가상 머신에서 동작하며 자바와의 호환성을 갖고, 안드로이드 공식 지원 언어로 채택되어 다양한 분야에서 활용되고 있으며, 이름은 러시아의 코틀린 섬에서 유래되었다.
  • 자바 프로그래밍 언어 계열 - 스칼라 (프로그래밍 언어)
    스칼라는 마틴 오더스키가 설계한 객체 지향 및 함수형 프로그래밍 언어이며, 자바 플랫폼에서 실행되고 자바 코드와 상호 운용이 가능하며, 아파치 스파크 등 다양한 곳에서 활용된다.
  • 자바 소프트웨어 - RealVNC
    RealVNC는 2002년 앤디 하터와 AT&T VNC 팀이 설립한 회사로, VNC 기술 개발 및 상용화에 주력하며 다양한 운영 체제를 지원하는 원격 제어 소프트웨어를 제공하고 2018년에는 자동차 부문을 별도 법인으로 분사했다.
  • 자바 소프트웨어 - YaCy
    YaCy는 분산형 검색 엔진으로, 웹 페이지를 크롤링하고 색인하여 검색 결과를 제공하며, 개인 정보 보호, 검열 회피 등의 장점을 갖지만 NAT 통과 문제와 검색 속도 저하 등의 문제점도 존재한다.
  • 딥 러닝 소프트웨어 - 마이크로소프트 코그니티브 툴킷
  • 딥 러닝 소프트웨어 - 케라스
    케라스는 딥 러닝을 위한 고수준 신경망 API로, 빠른 실험, 사용자 친화성, 모듈성, 확장성을 특징으로 하며, 텐서플로우, JAX, PyTorch 등 다양한 백엔드와 함께 사용되어 다양한 신경망을 지원하고 여러 환경에서 딥 모델을 생성 및 활용하도록 돕는다.
Deeplearning4j - [IT 관련 정보]에 관한 문서
기본 정보
장르자연어 처리
딥 러닝
머신 비전
인공지능
라이선스아파치 2.0
상세 정보
이름Eclipse Deeplearning4j
개발자Kondiut K. K. 및 기여자
작성자Alex D. Black, Adam Gibson, Vyacheslav Kokorin, Josh Patterson
최신 프리뷰 버전1.0.0-beta7
최신 프리뷰 날짜2020년 5월 13일
프로그래밍 언어자바
CUDA
C
C++
운영 체제리눅스
macOS
윈도우
안드로이드
iOS
플랫폼CUDA
x86
ARM
PowerPC
언어영어
추가 정보
웹사이트deeplearning4j.org
깃허브 저장소Github 저장소

2. 특징

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

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

Deeplearning4j는 강력한 시각화 도구[68]와 Computation graph[69]를 포함하고 있다.

2. 1. 다양한 신경망 모델 지원

Deeplearning4j는 제한된 볼츠만 머신, 컨볼루션 네트워크, 오토인코더, 재귀 네트워크 등 다양한 종류의 딥 네트워크를 조합하여 만들 수 있는 프레임워크이다.

2. 2. 분산 처리

Deeplearning4j의 학습 과정은 클러스터에서 분산 컴퓨팅을 이용할 수 있도록 구현되어 있다. 하둡 주요 배포판과 스파크를 통한 반복적 리듀스 작업을 통해 분산 학습이 가능하다.[70][71] 또한 Deeplearning4j는 GPU 연산을 위한 CUDA 커널 구현체를 포함하고 있으며 분산된 GPU 환경에서도 작동한다. 신경망은 하둡-YARN 및 스파크에서 작동하는 반복적 감소를 통해 병렬로 훈련된다.[7][17]

2. 3. 과학적 계산 (ND4J)

Deeplearning4j는 ND4J를 이용해 다차원 어레이 클래스 연산이 가능하다. ND4J는 파이썬의 NumPy와 같은 역할을 하며, 선형대수와 행렬 연산을 효과적으로 처리할 수 있도록 돕는다.[63][64] ND4J는 실제 환경에서 작동하도록 설계되었으며, CPUGPU 모두에서 작동한다.

2. 4. 데이터 벡터화 (DataVec)

DataVec는 하둡의 맵리듀스와 유사한 입출력 형식 시스템을 사용하여 다양한 파일 형식과 데이터 유형을 벡터로 변환한다. DataVec는 CSV, 이미지, 소리, 텍스트, 비디오 및 시계열을 벡터화하도록 설계되었다.[18][19]

2. 5. 자연어 처리 (NLP)

Deeplearning4j는 벡터 공간 모델링 및 토픽 모델링 도구를 포함하고 있어 규모가 큰 텍스트 데이터를 분산 시스템에서 빠르게 처리할 수 있다. Deeplearning4j는 단어 빈도-역 문서 빈도(tf-idf), word2vec, doc2vec, GloVe 알고리즘 구현을 포함하고 있다. 또, t-분포 확률적 이웃 임베딩(t-SNE)을 이용해 단어 구름(word cloud)을 시각화할 수 있다.[20] 버전 1.0.0-beta4부터는 BERT에 의한 학습 모델 이용도 가능해졌다.[48][49]

2. 6. 모델 서버 (SKIL)

Deeplearning4j는 SKIL(Skymind Intelligence Layer)의 무료 개발자 버전을 사용하여 실제 운영 환경에서 추론을 위한 기계 학습 모델을 제공한다.[27][28] 모델 서버는 데이터에 대한 결정을 내리는 매개변수 기계 학습 모델을 제공한다. 이는 데이터 파이프라인과 모델 훈련 이후 기계 학습 워크플로우의 추론 단계에 사용된다. 모델 서버는 데이터 과학 연구를 실제 운영 환경에 배포할 수 있도록 해주는 도구이다.

웹 서버가 인터넷에 미치는 영향과 마찬가지로, 모델 서버는 인공지능에 중요한 역할을 한다. 웹 서버가 HTTP 요청을 수신하고 웹 사이트에 대한 데이터를 반환하는 반면, 모델 서버는 데이터를 수신하고 해당 데이터에 대한 결정 또는 예측을 반환한다. 예를 들어, 이미지를 전송하면 모델 서버는 해당 이미지의 레이블을 반환하여 사진 속 얼굴이나 동물을 식별할 수 있다.

SKIL 모델 서버는 텐서플로우(Tensorflow), 케라스(Keras), 테아노(Theano) 및 CNTK와 같은 파이썬 프레임워크에서 모델을 가져올 수 있어 딥 러닝 모델 배포의 주요 장벽을 극복한다.

3. 활용 분야

Deeplearning4j는 금융 업계의 사기 탐지[72], 비정상 행위 탐지[73], 이미지 인식 등에 사용되고 있다. 또 RapidMiner와 Prediction.io 등 다른 기계학습 플랫폼과 통합되었다.[74] 실제 사용 사례로는 네트워크 침입 탐지 및 사이버 보안, 금융 부문의 사기 탐지[21][22], 제조업과 같은 산업의 이상 감지, 전자 상거래 및 광고의 추천 시스템[23], 그리고 이미지 인식 등이 있다.[24] Deeplearning4j는 Weka와 같은 다른 기계 학습 플랫폼과도 통합되었다.[26]

4. 관련 라이브러리


  • OpenNN c++(C++) 언어로 작성된 딥 러닝을 위한 오픈 소스 신경망 라이브러리이다.
  • [http://torch.ch/ 토치] 스크립트 언어 루아를 기반으로 한 오픈 소스 프레임워크이다. 기계 학습 알고리즘을 광범위하게 지원한다.
  • [http://www.deeplearning.net/software/theano/ 띠아노] 파이썬 기반의 딥 러닝을 위한 오픈 소스 라이브러리이다.
  • [http://www.tensorflow.org/ Tensorflow] 구글에서 발표한 기계학습 오픈소스 라이브러리이다.
  • Neuroph

5. 벤치마크

Deeplearning4j는 여러 개의 GPU를 사용한 복잡한 이미지 인식 작업에서 Caffe만큼 빠르다.[29] JVM에서 HPC에 익숙하지 않은 프로그래머의 경우, 신경망 훈련 시간을 최적화하기 위해 조정해야 하는 여러 매개변수가 있다. 여기에는 힙 공간 설정, 가비지 수집 알고리즘, 힙 외부 메모리 사용, 더 빠른 ETL을 위한 데이터 사전 저장(피클링) 등이 포함된다.[30] 이러한 최적화를 통해 Deeplearning4j에서 성능이 10배 향상될 수 있다.

6. API 언어

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

Deeplearning4j는 자바, 스칼라, 파이썬, 클로저코틀린을 포함한 여러 API 언어를 통해 사용할 수 있다. 스칼라 API는 ScalNet이라고 한다.[31] Keras는 파이썬 API 역할을 한다.[32] 그리고 클로저 래퍼는 DL4CLJ로 알려져 있다.[33] 딥 러닝에 필요한 대규모 수학 연산을 수행하는 핵심 언어는 C, C++, 그리고 CUDA C이다.

참조

[1] 웹사이트 Releases · eclipse/deeplearning4j https://github.com/e[...] 2021-04-03
[2] 간행물 The Mission to Bring Google's AI to the Rest of the World https://www.wired.co[...] 2014-06-02
[3] 뉴스 Deep Learning for (Some of) the People http://www.businessw[...] 2014-06-03
[4] 웹사이트 Want an open-source deep learning framework? Take your pick https://venturebeat.[...] 2015-11-14
[5] 웹사이트 Adam Gibson, DeepLearning4j on Spark and Data Science on JVM with nd4j, SF Spark @Galvanize 20150212 https://www.youtube.[...] 2015-02-12
[6] 웹사이트 Github Repository https://github.com/a[...] 2020-04-01
[7] 웹사이트 deeplearning4j.org http://deeplearning4[...]
[8] 웹사이트 Skymind Intelligence Layer Community Edition https://skymind.ai/q[...] 2017-11-02
[9] 웹사이트 Eclipse Deeplearning4j Project Page https://projects.ecl[...] 2017-06-22
[10] 웹사이트 Skymind's Deeplearning4j, the Eclipse Foundation, and scientific computing in the JVM https://jaxenter.com[...] 2017-11-15
[11] 뉴스 Deep learning startup Skymind raises $3 million, launches Intelligence Layer distribution https://venturebeat.[...] 2016-09-28
[12] 뉴스 Skymind launches with open-source, plug-and-play deep learning features for your app https://venturebeat.[...] 2014-06-02
[13] 웹사이트 deeplearning4j/deeplearning4j https://github.com/d[...] 2023-04-29
[14] 웹사이트 Element https://app.gitter.i[...] 2023-04-29
[15] 웹사이트 Deeplearning4j Visualization Tools http://deeplearning4[...] 2016-08-17
[16] 웹사이트 Deeplearning4j Computation Graph http://deeplearning4[...] 2016-08-17
[17] 웹사이트 Iterative reduce https://github.com/e[...] 2020-03-15
[18] 웹사이트 DataVec ETL for Machine Learning http://deeplearning4[...] 2016-09-18
[19] 웹사이트 Anomaly Detection for Time Series Data with Deep Learning https://www.infoq.co[...] 2023-04-29
[20] 웹사이트 Google Code Archive - Long-term storage for Google Code Project Hosting. https://code.google.[...] 2023-04-29
[21] 웹사이트 Archived copy http://www.skymind.i[...] 2016-02-22
[22] 웹사이트 skymind.ai https://skymind.ai/b[...] 2023-04-29
[23] 웹사이트 Archived copy http://www.skymind.i[...] 2016-02-22
[24] 웹사이트 skymind.ai https://skymind.ai/i[...] 2023-04-29
[25] 웹사이트 DeepLearning4J(Stable) | RapidMiner China https://www.rapidmin[...] 2022-05-22
[26] 웹사이트 Home - WekaDeeplearning4j https://deeplearning[...] 2023-04-29
[27] 웹사이트 Products https://skymind.ai/p[...] 2017-09-20
[28] 웹사이트 Model Server for Deep Learning and AI - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM https://deeplearning[...] 2017-09-20
[29] 웹사이트 GitHub - deeplearning4j/Dl4j-benchmark: Repo to track dl4j benchmark code https://github.com/d[...] 2019-12-19
[30] 웹사이트 Deeplearning4j Benchmarks - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM https://deeplearning[...] 2017-01-30
[31] 웹사이트 Scala, Spark and Deeplearning4j - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM https://deeplearning[...] 2017-02-25
[32] 웹사이트 Running Keras with Deeplearning4j - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM https://deeplearning[...] 2017-02-25
[33] 웹사이트 Deep Learning with Clojure - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM https://deeplearning[...] 2017-02-25
[34] 웹사이트 Tensorflow & Deeplearning4j - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM https://deeplearning[...] 2017-09-07
[35] 웹사이트 The Mission to Bring Google's AI to the Rest of the World http://www.wired.com[...] 2014-06-02
[36] 웹사이트 Deep Learning for (Some of) the People http://www.businessw[...] 2014-06-28
[37] 웹사이트 Want an open-source deep learning framework? Take your pick http://venturebeat.c[...] 2015-11-24
[38] 웹사이트 Adam Gibson, DeepLearning4j on Spark and Data Science on JVM with nd4j, SF Spark @Galvanize 20150212 https://www.youtube.[...] 2015-03-01
[39] 웹사이트 A startup called Skymind launches, pushing open source deep learning http://gigaom.com/20[...] 2014-06-29
[40] 웹사이트 Skymind launches with open-source, plug-and-play deep learning features for your app http://venturebeat.c[...] 2014-06-29
[41] 웹사이트 Github Repository https://github.com/a[...] 2014-06-29
[42] 웹사이트 deeplearning4j.org http://deeplearning4[...] 2017-04-15
[43] 웹사이트 Crunchbase Profile http://www.crunchbas[...] 2014-06-29
[44] 웹사이트 Google Code https://code.google.[...] 2014-06-29
[45] 웹사이트 Deeplearning4j source code https://github.com/p[...] 2015-03-01
[46] 문서 Deeplearning4j Gitter Support Channel https://gitter.im/de[...]
[47] 웹사이트 Iterative reduce https://github.com/e[...] 2014-06-29
[48] 웹사이트 Add Bert Word Piece Tokenizer #7141 https://github.com/e[...] 2019-11-21
[49] 웹사이트 Add BertIterator (MultiDataSetIterator for BERT training) #7430 https://github.com/e[...] 2019-11-21
[50] 문서 http://www.skymind.i[...] 2015-03-01
[51] 문서 http://www.skymind.i[...]
[52] 문서 https://www.rapidmin[...]
[53] 웹인용 Releases · eclipse/deeplearning4j https://github.com/e[...] 2021-04-03
[54] 뉴스 The Mission to Bring Google's AI to the Rest of the World https://www.wired.co[...] 2017-11-11
[55] 뉴스 Deep Learning for (Some of) the People https://www.bloomber[...] 2017-11-11
[56] 웹인용 Want an open-source deep learning framework? Take your pick {{!}} VentureBeat https://venturebeat.[...] 2017-11-11
[57] 웹인용 https://www.youtube.[...]
[58] 웹인용 https://github.com/d[...]
[59] 웹인용 Deeplearning4j: Open-source, Distributed Deep Learning for the JVM https://deeplearning[...] 2017-11-11
[60] 웹인용 Adam Gibson - Founder & Chief Technology Officer @ Skymind https://www.crunchba[...] 2017-11-11
[61] 웹인용 SKIL CE 1.0.0 https://skymind.ai/q[...] 2017-11-11
[62] 뉴스 Eclipse Deeplearning4j https://projects.ecl[...] 2017-11-11
[63] 웹인용 A startup called Skymind launches, pushing open source deep learning https://gigaom.com/2[...] 2017-11-12
[64] 웹인용 Skymind launches with open-source, plug-and-play deep learning features for your app {{!}} VentureBeat https://venturebeat.[...] 2017-11-12
[65] 웹인용 https://github.com/d[...]
[66] 웹인용 deeplearning4j/deeplearning4j https://gitter.im/de[...] 2017-11-12
[67] 웹인용 deeplearning4j/deeplearning4j/deeplearning4j-kr https://gitter.im/de[...] 2017-11-12
[68] 웹인용 How to Visualize, Monitor and Debug Neural Network Learning - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM https://deeplearning[...] 2017-11-12
[69] 웹인용 Building Complex Network Architectures with Computation Graph - Deeplearning4j: Open-source, Distributed Deep Learning for the JVM https://deeplearning[...] 2017-11-12
[70] 웹인용 Deeplearning4j: Open-source, Distributed Deep Learning for the JVM https://deeplearning[...] 2017-11-12
[71] 웹인용 https://github.com/e[...]
[72] 웹인용 보관된 사본 https://web.archive.[...] 2016-06-04
[73] 웹인용 보관된 사본 https://web.archive.[...] 2016-02-22
[74] 웹인용 보관된 사본 https://archive.toda[...] 2016-06-04



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com