- Mapping Ctrl with equal sign
- vim line count of current paragraph
- Reducing the impact dealt on hardware - hypothetical
- Change material properties of elements in named selection in Ansys workbench using APDL commands
- Difference between Maximum Output and Potential Output
- Models of Financial Frictions
- Partial derivative help for sigma and pi notation in Lagrange maximization
- Timeline of mathematical foundation?
- Can not set keyboard macro name using M-x that is tied to smex
- Extract phone numbers from multiple org files
- Spacemacs: Layout specific python processes?
- Use sudo while editing over SSH?
- Could more Earth-like planets exist in our Sun's “goldilocks” zone?
- Maximum habitability of a planet with no indigenous life
- What are ways I could design a viable split jaw?
- A mystifying grid
- Which one is the last tile?
- Random Forest Optimization
- Parameterization regression of rotation angle
- Joomla 3.8 // New Router & Nested View
An Artificial Neuron Network (ANN) with an arbitrary number of inputs and outputs
I would like to use ANNs for my problem, but the issue is my inputs and outputs node numbers are not fixed.
I did some google search before asking my question and found that the RNN may help me with my problem. But, all examples which I've found are somehow have defined number of input and output nodes.
So, I'm looking for a strategy, how to make it real or at least some examples, preferable in Keras or PyTorch.
More details about my issue:
I have two inputs lists, where the length of the first one is fixed and equals two, f.e.:
in_1 = [2,2]
but the length of the second list is flexible, the length can be from three to inf, f.e.:
in_2 = [1,1,2,2]
in_2 = [1,1,1,2,2,2,3,3,3]
Also, input lists depend on each other. The first list shows the dimension of the output list. So if in_1 = [2,2], means the output must have a possibility to be reshape to [2,2] form.
Currently, I'm thinking to combine two input list into one:
in = in_1 + in_2 = [2, 2, 1, 1, 2,
The answer may depend on the significance of the length of the input vector or how it originates.
However, the simplest solution is usually to know the largest size input and use that as number of vectors. If the given input has lesser length, you can do the padding with zeros or appropriate symbols. So instead of having a vector [1, 2, 3] and [1, 2, 2, 3] you can have vectors [1, 2, 3, 0] and [1, 2, 2, 3].
The same can apply for output. If output expected is [1, 2, 1] and [1, 3, 4, 1] you can treat the first output as [1, 2, 1, 0]
Isn't this just a hack?
Typically, Neural networks does function approximation. Ideally, it represents vectors (matrices) as input and vectors (matrices) as output. This is why it is always desirable that size of your input vector be fixed.2017-07-17 12:27:18