728x90
반응형

전체 글 375

DCGAN Example

DCGAN Example 이번 Post에서는 DCGAN Code를 보면서 예제를 다뤄보도록 하겠습니다. GAN & DCGAN에 대한 구체적인 정보는 아래 Link에 좋은 자료가 있으니 한 번 보시기 바랍니다.DCGAN GAN 이 Example은 Tensorflow Tutorial Site에서 가져왔습니다. https://www.tensorflow.org/tutorials/generative/dcgan 우리는 이 Example에서 MNIST Dataset의 확률 분포를 학습한 후에, 학습이 끝난 Model이 MNIST Data와 유사한 Data를 Generation 하는 것을 볼 수 있을 것입니다. 0. Import Package 필요한 Package를 Load합니다. imageio는 결과를 GIF For..

Deep_Learning 2023.08.29

Batch Normalization

0. Introduction 0.1. Gradient Vanishing / Exploding Neural Network의 Train시에 Gradient 값의 변화를 보고 Parameter를 조절합니다. Gradient는 변화량, 즉 미분값입니다. Neural Network의 깊이가 깊어질수록 Backpropagation시에 Gradient 값들이 Input Layer의 입력값의 변화를 적절하게 학습에 반영하지 못합니다. Backpropagation시에, Non-Linear Activation Function(Ex. Sigmoid / Tanh )들을 사용하면 Layer를 지날수록 Gradient 값들이 점점 작아지거나(Gradient Vanishing) 혹은 반대로 Gradient 값들이 점점 커져서(Gr..

Deep_Learning 2023.08.27

DCGAN 논문 리뷰 Paper Review

0. Introduction Goodfellow, Ian이 2014년에 GAN을 소개한 이후에 아래 그림과 같이, 매우 다양한 GAN 응용이 나왔습니다. ( GAN의 다양한 종류. 출처 : https://ysbsb.github.io/gan/2020/06/17/GAN-newbie-guide.html ) 이번 Post에서는 그 중에서도 모든 GAN응용의 시작이라고 할 수 있는 DCGAN(Deep Convolutional Generative Adversarial Networks)을 살펴보도록 하겠습니다. DCGAN은 2016년에 Alec Radford & Luke Metz , Soumith Chintala에 의해서 발표됩니다. Paper 정식 제목은 'UNSUPERVISED REPRESENTATION LEAR..

Deep_Learning 2023.08.26

GAN(Generative Adversarial Nets) 논문 Review

0. Introduction 2014년에 Ian J. Goodfellow가 GAN(Generative Adversarial Nets)이라는 새로운 방식의 Model을 발표하였습니다. 논문은 아래 Link에서 확인할 수 있습니다. Generative Adversarial Nets 'Nets'은 흔히 알고 있는 Network인 것은 알겠지만, Adversarial이나 Generative의 정확한 의미는 조금 어렵습니다. 이번 Post에서는 GAN이 무엇인지 알아보도록 하겠습니다. 1. Background 1.1. Generative Model GAN은 실제로 존재하지 않지만, 그럴싸한(있을법한) Data를 생성할 수 있는 Model의 종류를 말합니다. 아래 Image는 Ian Goodfellow의 Papae..

Deep_Learning 2023.08.26

Using TFRecord File

이전 Post에서 TFRecord File Format을 만드는 방법에 대해서 알아보았습니다. 이번 Post에서는 지난 번에 작성한 TFRecord Dataset으로 Image Classification을 해보겠습니다. TFRecord는 Tensorflow와 함께 사용할 때 최고의 성능을 보여줍니다. 그래서, 가능하면 모든 Code들은 Tensorflow에서 제공하는 Function들을 사용해서 작성해 보도록 하겠습니다. 0. Prepare 필요한 Module을 Load합니다. import tensorflow as tf from tqdm import tqdm from sklearn.model_selection import train_test_split Batch Size와 Prefetch할 Size를 미..

Deep_Learning 2023.08.26

Making TFRecord File

TFRecord File Format은 Tensorflow의 자체적인 Binary File Format입니다. 대규모 Dataset으로 작업을 할 경우 Binary File로 작업을 한다면 Data Input Pipeline의 효율을 높일 수 있으며, 결과적으로 전체적인 Model의 Training 시간도 향상될 수 있습니다. Binary Data는 Storage에 공간도 덜 차지할 뿐 아니라, Read / Write시에도 더 효율적입니다. 더욱이, Storage가 Motor를 사용하는 장치라면 더욱 그렇습니다. 단순히 TFReocrd File Format이 Binary여서 성능 향상을 이룬다는 것이 아니라, TFRecord가 Tensorflow에 최적화 되어 있기 때문에 Tensorflow가 제공하는 ..

Deep_Learning 2023.08.26

Tensorflow Input Pipeline

주어진 Data로 부터 Train에 필요한 Data형태로 변환하기까지는 매우 지루하고 험난한 과정입니다. Model에 입력 Foramt에 맞게 Shape을 변경하고, Data Augmentation도 고려해야 합니다. 가장 중요한 것은 주어진 Data가 수십, 수백만개가 있다면 Performance 또한 중요한 고려 요소가 됩니다. 이런 모든 고민을 해결해 주기 위해서 Tensorflow에서는 tf.data Module과 tf.data.Dataset Module을 준비놓았습니다. 이번 Post에서는 Tensorflow를 이용하여 효율적인 Data Input Pipeline을 만드는 방법을 알아보고자 합니다. tf.data.Dataset에서는 map / prefetch / cache / batch 이렇게 ..

Deep_Learning 2023.08.26

Tensorflow 2.x Installation on Windows 10 ( GPU )

Tensorflow 2.x을 Anaconda에서 설치하려고 하니 뭔가 잘 되지 않았습니다. Anaconda에서 Keras를 설치하면 Tensorflow 1.x와 GPU Support에 필요한 CUDA / cuDNN 등을 자동으로 설치해서 편리하게 사용했는데 많이 아쉽더군요. 아마 Package간 호환을 위한 Version Matching이 아직 잘 되지 않은 것 같습니다. 그래서, 이번에 Windows 10에서 Anaconda환경에서 Tensorflow 2.x & GPU Support 환경을 손수, Manual하게 꾸며볼까 합니다. 이번 Post 내용은 아래의 영상을 참고하여 작성되었습니다. Anaconda/window10 - Tensorflow 2.0 GPU 시원하게 설치해보자! (visual stud..

Deep_Learning 2023.08.21

Custom Generator

Custom Generator Model Training시에 Train Data를 넣어주는 방법중에 DataGenerator라는 것을 사용합니다. 현재 DataGenerator는 Image Data에 특화된 기능들이 많은데, 이를 다양한 Data에 사용할 수 있는 Custom Generator에 관해서 알아보도록 하겠습니다. 0. Training on Keras Keras는 Model을 Train 하기 위해서 다음 3가지의 함수를 제공합니다. .fit .fit_generator .train_on_batch 위 3개의 함수가 궁극적으로 하는 일은 User가 정의한 Model을 Train 시킨다는 점에서는 동일하지만, 동작 방식은 조금씩 다릅니다. 각각에 대해서 한 번 알아보도록 하겠습니다. 1. fit 기..

Deep_Learning 2023.08.20

Attention Mechanism

Attention Mechanism은 2015년 Neural machine translation by jointly learning to align and translate 이라는 논문에서 최초로 소개되었습니다. Attention이라는 단어는 직접적으로 등장하지는 않았지만, ‘Align’이라는 단어가 사용되었습니다. Machine Translation에서 큰 위력을 발휘하고 있는 Self-Attention, Transformer, BERT가 모두 Attention을 Base로 만들어진 개념들입니다. 이번에는 Attention Mechanism에 대해서 알아보도록 하겠습니다. 0. Seq2Seq Model vs Attention Mechanism 우선, 기존의 Seq2Seq Model과의 비교를 위해 간단..

Deep_Learning 2023.08.20
728x90
반응형