Open fisher2470 opened 2 years ago
The "p006-Softmax-Activation in Javascript.js" implementation has a major problem in the Softmax class implementation. Instead of calculation "batch-by-batch", it just combines all values in a single array and calculates the percentage in this single array.
This is not the intended purpose of this class, and I suggest changing it to my implementation:
class Activation_Softmax {
constructor () {}
forward (inputs) {
var exp_values = math.matrix(inputs._data.map(batch => batch.map(i => math.exp(i - math.max(batch)))));
var probabilities = math.matrix(exp_values._data.map(batch => batch.map(i => i / math.sum(batch))));
this.output = probabilities;
}
}
Furthermore, it is advisable to only display the first 5 batches, as this is what the YouTube series does too.
console.log(activation2.output._data.slice(0,5));
The only issue I have is that all calculations assume a predefined matrix shape, which is 3 by whatever.
Resolves an error on p005 and includes the JavaScript solution for p006