본문 바로가기

전체 글124

[AI] 전이학습(Transfer Learning)에 대하여 데이터가 부족하지만 보다 높은 성능을 얻고 싶을 때 흔히 사용하는 방법이 있습니다.바로 전이학습(transfer learning)인데요, 이는 기존에 학습된 모델의 지식을 새로운 문제에 적용하는 기법입니다. 이번 포스팅에서는 매우매우 powerful한 방법인 전이학습에 대해 예제와 함께 알아보도록 하겠습니다.전이학습(Transfer Learning)이란?전이학습이란, 일반적으로 대량의 데이터를 사용하여 미리 학습된 모델을 가져와, 특정 목적에 맞게 일부만 수정하여 재학습하는 방식을 말합니다. 이미 똑똑한 녀석을 가져와 우리가 원하는 방식으로 조금만 더 학습시키는 느낌이기 때문에, 엄청난 효율을 볼 수 있는 것이죠!전이학습의 장점✅ 적은 데이터로도 높은 성능: 대량의 데이터가 없는 경우에도 강력한 모델을 .. 2025. 3. 5.
[AI] K-Fold Cross Validation에 대하여 머신러닝 모델을 평가할 때 일반적으로 데이터를 훈련(training)과 테스트(test) 세트로 나누는 방식이 사용됩니다. 하지만 이렇게 하면 데이터의 일부만 학습에 사용되기 때문에 모델이 데이터 분할에 따라 성능이 달라질 수 있습니다.또, 테스트 셋이 하나이기 때문에 정해진 테스트 셋에 모델이 오버피팅 될 가능성도 존재하죠.데이터 하나 하나가 귀할 때 테스트 셋은 모델의 훈련에 쓰일 수 없다는 점도 아쉬운 부분입니다. 이번 포스팅에서는 이러한 문제들을 해결할 수 있는 방법인 K겹 교차 검증(K-Fold Cross Validation)에 대해 알아보도록 하겠습니다.  K-Fold Cross Validation이란?K-Fold Cross Validation은 데이터를 K개의 폴드(fold)로 나누어 모델을.. 2025. 3. 3.
[AI] 딥러닝 개발을 위한 CPU, GPU, 메모리 이해하기 딥러닝 개발자가 되기 위해서는 컴퓨터의 핵심 부품인 CPU, GPU, 메모리에 대한 이해가 필수입니다. 이 세 가지는 딥러닝 모델을 학습시키는 과정에서 각각 중요한 역할을 합니다. 본 포스팅에서는 이들을 쉽게 설명하고, 딥러닝에서 어떻게 활용되는지 알아보겠습니다. CPU (Central Processing Unit) ✅ 특징CPU(Central Processing Unit, 중앙처리장치)는 컴퓨터의 두뇌 역할을 하며, 모든 계산과 명령을 처리하는 핵심 부품입니다.코어(Core): CPU의 작업 단위입니다. 코어가 많을수록 동시에 더 많은 작업을 처리할 수 있습니다. 예를 들어, 4코어 CPU는 4개의 작업을 동시에 처리할 수 있습니다.클럭 속도(Clock Speed): CPU가 1초에 몇 번 작업을 처리.. 2025. 2. 7.
[AI] ReLU vs Leaky ReLU 프로젝트 도중 GAN 모델을 써야할 일이 생겼는데, TensorFlow의 공식 문서를 보니 discriminator의 hidden layer에서 ReLU가 아닌 Leaky ReLU를 사용하고 있었습니다. Leaky ReLU는 무엇이고, 왜 GAN에서 ReLU 대신 쓰는건지 궁금해서 공부한 내용을 포스팅해보려 합니다.ReLU (Rectified Linear Unit)✅ 정의ReLU는 입력 값이 0보다 크면 그대로 출력하고, 0 이하면 0으로 변환하는 활성화 함수입니다.✅ 특징입력이 0보다 크면 그대로 출력합니다.0 이하의 입력에 대해서는 0을 출력합니다.매우 간단한 연산이므로 계산이 빠르고, 학습 속도가 향상됩니다.✅ 장점✔️ Gradient Vanishing 문제 완화:Sigmoid나 Tanh 같은 활성.. 2025. 2. 7.
[AI] 배치 정규화(Batch Normalization)란? 배치 정규화(Batch Normalization)는 딥러닝 모델의 학습 속도와 안정성을 획기적으로 개선해주는 대표적인 기법 중 하나입니다.이번 포스팅에서는 Batch Normalization이 무엇이고, 왜 사용하는지에 대해 알아보겠습니다.Batch란?Batch Normalization에 대해 알아보기 전에 먼저 Batch가 뭔지 알아야합니다.Batch란 전체 데이터셋에서 한 번에 모델에 입력으로 제공하는 데이터 샘플들의 묶음을 의미합니다. 왜 이렇게 하냐구요?전통적인 gradient descent 방법을 사용하면, 학습 데이터 전부를 넣어서 gradient를 다 구하고 그 모든 gradient를 평균해서 한번에 모델 업데이트를 합니다. 그런데 이런 식으로 하면 대용량의 데이터를 한번에 처리하기 어렵습니.. 2025. 2. 7.
[AI] GAN(Generative Adversarial Networks)에 대하여 GAN(Generative Adversarial Networks, 생성적 적대 신경망)은 2014년 Ian Goodfellow가 제안한 딥러닝 모델로, 새로운 데이터를 생성하는 능력을 가진 신경망입니다.GAN의 핵심 개념은 "적대적 학습(Adversarial Training)" 으로, 두 개의 신경망이 서로 경쟁하며 학습합니다. 이번 포스팅에서는 GAN의 구조와 작동원리에 대해 알아보겠습니다.Generative Modeling GAN에 대해 본격적으로 들어가기 전에, generative modeling(생성 모델링) 개념에 대해 먼저 짚고 넘어가보자.Generative Modeling이란, 가지고 있는 데이터 분포에서 sampling한 것 같은 새로운 데이터를 만드는 것을 의미한다. 생성 모델링과 반대되.. 2025. 2. 6.
[AI] TensorFlow에서 Gradient Tape를 이용한 자동 미분 TensorFlow에는 자동 미분을 가능케 해주는 tf.GradientTape API가 있습니다.이번 포스팅에서는 TensorFlow의 Gradient Tape를 활용하여 자동 미분 계산을 수행해보고, 그 과정을 수식으로 하나씩 풀어서 살펴보겠습니다.Gradient Tape를 사용한 예제 코드# 가중치(W)와 편향(b)W = tf.Variable(tf.random.normal((3,2)), name ="wieghts")b = tf.Variable(tf.zeros(2, dtype=tf.float32), name = "biases")# 입력 데이터 (1x3)x = [[1., 2., 3.]]with tf.GradientTape() as tape: y = x @ W + b # 선형 회귀 연산 (y = .. 2025. 2. 6.
[AI] TensorFlow 기초 개념과 활용 TensorFlow는 Google이 개발한 오픈소스 머신러닝 라이브러리로, 딥러닝 모델을 효율적으로 구축하고 학습시키는 데 최적화되어 있습니다.본 포스팅에서는 TensorFlow의 핵심 개념과 함께 간단한 예제를 통해 기본적인 사용법을 알아보겠습니다.TensorFlow 시작하기 TensorFlow를 사용하기 위해 먼저 라이브러리를 설치하고 버전을 확인해 봅니다. import tensorflow as tfprint(tf.__version__) # 2.18.0 저는 2.18.0 버전을 사용하고 있습니다.텐서(Tensor)의 객체타입(Type) : string, float32, float16, int32, int8 등딥러닝의 경우 숫자의 경향만 표현하면 되기 때문에 계산량을 줄이고 빠르게 계산하기 위해 일반적.. 2025. 2. 6.