Epistemology Sequence, Part 2: Concepts

What are the “things” in our world?

A table is not a “raw” piece of sense data; it is a grouping of multiple sensory stimuli into a single, discrete object. (The concept which the word “table” refers to is even more general, since it includes all instances of individual tables.)

We do not perceive the world in terms of raw sense data; we process it a lot before we can even become conscious of it. Unmediated sensory perception would have no structure, it would be like William James’ “blooming, buzzing confusion,” which was his phrase for a baby’s sensory experience.

James was wrong on the facts — even babies do not have literal unmediated perceptions.  There is nowhere in the brain that represents a photograph-like picture of the visual field, for instance.  But we do know that object recognition can break to some degree in humans, yielding examples of people who lack some higher-level sensory processing. Mel Baggs writes about having to consciously and effortfully recognize objects, as a result of autism.  Agnosia is the general term for inability to recognize sensory phenomena; there are many agnosias, like the inability to distinguish visual shapes, or to distinguish speech from non-speech sounds.  It’s clear that organizing sensory data into discrete objects (let alone forming abstractions from types of objects and their properties) is a nontrivial operation in the brain. And, indeed, image and speech recognition is an ongoing and unsolved area of machine learning research.

Visual object recognition is currently believed to be modeled by a hierarchical neural net, shaped like a tree. The lowest leaves on the tree, known as simple cells, recognize local features of the image — say, a (convolution with a) particular line segment, in a particular (x, y) coordinate position, at a particular angle.  Higher levels of the tree integrate multiple nodes from lower on the tree, producing features that recognize more complex features (shapes, patterns, boundaries, etc.)  Higher features have invariance properties (the shape of the number 2 is recognizable even if it’s translated, rotated, scaled, written in a different color, etc) which come from integrating many lower features which have different values for the “irrelevant” properties like location or color.  Near the top of the tree, we can get as far as having a single feature node for a particular type of object, like “dog.”

It is known empirically that individual neurons in the visual cortex are tuned to recognize complex objects like faces, and that this recognition is invariant to changes in e.g. viewing angle or illumination.  Monkeys trained to recognize a novel object will acquire neurons which are selective for that object, which shows that the process of object recognition is learned rather than hard-coded.

We can call a concept a node that’s not a leaf.  A concept is a general category composed of aggregating perceptions or other concepts, which have some essential characteristic(s) in common. (In the case of the symbol “2”, the shape is essential, while the color, scale, and position are not.)  To form a concept, the input from the lower nodes must be “pooled” over such inessential dimensions.  In the classic HMAX model of the visual cortex, pooling is implemented with a “max” function — the complex cell’s activity is determined by the strongest signal it receives from the simple cells.  A “pooling” level is followed by a “composition” level, whose nodes are all possible combinations of nearby groups of nodes on the preceding level; after a further pooling level, the nodes represent “complex composite” concepts, composed of smaller shapes.

HMAX is an example of a convolutional neural net.  In a convolutional neural net, each node’s activity is determined by the activity of a spatially local patch of nodes on the level just below it, and the transfer functions are constrained to be identical across a level. This constraint cuts down dramatically on the computational cost of learning the weights on the neural net.  The max-pooling step in a convolutional neural net makes the composite nodes translation-invariant; the max over a set of convolutions with overlapping patches is robust to translations of the input image.  This gives us a way to implement the ability to generalize or produce translation invariance.  Variants on convolutional neural nets can give other kinds of invariance, such as scale-invariance, rotation-invariance, illumination-invariance, or even invariance with respect to an arbitrary group of transformations.  The general principle is that you can generate higher concepts via measurement omission — pooling over a variety of specific feature-detectors which vary in a non-salient characteristic will give you a more general feature detector that only cares about the salient characteristic.

Having a hierarchical structure of this kind is valuable because it is computationally efficient. Fully-connected neural nets, where each node on layer is connected to every node on layer n-1, have far too many weights to learn (especially since the inputs on the bottom layer are one neuron per pixel in the image).  Hierarchical structure allows you to cut down on the number of objects in your vocabulary; you can conceive of “this table” rather than all possible parts and viewing angles and lighting choices that give you images of the table.

How the brain models more abstract concepts is less well known.  But it seems intuitive that you can generate new concepts from old ones by integration (including multiple concepts under an umbrella heading) or differentiation (dividing a concept into multiple distinct types.)

In neural-net language, “integrating” multiple nodes is an OR function, which is implemented with a max-pooling step.  The parent node is active iff at least one of the child nodes is active; this is equivalent to saying that the parent node is active iff the maximum over all child nodes is active.

