목록머신러닝 (7)
Shine's dev log
1. 개요 https://github.com/godeastone/GAN-torch Pytorch 로 구현한 CGAN 전체 코드는 위 git repository에서 확인할 수 있다. 2. Conditional GAN Conditional GAN (CGAN)은 GAN이 처음 제안된 연도인 2014년 Mehdi Mirza, Simon Osindero 에 의해 제안된 GAN 의 변종 알고리즘이다. 아래 링크에서 논문 확인이 가능하다. https://arxiv.org/abs/1411.1784 Conditional Generative Adversarial Nets Generative Adversarial Nets [8] were recently introduced as a novel way to train gene..
1. 개요 https://github.com/godeastone/GAN-torch Pytorch 로 구현한 GAN 전체 코드는 위 git repository에서 확인할 수 있다. 2. GAN GAN은 2014년 Ian Goodfellow 님에 의해 개발되었다. GAN 논문에 대한 자세한 정보는 아래 글을 참고하도록 하고, 이번에는 GAN의 전체적인 구조를 대략 살펴보고 코드로 구현하는데 집중을 해도록 하자. https://ddongwon.tistory.com/117 [논문] Generative Adversarial Nets 논문 제목 : Generative Adversarial Nets 0. abstract 본 논문에서는 adversarial process를 통한 generative model을 esti..
0. 프로젝트 소개 빅데이터응용 보안 수업시간에 팀 프로젝트로 진행했던 프로젝트를 소개해본다.프로젝트 주제는 Deepfake Detection 성능을 분석하는 것으로, 총 4명의 팀원들과 협력하여 진행하였다. 우선 deepfake detection과 관련된 논문을 분석한 뒤, 사용할만한 데이터셋을 탐색하고 전처리, 학습, 최적화 등의 과정을 거쳐 프로젝트를 진행하였다. 1. Introduction 최근 딥러닝 기술의 발전으로 Deepfake 와 같이 동영상에 특정 인물의 얼굴을 합성하는 사례가 증가하고 있다. Deepfake 기술은 다양한 분야에 적용될 수 있어 앞으로 그 수요가 증가할 것으로 예상된다. 하지만 deepfake 기술을 이용해 사기, 허위 음란물, 가짜 뉴스 등의 새로운 범죄에 악용될 위험..
1. KLD / JSD 얼마전 GAN 논문을 읽는데 KLD, JSD에 관한 내용이 나왔다. 그냥 단순히 두 확률분포 간의 distance를 나타내는 divergence라고 생각했는데, 사실은 이게 아니라 더 심오한 내용이 있어서 정리해보겠다. 2. KL divergence (Kullback-Leibler divergence) 2.1. KL divergence의 의미 위키백과에서는 KL divergence를 다음과 같이 정의하고 있다. 쿨백-라이블러 발산(KLD)은 두 확률분포의 차이를 계산하는 데에 사용하는 함수로, 어떤 이상적인 분포에 대해, 그 분포를 근사하는 다른 분포를 사용해 샘플링을 한다면 발생할 수 있는 정보 엔트로피 차이를 계산한다. 쿨백-라이블러 발산은 어떠한 확률분포 P가 있을 때, 샘플..
1. 개요 사용자로부터 특정 개수 (5개 정도)의 선호하는 영화를 선택받으면, 해당 사용자가 좋아할만한 영화를 추천해주는 영화 추천 시스템을 만들었다. 영화를 추천해주는 방법은 아래와 같이 2가지가 있다. 1) 사용자가 선호하는 영화와 유사한 영화를 추천 2) 다른 사용자들의 평가를 바탕으로 선호할만한 영화를 추천 코드는 아래에서 확인할 수 있다. https://github.com/godeastone/movies-recommendation 2. Abstract 본 프로젝트에서는 사용자가 선호하는 영화 5개를 바탕으로 간단하게 사용자에게 볼만한 영화를 추천해주는 시스템을 제안한다. 본 시스템은 크게 2가지 방식으로 영화를 추천한다.첫번째 방식은 사용자가 선택한 영화와 자주 같이 시청된 영화들 중, ..
1. PCA (주성분 분석) PCA는 대표적인 dimensionality reduction (차원 축소)에 쓰이는 기법으로, 머신러닝, 데이터마이닝, 통계 분석, 노이즈 제거 등 다양한 분야에서 널리 쓰이는 녀석이다. 쉽게 말해 PCA를 이용하면 고차원의 데이터를 낮은 차원의 데이터로 바꿔줄 수 있다는 것인데, 중요한 것은 "어떻게 차원을 잘 낮추느냐" 이다. 예를 들어 아래 [그림 1] 에서 왼쪽에 있는 2차원 데이터를 오른쪽에 있는 1차원 데이터로 바꾼다고 생각해보자. 아무리 잘 바꾼다고 하더라도, 2차원의 데이터의 특징을 모두 살리면서 1차원의 데이터로 바꿔줄수는 없을 것이다.그렇다면 차선책으로, 모든 특징을 살릴 수는 없을지라도 최대한 특징을 살리며 차원을 낮춰주는 방법을 고안하기 시작했고, 그..