размер ядра (высота и ширина) для слоя 1D свертки в CNN Keras R API - PullRequest
0 голосов
/ 31 марта 2019

Я использую матрицу 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.

...