728x90
1. Deep & Machine learning
- 머신러닝: 기계를 학습시킴으로써 인공지능의 성능을 보다 향상시킨 기술이다. 사람이 직접 필요한 데이터를 넣으면, 기계는 이를 학습하여 인간보다 더 정확하고 올바른 결과를 도출해낸다.
- 딥러닝: 머신러닝과 유사하지만, 머신러닝처럼 사람이 데이터를 선정해 학습시킬 필요가 없이 아무 데이터나 넣어도 기계 스스로가 학습하여 필요한 특성을 찾아나가는 기술이다.
2 . 딥러닝 프레임 워크
: 이미 검증된 수 많은 라이브러리와 사전 학습까지 완료된 다양한 딥러닝 알고리즘을 제공.
이를 빠르고 손쉽게 사용할 수 있도록 해줌.
응용 프로그램을 개발하기 위한 여러 라이브러리나 모듈 등을 효율적으로 사용할 수 있도록 하나로 묶어 놓은 일종의 패키지.
1. Theano
: 최초의 딥러닝 프레임워크.
파이썬을 기반으로 개발되었고, 데이터를 탐색하거나 수치 계산하는데에 매우 유용.
확장성이 뛰어나지는 않으며 다중 GPU에 대한 지원도 부족하지만 범용적인 딥러닝 모델 구축할 때 많이 사용.
2. Tensorflow
: 가장 인기있는 프레임워크.
Theano를 대신하기 위해 구글의 구글 브레인 팀에서 개발함. 빠른 실행이 가능.
딥러닝 알고리즘 뿐만 아니라 강화학습을 위한 다양한 알고리즘도 같이 지원하고 있음.
TensorBoard라는 모델 가상화 도구를 제공해 모델을 손쉽게 시각화할 수 있음.
다른 프레임워크에 비해 속도가 느린 편, 스칼라 언어는 지원하지 않음.
3. Keras
: Theano, Tensorflow를 백엔드로 사용하고, Torch와 같이 직관적인 API 제공.
파이썬으로 제작되어 매우 가볍고 배우기 쉬움.
4. Torch
: 제일 효율적인 듯.
강화학습에 필요한 사전 학습된 다양한 라이브러리를 제공해줌.
파이썬 기반의 Pytorch가 동적 계산 그래프를 제공함. Pytorch는 Facebook에서 개발.
RNN 분야에서 인기.
5. DeepLearning4J
: 자바
장점 | 단점 | |
텐서플로(TensorFlow) | 텐서보드를 통해서 파라미터 변화 양상이나 DNN의 구조를 알 수 있음. |
메모리를 효율적으로 사용하지 못함. |
케라스(Keras) | 배우기 쉽고 모델을 구축하기 쉬움. | 오류가 발생할 경우 케라스 자체의 문제인지 백엔드의 문제인지 알 수 없음. |
파이토치(Pytorch) | 간단하고 직관적으로 학습 가능. 속도 대비 빠른 최적화가 가능 |
텐서플로우에 비해 사용자층이 얕음 예제 및 자료를 구하기 힘듦 |
300x250
'개발자 파헤치기 > Deep learning' 카테고리의 다른 글
[Deep learning] Classification 과 Objection detecion이란? 특징과 차이 (0) | 2023.06.13 |
---|---|
[Deep learning] 컨볼루션 신경망 (CNN) 이란? (0) | 2023.04.10 |
[Deep learning] image segmentation (이미지 세그멘테이션) 이란? (0) | 2023.04.10 |
[Deep learning] 데이터 전처리란? - 데이터 전처리의 주요 기술 (0) | 2023.04.09 |
[Deep learning] 객체 감지 YOLO (You Only Look Once) 버전 비교 (0) | 2023.04.04 |