Изменения

Перейти к: навигация, поиск

PixelRNN и PixelCNN

2092 байта добавлено, 00:02, 23 марта 2020
Архитектура
== Архитектура ==
В PixelRNN/PixelCNN используются много множество архитектурных трюков, позволяющих сделать вычисления быстрыми и надежными.
=== Маскированные сверточные слои ===
[[File:pixel-4.png|350px|thumb|Рисунок 4. Блоки уменьшения размерности. Слева - блок для PixelCNN, справа - PixelRNN. ]]
На вход в любой их указанных выше алгоритмов (PixelCNN, Row LSTM, Diagonal BiLSTM) подается большое количество объектов. Поэтому внутри каждого из них сначала происходит уменьшение их количества в 2 раза, а затем обратное увеличение в 2 раза. Структура алгоритма с учетом уменьшения размерности показана на рисунке 4.
 
=== Внутреннее устройства LSTM ===
Модификация Row LSTM, Diagonal BiLSTM одинакова с архитектурной точки зрения. Отличия Diagonal BiLSTM только в том, что добавляется операция сдвига в начале и возврат к исходной структуре изображения в конце.
 
Структура LSTM блока:
1. MaskB слой input-to-state <tex>K_{is}</tex> учитывает контекст из входа.
2. Сверточный слой state-to-state <tex>K_{ss}</tex> учитывает контекст из предыдущих скрытых слоев.
 
Используя эти два сверточных слоя формально вычисление LSTM блока можно записать следующим образом:
 
<tex>
[o_i, f_i, i_i, g_i] = \sigma (K_{ss}\circledast h_{i-1} + K_{is}\circledast x_{i}) \\
c_i=f_i\odot c_{i-1} + i_i\odot g_i\\
h_i = o_i\odot tanh(c_i)
</tex>
 
где <tex>\sigma</tex> - функция активации, <tex>\circledast</tex> - операция свертки, <tex>\odot</tex> - поэлементное умножение.
 
=== Архитектура PixelRNN ===
# MaskA размером <tex>7x7</tex>
# Блоки уменьшения размеренности с Row LSTM блоком, в котором <tex>K_{is}</tex> имеет размер <tex>3x1</tex>, <tex>K_{ss}</tex> - <tex>3x2</tex>. Для Diagonal BiLSTM <tex>K_{is}</tex> имеет размер <tex>1x1</tex>, <tex>K_{ss}</tex> - <tex>1x2</tex>. Количество блоков варьируется.
# ReLU активация
# Сверточный слой размером <tex>1x1</tex>
# Softmax слой
 
=== Архитектура PixelCNN ===
# MaskA размером <tex>7x7</tex>
# Блоки уменьшения размеренности для PixelCNN.
# ReLU активация
# Сверточный слой размером <tex>1x1</tex>
# Softmax слой
== Сравнение с GAN ==
== Примеры реализации ==
39
правок

Навигация