【问题标题】:How to apply arguments to all neural network objects in cell array如何将参数应用于元胞数组中的所有神经网络对象
【发布时间】:2018-05-24 23:00:51
【问题描述】:

我想让 N 个并行神经网络以相同的输入参数并排工作。所以我决定先从 2 个神经网络开始,在下一轮推广到 N。

为此,我创建了一个名为 getUntrainedNet 的函数,如下所示:

function [net] = getUntrainedNet()
%GETUNTRAINEDNET Summary of this function goes here
%   Detailed explanation goes here

% Choose a Training Function
% For a list of all training functions type: help nntrain
% 'trainlm' is usually fastest.
% 'trainbr' takes longer but may be better for challenging problems.
% 'trainscg' uses less memory. Suitable in low memory situations.
trainFcn = 'trainlm';  % Levenberg-Marquardt backpropagation.

% Create a Fitting Network
hiddenLayerSize = 30;
net = fitnet(hiddenLayerSize,trainFcn);
end

接下来我创建了一个神经网络对象的元胞数组nets

nets = cell(1,lengthTargets);
nets(:) = {getUntrainedNet()};

lengthTargets 来自哪里:

Targets = [experiments.TargetOne; experiments.TargetTwo];
lengthTargets = size(Targets,1);

然后用以下方法训练神经网络:

nets{k} = trainNet(nets{k}, experimentCoordinates, Targets(k,:));

为了使用称为gamultiobj 的多目标优化方法检测最佳操作点,我使用了以下成本函数:

costFunction = @(varargin) [nets{1}(varargin{:}'), nets{2}(varargin{:}')];

但相反,我想将varargin{:}' 参数应用于单元阵列中存​​在的所有神经网络对象,而不必通过其索引器指定每个网络以使计算通用。

1) 这里怎么做?

一旦我有了最佳坐标,我想将最佳坐标的参数应用到元胞数组中的每个神经网络对象。

目前由以下人员完成:

bestCoordinatesTargetOne = nets{1}(bestCoordinates);
bestCoordinatesTargetTwo = nets{2}(bestCoordinates);

2) 如何在不索引每个单元格以使计算通用的情况下在这里执行此操作?

【问题讨论】:

  • 使用 cellfun 对单元格中的每个元素执行相同的操作,在您的情况下,这些元素是 NN,您想要做的就是使用一些参数调用它们...
  • 谢谢@Wolfie,我刚刚将您的评论整理成一个答案。

标签: matlab neural-network genetic-algorithm cell-array generalization


【解决方案1】:

根据@Wolfie 的评论,我将成本函数更新为:

costFunction = @(varargin) cell2mat(cellfun(@(net) net(varargin{:}'), nets, 'UniformOutput',false));

并且优化通过了。

并计算最佳坐标目标:

bestCoordinatesTargets = cellfun(@(net) net(bestCoordinates), nets, 'UniformOutput',false);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-09
    • 2018-09-23
    • 2017-05-16
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多