Как создать частично связанные НСН с предопределенными соединениями, используя TensorFlow?
Краткое содержание
Я хотел бы реализовать частично связанную нейронную сеть с ~3-4 скрытыми слоями (с разреженной глубокой нейронной сетью?), где я могу указать, какие узлы соединяются с какими узлами из предыдущего/следующего слоя. Я хочу, чтобы архитектура была полностью определена/настроена с самого начала, и чтобы нейронная сеть оптимизировала веса этих определенных связей, при этом все остальное было равно 0 во время прямого прохода И обратного распространения (связь никогда не существует). Я новичок в нейронных сетях. Недавно я работал с TensorFlow & Keras для построения полносвязных глубоких сетей. Есть ли что-нибудь в TensorFlow (или что-то другое), на что мне стоит обратить внимание, чтобы я мог это сделать? Я думаю, что с помощью tf я должен быть в состоянии определить вычислительный граф таким образом, чтобы существовали только определенные соединения, но у меня действительно нет ни малейшего представления, с чего начать... Я сталкивался со статьями/посты о обрезке сети, но мне кажется, что это не очень актуально для меня. Я не хочу
Полный текст
Задано 7 лет, 4 месяца назад Изменено сегодня Просмотрено 2 тыс. раз
Задано 7 лет, 4 месяца назад
2 $\begingroup$ Я хотел бы реализовать частично связанную нейронную сеть с ~3-4 скрытыми слоями (разреженную глубокую нейронную сеть?), где я могу указать, какие узлы соединяются с какими узлами из предыдущего/следующего слоя. Я хочу, чтобы архитектура была сильно специфицирована/настроена с самого начала, и чтобы нейронная сеть оптимизировала веса для этих заданных соединений, при этом все остальное было равно нулю во время прямого прохода И обратного распространения ошибки (соединение никогда не существует). Я новичок в нейронных сетях. Недавно я работал с tensorflow & keras для построения полностью связанных глубоких сетей. Есть ли что-нибудь в tensorflow (или что-то другое), что мне стоит изучить, чтобы я мог это сделать? Я думаю, что с tf я должен быть способен указать вычислительную графу таким образом, чтобы только определенные соединения существовали, но у меня действительно нет ни малейшего представления, где начать... Я наткнулся на статьи/посты о сетевом обрезании, но это не кажется мне особенно релевантным. Я не хочу возвращаться и обрезать свою сеть, чтобы сделать ее менее перенасыщенной или исключить незначительные соединения. Я хочу, чтобы соединения были заданы, а сеть была относительно разреженной с инициализации и оставалась такой во время обратного распространения. neural-networks machine-learning deep-learning deep-neural-networks feedforward-neural-networks Поделиться Улучшить вопрос Следить за редактирование 9 апреля 2019 г., 10:07 abunickabhi 160 1 1 серебряная медаль 11 11 бронзовые медали задано 5 октября 2018 г., 16:47 Pınar Demetci 21 3 3 бронзовые медали $\endgroup$ Добавить комментарий | 2 Ответа 2 Отсортировано по: Сбросить по умолчанию Наивысший балл (по умолчанию) Измененная дата (от новых к старым) Созданная дата (от старых к новым) 0 $\begingroup$ Итак, я провел дополнительное исследование после публикации этого сообщения и похоже, что обработка вещей как отдельных сетей и их последующее соединение на более глубоких скрытых слоях - хорошая идея. Если у кого-то есть другие идеи, которые могут быть полезны, я был бы рад услышать, хотя! Поделиться Улучшить ответ Следить за ответом Отвечено 29 октября 2018 г., 6:14 Pınar Demetci 21 3 3 бронзовые медали $\endgroup$ Добавить комментарий | 0 $\begingroup$ В случае, если вы хотите подключить плейсхолдер к новому слою, можно сделать следующее x = tf.placeholder(shape=[None, 784], dtype=tf.float32) # пример mnist x = tf.reshape(x, (-1, 784, 1)) # изменить форму (784 ,1) x = tf.unstack(self._input,axis=1) # получение списка с 784 элементами 1 con = tf.concat(x[1,2,3,4,5]) # например, вы хотите использовать только входные данные 1-5, вы можете подавать в новый слой вышеуказанный con, который соответствует только входным данным 1-5. Вы можете применить ту же технику к слою вместо tf.placeholder Поделиться Улучшить ответ Следить за ответом отредактировано 26 октября 2019 г., 19:46 Krrrl 221 1 1 серебряная медаль 10 10 бронзовые медали ответа 7 апреля 2019 г., 17:48 Fivos Delemis 1 $\endgroup$ Добавить комментарий | Вам необходимо войти, чтобы ответить на этот вопрос. Начать задавать вопросы, чтобы получить ответы Найдите ответ на свой вопрос, задавая его. Задать вопрос Исследуйте связанные вопросы neural-networks machine-learning deep-learning deep-neural-networks feedforward-neural-networks Смотрите похожие вопросы с этими тегами.