Followup to: Waves of local structure, Representing multiple copies.
Let’s call a subgraph (or corresponding collection of maps) that repeats in a scene or between scenes, and also has some properties that will be described later, a pattern. Pattern can refer to a recurring object, a property, or a relation. Multiple instances of an object in a scene are represented by a single pattern (a collection of salient maps), and this pattern is embedded in several instantiation points.
Pattern is a building block larger than individual node or map, closer to natural description of environment, but selected so that it’s possible to discuss inference algorithm in terms of it. It allows to connect intuitions about things like recurring properties, relations, verbs, or classes and instances of objects, to dynamic of the algorithm. Patterns can consist of just a few maps, or can include many other patterns as parts of themselves. Pattern is not a functional element of cognitive algorithm, but a tool for describing its operation at intermediate level of detail.
A pattern, when if gets included in the scene, is retraced by structure waves that keep its maps salient. The interesting part is how the waves that cross the boundary between patterns behave. In effect, when structure wave enters a pattern for the first time, in launches a process of bringing that whole pattern into the scene by subsequent waves. Patterns that are already in the scene are kept together by waves that flow between them. The structure of the scene is represented in the way waves flow between its patterns. Set of salient maps is enumeration of events, while the way waves travel between patterns is the causal model that describes relations between the events, and that allows to infer additional events.
Let’s ignore non-salient maps for a moment, and assume for simplicity that maps either clearly match the context or don’t. In this case, the decision to include a matching map in a wave is dominated by presence of ambiguity: if there is only one matching map, it gets accepted, but if there are many, neither does. Translating to the language of patterns, if a pattern is instantiated at multiple points, waves don’t flow from it to instantiation points. On the other hand, if there is only one instantiation point, or if instantiation points are identical, waves can leave the pattern. Identical instantiation points belong to the same pattern and are represented by the same maps. Waves flow both ways between identical instantiation points and the pattern instantiated at them. But waves can’t reach the bulk of patterns that host these instantiation points.
Structure of the scene is in directions that waves flow between patterns, through their interfaces. Each interface is a part of a pattern small enough to fit in a structure wave, and interfaces of different patterns can match. When wave exits an interface, it continues to another pattern only if there is exactly one other interface among available in the scene that matches (under our simplifying assumptions). This makes some interfaces traversable in one direction, and some in both. As a result, the set of patterns that structure wave can reach depends on which pattern it started from.
When two patterns are connected by a two-way interface, or a pair of one-way interfaces going in each direction, it makes them equivalent as starting points for a wave. Patterns connected this way are combined with each other. If two patterns are not combined, but have a one-way interface leading from one pattern to the other, then first pattern instantiates the second at that interface (the relation of instantiation is extended by transitivity). Combined patterns instantiate each other. The closure of a pattern consists of all the patterns instantiated by it, and is an area reachable by a wave starting in that pattern.
Common properties that get repeated over and over throughout the scene, such as color, are patterns instantiated at many points. The color itself in this case is a pattern equal to its closure. Small properties like this can be considered properties of specific complex patterns, but at the same time they are shared with other patterns. Sharing a small detail doesn’t conflate the patterns, as the detail is separately instantiated in each case. On the other hand, the detail parameterizes all patterns that share it, so any change in the parameter gets reflected in all of them.
On a bigger scale, each pattern can be considered containing other patterns instantiated by it as its parts or properties. And conversely, each pattern is a parameter of all patterns that instantiate it. Pattern in itself represents a class of entity, while pattern as a part of other pattern represents an instance. Patterns in the scene are instantiated relative to each other, there is no global counter that says how many instances of given pattern scene contains. For copies of big objects, it might be easy to count, but for recurring small properties like color or texture, instances only get observed relatively. In this representation, all the properties of the scene are mixed together, linked at every similarity, and only get separated implicitly, through selective local retracing by structure waves.
Described concepts naturally extend to the scene restoration. When there are no patterns in the scene that match a given interface, this interface is a gaping hole in knowledge about the scene, ready to be filled by a specific property. If known scenes show that only one property matches the interface, it gets accepted (“all crows I saw were black, so I assume this one is also black”). If multiple different properties match the interface, neither gets accepted. When one new property is accepted, in combination with the context of the scene it creates a more specific interface that can enable more properties to be accepted. Finally, inference performed by structure waves based on gradual salience and matching can be reformulated as probabilistic inference.
Posted by Vladimir Nesov
Posted by Vladimir Nesov
Posted by Vladimir Nesov