# 0614 AIV NLP&GAN (I) [cyclegan.ipynb](https://drive.google.com/file/d/1WsQ8ybWLjiks9j_qDXQCEXbjCdrhTy_Q/view?usp=sharing) [dcgan.ipynb](https://drive.google.com/file/d/140y8H3UCXX6AhyXXUrUB22ksWrqaDrJR/view?usp=sharing) [datasets for cyclegan](https://people.eecs.berkeley.edu/~taesung_park/CycleGAN/datasets/) - idea: - 聊天室裡與粉絲互動的文字生成機器(Chatbot) - 根據不同名人聊天室,產生該相關風格 - 也可能在對話稀少中,主動提引討論對話 - 最大問題在於 NLP 的 Loss Function... 應該要找找看是否有人用過 NLP @ GAN - 生成: - RNN Generator - pre_train/transformer generative model - gan - 為什麼介紹 GAN: - GAN 在影像上的功能是可以生成特定主題圖片 $\Rightarrow$ NLP 生成特定粉絲團風格的句子?內容不拘,但是可能是五月天的紛絲調調,或者是蔡依林粉絲的調調。 - CycleGAN: 可以將一張圖片內容不變,只改變某一種特性。$\LARGE \Rightarrow$ 原本的 chatbot 的一句話產生特定粉絲群的風格? - CGAN (Conditional GAN): 比如說,在 DCGAN 產生 MNIST,現在在 Latent code 加入一個 $z_0 \in \{0, 1, 2, ..., 9\}$ 可以控制要產生哪一個字。 $\LARGE \Rightarrow$ 可以偵測到對話稀少時,或其他情境狀態時,該發動的話語,不過這個是 Supervised Learning.... - GAN basic - basic: - GAN $\Rightarrow$ DCGAN $\Rightarrow$ WGAN - loss function 的演變 - 收斂速度、model collapse 等討論:不建議 - CGAN @image - 比如說,在 DCGAN 產生 MNIST,現在在 Latent code 加入一個 $z_0 \in \{0, 1, 2, ..., 9\}$ 可以控制要產生哪一個字。(如果需要的是 Disriminator,可能要用到 SGAN) - CycleGAN @image - 輸入不一樣了,不是一個沒有結構的隨機向量 latent code,而是一個結構性資料圖片。 - 輸出:風格轉換了。 - 比如馬兒輸入,被生成為斑馬圖片,除了斑紋上身,其他都內容細節都沒有變化。 - 基本上 CycelGAN 會有多種 loss: discriminator loss (確認變成斑馬), consistency loss (會不會除了變成斑馬,其他細節都不對了?), Identity loss (這個在 NLP 上有嗎) - GAN 的影像應用到 NLP: - GAN 主要是 Generator and Discriminator 兩個模型的對抗。傳統上以影像最多應用。 - 如果要用在 NLP,則 Generator 可以考慮 RNN, transformer 系列等... Discriminator 當然也可以同樣改用這些,但是說不定 DNN 就可以搞定。 GAN 介紹 |GAN#|Networks|Input|Output|Loss|Goal|Remark |--|--|--|--|--|--|--|--| |GAN|$D(x)$|||loss='binary_crossentropy'<br>optimizer=Adam()||$D^* = \frac{P_r}{P_r + P_g}$ <br> $J_G = - J_D = JS(P_R\|P_G)$...三體 ||$G(x)$|||loss='binary_crossentropy'<br> optimizer=Adam()|| |DCGAN|$D(x)$|||loss='binary_crossentropy'<br>optimizer=Adam()||$D^* = \frac{P_r}{P_r + P_g}$ <br> $J_G = KL(P_R\|P_G)-JS(P_R\|P_G)$ ||$G(x)$|||loss='binary_crossentropy'<br>optimizer=Adam()||but, no real x input, this is ns-gan| |WGAN|$D(x)$||||| ||$G(x)$||||| |SGAN|$D_{sup}(x)$|||loss='categorical_crossentropy'<br>optimizer=Adam()|| ||$D_{unsup}(x)$|||loss='binary_crossentropy'<br>optimizer=Adam()|| ||$G(x)$|||loss='binary_crossentropy'<br>optimizer=Adam()|| |CGAN|$D(x)$||||| ||$G(x)$||||| |CycleGAN|$D(x)$|||loss='binary_crossentropy’ or 'mse'<br>optimizer=Adam()|| ||$G(x)$|||$G_{AB}(A_{pic})$ <br> $G_{BA}(B_{pic})$ <br> $G_{BA}(G_{AB}(A_{pic}))$ <br> $G_{AB}(G_{BA}(B_{pic}))$|| ** NLP 中的 loss definition, 比對基礎??? ||Identity|||$G_{AB}(B_{pic})$ <br> $G_{BA}(A_{pic})$||** NLP 有這個特性嗎? 鐘點計畫: - 6/9 討論 0.5 hr $\rightarrow$ **0.5hr** - 6/10 ~ 6/14 study 20 hr $\rightarrow$ **1.5 hr** - 如果對於上述的 GAN有興趣討論:1.5 hr or more - Basic Transform introduction: 2 hr