- Neural Networks
- Good for Temporal Analysis
- Made up of neurons that take in different inputs and can deal with data in different ways
- Weighted sum neuron:
- Output = w0 (biased chosen data point) + w1*i1 + w2*i2 + w3*i3 +…
- W = weight (output given to neuron)
- I = input
- Output = output from neuron to neural network
- Output = w0 (biased chosen data point) + w1*i1 + w2*i2 + w3*i3 +…
- Sigmoid Neuron
- “S-shaped Neuron”
- Outputs an S-shaped curve producing values [0,1]
- 1 = very positive value
- 0 = very negative value
- Middle = mid-value
- Output = f(sum) = 1/(1+e^-sum)
- “S-shaped Neuron”
- Perceptron: One neuron neural network
- In a fuller neural network, the outputs of some neurons become the inputs to other neurons
- Neurons taking input from other neurons outputs are in another layer of the network
- Node: Takes input, completes simple calculation, passes information to the next node that completes another simple calculation
- The purpose of training a neural network is to find “good” values for all of the weights in the neurons
- Great for Deep Learning
- Sigmoid functions for inner nodes, plain weighted function for the outer node
- # of nodes per hidden layer should be = to # of inputs
- Neural nets do well with S-curves, linear curves, not quadratics or certain polynomials
- To improve its fit to a set, add more hidden nodes and hidden layers
- This leads to more s-shaped curves leading into each other
- More nodes = more weight values to set = a more expressive model
- Good Uses in Music:
- More complex changes perhaps dealing with space and time ex. (multiple input variables)
- Great for measuring things like the movement of your head, for example, which has a pitch/yaw/roll when it moves rather than simply moving up and down or side to side
- I.E. As head hits a certain position, implement effect X
- Overtraining
- If you throw too many layers/nodes in when you don’t have enough training examples to be spread into the different inputs, the system will overtrain on poor examples & have a bad fit to the data
- Generally best to have a whole lot of examples
- Hardware that Works with the Body
- Need a Mapping Model of the many inputs that must be considered by the instrument (parts of the body)
- Interfaces in which each output value is controlled by exactly one input value are often considered harder to use, less engaging, and more frustrating than interfaces in which inputs and outputs are related in more complex ways
- i.e. how the pressure u put on a violin bow will affect both the dynamics and timbre of your sound
- Computers do 1:1 mappings
- Easy through code that computes 1 output value using 1 input value
- Theremins use 1 hand for volume & 1 hand for pitch (1:1) (hard to play)
- Using machine learning allows us to care less about how complex our input/output mappings get
- We can input dozens of dimensions of inputs to be dealt into dozens of dimensions of outputs simply by feeding them into our neural network through training examples