728x90
반응형

PyTorch 10

2. PyTorch의 주요 Module 소개

안녕하세요, MoonLight입니다.​이번 Post에서는 PyTorch를 구성하는 다양한 Module에 대해서 소개해 드리고자 합니다.​​Model을 설계하고 Train 시키는데 매우 다양한 기능이 필요한 것은 어찌보면 당연한 일입니다.​이를 위해서 PyTorch는 잘 만들어진 Module을 제공하고 있습니다.​PyTorch Module의 특징이라면 기본적으로 유연성과 사용성을 극대화하는 철학을 바탕으로 Framework이기 때문에, 다음과 같은 핵심 원칙에 기반을 두고 만들어졌습니다.​1. 동적 연산 그래프(Define-by-Run) 사용자가 실행 시점에서 Model을 정의하고 변경할 수 있도록 하여 직관적이고 Debugging이 용이하도록 설계되었습니다.​2. Module화(Modularity) Py..

PyTorch 2025.03.04

10. Early Stopping

안녕하세요, MoonLight입니다.​이번 Post에서는 모델의 학습을 적절한 시점에 마무리 할 수 있도록 해주는 Early Stopping이라는 개념과 구현에 대해서 알아보도록 하겠습니다.​​​ 1. Early Stopping 1.1. Early Stopping이란? Deep Learning 모델을 훈련할 때, 보통 더 많은 Epoch을 수행할수록 성능이 좋아질 것이라고 생각할 수 있는데, 현실에서는 무작정 학습을 오래 한다고 해서 항상 좋은 모델이 되는 것이 아닙니다.모델이 처음 학습을 시작하면, 훈련 데이터의 패턴을 학습하면서 점차 Loss가 줄어듭니다. 그러나 어느 순간이 지나면 훈련 데이터에 지나치게 최적화(overfitting)되면서 검증 데이터(Validation Set)에서의 성능이..

PyTorch 2025.03.03

9. Learning Rate Schedulers

안녕하세요, MoonLight입니다.​이번 Post에서는 Learning Rate를 효율적으로 변경하여 학습이 잘 이루어지도록 도와주는 Learning Rate Scheduler에 대해서 알아보도록 하겠습니다.​​​​​​1. Learning Rate 1.1. Learning Rate ? 딥러닝에서 모델을 학습할 때 가장 중요한 하이퍼파라미터 중 하나가 학습률(Learning Rate, LR)입니다. Learning Rate는 모델이 데이터를 학습하는 과정에서 가중치(Weight)와 편향(Bias)을 얼마나 빠르게 업데이트할지를 결정하는 값입니다. 쉽게 말해, Learning Rate은 우리가 경사 하강법(Gradient Descent)을 이용해 최적의 Weight를 찾아가는 과정에서 한 번의 업데이트..

PyTorch 2025.03.03

8. Optimizers

