Absolutely yes. The quality and efficiency will depend a lot in the quality of the design and implementation. The capacity to learn will allow the system to solve problems with more accuracy as the system learns. To build this kind of systems you must a look of Artificial Intelligence and Machine Learning.
I believe it is possible. Apparently it even starts to exist as 'Eugene Goostman', an intelligent machine, fooled a lot of people and then passed the Turing test. In term of machine learning, there's also the interesting example of spaun developed by a team from University of Waterloo in Canada.
The capacity to learn narrow fields is possible at this stage. The capacity to store increasing amounts of information as the system evolves and to consolidate the information into a coherent body of knowledge is another matter as there exist the possibility of catastrophic forgetting.
Another area which needs to be taken into account when buidling such as system is the learning algorithms propensity to be exposed to erroneous or even malicious inputs that will impact its performance.
I think that it is impossible to create self-learning systems because of the contradiction:
If the information (image) is new, then it cannot be valuable (cannot be used) because it is not recognized. If the information (image) is recognized, the system has an etalon for it (which existed prior to its presentation), and, therefore, the information is not new.
In both cases, the acquisition of knowledge does not occur.
One main challenge with the Japanese robot approach, as they acknowledge themselves, is that their robot, and other approaches like IBM's Deep Blue lacks "fluid" intelligence like intuition, creativity and life experience. The robot fails to understand concepts in the real world that our brain takes for given. It is however good at searching and generalising existing "solidified" knowledge that we have acquired and systemised. In order for AI systems to provide a better understanding of the world, then one element that needs significant improvement, is sensor technologies. Even the eye of an insect does advanced parallel preprocessing in order to detect and track objects in a way that a traditional Von Neumann computer architecture struggles to keep up with (http://www.plosbiology.org/article/info%3Adoi%2F10.1371%2Fjournal.pbio.0040054). To be able to achieve AI at some point in the future, we probably need to start by simulating simpler organisms including their sensory input and motor output in a real world environment, and then build complexity on top of that. This means starting in a narrow field and broadening it out.
I think it probably is a combination of things. Some elements may be preprogrammed, for example natural restrictions given by the topology, size and interconnection of different parts of our brain, as well as the interaction between DNA machinery on neuron level and higher level cognition. However everything cannot be programmed, otherwise our behaviour would be fully deterministic. At the lowest level, even neurons will be influenced by noise, which may affect decisions, which means that there is a random factor involved. Neurons will also be affected by DNA methylisation which responds to environmental factors. One could argue that this is preprogrammed, but it is at least a flexible program and not a fixed one. For high level cognitive functions, we do have a choice, and we can even use techniques to improve creativity. At an even higher level, you have the culture interaction and communication between people, which goes beyond what can be called preprogrammed.
You can see the neuron searching for direction. This could be how creativity is formed as well - neurons in topic areas physically sufficiently close to each other randomly making new connections. The challenge is simulating a process like this in AI, since silicon does not work this way by randomly making physical connections. I am not saying that this could not be modelled, but the challenge is modelling it in a way that works in a similar way as the physical topology of the interconnection between neurons.
Yes. The self-learning neuro-nets present such a possibility. You can use also a self-learning logical system which deletes incorrect rules and replace them with correct ones. In order to define which rules are incorrect you need some formal procedure. Both approaches presume usage of a teacher who knows correct rules but may not know incorrect.
I tend to agree with Alexey on this. A neural network as described is some kind of supervised learning scheme. The challenge is how to do self learning without usage of the teacher. Deep learning, combining neural networks or other AI methods with unsupervised clustering methods may be getting closer to a self-learning intellectual system, but it still does not really solve how to be creative. Genetic programming is perhaps closer to being a creative process by testing the fitness of random changes to a solution according to some fitness criteria. However the neuron, living in the 3D organic computing device we call the brain seems to have an amazing way of interconnecting clusters of information in new ways. Our silicone-based technology still lives in and is restricted by a 2D world, and seems to have a long way to go to mimic this organic process.
I think that this proof is relatively easy: we must, on the contrary, to show that the random process leads to self-learning! But it can only be proven when apriori some properties of the new situation assumed . But in this case this situation is not new.
One could claim from an information theoretical perspective that any biological or computational process that over time manages to maintain and increase its level of negative entropy compared to its environment in order to improve its survival or efficiency would quality for being a self-learning process. It is however probably a quite far way to go from such a self-improving/self-learning system to an intellectual system, as the original posed.
The interesting question is what is fundamentally different between a learning system and a self-learning intellectual system, apart from just complexity?
One possible difference is the ability to perform learning on several levels using not only models, but also a set of meta-models, so that a self-learning intellectual system is not only able to learn about the environment, but also being able to autonomously learn about how you learn about the environment, and improve your model of the world based on this using a cognitive process where you as an organism is aware of this improvement process.
I think such a model of self learning is problematic, especially if this is a model of how the brain does self-learning. The reason is that brain research experiments have shown that the brain stops acting rationally, and works less efficiently if isolated from sensory input: http://www.motherjones.com/politics/2012/10/donald-o-hebb-effects-extreme-isolation
Furthermore, people with poor sensory integration experience several problems with learning: https://www.unitedway-weld.org/files/Bingamon%20-Sensory%20Integration.pdf
The question on brains work with and without sensory inputs - is another question. The answer depends on our knowledge about programs of brains work. We don't know them in details. But general conclusion can be made:
and the main argument against learning is that as cmpletly new types of objects can't be recognized, then it would be not possible to select an appropriate program. Event if learning phenomenon is observed, it consists in discovering innate knowledge than building it based on information flowing from outside world.
I think, we may speak of learning for the both sides of the mapping: recognition and program (actions).
Usually an object is recognized based of a number of features. The set of features is somehow constrained, it depends on the sensing technology. But the number of features can be great. An object type is less or more equivalent to a combination of features. I believe we may learn new combinations of features, especially if they become meaningful with a simple penalty/reward mechanism.
Similarly, a program is not a monolith. It consits of instructions or actions. Apparently, their set is also constrained, e.g. a man can run but not fly. For programs, learning consists in building sequences of actions, which are the most appropriate for a given situation (or a sequence of situations). An example can be MDP or reinforcement learning.
I agree - there are rules constraints, drivers, even statistical factors that govern the world. In this light everything is pre-programmed. But if the system is programmed in such a way, that it can evaluate outcomes of programs, I believe that self-learning is possible.
Good point, Piotr. I agree that self-learning should be possible. One comment however - man can both run and fly. Advanced tool construction and use is one area where AI still has some way to go compared to the human brain, however people are doing research on self-assembling robots as well, which may be approaching tool construction and use by AI.
I lookedt at your reference but I didn't see detail algorithms there. In many cases, it seems that the computer is doing something new but detailed analysis of the program shows that all the "new" skills are already pre-programmed.
Of course, not all is pre-programmed, because, as you correctly pointed out, sometimes inaccurate recognition, errors, etc. takes place.
However, the accumulation of information about such errors do not lead to new knowledge, as new knowledge is inevitably involves new programs, new skills, etc.
It's easy to see on the role of repetition in recognition (this case is discussed in my article): during repetition new programs and new skills are not arise, but only error of recognition is reduced.
You say that analysis of the program shows, that a ”new” skills are already programmed.
This is quite true for the “General Learner 1” and the “General Learner”. But in the “robotBrain” this function is done by the “sleep mode”. This mode looks for repeating patterns between the concepts of the situation and the concepts of the resulting action. When it finds patterns it creates a new response rule. Now it has learned.
I think, learning new classes of objects is possible. By "new" I mean not recognized before.
Let us assume that objects are described with a number of features. So classes (types) can be equivalent to sets of objects, for which selected features have certain values, e.g. giraffe = (legs=4, height=tall, neck=long)
If the number of features is 20 and each can have 3 values, we get 3^20 = 3486784401 classes. Apparently, such a number is not needed. We even don't even use such a number of words.
However, if a certain pattern of features/values repeats, a new class (a concept in the language) can be created and a system may start to recognize it. So repetition is rather not about errors, but making certain patterns salient and then recognizable.
Maybe it is a hoax, but there is a widespread belief that Escimo use a large number of words to descibe types of snow (http://en.wikipedia.org/wiki/Eskimo_words_for_snow). Probably correct snow recognition is vital for Eskimos, therefore they developed focused skills, however, not relevant for Italian.
You are right. Not always repeating objects or situations deserve to be recognized. An example can be various background models (e.g. MOG) in Computer Vision. They are created to recognize (or raise alert) about something that is different.
On the other hand, various objects, including repetaing ones can be submited to a clustering algorithm. Resulting clusters can be treated as classes (e.g. obtain names) and then recognized (with a classification algorithm). I think, you may easily find many applications: criminal profiling, recommendation systems, customer profiling, etc. Usually an analyst (or system) should attribute a certain value to the resulting class: e.g. helping to catch a criminal or increasing sales volume.
I think that clustering and classification are significantly different. For classification and recognition we need ethalon (standard) which apriori existed. It is not enough to assign a name to some cluster - we need apriori program to work with it! All applications (criminal et al) have such apriori programs.
It is probably hard to find any learning system, including the human brain, which does not have any prior standard or biases for what it is good at learning. The human brain is for example reasonably good at making tools and also programs, including computer programs, but it is very poor at executing the computer programs due to too small working memory.
Classification can be based on a prototype representing a class but in many cases the data used for learning the classifier are represented as a set of objects with assigned class labels.
If you run a clustering algorithm, you divide the number of input objects into a number of disjoint (typically) sets. So a cluster number (e.g. originating from k-means algorithm) can be used as a data label used to learn classifier (e.g. C4.5).
I think the criminal profiling takes into account historical data, at present collected in data bases and mined with classical techniques. It would be very hard to assume an apriori knowledge and programs. The oldest sources are probably the Bible, Greek tragedies, Mahabharata, Hamlet, etc.
Detecting infrequently occurring objects, events or situations is the main objective of AI techniques used for anomaly-based intrusion detection systems for detecting cyber attacks. The main objective is then to detect formerly unknown attacks, so called Zero-day attacks, based both on knowledge about good traffic and existing known bad traffic. This is somewhat similar to the criminal profiling problem described above (cyber forensics).
In that case, Alexey, objects (at least artificial ones made by humans) are designed in order to perform some task, even a aesthetical one. For an average human is possible to understand the utility of basic objects just because they are designed following bodily principles and simple tasks: how to grasp it, for example. Graspinf the object, it shows its function, sometimes. At the same time, the local environments give the rest of the clues for the object interpretation. The whole process is not only about properties of the object but also about the tasks that it makes possible.
Dear all, works by Pierre-Yves Oudeyer and Frederic Kaplan would be helpful for the problem discussed here. Keywords are "intrinsic motivation" and "adaptive curiosity".
1) You need the system to sample (as in collecting sensor measurements) a well ordered, consistent, external environment.
2) The system must then interact with the environment and link feedback from the response with original input (this provides adaptive control)
3) The system must be able to map real input and output onto symbolic representations that mirror the consistency of the environment.
4) With a suitable convergent modelling process which uses the symbolic forms to predict outcomes from inputs we can plan. This will need to be based on significant generic requirements criteria (ie goals) and will tend to be about viability of reponses
5) The modelling process can now report responses without emmitting them to the environment and test for suitability
6) If the model allows a reference to the system that is modelling then there will be symbol for self (that which received the input)
7) Because of the consistency in the environment the system can learn to adapt and hence may be said to "self learn"
8) The complexity in this system-task will reflect the complexity and degree or order that is found in the environment ... which is a somewhat overwhelming!
Thus we may be able to conceive of a solution but not implement it!
If the environment fedback the consequence of your actions on it and you knew what input lead to that action,at the control level you know how to correct an overshoot or undershoot of that action. Providing the consequences weren't fatal (ie the viability contraint) a Hebb style network can be trained to refine that action without the intervention of a trainer. (ie it will try again by with the path-weights adjusted.). Repeat this over a large set of fairly primitive actions and add in learned sequences and you get a trained (non thinking) control systems (autonomic system) . Build in generic actions which create unthinking behaiviours (drives or goals) and the system will remian viable and have the ability to tune itself to refine responses. Although the environment is essentially non deterministic, it apparently obeys consistent underlying rules so there is, built into it, the ability to predict. If the control system can anticipate reponses for any given input (Hebb rule supplies normal responses once tuned) then it can issue either a response directly or a symbol to represent and then link from input to output. With associative memory (state based rather than compute-like memory) these can blend to form a context. The context provides the decode for elaboration composite actions and triggered sequences but allow new input to associate this further refines the autonomic and allow sensor-based fusion (triggering by different sensor inputs). Then symbolic actions can be added to the context to provide a mechanism for plan modelling, and using the primitive generic actions (goals) the system along with internal feedback (to get a process going) the output can form potential responses which can be refined against a model of the environment. This is primitive thought. learning is acheived only after the results of the model are emitted to check against the expectation of the environmental feedback.
This is conjectural
but
1) Animals with no "so called" intelligence are viable and they adapt.
2) They use autonomics and are inherently control-based (feedback of actions from the environment)
3) Self , thought, langauge and other higher functionality must be derived from the process that gave rise to us (we evolved... wrt an environment)
4) Feedback implies learning
5) The generic constraint is viability which (ultimately) drives all of the processing and is also a reflection of evolutionary processes
6) Symbolic form dont need to be linguistic but for us that extra layer helps enormously.
(this a rather brief but is a jist...)
This is a philisophical approach to AI used to try and establish a basis for the subject. It is not yet established and may never be. But AI people tend to ignore the process whereby we gained this adaptation (ie it evolved) which includes consciouness. See if works for you.
Note it is not similar at all, to deterministic computer systems and they are unlikely to yield any real intelligence (intelligence is a property of a system) unless steps are taken such as sampling a consistent environment. The trend to cybernetics/robots is amost a sunconscious admission of this need.
But it can adapt to the implicit order in the environment. Knowledge comes from a more ordered system. The hebb rule captures this in a primitive autonomic way and provides a basis (model of the environment from which we can "reason").
Here is the philosophical bit:
We can know by interacting with a more ordered systems than us. To know more than that ordered system is a conjectural extension that (i suspect) cannot be proved.
(assumption: that Knowledge is the refinement of belief after extensive testing against empirical reality)
Interacting implies co-location in space and time between distinct "objects"
(In QM co-location is perhaps better thought of as between two properties, as there are waves (with associated probabilities for objects) before the act of co-location and thereafter there is an outcome. (The observation))
or even
Information in the form of signals-received becomes state in the form of "data" or more losely objects. This is a transfomation from time-orientation to spatial representation. It is a likely prerequisite for processing (modelling)
On "more complex"
Complexity exists only in models - there is no reason to suppose it exists in the real thing. Since we know the real thing only in terms of models we tend to assume it exists in empirical reality... but it needn't!
Thus we recognise complexity in a system because we are modelling it.
Signals dont imply patterns. Signals are any transmission so a single photon received is sufficient. The collection of inputs signals can be decoded this is achieved but associative addressing ( which can be also seen as similar to combinatorial logic from electronics) . The collections of states created by a set of signals is recognised by addressing a collections of responses which can be modified by a collection of pathway changes. An Associative address accesses all response implied by a set of inputs as compared to computer memory addresses which issue an item from a complete input set (the address). Neural addresses are not intended to be deterministic this allows parallel association. In essence that is a pattern handling task as a composite set of inputs can unlock a specific set of responses.
The autonomic system doen not need to recognise anything - there are no labels (words) and there is no consequential thought - the system can still be perfectly viable if input addresses appropriate responses. Most living things manage without conscious recognition - it is us that anthropomorpize and say the animal recognise its .... whatever. Before we build AI systems we need to build viable autonomic robots - these without thought (or langauge) must cope and their programming must adapt without human intervention. They will be able to select objects but will not recognise them in the conscious sense. Robots already do this using elaborate programs and fixed "known" circumstances (ciruit construction for example)
Of course the system can register any signal. But for adequate reaction on this signal our system must recognize it. I don't see any difference between recognition in the conscious sense and recognition as is.
You are insisting that you should know about the object. But if you have been programmed you can operate without knowing. And here is the difficult bit ... you have been programmed - by the process that gave rise to us all - we have evolved to remain viable in a given environment. As an animal first we were autonomic and did sensible things (or died in the attempt). During each life span adaptation from every interaction reinforced the actions that actions that worked and ignored those that didn't (unless they were fatal). Combinations of inputs (senses) cooperated and so smell says food, eyes and smell say move legs and smell interact to select prey and prey acheives survival goal of obtain energy. The environment programs a genetically derived structure (brain) to perform this without knowledge but allows use to improve performance with neural learning. In a sense we are turning plausible actions (belief) into knowledge in a mechanistic way. This is learning without thought being involved.
This is a basis from which conscious control can ultimately be derived. That is where the next stage must start. Primitive animals do not need to think. They can survive by being matched in expectation to their environment. There is a long and tedious process from this simple stage to where we (and perhaps some other species) can start to add layers of symbolic forms to model and improve their interactions with the environment.
This is not a common approach to AI - the usual start is with computers , and models so feel free to move on. It is my belief that the AI problem is a philosophical problem and requires a holist approach. So I wish you good luck and I shall bow out of this discussion.