Autoencoder z CNN - znížiť alebo zvýšiť filtre?

0

Otázka

V Autoencoder založené na CNN, sa môžete zvýšiť alebo znížiť počet filtrov, medzi vrstvy ? Ako sme komprimovať informácie, premýšľal som o klesajúci trend.

Príklad z encoder časť, kde počtu filtrov sa zníži na každú novú vrstvu, od 16 8 4.

x = Conv2D(filters = 16, kernel_size = 3, activation='relu', padding='same', name='encoder_1a')(inputs)
x = MaxPooling2D(pool_size = (2, 2), padding='same', name='encoder_1b')(x)

x = Conv2D(filters = 8, kernel_size = 3, activation='relu', padding='same', name='encoder_2a')(x)
x = MaxPooling2D(pool_size = (2, 2), padding='same', name='encoder_2b')(x)

x = Conv2D(filters = 4, kernel_size = 3, activation='relu', padding='same', name='encoder_3a')(x)
x = MaxPooling2D(pool_size = (2, 2), padding='same', name='encoder_3b')(x)
autoencoder conv-neural-network keras
2021-11-22 04:01:18
1

Najlepšiu odpoveď

0

To nie je vždy prípade, že filter veľkosti sú znížené alebo zvýšené so zvyšovaním počtu vrstiev v encoder. Vo väčšine príkladov encoder videl som z convolutional autoencoder architektúry výška a šírka sa zníži prostredníctvom strided convolution alebo zhromažďovanie a hĺbku vrstva je zvýšený (filter veľkosti sú zvýšené), vedené podobný posledný jeden alebo pestrá s každou novou vrstvou v encoder. Ale je tam aj príklady, kde výstupných kanálov, alebo filter veľkosti sú znížené s viac vrstiev.

Zvyčajne autoencoder kóduje vstup do latentného zastupovanie/vektor alebo vkladanie, ktorý má nižšiu úroveň ako vstup, ktorý minimalizuje rekonštrukcia chyba. Tak ako vyššie môžu byť použité pre vytváranie undercomplete autoencoder zmenou jadra veľkosť, počet vrstiev, pridaním ďalšej vrstvy na konci encoder s určitým rozmer atď.

Filter zvýšiť príklad

Na obrázku nižšie ako ďalšie vrstvy sú pridané v encoder filter veľkosti zvýšiť. Ale ako vstup 28*28*1 = 784 rozmer funkcie a vyrovnané zastúpenie 3*3*128 = 1152 je viac, takže ďalšia vrstva je pridané pred konečná vrstva, ktorá je vkladanie vrstvy. To znižuje funkciu rozmer s preddefinovanými počet výstupov v plne prepojenej siete. Aj posledný hustý/plne pripojený vrstva môže byť nahradené rôznymi počet vrstiev alebo jadra veľkosť mať výstupný (1, 1, NUM_FILTERS).

enter image description here

Filter zníženie príklad

Príklad jednoduché filtre znižuje v encoder ako počet vrstiev zvyšuje možno nájsť na keras convolutional autoencoder príklad rovnako ako váš kód.

import keras
from keras import layers

input_img = keras.Input(shape=(28, 28, 1))

x = layers.Conv2D(16, (3, 3), activation='relu', padding='same')(input_img)
x = layers.MaxPooling2D((2, 2), padding='same')(x)
x = layers.Conv2D(8, (3, 3), activation='relu', padding='same')(x)
x = layers.MaxPooling2D((2, 2), padding='same')(x)
x = layers.Conv2D(8, (3, 3), activation='relu', padding='same')(x)
encoded = layers.MaxPooling2D((2, 2), padding='same')(x)

Odkazy

2021-11-22 06:57:52

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................