Group Study (2021-2022)/Machine Learning (GAN) 8

[Machine Learning] 8주차 스터디-CycleGAN

Cycle GAN 참고한 링크 https://www.tensorflow.org/tutorials/generative/cyclegan 생성기와 판별자 가져오기를 지원하는 패키지 설치, import 입력파이프라인 생성 이미지를 가지고 온 후, 이를 랜덤하게 이미지를 수정한다 무작위 지터링 : 이미지 286x286크기로 조정후 256x256으로 무작위로 자름 무작위 미러링 : 이미지 좌우로 무작위로 뒤집힘 이미지 가져온 후 BUFFER_SIZE와 BATCH_SIZE, IMG_WIDTH, IMG_HIGHT를 설정한다 함수 만들고 이미지들 랜덤하게 수정한다 수정한 이미지 확인하기 Pix2Pix 모델 가져오기 설치된 tensorflow_examples 패키지를 통해 Pix2Pix에서 사용되는 생성기와 판별자를 가져..

[Machine Learning] 7주차 스터디-CycleGAN

Cycle GAN: 박태성(UC 버클리) Prisma: 사진을 그림처럼 바꿔주는 AI -> 그림을 사진으로 바꾸는 인공지능 pix2pix: 사진을 사진으로 바꾸는 작업 Self-Supervised 흑백사진을 컬러로 바꾸는 경우 결과를 모르니 중간값을 선택하는 경향이 있다 -> 사람이 할 수 있다면 딥러닝 네트워크도 할 수 있지 않나? = GAN "위조지폐 만들기" + "위조지폐 감별하기" CycleGAN 대칭적인 로스를 기반으로 동시에 훈련시켜 4가지 로스를 합친 결과가 CycleGAN 사진을 특정 화풍의 그림으로 바꿀 수 있다 그림을 사진으로 바꿀 수 있다 말을 얼룩말로 바꿀 수 있다 Loss 컨셉 추가적인 loss가 원리 이미지로 reconsturct되게 하는 것 위의 loss는 가짜 이미지를 다시 ..

[Machine Learning] 6주차 스터디-조건부 GAN

✨ 목표 이미지를 단일한 클래스로 고정한 채로 다양한 이미지를 생성할 수 있게 하는 것 ex) 🙋‍♀️ 개발자: 숫자 3을 표현하는 다양한 이미지를 생성해줘! 💻 GAN: OK! ❓ 조건부 GAN 구조 1. 생성기에 임의의 시드와 함께 어떤 이미지를 원하는지 입력을 넣어주어야 함. 2. 판별기 : 생성된 이미지와 실제 이미지 구별 ▶ 클래스 레이블과 이미지 사이의 관계 학습 ▶ 판별기에도 클래스 레이블에 대한 정보를 같이 제공해야 함! 주요한 차이점 : 판별기와 생성기 모두 이미지 데이터 외에도 클래스 레이블을 추가로 입력받음 📌 판별기 이미지 픽셀 데이터와 클래스 레이블 정보를 동시에 받도록 판별기를 업데이트 해야함. 방법 : forward() 함수에서 이미지 텐서와 레이블 텐서를 동시에 받게 하고 결..

[Machine Learning] 5주차 스터디-합성곱 GAN

1. Convolution Neuarl Network CNN은 feature extraction을 위한 convolution 부분과 fully connected된 layer 층으로 구성되있다. featuer extraction은 이미지 데이터의 localized 특성을 파악하기 위한 부분이다. feature 별 filter와 이미지 map을 convolution 연산하여 새로운 map을 생성하며 이는 feature와 유사할수록 큰 값을 갖는다. 2. 합성곱 GAN 실습 0. 라이브러리 import torch import torch.nn as nn from torch.utils.data import Dataset import cv2 as cv import os import numpy as np import..

[Machine Learning] 3주차 스터디 - 파이토치와 신경망 기초

구글 코랩(colab) : 웹브라우저 만으로, 구글의 인프라에서 파이썬 코드가 돌아가도록 지원한다. 파이토치 : 복잡한 신경망을 만드는데 필요한 많은 작업을 대신함으로 우리가 신경망을 설게하는 일에 집중할 수 있도록 해준다 파이토치 사용 파이토치를 사용하려면 torch모듈을 임포트해야 한다 import torch 파이토치의 변수 : tensor x = torch.tensor(3.5, requires_grad = True) y = (x-1) * (x-2) * (x-3) 일반적인 파이썬 변수, 넘파이 행렬과 달리 파이토치 변수인 텐서는 y가 x로부터 만들어졌고, 어떻게 계산되었는지를 기억한다. requires_grad = True 옵션은 파이토치에게 x에 대한 기울기 계산이 가능하도록 하는 기능을 제공 다차..

[Machine Learning] 4주차 스터디-튼튼한 GAN 만들기

1. 각각 서로 다른 이미지들을 만들어내기 2. 그저 평균처럼 애매모호한 이미지가 아니라 훈련 샘플처럼 보이는 이미지들 만들기 1) 백쿼리(Backquery) 하나의 숫자를 표현하는 원핫 인코딩 벡터를 훈련되어 있는 네트워크에 넣어 그 숫자에 맞는 이상적인 이미지를 거꾸로 만드는 것 - 같은 원핫 인코딩 벡터는 같은 결과를 출력한다. - 레이블을 나타내는 모든 훈련 데이터의 뭔가 평균적인 이미지가 나온다. 👉🏻 백쿼리만으로는 원하고자 하는 것을 달성하지 못함. 단, 백쿼리 이용은 한다. 백쿼리 외에도 다른 것들이 필요하다. 2) GAN(Generative adversarial network)을 활용하자! 생성적 적대 신경망이라고 불리는 GAN..

[Machine Learning] 2주차 스터디 - 심층 신경망 성능 향상 시키기, 합성곱 신경망 네트워크(CNN)

학습 링크 https://www.edwith.org/ai216/joinLectures/132203 딥러닝 2단계: 심층 신경망 성능 향상시키기 강좌소개 : edwith - Andrew Ng www.edwith.org https://www.edwith.org/ai218/joinLectures/138357 딥러닝 4단계: 합성곱 신경망 네트워크 (CNN) 강좌소개 : edwith - Andrew Ng www.edwith.org PART 1. Setting up you ML application Applied ML is a highly iterative process 신경망을 훈련시킬 때는 많은 결정을 내려야함. 신경망이 몇 개의 층을 가지는지 각각의 층이 몇 개의 은닉 유닛을 가지는지 학습률은 무엇인지 서로..

[Machine Learning] 1주차 스터디 - 신경망과 딥러닝

학습 링크 : https://www.edwith.org/ai215/joinLectures/86246 딥러닝 1단계: 신경망과 딥러닝 강좌소개 : edwith - Andrew Ng www.edwith.org 1. 딥러닝 소개 1) 신경망(Neural Network : NN): 충분한 훈련 데이터 셋이 주어졌을 때, 신경망은 X에서 y로 정확하게 매핑되는 활성화 함수를 알아내는 데 매우 뛰어남 2) 지도학습(Supervised Learning) - 입력 X에 대한 결과 값 y가 라벨링되어 있는(정답이 있는) 데이터를 학습시키는 방법 - 예시: Standard NN Convolution NN(images) Recurrent NN(audio) 3) 데이터 구조화 데이터(Structured Data): 모든 피쳐..