본격적인 Vision Transformer 관련 논문들을 리뷰를 하기 전에, 공부한 내용을 정리할 겸해서 간단하게 메모장을 끄적이는 느낌으로 정리를 해볼까 합니다. 1. 사전 지식 ■ Attention mechanism Encoder ↔️ Decoder 사이의 correlation을 바탕으로 특징을 추출해 나가는 과정. Decoder로 부터 query가 나옴. Encoder로 부터 key, value가 나옴. 📝 참고 그림 더보기 ■ Self-Attention mechanism 입력 데이터로 부터 query, key, value가 계산된다. 그 이후에는 Attention mechanism과 동일한 과정으로 진행. 데이터 내의 상관 관계를 바탕으로 특징을 추출해 나가는 과정. 입력 데이터로 부터 quer..
1. Abstract 정상 데이터를 이용하여 Autoencoder(AE)을 학습하면 정상보단 비정상 데이터에 대해 더 높은 재구성 오류(reconstruction error)을 얻게 됩니다. 하지만 AE는 일반화(Generalization)가 잘 이루어진다는 특징이 있어서 비정상 데이터가 입력되어도 정상을 재구성 해야하지만 결함이 있는 부분까지 포함하여 재구성 하는 경우가 발생하게 됩니다. 이런 AE기반 이상 탐지(Anomaly Detection)의 한계점을 개선하기 위한 해결책으로 메모리 모듈(memory module)을 사용하여 AE을 augmented 하는 방법인 MemAE을 이 논문에서는 제안하고 있습니다. 방법은 (1) 입력 $\mathbf{x}$가 주어지면 MemAE는 먼저 Encoder을 통..
Unsupervised Learning 방법으로 GAN을 이용한 Anomaly Detection 방법 중 Encoder 부분을 이용한 f-AnoGAN 방법이 있습니다. 이 방법은 효율적으로 Anomaly Detection을 잘 하지만 미세한 결함을 제대로 검출하기 힘들다는 한계점이 있습니다. 본 글에서는 f-AnoGAN의 특징들과 단점에 대해 간략히 소개를 하고 그 해결책에 대한 내용을 간략하게 정리해보기 위한 글 입니다. 비교를 할 논문은 아래와 같습니다. f-AnoGAN MemAE f-AnoGAN 참고 링크 blog.promedius.ai/f-anogan-fast-unsupervised-anomaly-detection-with-gan/ Github tutorial github.com/mulkong/f..
1. Abstract [산업 현장에서 AE를 활용한 Anomaly Detection] Industrial vision에서 Anomaly Detection problems은 결함이 있거나 없는 arbitrary image를 clean image에서 mapping하도록 훈련된 AutoEncoder를 사용하여 해결할 수 있습니다. [skip-connections이 있는 AutoEncoder(AES)를 사용한 이유] 이 접근 방식에서 Anomaly Detection과정은 개념적으로 본다면 reconstruction residual 또는 reconstruction uncertainty에 의존합니다. 공통적으로 sharpness of the reconstruction를 높이기 위해 skip-connections이 ..
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..