분류 전체보기 (546) 썸네일형 리스트형 styleGAN 학습을 위한 여정 6 5까지를 마지막으로 하고 후기까지 썼는데 그냥 완성해보고 싶어서 5탄에서 학습하던 모델 마저 돌려봄 계속 돌리니까 모양이 잡혔다. 그리고 여러가지 문제들을 수정했다. 1. RGBA 이미지 RGBA 이미지를 RGB 이미지로 변환 하면 투명한 부분이 이상한 패턴무늬로 바뀌는 경우가 있다. 대부분의 이미지들의 바탕이 흰색이기 때문에 다음 코드로 RGBA 이미지의 투명부분을 흰색으로 처리한 후 RGB이미지로 저장했다. img = Image.open('이미지 경로') if img.mode == 'RGBA': img.load() background = Image.new("RGB", img.size, (255, 255, 255)) background.paste(img, mask=img.split()[3]) # 3 i.. styleGAN 학습을 위한 여정 5 + 후기 데이터셋이 문제라는 것을 깨닫고 새로운 대책을 생각해 냈는데, 기존 데이터셋과 비슷하지만 다른 데이터셋을 가짜로 판단하도록 판별자를 학습시키는 것이다. 저번의 글에서 GAN는 생성 이미지의 확률분포와 목표 데이터셋의 확률 분포를 근사시키는 것이라고 했었다. 위 이미지의 진한 회색의 안쪽으로 근사될수록 더 진짜같은 이미지를 생성해 내는 것이다. 지금 내 데이터셋이 질이 좋지 않아 공간 자체가 모호한 상황이고 그래서 학습이 진행되지 않는다. 실제 latent vector는 단순한 2차원이 아닌 훨씬 고차원이기 때문에 쉽게 근사시키기가 힘들다. 다른 데이터셋을 가짜로 판단하도록 학습시킨다는 게 무슨 뜻이냐면 분포 내부에 대한 정보(실제 데이터셋) 뿐만 아니라 바깥에 대한 정보를 줌으로써 확률분포 공간의 경계에.. styleGAN 학습을 위한 여정 4 진짜 며칠동안 이것도 해보고 저것도 해보고 수많은 피라미터들과 씨름을 해온 결과 데이터셋이 문제인 것을 알았다. GAN의 학습은 latent vector에서 생성된 이미지의 확률분포를 실제 이미지의 확률분포에 근사시키는 과정인데 내 데이터셋은 이미지가 다양하지 않고 몇개씩 비슷한 이미지들이 꽤 많아서 바닐라GAN을 쓰기도, 조건부 GAN을 쓰기도 애매한 그런 위치에 있다. 보통의 GAN 학습에 쓰이는 데이터셋이 이런 고른 분포이고 조건부 GAN에는 이런 라벨별로 분류된 데이터가 쓰이는데 내 데이터셋은 뭔가 이런 느낌. 그냥 GAN을 쓰기엔 유사한 이미지들이 몇개씩 뭉쳐있고, 조건부 GAN을 쓰기엔 너무 종류가 많은데다 라벨별 데이터가 50개도 안된다. 그래서 일단 그냥 GAN을 쓰고 정답이 아닌 이미지를.. styleGAN 학습을 위한 여정 3 이전글 https://ostin.tistory.com/8 https://ostin.tistory.com/9 이전 글의 이미지들을 보면 여러 개의 이미지들이 거의 똑같이 생성됐다. 사실 이렇게 이미지들이 각각 다르게 생성되야 잘 훈련된 모델이다. 똑같은 이미지들이 계속 생성 되는 걸 모드 붕괴(Mode Collapse)라고 하는데 판별자의 성능이 생성자에 비해 너무 강해서 생성자가 판별자를 속이지 못하고 가장 손실이 낮은 하나의 이미지만 반복 생성하게 되는 것이다. 그 반대의 상황도 있을진 모르겠지만 어쨋든 거의 모든 상황에서는 판별자가 강하다. 모드 붕괴를 막기 위해서 여러가지 시도를 해 보았는데 1. 배치사이즈 줄이기 배치 사이즈가 클수록 판별자의 성능이 좋아진다고 한다 2.augmentation 늘리.. styleGAN 학습을 위한 여정 2 이전 글 https://ostin.tistory.com/8 augmentation을 수정하고 그 이후로도 계속 학습을 진행 했는데.... 이미지가 계속 뭉쳐졌다 풀어졌다를 반복하며 어느 단계 이상으로 진행이 안 된다. 오히려 7000스텝 때의 이미 더 형체가 있을 정도다. 보면 실제 이미지 중 하나와 비슷하다. 훨씬 비슷한 이미지가 있기는 한데 데이터갯수가 갯수인지라 그냥 이걸로 ㅎ loss를 코드 제작자가 소개한 dual constrative loss를 쓰고 있었는데 hinge loss로 바꾸고 다시 돌려봤다. 이전보다 더 괜찮은 결과나 나오긴 한다. 하지만 다시 뭉개지는 모습..... 계속해서 뭉개지는 이미지들을 보니 이건 피라미터만의 문제가 아니라는 생각이 들었고.. augmentation을 dif.. styleGAN 학습을 위한 여정 https://github.com/lucidrains/stylegan2-pytorch GitHub - lucidrains/stylegan2-pytorch: Simplest working implementation of Stylegan2, state of the art generative adversarial net Simplest working implementation of Stylegan2, state of the art generative adversarial network, in Pytorch. Enabling everyone to experience disentanglement - GitHub - lucidrains/stylegan2-pytorch: S... github.com 위 깃허브 코드를.. 이전 1 ··· 43 44 45 46 다음