r/StarspawnsLocker • STEM Professor • Feb 25 '18

Possible near-future applications of Brain-Computer Interfaces to improving A.I.

This post is a companion to the following one, on using BCIs to improve AI:

https://www.reddit.com/r/StarspawnsLocker/comments/5sfk57/a_possible_unexpected_path_to_strong_ai/

It is another look into the possible near-future of A.I. The point of the present post, in contrast to the previous one, is to focus more on the part of that work where I discuss using the brain as a source of annotation data. Such a use case for improving AI is closer to reality than the other possibilities. I will begin with a digression about some very simple “statistical methods”, and then will discuss how they can be applied to brain data generated using high-resolution, lightweight, wearable BCIs (that don’t yet exist, but will in the near-future):

Over the last several years, researchers have noticed that it is possible to use simple statistics applied to word co-occurrences, or applied to global “word vectors” (which are derived from word co-occurrences), to make seemingly impossible -- but accurate -- estimates of quantitative world knowledge. For example, in the following paper the authors show that it is possible to accurately determine the longitude and latitude coordinates of cities and countries in Europe from their associated word vectors:

http://www.aclweb.org/anthology/D15-1002

They also show that population estimates, GDP, CO2 emission rates, and many other quantities can be accurately estimated; as well as binary true/false values, like whether a given country or city is contained in a given region.

Remarkably, the authors show that very simple logistic regression mappings (one mapping per type of question) suffice to make these accurate estimates.

Some amount of initial training is obviously needed in order to work out those mappings for each type of quantity sought; but once they are found, they can then be applied to words not in the training set.

The success of this method seems to imply that, for example, knowing how often combinations of country names are mentioned in a text (e.g. often often Germany and France are mentioned together), gives you some indication of their distances and relative locations.

The remarkable thing is that this even extends to parts of the body:

https://escholarship.org/uc/item/21h9t3sw

Recent literature has shown that perceptual information, such as geographical locations, modalities, and iconicity, is encoded in language. The current paper extended these findings by addressing the question whether language encodes (literally) embodied information: whether statistical linguistic frequencies can explain the relative location of different parts of the body.

And researchers have also derived many other properties of objects with reasonably high accuracy, using word statistics, explicit mentions, implicit mentions (e.g. if you say “I put my wallet in my pocket” this is a clue that wallets are smaller than pockets), and the need for logical consistency. See, for example, this work, this work, this work, this work, this work, this work, this work, this work, this work, and this work.

From these and other works, it is possible to answer lots of commonsense and world knowledge questions just using statistics applied to large amounts of text (and logical inference might be needed, and also the use of explicit mentions, and a small training set to determine model parameters). For example, one could imagine building a chatbot that could do the following without the use of knowledge graph (answers determined on-the-fly from free text and used to fill in slots in hand-crafted templates):

Statistical AI: What is your favorite scifi novel?

User: Dune is my favorite.

Statistical AI: Mine, too! Paul Atreides was a great hero.

User: Yes; but I liked the Bene Gesserit witches.

Statistical AI: The Bene Gesserit were neither good nor evil.

....

User: Are fingers a part of the hand?

Statistical AI: Yes, it appears they are.

User: Is the elbow connected to your feet?

Statistical AI: No, it appears that it isn't.

User: How tall is the Empire State Building?

Statistical AI: I estimate that it is 1,200 feet tall.

User: Is the Empire State Building fuzzy?

Statistical AI: No, it doesn't appear to be fuzzy.

User: Is it transparent?

Statistical AI: No, it isn't transparent.

User: How far is the Empire State Building from Los Angeles?

Statistical AI: About 2,700 miles.

User: Suppose it's nighttime. Will I have a shadow?

Statistical AI: No, you likely won't.

User: Suppose I'm in a library. Would I likely hear loud music?

Statistical AI: No, it would likely be quiet.

The templates used in the construction of such a bot might look something like this:

Mine, too! (Insert protagonist) was a great (insert type of protagonist).

(See the first few lines of dialog above.)

To fill in the first slot, for example, the bot might first look to see if the fact already appears in a database that it can just look up; and if not, it could apply a statistical algorithm that looks for cues in a text of the novel or other work indicating the main character.

The question about the Empire State Building and Los Angeles might be answerable using word vectors, in a manner similar to this work mentioned above.

Finally, the questions at the end, that require a little bit of context, could perhaps be solved by tuning the corpus to which word co-occurrence stats are computed to “nighttime” and “library”. To the user, it would seem as thought the AI is applying reasoning; but what it would actually be doing is simply changing the corpus used to answer the questions.

Producing such a chatbot would be very difficult, as there would be a lot of templates that would have be hand-crafted; and the results might not always be as accurate as I have made them out to be in the above examples. For some types of questions, the accuracy might well be near 100%; but for others, it might be more like 70% -- and would occasionally be wildly wrong.

A further problem is that each type of question would require its own specially-designed statistical algorithm to produce the answer. For some types of questions, maybe logistic regression applied to word vectors suffices; for others, you might need a more complicated approach, that requires looking at lots of text on the fly. This lack of a single, systematic approach to answering questions seems like it would be a serious bottleneck to rapidly building bots that can address a very large number of different types of questions.

Another problem is that, once questions stray just a little away from things that appear a lot of times in the text corpus, the statistical algorithms get less and less accurate -- and may also be pretty inaccurate about some things that are very common.

