GAN(生成對抗網路Generative Adversarial Network)是一種最近比較紅的神經網路,他的用途就是拿來生成資料,希望能夠讓生成的資料變成好像真的,在社群軟體上出現一系列人臉轉換的梗圖就跟GAN有些關係。
GAN可以拆解成『生成』和『對抗』,『生成』就是指透過模仿原始資料來生成假資料,而『對抗』就是指生成的假資料要跟真實資料來對抗、想辦法以假亂真。
大概的流程會如下圖,模型先從原始資料去生成自己的假資料,再將這個假資料去和真實資料一起丟進Discriminator中判斷真假,如果讓Discriminator難以辨別真假就是算這個模型成功了。
而GAN的核心就在於如何去設計Generator和Discriminator。Generator的工作在於產生能夠以假亂真的資料,而Discriminator的工作在於很好的判斷出誰是真的資料、誰是假的資料,可以說兩人的目標是剛好相反的,而這也就是GAN最困難的地方。