[Optimizer] - 초기 optimizer 이해 [1]
·
딥러닝 (Deep Learning)/[04] - 학습 및 최적화
Optimizer 종류와 특징딥러닝 모델의 학습에서 Optimizer(최적화 알고리즘)는 손실 함수(Loss Function)를 최소화하기 위해 가중치(Weight)를 업데이트하는 핵심적인 역할을 한다. 아래는 대표적인 옵티마이저의 종류와 각 알고리즘의 특징에 대해 정리한 내용이다. 이번 블로그에서는 GD, SGD, Momentum, Adagrad 부터 살펴보겠다.Gradient Descent (GD)Gradient Descent는 최적화 알고리즘의 가장 기본적인 형태로,전체 데이터셋에 대해 손실 함수의 기울기(Gradient)를 계산한 후, 가중치를 업데이트 한다.수식은 아래와 같다. \( w_{t+1} = w_t - \eta \cdot \nabla L(w_t) \) \(w_t\) : 현재 단계(t)의..
[경량화/최적화] - 레이버별 민감도 기반 Pruning [3]
·
딥러닝 (Deep Learning)/[04] - 학습 및 최적화
Sensitivity Analysis(민감도 분석)는 모델 내 각 레이어가 성능에 미치는 영향을 분석하여, Pruning 비율을 레이어별로 다르게 설정하는 방법이다. 이 접근법은 네트워크가 복잡하거나 레이어별로 상이한 특성을 가진 경우, 프루닝 성능을 최적화하는 데 중요한 역할을 한다. 1. Uniform Shrink vs Layer-wise Pruning일반적으로 Uniform Shrink는 모든 레이어에서 동일한 비율로 파라미터를 제거하는 방식이다.모든 레이어를 동일한 비율로 Pruning 할 경우, 네트워크 내 민감도가 높은 레이어가 과도하게 제거되어 성능 저하가 발생할 수 있다. 이는 각 레이어가 모델 전체 성능에 기여하는 정도가 다르다는 점을 고려하지 않기 때문이다.반면, Layer-wise P..
[경량화/최적화] - Pruning 방법의 분류 [2]
·
딥러닝 (Deep Learning)/[04] - 학습 및 최적화
딥러닝 모델을 경량화하고 효율성을 높이기 위한 Pruning은 다양한 방법으로 적용될 수 있다.Pruning은 크게 4가지 관점으로 나누어 분류할 수 있다.Structure, Scoring, Scheduling, Initialization 각 관점에 대해 자세히 살펴보자.Structure  Structure Pruning은 Pruning 단위의 세분화(granularity) 수준에 따라 Unstructured Pruning과 Structured Pruning으로 나뉜다. 각 방법은 프루닝 대상이 되는 단위와 모델 구조에 미치는 영향을 기준으로 구분된다.1. Unstructured PruningUnstructured Pruning은 개별 파라미터(가중치)를 단위로 하여 Pruning을 수행하는 방식이다.모..
[경량화/최적화] - Pruning 이란? [1]
·
딥러닝 (Deep Learning)/[04] - 학습 및 최적화
Pruning 이란 무엇인가??Pruning은 신경망 모델에서 노드(뉴런)와 연결(시냅스)을 제거하여 모델의 크기를 줄이고 계산 비용을 절감하기 위한 기법이다. 이를 통해 모델의 효율성을 높이고 실행 환경에 맞는 경량화를 실현할 수 있다. 위의 그림에서 보면,뉴런, 시냅스의 큰 단위를 제거해서 Pruning 을 할 수도 있고,시냅스을 제거해서 모델을 줄여 사용 할 수 있다.Pruning 진행과정 초기 모델에서 파라미터 저장초기 모델에서 각 파라미터의 값을 저장한다.모든 파라미터는 모델 성능에 기여도를 가지며, 어떤 것이 중요한지 판단할 준비를 한다.제거 가능한 파라미터 판별중요도가 낮거나 성능에 큰 영향을 주지 않는 파라미터를 판별한다.판별된 파라미터는 제거(Prune) 대상이 된다. (빨간색 박스 부분..
딥러닝 파일 확장자의 차이점 *.mar, *.pt, *.pth, *.onnx
·
딥러닝 (Deep Learning)/[07] - Serving
딥러닝 모델 파일은 다양한 확장자로 저장되며, 각각의 파일은 목적과 사용 환경에 따라 다르게 활용된다. 이번 글에서는 .pt, .pth, .mar,.onnx 확장자 파일의 차이점과 용도에 대해 자세히 알아보자.1. .pt 파일: PyTorch 모델의 범용적인 저장 형식 .pt는 PyTorch에서 학습된 모델의 범용적인 저장 형식으로 사용된다.주로 모델의 전체 구조와 가중치, 또는 가중치만을 저장할 때 쓰이며, 파일 이름에서 바로 모델과 관련된 파일임을 직관적으로 알 수 있다. 주요 특징직관적인 확장자.pt는 "PyTorch Model"을 의미하며, 직관적으로 PyTorch 모델 파일임을 나타낸다.전체 모델 저장 가능PyTorch 모델의 전체 구조(아키텍처)와 학습된 가중치를 함께 저장할 수 있다.범용성모..
TorchServe 모델 배포 방법!
·
딥러닝 (Deep Learning)/[07] - Serving
TorchServe는 PyTorch 모델을 프로덕션 환경에 배포하기 위한 툴이다. 이를 통해 모델을 REST API 형태로 제공할 수 있으며, 모델 추론을 위한 서버를 쉽게 구성할 수 있다. TorchServe는 확장성이 뛰어나고, 다양한 모델 서빙 기능을 지원하며, 실시간 추론과 배치 추론 모두를 처리할 수 있다. 우선 TorchSerrve 상세한 사용법은 아래 공식 git 링크에 잘 나와 있다. GitHub - pytorch/serve: Serve, optimize and scale PyTorch models in productionServe, optimize and scale PyTorch models in production - pytorch/servegithub.com 환경셋팅과 간단한 모델로 ..
VTK, ITK, WPF란 무엇인가?
·
딥러닝 (Deep Learning)/[02] - 데이터
VTK, ITK, WPF는 각각의 목적과 역할이 다른 소프트웨어 라이브러리 또는 프레임워크로, 주로 그래픽, 데이터 처리, 사용자 인터페이스와 관련된 작업에서 사용된다. 다음은 각 기술의 개요와 특징이다.VTK (Visualization Toolkit)  VTK는 Visualization Toolkit의 약자로, 3D 컴퓨터 그래픽과 데이터 시각화를 위한 오픈소스 라이브러리이다.1) 주요 특징3D 시각화:과학적 데이터(의료 영상, CT, MRI 등)를 3D로 렌더링하여 시각화할 수 있다.예: 3D 재구성, 볼륨 렌더링(Volume Rendering) 등.플랫폼 독립적:Windows, Linux, macOS 등 다양한 운영 체제에서 동작.풍부한 데이터 형식 지원:의료 데이터(DICOM), 공학적 시뮬레이션..
DICOM이란 무엇인가?
·
딥러닝 (Deep Learning)/[02] - 데이터
DICOM은 Digital Imaging and Communications in Medicine의 약자로, 의료 영상 데이터를 저장하고 교환하기 위한 국제 표준이다. 주로 CT, MRI, 초음파, 방사선 사진 등 다양한 의료 영상을 저장하는 데 사용되며, 의료 AI에서 필수적으로 사용되는 데이터 형식이다.DICOM은 단순한 이미지 파일이 아니라, 메타데이터와 결합되어 환자 정보, 촬영 정보, 장비 정보 등을 포함한다. 이러한 구조는 의료 데이터의 관리와 분석에 매우 유용하다.DICOM의 구조DICOM은 단순히 영상 파일만 담고 있는 것이 아니라, 메타데이터를 포함하여 환자 정보, 촬영 정보, 장비 정보 등 다양한 부가 정보를 포함하고 있다. 이러한 구조 덕분에 의료 데이터에서 필요한 모든 정보를 한 파일..
Model Serving 패턴 종류
·
딥러닝 (Deep Learning)/[07] - Serving
Serving 의 구성우선 Serving 은 크게 아래와 같은 구성으로 이루어진다. 1) 예측 서버머신러닝 모델이 실제로 배치되어 예측을 수행하는 역할을 담당한다. 2) 데이터베이스예측 서버에서 생성된 결과를 저장하고, 서비스 서버가 이를 활용할 수 있도록 제공한다. 3) 서비스 서버사용자와 직접 상호작용하는 부분으로, 사용자 요청에 따라 데이터를 가져와 결과를 반환한다. 이 구성은 머신러닝 시스템 설계에서 기본적인 패턴으로, 배치(Batch) 또는 실시간(Online) 서빙에서 모두 활용될 수 있다. 상황에 따라 각 컴포넌트를 조정하여 더 최적화된 구조를 설계할 수 있다. 이제 Serving 종류에 대해서 알아보자. Batch 패턴우선 상황을 예시로 하나씩 살펴보자.상황  영화 추천 모델을 개발 완료한..