我正在研究神经网络。我从一个庞大的神经网络开始。在一些处理过程中,大神经网络被分成更小的神经网络。然后,那些较小的神经网络必须单独通过相同的处理步骤,并将分成更小的神经网络。
以下是我上面用语言表达的图形表示:
第一步:我有上面显示的大神经网络。我将对它进行一些处理,将其划分为较小的神经网络。 我能够做到这一部分 。
第二步:必须处理由第一个大型网络产生的较小网络,以进一步将它们划分为更小的网络,这将导致以下因素。
第三步:相同的程序将应用于步骤2中实现的较小网络,这将导致更小的网络。
问题:我可以将第一个更大的网络细分为更小的网络。但即使经过多次思考,我也无法想出某种递归算法来维持这种结构。
我只是需要一些关于我的程序结构的粗略建议来实现这个问题。
PS:图层数量不固定。层数取决于终止标准。我希望在网络变得太小以至于无法进一步细分时终止该过程。
更新:我有一个class Layer
可以控制所有事情。然后我有class Learner
执行给定网络的学习过程(细分网络)。我还有一个课程class Network
代表每个人network
。
我目前的策略是制作Layer类的对象,即Layer layerObject
,然后对该层进行学习。
class Layer
{
public:
Learner* Learner;
};
class Learner
{
public:
Network* network;
};
class Network
{
private:
Node* currentSeed;
};