Deep learning 人工神经网络中初始神经元的选择

Deep learning 人工神经网络中初始神经元的选择,deep-learning,neural-network,Deep Learning,Neural Network,我的数据集大小是800个音频文件,现在我想建立一个用于音频分类的人工神经网络。 我在第一层给神经元64个,在第二层给神经元36个。在一个神经网络中会有特定数量的神经元通过吗? 输入形状为(826,12),模型的输出为二进制输出。 让我们先从更简单的部分开始。知道输入和输出层的数量及其神经元的数量是最简单的部分。每个网络都有一个输入层和一个输出层。输入层中的神经元数量等于正在处理的数据中的输入变量数量。输出层中的神经元数量等于与每个输入相关联的输出数量。 但挑战在于知道隐藏层的数量及其神经元 答案

我的数据集大小是800个音频文件,现在我想建立一个用于音频分类的人工神经网络。 我在第一层给神经元64个,在第二层给神经元36个。在一个神经网络中会有特定数量的神经元通过吗? 输入形状为(826,12),模型的输出为二进制输出。
让我们先从更简单的部分开始。知道输入和输出层的数量及其神经元的数量是最简单的部分。每个网络都有一个输入层和一个输出层。输入层中的神经元数量等于正在处理的数据中的输入变量数量。输出层中的神经元数量等于与每个输入相关联的输出数量。 但挑战在于知道隐藏层的数量及其神经元

答案是,您无法解析地计算人工神经网络中用于解决特定现实世界预测建模问题的每层的层数或节点数。 层的数量和每个层中的节点数量是必须指定和学习的模型超参数。 您必须使用可靠的测试工具和受控实验来发现答案。不管您可能遇到什么样的启发,所有的答案都会回到需要仔细试验的问题上来,看看什么最适合您的特定数据集

同样,过滤器大小是训练网络之前应该指定的超参数之一

对于图像识别问题,如果您认为网络需要大量像素才能识别对象,则将使用大型过滤器(如11x11或9x9)。如果您认为区分对象的是一些小特征和局部特征,则应使用小过滤器(3x3或5x5)。 这些是一些提示,但没有任何规则


希望这将对您有所帮助。

根据Keras的文档

指定输入形状

模型需要知道它应该期望的输入形状。为此 原因,顺序模型中的第一层(仅第一层, 因为以下图层可以进行自动形状推断)需要 接收有关其输入形状的信息。有几种可能的方法 方法如下:

  • 将输入_形状参数传递给第一层。这是一个形状元组(由整数或None项组成的元组,其中None表示 可以预期任何正整数)。在输入_形状中 不包括批次维度
  • 一些二维层(如密集层)通过参数input_dim和一些三维时间层支持其输入形状的指定 图层支持参数input_dim和input_length
  • 如果需要为输入指定固定的批大小(这对于有状态的循环网络很有用),可以传递 层的批处理大小参数。如果您同时通过batch_size=32和
    将_shape=(6,8)输入到一个层,它将期望每批
    具有批处理形状的输入(32、6、8)
我假设你所有的音频文件都是同一维度的。我还假设您的X_列车已准备就绪,每个音频示例都是(826,12)维,您的输出是单个类别。我还假设所有音频文件都以张量的形式垂直堆叠

如果以上是正确的,那么您可以尝试以下方法。如果没有看到上面和下面的代码,我不能说它是否会工作。请注意“input_shape=”参数的使用

###。。。。。。。。上面的代码
mmymodel=Sequential()
mmymodel.add(密集型(64,输入\u形=(826,12,),init='uniform',activation='relu'))
add(密集(36,init='uniform',activation='relu'))
mmymodel.add(退出(0.5)
mmymodel.add(密集(1,init='uniform',activation='sigmoid'))
##……代码如下

最好。

您的音频文件尺寸是否相同?如果是,请粘贴一个音频文件的形状?您必须修改第一层语句的输入尺寸参数,具体取决于音频文件的形状。如果您的音频文件尺寸不同,则您必须预处理数据,并将所有数据em到相同的维度。在前面或后面填充零可能是一种简单但有效的方法(就Numpy而言)首先,Amit我粘贴了音频的尺寸,请检查。非常感谢Amit,我需要对第一层64和第二层36中的值进行更多的澄清。64,36是权重的固定值吗?我不认为它们是权重…而是…类似于层中存在的神经元数量…严格来说,根据正式文档()它们是-->“单位:正整数,输出空间的维数。”