Differentiation involves subdividing a node into types.  If I understand this correctly, this involves combinations of AND functions (whose implementation can be derived from OR functions) and XOR functions, which are more difficult. For instance, if the parent node is of the form “A OR B” and you need to identify the child node “Exactly one of {A, B}”, you have to define an XOR function with a neural net. XOR functions provably cannot be done with single-layer neural networks; implementing an XOR function requires a hidden layer. In high dimensions, parity functions (generalizations of the XOR function) are intractable to learn with neural nets.  It appears that differentiation is qualitatively more difficult than integration. At least some kinds of categorization that humans can do appear to be (mostly) open problems for artificial intelligence.

In short: hierarchical organization into concepts is a natural way to construct an ontology that is computationally efficient to work with.  Concepts are generalizations from simpler objects; a concept has some form of invariance over irrelevant characteristics. (Which characteristics are relevant and which are irrelevant? More on that later.)

Claims about the world can be expressed in terms of concepts, subsuming all their sub-components; for instance, the event “there is a black circle in this picture” can be defined entirely in terms of the node that represents “black circle”, and implicitly includes all possible locations of the black circle. Thus, the hierarchical network of concepts also gives rise to a kind of hierarchical structure on states of the world.

This gives us a the start of a language for how to talk about ontologies.  Later we’ll get into: what makes a good ontology? what happens if you change your ontology?  What about decision-making?

Note: terms in bold are from ItOE; quantitative interpretations are my own.  I make no claims that this is the only philosophical language that gets the job done. “There are many like it, but this one is mine.”

Epistemology Sequence, Part 1: Ontology

This sequence of posts is an experiment in fleshing out how I see the world. I expect to revise and correct things, especially in response to discussion.

“Ontology” is an answer to the question “what are the things that exist?”

Consider an reasoning agent making decisions. This can be a person or an algorithm.  It has a model of the world, and it chooses the decision that has the best outcome, where “best” is rated by some evaluative standard.

A structure like this requires an ontology — you have to define what are the states of the world, what are the decision options, and so on.  If outcomes are probabilistic, you have to define a sample space.  If you are trying to choose the decision that maximizes the expected value of the outcome, you have to have probability distributions over outcomes that sum to one.

[You could, in principle, have a decision-making agent that has no model of the world at all, but just responds to positive and negative feedback with the algorithm “do more of what rewards you and less of what punishes you.” This is much simpler than what humans do or what interesting computer programs do, and leads to problems with wireheading. So in this sequence I’ll be restricting attention to decision theories that do require a model of the world.]

The problem with standard decision theory is that you can define an “outcome” in lots of ways, seemingly arbitrarily. You want to partition all possible configurations of the universe into categories that represent “outcomes”, but there are infinitely many ways to do this, and most of them would wind up being very strange, like the taxonomy in Borges’ Celestial Emporium of Benevolent Knowledge:

Those that belong to the emperor

Embalmed ones

Those that are trained

Suckling pigs

Mermaids (or Sirens)

Fabulous ones

Stray dogs

Those that are included in this classification

Those that tremble as if they were mad

Innumerable ones

Those drawn with a very fine camel hair brush

Et cetera

Those that have just broken the flower vase

Those that, at a distance, resemble flies

We know that statistical measurements, including how much “better” one decision is than another, can depend on the choice of ontology. So we’re faced with a problem here. One would presume that an agent, given a model of the world and a way to evaluate outcomes, would be able to determine the best decision to make.  But the best decision depends on how you construct what the world is “made of”! Decision-making seems to be disappointingly ill-defined, even in an idealized mathematical setting.

This is akin to the measure problem in cosmology.  In a multiverse, for every event, we think of there as being universes where the event happens and universes where the event doesn’t happen. The problem is that there are infinitely many universes where the event happens, and infinitely many where it doesn’t. We can construct the probability of the event as a limit as the number of universes becomes large, but the result depends sensitively on precisely how we do the scaling; there isn’t a single well-defined probability.

The direction I’m going to go in this sequence is to suggest a possible model for dealing with ontology, and cash it out somewhat into machine-learning language. My thoughts on this are very speculative, and drawn mostly from introspection and a little bit of what I know about computational neuroscience.

The motivation is basically a practical one, though. When trying to model a phenomenon computationally, there are a lot of judgment calls made by humans.  Statistical methods can abstract away model selection to some degree (e.g. generate a lot of features and select the most relevant ones algorithmically) but never completely. To some degree, good models will always require good modelers.  So it’s important to understand what we’re doing when we do the illegible, low-tech step of framing the problem and choosing which hypotheses to test.

Back when I was trying to build a Bayes net model for automated medical diagnosis, I thought it would be relatively simple. The medical literature is full of journal articles of the form “A increases/decreases the risk of B by X%.”  A might be a treatment that reduces incidence of disease B; A might be a risk factor for disease B; A might be a disease that sometimes causes symptom B; etc.  So, think of a graph, where A and B are nodes and X is the weight between them. Have researchers read a bunch of papers and add the corresponding nodes to the graph; then, when you have a patient with some known risk factors, symptoms, and diseases, just fill in the known values and propagate the probabilities throughout the graph to get the patient’s posterior probability of having various diseases.

