簡體   English   中英

AutoEncoder 的編碼器輸出中的大多數條目為零,同時用於從高分辨率圖像中提取特征

[英]Most of the entries in encoder output of an AutoEncoder is zero while used for feature extraction from high-resolution images

我正在使用一個簡單的自動編碼器從高分辨率圖像 (2K) 中提取有意義的特征。

我的簡單 AutoEncoder 看起來像:

encoding_dim = 20
encoded = tf.keras.layers.Dense(encode_dim, activation='relu')(input)
decoded = tf.keras.layers.Dense(shape_img_flattened[0], activation='sigmoid')(encoded)

楷模:

autoencoder = tf.keras.Model(input, decoded)
encoder = tf.keras.Model(input, encoded)

擬合end-2-end autoencoder模型:

autoencoder.fit(X_train, X_train,epochs = n_epochs,batch_size = batch_size,shuffle = True)

使用此 encoding_dimension 或中間隱藏大小,中間表示或編碼器輸出中的大多數條目為零。

(encoder_output = encoder.predict(X_test))

誰能告訴我為什么編碼器輸出或預測中的大多數條目為零(即不提供任何有意義的特征)?

是 這是因為您使用 Relu 作為激活函數。 將其更改為 LeakyRelu 或 sigmoid 然后它會正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM