Study/AI18 [AI] Self-Attention 코드와 함께 이해하기 GAN이나 Transformer 모델에서 자주 등장하는 Self-Attention은 입력 feature 안에서 “어떤 위치가 다른 위치를 얼마나 참고해야 하는가”를 학습하는 메커니즘입니다. 이번 글에서는 PyTorch로 구현된 AttentionBlock 코드를 뜯어보며 self-attention이 어떻게 동작하는지 직관적으로 이해해보겠습니다.Self-Attention이 필요한 이유CNN(합성곱 신경망)은 지역적인 패턴을 잡는 데 강하지만, 멀리 떨어진 위치 간 관계를 직접적으로 모델링하기 어렵습니다.예를 들어 CT 이미지에서 병변(lesion)이 특정 구조와 함께 나타난다고 할 때, CNN은 작은 커널만 보고 있어서 이 전역적인 맥락을 놓칠 수 있습니다.Self-attention은 모든 픽셀들이 각각 서.. 2025. 9. 1. [AI] Mixed Precision Training 딥러닝 모델을 이것저것 만들어보고 실험하다 보면 GPU out of memory 오류를 자주 만나게 됩니다.아슬아슬하게 초과되어서 학습을 돌리지 못할 땐 정말 마음이 아픈데요.. 메모리를 줄이려면 이미지 사이즈를 줄이거나 batch size를 줄이거나 뭐가 됐든 trade off가 발생합니다.그런데 이 상황에서 "모델 성능은 유지하면서, 속도는 빠르게, 메모리는 더 적게" 할 수 있는 방법이 있다면 쓰지 않을 이유가 없지 않을까요? 이 기술이 바로 Mixed Precision Training 입니다.NVIDIA 형님들께서 2018년에 만들어주셨죠! (꾸벅 꾸벅)https://arxiv.org/abs/1710.03740 Mixed Precision TrainingDeep neural networks hav.. 2025. 8. 28. [AI] U-Net 구조 분석 U-Net은 의료 영상 도메인의 정밀한 픽셀 단위 분할(Segmentation)이 필요한 과제에서 가장 널리 사용되는 구조입니다. 저도 회사에서 brain의 stroke lesion을 segmentation하는 모델을 만드는 프로젝트에 참여하게 되었는데, 기본적으로 U-Net 구조를 베이스로 하는 모델을 튜닝하고 있기 때문에, 더 자세히 공부하고 기록하기 위해 포스팅을 쓰게 되었습니다. 이번 포스트에서는 U-Net의 구조에 대해 각 블록이 무엇을 의미하는지, 왜 그렇게 설계되었는지까지 한 블록씩 파헤쳐보겠습니다.전체 구조 요약Contracting Path 특징 추출(Feature extraction) Expansive Path 자세한 위치 복원(Spatial information 복구) Bottlenec.. 2025. 4. 30. [AI] Dice Coefficient와 IoU(Intersection over Union) 비교 의료 영상(Medical Imaging) 분야에서 딥러닝 기반 분할(Segmentation) 모델의 성능을 평가할 때, 가장 많이 등장하는 지표로 Dice Coefficient와 IoU(Intersection over Union)가 있습니다.두 지표는 비슷해 보이지만, 수학적으로도, 해석적으로도 분명한 차이가 있으며 의료영상에서는 Dice가 더 선호되는 경향이 있습니다.본 포스팅에서는 두 지표의 정의, 수식, 차이점, 그리고 Medical Imaging 관점에서의 중요성을 명확하게 정리해보도록 하겠습니다.Dice Coefficient$$Dice(A, B) = \frac{2 \left | A\cap B \right |}{\left | A\right | + \left | B\right |}$$ $\left .. 2025. 4. 29. [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. 이전 1 2 3 다음