Tuesday, August 7, 2018

What makes a table, a table?

I was recently speaking with a friend who happens to be a philosophy major. Most of my other friends graduated with degrees in hard sciences, so my conversations with this person in particular tend to sometimes follow interesting tangents. When engineers get together those conversations tend to be, well, different... even if interesting in their own way.

We got to talking about a number of different topics, and ended up discussing the question of this post "What makes a table a table?". At first I thought this was a joke, but was assured it wasn't. Do you consider something to be a table because it has a flat top? because it has 4 legs? the ability to support or hold other objects in a relatively stable way? some other feature or characteristic?

This might seem to be flippant, but even though we can agree that most humans might eventually come to some agreement on what a table is (or isn't), it becomes extremely important and quite an interesting question when you view it from the standpoint of machine learning.

Think of this question from a machine's perspective, especially in a supervised learning setup. Supervised learning, for those unaware of the term, is a training setup for machine learning where the system is provided with several labeled examples of objects - say tables, and not tables, and is then given unlabeled images and is asked to say whether the picture is of a table (or not).

Now the computer has to answer the same question that we as humans can think of philosophically, but it has to answer that question using data. It is building up knowledge of our world from examples we give it. Some things might appear obvious to us, and we can expect we'll come to "reasonable" agreement with people that have similar ideas about things. Computers on the other hand learn from hard data, and while some of their conclusions might initially be questionable, a model that learns from experience might surprise us with its sophistication in its ability to answer difficult questions. Take for example the AI that beat Lee Sedol on Go - widely known as one of the most complex games known to humankind. In a later interview, Lee and other experts were unable to interpret what led the computer to make certain moves - only in the overall context of its wins did the conceptual leaps it made in reasoning become clear.

Purists might say I am mixing examples (if not metaphors) here - AlphaGo (the Go AI) used reinforcement learning, whereas the program from my table identification problem used Supervised Learning. My response to that is that the views expressed here are high-level arguments analyzing the complexity of knowledge we often take for granted, and that this can be learned - not a focus on particular algorithms in each case.

If you've read this far, you need a reward. Check out this link for some rather unique table designs. I particularly like that floating set of cubes - looks like a design win to me, though I wonder if form there defeats function!