Я использую матрицу doc2vec (6000,1024) в качестве пространства признаков для ввода в классификационную модель, которая может классифицировать каждый документ (предложение в моем случае) в один из двух классов (A, B).Мое пространство функций содержит 1024 объекта для каждого из 6000 предложений в наборе данных.
Таким образом, в основном, каждая строка матрицы doc2Vec представляет вектор объектов для этого предложения.Я пытаюсь использовать эту единственную матрицу в качестве входа в 1D CNN.Обычно входные данные для CNN для задач NLP имеют одну матрицу на предложение, поэтому размер пакета равен номеру предложения.В то время как моя ситуация немного отличается, у меня есть одна матрица, как описано выше.
Так что в основном я хочу, чтобы фильтры имели ядра (различной ширины), которые скользили по одному вектору предложения, в отличие от обычно ядер, которые скользятчерез группу слов (т.е. скользить по нескольким векторам слов за раз с высотой больше 1).Однако мне трудно установить значения параметров для следующих слоев в API-интерфейсе keras для R
layer_input(shape = 1024, batch_shape = c(6000,1024), dtype = 'float64', name = 'input1')
представляет ли этот входной слой то, что я хочу, чтобы он представлял, если нет, то как он должен выглядеть в противном случае?
и не знаете, как установить значения параметров для layer_conv1d(filters = , kernel_size = )
.
Я не уверен, как дать kernel_size
список значений, которые представляют (высота = 1 и ширина = n) где n - это целое число, большее 1.
Итак, в заключение я ожидаю, что CNN выберет пространство объектов (6000 * n) из исходного пространства объектов (6000 * 1024), и я бы связал столбец сдругое пространство функций для передачи его на полностью связанные уровни в архитектуре CNN.