4 ms·
NN == kNN is a really interesting thought, but I think it’s the wrong framing. All learning is bound by kNN, including, I would argue, human intelligence. When
by axg11 5y ago
NN == kNN is a really interesting thought, but I think it’s the wrong framing.
All learning is bound by kNN, including, I would argue, human intelligence. When we compare and contrast things, be it words, objects, or images, the very best we can do is to compare those “units” to all other examples that we have ever observed.
There is no such thing as generalising beyond kNN. The real magic in generalising is not how many nearest neighbours you are able to compare against, the magic is in _which_ qualities you use to determine the kNN. Another way to state this is: intelligence is in the distance metric/embedding/compression, not the ability to process all examples.
When we say that humans are able to generalise, what we really mean is that we are able to compare and contrast specific subsets of qualities for a given object against all other things objects we have knowledge for. The way we choose and weight those specific qualities is what results in our “intelligence”.
So when we say that NN == kNN, I think this is actually a really impressive achievement for neural nets. Neural networks are able to produce kNN level results with orders of magnitude lower compute. Humans too, are able to do this, and if we’re being very thorough, we sometimes fall back to kNN-like processes
- mjburgess 5y agoIntelligence is in the properties of the data supplied to the kNN. Not in its distance function. Yes, kNN is the bound if you formulate learning as: there exists an f_true: Pixels->Animals; we have an infinite sampling of (Pixels, Animals); kNN performs at 100%. Therefore kNN is the bound. Whereas I dont think this has much to do with learning. Learning for me is: the function probably doesnt exist, we dont know what its domain would even be, and we have no idea how to sample that space. You know: the history of human civilization, but also: the history of a day of any animal's life. We encounter problems daily whose functions can only be modelled by partial input and output domains, and our job is to find ways of resolving the inherent ambiguities in those situations. Ie., to find what parts of the world are relevant, to find ways of measuring it, and hence to find more data until the ambiguity resolves itself. kNN being a perfect algorithm is a catastrophe for this whole formulation of AI. All it means is that the whole field of machine learning has as its limit what you can do if you already know the answer. You can see from this that it isnt learning at all. The situation is exactly backwards: ML assumes relevant well-carved unambiguous data. The whole problem of learning is precisely to produce it!
- vladf 5y agoLooks like someone (GP) beat me to the punch with my sibling comment (https://news.ycombinator.com/item?id=31053031 https://news.ycombinator.com/item?id=31053031)! > we have infinite sampling We don't. You're taking the learning out of the process you're discussing by using an infinite sample. Of course, then, the machine learning part becomes trivial, and it's just an optimization problem for minimal training error! If we have all the data, like infinite data, then we have the classification for every one of the (finite) number of possible images already. At that point, why stop at kNN? Use a hashmap!
- dotnet00 5y ago>kNN being a perfect algorithm is a catastrophe for this whole formulation of AI. All it means is that the whole field of machine learning has as its limit what you can do if you already know the answer. You can see from this that it isnt learning at all. Doesn't the existence of unsupervised training and models that solve previously unsolved problems somewhat invalidate the NN=kNN analogy then? The protein folding problem didn't have an already known overall answer for instance. The model clearly 'learned' representational information that we are not aware of in order to be so much more effective at solving the problem than we are. Or similarly with the Starcraft or Dota AI, while some strategies learned were similar to humans, others were entirely novel. I think that's getting pretty close to 'learning' as you've defined it.
- mjburgess 5y agoAnimal learning is unsupervised, sure, but with no domain goal and no relevant dataset.
- dotnet00 5y agoI'd argue that 'survive and reproduce' is not all too different as a goal from 'maximize this score' when it comes to problems as open ended as playing MOBAs. There isn't much of a dataset and there are endless numbers of ways to go about solving the problem.
- sjg007 5y agoWhat do you mean by kNN?