michael12345679 commited on
Commit
5ffae0a
·
1 Parent(s): ff532ca

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +33 -0
README.md ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Автоэнкодер - нейронная сеть, которая принимает входные данные и кодирует их, затем пытается восстановить их.
2
+
3
+ На этапе обучения модель кодирует входные данные и подбирает веса такие, чтобы при попытке их восстановления получилось изображение, максимально похожее на исходное. Размеченные данные не требуются.
4
+
5
+ Автоэнкодер может полезен для уменьшения размерности данных или удаления шума.
6
+
7
+ В данной работе выбран автоэнкодер VAE (Variational Autoencoder), тип автоэнкодера, который добавляет вероятностный подход к обучению модели. Используется библиотека keras.
8
+
9
+ архитектура автоэнкодера:
10
+ ![](sum.png "Параметры модели")
11
+
12
+ Количество обучаемых параметров: encoder - 234372, decoder - 202256, всего: 436628
13
+
14
+ Используемые алгоритмы:
15
+
16
+ Оптимизатор - adam.
17
+
18
+ Функция потерь:
19
+
20
+ def vae_loss(x, y):
21
+ x = K.reshape(x, shape=(batch_size, 28*28))
22
+ y = K.reshape(y, shape=(batch_size, 28*28))
23
+ loss = K.sum(K.square(x-y), axis=-1)
24
+ kl_loss = -0.5 * K.sum(1 + z_log_var - K.square(z_mean) - K.exp(z_log_var), axis=-1)
25
+ return loss + kl_loss
26
+
27
+ Размеры обучающего, валидационного и тестового наборов данных, соответственно:
28
+
29
+ (54000, 28, 28, 1), (6000, 28, 28, 1), (6000, 28, 28, 1)
30
+
31
+ Ошибка, полученная при сравнении оригинального изображения и полученного из автоэнкодера:
32
+
33
+ 30.429147720336914 (ошибка на тренировочном датасете), 30.770627975463867 (на валидационном), 30.37934112548828 (на тестовом)