안녕하세요, MoonLight입니다.​이번 장에서는 딥러닝 모델의 Train을 하는데 있어서 중요한 요소중의 하나인, Optimizer에 대해서 알아보도록 하겠습니다.​​​​ 1. Optimization in Deep Learning 1.1. Optimization(최적화) 딥러닝 모델은 수많은 가중치(Weight)와 편향(Bias)이라는 학습 가능한 매개변수를 가지고 있습니다.모델의 성능을 평가하는 기준이 되는 Loss Function(손실 함수)는 이 매개변수들의 함수이며, 이를 최소화하는 것이 딥러닝 모델 학습의 목표입니다. 이때, 모델이 손실을 최소화하도록 가중치를 조정하는 방법을 결정하는 것이 바로 최적화 알고리즘(Optimizer)이며, Optimizer는 모델의 Parameter(..

PyTorch 2025.03.03

7. Loss Function( 손실 함수 )

안녕하세요, MoonLight입니다.​이번 Post에서는 모델이 학습을 잘하고 있는지 정량적으로 표현할 수 있게 해주는 손실함수(Loss Function)에 대해서 알아보도록 하겠습니다.​​ 1. Loss Function ​ 1.1. Loss Function의 정의 Loss Function은 딥러닝 모델이 학습을 올바르게 수행하고 있는지를 정량적으로 평가하는 역할을 합니다.딥러닝 모델이 제대로 학습하고 있는지를 평가하려면, 우리가 원하는 결과(정답)와 모델이 예측한 값(출력값)이 얼마나 차이가 나는지를 정량적으로 측정해야 합니다.이 차이를 수치화한 것이 바로 손실(loss)이며, 이를 계산하는 함수가 손실 함수(Loss Function) 입니다.​예를 들어, 집값을 예측하는 모델을 만든다고 가정해..

PyTorch 2025.03.03

6. 신경망 구성 - Container Class

안녕하세요, MoonLight입니다.​이번 장에서는 신경망을 구성하는 기본 개념과, PyTorch에서 제공하는 다양한 Container Class를 활용하여 신경망을 구축하는 방법에 대해 알아보겠습니다.​​​ 1. Model 구성의 기본 개념 1.1. 신경망 모델이란 무엇인가? 신경망(Neural Network)은 머신러닝 기법 중 하나로, 인간의 뇌가 정보를 처리하는 방식에서 착안하여 만들어진 모델입니다.기존의 다양한 머신러닝 알고리즘들은 사람이 직접 특징(feature)을 정의해야 했다면, 신경망은 데이터를 입력받아 특징을 스스로 학습한다는 점이 다릅니다.​​​ 1.2. 머신러닝과 신경망의 차이 머신러닝은 크게 지도 학습(Supervised Learning), 비지도 학습(Unsuper..

PyTorch 2025.03.03

5. Dataset & DataLoader

안녕하세요, MoonLigt입니다.​이번 Post에서는 Train Data를 효율적으로 가공하고 Model에 공급(?)해 주는 역할을 하는 Dataset & DataLoader Module에 대해서 알아보도록 하겠습니다.​​​​ 1. Dataset & DataLoader 개념과 필요성​딥러닝 모델을 학습할 때 가장 중요한 요소 중 하나는 바로 "데이터"입니다.​보통 딥러닝 모델을 학습할 때는 대용량의 데이터를 Model에 입력해야 하는데, 잘못된 방식이나 비효율적으로 입력된다면 성능 좋은 모델이 나올 수도 없고 Train에 시간도 많이 걸리게 될 것입니다.그렇다면, 딥러닝 모델을 학습할 때 최적의 성능을 내도록 데이터를 올바르게 준비하고, 효율적으로 전달하는 방법은 무엇일까요?​가장 단순하게 생각해보..

PyTorch 2025.03.03

4. Basic Train Loop

안녕하세요, MoonLight입니다.​이번 글에서는 PyTorch를 이용한 기본적인 Train Loop를 분석하고, 각 구성 요소가 하는 역할을 상세히 설명합니다. ​이를 통해 신경망 모델을 학습하는 과정에서 필요한 핵심 개념들을 익힐 수 있습니다​이 Code의 기본적인 구조는 신경망을 이용한 Deep Learning Model을 학습시키기 위한 가장 기본적인 요소들을 모두 가지고 있다고 생각합니다.​각각의 요소들을 하나씩 살펴보면서 Deep Learning 신경망 학습을 하기 위해서 어떤 것들이 필요하고, PyTorch는 그것을 어떤 방식으로 지원하는지 알아보도록 하겠습니다.​​​​​ 1. 전체 Code import torchimport torch.nn as nnimport torch.optim ..

PyTorch 2025.03.03

3. Tensor

안녕하세요, MoonLight입니다.​이번 Post에서는 Deep Learning에서 Data를 표현하기 위한 자료구조인 Tensor에 대해서 알아보도록 하겠습니다.​​ 1. Tensor ​ 1.1 Tensor의 개념 Tensor는 겉으로 보기에 숫자로 이루어진 다차원 배열(Multi-dimensional Array)입니다.PyTorch를 비롯한 대부분의 딥러닝 프레임워크는 Tensor를 기본 데이터 구조로 사용합니다.Tensor는 스칼라(Scalar), 벡터(Vector), 행렬(Matrix) 및 고차원 배열을 일반화한 개념으로 볼 수 있습니다.​딥러닝 모델에서 Tensor는 학습을 위한 데이터를 표현하는 필수적인 자료구조입니다. 모델이 데이터를 처리하고 가중치를 업데이트하기 위해 연속적인 수치..

PyTorch 2025.03.03

1. PyTorch 소개

안녕하세요, MoonLight입니다.​Deep Learning Framework의 양대산맥이라고 하면 Tensorflow와 PyTorch일 것입니다.​예전에는 다양한 Framework이 많이 있었지만, 이제는 거의 이 2개가 대부분을 차지한다고 할 수 있고, 점점 PyTorch의 비중이 늘어나는 것 같습니다.​앞으로 PyTorch Framework 관련 강의를 시작해 보려고 합니다.​이번 Post에서는 첫 시간으로 PyTorch의 간단한 소개부터 시작하려고 합니다.​​​​​ 1. PyTorch ? PyTorch는 Python 기반의 Open Source Deep Learning Framework로, 주로 인공신경망(Artificial Neural Networks)을 구축하고 학습시키는 데 사용됩니다. ​..

PyTorch 2025.03.03
728x90
반응형