728x90

IT 417

[논문] GAN ; CycleGAN (Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks)

이번에 설명할 논문은 Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks이다. 본 논문의 테마는 '순환에 의한 일관성을 가지는 적대성 네트워크' 를 이용한 '비지도 학습'으로 '이미지부터 이미지에의 전환'이다. 1. 개요 제안 방법의 최종적인 목표는 쌍이 되는 훈련 데이터없이 (즉 비지도 학습으로), 소스 도메인 X로부터 대상 도메인 Y로의 이미지 변환을 실시하는 것이다. 즉, 훈련 데이로터로써 각각이 짝이 되지 않은 두 개의 이미지 군집을 전달해, 말 → 얼룩말, 경관사진→모네의 그림이라는 사진의 이미지를 학습해, 한 쪽으로부터 다른 한쪽에 자동적으로 변환이 되도록 하는 것이다. 구체적으로는 타겟의 분포 Y와 구..

IT/AI\ML 2020.04.30

[python] GAN; cGAN(conditional GAN)

1. 잠재 변수 공간상의 카테고리의 분포 GAN의 이미지 생성을 봤을 때 떠오른 것은 '다양한 숫자(이미지)가 생성됐지만, 어떻게 구분해서 쓸 수 있는거지?'라는 의문이었다. (보통의) GAN은 지도 학습으로 분류되어 있다고 생각했지만, 이것은 어디까지나 이미지가 진짜인가 가짜인가에 대해 지도학습으로, 예를 들어 minist에서는 이미지가 어떤 숫자에 대응하는지를 지도학습으로 학습하는 것은 아니다. 따라서, 생성기(Generator)가 명시적으로 숫자를 구분해서 쓰는 것을 불가능하다. 훈련 이미지의 라벨을 알려주지 않았으니 당연하다. generator에 있어서 1도, 4도, 6도 모른 채, 오로지 훈련 데이터의 분산에 접근할 수 있도록 학습을 반복한다. 결론적으로 generator 자체는 잘 모르지만서도..

IT/AI\ML 2020.04.30

[python] PCA와 ICA의 개요와 차이점

1. 개요 PCA와 ICA모두Dimension reduction에 해당하는 기술이다. 1) PCA란 PCA(; Principal Component Analysis)는 기본적으로 unsupervised learning이며, 상관관계가 있는 다수의 변수로부터 상관관계가 없는 소수로 전체의 불규칙한 분포를 최대한 좋게 표현하는 주성분이라고 불리는 변수를 합성하는 다변량(다차원)분석 방법 중 하나이다. 데이터의 차원 감소를 위해 사용되고 있다. 주성분을 부여하는 변환은, 제 1 주성분의 분산을 최대화하여, 계속해서 주성분은 지금까지 정해진 주성분과 직교하는 구속조건 하에 분산을 최대화하는 것이 선택된다. 즉, 데이터가 정규분포를 따른다고 가정할 수 있을 때, 분포된 데이터들의 주성분를 찾을 때 데이터를 가장 잘..

IT/AI\ML 2020.04.30

Manifold Learning(多様体学習)과 알고리즘