This is pretty computationally impractical at large scales, but that wasn’t the main problem. The problem was deciding what a node is. Do you have a node for “heart attack”? Well, one study says a certain risk factor increases the risk of having a heart attack before 50, while another says that a different risk factor increases the lifetime number of heart attacks. Does this mean we need two nodes? How would we represent the relationship between them? Probably having early heart attacks and having lots of heart attacks are correlated, but we aren’t likely to be able to find a paper that quantifies that correlation.  On the other hand, if we fuse the two nodes into one, then the strengths of the risk factors will be incommensurate.  There’s a difficult judgment call inherent in just deciding what the primary “objects” of our model of the world are.

One reaction is to say “automating human judgment is harder than you thought”, which, of course, is true. But how do we make judgments, then? Obviously I’m not going to solve open problems in AI here, but I can at least think about how to concretize quantitatively the sorts of things that minds seem to be doing when they define objects and make judgments about them.

Values Affirmation Is Powerful

One of the most startlingly effective things I’ve seen in the psychology literature is the power of “self-affirmation.”

The name is a bit misleading. The “self-affirmation” described in these studies isn’t looking in the mirror and telling yourself you’re beautiful.  It’s actually values affirmation — writing short essays about what’s important to you in life (things like “family”, “religion”, “art”) and why you value them. The standard control intervention is writing about why a value that’s not very important to you might be important to someone else.

Values affirmation has been found in many studies to significantly improve academic performance in “negatively stereotyped” groups (blacks, Hispanics, and women in STEM), and these effects are long-lasting, continuing up to a year after the last exercise.[1]  Values affirmation causes about a 40% reduction in the black-white GPA gap, concentrated in the middle- and low-performing students.[4]

Values affirmation exercises reduce the cortisol response (cortisol is a “stress hormone”) in response to social stress tasks, as well as reducing self-reported stress.[2]  Students assigned to a values-affirmation exercise did not have an increase in urinary epinephrine and norepinephrine (measures of sympathetic nervous system activity) in the weeks before an exam, while control students did.[5]  People who have just done a self-affirmation exercise have less of an increase in heart rate in response to being insulted.[6]

A fifteen-minute values affirmation exercise continued to reduce (questionnaire-measured) relationship insecurity for four weeks after the initial exercise.[3]

The striking phenomenon is that a very short, seemingly minor intervention (spending 15 minutes on a writing task) seems to have quite long-lasting and dramatic effects.

There are lots and lots of studies pointing in this direction, and I haven’t looked in great depth into how sound their methodology is; I still consider it quite possible that this is a statistical fluke or result of publication bias.  But it does seem to mesh well with a lot of ideas I’ve been considering over the years.

There is a kind of personal quality that has to do with believing you are fit to make value judgments.  Believing that you are free to decide your own priorities in life; believing that you are generally competent to pursue your goals; believing that you are allowed to create a model of the world based on your own experiences and thoughts.

If you lack this quality, you will look to others to judge how worthy you are, and look to others to interpret the world for you, and you will generally be more anxious and more likely to unconsciously self-sabotage.

I think of this quality as being a free person or being sovereign.  The psychological literature will often characterize it as “self-esteem”, but in popular language “self-esteem” is overloaded with “thinking you’re awesome”, which is different.  Everybody has strengths and weaknesses and nobody is wonderful in every way.  Being sovereign doesn’t require you to think you’re perfect; it is the specific feeling that you are allowed to use your own mind.

What the self-affirmation literature seems to say is that this quality is incredibly important, and incredibly responsive to practice.

The stereotype threat literature in particular suggests that there is an enormous aggregate cost, in terms of damaged academic and work performance and probably health damage, due to the loss of a sense of sovereignty among people whom society stereotypes as inferior.

Put another way: being a “natural aristocrat”, in the sense of being a person who is confident in his right to think and decide and value, gives you superpowers. My intuition is that people become much, much smarter and more competent when they are “free.”

And if promoting psychological freedom is as easy as the self-affirmation literature suggests, then people interested in maximizing humanitarian benefit should be interested.  Human cognitive enhancement is a multiplier on whatever good you want to do, just as economic growth is; it increases the total amount of resources at your disposal.  Raising IQ seems to be hard, once you get past the low-hanging fruit like reducing lead exposure, but reducing stereotype threat seems to be much easier.  I have a lot of uncertainty about “what is the most useful thing one can do for humanity”, but making saner, freer people arguably deserves a spot on the list of possibilities.

[1]Sherman, David K., et al. “Deflecting the trajectory and changing the narrative: How self-affirmation affects academic performance and motivation under identity threat.” Journal of Personality and Social Psychology 104.4 (2013): 591.

