• I'm working on an idea for an AI architecture, and would like to know if there are any apparent flaws, or if there is prior work in this vein.

enter image description here enter image description here

  1. Set I/O so that the neural network can read and write its own code.

  2. Let the neural network modify its weight on its own.(Use neural networks as algorithms to modify weights)

    Without using back propagation and gradient descent.

    Neural networks modify its own weights and architectures.

  3. Optimize this neural network with evolution.

  4. Once evolution optimizes the neural network to some extent, the neural network begins to optimize itself.( Neural network will modify itself well to survive at evolution, so self-optimization)

The reason for this is that evolution made humans, and the human brain contains algorithms for modifying weights. and that algorithm also can be represented as Neural Net. so i merged them.

I don't know if it's possible for real humans to read their own connections and structure. So I drew two pictures, "reading their own structure directly" and "implicitly reading their own structure inside the neural network."

Is it strange to optimize the weight-modifying algorithm(neural network) with evolution?

Is it wrong that the brain modifies its own weights?

and I wonder if it's possible for the neural network to read its own entire structure.

Can this work well?

  • 3
    $\begingroup$ there was no question in your question $\endgroup$ – mshlis Aug 7 '19 at 11:52
  • $\begingroup$ I have to agree with @mshlis. (Think the game Jeopardy--reformulate as a question. Possibly it could be a question about prior methods similar to what you propose, or asking about any perceived issues with your architecture.) $\endgroup$ – DukeZhou Aug 8 '19 at 19:38
  • 1
    $\begingroup$ What do you mean by 1. Let the neural network modify its weight on its own. Without using back propagation and gradient descent, 2. the neural network begins to optimize itself., 3. for real humans to read their own connections and structure? Furthermore, I don't think this is correct: and the human brain contains algorithms that make Neural Net. You're again trying to tackle a problem that is too complex for your knowledge. Focus on one simple problem first and do not make any suspicious assumptions like human brain contains algorithms that make Neural Net. $\endgroup$ – nbro Aug 11 '19 at 14:47
  • 1
    $\begingroup$ @Dimer 1. Can you give an example of a neural network that has been used to modify its own weights?, 2. What is self-optimization?, 3. What do you mean by "read"? 4. There are no real weights in the brain, as the weights in an ANN. $\endgroup$ – nbro Aug 11 '19 at 16:08
  • 2
    $\begingroup$ @Dimer I have seen a plethora of your questions on this forum asking the same question about 8 different ways. Clearly this isn't working. If you want to truly find out if what you're asking is possible, I would suggest actually creating a neural network and training it on paper. From there (after having understood the fundamentals) you can ask in a more educated manner what you actually mean and want. If you do some of your own research you'll realise very quickly equating a human brain and this mathematical concept is futile and incorrect. $\endgroup$ – Recessive Aug 12 '19 at 3:45

The effort to develop AI architecture with the assistance of those here with some experience is worthy of appreciation.

In the context of the published direction and purpose of this AI SE site, the negative community response does not appear to have a solid basis. Some have contended that the clean-up approaches that emerged from the development of stackoverflow.com are of marginal applicability here, but let's not digress further from the objective of the question.

Optimize [an artificial] network with evolution.

The suggested architecture appears to be inspired by the working example of the mammalian brain and what evolutionary scientists believe to be the mechanism of its development. We can examine the assumptions behind that inspiration first.

That humans dominate the mammalian world is why we believe this mechanism has worked. We must be careful in this assumption. Disease control experts, climatologists, and entomologists may argue effectively that humans have not yet proved that our species has achieved a ubiquitous or sustainable domination.

It is, however, reasonable to consider the human brain as a working result of evolution and pursue research down the path of a mechanism similar to this question's proposed approach. A reasonable consensus within the scientific community would attribute the fact that we can be here typing into a communications device instead of hiding from a predator a sign of evolved brain work.

In the spirit of collaboration to achieve your goal, there are a few critiques of the diagrams that can be offered to provide some background before answering the questions at the end of the post.

The Diagrammatic Representation

Diagram 1 does not indicate the criterion or criteria for selection to drive the Evolutionary Algorithm's direction of adaptation or the inputs used for selection of reproductive offspring. An architecture diagram should indicate the criterion or criteria and the attributes and behavior of individuals evaluated.

