![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/7kZk3/btqEGT85hMx/3RwCQy3aRkx1bhkps6ZMZ0/img.png)
1. Abstract [문제점] 정확한 annotation은 시간이 많이 들기 때문에 전문가(방사선사, 의사 등)가 clinical imaging(임상 영상)을 직접 annotation을 표시한 데이터를 얻는 것은 어렵다. 또한 모든 병변에 대해 annotation이 표시되지 않을 수도 있으며 annotation에 대해서 정확하게 이 병변이 어떤 병변인지 설명 되어있지 않은 경우도 있다. [Supervised Learning의 장단점] 전문가로부터 분류된 training data를 받아 Supervised Learning 방식으로 모델을 학습 시키면 좋은 성능을 얻는 반면, annotation이 표시된 병변으로만 제한이 되는게 단점이다. [Unsupervised Learning으로 접근한 f-AnoGAN..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/vcc0c/btqD3IfWcF6/WnnKyiLvn0RLn9yPa05Pnk/img.png)
이번엔 Pytorch를 사용하면서 데이터, 학습 과정 등의 시각화에 유용한 TensorBoard를 사용하는 방법을 한번 알아보도록 하겠습니다. 1. Install 우선 TensorBoard는 이름 그대로 Tensorflow를 위해서 개발된 Tools입니다. 그래서 Tensorflow에서만 거의 사용이 되었지만 정말 감사하게도 Pytorch에서도 TensorBoard를 사용할 수 있도록 TensorBoardX라는 라이브러리를 개발을 해주셔서 이제는 Pytorch에서도 Tensorboard를 사용할 수 있게 되었습니다. TensorboardX를 사용하려면 pip을 사용해 TensorboardX를 설치해야 합니다. pip install tensorboardX 2. Sin, Cos Function을 그려보기. ..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/r2iXu/btqDogj1pIz/7cETRMQybouOuKbBf0esEk/img.png)
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..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/bFnQpi/btqCBxVzHqi/kqIuysRSCIv8k4M7NPGOrK/img.png)
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..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/bJU7sC/btqABRAydki/lYaY8GJmH7iHgFpukrQLgK/img.gif)
1. Abstract 1-1. Problem PGGAN(Progressive Growing of GANs)은 2017년도에 나온 Nvidia에서 나온 논문이고 발표 당시 큰 이슈를 받았다고 한다. 그 이유는 그 전까지 GAN들은 고해상도(High resolution) 이미지를 만드는것이 매우 힘들었는데 이 논문이 새로운 접근 방법으로 고해상도 이미지 생성하는 것을 해결했다. 일반적인 GAN으로 고해상도 이미지를 만든다고 한다면, 아래와 같은 문제들이 발생을 할 것 이다. - 고해상도 이미지를 만드는 것은 매우 어려운 일이다. 그 이유는, High Resolution 일수록 Discriminator는 Generator가 생성한 Image가 Fake Image인지 아닌지를 구분하기가 쉬워지기 때문이다. - ..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/bzdzTj/btqzthvoG5c/bP9GnUYs1ZfF4l45YbUNjk/img.png)
Unsupervised Anomaly Detection with Generative Adversarial Networks to Guide MArker Discovery 일명 "AnoGAN"에 대한 paper을 읽고 정리한 공부자료 입니다. 기본개념 GAN이란? GAN의 학습 과정은, Discriminator가 Real과 Fake를 잘 맞추도록 훈련을 한 다음, Generator가 만들어낸 Fake image가 Discriminator에서 Real로 나오도록 하는 학습 과정입니다. DCGAN - CNN vs MLP MLP : 3차원 데이터를 1개의 Vector로 풀어서 인식한다. 그로인해 단점은 이미지의 위치 정보를 무시하게 된다(feature loss발생) CNN : 3차원 데이터 입력을 그대로 사용한다..
GAN 중에서 가장 기본적인 "Generative Adversarial Network"에 대해 논문을 읽고 참고자료를 본 후 정리한 공부자료 입니다. + 정리하다가 Autoencoder와 VAE 개념을 먼저 알아야 GAN을 이해하기 쉽다는 생각이 들어서 추후에 정리하도록 하겠습니다. GAN을 하기 전에 기본 개념 1. Supervised Learning Supervised Learning에 대한 내용은 자세하게 설명은 안하겠습니다. 우리가 흔히 알고있는 Supervised Learning은 "model이 학습을 할 때 Label data가 존재해야 한다" 라는 것 입니다. 그래서 보통 input data를 알맞은 class로 분류(classification)을 해주는 거로 알고 있습니다. 위에서 보이는 ..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/blWMdk/btqwVhxwtdi/rcEqEkqWfCPmk7zy1QWDUK/img.png)
목표 Mnist data와 AlexNet 구조를 이용해서 Convolutional Neural Network기반으로 10개의 숫자 손글씨를 classification하것이다. 여기서 우리는, Tensorflow의 Session()모드로 사용 안하고 Eager()모드를 사용해서 코드를 구성해보도록 하겠습니다 ※eager mode : tf.2.0 version부터는 Session() 방식보단 Eager 방식을 쓰는 것을 권장한다고 합니다. 1. Input Module 2. enable eager 1) tf.enable_eager_execution() eager mode를 사용하려면 이 내용을 작성해주어야 한다. 그러면, tensorflow의 placeholder와 Session() 구문을 사용 못하게 된다...