问题描述
我有一个可能不重要的问题,但我所看过的地方都没有描述.我正在研究神经网络,到处都可以看到一些理论和一些琐碎的示例,其中一些输入为0和1.我想知道:我是否只需要将一个值作为一个神经元的输入值,或者它可以是3个值(例如RGB颜色)的向量?
I have a question that may be trivial but it's not described anywhere i've looked. I'm studying neural networks and everywhere i look there's some theory and some trivial example with some 0s and 1s as an input. I'm wondering: do i have to put only one value as an input value for one neuron, or can it be a vector of, let's say, 3 values (RGB colour for example)?
推荐答案
以上答案在技术上是正确的,但请不要解释一个简单的道理:永远不会给单个神经元一个数字向量.
The above answers are technically correct, but don't explain the simple truth: there is never a situation where you'd need to give a vector of numbers to a single neuron.
从实际的角度来看,这是因为(如较早的解决方案之一所示),您只需为向量中的每个数字提供一个神经元,然后将所有这些都作为单个神经元的输入即可.这样可以使您在训练后获得所需的行为,因为第二层神经元可以有效利用整个矢量.
From a practical standpoint this is because (as one of the earlier solutions has shown) you can just have a neuron for each number in a vector and then have all of those be the input to a single neuron. This should get you your desired behavior after training, as the second layer neuron can effectively make use of the entire vector.
从数学的角度来看,存在一个编码理论的基本定理,该定理指出数字的任何向量都可以表示为单个数字.因此,如果您确实不想要额外的神经元层,则可以简单地将RGB值编码为一个数字并将其输入到神经元中.但是,这种编码功能可能会使大多数学习问题变得更加困难,因此我怀疑这种解决方案在大多数情况下是否值得.
From a mathematical standpoint, there is a fundamental theorem of coding theory that states that any vector of numbers can be represented as a single number. Thus, if you really don't want an extra layer of neurons, you could simply encode the RGB values into a single number and input that to the neuron. Though, this coding function would probably make most learning problems more difficult, so I doubt this solution would be worth it in most cases.
总结:人工神经网络在没有给输入单元提供矢量的情况下使用,但因此不会损失计算能力.
To summarize: artificial neural networks are used without giving a vector to an input unit, but lose no computational power because of this.
这篇关于神经网络-输入值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!