For instance, in a biological scenario, the energy to produce gametes, attract a mate and copulate if sexual reproduction, produce meiosis, and give birth to and indoctrinate offspring must be available. Those are typically the primary criteria that must be met for information in the parental DNA to pass to the next generation, with or without mutation or symbio-genetic modification.

What from the synthetic organism or its environment in your architecture provides the metrics used in what evaluation criteria to control or mediate the procession of DNA information and potential modifications? Place that in the diagram with the appropriate two arrows into the Evolutionary Algorithm box to indicate input and control.

Also in diagram 1, the i/o between the environment and the artificial network needs to be general, but it is too general to support a yea or nay as to whether the architecture would work for such a broad case.

Diagram 2 labels the self-referential arrow with an intention but not a signal class indicating what information flows there. Label that line with what signal the neural net is producing and what impact that signal has on what aspect of the artificial network. The arrow is labeled with, "Modify its own weights and architecture." It is useful to consider at this point that artificial networks of the type used in machine learning are not very much like neural tissue found in nature.

Differentiating Biology from Artificial Networks

The currently popular artificial network layers lack do not evolve structurally to adapt to functional needs (neural plasticity), they lack intricacy in the mix of cell types and the gross divergence from orthogonal arrangements in layers found in working brains, and they do not have energy balance related impacts on signal transmission observed in axon biochemistry. These are just a few of the distinctions between current computing trends and living neurons.

Research Directions Currently Funded

The technology response to these shortcomings in artificial network design includes neuromorphic VLSI designs, currently in development and numerous proposals to adjust the algorithms that modify weights to simulate changes in topology. It is nonetheless easy to show the infancy of these two approaches in comparison with what high resolution 3D imaging and real time signal tracking work is revealing about the human brain in this decade.

The key that many AI hardware laboratories are seeking is how, in the VLSI die, not the software algorithms, to facilitate or lay a foundation for the digital equivalent of neuromorphism. Approaches and designs are varied and most are considered either top secret (if governmental) or mission critical and company confidential (if corporate). Because these strategies are so key that they are kept so secret.

There is some creative commons discussion and there are a few open source projects in various locations where those are found that propose solutions or exemplify designs, but there is little remarkably compelling or innovative. Individual inventors would have a difficult time funding a VLSI research laboratory.

Potential Dependency of Design on Mathematics

It was suggested in Q&A on this site that the mathematics to describe neuromorphic hardware or software may not yet be sufficiently developed. This subtopic is vast and will not be addressed in this answer since it was not directly addressed in the question.

Missing Components in the Architecture

Neither diagram encapsulates the individual, so it is unclear whether there is one artificial network in the environment or many, such that social interactions can evolve. If in a data center, are there pairs of networks and evolutionary network inside agents that provide an interface to the environment and potentially each other directly or through the environment?

Environments, in the normal context, do not have the control machinery to train or run artificial networks or mediate selection and reproduction. If in a robot or other real time physically interactive system, a similar question can be asked. What data acquisition occurs and what activators provide options for physical action within the environment?

AI machinery cannot form a complete and working system without components that interface the AI to the environment, whether these components are together considered a container, a body, or referred to by another name. The idea that we can design a drop-in brain, ready to function with any set of objectives in any environment is to cave to one of the premiere errors of AI research: The assumption that a pure, general intelligence exists.

Prior Work

Is there ... prior work in this vein?

Certainly. You can perform an academic article search using the terms "genetic algorithm" and "neural" together and find thousands. You may also want to look into fuzzy logic, which is closer to human cognitive machinery and linguistic abilities, albeit realized in biological neurons, yet operating in the realm of rational thought. The fuzzy adjective indicates that the cognitions (rules) that are evaluated against a data set or digitized signals are done so with a variable level of certainty or doubt.

The idea of auto-coding an artificial network is not new either. The issue is that CASE (computer aided software engineering) hasn't gone much fu8rther than IDEs (integrated development environments) in practice. The proof is that some of the most advanced computer research facilities in the world continue to hire humans with coding skills and computer science or data science backgrounds. It is easy to write code that writes code, but not so easy to write code that writes novel code without precisely presenting the description of the code to be written.

