머신러닝, 딥러닝 ML, DL/Pytorch 4

[Pytorch] Autograd, 자동 미분 ( requires_grad, backward(), 예시 )

저번 포스팅에선 선형 회귀를 간단히 구현했습니다. 이미 우리는 선형 회귀를 구현할 때 파이토치에서 제공하는 자동 미분(Autograd) 기능을 수행했습니다. ( requiers_grad = True, backward() ) 자동 미분(Autograd) 사용은 해봤지만 이번 포스팅에서는 자동 미분에 대해 좀 더 알아보겠습니다. 신경망을 학습할 때 가장 자주 사용되는 알고리즘은 역전파입니다. 역전파시 매개변수(모델의 가중치, 편향)는 해당 매개변수에 대한 손실 함수의 변화도(gradient)에 따라 조정됐습니다. 변화도를 계산하기 위해 파이토치에는 torch.autograd라고 불리는 자동 미분(Autograd) 엔진이 내장돼 있습니다. 예시 1 import torch 가장 먼저, $w^3 + 10$ 라는 ..

[Pytorch] 파이토치, 선형 회귀(Linear Regression) 간단히 구현해보기

이번에는 파이토치로 선형 회귀를 해보겠습니다. 선형 회귀는 주어진 데이터 집합에 대해, 종속 변수와 독립 변수들 사이의 선형 관계를 모델링합니다. 문제 아래 표와 같이 어떤 차량이 이동하는데 1시간 후 70km, 2시간 후 140km, 3시간 후 210km를 이동했다면, 4시간 후에는 몇 km를 이동할지에 대해 예측해봅시다. 이동 시간 (H) 이동 거리 (Km) 1 70 2 140 3 210 4 ? 선형 회귀 위의 식은 독립 변수가 하나 이므로 선형 회귀 모델은 $y = wx + b$ 형태를 갖습니다. ( w는 가중치 b는 편향입니다. ) 본격적으로 위의 문제를 파이토치 코드로 나타내 간단한 선형회귀를 해보겠습니다. 먼저, 필요한 라이브러리를 불러오겠습니다. import torch import torch..

[Pytorch] 파이토치, 텐서(Tensor)란 (텐서 속성, 텐서 초기화)

파이토치에서 텐서(tensor)는 배열, 행렬과 매우 유사한 특수한 자료구조입니다. ( 1차원으로 구성된 값을 벡터, 2차원으로 이루어진 값을 행렬, 그리고 3차원 이상을 텐서로 나눠 부르기도 합니다. 하지만 파이토치에서 type은 모두 torch.Tensor 입니다.) 텐서는 Numpy의 ndarray와 매우 유사하며, GPU나 다른 연산 가속을 위한 하드웨어에서 실행할 수 있다는 장점이 있습니다. 파이토치에서 텐서를 사용해보면서 알아보겠습니다. 이번 포스팅에서는 torch와 numpy를 사용하겠습니다. import torch import numpy as np 텐서 속성 (Attribute) 텐서의 속성은 텐서의 모양(shape), 자료형(datatype) 그리고 어느 장치(device)에 저장되는지 ..

[Pytorch] 파이토치로 GAN(Generative Adversarial Net) 구현하고 MNIST 손글씨 이미지 생성하기

yunjey/pytorch-tutorial PyTorch Tutorial for Deep Learning Researchers. Contribute to yunjey/pytorch-tutorial development by creating an account on GitHub. github.com 네이버 최윤제님의 자료를 통해 공부하고 기록한 글입니다. 파이토치를 통해 GAN을 구현하고, MNIST 데이터 셋을 이용해 실습했습니다. Google Colab 을 사용했습니다. 라이브러리 불러오기 및 하이퍼파라미터 설정 import torch import torch.nn as nn import torch.optim as optim import torchvision.utils as utils import tor..