I suppose my question is more about what class of computational problems I can expect to have a zero-knowledge proof of knowledge, and how to determine the amount of data necessary to store such a proof.
You can generally reduce a ton of stuff to a ZK proof. As for amount of data required, it really depends. I would guess it's too much to publish on the blockchain; but then again, you can obviously store a hash of it and publish the actual proof on GitHub, forum(s), website etc. and people can verify that they match.
Your proof will need to include some kind of timestamp though; if you rely solely on the blockchain for timestamping, you could also upload an old proof and pretend the server is still returning something that it doesn't anymore. So you need ZK proof of knowledge
and time and merely use the blockchain as a persistent storage mechanism.
For example, can you use the same strategy to formulate a zero-knowledge proof for the above example and also to prove that a result of a visual classification problem was calculated using a specific open-source neural net without modification?
It should be possible, but not trivial for sure.