Autoencoder CNN - snížení nebo zvýšení filtry?

0

Otázka

V Autoencoder založené na CNN, můžete zvýšit nebo snížit počet filtrů mezi vrstvami ? Jak jsme komprimovat informace, přemýšlel jsem, že klesá.

Příklad kodéru část, kde počet filtrů je snížen na každé nové vrstvy, z 16 na 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

Nejlepší odpověď

0

To není vždy případ, že filtr velikosti jsou snížené či zvýšené, s rostoucí počet vrstev v kodéru. Ve většině příkladů encoder jsem viděl konvoluční autoencoder architektury výška a šířka je snížena prostřednictvím strided konvoluce nebo sdružování, a hloubka vrstvy je zvýšená (filtr velikosti jsou zvýšené), stále podobné poslední jeden nebo měnit s každou novou vrstvu v kodéru. Ale tam je také příklady, kdy výstupní kanály nebo filtrovat velikosti jsou sníženy s více vrstvami.

Obvykle autoencoder kóduje vstup do latentní reprezentace/vektor nebo vkládání, které má menší rozměr než vstup, který minimalizuje rekonstrukce chyba. Takže obě výše uvedené mohou být použity pro vytváření undercomplete autoencoder změnou jádra, velikost, počet vrstev, přidávat další vrstvu na konci encoder s určitou dimenzi atd.

Filtr zvýšit příklad

Na obrázku níže jako další vrstvy jsou přidány v encoder filtr velikosti zvýšit. Ale jako vstup 28*28*1 = 784 rozměr funkce a zploštělé zastoupení 3*3*128 = 1152 je více, takže další vrstva se přidává do poslední vrstvy, která je vkládání vrstvy. To snižuje funkce rozměr s předem stanoveným počtem výstupů v plně propojené síti. I poslední husté/plně propojené vrstvy mohou být nahrazeny různém počtu vrstev nebo jádra velikost, aby výstupní (1, 1, NUM_FILTERS).

enter image description here

Filtr snížit například

Snadný příklad filtrů snižuje v kodéru jako počet vrstev zvyšuje, lze nalézt na keras konvoluční autoencoder příklad jen jako svůj 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 jiných jazycích

Tato stránka je v jiných jazycích

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