Curiosity is a key cognitive skill in humans and it is heavily associated with all aspects of human development, in which derives the process of learning and desire to acquire knowledge and skill. There are two apparent levels to human curiosity: perceptual curiosity and epistemic curiosity. The former is related to perception of new, surprising or unusual sensory input and the latter is the conscious desire for knowledge that motivates individuals to learn new ideas, to eliminate information-gaps, and to solve intellectual problems.
The most prominent achievements of artificial intelligence in the last decade were mostly the result of algorithms that used supervised learning or reinforcement learning with predefined goals. The lack of flexibility is one of the most important drawbacks of these systems. On the other hand, the learning process in humans is highly flexible thanks to our curiosity. Therefore the logical step to surpass the lack of flexibility in current learning systems is to incorporate the notion of curiosity.
In this project (that is my master’s thesis) we aim to mimic curiosity in a novel algorithm to teach a program to understand the semantics of objects in an image. This algorithm consists of the following steps:
1- Retrieval of the sensory input (the image)
2- Basic understanding of geometrical features (for example by using a pre-trained network such as VGG). Millions of years of evolution has resulted in emergence of filters in animals that break down an image for further processes.
3- Discrimination between complex geometries without any knowledge of their meaning (basically an unsupervised clustering performed on the processed image)
4- Learning the semantics of each image by using only a few samples of each object (an efficient supervised learning algorithm).
5- Adaptively tuning the unsupervised learning parameters according to the teacher’s feedback to achieve better “understanding” of the image.
6- Finding knowledge gaps and uncertainties in the observations and asking the teacher about them.
An important consideration in this algorithm is the ability to work in real-time. An algorithm that follows these steps would ideally learn different classes of objects progressively with limited assistance of a supervisor.