1
$\begingroup$

I have heard of machine learning systems that can learn from trials of data what effect it should have, but I was wondering is it possible to make a learning appliance that builds on past data? Instead of only receiving new entries, once the database is big enough to begin going over it and doing pseudo consideration, drawing conclusions about the data and adding yet more entries to its database purely from looking at its past results? I suppose such a thing would probably eat up memory quickly unless it had a threshold of entries it was allowed to create. (In theory it would take a long time to get it to a state where it can become sentient in that way, through many trial sets before it begins thinking on its own.)

An application of such a thing would go beyond just determining what the best way to optimize code is, or how to beat a player in a game, but a machine that can actually build its own personality.

$\endgroup$
2
$\begingroup$

You may be thinking of some combination of online and offline learning.

Online learning only use new examples to base its learning on, and modifies the model at each step.

Offline learning looks at all available data, then fixes its model and uses that model on new data.

There is some use in creating new examples from existing ones, but this is typically done by hand, as to emulate possible variations expected to appear in actual data (and typically only if you don't have enough data). There isn't much use in automating this, as any conclusions it draws from the data will already be reflected in the model - if we add entries based on these conclusions, and in turn use these to draw new conclusions, either the conclusions will remain exactly the same (i.e. there's no point in adding them), or we'll start to lean towards conclusions not corresponding to the original data, which is not a good idea.

The only way AI can build its own personality, is if you program the potential to do so into it. There's no way AI can suddenly become sentient after playing 1000000000000 games of chess if it's only been taught to play chess and only knows about chess.

$\endgroup$
  • $\begingroup$ the goal would be to have a system set up for the purpose of self-development, the theory being if it had a variety of samples from different topics, and some sort of logical rule that gave it the ability to deem an piece of information relevant or even accurate or not, based on past information and not necessarily completely fresh information. instead of playing 5,000 games for example, playing 10 and comparing them, and simulating many more without the need of a physical interraction, $\endgroup$ – user16973 May 2 '14 at 20:12
  • $\begingroup$ @user16973 You could perhaps use some unsupervised learning techniques to identify patterns. But it still shouldn't be adding new training data for the reasons mentioned in my answer. What you mentioned reminds me of agents playing games against themselves, which is a fairly well-used way of learning, but the difference here is that you typically have an evaluation function to rank a game state, which can be thought of as a bit of supervision. $\endgroup$ – Dukeling May 2 '14 at 23:45
1
$\begingroup$

The problem with machine learning is the model. The model dictates what will be predicted. You can use a J48 decision tree to model your data and then you can find the best possible configuration for this J48 decision tree (i.e. the one that makes the most accurate decisions). You can even use a tournament model which uses many different models, but the model is still be whatever your composite, finite, models are.

If you look at scientific history you see that it is the models that make breakthroughs--that extend our understanding of nature. The Ancient Greeks had a model of epicycles which explained the orbits of the planets, then Copernicus explained it differently (a different model) which then led to Newton's theory of gravity--then Einstein created a new model, the model of General Relativity.

So your "self-learning" algorithm must be able to come up with new "remarkable" models--models which use a different logic from previous ones. This logic cannot be known a priori and thus must come through random chance. A computer with infinite computing power and infinite memory could try all possible models and choose the correct one from all of these. Obviously such a program would not realistically compute the correct model in a realistic time frame (as in the age of the universe). You could try some sort of "greedy" algorithm which tries only models which support known "good" models. But, in doing so, you would rule out all models which are completely unlike previously tried models.

If you were to honestly look at current research, this is how it is done. New people come in with new models, most of which are complete nonsense. However, every so often, a new person comes up with a new model which does solve the problem previously unsolvable.

If you really want to create a self-learning algorithm, you have to do two things: 1) you have to create an algorithm capable of asking any question and 2) you have to create an algorithm capable of solving an arbitrary question. It becomes recursive then: if the algorithm can solve an arbitrary question, then it can solve the problem of generating an arbitrary question, then it can solve that problem better and better (as it recurses). Each problem generates questions, which it can then solve recursively.

$\endgroup$

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.