신경망 4

옵티마이저 종류 요약

옵티마이저(Optimizer)는 신경망 학습의 핵심적인 부분으로, 모델을 더 빠르고 정확하게 학습시키기 위한 최적화 알고리즘입니다. 간단히 말해, 옵티마이저는 신경망의 손실 함수(Loss Function) 값을 최소화하는 방향으로 가중치(Weight)와 편향(Bias)을 업데이트하는 역할을 합니다. 즉, 모델의 예측값과 실제값의 차이(오차)를 줄여나가며 최적의 모델을 찾아가는 과정이라고 할 수 있습니다. 신경망 학습은 마치 안개가 자욱한 산에서 가장 낮은 지점을 찾아 내려오는 과정과 같습니다. 이때 옵티마이저는 어느 방향으로, 얼마나 큰 보폭으로 나아가야 할지 결정하는 '등산객의 스마트한 나침반과 지도' 역할을 합니다. 옵티마이저의 종류 다양한 종류의 옵티마이저가 있으며, 각각의 특징과 장단점이 있습니다..

오류 역전파 및 기울기 계산 과정

개요붓꽃 데이터를 대상으로 꽃의 종류를 분류다층 퍼셉트론(Multi-Layer Perceptron, MLP) 모델의 오류 역전파 및 기울기 계산 과정 설명데이터셋붓꽃 데이터꽃 종류setosa (50개)versicolor (50개)virginica (50개)측정 항목sepal length (cm): 꽃받침 길이sepal width (cm): 꽃받침 넓이petal length (cm): 꽃잎 길이petal width (cm): 꽃잎 넓이문제 정의붓꽃의 종류가 무엇인지 표시되어 있는 데이터 세트를 사용하여 붓꽃 분류 기능을 학습합니다.새로운 붓꽃 데이터에 대하여 종류가 무엇인지 예측합니다.모델 함수 정의입력층의 크기: 4은닉층의 크기: 8 (다른 값으로 지정할 수도 있음)출력층의 크기: 3비용 함수 정의비용 ..

경사하강법에서 손실값의 변화

모델 파라미터 변경에 따른 손실의 변화율 손실 함수 위의 한 지점(현재 파라미터)에서 손실 값의 변화가 가장 큰 방향을 계산할 수 있습니다. 이를 기울기(Gradient)라고 합니다. 즉, 기울기는 '특정 파라미터를 조금 변경했을 때, 손실 값이 얼마나 변하는가’를 나타내는 값입니다. 손실을 줄이는 방향으로 모델 파라미터 수정 기울기는 손실이 가장 크게 '증가’하는 방향을 가리킵니다. 우리의 목표는 손실을 '감소’시키는 것이므로, 기울기의 반대 방향으로 파라미터를 조금씩 이동시켜야 합니다.경사하강법의 종류와 손실 값의 변화 경사하강법은 기울기를 계산할 때 사용하는 데이터의 양에 따라 크게 세 가지 방식으로 나뉩니다. 이 방식에 따라 손실 값의 변화 양상과 학습 효율성이 크게 달라집니다.구분설명Batch ..

PyTorch 딥러닝 훈련 메커니즘과 Autograd 이해

딥러닝의 학습 과정은 고차원 공간(파라미터 공간)에서 에너지 포텐셜(Loss Function)이 가장 낮은 지점을 찾아가는 과정과 같습니다. PyTorch는 이 과정을 효율적으로 수행하기 위해 동적 계산 그래프(Dynamic Computational Graph)라는 개념을 사용합니다. MNIST 분류 모델을 예로 들어, 훈련 루프 내부에서 일어나는 일을 단계별로 해부해 보겠습니다.import torchimport torch.nn as nnimport torch.optim as optimfrom torchvision import datasets, transformsfrom torch.utils.data import DataLoader# 1. 데이터셋 준비 (MNIST)# 텐서 변환 및 정규화transfor..