HN user

tiger10guy

41 karma
Posts0
Comments27
View on HN
No posts found.

The ideas that I, as a programmer in the traditional sense, want to communicate to computers are not the ideas I want to communicate to humans.

I might ask my friend to move the report he's working on to a shared network location so I can load it into my computer and read it: "Hey Joe, can you move the report to the share?"

Joe might ask the computer to do the same thing: "cp /home/joe/reports/cool_report.pdf /network/share/reports/cool_report.pdf"

The actual ideas that are communicated are very similar, but not the same. English is good for communicating one idea while bash/GNU is good for communicating the other.

Just because English has some established formalism doesn't mean it's good at communicating the ideas we want to communicate to computers.

BTW, I don't care which field you put the issue under; it's the same issue and anyone who cares about it might contribute to the discussion.

In Li Deng's and Dong Yu's book on Deep Learning (March 2014) version they briefly relate Hierarchical Temporal Memory (HTM) to the Convolutional Neural Networks which are popular for Deep Learning.

http://research.microsoft.com/apps/pubs/default.aspx?id=2093...

It's worth noting that most people doing Deep Learning aren't trying to replicate the brain, but just want to do a better job at Machine Learning (ML) and Artificial Intelligence. Here's how I see it as someone working on Deep Learning; someone correct me if I'm wrong.

Deep Learning: Trying to do ML - yes Trying to replicate brain - no (for the most part)

Numenta (HTM/CLA): Trying to do ML - yes (not sure how much they succeed) Trying to replicate brain - yes, but (i) we don't know exactly how the brain works (ii) they make approximations

Projects like Nengo (http://nengo.ca/): Trying to do ML - no Trying to replicate brain - yes

I'm not very familiar with Nengo.

Edit: formatting

I haven't used that, but it looks interesting. After a brief look it seems like they both submit jobs to Python interpreters started up in other processes.

Parallel Python (PP) seems to have a clunkier API, but also more functionality. I think the biggest advantage is that it can distribute jobs over a cluster instead of just different cores on the same machine. I might look into PP if I need to do things on a cluster, but I think I'll still stick with joblib when I'm on one machine.

That's just my first impression. I'd be interested to read your blog post.

2048 in 4D 12 years ago

You can forget about dimensions... yet it's still in 4 dimensions. That's what's so cool about it!

2048 in 4D 12 years ago

That makes sense.

I think my intuitions for the discrete and continuous are similar for 2D and 3D. Are they fundamentally similar? How do they differ, even if only a little? It seems that discrete 4D intuition should somehow help with continuous 4D intuition.

2048 in 4D 12 years ago

It's so hard to get intuitions about higher dimensions and this seems to do an incredible job. The game is simple enough and the cardinality of the dimensions low enough (2x2x2x2) that I can actually play it smoothly (having played the original and with a bit of practice at the 4D version).

Does that mean I've formed 4D intuition? I think this just happens to be in a class of 4D mechanics that's isomorphic to 2D variants, so the answer would be no. If so, how many such 2D variants are there?

For those interested, 4d rubick's cube:

http://www.superliminal.com/cube/cube.htm

2048 in 4D 12 years ago

It seemed like too short a time. I figured someone had thought of it first, but I still couldn't help saying something. Nice work!

Week 23: Changes 13 years ago

Math isn't the symbols, it's the ideas. The symbols are just a crude way of communicating the ideas.

What's even more cool?

Before long computers will be able to conceptualize the whole complex mess.

Consider how we acquire knowledge (perhaps like http://matt.might.net/articles/phd-school-in-pictures/). The more we've learned, the more we need to know about how to learn. At each level of knowledge we gain knowledge by accessing new knowledge and combining it with what we know. Eventually the supply of new knowledge dwindles and the only tool we can rely on is learning; the only tool we can rely on is that ability to combine knowledge.

This is much harder than taking in new knowledge; especially for computers! However, computers are getting better and better at it. Whereas many of us are out of college, computers are still in middle school, but they're getting better and better at both large scale and high complexity learning, so they'll move on to high school and college soon. Moreover, they're moving at an exponential pace! (see Ray Kruzwell and his ideas on the exponential growth of technology) Eventually, no... soon, computers will be able to conceptualize and intuit the scale and complexity of something like google.com. No person can come close to this, so we have no idea what that ability will bring.

Ditto to the gambler comment. Read Nate Silver's book on predictions for more. Working as a stock broker shouldn't be compared to software development without some explanation of why the link is valid, which it isn't in this case.

Just what I thought!

One thing to point out: there's a fine line between what is and what is not repetition. You may/will find a tool that's perfect for what you want to do sans one or two features. Your ability to adapt that tool to exactly what you want so you don't have to repeat the 99% of things which are already finished is important.