AI 4

Docker가 AI 개발 및 배포에 왜 필요할까?

먼저 Docker가 무인지 알아보자.Docker란?다들 개발을 하다보면 내 컴퓨터에서는 잘 작동하는 코드가 다른 사람 컴퓨터에서는 잘 작동하지 않는 경험을 해봤을 것이다.이 문제는 개발자마다 개발 환경과 운영 환경이 다르기 때문에 발생하는 현상인데이 문제를 해결 해주는 기술이 Docker이다.Docker는 환경이 저장 되어있는 이미지를 가지고 컨테이너(가상 환경)를 생성하여 이 컨테이너 안에서 코드를 실행하기 때문에 일관된 실행을 보장한다.AI 개발에서 Docker의 필요성환경 차이 해결AI 모델을 학습하거나 배포할 때, 여러 패키지와 라이브러리들이 필요하다. 예를 들어 PyTorch, Pandas, omegaconf 등 이러한 라이브러리들이 정확한 버전으로 설치되어야만 하고 Python 버전 또한 버전..

카테고리 없음 2025.02.18

왜 TensorFlow 대신 PyTorch를 사용할까?

AI를 공부하거나 프로젝트를 진행할 때 가장 많이 사용하는 프레임워크는 TensorFlow와 PyTorch다.  TensorFlow는 Google이 개발한 대표적인 딥러닝 라이브러리로, 산업과 기업 환경에서 많이 사용된다. 반면, PyTorch는 Meta(Facebook)가 만든 프레임워크로, 연구와 실험에 최적화되어 있어 최근 연구자들과 학생들 사이에서 인기가 많다. 예전에는 TensorFlow가 AI 개발과 연구에 주로 사용되었지만 최근 논문이나 다른 AI 개발자들을 보면 대부분 PyTorch를 사용하고 있다는 것을 알 수 있다. 이 글에서는 왜 PyTorch가 TensorFlow 보다 인기가 많은지 이유를 알아보려고 한다. 1. 자동 미분 기능 (Autograd)이 기능은 딥러닝을 할 때 가장 중요..

카테고리 없음 2025.02.11

다양한 경사하강법(gradient descent) 기법(Optimizer) 정리

저번 글에서는 경사하강법의 가장 원초적인 방법과 수식에 대해서 알아보았다.하지만원초적인 경사하강법에서는 local minima 문제가 있다는 것을 알게 되었고이 local minima 문제를 해결하기 위해 다양한 경사하강법 기법이 등장하게 되었다. 위 사진은 다양한 경사하강법 기법에 대해서 간단히 정리한 것이다.이 글에서는 우리가 많이 사용할 SGD와 Adam을 설명할 것이고Adam의 이해를 위한 Momentum, Adagrad, RMSProp 또한 설명할 것이다. SGD는 전체 데이터 셋을 보고 방향을 정하는 GD와 다르게 전체 데이터의 일부 mini-batch 데이터를 보고 방향을 정하는 기법이다.작은 데이터에 대해서 처리하기 때문에 처리 속도가 빠르며 부정확한 방향으로 갈 수 있지만 이러한 부정확한..

카테고리 없음 2025.02.04

경사하강법(gradient descent) 정리

경사하강법이란 간단히 말하면 함수의 기울기를 이용하여 함수의 최솟값을 찾는 방법이다.경사하강법은 반복적으로 수행하며 정해진 반복 횟수를 다 했거나 더 이상 값을 최소화하지 못한다고 판정되면 반복을 멈춘다. 자료 출처 위 예시와 같이 경사하강법은 정해진 수식을 반복하여 함수의 최솟값을 찾는다.   기본적인 경사하강법의 수식  이 수식 전체를 설명하자면 최솟값을 찾고 싶은 함수 f를 x에 대해 미분하여 현재 x 좌표의 기울기를 구한 후 lr 곱하고 구한 값을 현 x 좌표에 빼주는 식이다. 이 말이 이상하게 들릴 수도 있지만 아래의 설명을 듣고 다시 와서 스스로 이 식이 어떻게 작동하는지 이해했으면 좋겠다. 수식 분해 및 해석 위 설명에서 기울기와 lr를 곱한 값을 뺀다.왜 빼냐 하면기울기 값을 보면 알 수 ..

카테고리 없음 2025.01.27