эффект маскирующего слоя - PullRequest
1 голос
/ 04 мая 2020

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

После некоторого поиска я обнаружил, что Tensorflow имеет маскирующий слой для использования. Поэтому я вставил маскирующий слой сразу после входного слоя,

inputs = keras.Input(shape=(inputDim,))
maskingLayer = keras.Masking(mask_value = -999)(inputs)

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

Вопрос в том, что я не вижу большого эффекта маскирующего слоя. Мне интересно, действительно ли маскирующий слой маскировал все узлы значения -999 во входном слое, а также связанные с ними веса и смещения?

Я нашел этот пост, у которого был похожий вопрос Не полностью связанный слой в tenorflow Однако его нежелательные ссылки исправлены, и в моем случае я хотел бы построить слой (рядом с входом слой), который подключается только к немаскированным узлам входного слоя. Возможно ли это сделать? Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...