Legitimate Need for Investigation

Using an artificial network to replace gradient descent and back propagation with a non-linear feedback system that itself is trained to do a better job than gradient descent with back propagation is a great idea and, although others have thought of it, there is plenty of room for new approaches and designs when one drills down to the details of how to make that work.

It is likely that the approach of developing an optimizer that optimizes a less abstract optimizer not new either, but there are many ways to do design such and optimizer-optimizer and not nearly enough people to evaluate every region of the possible design space, so others wishing to contribute to the investigation of this layered abstraction approach are not wasting time, if they are educated about what has been already proposed and tried and as diligent as they are inventive.

Applying Historical Information to Better Conceptualize

One small correction in a concept may be helpful.

The human brain contains algorithms for modifying weights.

That is not technically true and misses a point about what Alan Turing did when he proposed code and John von Neumann later did when he recommended a central processing unit. The brain has no algorithm in the way programmers think of them. It is massively parallel and not digital. The concept of algorithm arose out of a need to serialize action. Understanding that the trend since Bell Labs developed the transistor has been back from fully serialized processing we call algorithms to parallel processing in hardware but controlled by software at a higher level.

That algorithm also can be represented as [an artificial] net.

That is remotely correct. An artificial network can be trained to perform in parallel the work that a program would specify to be done serially (even if directives, libraries, or compiler features map the serial algorithm to multiple cores for a hybrid of serial and parallel processing).

That is the way to think about it if interested in getting results from this architecture in your life time. You may have noticed that the clock speeds of processors have not markedly increased in the last decade. Even quantum computing has a very diminished return on investment in comparison with the days when investors were pitched Moore's Law as if it were one of Newton's Laws of mechanics.

An Emerging New Type of Self-awareness

I don't know if it's possible for real humans to read their own connections and structure.

There is fervent work on this all over the world from three directions.

  • Cognitive processing design

  • Detection of individual signals in real time

  • Mapping of genetic instructions to neuron growth and differentiation --- It has been found that there are at least 22 genes specifying the features of human intelligence and many kinds of neurons that arise in various networks in the brains for apparently deliberate reasons.

Avoiding Confusion in Approaches

In this quest, it is useful to note that these are three distinct approaches from which an architect can select one or more than one to create hybrid approaches.

  • The evolutionary criteria uses the weights (an attenuation device now normally placed at the front end of each network layer) and neuromorphic specification of topology (whether the neuromorphism is realized in hardware or software) in selection rather than some entirely environmentally interrelated criteria, as most believe is involved in biological evolution.

  • The design of the artificial network in some way loops its outputs directly to the weights (the attenuation of signals) and the parameters that specify the variable topology. This has been tried many times without success, but with the external control of a nonlinear feedback mechanism may be possible, leading to the following (likely more achievable) approach.

  • The design of a second artificial network, appropriately coupled to the loss or error function (which could also be evolving in conjunction with topology), may be such that convergence occurs without actually programming gradient descent with back propagation. This may be where the question author's thoughts were leading, but the artificial network that is replacing the back propagation mechanism conventionally used today is not in either diagram or the description in the question. The major challenge in this case is the number of parameters and the associated requirement for a large number of outputs to the second network to set them.

Approval is Not a Primary Research Concern

That some may call any of these approaches strange is irrelevant. Whether any of them are achievable is pertinent. Are any? Maybe.

Is it wrong that the brain modifies its own weights?

If we insist on using term weights, than it could only be wrong if all brains that evolved naturally are wrong.

Variance as Parametric

If serious about extending the boundaries of AI, the term parameters may be better than weights, especially when approaching the many directions to take to parametrically vary network topology as a foundational variant to the current machine learning approaches.

Keep the Approach Tractable

[Is it] possible for [an artificial] network to read its own entire structure?

Possible but not particularly practical.

Remember that the system has to be faster than natural evolution by many orders of magnitude if you want to finish the research in the next few million years.

  • 2
    $\begingroup$ Regarding your initial point about reaction on the site - the OP has posted essentially the same question multiple times, and already has answers to the earlier ones. The later questions being downvoted and closed add very rough "architectures" and "could this work?" whilst seemingly ignoring the advice in those answers. Kudos to you for putting in all the time for this extensive answer though $\endgroup$ – Neil Slater Aug 17 '19 at 6:34
  • $\begingroup$ ai.stackexchange.com/questions/13958/… $\endgroup$ – Dimer Aug 17 '19 at 12:14

