Настраиваемые связи между слоями в Tensorflow. Разреженные переменные - PullRequest
0 голосов
/ 05 ноября 2019

Меня интересует настроенный NN, где соединения между нейронами не завершены. Например, дерево типа NN, где каждый нейрон связан с одним нейроном в предыдущем слое. Мне также нужны более сложные (но не полностью соединенные) соединения слоев.

Моя проблема в том, что я не знаю, как установить тензор tf.Variable в Tensorflow 2 таким образом, чтобы большинство его записей (весов) были реабилитированы. (заморожены или установлены равными нулю), и поэтому они не подстраиваются при выполнении обратного распространения с применением градиентного спуска.

В частности, меня интересуют двух-, трех-, пятиугольные 2D-тензоры (весовые матрицы), свероятно, есть некоторые исключения в углах, например, их настраиваемые элементы расположены в би-, три- или пентадиагоналах.

Конечно, одно из возможных «решений» - рассмотреть tf.Variable тензор и затем умножить егопостоянным (возможно, «разреженным») тензором с единицами в стратегических позициях и нулями в остальных случаях. Тогда проблема (я думаю) в том, что оптимизация будет включать в себя всю матрицу tf.Variable, хотя мне не нужны все ее записи; (. С точки зрения вычислительных ресурсов это очень дорого.

Есть ли способустановить тензор tf.Variable (или что-то подобное), указывающий, какие записи я хочу (или не хочу) вести себя как «переменные»?

Заранее спасибо,

Карлос

...