Pytorch

딥러닝 파이프라인

술임 2025. 4. 7. 16:54

학습 단계

배치가 작을수록 가중치 수정이 빈번하게 일어남.

배치가 작으면 모델이 디테일하지만, 다양한/일반적인 특징은 못봄. 

 

GPU 메모리에서 핸들링할 수 있는 최대치로 하는게 좋음. 

 

epoch과 batch

-> 가지고 있는 데이터를 다 쓰면 1 epoch

10 epoch는 가지고 있는 데이터를 10번 돌린다는 뜻

batch는 모델에 가지고 있는 데이터를 몇장씩 넣을 건지. 넣은 배치 이미지 마다 예측, 정답을 가려서 가중치를 수정하고 다음 배치를 다시 입력으로 받음

 

1 epoch는 여러 batch

 

오차는 예측과 정답 사이에 차이가 얼만큼 있는지.

최적화는 선을 얼마만큼 움직여서 최적의 방향으로 가는지.

오차가 큰 경우에는 최적화를 더 많이 할 수도 있음.

 

텐서와 벡터

텐서를 1차원으로 펼치면 벡터

 

커널 기반 모델

데이터를 특정 평면 위에서 잘 분류할 수 있는 초평면(hyperplane)을 찾는 방법

데이터를 사상mapping하는 함수가 커널 함수

-> 5,6,7차원 데이터를 특정 공간에 배치해주는 함수가 커널 함수 (특정 공간에 매핑을 시키는 것)

대표적인 모델이 support vector machine (한 차원 더 작음)

마진을 줘서 좀 떨어뜨려 둠

 

정보량(Entropy) 기반 모델

불확실성이 최소화하는 방향으로 결정

decision tree -> https://tyami.github.io/page2/

 

오차측정 & 최적화

손실함수

regression - MSE loss

classification - CrossEntropyLoss

벡터 - KLDivLoss

라벨 유무와 상관없이 기준을 만들려고 함 - TripletMarginLoss

 

최적화 함수

Adam (lr 가변적 변경)

RMSprop (lr 가변적 변경)

SGD+Momentum (lr 고정)

lr : 뛰는 정도

 

 

데이터 넣고 모델 돌리고 결과 바탕으로 피드백(오차함수)하고, 오차를 줄여나가게끔 업데이트(최적화 함수)함.

활성화 함수는 오차함수의 기울기 소실문제를 해결하기 위한 함수

 

 

 

'Pytorch' 카테고리의 다른 글

Tensors Operation  (0) 2025.04.09
Tensor  (0) 2025.04.08
torch.cat과 torch.stack  (1) 2023.11.27
torch.nn과 torch.nn.functional  (0) 2023.09.11
ResNet Image Feature Extraction  (0) 2023.09.04