My thoughts on tech, stuff, and nonsense.

Category Archives: AI / Machine Learning

I came across an interesting post on Deep Learning / Deep Neural Networks which was related to my previous post. The interesting point about that post, which I had in the back of my mind while writing my previous post about neural networks, was that Deep Neural Networks aren’t designed for replicating the full extent of Human intelligence. What they are getting really good at is replicating only a part of what the Human brain does, but a part which is important and incredibly useful and effective for specific engineering problems such as classification.

One specific thing that Deep Neural Networks do well is the task of classification at very large scale. The Human brain is pretty slow and even though it packs in an enormous amount of neurons that work in parallel, way more than any computer or cluster of computers is able to model, it needs a lot of neurons to classify one image, and can only classify a small number of images at once. Deep Neural Networks can sift through millions or more images per day without getting tired or having to sleep and the process can be cheaply replicated across tens or more thousands of computers. They do need a steady diet of electricity, but that is in relative abundance (though limited and has it’s own set of issues).

Deep Neural Networks aren’t going to give us Strong AI anytime soon, but they are beginning to be able to perform certain tasks faster and more accurately than humans.

I came across an article about a paper which details the discovery of an interesting property of feature encoding in a Neural Network and an inherent flaw in the discontinuity of feature learning. The flaw has to do with the finding that specific new classification examples are universally incorrectly classified by (classical and deep) Neural Networks. The classification errors follow a specific blind spot in how individual neurons or set of neurons are able to be trained. As an example, certain images that a human would instantly correctly positively classify, a Neural Network would incorrectly negatively classify. And certain images that a human would correctly negatively classify, a Neural Network would incorrectly positively classify. This flaw permeated many different types, configurations, and differently trained Neural Networks.

The flaw is not necessarily a flaw in how Neural Networks (in software) are implemented, and it is not necessarily the case that the human brain does not suffer the same flaw. But rather, it is a limitation in modelling a specific operation of the neurons of the human brain and how that singular operation is abstracted and taken advantage of in machine learning problems. Since there is no reason yet to believe that the same flaw does not exist in how neurons in the human brain are able to model and classify data, it must be presumed that the flaw of software Neural Networks is that they are limited to a small subset of how the human brain uses neurons.

There are two primary areas in which (classical and deep) Neural Networks ignore critical human brain functions which cause them to be limited in their ability to be as flexible and robust at performing intelligent tasks, even that as mundane as classification. These areas are time and prediction. Yes, a critical function of the brain is to both learn and classify information. But it does so in the context of time and with the aid of prediction; without either of which the brain cannot function. You do not experience life in frames as a computer vision system typically does. Even when you stare as still as possible at an image, you cannot identify it without, nearly imperceptibly to you, your eyes moving across the image (called a saccade). Granted, your eye can only physically see in clear detail a small area in the center of your vision, but the movement and time dimensions are important none the less. Just like how you move your fingers over a surface to identify it through touch, your eyes function in much the same way, by creating a constantly changing temporal pattern. Computer vision systems do not (typically) do this.

Prediction too is critical at filling in the messy and incomplete stream of information you experience. You may not realize it, but you have a blind spot in each eye where your optic nerve exits the eye. It is possible to detect it, in a way similar to how we can detect a black hole, but for your normal behavior and experience it’s imperceptible. Through the use of time-changing and predictive input processing, however, you experience a continuous and consistent reality. Prediction fills in the gaps from the missing input of your eyes’ blind spots and other missing or variant features. Markov models can form predictions, but most Neural Networks ignore or don’t fully address or take advantage of prediction.

Time and prediction, I believe, allows us to completely overcome adversarial examples or neural blind spots like those described in the above mentioned paper. By adding a time dimension, it not only allows a time component to be a constraint in a model, thus treating the same order of a pattern differently when important distinctions are made with respect to the time between various parts of the pattern. But the time dimension also spreads the data over a wider swath, and not necessarily that which resembles what is captured by a single computer image. By manipulating and absorbing a still image we are able to overcome major deficits in the quality or other deficiencies in an image. Computer vision systems are starting to take the queues of how the human eye and its saccades process images, but it’s just beginning to become common practice. Prediction too lets us fill in gaps, correct for small errors or discrepancies, and know what to expect and do next, particularly critical in real-time systems.

The human brain is a highly complex, highly structured, dynamical system. Neural Networks do a good job at emulating the modeling characteristic of the human brain to perform classification tasks. But thanks to books like On Intelligence by Jeff Hawkins and How to Create a Mind by Ray Kurzweil, among others, I have come to realize, at a high level, the depth and breadth of how the brain implements intelligence. The trivial wiring of standard Neural Networks barely begins to explore its capability. Deep Neural Networks take it a step further, but there are so many more ways in which it can be taken further.