영대리의 하루일과

 

안녕하세요, 영대리입니다 :-)

최근 IT 개발자 채용공고를 보시면 '딥러닝 프레임워크(Deep Learning Framework) 사용 가능자를 우대하는 경우가 많습니다. 

그렇다면 딥러닝 프레임워크는 무엇이고 대표적인 딥러닝 기반 프레임워크의 종류에는 어떤 것들이 있는지 알아볼까요?


딥러닝(Deep Learning)이란

딥러닝(Deep Learning)이란 여러 층을 가진 인공신경망(Artificial Neural Network)을 사용하여 머신러닝 학습을 수행하는 것으로 심층학습이라고도 부릅니다.

기계가 자동으로 대규모 데이터에서 중요한 패턴 및 규칙을 학습하고 이를 토대로 의사결정이나 예측 등을 수행하는 기술입니다.

 

프레임워크(Framework)란

프레임워크(Framework)란 응용 프로그램을 개발하기 위한 여러 라이브러리나 모듈 등을 효율적으로 사용할 수 있도록 하나로 묶어 놓은 일종의 패키지입니다.

 

딥러닝 프레임워크(Deep Learning Framework)

딥러닝 프레임워크(Deep Learning Framework)는 이렇게 이미 검증된 수많은 라이브러리와 사전 학습까지 완료된 다양한 딥러닝 알고리즘을 제공해주어 개발자가 이를 빠르고 손쉽게 사용할 수 있도록 해줍니다.

이를 통해 중복적인 기능을 구현해야 하는 소모적인 작업으로부터 개발자를 해방시키고 문제 해결을 위한 핵심 알고리즘 개발에만 집중할 수 있도록 도와줍니다.


대표적인 딥러닝 기반 프레임워크 종류

1. Theano

최초의 딥러닝 라이브러리 중 하나로 파이썬(Python) 기반이며 CPU 및 GPU의 수치계산에 매우 유용한 선형대수 심벌 컴파일러로서 미분, 선형대수 계산을 포함해 Symbolic expression을 통한 정의된 수식을 사람처럼 미분하거나 재정리해서 전체 계산에 대한 최적의 계산 경로를 찾아내는 소프트웨어를 말합니다. 

Theano는 저수준 라이브러리로 딥러닝 모델을 직접 만들거나 그 위에 레버 라이브러리를 사용하여 프로세스를 단순화 할 수 있습니다.

다른 확장 학습 프레임워크와 달리 확장성이 뛰어나지 않고 다중 GPU지원이 부족하지만 범용적으로 딥러닝을 할 때 전 세계의 많은 개발자가 여전히 선택하고 있는 것 중 하나입니다.

 

 

2. 텐서플로(TensorFlow)

가장 인기 있는 딥러닝 라이브러리 중 하나인 텐서플로(TensorFlow)는 구글팀에서 개발했으며 2015년 오픈소스로 공개되었습니다.

2세대 머신러닝 시스템으로도 불리는 텐서플로는 파이썬(Python)기반 라이브러리로 여러 CPU 및 GPU와 모든 플랫폼, 데스크톱 및 모바일에서 사용할 수 있습니다.

다른 프레임워크에 비해 속도가 느린 편이며, 스칼라(Scala) 언어는 지원하지 않습니다.

Theano와 마찬가지로 텐서플로는 저수준 라이브러리로 딥러닝 모델을 직접 만들거나 그 위에 레버 라이브러리를 사용하여 프로세스를 단순화 할 수 있습니다.

텐서플로우는 C/C++엔진에 파이썬 API로 제작되어 빠른 실행이 가능하며, 딥러닝 알고리즘뿐만 아니라 강화 학습을 위한 다양한 알고리즘도 같이 지원하고 있습니다.

또한 텐서보드(TensorBoard)라는 모델 가상화 도구를 제공하여 모델을 손쉽게 시각화 할 수 있습니다.

 

 

3. 케라스(Keras)

Teano와 텐서플로(TensorFlow)는 매우 훌륭한 딥러닝 라이브러리지만 직접 사용하여 모델을 만드는 것은 매우 저급수준이기 때문에 어려울 수 있습니다. 

이 문제를 해결하기 위해 케라스(Keras)는 효율적인 신경망 구축을 위한 단순화 된 인터페이스로 개발되었습니다.

케라스는 Teano 또는 텐서플로에서 작동하도록 구성할 수 있고 백엔드로 사용되며, 토치(Torch)와 같이 직관적인 API를 제공합니다. 

또한 파이썬으로 제작되어 매우 가볍고 배우기도 쉬우며 빠른 업데이트로 다양한 계층에서 빠른 속도로 발전하고 있는 차세대 딥러닝 프레임워크라고 할 수 있습니다. 

비교적 새로운 라이브러리임에도 불구하고 아주 좋은 문서를 가지고 있으며 몇 줄의 코드에서 케라스(Keras)를 사용하여 신경망을 만들 수 있습니다.

 

4. 토치(Torch)

토치(Torch)는 루아(Lua)라는 스크립트 언어를 기반으로 제작된 딥러닝 프레임워크로 페이스북, 구글 등과 같은 대기업에서도 토치(Torch)를 기반으로 하는 자체 버전을 별도로 개발하여 사용하고 있을 정도로 효율적인 프레임워크입니다.

토치(Torch)는 최대한 유연성을 달성하고 모델을 제작하는 과정을 매우 간단하게 만드는 것을 목표로 만들어졌으며 강화 학습에 필요한 사전 학습된 다양한 라이브러리를 제공해 줍니다.

Lua는 자바스크립트(Javascript)와 비슷한 스크립트 언어로 파이썬보다 빠른 특징이 있습니다.

 

5. DL4J(DeepLearning4J)

DL4J(DeepLearning4J)는 자바(Java)로 개발된 인기 있는 딥러닝 프레임워크로 클로저(Closure)나 스칼라(Scala)와 같은 다른 JVM언어도 지원합니다.

또한 DL4J(DeepLearning4J)는 상업/산업 중심의 분산 딥러닝 플랫폼으로도 널리 사용됩니다.

DL4J(DeepLearning4J)는 하둡(Hadoop)과 스파크(Spark)를 기반으로 하는 빅데이터 도구와 함께 사용할 수 있으므로 효율적인 딥러닝이 가능하기 때문에 전체 자바 생태계의 힘을 결합하여 효율적인 딥러닝을 수행할 수 있다는 장점이 있습니다.

이러한 DL4J(DeepLearning4J)는 비즈니스 환경 중심의 분산 딥러닝 플랫폼으로 널리 사용되고 있습니다.

 


지금까지 딥러닝 프레임워크의 정의와 종류에 대해서 알아보았습니다.

앞으로도 더 많은 IT 정보들을 공유드리겠습니다!

감사합니다 :-)

 

 

도움이 될만한 글

 

얼굴인식 스타트업 '알체라', AI로 산불 잡는다

알체라라는 기업에 대해서 알고 계신가요? 알체라는 얼굴 인식 관련 기술 사업을 추진 중인 국내 AI 스타트업입니다. 저와 비슷한 세대이신 분들에게는 '스노우'라는 얼굴 인식 기술을 이용한 카

robinn.tistory.com

 

 

최고 연봉 이어 최다 채용…IT업계, 개발자 '영입 전쟁' 2R

최고 연봉 이어 최다 채용…IT업계, 개발자 '영입 전쟁' 2R '최고 연봉'을 제시하는 것이 'IT 인재확보 쟁탈전'의 첫 번째 단추였다면, 이제는 각 기업들이 '최다 채용'을 한다고 밝히며 IT채용의 뜨

robinn.tistory.com

 

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading