1. Abstract 정상 데이터를 이용하여 Autoencoder(AE)을 학습하면 정상보단 비정상 데이터에 대해 더 높은 재구성 오류(reconstruction error)을 얻게 됩니다. 하지만 AE는 일반화(Generalization)가 잘 이루어진다는 특징이 있어서 비정상 데이터가 입력되어도 정상을 재구성 해야하지만 결함이 있는 부분까지 포함하여 재구성 하는 경우가 발생하게 됩니다. 이런 AE기반 이상 탐지(Anomaly Detection)의 한계점을 개선하기 위한 해결책으로 메모리 모듈(memory module)을 사용하여 AE을 augmented 하는 방법인 MemAE을 이 논문에서는 제안하고 있습니다. 방법은 (1) 입력 $\mathbf{x}$가 주어지면 MemAE는 먼저 Encoder을 통..
1. Abstract Image-to-image translation is a class of vision and graphics problems where the goal is to learn the mapping between an input image and an output image using a training set of aligned image pairs. However, for many tasks, paired training data will not be available. We present an approach for learning to translate an image from a source domain X to a target domain Y in the absence of ..
1. Abstract image-to-image translation problems에 대한 일반적인 방법부터 Contitional adversarial networks를 사용한 방법까지 조사했다. Image-to-Image translation problems를 다루는 Networks는 입력 이미지에서 출력 이미지로 가는 mapping을 학습할 뿐만 아니라 loss function도 학습한다. 이를 통해 image-to-image translaotion problems에서 각 상황에 따라 사용되는 loss functions이 달랐지만 paper에서 제안한 방식을 적용하면 동일한 loss functions을 사용하여 적용할 수 있다. paper에서 제안한 방법을 사용하면 label maps에서 사진을 합..
1. Abstract [문제점] 정확한 annotation은 시간이 많이 들기 때문에 전문가(방사선사, 의사 등)가 clinical imaging(임상 영상)을 직접 annotation을 표시한 데이터를 얻는 것은 어렵다. 또한 모든 병변에 대해 annotation이 표시되지 않을 수도 있으며 annotation에 대해서 정확하게 이 병변이 어떤 병변인지 설명 되어있지 않은 경우도 있다. [Supervised Learning의 장단점] 전문가로부터 분류된 training data를 받아 Supervised Learning 방식으로 모델을 학습 시키면 좋은 성능을 얻는 반면, annotation이 표시된 병변으로만 제한이 되는게 단점이다. [Unsupervised Learning으로 접근한 f-AnoGAN..
이번엔 Pytorch를 사용하면서 데이터, 학습 과정 등의 시각화에 유용한 TensorBoard를 사용하는 방법을 한번 알아보도록 하겠습니다. 1. Install 우선 TensorBoard는 이름 그대로 Tensorflow를 위해서 개발된 Tools입니다. 그래서 Tensorflow에서만 거의 사용이 되었지만 정말 감사하게도 Pytorch에서도 TensorBoard를 사용할 수 있도록 TensorBoardX라는 라이브러리를 개발을 해주셔서 이제는 Pytorch에서도 Tensorboard를 사용할 수 있게 되었습니다. TensorboardX를 사용하려면 pip을 사용해 TensorboardX를 설치해야 합니다. pip install tensorboardX 2. Sin, Cos Function을 그려보기. ..
Tensorflow 1.x 버전으로 코드를 작성하다가. Naver AI HackaThon을 계기로 Pytorch로 넘어오게 되었다. 어떻게 보면 비슷하지만 약간은 다른 Pytorch를 그동안 접하면서. 초보자들에게 유용한 팁을 한번 간단하게 정리를 해보고자 한다. (이미 잘 하신 분들은 스킵하셔도 됩니다~~) 글의 구성은 다음과 같이 구성이 되어있습니다. Custom Dataset 을 Class로 만들어서 Data Loader 시키기. Transfer Learning and fine tunning with Pytorch Save and Load pickle file Model feature extractor 1. Custom Dataset Loader Pytorch에서 기본적으로 제공해주는 Fashion..
1. Abstract We propose an alternative generator architecture for generative adversarial networks, borrowing from style transfer literature 라고 논문 초반 부분에 나와있다. 해당 논문에의 핵심은, Generator Architecture를 중심적으로 설명하고, 이 Architecture를 기존에 하던 방식(PGGAN)과는 다른 방법으로 구성을 했다라는게 핵심 포인트이다. 또한 Image에 Style을 scale-specific control하게 적용 했다 라고 주장을 하고 있다. 그럼 여기서 Style을 scale-specific control하게 적용한 의미가 무엇인지 한번 짚고 넘어가보자. Q..
GAN 중에서 가장 기본적인 "Generative Adversarial Network"에 대해 논문을 읽고 참고자료를 본 후 정리한 공부자료 입니다. + 정리하다가 Autoencoder와 VAE 개념을 먼저 알아야 GAN을 이해하기 쉽다는 생각이 들어서 추후에 정리하도록 하겠습니다. GAN을 하기 전에 기본 개념 1. Supervised Learning Supervised Learning에 대한 내용은 자세하게 설명은 안하겠습니다. 우리가 흔히 알고있는 Supervised Learning은 "model이 학습을 할 때 Label data가 존재해야 한다" 라는 것 입니다. 그래서 보통 input data를 알맞은 class로 분류(classification)을 해주는 거로 알고 있습니다. 위에서 보이는 ..