2016-07-11 5 views
0

Прочитав this text я узнал, что я могу создать то, что люди называют «реконструкции», поворачивая только один скрытый блок активного и Гиббс выборки видимый из скрытых блоков.Как вывести функции в сверточном RBM?

Но теперь я пытаюсь реализовать около Convolutional Restricted Boltzmann Machines в python. Мой план должна придерживаться версий, представленных в разделе 3.2 (так, заметьте, я не намерено реализовать сверточную глубокое убеждение сети еще нет), и вставить только вероятностный Max-Объединив раз эта часть работает.

Чтобы проверить, что он работает, я хотел создать «функции», подобные тем, которые представлены в статье (например, рисунок 3). Выученные функции первого слоя очень похожи на те функции, которые были изучены другими типами сетей; но я не уверен, как они создают эти функции. Мне непонятно, могут ли те, кто узнал «функции», весы фильтров, или если я каким-то образом создам реконструкцию, включив все скрытые единицы определенного фильтра. Я также не уверен, насколько уместен этот раздел 3.6 для моей более простой версии (в которой у меня даже нет вероятностного максимального пула).

(я старался делать как и мои результаты все еще выглядят совершенно иначе, и я не уверен, если это ошибка в моем коде или я просто делаю что-то неправильно)

Любая помощь? (Я нашел this code случайно в Интернете, но я до сих пор не знаком с синтаксисом Matlab и не мог узнать, что они делают, чтобы создать реконструкции - предположим, что они делают)

ответ

0

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

Для визуализации особенностей первого слоя (рис. 3, верхнее изображение), безусловно, достаточно нанести только вес (то есть фильтры) отдельных скрытых единиц. Если ваши результаты выглядят по-другому, для этого может быть много причин. В дополнение к ошибкам в вашем коде любой параметр обучения может сделать фильтры снова разными. Обратите внимание, что для естественных изображений вам нужны гауссовые единицы.

Если вы хотите, чтобы некоторые питона код, чтобы начать с, вы можете проверить эту схему: https://github.com/OFAI/lrn2

Если вы когда-то хотели бы представить, что происходит в более высоких слоях, эта статья может помочь (где раздел 2.4 также реализуется в рамках выше (под stacks.py/NNGenerative): http://www.dumitru.ca/files/publications/invariances_techreport.pdf

Надежда, что помогает

+0

Спасибо ... Я не был, если они использовали веса или что-то более фантазии, как, скажем, вероятности активации нейронов видимой после выборки один раз. – vaulttech