pytorch 4

[딥러닝] Gradient Descent (경사하강법) - 심화

이전 포스팅에서 Gradient Descent에 대한 기본적인 내용을 다룬 바 있다. 오늘은 이와 이어지는 내용으로 Gradient Descent의 더 심화된 버전을 다뤄볼 생각이다. 이번 포스팅의 내용에서는 쉬운 이해와 간결성를 위해 Activation Function은 배제하고 생각하겠다. 경사하강법" target="_blank" rel="noopener" data-mce-href="http://경사하강법">http://경사하강법 [딥러닝] Gradient Descent (경사하강법)1. ML as an Optimization Problem기계학습이 해야 할 일을 식으로 정의하면, 주어진 cost function $J(\theta)$에 대해, $J(\theta)$를 최소로 하는 $\hat{\theta..

[딥러닝] PyTorch - Dataset and Data Loader

Dataset과 Data Loader는 Pytorch에서 제공하는 추상 클래스이다.  Dataset (torch.utils.data.Dataset)- Mini-Batch를 구성할 각 data sample들을 하나씩 불러오는 기능을 수행한다 Data Loader (torch.util.data.DataLoader)- Dataset에서 불러온 각 data sample들을 모아서 mini-batch로 구성하는 기능을 수행한다. Dataset의 기본 뼈대1. __init__ 함수2. __len__ 함수3. __getitem__ 함수 위 함수들을 명시해서 Custom Dataset을 만들 수 있다! from torch.utils.data import Datasetclass CustomDataset(Dataset):..

[딥러닝] PyTorch - Tensor

1. TensorTensor(torch.Tensor)Numpy의 배열(Array)와 행렬(Matrix)와 매우 유사한 구조Pytorch에서 scalar, vector, matrix, tensor 등을 표현하는데 사용 Pytorch의 Tensor는 GPU나 TPU같은 연산 가속을 위한 특수한 하드웨어에서 사용할 수 있다Backward Pass에서 계산된 Gradient(.grad)를 저장한다기본적으로 torch.Tensor에 어떤 operation (더하기, 곱셈) 등을 취하면 해당 operation이 Computational Graph에 기록된다 Tensor란?데이터를 표현하는 단위로, 다차원 배열의 일반화된 모습이다. Pytorch에서 Tensor를 가지고 연산을 수행하면, 해당 연산은 Computat..

[딥러닝] Neural Network

1. 인공 신경망 (Artificial Neural Network) 이란?신경망이라고 불리는 Neural Network는 딥러닝에서 가장 기본이 되는 개념이다. 신경망이란 인간의 뇌의 신경세포인 뉴런의 연결 구조를 말하며, 이러한 신경망을 본떠 만든 네트워크 구조를 인공신경망(Artificial Neural Network)이라고 부른다.인체에 자극이 들어오게 되면 (input) 뉴런은 서로 간에 신호를 전달하여 (neural network) 우리가 특정 신체적 활동을 하도록 한다(output). 이러한 과정을 컴퓨터로 구현한 것이 바로 인공 신경망이다. 2. Neural Network의 구조와 작동 방식  기본적인 Neural Network의 구성은 한 개의 input layer, 한 개 이상의 hidd..