[2]Creswell, J. David, et al. “Affirmation of personal values buffers neuroendocrine and psychological stress responses.” Psychological Science 16.11 (2005): 846-851.

[3]Stinson, Danu Anthony, et al. “Rewriting the Self-Fulfilling Prophecy of Social Rejection Self-Affirmation Improves Relational Security and Social Behavior up to 2 Months Later.” Psychological science 22.9 (2011): 1145-1149.

[4]Cohen, Geoffrey L., et al. “Reducing the racial achievement gap: A social-psychological intervention.” science 313.5791 (2006): 1307-1310.

[5]Sherman, David K., et al. “Psychological vulnerability and stress: the effects of self-affirmation on sympathetic nervous system responses to naturalistic stressors.” Health Psychology 28.5 (2009): 554.

[6]Tang, David, and Brandon J. Schmeichel. “Self-affirmation facilitates cardiovascular recovery following interpersonal evaluation.” Biological psychology 104 (2015): 108-115.

Changing My Mind: Radical Acceptance

I used to be really against the notion of radical acceptance.  Or, indeed, any kind of philosophy that counseled not getting upset about bad things or not stressing out over your own flaws.

The reason why is that I don’t like the loss of distinctions.  “Science” means “to split.”

If you dichotomize  “justice vs. mercy”, “intense vs. relaxed”, “logic vs. intuition”, and so on, I’m more attracted to the first category. I identify with Inspector Javert and Toby Ziegler. I admire adherence to principle.

And there’s a long tradition of maligning “intense” people like me, often with anti-Semitic or ableist overtones, and I tend to be suspicious of rhetoric that pattern-matches to those associations.  There’s a pattern that either frames intense people as cruel, in a sort of “Mean Old Testament vs. Nice New Testament” way, or as pathetic (“rigid”, “obsessive”, “high need for cognitive closure”, etc).  “Just relax and don’t sweat the small stuff” can be used to excuse backing out of one’s commitments, stretching the truth, or belittling others’ concerns.

There’s also an aesthetic dimension to this. One can prefer crispness and sharpness and intensity to gooey softness.  I think of James Joyce, an atheist with obvious affection for the Jesuitical tradition that taught him.

So, from where I stand, “radical acceptance” sounds extremely unappealing. Whenever I heard “You shouldn’t get mad at reality for being the way it is”, I interpreted it as “You shouldn’t care about the things you care about, you shouldn’t try to change the world, you shouldn’t stand up for yourself, you shouldn’t hold yourself to high standards.  You’re a weird little girl and you don’t matter.”

And of course I reject that. I’m still passionate, still intense, still trying to have integrity, and I don’t ever want to stop caring about the difference between true and false.

But I do finally grok some things about acceptance.

  • It’s just not objectively true that anything short of perfection is worth scrapping.  I can be a person with flaws and my life is still on net extremely worthwhile.  That’s not “bending the rules”, it’s understanding cost-benefit analysis.
  • There’s a sense in which imperfections are both not good and completely okay.  For example: I have a friend that I’ve often had trouble communicating with. Sometimes I’ve hurt his feelings, sometimes he’s hurt mine, pretty much always through misunderstanding.  My Javertian instinct would be to feel like “This friendship is flawed, I’ve sullied it, I need to wipe the slate clean.” But that’s impossible.  The insight is that the friendship is not necessarily supposed to be unsullied.  Friction and disagreement are what happens when you’re trying to connect deeply to people who aren’t exactly like you.  The friendship isn’t falling short of perfection, it’s something rough I’m building from scratch.
  • “Roughness” is a sign that you’re at a frontier. “Mistakes are the portals of discovery.”  Even the most admirable people have experienced disappointment and tried things that didn’t work.  Life doesn’t have to be glossy or free of trouble to be glorious.  Getting through hard times, or making yourself a better person, are legitimate achievements.  Optimizing for “build something” is life-giving; optimizing for “have no flaws” is sterile.
  • Hating injustice, or hating death, is only a starting point. Yes, bad things really are bad, and it’s important to validate that.  Sometimes you have to mourn, or rage, or protest. But what then?  How do you fix the problem?  Once you’ve expressed your grief or anger, once you’ve made people understand that it’s really not all right, what are you going to do?  It becomes a question to investigate, not a flag to raise.  And sometimes people seem less angry, not because they care less, but because they’ve already moved on to the investigation and strategy-building phase of the work.
  • One idea that allows me to grok this is the Jewish idea that G-d chooses not to destroy the world.  Is the world flawed? Heck yes! Is it swarming with human beings who screw up every day?  You bet!  Is it worth wiping out?  No, and there’s a rainbow to prove it.  Which means that the world, in all its messy glory, is net good.  It beats hell out of hard vacuum.