---
title: GAN project weekly report
tags: GAN, project
---
# Weekly report
[TOC]
[GAN](https://hackmd.io/iHQIBWpFSS2GigHoDufO3Q?both#Deep-learning-Flow)
---
## 待討論
1. 我們也要每週禮拜二中午12. 前寫完ㄇ??
>sure
2. 要訂看完論文的期限ㄇ??
>yes, 還是每週訂一個進度嗎?
---
## July 22 - 28
### Joann
- PCA
- method
- Model Collapse
>[read more...](https://hackmd.io/iHQIBWpFSS2GigHoDufO3Q?both#Model-Collapse)
- dimensionality reduction
- PCA
- t-SNE
- Obtain Optimal $z^*$
>$z^∗$- search & BEGAN-CS
- Disentangled Reprepesentation Learning
>由某一個較低維度的latent representation z所產生,而資料也可以藉由控制這個z所生成
- VAE
- InfoGAN
- What is CelebA dataset?
> a large-scale face attributes dataset
- Why unsupervised learning?
>allow the model to work on its own to discover information and perform more complex processing tasks compared to supervised learning
- VAE(Variational Autoencoder)
- InfoGAN
- Distributed vs Disentangled Representation
- Auto-encoder
>輸入一筆input data經過類神經網路後,也要得到跟 input data一模一樣的data (可以拆成Encoder 和 Decoder 兩個neural network)
- What is a Per-Pixel Loss Function?
>Used as a metric for understanding differences between images on a pixel level.
- What is Disentangled Representation Learning?
>Breaks down, or disentangles, each feature into narrowly defined variables and encodes them as separate dimensions.
- What is latent space?
>abstract multi-dimensional space
- What is Back-Propagation(BP)?
> a widely used algorithm in training feedforward neural networks for supervised learning.
- [完整筆記在這ㄦ~全部打進來太多惹QQ](https://hackmd.io/MiYVyg6uQvu_4n9MWzt7Iw?both)
Q: 除了寫進度之外要不要確切讀到了些什摩也大概寫一寫ㄚ??這樣如果有一樣的問題就不用重複再查還可以討論
>補上了~但太多還是先放個大概,完整版附上了 :crying_cat_face:
---
### Joycelyn's
- Thesis:
- **latent vector**: meaningful feature
- use Principle Component Analysis(**PCA**): essential technique in order to find the latent vector.
- **disentangled representations**: 把整張高維圖片拆解降維成 meaningful characteristics, like a nose or a 肉圓.
- Suggested loss function for
- discriminator: ReLU function
- generator: sigmoid function
- Linear Algebra:
- [**Singular Value Decomposition**](https://www.youtube.com/watch?v=TX_vooSnhm8&list=PLE7DDD91010BC51F8&index=31) (看一半就快完了啦:eyes:
- Topic brainstorming
- GAN + facial recognition + NLP -> personal 小護士 :female-doctor:
- To be continued:
- [A Gentle Introduction to Generative Adversarial Networks (GANs)](https://machinelearningmastery.com/what-are-generative-adversarial-networks-gans/)
- [thispersondoesnotexist.com](https://www.thispersondoesnotexist.com)
---
### Yang
- CelebA(CelebFaces Attribute 名人人臉屬性數據集)
- BEGAN
- 新的簡單的GAN結構,使用標準的訓練方式不加訓練trick也能很快且穩定的收斂
- 對於G及D的能力提出均衡的概念
- 提供一個超參數,可在圖像的多樣性和生成質量做均衡
- 提出一種收斂程度的估計,這個機制只在WGAN出現過(靈感來自WGAN)
- loss function
- Equilibrium
- WGAN
- 提出Wasserstein距離代替JS Divergence
- DCGAN
- 網路結構
- Deconvolution
- 訓練方法
- GAN改進
- PCA
- [完整筆記](https://hackmd.io/ej9lseR4QzaROxy6WPv0eg?both)
---
## July 28 - Aug 4
### Joycelyn's
- Basics:
- [GAN implementation](https://www.youtube.com/watch?v=DQNNMiAP5lw)
- [Machine Learning](https://www.youtube.com/watch?v=CXgbekl66jc&list=PLJV_el3uVTsPy9oCRY30oBPNLCo89yu49) - 1, 2, 3, 4
- **What is Machine Learning?**
- Looking for a function ==from data==
- **Machine Learning Framework (流程)**

> **This is supervised learning.**
> Step1: Give a set of function (ex. f(cat image) = "cat")
> Step2: 讓 machine 可以去衡量這個 function 是好還是不好
> Step3: 讓 machine 自己去找到最好的 function
- **Machine Learning Task**
- Regression: The output of the target function f is "scalar"
- Thesis: chapter 3 ~ 5
- So like if we actually do a research using GAN we would have to invent a new GAN-branch like dear嘉哲??
---
### Joann
#### thesis :
- [x] chapter 4~5
- experiment
- <font color=red>k value suddenly drop, BEGAN collapse shortly</font>
- $\alpha$ : controls the important of the constraint loss (set to 1 as the default value)
- k value : how much attention is paid on $\mathcal{L}_G$
- M value : value of the convergence measure
- when use M value, the figure seems not observation
- constraint loss
- effective
- preventing from mode collapse
- very good performance in generating high-quality images
- mode collapsing
- the precise timing is unpredicted
- highly related to :
1. the resolution of generated images
2. th size of training dataset
- suppressed after adding the constraint loss
- small sized dataset
- BEGAN-CS can generated high-quality result than original
- BEGAN collapse earlier than original
- keep BEGAN from converging to an optimal state
- BEGAN can **learn salient** and **high-quality disentangled representation** in an <font color=red>unsupervised setting</font>
- advantages of BEGAN-CS
- approximate $z^*$ on-the-fly
- $G(z)$ looks similar to $x$
- exhibit the adjustable disentangled properties
#### basis
- [Machine learning](https://www.youtube.com/watch?v=CXgbekl66jc&list=PLJV_el3uVTsPy9oCRY30oBPNLCo89yu49) : 5/35 episodes
- [**<font color=red>ML note</font>**](https://hackmd.io/3JJW0_70SL-fhwavFcmRhg)
- [deep learning theory](https://www.youtube.com/watch?v=KKT2VkTdFyc&list=PLJV_el3uVTsOh1F5eo9txATa4iww0Kp8K) : 0/10 episodes
- [GAN introduction](https://www.youtube.com/watch?v=DQNNMiAP5lw&list=PLJV_el3uVTsMq6JEFPW35BCiOQTsoqwNw) : 0/10 episodes
- supervised(predictive) v.s. unsupervised(descriptive)
- supervised : to learn a mapping from inputs x to outputs y, given a labeled set of input-output pairs
- unsupervised : to find “interesting patterns” in the data
- much less well-defined problem
- no obvious error metric to use
#### news
[Recognising fake images using frequency analysis](https://news.rub.de/english/press-releases/2020-07-16-information-technology-recognising-fake-images-using-frequency-analysis)
#### terms
- measure of convergence
- [Convergence of measures](https://encyclopediaofmath.org/wiki/Convergence_of_measures)
- <font color=red>not to be confused with **convergence in measure**</font>
- spectral normalization
- [SN-GAN簡介](https://medium.com/@xiaosean5408/sn-gan%E7%B0%A1%E4%BB%8B-spectral-normalization-for-generative-adversarial-networks-f8fd784f2ad)
- 新的 weight normalization 的方式防止GAN在training時不穩
- 透過 Lipschitz constant 對每層的輸出做限縮
- 控制 Lipschitz constant,不需複雜的參數調整
- 實作簡單並且計算需求少
- 數學式太多好難理解...(會用到SVD)
---
### yang
- thesis :
[learning note](https://hackmd.io/Q5SfSlibTnmuK57jMGRs3w)
---
## Aug 4 - 11
### Joycelyn's
- Basic:
- Machine Learning lecture: 5 6 7 8 9
---
### Joann
- basic
- [Machine learning](https://www.youtube.com/watch?v=CXgbekl66jc&list=PLJV_el3uVTsPy9oCRY30oBPNLCo89yu49) : 6-12/35 episodes
- [Machine Learning note](https://hackmd.io/3JJW0_70SL-fhwavFcmRhg)
- [deep learning note](https://hackmd.io/xv5OKCzJSjChHfhpqemORg)
---
### yang
---
## Aug 11 - 18
### Joycelyn's
- basic
- [Machine learning lecture](https://www.youtube.com/watch?v=CXgbekl66jc&list=PLJV_el3uVTsPy9oCRY30oBPNLCo89yu49): 10 11 12 13 14 15
---
### Joann
- basic
- machine learning lecture : 13-20, 21(14'47)
- [deep learning note](https://hackmd.io/xv5OKCzJSjChHfhpqemORg)
- semi-supervised的一半筆記轉到ML
---
---
## Aug 18 - 25
### Joycelyn's
- basic
- [Machine learning lecture](https://www.youtube.com/watch?v=CXgbekl66jc&list=PLJV_el3uVTsPy9oCRY30oBPNLCo89yu49): 16
- [Deep Learning Homework](https://drive.google.com/drive/folders/1D0WtaDQWFKiXL9zXNEu3h1aa2V2Z5Dx5?usp=sharing)
### Joann
- basic
- machine learning lecture : 25
- [Deep learning lecture](https://www.youtube.com/watch?v=KKT2VkTdFyc&list=PLJV_el3uVTsOh1F5eo9txATa4iww0Kp8K) : 1-3
- [deep learning note](https://hackmd.io/xv5OKCzJSjChHfhpqemORg)
- deep learning hw
- hw1 practice(pytorch)
- [pytorch 語法tutorial note](https://hackmd.io/pY7ABMeuTfqY4cRGdLGfuQ)
---
---
## Aug 25 - Sep 1
### Joycelyn's
- Topic brainstorming
- [Rewriting the rules of machine-generated art](https://news.mit.edu/2020/rewriting-rules-machine-generated-art-0818)
- An artificial intelligence tool lets users edit generative adversarial network models with simple copy-and-paste commands.
- [GAN Paint](http://gandissect.res.ibm.com/ganpaint.html?project=churchoutdoor&layer=layer4), a tool that lets users add and remove features like doors and clouds from a picture.
- OMG this is f**king cool !!
- "If we can rewrite the rules of a GAN directly, the only limit is human imagination."
- Big datasets are not essential, you can edit the numerical weights in its layers to get the behavior you desire, even if no literal example exists.
- "It's like inserting the DNA of a firefly into a plant to make it glow in the dark."
- “The neural network has different memory banks that function as a set of general rules, relating one set of learned patterns to another, if you could identify one line of memory, you could write a new memory into it.”
---
### Joann
- basic
- [deep learning lecture](https://www.youtube.com/watch?v=KKT2VkTdFyc&list=PLJV_el3uVTsOh1F5eo9txATa4iww0Kp8K) : 4 - 7
- [keras toutorial](https://hackmd.io/JWMXlWCFQQCspIxLlJSKjQ)
- deep learning hw
- hw1 pytorch practice
- [pytorch語法tutorial note](https://hackmd.io/pY7ABMeuTfqY4cRGdLGfuQ)
- problem :
I cannot use the code `cuda`, e.g.
```python=
args.cuda:
device = torch.device('cuda')
```
because my GPU is not the product by NVIDIA
- [上網找的回答(1) 但我看不懂@@](https://www.thinbug.com/q/58408143)
- pytorch官網, 這個不知道是不是可切換成cpu??
- 
---
---
## Sep 1 - 8
---
### Joann
- basic:
- [keras](https://keras.io/getting_started/intro_to_keras_for_engineers/)
- [keras note](https://hackmd.io/JWMXlWCFQQCspIxLlJSKjQ)
- machine learning lecture : 23, 30
- (word embedding, RNN part 1)
### Joycelyn's
- [Deep Learning for NLP: ANNs, RNNs and LSTMs explained!](https://towardsdatascience.com/deep-learning-for-nlp-anns-rnns-and-lstms-explained-95866c1db2e4)
---
## Sep 8 - 15
### Joann
- basic :
- deep learning lecture : 8
- machine learning lecture : 31 (26'19)
- RNN
### Joycelyn's
- Topic brainstorming
- [AI researchers use heartbeat detection to identify deepfake videos](https://venturebeat.com/2020/09/03/ai-researchers-use-heartbeat-detection-to-identify-deepfake-videos/)
- “We propose a deepfake source detector that **predicts the source generative model** for any given video. To our knowledge, our approach is the first to conduct a deeper analysis for source detection that interprets residuals of generative models for deepfake videos. Our key finding emerges from the fact that we can **interpret these biological signals as fake heartbeats** that contain a signature transformation of the residuals per model. Thus, it gives rise to a new exploration of these biological signals for not only determining the authenticity of a video, but also classifying its source model that generates the video.”
- [Kaggle competition](https://www.kaggle.com/competitions)
# Topic branstorming
- [Rewriting the rules of machine-generated art](https://news.mit.edu/2020/rewriting-rules-machine-generated-art-0818)
- An artificial intelligence tool lets users edit generative adversarial network models with simple copy-and-paste commands.
- [GAN Paint](http://gandissect.res.ibm.com/ganpaint.html?project=churchoutdoor&layer=layer4), a tool that lets users add and remove features like doors and clouds from a picture.
- "If we can rewrite the rules of a GAN directly, the only limit is human imagination."
- Big datasets are not essential, you can edit the numerical weights in its layers to get the behavior you desire, even if no literal example exists.
- "It's like inserting the DNA of a firefly into a plant to make it glow in the dark."
- “The neural network has different memory banks that function as a set of general rules, relating one set of learned patterns to another, if you could identify one line of memory, you could write a new memory into it.”
- [AI researchers use heartbeat detection to identify deepfake videos](https://venturebeat.com/2020/09/03/ai-researchers-use-heartbeat-detection-to-identify-deepfake-videos/)
- Russian troll farm: 俄羅斯政治網軍
- Deepfakes can make epic memes or put Nicholas Cage in every movie, but they can also undermine elections.
- Existing deepfake detection models focus on traditional media forensics methods, like tracking unnatural eyelid movements or distortions at the edge of the face.
- “We propose a deepfake source detector that **predicts the source generative model** for any given video. To our knowledge, our approach is the first to conduct a deeper analysis for source detection that interprets residuals of generative models for deepfake videos. Our key finding emerges from the fact that we can **interpret these biological signals as fake heartbeats** that contain a signature transformation of the residuals per model. Thus, it gives rise to a new exploration of these biological signals for not only determining the authenticity of a video, but also classifying its source model that generates the video.”
- The first study for detection of [unique GAN fingerprints](https://arxiv.org/abs/1811.08180) was introduced in 2018.
- GANs have shown increasing success in generating photorealistic images (寫實派影像)
- learning GAN fingerprints towards **image attribution** and using them to classify an image as real or GAN-generated
- GAN fingerprints:
- are stable
- minor differences in GAN training can result in different results.
- persist across different image frequencies and patches (like smaller blocks).
- finetuning (調整) is effective in immunizing five different types of adversarial image perturbations (擾動).
- [Attributing Fake Images to GANs: Learning and Analyzing GAN Fingerprints](https://arxiv.org/pdf/1811.08180.pdf)
- photoplethysmography PPG
- [Kaggle competition](https://www.kaggle.com/competitions)