본문 바로가기
반응형

전체 글87

[딥러닝 with Python] LSTM (Long Short Term Memory) [본 포스팅은 "만들면서 배우는 생성 AI 2판"을 참조로 작성했습니다] 이번에 알아볼 모형은 자기회귀 모델의 대표적인 모형인 LSTM입니다. LSTM은 Long Short Term Memory의 줄임말로 기존의 순환 신경망(RNN)이 시퀀스(Sequence)가 긴 데이터에는 잘 맞지 않는다는 문제를 해결하기 위해 등장한 네트워크 입니다. 해당 LSTM은 시계열 예측, 감성 분석, 오디오 분류 등 순차 데이터와 관련된 다양한 문제에 적용되고 있는 여전히 실용성이 높은 모델 중 하나입니다.   LSTM에 대해서 알아보기 전, 텍스트 데이터와 이미지 데이터 간의 차이점에 대해서 알아보도록 하겠습니다.  텍스트 데이터와 이미지 데이터의 차이점 1) 텍스트 데이터는 개별적인 데이터 조각(문자나 단어)으로 구성되.. 2024. 6. 6.
[딥러닝 개념정리] ProGAN (Progressive Growing of GANs) / PGAN [본 포스팅은 "만들면서 배우는 생성 AI 2판" 참고 했습니다.] 이번에 알아본 모델은 ProGAN 입니다.  Pro GAN(Progressive Growing of GANs) 2017년 NVIDIA Labs가 GAN 모델의 훈련 속도와 안정성을 향상하기 위해 개발한 기술입니다. 이는 고해상도의 이미지 생성을 보다 효율적으로 수행할 수 있도록 설계된 모델인데요. 해당 모델의 주요 특징은 아래와 같습니다.  ProGAN 모델의 주요 특징  1)  점진적 성장(Progressive Growing)   - ProGAN의 가장 큰 특징은 모델이 점진적으로 성장하면서 학습된다는 점입니다. 학습 초기에는 4x4 로 압축된 이미지부터 시작해서 점차 해상도를 높여 최종적으로는 고 해상도의 이미지까지 생성하는 방법을 .. 2024. 6. 5.
[딥러닝 with Python] 조건부 GAN / CGAN / Conditional GAN [본 포스팅은 "만들면서 배우는 생성 AI 2탄" 을 참조했습니다] 이번에 알아볼 내용은 조건부 GAN (CGAN / Conditional GAN) 입니다.   기존에 알아본 GAN 모형 (DC GAN, WGAN-GP)들은 훈련 세트와 유사한 사실적인 이미지를 재현해낼 수 있었지만, 생성하려는 이미지의 유형(남성 얼굴 또는 여성 얼굴, 벽돌의 크기 등)을 제어할 수는 없었습니다.   잠재 공간(Latent Space)에서 랜덤한 한 포인트를 선정해서 샘플링할 수는 있지만, 그렇다고 어떤 잠재 변수를 선택하면 어떤 특징을 변형할 수 있는 지를 알수는 없었습니다.  이 문제를 해결한 것이 CGAN이 되겠습니다.  CGAN의 구조는 아래와 같습니다.  - 일반적인 GAN과 CGAN의 차이점은 레이블과 관련된 .. 2024. 6. 4.
[딥러닝 with Python] (WGAN) 와서스테인 GAN - 그레이디언트 페널티(WGAN-GP) [본 포스팅은 만들면서 배우는 생성 AI 2탄 을 참조했습니다]  DC GAN은 GAN모델을 Convolution 신경망을 활용해 학습 능력과 그 성능을 향상시켰지만, 학습을 시키는것이 매우 어렵다는 단점이 있었습니다.  이를 해결하기 위해 제안된 것인 와서스테인 GAN 입니다.   와서스테인 GAN은 안정적인 GAN 훈련을 위해 와서스테인 손실함수를 제안하는 GAN 모델입니다.  이 와서스테인 손실함수를 사용하면 기존에 사용하던 손실함수인 이진 크로스 엔트로피 손실보다 GAN 모델의 학습결과가 더 안정적으로 수렴할 수 있다고 합니다.  - 기존의 이진 크로스 엔트로피 손실(Binaray Cross Entropy Loss)는 아래와 같습니다. * y는 실제 레이블 (0 또는 1) * y_hat은 모델의 .. 2024. 6. 3.
[딥러닝 with Python] 생성적 적대 신경망(GAN) / DCGAN / 레고블록 데이터 활용 [해당 포스팅은 "만들면서 배우는 생성 AI 2탄"을 참조했습니다]  생성 AI (Generative AI)에서 유명한 모델 중 하나는 생성적 적대 신경망, GAN (Generatvie Adversarial Network) 입니다. 이는 Ian Goodfellow 등이 2014년 NeurIPS 라는 학회 (Neural Information Processing Systems)에서 발표한 논문인, Generative Adversarial Nets에서 시작하였습니다.  GAN은 생성자(Generative)와 판별자(Discriminator)라는 두 적대자의 싸움을 통한 생성을 해내는 네트워크가 되겠습니다.    생성자는 랜덤한 잡음을 원래 데이터셋에서 샘플링한 것처럼 보이는 샘플로 변환하고, 판별자는 샘플이 .. 2024. 6. 1.
[딥러닝 with Python] 변이형 오토인코더(Variational Auto Encoder) 추가본 - CelebA Faces 활용 [해당 포스팅은 "만들면서 배우는 생성 AI 2탄" 을 참조했습니다] 이번 지난번 2편의 변이형 오토 인코더에 대한 포스팅의 확장 버전입니다.[생성 AI] 변이형 오토인코더(Variational Auto Encoder) (1/2) [생성 AI] 변이형 오토인코더(Variational Auto Encoder) (1/2)[해당 포스팅은 "만들면서 배우는 생성 AI 2탄"을 참조했습니다] 1. 변이형 오토인코더(VAE, Variational Auto Encoder)란?- 변이형 오토인코더, VAE는 심층 신경망을 이용한 생성 모델의 하나로, 데이터의jaylala.tistory.com[생성 AI] 변이형 오토인코더(Variational Auto Encoder) (2/2) [생성 AI] 변이형 오토인코더(Vari.. 2024. 5. 31.
[생성 AI] 변이형 오토인코더(Variational Auto Encoder) (2/2) [해당 포스팅은 "만들면서 배우는 생성 AI 2탄"을 참조했습니다] 지난번에 알아본 개념을 바탕으로 이번에는 코드를 통해 실습을 해보겠습니다. 이번에 실습할 데이터는 패션 MNIST 데이터입니다.   Fashion MNIST 데이터셋은 운동화, 셔츠, 샌들과 같은 작은 이미지들의 모음을 말하며, 기본 MNIST 데이터셋과 같이 10개의 범주(Category)로 구성되어 있는 데이터셋입니다.  데이터의 개수는 총 70,000개 이며, 그 예시는 아래와 같습니다.   이제 코랩 노트북을 활용해 Fashion MNIST 데이터를 활용한 Variational Auto Encoder를 구현해보겠습니다.  먼저, 깃허브에 저장된 utils 파일을 다운로드 하기 위해 다음과 같이 실행해줍니다. 깃허브 주소 : htt.. 2024. 5. 29.
[생성 AI] 변이형 오토인코더(Variational Auto Encoder) (1/2) [해당 포스팅은 "만들면서 배우는 생성 AI 2탄"을 참조했습니다] 1. 변이형 오토인코더(VAE, Variational Auto Encoder)란?- 변이형 오토인코더, VAE는 심층 신경망을 이용한 생성 모델의 하나로, 데이터의 잠재 공간(Latent Space)을 학습하여 새로운 데이터를 생성하거나 기존 데이터를 압축하고 복원하는데 사용되는 모형입니다. - 기존에 알아본 오토인코더(Auto Encoder)와 개념상 유사하지만, 다음과 같은 차이가 존재하는데요[생성 AI] 오토인코더(Auto Encoder) [생성 AI] 오토인코더(Auto Encoder)[해당 포스팅은 "만들면서 배우는 생성 AI 2탄" 을 참조했습니다. 1. 오토 인코더(Auto Encoder) - 오토 인코더는 단순히 어떤 항목.. 2024. 5. 27.
반응형