티스토리 뷰
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 |