如何逐个神经元定义神经网络?

我们希望构建一个类似于随机大脑的神经元网络。这意味着:

  • 我们有AxB个输入和CxD个输出。
  • 我们希望有K个神经元(其中K >= CxD),这些神经元之间随机连接。
  • 然而,所有K个神经元都必须至少连接到AxB个输入中的一个,
  • 并且所有K个神经元都必须至少连接到CxD个输出中的一个。

类似于这样的结构(这里AxB=5, K=4, CxD=2):

enter image description here

神经元应执行的操作是加权求和加上某种减少操作,如LeakyReLU。

可以想象,当连接的随机性被控制,使得连接在图像块上局部化,类似于CNN的层时,可以产生有趣的结果。

如何在PyTorch中实现这种逐个处理神经元的方法呢?


回答:

这里有两个问题:主要问题是如何随机抽样连接,次要问题是如何优化一个稀疏的线性层。

关于次要问题,你可以根据链接的答案实现一个稀疏全连接层

关于随机连接性,你需要以一种没有“循环”的方式来实现它。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注