User:Jasonra

Computer Graphics - Fall 2016

Introduction
Machine learning is a subfield of computer science in which intelligent systems form predictive models, without being explicitly programmed to do so. Algorithms that can learn from and able to make predictions on data are constructed for this purpose. Machine learning has applications in many areas that include computer vision, search engines, computer animation, and automated planning and scheduling, also known as planning.

Planning is the task of deriving a sequence of actions which an agent takes in order to achieve a specific goal. Machine Learning techniques are used in planning to allow a system to automatically acquire relevant knowledge to the planning task. Computer animation is the process through which computers are used to animate, or to give life, to computer-generated objects.

History
In 1955, Arthur Samuel created the first learning machine which learned to play checkers well. It was developed by using algorithms which used a heuristic search memory to learn through experience, i.e. playing. In 1958, the Mark I Perceptron was built, a machine that used artificial neural networks for image recognition.

Until the 1990s, machine learning was closely related to artificial intelligence. Machine learning, which was now recognized as its own field, shifted goals from that of achieving artificial intelligence to that of solving more practical problems. It did so by adopting methods and models from statistics and probability theory, and simultaneously deviating from artificial intelligence approaches.

More recently, in 2016 Google's AlphaGo Model defeated the Euro Go Campaign, by using a combination of machine learning and tree search techniques.

Background
Machine learning uses techniques that can use existing data to extract interesting information as well as synthesize more data. Through the use of these methods, users can efficiently utilize graphical materials such as models and images to produce animations for purposes that include but are not limited to virtual reality and animation films.

Machine learning offers much assistance in automated planning by providing the planning system the ability to gain additional information by observing the problem space and during the decision-making process.

Supervised Learning
In supervised learning, a computer is provided with a set inputs and the desired outputs for these inputs. The task of the computer is then to create a model which maps these inputs to their respective outputs, and also serves as a correct model for additional future inputs.

There are 2 major categories of supervised problems which are regression and classification problems. In the former, we are creating a continuous model whereas in a classification problem, the model is discrete, meaning that the outputs are split into two or more categories (e.g. attempting to determine whether or not a patient does or does not have cancer).

Unsupervised Learning
In unsupervised learning, we are not aware of what the results produced by the machine learning algorithm should look like, and the computer attempts to provide structure to the provided input.

Clustering is used to divide the input into different sets based on shared characteristics, but unlike classification, the sets are not known beforehand.

Neural Network
According to Maureen Caudill, AI Expert, a neural network is "...a computing system made up of a number of simple, highly interconnected processing elements, which process information by their dynamic state response to external inputs." Neural networks consist of layers, each layer itself consisting of nodes which are interconnected with nodes that are part of the neighboring layers. Each node contains an activation function: these activation functions serve as the building blocks for the neural network by relaying information between nodes based on input, which is initially provided through the input, or main, layer. The complex interconnections of nodes in neural networks support the modeling and creation of complex functions.

Reinforcement Learning
Reinforcement learning concerns itself with how agents should take action in an environment, in order to maximize their reward and thus tries to find a model to map a state of an agent to an optimal action. In contrast to supervised learning, correct input/output pairs are not provided nor are sub-optimal actions explicitly corrected.

Kernels
A kernel is a similarity function that the user provides, the computer then takes two inputs and determines their level of similarity and a classifier. They also have a stronger mathematical foundation than other methods such as neural networks.

Multi-view Learning
Machine learning technique in which multiple distinct feature sets are used. Multi-view learning is used to effectively learn from unlabeled data by training classifiers on each view. It can prove to be extremely useful, especially if the strengths of one view complement the weaknesses of another. There are three different areas to which machine learning learning algorithms pertain to: co-training, multiple kernel learning, and subspace learning. Co-training algorithms by alternatively training data on two distinct views, in order to maximize the mutual agreement of their data. Multiple kernel learning algorithms exploit kernels that naturally correspond to different views and combine kernels either linearly or non-linearly to improve learning performance. Subspace learning algorithms aim to acquire a latent subspace that multiple views share, based on the views being obtained from this common subspace.

Reinforcement Learning for Planning and Control
In this form of reinforcement learning, the system, or the controller, constructs a control law, or a policy, which determines the action to be performed for each state the controller encounters. The system is given feedback, or rewards/punishment, based on how optimal the action was, for each actions it takes, which in turn contribute to the determination of future actions. A major problem in reinforcement learning is the temporal credit assignment problem, which deals with the fact that the controller may perform a long sequence of actions before receiving any reward or punishment, e.g. playing a game of chess and not receiving the reward of winning or the punishment of losing until the termination of the match. This makes it difficult to attribute credit or blame for certain to the deserved actions, since the reinforcement and the actions may not necessarily align temporally.

Bias in Planning
Introducing bias in planning can provide many benefits to planning. Firstly, it can help organize and clarify many of the concepts of planning by focusing on their effects on selection from the hypothesis space. Moreover, it can reduce computational effort by potentially reducing the number of plans that must be examined. Lastly, these planned biases can induce an effective bias on learning which may improve the efficiency of the machine learning process.

Application of multi-view learning in cartoon production
It is common in computer animation to use multiple features from different physical views to describe a cartoon character. Some of the visual features that are extracted from these views are color, texture, motion, and shape information. A distributed spectral embedding can be used to construct a subspace learning from multiple views, which is then optimized to find a physically meaningful embedding of these features. Thus, through multi-view, an intelligent system will be able to recreate cartoon characters based on this newly acquired information.