thoughts on artificial intelligence

Posted by MahFreenAmeh on Dec. 20, 2012, 2:02 p.m.

he-lo 6-4-digits

it is i, the person who is a person. ok, introductions aside, because i pretty much hate those in any universe.

so i need to come here and write a bunch of stuff down so i have a repository of information that once it's written… okay, let's just start

I've been thinking about the representation of a CPU as a very constrained version of a human brain. After previously speaking with Josh@Dreamland about it, we came to the agreeement that both a human brain and a CPU are ultimately just finite state machines, designed to process the current state, and respond to it accordingly.

I however, have a little bit of a disagreement when it comes to the particulars. Namely, I don't believe the brain to be a finite state machine of any sort. While, yes, it's true that there are only a finite number of configurations for a given aggregate of modifiable variables and such, that doesn't mean that the machine that is processing them has to have a finite number of states. That would be horribly inefficient, like converting a non-deterministic finite state automata into a deterministic one; you have to store the process that the automata will go through for every state that is possible.

My theory is that the human mind is not a finite state automata, so much as a dynamic state automata. It takes into account all of the past input that has been given to it, to dynamically generate an algorithm which takes all necessary variables into consideration, and predicts what may happen if one changes based on past experiences, using this to rationalize ultimately what is the most positive outcome.

Now, I decided to speak with another friend of mine, someone more versed in circuitry and engineering, low-level hardware components and such, who gave me his perspective that in the end, a CPU is basically like a single Arithmetic Logic Unit, whereas in the brain, every individual neuron/cluster of neurons can act as an ALU. He was positing the theory that in order to accurately model a human brain, one would either need a quantum computer with millions of qubits, or possibly a neural network consisting of many computers interacting together, with each node acting as a neuron. I thought that was a pretty interesting concept, but, it's really not relevant at all to what I'm talking about.

What came of all of this was a way I thought of for training any given AI: while it is true that there are many training methods, usually involving feeding a pipeline of data to the AI then telling it what that data means, I've come up with a slightly different process, which I will outline now. It exists in a few stages.

The initialization stage:

Initializing the AI, including the neural network representing its brain, be it a series of small emulations of neurons, or whole computers, etc, to represent a neuron.

Basically, the point is to get the AI to a tabula rasa so that it has no training, and can make no logical assumptions or inferences about the state of anything.

Training is what comes next, and that's the stage that's obviously most crucial. In this model of an artificial intelligence, however, data is not sent and categorized to the artificial intelligence. Instead, it is given an environment that possesses a state, just as the inner workings of the artificial intelligence possess a state. It also will have a series of methods and variables exposed to it, which, when interact with, will form a stage change in some state, either in the internal AI state or in the environmental state. Ideally, the objective is to have the AI randomly perturb the different variables and change the state of the world around it, then observe any state changes, and record them; I think an explanation would do better.

Let's say you have two environments: external, and internal. External is everything outside of the AI, and internal is obviously everything inside. Let's say within external, there is one state variable exposed, "time". If the AI perturbs that randomly, then as a side effect of the method made to handle perturbing time, it should also increase or decrease the "luminosity" value of the external environment, given that the AI is theoretically in an outdoor environment where time advancement can cause side effects such as the sun going down and causing a noticeable difference. After every perturbance is made in training mode, the AI tries to make some inferences about what conditions changed in each state, then presents a query back to the operator asking to ratify the assumption with either a true or a false response. True means go ahead and commit it to train, false means ignore it. This is pretty much like the stages of being a child as a human; you don't necessarily know much about the world, but you interact with it, and rely on a parent to ratify your decisions for you so that you know you are safe, and acting within the lines of how a human should act.

After enough training, the AI is meant to be pushed to a more production environment, which has an analogue in the mental maturity of a human towards adulthood and max brain density, etc. At this point, enough training has been performed to where the AI should have learned how to properly make inferences, and it no longer needs input from the operator to ratify assumptions; by this point, it should have had enough inferences in the past ratified that it can understand the likelihood of an inference being rational, and convey a risk level of accepting it is rational or not, then use that in order to determine if it should do that action, or continue ahead.

Right now, it's just a bunch of ideas buzzing around in my head, but I'm busy trying to think of a way to properly implement it with the technology I have available, e.g., not very much! But if anyone has any input, I'd love to discuss it with you. It would be conceptually good as a very focused AI, in that you can only expose to it methods and variables that have something to do with the problem domain you have, and have it ignore anything else, e.g., feed it syntactical rules about a language, then let it start making inferences, and after long enough, you may have a somewhat accurate language parser! Nonetheless, ideas. :3

Comments

MahFreenAmeh 10 years, 7 months ago

also fuck