Loading ...
Sorry, an error occurred while loading the content.
 

Reusability and Modularity in Neuro-Evolutionary Systems

Expand Messages
  • Antoan Bekele
    This post is not strictly about NEAT and is general to the field of neuro-evolutionary systems but is relevant nonetheless, and since I don t know many good
    Message 1 of 4 , Dec 3, 2008

      This post is not strictly about NEAT and is general to the field of neuro-evolutionary systems but is relevant nonetheless, and since I don’t know many good community forums on GA’s I thought that this would be the best place to start (please suggest any that you know of).

      Please forgive me if I’ve intruded.

       

       

      I’ve been thinking sometime now about how neural network systems could be used and reused as components like in the software engineering industry.

       

      Using a combat drone as an example like the Boeing X-45 unmanned combat air vehicle and supposing it is evolved to act as a fully autonomous fighter (which it isn’t – it is in fact a bomber):

       

      ·         How could one go about transferring the strategic planning and tactical maneuver skills learned by the drone from experience (assuming also that a form of online learning is employed) to another drone of a relatively similar morphology and locomotion characteristics where those skills be still relevant?

       

      A level of a separation of concerns exists in the brains of both drones in terms of abstract modules for a) low level autonomous flight and another b) for higher level planning and maneuver cognitive functions.  These modular might exist as two separate networks coupled together living on separate FPGA chips, for example or might exist logically in one giant mess of neurons (due to incremental complexification development).  It would be very useful to have a process for decoupling a given autonomous system functionally and be able to reuse its component networks in different types of systems, where it makes sense, by somehow ‘fusing’ the parts together -  a process that could also facilitate the adaptation and integration of components. After all our brains have evolved into cognitive faculties, are compartmentalized and have highly specialized circuits for recognizing faces and conceptualizing numbers for example.

       

      Just a shot in the dark but may be modeling biological cellular growth and development might do this, there are some fascinating examples in biological systems where one set of cells becomes integrated with another, for instance in the process of restoring lost function by ‘injecting’ stem cells.  See ‘Purified stem cells restore muscle in mice with muscular dystrophy’.

       

      This type of component based development approach would the enable rapid development of autonomous intelligent systems, not just in the field of robotics, and spawn growth in the field as seen in the software industry in the early 80’s.  A market could emerge built around reusable components in which they could be traded and shared amongst developers.

       

      Does anyone have any thoughts on this, any pointers or links to research aligned with this kind of thinking?

       

       

      Any comments would be welcome.

       

       

      Cheers,

       

      Antoan

       

       

       

       

       

       

       

    • Kenneth Stanley
      Antoan, I think your comments and questions are entirely appropriate for the group. Issues of general interest to neuroevolution are often discussed here and
      Message 2 of 4 , Dec 3, 2008
        Antoan,

        I think your comments and questions are entirely appropriate for the
        group. Issues of general interest to neuroevolution are often
        discussed here and like you said, there are not many choices for
        forums to discuss these kinds of issues. (Note that Derek James is
        the moderator, but I am guessing he would agree with me.)

        Like you, I believe that "development" in the sense of indirect
        encoding is probably an important factor in achieving the kind of
        transferability that you describe. The particulars of the
        developmental abstraction might be fairly high-level, like HyperNEAT,
        so it may not be literally like biological development, but the
        general idea of an indirect encoding of neural structure allowing it
        to be "plugged in" to other bodies makes sense.

        To elaborate a little, what I think would really help with such an
        enterprise is if the neural network could be made to be a function of
        the properties of the body. For example, with HyperNEAT, we often
        talk about how the neural network can be generated as a function of
        the geometry of the substrate. The kind of plug-and-play modularity
        that you describe might be a step further, since perhaps some of the
        geometric properties of the body would need to be input as well, but
        ultimately I think it is an instance of the same principle. That way,
        a CPPN would generate a neural network for the appropriate context.

        However, I think it would be increasingly difficult the more
        low-level the developmental encoding (CPPNs are very high-level)
        because the lower you go, the more difficult it becomes to ensure that
        explicit information about the body that you want to influence the
        final product is actually detected.

        Another part of your discussion is the de-coupling of different neural
        modules. Such mixing and matching should be possible to some extent
        but I am not confident about it. I am more confident about the idea
        of a single holistic controller that encompasses both high and
        low-level thinking, but that cannot be easily broken into distinct
        pieces. While you mention that faculties of the brain are generally
        split into distinct modules, I believe that metaphor does not capture
        the full complexity of the dependence of modules upon each other. For
        example, while face processing may exist at one location, there are
        likely ancillary modules in other locations that also play a role in
        face processing that are less obvious yet that tightly coordinate with
        the main unit. Ripping out one unit and putting in another could
        disrupt such distributed processing.

        On the other hand, while you might decide to enforce a division of
        roles, that means imposing *our* vision of how a task is best broken
        down, which may ultimately be suboptimal. Enforcing divisions like
        between "high-level" and "low-level" imposes a kind of strict
        hierarchy that I think could loose some of the important nuance that
        more transparent and less hierarchical structure exhibit. Therefore,
        I am inclined to let neuroevolution decide the division of labor.

        In any case, the idea of plug-and-play interoperability among
        subcomponents of a brain is not impossible, I am just not convinced
        it's going to work that great. However, being able to regenerate an
        entire holistic brain for a new body seems to be a promising idea.

        ken



        --- In neat@yahoogroups.com, "Antoan Bekele" <antoan@...> wrote:
        >
        > This post is not strictly about NEAT and is general to the field of
        > neuro-evolutionary systems but is relevant nonetheless, and since I
        don't
        > know many good community forums on GA's I thought that this would be the
        > best place to start (please suggest any that you know of).
        >
        > Please forgive me if I've intruded.
        >
        >
        >
        >
        >
        > I've been thinking sometime now about how neural network systems
        could be
        > used and reused as components like in the software engineering
        industry.
        >
        >
        >
        > Using a combat drone as an example like the Boeing X-45
        > <http://en.wikipedia.org/wiki/UCAV> unmanned combat air vehicle and
        > supposing it is evolved to act as a fully autonomous fighter (which
        it isn't
        > - it is in fact a bomber):
        >
        >
        >
        > . How could one go about transferring the strategic planning and
        > tactical maneuver skills learned by the drone from experience
        (assuming also
        > that a form of online learning is employed) to another drone of a
        relatively
        > similar morphology and locomotion characteristics where those skills be
        > still relevant?
        >
        >
        >
        > A level of a separation of
        > <http://en.wikipedia.org/wiki/Separation_of_concerns> concerns
        exists in
        > the brains of both drones in terms of abstract modules for a) low level
        > autonomous flight and another b) for higher level planning and maneuver
        > cognitive functions. These modular might exist as two separate networks
        > coupled together living on separate FPGA chips, for example or might
        exist
        > logically in one giant mess of neurons (due to incremental
        complexification
        > development). It would be very useful to have a process for
        decoupling a
        > given autonomous system functionally and be able to reuse its component
        > networks in different types of systems, where it makes sense, by somehow
        > 'fusing' the parts together - a process that could also facilitate the
        > adaptation and integration of components. After all our brains have
        evolved
        > into cognitive faculties, are compartmentalized and have highly
        specialized
        > circuits for recognizing faces and conceptualizing numbers for example.
        >
        >
        >
        > Just a shot in the dark but may be modeling biological cellular
        growth and
        > development might do this, there are some fascinating examples in
        biological
        > systems where one set of cells becomes integrated with another, for
        instance
        > in the process of restoring lost function by 'injecting' stem cells.
        See
        > 'Purified <http://www.physorg.com/news134915195.html> stem cells
        restore
        > muscle in mice with muscular dystrophy'.
        >
        >
        >
        > This type of component based development approach would the enable rapid
        > development of autonomous intelligent systems, not just in the field of
        > robotics, and spawn growth in the field as seen in the software
        industry in
        > the early 80's. A market could emerge built around reusable
        components in
        > which they could be traded and shared amongst developers.
        >
        >
        >
        > Does anyone have any thoughts on this, any pointers or links to research
        > aligned with this kind of thinking?
        >
        >
        >
        >
        >
        > Any comments would be welcome.
        >
        >
        >
        >
        >
        > Cheers,
        >
        >
        >
        > Antoan
        >
      • Derek James
        ... Yes, I would. :) This topic is highly relevant to this forum. ... Well, there are different levels of modularity as well. A neuron is a reusable module. At
        Message 3 of 4 , Dec 3, 2008
          On Wed, Dec 3, 2008 at 10:35 AM, Kenneth Stanley <kstanley@...> wrote:
          > Antoan,
          >
          > I think your comments and questions are entirely appropriate for the
          > group. Issues of general interest to neuroevolution are often
          > discussed here and like you said, there are not many choices for
          > forums to discuss these kinds of issues. (Note that Derek James is
          > the moderator, but I am guessing he would agree with me.)

          Yes, I would. :)

          This topic is highly relevant to this forum.

          > Another part of your discussion is the de-coupling of different neural
          > modules. Such mixing and matching should be possible to some extent
          > but I am not confident about it. I am more confident about the idea
          > of a single holistic controller that encompasses both high and
          > low-level thinking, but that cannot be easily broken into distinct
          > pieces. While you mention that faculties of the brain are generally
          > split into distinct modules, I believe that metaphor does not capture
          > the full complexity of the dependence of modules upon each other. For
          > example, while face processing may exist at one location, there are
          > likely ancillary modules in other locations that also play a role in
          > face processing that are less obvious yet that tightly coordinate with
          > the main unit. Ripping out one unit and putting in another could
          > disrupt such distributed processing.

          Well, there are different levels of modularity as well. A neuron is a
          reusable module. At a slightly higher level of description, the
          cortical minicolumn is another module. At a much higher level of
          description, the primary visual cortex is another.

          I think Ken is right about being mindful of interdependencies between
          modules, but on the other hand I think it is probably the case that
          some modules are more self-contained or reusable than others. Antoan
          talks about reusability between individuals, but I think a more
          pressing issue is figuring out how reusability of modules within an
          individual might work.

          --Derek
        • jeffreyclune
          Hello- I think this email that I received from a NN email list is related to this subject, and that you mind find its content interesting. I would also be
          Message 4 of 4 , Dec 12, 2008
            Hello-

            I think this email that I received from a NN email list is related to this subject, and that
            you mind find its content interesting. I would also be interested to hear what anyone else
            on this list thinks of the debate described below.

            -jeff clune


            > A new brain theory paper has been published in the November issue of IEEE
            Transactions on Systems, Man and Cybernetics, Part A, and PhysOrg.com, a science and
            technology news Web site, decided to do a story on it. The theory now has a name. They
            call it the "Controller Theory." There are comments in the story by two eminent scientists -
            Prof. Walter Freeman of Berkeley and Prof. James McClelland of Stanford.
            > Here's the link to the PhysOrg.com story.
            > http://www.physorg.com/news146319784.html
            Here's the link to the paper:

            http://wpcarey.asu.edu/pubs/index.cfm?
            fct=details&article_cobid=2216410&author_cobid=1039524&journal_cobid=2216411


            >
            =======================================================
            ====================================================
            > Here's the prior announcement:
            >
            >
            > The following paper has been accepted for publication in IEEE Transactions on Systems,
            Man and Cybernetics, Part A. It essentially invalidates significant parts of connectionism.
            There were numerous public debates over the past decade on connectionism, some at
            international neural net conferences and some online through various mailing list. Some of
            the debate summaries are available at the CompNeuro archive site and listed below.
            >
            > TITLE: Connectionism, controllers and a brain theory
            > AUTHOR: Asim Roy, Arizona State University, Tempe, AZ 85287-4606, USA
            > ABSTRACT:
            >
            > This paper proposes a new theory for the internal mechanisms of the brain. It
            postulates that there are controllers in the brain and that there are parts of the brain that
            control other parts. Thus the theory refutes the connectionist theory that there are no
            separate controllers in the brain for higher-level functions and that all control is > ">
            local and distributed> "> at the level of the cells. Connectionist algorithms themselves
            are used to prove this theory. Plus there is evidence in the neuroscience literature to
            support this theory. Thus the paper proposes a control theoretic approach to
            understanding how the brain works and learns. That means that control theoretic
            principles should be applicable to developing systems similar to the brain.
            >
            >
            =======================================================
            =======================================================
            =
            > For those interested, summaries of prior debates on the basic ideas of connectionism
            are available at the CompNeuro archive site. Here is a partial list of the debate summaries
            that are available
            > .
            >
            > <http://www.neuroinf.org/lists/comp-neuro/Archive/1999/0079.html> - Some more
            questions in the search for sources of control in the brain
            > <http://www.neuroinf.org/lists/comp-neuro/Archive/1998/0084.html> - BRAINS
            INTERNAL MECHANISMS - THE NEED FOR A NEW PARADIGM
            > <http://www.neuroinf.org/lists/comp-neuro/Archive/1997/0069.html> - COULD
            THERE BE REAL-TIME, INSTANTANEOUS LEARNING IN THE BRAIN?
            > <http://www.neuroinf.org/lists/comp-neuro/Archive/1997/0057.html> -
            CONNECTIONIST LEARNING: IS IT TIME TO RECONSIDER THE FOUNDATIONS?
            > <http://www.neuroinf.org/lists/comp-neuro/Archive/1997/0012.html> - DOES
            PLASTICITY IMPLY LOCAL LEARNING? AND OTHER QUESTIONS
            > <http://www.neuroinf.org/lists/comp-neuro/Archive/1996/0047.html> -
            Connectionist Learning - Some New Ideas/Questions
            >
            =======================================================
            ============================================
            >


            --- In neat@yahoogroups.com, "Antoan Bekele" <antoan@...> wrote:
            >
            > This post is not strictly about NEAT and is general to the field of
            > neuro-evolutionary systems but is relevant nonetheless, and since I don't
            > know many good community forums on GA's I thought that this would be the
            > best place to start (please suggest any that you know of).
            >
            > Please forgive me if I've intruded.
            >
            >
            >
            >
            >
            > I've been thinking sometime now about how neural network systems could be
            > used and reused as components like in the software engineering industry.
            >
            >
            >
            > Using a combat drone as an example like the Boeing X-45
            > <http://en.wikipedia.org/wiki/UCAV> unmanned combat air vehicle and
            > supposing it is evolved to act as a fully autonomous fighter (which it isn't
            > - it is in fact a bomber):
            >
            >
            >
            > . How could one go about transferring the strategic planning and
            > tactical maneuver skills learned by the drone from experience (assuming also
            > that a form of online learning is employed) to another drone of a relatively
            > similar morphology and locomotion characteristics where those skills be
            > still relevant?
            >
            >
            >
            > A level of a separation of
            > <http://en.wikipedia.org/wiki/Separation_of_concerns> concerns exists in
            > the brains of both drones in terms of abstract modules for a) low level
            > autonomous flight and another b) for higher level planning and maneuver
            > cognitive functions. These modular might exist as two separate networks
            > coupled together living on separate FPGA chips, for example or might exist
            > logically in one giant mess of neurons (due to incremental complexification
            > development). It would be very useful to have a process for decoupling a
            > given autonomous system functionally and be able to reuse its component
            > networks in different types of systems, where it makes sense, by somehow
            > 'fusing' the parts together - a process that could also facilitate the
            > adaptation and integration of components. After all our brains have evolved
            > into cognitive faculties, are compartmentalized and have highly specialized
            > circuits for recognizing faces and conceptualizing numbers for example.
            >
            >
            >
            > Just a shot in the dark but may be modeling biological cellular growth and
            > development might do this, there are some fascinating examples in biological
            > systems where one set of cells becomes integrated with another, for instance
            > in the process of restoring lost function by 'injecting' stem cells. See
            > 'Purified <http://www.physorg.com/news134915195.html> stem cells restore
            > muscle in mice with muscular dystrophy'.
            >
            >
            >
            > This type of component based development approach would the enable rapid
            > development of autonomous intelligent systems, not just in the field of
            > robotics, and spawn growth in the field as seen in the software industry in
            > the early 80's. A market could emerge built around reusable components in
            > which they could be traded and shared amongst developers.
            >
            >
            >
            > Does anyone have any thoughts on this, any pointers or links to research
            > aligned with this kind of thinking?
            >
            >
            >
            >
            >
            > Any comments would be welcome.
            >
            >
            >
            >
            >
            > Cheers,
            >
            >
            >
            > Antoan
            >
          Your message has been successfully submitted and would be delivered to recipients shortly.