PyTorch 란?
- 페이스북에서 개발
- 데이터에 대한 딥러닝 분석을 쉽게 할 수 있게 하는 오픈소스 기반 딥러닝 프레임워크
- 딥러닝 프레임워크를 툴로써 제공함으로 손쉽게 프로그래밍 가능
- 파이썬 기반으로 바로 사용가능함으로 개발 과정이 텐서플로우보다 심플
파이토치 패키지 기본 구성
1. torch
- 메인 네임스페이스, 텐서 등의 다양한 수학 함수 포함, Numpy와 유사한 구조
* Numpy - 다차원 배열을 쉽게 처리하고 효율적으로 사용할 수 있도록 지원하는 파이썬 패키지, 데이터 분석을 할 때 Pandas와 함께 자주 사용하는 도구
* 다차원 배열이 왜 필요한가? 데이터는 이미지, 오디오, 텍스트, 숫자 등 다양한 형태와 크기로 존재하는데 이를 컴퓨터가 이해할 수 있도록 데이터를 숫자의 배열로 관리해야 하기 때문
2. torch.autograd
- 자동 미분을 위한 함수로 구성, 콘텍스트 매니저(자동 미분 on/off를 제어)와 Function (자체 미분 가능 함수 정의)등이 포함
* 미분 - "한 점에서의 기울기" 를 의미, 기울기는 두 점을 잇는 직선의 기울기가 기본이지만, 미분은 두 점 사이의 거리가 어마어마하게 가까울 때의 기울기이기 때문에 한 점에서의 기울기로 보임, 다시 말하면 x증가량이 거의 0으로 갈 때의 기울기를 의미한다고 볼 수 있음
3. torch.nn
- 신경망을 구축하기 위한 다양한 데이터 구조와 레이어 등이 정의, RNN, LSTM, 활성화 함수(ReLU 등), 손실함수(MSELoss 등) 등 포함
* RNN - 순환 신경망(recurrent neural network), 순차 데이터를 처리하기 위해 고안된 순환층을 1개 이상 사용한 신경망
* 순차 데이터 - 텍스트나 시계열 데이터와 같이 순서에 의미가 있는 데이터
* LSTM(Long Short-Term Memory) - RNN의 한 종류, 긴 의존 기간을 필요로 하는 학습에 특화
* ReLU - 이미지 분류 모델의 은닉층에 많이 사용, 입력이 양수일 경우 그냥 통과, 음수일 경우는 0으로 만듬
* MSELoss(Mean Squared Error Loss) - 분류(classsification) 모델에서 많이 사용, image간의 차이나 mask간의 차이를 구하기 위해서도 사용
4. torch.optim
- 확률적 경사 하강법(Stochastic Gradient Descent, SGD)를 중심으로 한 파라미터 최적화 알고리즘이 구현
* 확율적 경사 하강법 - 점진적 학습의 대표적 알고리즘, 훈련 세트에서 샘플 하나씩 랜덤으로 꺼내 손실 함수의 경사를 따라 최적의 모델을 찾는 알고리즘
5. torch.utils.data
- SGD의 반복 연산을 실행할 때 사용되는 미니 배치용 유틸리티 함수 포함
* 배치(batch) - 집단, 무리, 한 회분 등의 사전적 정의, 딥러닝에서 배치는 모델의 가중치를 한번 업데이트 시킬 때 사용되는 샘플들의 묶음
* 에포크(epoch) - 중요한 사건, 변화들이 일어난 시대라는 사전적 정의, 딥러닝에서 에포크는 학습의 횟수를 의미
6. torch.onnx
- ONNX(Open Neural Network Exchange)의 포맷으로 모델을 익스포트할 때 사용.
* ONNX는 서로 다른 딥 러닝 프레임워크 간에 모델을 공유할 때 사용하는 포맷
참고:
https://wikidocs.net/book/2788
PyTorch로 시작하는 딥 러닝 입문
이 책은 딥 러닝 프레임워크 PyTorch를 사용하여 딥 러닝에 입문하는 것을 목표로 합니다. 이 책은 2019년에 작성된 책으로 비영리적 목적으로 작성되어 출판 ...
wikidocs.net
'AI > PyTorch' 카테고리의 다른 글
PyTorch #소프트맥스 회귀(Softmax Regression) (0) | 2022.03.24 |
---|---|
PyTorch #로지스틱 회귀(Logistic Regression) (0) | 2022.03.23 |
PyTorch #선형 회귀(Linear Regression) (0) | 2022.03.23 |
PyTorch 텐서 조작 #뷰 #스퀴즈 #언스퀴즈 #타입 캐스팅 #텐서 연결 (0) | 2022.03.22 |
PyTorch 텐서 조작 #텐서 선언 #곱셈 #평균 #덧셈 #최대 #아그맥스 (0) | 2022.03.22 |