티스토리 뷰

DL/Pytorch

[Ch1, 2] Deep Learning & Pytorch

jeong_reneer 2022. 1. 10. 21:46

Ch1. Deep Learning

1) 포함 관계 : 인공지능(AI) ⊃ 머신러닝(ML) ⊃ 딥러닝(DL)

- 인공지능(AI) : 기계가 인간의 인지 과정(학습, 문제 해결)을 모방하는 것

- 머신러닝(ML) : 명시적으로 프로그래밍되지 않은 상태에서 기계에게 학습할 능력을 부여하는 것

데이터와 결과값이 주어지면 함수의 각 변수가 데이터에 의해 학습되어 스스로 적합한 값을 찾도록 훈련

ex) SVM, K-NN, Decision Tree, ANN

- 딥러닝(DL) :  여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화를 시도하는 것

ex) DNN : 인공신경망에서 은닉층의 개수가 1개 이상인 네트워크 → 지도/비지도/강화학습에 모두 사용

 

2) 학습 방법

- 지도학습(SL) : 데이터와 각각에 해당하는 정답 쌍이 존재할 때 데이터와 정답 간의 상관관계를 모델링하는 방식 ex) Classification

- 비지도학습(USL) : 데이터만 있고 정답이 존재하지 않는 상황에서 데이터에 숨겨진 특정 패턴을 찾는 과정 ex) Clustering

- 강화학습(RL) : 특정 환경에서 어떤 행동을 했을 때 결과로 얻어지는 보상을 통해 최종 보상을 극대화하도록 학습하는 알고리즘

 

3) 왜 배워야 하는가 : 딥러닝 모델을 이용하면 기존 알고리즘으로 풀기 어려웠던 문제들, 즉 사람에게는 쉽지만 컴퓨터에게는 어려웠던 문제들을 풀 수 있음 ex) 물체 인식 문식

 

4) 할 수 있는 것 : 물체 구분, 위치와 경계선 인식, 물체의 이동 패턴, 이미지 캡셔닝, 의료, 게임, 보안, 금융 등 다양한 분야 적용 가능

 

Ch2. Pytorch

파이토치(PyTorch) : 2017년 초에 페이스북 인공지능 연구팀에 의해 공개된 파이썬 기반 딥러닝 프레임워크로, GPU를 활용하여 인공 신경망 모델을 구현하고 학습할 수 있도록 함 (https://pytorch.org)

 

1) 다른 프레임워크와의 비교

(1) Numpy VS PyTorch

Numpy PyTorch
기울기 계산 시 모든 미분 식을 각 변수에 대해 직접 계산 backward() 함수로 자동 계산
GPU 연산 불가 (Slow) CUDA, cuDNN 통해 GPU 연산 가능 (Fast)

CUDA : 엔비디아에서 GPU를 통한 연산을 가능하게 만든 API 모델

cuDNN : CUDA를 이용해 딥러닝 연산을 가속해주는 라이브러리

CUDA + cuDNN = CPU의 15배 이상 연산 속도

 

 

 

(2) TensorFlow VS PyTorch

TensorFlow PyTorch
Define and Run : 연산 그래프 먼저 정의, 연산 시 값만 할당 Define by Run : 연산 그래프 정의와 동시에 연산 값 할당
과정이 분리되므로 전체 코드 길이가 길어짐 코드 상에서 연산 그래프와 연산을 분리하지 않음
  연산 속도 약 2.5배 빠름

 

 

 

2) 설치하는 법

[테슬라 K80 GPU가 있는 우분투 서버] + 아나콘다 가상환경 사용

설치 순서 : Anaconda (for Linux Installer) → Python → CUDA → cuDNN → PyTorch

 

[Google Colab]

별도 설치 과정 X

 

 

 

'DL > Pytorch' 카테고리의 다른 글

[Ch7] 학습 시 생길 수 있는 문제점 및 해결방안  (0) 2022.01.22
[Ch6] 순환신경망(RNN)  (0) 2022.01.20
[Ch5] 합성곱 신경망(CNN)  (0) 2022.01.15
[Ch4] 인공 신경망(ANN)  (0) 2022.01.15
[Ch3] 선형회귀분석  (0) 2022.01.15
댓글
공지사항