본문 바로가기
반응형

전체 글228

[딥러닝 with Python] Self Supervised Learning(SSL) (2) : Pretext 활용 1. Pretext Task- Pretext 란, "표면상의 이유" 또는 "구실", "핑계" 라는 뜻을 가지고 있습니다. - Self Supervised Learning에서 Pretext Task란 모델이 유용한 표현을 학습하기 위해 설정된 임시 과제의 역할을 말합니다. - 이를 활용하는 방법은 아래와 같습니다. * Pretext를 활용해 모델을 사전 학습 시키고, 이렇게 학습된 모델을 활용해 Fine tuing하여 다양한 Down stream task에 이용하는 것입니다. * 이렇게 하면, 레이블이 부족한 또는 하기 어려운 상황에서 다량의 unlabeled된 데이터를 활용해 학습하고, 이를 소량의 label된 데이터에 맞게 fine tuning하여 효율적이면서도 좋은 성능을 낼 수 있게 하는 것입니다... 2024. 11. 15.
[딥러닝 with Python] Self-Supervised Learning(SSL) (1) 이번에는 Self-Supervised Learning에 대해서 알아보겠습니다. 1. Self-supervised Learning- Deep Neural Network는 많은 분야에서 괄목할만한 성과를 거두면서 점차 그 확장가능성을 보여왔지만, 이때 Network의 학습을 위해서는 Label이 달려있는 데이터, 즉 Supervised Learning을 위한 데이터가 많이 필요하다는 문제점이 있었습니다. - 이때 Labeling을 하는 작업은 많은 시간과 돈이 소모되며, 일반인들이 할 수 없는 전문적인 영역(의료 도메인, 생산공정 등)에서는 전문가들이 이러한 Labeling을 해야하다보니 더 많은 어려움이 있었습니다. - 이를 극복하기 위해 탄생한 학습 방법이 Self Supervised Learning(S.. 2024. 11. 14.
[딥러닝 with Python] 디퓨전 모델(Diffusion Model) (4) : Latent Diffusion Models 1. Latent Diffusion Models (LDMs)- Latent Diffusion Models는 이미지 생성에서 효율성과 품질을 모두 고려한 방법을 말합니다.  - 이때 두 가지 주요 학습 단계를 거치게 되는데, "Semantic Compression"과 "Perceptual Comperssion"입니다. 1) Semantic Compression * Semantic Compression은 데이터를 추상적인 형태로 표현하여 그 핵심적인 의미를 인코딩하는 단계로, 원래 이미지가 가지고 있는 맥락이나 구조를 최대한 보존하면서도 세부적인 요소는 생략하는 방식을 말합니다.  * 이 단계에서 이미지의 중요한 특징을 학습하며, 이미지의 전반적인 의미를 유지하는 방향으로 압축을 합니다. 2) Percept.. 2024. 11. 13.
[딥러닝 with Python] Weakly Supervised Learning 이란? 이번에 알아볼 것은 Weakly Supervised learning입니다. 1. Weakly Supervised Learning이란? - 위와 같이 Machine Learning의 학습 범주를 나누어보면 Supervised / Weakly Supervised / Unsupervised / Reinforcement Learning으로 분류해볼 수 있습니다. - 이 중 오늘 알아볼  Weakly Supervised Learning은 완전한 레이블 정보가 부족한 데이터에서 모델을 효과적으로 학습시키기 위한 다양한 기술과 접근 방식을 포괄하는 학습 방식을 말합니다. - 이는 다음과 같이 크게 3가지로 나눌 수 있습니다. 1) Incomplete Supervision : 일부 데이터에만 레이블이 존재하고 나머지 .. 2024. 11. 13.
[딥러닝 with Python] 디퓨전 모델(Diffusion Model) (3) / Classifier Guidance 이번에 알아볼 내용은 Diffusion Model에서 샘플생성 과정에서 생성된 데이터가 특정 클래스에 속하도록 유도하기 위해 분류기(Classifier)의 정보를 활용하는 방법인  Classifier Guidance 입니다. 1. Classifier Guidance- Diffusion 모델 자체는 기본적으로 생성할 데이터의 클래스가 정보가 없는 상태로 학습되지만, 특정 클래스를 제어하며 샘플을 생성하고자 할 때는 분류기의 예측 결과를 활용할 수 있습니다. - Classifier Guidance의 주요 아이디어는 Classifier의 출력을 통해 조건부 확률을 변경하는 것입니다.  * 즉, 특정 클래스 y에 대해 가이드된 샘플 xt는 다음과 같은 과정을 통해 얻어지는데* 이 Gradient를 이용해 타임스.. 2024. 11. 12.
[딥러닝 with Python] 디퓨전 모델(Diffusion Model) (2) DDIM 이번에는 지난번에 알아본 DDPM에 이어서 DDIM에 대해서 알아보겠습니다.[딥러닝 with Python] 디퓨전 모델 (1) (Diffusion Model) : DDPM  1. DDIM (Denoising Diffusion Implicit Models)- DDIM은 지난번 알아본 DDPM과는 다르게 Markovian process를 가정하고 있지 않습니다. - 기존 DDPM에서는 각 단계에서 이전 단계만을 참조하여 다음 단계로 이동하기에 단계별 의존 관계가 단순화된다는 문제가 있습니다.  - 이에 따라 Non-Markovian Process를 제시하고 있는데, 이전 단계뿐만 아니라 여러 단계에 걸쳐 의존성을 가질 수 있다는 것을 고려하고 있으며 이런 식으로 각 단계가 직전 단계만 참고하는 대신, 여러 .. 2024. 11. 11.
[딥러닝 with Python] 디퓨전 모델 (1) (Diffusion Model) : DDPM 이번에는 지난 번 알아봤었던 생성 모델들 (GAN, VAE, Flow-based models) 보다 더 좋은 성능을 보여주며 최근에 많이 활용되고 있는 디퓨전 모델(Diffusion Model)에 대해서 알아보겠습니다.[딥러닝 with Python] GAN (Generative Adversarial Network)[딥러닝 with Python] VAE (Variational Auto Encoder) 개념 정리[딥러닝 with Python] 노멀라이징 플로(Normalizing Flow) [딥러닝 with Python] 노멀라이징 플로(Normalizing Flow)[본 포스팅은 "만들면서 배우는 생성 AI 2판" 을 참조했습니다] 이번에 알아볼 모형은 노멀라이징 플로(Normalizing Flow) 입니.. 2024. 11. 10.
[딥러닝 with Python] GAN (Generative Adversarial Network) 이번에는 간략하게 생성 모델 중 하나인 GAN에 대해서 리뷰해보고자 합니다.  1. GAN (Generative Adversarial Network)- 일반적인 분류 모델은 아래 그림과 같이 Input 이미지를 넣어서 Latent 상에 feature map들을 만들고 그 feature map의 정보를 압축해서 Dense Layer 통해 분류 결과를 만듭니다. - 이에 반해, 생성 모델은 이미 생성되어있는 Latent를 활용해서 원본과 유사한 또는 새로운 결과물을 만들어 내는 것입니다.  - GAN은 설명드린 생성 모델 중 하나입니다. GAN은 Geneartor와 Discriminator의 싸움으로도 표현이 되는데요* Generator는 실제와 같이 착각하게 만들 수 있는 fake 이미지를 만들기 위해 노.. 2024. 11. 9.
반응형