Manifold의 학습은 곧 다른 의미로 kernel 테크닉의 예시라고 할 수 있다. Kernel이 given data를 High-dimensional Reproducing Kernel Hilbert Space에서 갖고 논다면, Manifold를 배우는 것은 그 반대로 dimension을 효과적으로 줄이는 과정이다. 고차원의 데이터(이미지 등)은 그 자체로는 다루기 까다롭다. 가령 일반적으로 사용되는 euclidean distance도 차원에 값 영향을 많이 받는다. 하지만 대부분의 고차원 데이터는 그 안에 manifold를 가지기 마련인데, 가령 object의 성격이 제한될 때(e.g., 특정 강아지 사진) 데이터 내부적으로 dependent한 correlation이 생기기 때문이다. (e.g., 강아..

IT/AI\ML 2020.04.30

[python/Keras] GAN ; pix2pix

0. 들어가기에 앞서 pix2pix관련 포스팅이 굉장히 많이 되어 있지만, 도저히 내용을 이해할 수 없어서 소스 코드를 통해 내용을 이해하는 것을 목적으로하는 포스팅이다. 우선 간단히 pix2pix에 대해 설명하자면, 지금까지의 이미지 생성과 같이 파라미터부터 이미지로부터 하지 않고, 이미지로부터 이미지를 생성하는 모델이다. DCGAN이라고 불리는 이미지 생성의 기술에 이용되고 있으며, 야간촬영한 이미지로부터 한 낮에 촬영한 이미지로의 상호 교환, 흑백이미지에 채색하는 것, 스케치를 이미지로 변환하는 등의 모든 사례에 있어서 Pix2Pix는 우수한 결과를 냈다. pix2pix는 넓은 의미로 CGAN(Conditional GAN)의 한 종류이다. CGAN에서는 '조건 벡터와 이미지의 짝'을 학습 데이터로써..

IT/AI\ML 2020.04.28

[논문] GAN ; BigGAN (Large Scale GAN Training for High Fidelity Natural Image Synthesis)

1. 도입 BigGAN는 512x512의 고해상도 조건이 있는 이미지 생성(예를 들어 ImageNet을 학습하여 ImageNet의 라벨을 입력 노이즈에 부수적으로 부여하여 그 라벨에 상당하는 이미지를 생성하는 작업)을 실행하지만, 이 스코어는 놀라운 정도였다. GAN의 평가 지표로써 이용되는 Inception Score(IS)와 FID의 값이 각각 166.3과 9.6으로 기존 SoTA의 52.52와 18.65를 크게 뛰어넘는 결과를 보여줬다. 2. Scaling UP GANs 여기는 높은 스코어를 얻기 위해 어떤 공정을 실시했는지에 대해 설명한다. 먼저 베이스 라인 구성에 대해서 설명하겠다. 베이스라인은 Self-Attention GAN(SA-GAN)이다. 이 구성은 기존의 SoTA이다. 논문중에서는 이..

IT/AI\ML 2020.04.28

[연구동향] CNN(Convolution Neural Networks)의 최신 연구 동향(~2017년)

1. 들어가며 Convolutional Neural Networks(이하 CNN)은 주로 이미지 인식에 이용되는 뉴럴 네트워크의 한 종류이다. CNN의 원형은 생물의 뇌의 시각 피질과 관련된 신경 생물학적인 지식을 토대로 고안한 Neocognitron으로 볼 수 있다. Neocognitron은 특징 추출을 실행하는 단순형 세포에 대응하는 Convolution layer과, 위치의 어긋남을 허용하는 움직임을 가진 복수형세포에 대응하는 Pooling layer과의 상호적, 계층적으로 배치한 뉴럴 네트워크이다. Neocognitron에서는 자기 조직화에 의해 학습이 이루어지고 있었지만, 후에 LenCun에 의해 CNN의 backpropagation을 이용한 학습법이 확립되어, 예를 들면 LeNet이 문자인식에..

IT/AI\ML 2020.04.28

[연구동향] GAN의 주요 연구 역사(~2019년 11월)

2014년 발표된 GAN(Generative Adversarial Network)는 획기적인 연구로 최근까지 파생 연구가 굉장히 많다. 따라서 GAN관련 연구 흐름의 아웃 라인을 파악하고 싶은 사람이나 각각의 연구관련 논문과 코드로 한 번에 이동하고 싶은 사람을 위해 이러한 포스팅을 작성했다. 주로 참고하여 작성한 포스트는 링크를 확인해달라. 0. GAN 가족의 소개 ▶ GAN (Generative Adversarial Network) ▶ CGAN (Conditional Generative Adversarial Network) ▶ DCGAN (Deep Convolutional Generative Adversarial Network) ▶ CoGAN (Coupled Generative Adversarial ..

IT/AI\ML 2020.04.24

[python/Tensorflow2.0] GAN ; StyleGAN2 (Style-based Generative Adversarial Networks)

1. StyleGAN2 이전 포스팅에서 소개한 StyleGAN을 개선한 것이 StyleGAN2이다. 변화된 특징은 아래와 같다. 1) AdaIn에서 변화된 정규화 방법 AdaIn은 실제로 입력된 데이터의 통계량을 사용하여 정규화하지만, 이것이 이전 포스팅에서 말했듯 droplet현상을 야기한다. 그러므로 학자들은 실제의 데이터의 통계량이 아닌 추정 통계량을 사용하여 Convolution의 가중치를 정규화하여 droplet현상을 예방하고 있다. 모식적으로 표시하자면 아래의 그림과 같다. 먼저, StyleGAN의 핵심인 Style block(그림 b의 회색 부분)을 단순화하는 것으로 시작한다. AdaIn을 상세히 기술하자면, 두 가지 방법이 있다. 첫 번째 방법은 콘텐츠 정보를 자신의 통계량으로 정규화하는 ..

IT/AI\ML 2020.04.24

[python/Tensorflow2.0] U-Net++(A Nested U-Net Architecture for Medical Image Segmentation)

1. U-Net++란 U-Net++는 DenseNet의 Dense block 아이디어를 사용하여 U-Net을 향상시킨 것이다. 기존의 U-Net과 다른 점은 아래의 세 가지이다. ① skip pathways에 convolution 층이 있는 것이다. 이것은 encoder과 decoder 특징 맵 사이의 semantic gap을 연결해준다. ② skip pathways에 dense skip이 있다. 이것은 기울기의 흐름을 향상시킨다. ③ 모델 가지치기 그리고 향상이 가능하게 하거나 최악의 경우 하나의 loss 층만을 사용하것과 유사한 성능을 달성하는 deep supervision이 있다. 2. U-Net++ 구조 - U-Net++는 encoder 서브 네트워크나 decoder 서브 네트워크가 뒤따라 있는 ..

IT/AI\ML 2020.04.24
728x90