Нейронная сеть Matlab имитирует до скрытого слоя - PullRequest
3 голосов
/ 03 марта 2012

Я обучил трехслойную (входную, скрытую и выходную) прямую нейронную сеть в Matlab.После обучения я хотел бы смоделировать обученную сеть с помощью входного тестового вектора и получить отклик нейронов скрытого слоя ( не конечного выходного слоя).Как я могу это сделать?

Кроме того, после обучения нейронной сети, можно ли «вырезать» конечный выходной слой и сделать текущий скрытый слой новым выходным слоем (для любого будущего использования))?

Дополнительная информация: Я строю сеть автоэнкодера .

Ответы [ 2 ]

1 голос
/ 10 марта 2012

Обученные веса для обученной сети доступны в свойстве net.LW.Вы можете использовать эти весовые коэффициенты для получения выходных данных скрытого слоя

Из документации Matlab nnproperty.net_LW

Свойство LW нейронной сети.

NET.LW

ThisСвойство определяет весовые матрицы весов, идущих на слои из других слоев.Это всегда массив ячеек Nl x Nl, где Nl - количество сетевых уровней (net.numLayers).

Матрица весов для веса, идущего в i-й слой из j-го слоя (или нулевая матрица)[]) находится в net.LW {i, j}, если net.layerConnect (i, j) равен 1 (или 0).

Матрица весов имеет столько строк, сколько размер слояидет к (net.layers {i} .size).Он имеет столько же столбцов, сколько произведение размера слоя, из которого он получен, на число задержек, связанных с весом:

  net.layers{j}.size * length(net.layerWeights{i,j}.delays)
0 голосов
/ 08 октября 2013

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

...