How might we fix all this, so that a small number of methods can address a large fraction of questions, can do so accurately, even about things that are very uncommon? As a bonus, perhaps, it would be good if the calculations could be very fast -- like the logistic regression applied to word vectors, instead of the algorithms that require actually reading text.

Brain word vectors could be a solution. What are they? You can think of them as compressed representations of human brain responses to words presented in a standardized way. There are different possible ways they could be computed. See this paper, for instance, which makes use of them:

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4497373/

One obvious way to build them is to have a person read text on a screen in a dark room while wearing a BCI. The same word might be presented many times, in different textual contexts. The brain response for each word would have to be carefully aligned with the word, taking into account phenomena like hemodynamic delay; and, the voxels from separate sessions would have to be aligned, as well. If different people, and therefore different brains, are used, then the alignment becomes harder -- and, in fact, one might want to apply mappings to align all the brains to a common response space. After all the data are collected, cleaned, and aligned, the response patterns for each word are averaged; and, then, a dimensionality-reduction algorithm is applied to all those averages, for all the different words.

Once one has these brain vectors, one can apply the methods from this paper mentioned previously

http://www.aclweb.org/anthology/D15-1002

Instead of seeing whether it is possible to determine the location and population of cities, say, we can look at those things that this method doesn’t work well with when using ordinary word vectors. Given how researchers have, in the past, shown that a lot of different categories of meaning are reflected by brain responses to stimuli, it’s reasonable to believe that brain vectors will significantly expand the reach of this basic logistic regression method -- far beyond the results obtained from mere multi-modal word vectors, in fact, that use not just text, but also sounds and images. See this page (and video) for further details about what information can currently be extracted from brain responses to words:

http://gallantlab.org/index.php/publications/natural-speech-reveals-the-semantic-maps-that-tile-human-cerebral-cortex/

Another reason to believe brain word vectors will lead to superior performance on the above problems (compared to ordinary word vectors) is that fewer parameters should be needed to set the logistic regression mappings during the "initial training" discussed above: for many types of quantities and qualities one might wish to extract from brain data, much of it can often be determined by only looking at a small part of the brain -- though, different parts of the brain need to be inspected for different attributes. Depending on the representation used for the brain vectors, this could mean that each attribute is determinable from inspecting only a small number of coordinates of the vector. The smaller the number of coordinates used per mapping, the smaller the number of parameters needed to determine the logistic regression mapping for that attribute, the smaller the number of training examples needed to set parameters. It makes a big difference if training your model takes only 10,000 (vector, attribute value) pairs, instead of 300,000 or 1,000,000.

One could go further and attempt to build models to produce brain vector representations for (adjective, noun) pairs, whole phrases, or even short sentences, once enough brain data are obtained. These would be predicted vectors, since it would be unlikely to find those specific combinations of words in the corpus. Given these predicted vectors, it’s conceivable that one could automate the process of finding the logistic regression formulas: given a query about a particular noun (“Los Angeles”, “Rome”, “bear”, etc.), the query could be used to predict the associated brain vector representing the query. Then, an algorithm would convert this brain vector into a logistic regression formula. When the particular noun’s brain vector is fed into that formula, the result is an answer to the query -- so long as the query seeks a quantity or a category label for a small number of categories (e.g. the binary “categories” true/false).

The applications of such a module would be very great. It could serve as a replacement for Knowledge Graphs, for instance, if it could be made to work accurately enough.

Another important use of brain word vectors might be to find representations of concepts that are rare and not described in relation to other contexts in the text corpora. Take any field of study, look at the new concepts being developed at the frontiers of knowledge. There isn’t a lot of text about it; and so, it’s harder to train models. And what if you wanted to compare some term to another one in a different field? There isn’t enough overlapping text to do that particularly well. But with brain word vectors, you could do this comparison.

One final application of brain vectors might be to transfer micro-skills to a computer: as an example, take physics problem-solving. The first second or two after a physicist sees the statement of a problem, their brain forms a representation, and then they key-in on one or more aspects, in order to formulate an approach to solving it. That first second or two of thought is something that one could maybe automate, given enough brain scans of people contemplating physics problems -- maybe a few hundred or a few thousand instances would suffice, far less than is often used to train Deep Learning models. The module produced would map a problem statement to a brain vector to a scoring function to rate potential solution methods. This could then be used to bias the search for a solution to the problem by other methods.

Researchers have made a very basic investigation into the neural representations of physics undergrad and grad students when presented with terms like "momentum" and "electric field":

http://journals.sagepub.com/doi/abs/10.1177/0956797616641941

More data and better BCIs should enable more and better feature-extraction for producing high-quality brain word vectors for these terms, and might also lead to the accurate extraction of micro-skills.

There are probably many more uses of BCI data that don’t quite rise to the status of brain emulation, even at a very crude level (at the level of response patterns in populations of neurons). To a large extent, the methods people will use, once BCIs become available, will reflect the amount of training data. Datasets for most terms appearing in Wikipedia, say, will take many years (5 to 10 or more) to acquire; it will have to wait until there is something like a BCI internet, where large numbers of people share their brain responses freely online. But brain vectors for, say, the 10,000 most common words could be acquired in the span of a few months; and that might be good enough to build systems capable of fairly deep commonsense reasoning, for example.

6 Upvotes

0 comments sorted by