2016-12-07 8 views
0

Я пытаюсь написать реализацию CLDNN с тензорным потоком, как в this scheme. У меня проблема с уровнем уменьшения размеров.Уменьшение размера в CLDNN (тензорный поток)

Насколько я понимаю, это сделано с несколькими сложными ограничительными машинами Boltzmann (RBM) и работает как автокодер. Часть декодера слоя находится здесь только для того, чтобы обучить кодировщик уменьшать размеры скважины. Это означает, что вы хотите «подключить» выход энкодера к входу следующего слоя.

Я могу определить функцию потерь, которая будет обучать автокодер (путем сравнения ввода с декодированным выходом) и другую функцию потерь, которая будет обучать весь график. У меня есть способ тренировать эти две функции потери? Или, может быть, я неправильно понимаю проблему здесь, но он чувствует, что часть декодера автокодера любопытна оставлена ​​«вне цикла» и не будет обучена.

Я нашел реализацию таких автоассоциатор и convolutionnal слоев и т.д ... но я не очень понимаю, как «включить» автоассоциатор внутри сети (например, в схеме)

+0

Лучше разместить такие вопросы на http://stats.stackexchange.com –

ответ

0

бумаги говорит

Инструментарий вычислительной сети (CNTK) [24] используется для обучения нейронной сети. Как предлагает [14], мы применяем равномерную случайную инициализацию веса для всех слоев без какой-либо порождающей или дискриминирующей предварительной обработки [1].

Уменьшение размеров на диаграмме - это просто плотный проекционный слой. Поэтому они не тренируют никаких автокодеров, они просто настраивают сетевую архитектуру и обучают сеть из случайного начального состояния.

Автоканеры были использованы до инициализации подсетей, но теперь они не очень популярны.

+0

Спасибо, я прочитал, что это был просто линейный слой в документе CLDNN, но нашел где-то еще, что он был уложен RBM. Поэтому я не был уверен. – Zelgunn