Is it possible?

Technically? Sure.

Does it make sense?

Absolutely not.

Can this work well?

There is not even a valid goal defined. If you recall the answer from nbro to another question of yours:

We usually optimize with respect to something.

The usually was an understatement, of course. You can only optimize with respect to something. How should you optimize something, if there does not exist a valid metric that tells you if a certain change leads to an improvement or a decline? How should the evolutionary algorithm know which individual is better than the others?

So, you must define a goal and you must define a metric to measure improvement. When you know what your goal is, then you can think about architectures, not the other way around.

"Let the neural network modify its own weights"


Really, think about it. Why would you want to do that? What do you expect to happen?

Is there any problem with backpropagation?

Why should you use an approximation of something when you can simply use the algorithm itself?

But let's play this through:

"Set I/O so that the neural network can read and write its own code"

Let's just assume for a moment, that you had a valid goal defined, for example, your goal is to categorize dog breeds from images. Now assume, that you wanted to feed your neural network its own internal structure. Then you would have one input model which takes dog pictures and pushes them through several convolutional layers and you would have another input model that takes a description of the network structure. At some point in the middle, you would join them both together. At the other side of the network, you would have one output layer for the predictions of the different dog breeds and another output layer for the structure.

Now think about what would happen in the part in the middle of this network. The signal of the dog images would be mixed together with the signal of the network structure, resulting in a large pile of nonsense.

Also, since we do not want to use backpropagation that means, we would also have to feed the neural network the predictions from the last iteration and the true results. That would be additional inputs joining those layers in the middle of the network as well, resulting in an even larger pile of nonsense.

I hope this makes it somewhat clear that the idea of a neural network altering its own structure is a very bad one. Your neural network has already more than enough to do with a simple task like classifying dog breeds. You do not want it to care about anything else. And you definitely do not want to mix signals of two or three completely unrelated tasks.

"The reason for this is that evolution made humans, and the human brain contains algorithms for modifying weights"

  • Evolutionary algorithms are NOT equivalent to evolution.
  • Neural networks are NOT equivalent to the human brain or to any brain.

Please don't let the semantics confuse you. Both concepts are inspired by the real world but they are not the equivalent of it.

Don't think of a neural network as a brain. Don't think of a brain as a neural network. They are two completely different things.

  • $\begingroup$ I want to optimize the algorithm for modifying weights with evolution. And I think there is an algorithm that is better than backpropagation. And it's strange to think that there's no connection between dog photos and neural network structure. I think there will be some connection. I don't think there's a problem with two objects being the same $\endgroup$ – Dimer Aug 12 '19 at 1:16
  • $\begingroup$ Isn't it obvious that there's a relationship between input, structure, and output? $\endgroup$ – Dimer Aug 12 '19 at 1:23
  • $\begingroup$ Is it wrong that the brain modifies its own weights? $\endgroup$ – Dimer Aug 12 '19 at 1:24
  • 1
    $\begingroup$ @Dimer Well, then try to build it, if you're so convinced. It's your time wasted.. $\endgroup$ – georg-un Aug 12 '19 at 8:30

The idea of a self-modifying neural network make sense and is discussed in the literature as well. Under the term “Artificial life” many attempts were published in the past and some of them are using neural networks to control the simulated ants in the game.

quote: “Artificial creatures in Framsticks are built of body and brain. [...] Brain is made from neurons and neural connections.” [1]

In most cases, the simulated brain which is working with neural networks and genetic algorithms is evolved in a gaming sandbox and is optimized to reach goals. This allows the user to observe interactively what a neural network is doing and how the learning algorithm improves the weight over time.

The disadvantage is, that the architecture is very general, which means that the resulting organism isn't able to do complex tasks but is only able to search for food and eat as a much as possible.

[1] Komosinski, Maciej. "The Framsticks system: versatile simulator of 3D agents and their evolution." Kybernetes 32.1/2 (2003): 156-173.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.