Pattern Recognition: Prologue Pattern Recognition: Prologue

By Antti Hahto

24.05.2016

In the previous article, we gave some commentary on victory over humanity and why does it matter. This time, we’ll go through some initial aspects in pattern recognition within a bit larger context. Previously, we made a statement on Homo erectus’ greatest ability in this particular area, also to partially defend special honor and make us feel a bit better.

From a survivalistic point of view, it makes great sense to quickly perform heuristic decisions based on evolution’s playing board current state, before you get eaten. Checkmate.

***

Trying to artificially replicate Mr. Doe’s magnificent cerebral cortex has always been more or less, usually less, successful. For long people thought, it would be a good idea to describe each and every pattern by manually coding those. IF Tiger AND Tiger.state EQUALS hunger THEN run. Great. Now make tens of thousands of similar statements, describing a typical pattern recognized from the environment along with a suggested proceeding action. If it’s not Felix the Felid but some other vile entity trying to eat you, tough luck.

A pattern in previous example was given in a very broad sense, one might not be immediately familiar with. As a first thought, one would guess the term might have something to do with machine vision. Which, many times, is absolutely correct. However strictly speaking, it’s about finding regularities in general; something popping out from the background, catching our attention. Two dots can be interpreted as a colon, add some bracket it ends up happier. You can see the pattern here. Now to ask; how do you associate it belonging into category “smiley faces”?

***

Learning happens quite much naturally. At some point when having no village left, you end up making a conclusion tiger equals bad. There is a certain denominator there; every time a person hasn’t taken a flight upon encounter, that person ceases to exist. This could be seen as hybrid learning, having both supervised (dearest neighbor yelling you to run, while being devoured himself) and unsupervised elements; you learn against some fitness function, here being survival (of the fittest).

For a machine, this fitness function needs to be explicitly specified in order to evaluate against our training i.e. ranking several competing solutions. It’s a matter of business taste defining “lowest cost for goods” instead of “surviving”. In many cases however, finding this evaluation criteria is not forthright obvious; if a Go player makes some move and ends up winning the match later on, was that single move really good or not?

Recognized changes of patterns in time can be met with another ones. If that, on retrospect, proves beneficial similar moves could be onward exercised for a reward (reinforced learning, for us Pavlonians). Not every pattern needs to be recorded, as having enough sample data can provide us a pretty good heuristic approximation, “insight”. Then, it’s only a matter of setting the right time window; short-term loose can gain long-term benefits.

***

At this point of articles, you as a reader might have noticed a hefty amount of nature-related dialect. Rest assured, this is completely intentional for giving you a certain kind of mindset. To continue, given 10 seconds time, would you be able to name a single other disciplinary having such cohesion between software development, mathematics, biology and psychology, [2]? Time’s up.