# HG changeset patch # User Robert McIntyre # Date 1399055249 14400 # Node ID c8f7d10b1a2a4d9075467ca544215dd34c6564b2 # Parent 663e3d4f98c17551bb554d14291ca3aa34ec594b further clarification about skin partitioning per winston's request diff -r 663e3d4f98c1 -r c8f7d10b1a2a thesis/cortex.org --- a/thesis/cortex.org Fri May 02 14:16:35 2014 -0400 +++ b/thesis/cortex.org Fri May 02 14:27:29 2014 -0400 @@ -2520,18 +2520,17 @@ This is all demonstrated with using a simple worm-like creature, and recognizing worm-actions based on limited data. - #+caption: Here is the worm with which we will be working. - #+caption: It is composed of 5 segments. Each segment has a - #+caption: pair of extensor and flexor muscles. Each of the - #+caption: worm's four joints is a hinge joint which allows - #+caption: about 30 degrees of rotation to either side. Each segment - #+caption: of the worm is touch-capable and has a uniform - #+caption: distribution of touch sensors on each of its faces. - #+caption: Each joint has a proprioceptive sense to detect - #+caption: relative positions. The worm segments are all the - #+caption: same except for the first one, which has a much - #+caption: higher weight than the others to allow for easy - #+caption: manual motor control. + #+caption: Here is the worm with which we will be working. It is + #+caption: composed of 5 segments. Each segment has a pair of + #+caption: extensor and flexor muscles. Each of the worm's four + #+caption: joints is a hinge joint which allows about 30 degrees of + #+caption: rotation to either side. Each segment of the worm is + #+caption: touch-capable and has a uniform distribution of touch + #+caption: sensors on each of its faces. Each joint has a + #+caption: proprioceptive sense to detect relative positions. The + #+caption: worm segments are all the same except for the first one, + #+caption: which has a much higher weight than the others to allow + #+caption: for easy manual motor control. #+name: basic-worm-view #+ATTR_LaTeX: :width 10cm [[./images/basic-worm-view.png]] @@ -3188,10 +3187,14 @@ #+end_listing Running =test-empathy-accuracy= using the very short exercise - program defined in listing \ref{generate-phi-space}, and then doing - a similar pattern of activity manually yields an accuracy of around - 73%. This is based on very limited worm experience. By training the - worm for longer, the accuracy dramatically improves. + program =do-all-the-things= defined in listing + \ref{generate-phi-space}, and then doing a similar pattern of + activity using manual control of the worm, yields an accuracy of + around 73%. This is based on very limited worm experience, and + almost all errors are due to the worm's \Phi-space being too + incomplete to properly interpret common poses. By manually training + the worm for longer using =init-interactive= defined in listing + \ref{manual-phi-space}, the accuracy dramatically improves: #+caption: Program to generate \Phi-space using manual training. #+name: manual-phi-space @@ -3211,10 +3214,12 @@ #+end_src #+end_listing - After about 1 minute of manual training, I was able to achieve 95% - accuracy on manual testing of the worm using =init-interactive= and + =init-interactive= allows me to take direct control of the worm's + muscles and run it through each characteristic movement I care + about. After about 1 minute of manual training, I was able to + achieve 95% accuracy on manual testing of the worm using =test-empathy-accuracy=. The majority of disagreements are near the - transition boundaries from one type of action to another. During + transition boundaries from one type of action to another. During these transitions the exact label for the action is often unclear, and disagreement between empathy and experience is practically irrelevant. Thus, the system's effective identification accuracy is @@ -3228,21 +3233,24 @@ body-centered predicates, but some of those predicates relied on the average touch activation of pre-defined regions of the worm's skin. What if, instead of receiving touch pre-grouped into the six - faces of each worm segment, the true topology of the worm's skin - was unknown? This is more similar to how a nerve fiber bundle might - be arranged inside an animal. While two fibers that are close in a - nerve bundle /might/ correspond to two touch sensors that are close - together on the skin, the process of taking a complicated surface - and forcing it into essentially a circle requires that some regions - of skin that are close together in the animal end up far apart in - the nerve bundle. + faces of each worm segment, the true partitioning of the worm's + skin was unknown? This is more similar to how a nerve fiber bundle + might be arranged inside an animal. While two fibers that are close + in a nerve bundle /might/ correspond to two touch sensors that are + close together on the skin, the process of taking a complicated + surface and forcing it into essentially a 2D circle requires that + some regions of skin that are close together in the animal end up + far apart in the nerve bundle. - In this chapter I show how to automatically learn the skin-topology of - a worm segment by free exploration. As the worm rolls around on the - floor, large sections of its surface get activated. If the worm has - stopped moving, then whatever region of skin that is touching the - floor is probably an important region, and should be recorded. - + In this chapter I show how to automatically learn the + skin-partitioning of a worm segment by free exploration. As the + worm rolls around on the floor, large sections of its surface get + activated. If the worm has stopped moving, then whatever region of + skin that is touching the floor is probably an important region, + and should be recorded. The code I provide relies on the worm + segment having flat faces, but still demonstrates a primitive kind + of multi-sensory bootstrapping that I find appealing. + #+caption: Program to detect whether the worm is in a resting state #+caption: with one face touching the floor. #+name: pure-touch