對抗生成網路gan變體集合 keras版本
bigan(bidirectional gan 雙向gan)
具有生成器g,編碼器encoder,判別器d
作用:1.可以使用noise經過生成器g生成(這一點和gan類似)
2.隨便給一張,經過encoder,再經過生氣g,可以生成相似的(新特點)
**位置:
生成器:
def
build_generator
(self)
: model = sequential(
) model.add(dense(
512, input_dim=self.latent_dim)
) model.add(leakyrelu(alpha=
0.2)
) model.add(batchnormalization(momentum=
0.8)
) model.add(dense(
512)
) model.add(leakyrelu(alpha=
0.2)
) model.add(batchnormalization(momentum=
0.8)
) model.add(dense(np.prod(self.img_shape)
, activation=
'tanh'))
model.add(reshape(self.img_shape)
) model.summary(
) z = input(shape=
(self.latent_dim,))
gen_img = model(z)
return model(z, gen_img)
編碼器:
def
build_encoder
(self)
: model = sequential(
) model.add(flatten(input_shape=self.img_shape)
) model.add(dense(
512)
) model.add(leakyrelu(alpha=
0.2)
) model.add(batchnormalization(momentum=
0.8)
) model.add(dense(
512)
) model.add(leakyrelu(alpha=
0.2)
) model.add(batchnormalization(momentum=
0.8)
) model.add(dense(self.latent_dim)
) model.summary()
img = input(shape=self.img_shape)
z = model(img)
return model(img, z)
判別器:
def
build_discriminator
(self)
: z = input(shape=
(self.latent_dim,))
img = input(shape=self.img_shape)
d_in = concatenate(
[z, flatten(
)(img)])
model = dense(
1024
)(d_in)
model = leakyrelu(alpha=
0.2)
(model)
model = dropout(
0.5)
(model)
model = dense(
1024
)(model)
model = leakyrelu(alpha=
0.2)
(model)
model = dropout(
0.5)
(model)
model = dense(
1024
)(model)
model = leakyrelu(alpha=
0.2)
(model)
model = dropout(
0.5)
(model)
validity = dense(
1, activation=
"sigmoid"
)(model)
return model(
[z, img]
, validity)
訓練圖:
深度學習英文縮寫 小KE帶你認識機器學習和深度學習
這一次,小ke帶你了解幾個火爆的 人工智慧 名詞兒,這樣在擼串炸雞啤酒時,可以跟小夥伴吹噓吹噓,提高提高自己的人格檔次。機器學習 和 深度學習 這幾個名詞,經常會和人工智慧一同出現在不同場合,他們都是什麼意思呢?人工智慧 先來看看人工智慧。在1956年達特矛斯會議上,約翰 麥卡錫提出了 人工智慧 這...
深度學習學習筆記
神經網路的隱含層越多 模型引數越多,模型擬合能力更強,同時訓練的難度也會增加。減少模型引數的方法有兩種 逐層訓練和權重共享。權重共享思路是現有深度學習的基礎,它大大減少了模型的引數。深度學習並不需要很多的人工特徵工程,利用其強大的建模能力來代替,整個訓練的過程是端到端的過程 end to end 其...
深度學習筆記
在深度神經網路中,通常使用一種叫修正線性單元 rectified linear unit,relu 作為神經元的啟用函式。relu函式其實是分段線性函式,把所有的負值都變為0,而正值不變,這種操作被成為單側抑制。可別小看這個簡單的操作,正因為有了這單側抑制,才使得神經網路中的神經元也具有了稀疏啟用性...