Как построить нейронную сеть в этой структуре?с разными узлами подключается к различному количеству узлов в следующем слое

0

Вопрос

Я знаю только, как использовать встроенную сеть, такую как RNN LSTM в PyTorch. Но они, как правило, имеют дело с каждым узлом на предыдущем уровне, который будет предоставлять информацию всем узлам на следующем уровне.

Я хочу сделать что-то другое, но сам не знаю, как это закодировать. Как на этом рисунке: узел a сопоставляется со всеми [d, e, f] тремя узлами в слое 2, в то время как узел b сопоставляется с [e,f], а узел c сопоставляется только с [f]. В результате узел d будет содержать только информацию из a, в то время как e будет содержать информацию из [a, b]. И f будет содержать информацию от всех узлов в предыдущем слое. Кто-нибудь знает, как закодировать эту структуру? ПОЖАЛУЙСТА, дайте мне некоторое представление, я буду очень благодарен :D

Структура

1

Лучший ответ

1

Если у вас есть слой, который выглядит как полностью подключенный слой, но с пользовательским подключением, используйте маску с правильной структурой.

Допустим, x = [a, b, c] является ли ваш 3-тусклый вход и W обозначает матрицу связности.

>> x
tensor([[0.1825],
        [0.9598],
        [0.2871]])
>> W
tensor([[0.7459, 0.4669, 0.9687],
        [0.9016, 0.4690, 0.0471],
        [0.5926, 0.9700, 0.5222]])

затем W[i][j] указывает на соединительный груз между jth ввод и iй выходной нейрон. Чтобы построить структуру, подобную вашему примеру с игрушкой, мы бы сделали такую маску

>> mask
tensor([[1., 0., 0.],
        [1., 1., 0.],
        [1., 1., 1.]])

Тогда вы можете просто замаскировать W

>> (mask * W) @ x
tensor([[0.1361],
        [0.6147],
        [1.1892]])

Примечание: @ является матричным умножением и * является точечным умножением.

2021-11-21 18:17:35

Поэтому, если мой входной dim равен 3, выходной dim равен 3. Структура моей нейронной сети будет выглядеть так: {входной 3 dim, LSTM_layer(3, 64), Полностью подключенный слой(64, 3), * матрица нижней треугольной маски(3, 3), выходной dim 3}. Будет ли это работать как мое пользовательское подключение, чтобы последние три узла получали различную информацию? Или мне следует поместить матрицу масок между входным слоем(3,1) и слоем LSTM(3,64)
Aioku Takume

Является ли ваш ввод последовательным (у вас есть LSTM между ними) ? На вашем рисунке показаны только полностью соединенные слои. Решение, которое я предоставил, предназначено только для маскировки слоя FC.
ayandas

Извините, что я сделал цифру простой. Мои входные данные-это значения временных рядов(значения, hour_index, week_index), и я хочу использовать слой LSTM для извлечения некоторой информации между входом(3 dim) и выходом(3 dim). Итак, если я использую маску после слоя LSTM, будут ли выходные три узла такими: узел d содержит только информацию о неделе, узел e содержит неделю и час, узел f содержит значения, информацию о часах и неделях?
Aioku Takume

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................