Top.Mail.Ru
Ответы

Инвертирование нейронной сети автокодировщика

Есть такой код автокодировщика

1234567891011121314
 input_img = Input(shape=(28, 28, 1))  
x = Flatten()(input_img)  
x = Dense(128, activation='relu')(x)  
x = Dense(64, activation='relu')(x)  
encoded = Dense(2, activation='linear')(x)  
  
input_enc = Input(shape=(2,))  
d = Dense(64, activation='relu')(input_enc)  
d = Dense(28*28, activation='sigmoid')(d)  
decoded = Reshape((28, 28, 1))(d)  
  
encoder = keras.Model(input_img, encoded, name="encoder")  
decoder = keras.Model(input_enc, decoded, name="decoder")  
autoencoder = keras.Model(input_img, decoder(encoder(input_img)), name="autoencoder") 

Как автоматически построить обратный автокодировщик с теми же параметрами сети?
Я могу конечно руками записать но мне нужно налету делать

По дате
По рейтингу
Аватар пользователя
Профи

что такое обратный автокодировщик?

Аватар пользователя
Знаток

я имею ввиду как сеть с обратным распространением, по архитектуре они должны быть одинаковы но распространение (ошибки) обратное

Аватар пользователя
Знаток

точнее архитектуры симметричны должны быть

Аватар пользователя
Знаток

это вообще сложно объяснить для чего это я это делаю первый раз такое. Но что если сделать процесс обучения автокодировщика в два шага. На первом шаге обучение прямого распространения, а на втором шаге архитектура меняется на обратную и снова обучается. И так по кругу. На вход и выход для обучения подается одно и то же

Аватар пользователя
Знаток

то есть в инвертированную нейросеть мне нужно перенести помимо зеркальной архитектуры еще и веса полученные на предыдущем шаге

Аватар пользователя
Знаток

точнее энкодер наверное не нужен а декодер можно использовать для генерации

Аватар пользователя
Знаток

меня в этом плане сейчас архитектура VAE+GAN заинтересовала



Видео по теме