Perception
Perception
Machine perception is the ability to use input from sensors (such as cameras, microphones, wireless
signals, active lidar, sonar, radar, and tactile sensors) to deduce aspects of the world. Computer vision is
the ability to analyze visual input.[58]
The field includes speech recognition,[59] image classification,[60] facial recognition, object recognition,
[61]
object tracking,[62] and robotic perception.[63]
Social intelligence
Affective computing is a field that comprises systems that recognize, interpret, process, or simulate
human feeling, emotion, and mood.[65] For example, some virtual assistants are programmed to speak
conversationally or even to banter humorously; it makes them appear more sensitive to the emotional
dynamics of human interaction, or to otherwise facilitate human–computer interaction.
However, this tends to give naïve users an unrealistic conception of the intelligence of existing computer
agents.[66] Moderate successes related to affective computing include textual sentiment analysis and,
more recently, multimodal sentiment analysis, wherein AI classifies the effects displayed by a videotaped
subject.[67]
General intelligence
A machine with artificial general intelligence should be able to solve a wide variety of problems with
breadth and versatility similar to human intelligence.[4]
Techniques
AI can solve many problems by intelligently searching through many possible solutions.[68] There are two
very different kinds of search used in AI: state space search and local search.
State space search searches through a tree of possible states to try to find a goal state.[69] For example,
planning algorithms search through trees of goals and subgoals, attempting to find a path to a target
goal, a process called means-ends analysis.[70]
Simple exhaustive searches[71] are rarely sufficient for most real-world problems: the search space (the
number of places to search) quickly grows to astronomical numbers. The result is a search that is too
slow or never completes.[15] "Heuristics" or "rules of thumb" can help prioritize choices that are more
likely to reach a goal.[72]
Adversarial search is used for game-playing programs, such as chess or Go. It searches through a tree of
possible moves and countermoves, looking for a winning position.[73]
Local search
Local search uses mathematical optimization to find a solution to a problem. It begins with some form of
guess and refines it incrementally.[74]
Gradient descent is a type of local search that optimizes a set of numerical parameters by incrementally
adjusting them to minimize a loss function. Variants of gradient descent are commonly used to train
neural networks,[75] through the backpropagation algorithm.
Another type of local search is evolutionary computation, which aims to iteratively improve a set of
candidate solutions by "mutating" and "recombining" them, selecting only the fittest to survive each
generation.[76]
Distributed search processes can coordinate via swarm intelligence algorithms. Two popular swarm
algorithms used in search are particle swarm optimization (inspired by bird flocking) and ant colony
optimization (inspired by ant trails).[77]