6 ms·
I'm curious about how the backwards computations work - how do you detect when the backwards computation can be easily calculated? For example, if we hash some
by NarcolepticFrog 10y ago
I'm curious about how the backwards computations work - how do you detect when the backwards computation can be easily calculated? For example, if we hash some input string and then change the value of the hash, it should be very difficult to do the backwards computation.
Does it literally do gradient descent on the input to try to match the output (as is suggested by the backpropagation terminology?) Can it handle discrete valued outputs?
- NarcolepticFrog 10y agoI read further down the page - they use a quasi newton method to find inputs that minimize the (squared?) distance between the desired output and the output of the guessed input. I guess this can only really be expected to work well when there is a input that perfectly matches the output in a convex neighborhood of the starting point. Pretty cool! Looks like they also have support for a few other types of data, but it's not described in the documentation. Apparently there is support for the backwards computations on strings, nested objects, and you can declare inverses for functions. There's also something mysterious called "cascading approaches". I'm super interested to know more about how this works!