styleGAN2 이해하기
2022. 5. 31. 17:20
인공지능/computer vision
초록 styleGAN의 특징적인 산물을 살펴보고 모델 아키텍처와 학습 방식을 수정한다. generator normalization을 재설계하고 점진적 학습 을 검토한다. latent 코드에서 이미지로 매핑할 때 good conditioning을 이루도록 generator를 regularize 한다. 이미지의 퀄리티를 개선할 뿐만 아니라 path length regularizer를 통해 generator를 더 쉽게 invert할 수 있게 만든다. 이를 통해 생성된 이미지와 특정 네트워크를 연결할 수 있다. 나아가 generator가 출력 해상도를 얼마나 활용하는지 시각화하고, capacity 문제를 밝힌다. Removing normalization artifacts 물방울(droplet) 현상 : 최종 이..
StyleGAN1 vs. StyleGAN2
2022. 5. 31. 16:50
인공지능/computer vision
styleGAN ver1 vs. styleGAN ver2 styleGAN : mapping network, AdaIN, Noise styleGAN2 : AdaIN 연산 수정, progressive 대신에 G output skips, D residual nets styleGAN 의 mapping network는 networks_stylegan.py의 G_style 함수로, synthesis network는 G_synthesis 함수로 정의된다 (보다 정확히 말하자면, Style-based generator는 G_mapping과 G_synthesis라는 두 서브 네트워크로 이루어진다.) G_synthesis에서 이미지를 합성하는 부분(해상도 2x 하며 images_out 업데이트)은 PGGAN과 거의 동일하..
styleGAN 이해하기
2022. 5. 31. 16:45
인공지능/computer vision
A Style-Based Generator Architecture for Generative Adversarial Networks(2018) 초록 style transfer 개념을 빌려 새로운 GAN 생성기 아키텍처를 제안. 새로운 학습기는 고차원적인 특징(자세, 인종identity)과 생성 이미지의 확률적 다양성(stochastic variation, 주근깨나 헤어스타일)을 개별적으로 비지도 자동학습하며, 합성에 있어서 직관적이고 scale-specific한 통제를 가능케 한다. 새로운 생성기는 기존 분포특성 평가방식(traditional distribution quality metrics)에 있어서 최신 기술을 개선하고 더 나은 보간식(interpolation properties)을 제시한다. 또한 ..
PGGAN의 공식 코드 살펴보기
2022. 5. 31. 16:39
인공지능/computer vision
pytorch colab Google Colaboratory tensorflow github GitHub - tkarras/progressive_growing_of_gans: Progressive Growing of GANs for Improved Quality, Stability, and Variation networks.py 소스코드 smooth fade in # 선형보간 (linear interpolation) def lerp(a, b, t): return a + (b - a) * t def lerp_clip(a, b, t): return a + (b - a) * tf.clip_by_value(t, 0.0, 1.0) # [0, 1]의 텐서값 이전 레이어의 값을 특정 비율만큼 반영해 부드럽게 고해상도..
PGGAN 이해하기
2022. 5. 31. 16:31
인공지능/computer vision
Progressive Growing of GANs for Improved Quality Stability and Variation(2017) - PGGAN 초록 새로운 GAN 학습 방법론. 핵심은 생성기와 식별기를 점진적으로 학습시키는 것이다. 낮은 해상도에서 시작해 새로운 레이어를 추가함으로써 학습 과정에서 점진적으로 디테일을 모델링한다. 학습의 속도가 빨라지고 상당한 안정성도 확보가 된다. 이로써 이전에는 불가능했던 퀄리티의 이미지를 생성할 수 있게 됐다. 또한 생성된 이미지들의 variation을 증가시킬 수 있는 단순한 방법도 제안한다. 비지도 CIFAR10에서 8.8점을 달성했다. 나아가 생성기와 식별기의 불건전한 경쟁(unhealthy competition)을 감소시키는 디테일을 적용하는 법도..
Natural Language Processing with Classification and Vector Spaces: sentiment analysis with Naive Bayes(2)
2022. 5. 25. 00:21
인공지능/Natural Language Process
Training Naïve Bayes 경사하강법 없음. 그냥 출현횟수만 셀 것임. 1. 전처리 - 소문자화, 특수문자, 대명사 제거, 불용어 제거, 어간 분리, 토큰화 2. word count - 클래스별로 출현횟수 정리한 사전 구축 3. 조건부확률 계산 + 라플라시안 스무딩 4. 람다 계산 5. log prior 추정 - 클래스별 전체 트윗 개수로 비율 구한 후 log값 구함 (* 완전히 균형이 맞춰진 데이터셋에서 log prior는 0 이 됨) Testing Naïve Bayes - 훈련된 나이브 베이즈 모델로 새로운 트윗의 감정을 예측하기 - 람다 스코어표, log prior 활용 - 람다 스코어표를 모두 더한다 - 사전에 없는 새로운 단어는 neutral로 간주한다 - log prior 도 더한다..
Natural Language Processing with Classification and Vector Spaces: sentiment analysis with Naive Bayes(1)
2022. 5. 24. 19:06
인공지능/Natural Language Process
Probability and Bayes’ Rule - probability, conditional probability - Bayes' rule - tweet classifier probability 를 세는 방법? frequencies 를 카운트 한다 사건 A : 어떤 트윗이 positive으로 라벨링된다 P(A) : 사건 A의 확률 positive 트윗의 개수 / 전체 트윗의 개수 어떤 트윗이 negative로 라벨링될 확률은 1-P(A) (*전체 트윗은 positive 아니면 negative 이다) 사건 B : 어떤 트윗이 단어 'happy'를 포함한다 P(B) : 사건 B의 확률 'happy'를 포함한 트윗의 개수 / 전체 트윗의 개수 'happy'를 포함하면서 positive로 분류된 트윗은? ..
Logistic Regression 퀴즈 풀이
2022. 5. 22. 19:31
인공지능/Natural Language Process
sparse representation의 한계는 강의 초반에 언급되었음 이거 쓸데없이 헷갈렸음 ㅡㅡ;;ㅋㅋ 시그모이드 함수에 대해서 θTx(i) 가 0을 기준으로 양의 방향으로 갈 때 h(x(i),θ) 는 1에 가까워지고, 음의 방향으로 갈 때 h(x(i),θ)가 0에 가까워짐 y 라벨이 1일 때와 0일 때로 나눠 생각해보면 된다 y 라벨이 1인데 예측값이 0에 가까우면 손실은 커지고, y 라벨이 0인데 예측값도 0에 가까워지면 손실은 0에 수렴 생각해보면 매우 간단한 문제.. 시그모이드 함수 그래프 그려보면 금방 나온다 이진 분류를 위한 logistic regression을 할 때 필요한 과정들 요거 급 헷갈려서 컨닝했다 1) 파라미터 초기화 2) 예측 3) 그라디언트 계산 4) 업데이트 라벨이 1인 ..