Формулировка глубокой нейронной сети MatLab без изображений - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь использовать MatLab для создания нейронной сети, способной к регрессии. По сути, я хотел бы сопоставить 36 входов с 24 выходами. (В конце концов я хотел бы перевести сеть на архитектуру RNN или LSTM, но пока нет.)

К сожалению, я могу только найти документацию для входных изображений! В документации MatLab рекомендуется настроить слои следующим образом:

layers = [
    imageInputLayer([28 28 1])

    convolution2dLayer(3,8,'Padding','same')
    batchNormalizationLayer
    reluLayer

    averagePooling2dLayer(2,'Stride',2)

    convolution2dLayer(3,16,'Padding','same')
    batchNormalizationLayer
    reluLayer

    averagePooling2dLayer(2,'Stride',2)

    convolution2dLayer(3,32,'Padding','same')
    batchNormalizationLayer
    reluLayer

    convolution2dLayer(3,32,'Padding','same')
    batchNormalizationLayer
    reluLayer

    dropoutLayer(0.2)
    fullyConnectedLayer(1)
    regressionLayer];

Как настроить сеть так, чтобы она просто принимала 36 входов с плавающей запятой? У меня есть матрица тренировочных данных размером 900000 строк на 36 столбцов (и соответствующая 900000x24 для истинности оснований), которую я хотел бы использовать.

1 Ответ

0 голосов
/ 16 апреля 2019

Если я правильно понимаю, если у вас 900000 выборок из 36 строк, у вас уже есть плоский массив в качестве входных данных, поэтому я не думаю, что сверточная нейронная сеть будет лучше, чем мелкая (https://it.mathworks.com/help/deeplearning/gs/fit-data-with-a-neural-network.html) или регрессия (https://it.mathworks.com/help/deeplearning/ug/generalized-regression-neural-networks.html). В любом случае, вы должны изменить imageInputLayer на [1 36 1], так как у вас есть только одна строка и предоставить набор целей для подгонки.

...