Hacker News new | ask | show | jobs
by brewii 603 days ago
Think about how fast you’re able to determine the exact trajectory of a ball and location to place your hand to catch a ball using your lizard brain.
7 comments

This isn't some innate ability that people have. As evidenced by how bad my kids are at catching things. :D

That said, I think this is a good example. We call it "muscle memory" in that you are good at what you have trained at. Change a parameter in it, though, and your execution will almost certainly suffer.

"Muscle memory" has always seemed like a terrible name for that kind of skill. A ball will be thrown to a slightly different location every time. There's no memory evolved there at all, its just calculations and predictions happening at a level that our conscious mind doesn't seem to see or recognize.
It is a trained skill. And one that you are very unlikely to be able to do without training. Such that it really does come as a sort of memory that you implant in your muscles.

You seem to be objecting because it is not perfect recall memory at play? But it is more about appealing to "remembering how to ride a bike" where you can kind of let the body flow into all of the various responses it needs to do to make the skill work. And if you've never done it... expect to fall down. Your muscles don't have the memory of coordinating in the right way.

And no, you are not calculating and predicting your way to what most people refer to for muscle memory. Is why juggling takes practice, and not just knowing where the balls have to be going.

I think it's actually a good name.

The "memory" is stored as the parameters of a function. So, when you practice, you actually update this memory/parameters.

This is why you can use the same "memory" and achieve different results.

Think of it as

function muscleAction(Vec3d target, Vec3d environment, MuscleMemory memory) -> MuscleActivation[];

To complete the other comment: the MuscleMemory is updated through learning, so a more complete example would be:

    function muscleAction(Vec3d target, Vec3d environment, MuscleMemory memory) -> {actions: MuscleActivation[], result: Vec3d}
After executing the muscleAction function, through "practice", the MuscleMemory will be updated.

    function updateMuscleMemory(Vec3d target, Vec3d environment, MuscleMemory memory, MuscleActivation[] actions, Vec3d result) {
        memory.update(target, environment, actions, result);
    }

Sort-of like backpropagation.
I mean even people that are "bad at catching things" are still getting ridiculously close to catching it - getting hands to the right area probably within well under a second of the right timing - without being taught anything in particular about how a ball moves through the air.
Uh.... have you been around kids? It will take several absurd misses before they even start to respond to a ball in flight.
I hope we still agree the kids learn extremely efficiently by ml standards.
Makes a lot of sense, there's massive evolutionary pressure to build brains that have both incredible learning rate and efficiency. Its literally a life or death optimization.
It's especially impressive when you consider that evolution hasn't had very long to produce these results.

Humans as an intelligent-ish species have been around for about 10 million years depending on where you define the cutoff. At 10 years per generation, that's 1 million generations for our brain to evolve.

1 million generations isn't much by machine learning standards.

This isn't that obvious to me with current tech. If you give me a novel task requiring perception, pattern matching and reasoning, and I have the option of either starting to train an 8 year-old to do it, or to train an ML model, I would most likely go with the ML approach as my first choice. And I think it even makes sense financially, if we're comparing the "total cost of ownership" of a kid over that time period with the costs of developing and training the ML system.
> This isn't that obvious to me with current tech. If you give me a novel task requiring perception, pattern matching and reasoning,…

If that’s your criteria I think the kid will outperform the model every time since these models do not actually reason

Depends on the task. Anything involving physical interaction, social interaction, movement, navigation, or adaptability is going to go to the kid.

“Go grab the dish cloth, it’s somewhere in the sink, if it’s yucky then throw it out and get a new one.”

It's more about efficiency in number of trials.

Would you pick the ML model if you could only do a hundred throws per hour?

All we can say for sure at the moment is that humans have better encoded priors.
Stop missing and they will respond to the ball a lot sooner.
Or even more impressively, how you can pick up a random object and throw it with some accuracy.

Catching a ball is easy by comparison, also, my dog is better than I am at this game.

But throwing a random object not only requires an estimation of the trajectory, but also estimating the mass and aerodynamic properties in advance, to properly adjust the amount of force the throw will use as well as the release point with high accuracy. Doing it with baseballs is "easy", as the parameters are all well known and pitchers spend considerable time training. But picking an oddly shaped rock or stick you have never seen before and throw it not completely off target a second later, now we are talking.

Playing Pool is a great example of this because you can math out the angles of a shot relatively easily, but the best pool players do it all intuitively. Some of the greatest don't bother with "advanced" pool tactics. They have spent so much time watching the cue ball strike other balls that they have a tacit understanding of what needs to happen. Part of practicing well is just watching balls hit each other so your brain starts to intuit what those collisions result in.

What is really fascinating for me is that my subconscious will lose interest in pool before my conscious does, and once that happens I struggle to aim correctly. It feels like the part of my brain that is doing the math behind the scenes gets bored and no matter how hard I try to consciously focus I start missing.

Not to mention, you even calculate a probability point map. Like I’m not going to hit the center perfectly but I can calculate the circle with a 90% probability of making the shot, given a distance and an object. And you know how much closer you need to walk to minimize the circle.

Which comes in very critically when chucking away trash overhand in public and you never want to embarrass yourself.

I recall a study which suggested that we don't really calculate the trajectory as such, but use some kind of simple visual heuristic to continually align ourselves with where the ball is going to land.

They showed that people running to catch a ball would follow an inefficient curved path as a result of this, rather than actually calculating where the ball will land and moving there in a straight line to intercept it.

Bender: Now Wireless Joe Jackson, there was a blern-hitting machine!

Leela: Exactly! He was a machine designed to hit blerns!

You can do this while you're staring up the whole time. Your brain can predict where the ball will end up even though it's on a curved trajectory and place your hand in the right spot to catch it without guidance from your eyes in the final phase of travel. I have very little experience playing any kind of sport that involves a ball and can reliably do this.
Which funny enough is why I hate rocket league.

All those years of baseball as a kid gave me a deep intuition for where the ball would go, and that game doesn’t use real gravity (the ball is too floaty).

Ok, I’ll grant you the physics are what they are. But a football is not a baseball, so why in any world would you expect your memory of baseball to even remotely translate to the physics of a football, even if they were realistic?
Remotely? Because both the European-spec football and the baseball, despite one being heavier than the other, will hit the ground at the same time when dropped from the same height.

Like you said, physics are what they are, so you know intuitively where you need to go to catch a ball going that high and that fast, and rocket league is doing it wrong. err, I mean, not working in Earth gravity.

> Because both the European-spec football and the baseball, despite one being heavier than the other, will hit the ground at the same time when dropped from the same height

That might be true in a vacuum and if their densities were the same, but in real-world conditions, air drag would be greater for the football since it's obviously larger and less dense, and it'll reach the ground afterwards.

Sure, but they're still on the same planet, where gravity is 9.8m/s^2, so accounting for all that isn't as big a difference as Rocket League, which takes place on a digital planet, where gravity is 6.5m/s^2.
Sometimes a football isn't a spherical cow.
It does behave kind of like an inflatable beach ball, in my non-expert opinion.
Well, think how a bug and its shitty brain flies and avoids all type of obstacles amazingly fast.

This kind of things make me think LLMs are quite far from AGI.

Bug flying is not general intelligence.
Besides that bugs flying seems an amazing task to me in terms of processing, specially if you compare the amount of power used to something like cars autopilot, bugs flying is part of bug survival, which in my opinion is closer to general intelligence than memorizing tokens.
Comparing "bug flying"/"bug survival" to "memorizing tokens" is disingenuous. They're not in the same category of task at all. You're essentially comparing the output of one system to the input of another system.
Sorry, spitting tokens