L 23 Na I Machine Learning
L 23 Na I Machine Learning
In this lecture, we study Artificial Intelligence and Machine Learning. We start by defining and looking at
the history of Artificial Intelligence. We explore the technological advances that allowed the recent
renaissance in the field, and then some of the common types of AI systems out there in the wild. We
contrast the value of these AI systems with some of the fears (some possibly illogical and some very real).
We also examine some of the ethical debates surrounding this topic, debates that are and will consider
to be at the forefront of the conversations surrounding AI in the near future.
We then go into a discussion on the technique behind most modern AI systems: Machine Learning. We
cover some of the basic machine learning methods, state of the art machine learning models (neural
networks) and some of the constraints of machine learning.
The Positives of AI
- AI systems can be helpful
- Digital Personal Assistants facilitate a number of every day tasks
- Spam filters reduce the number of successful phishing attacks
- Machine translation has helped information flow around the world
- Banks use AI systems to identify fraudulent credit card charges
Fear Over AI
- Despite the potential positives of AI, people still fear AI
- Elon Musk says that AI is humanity’s biggest existential threat
- Most portrayals of General AI in pop culture capitalize on this idea
- HAL
- The Hosts (HBO’s Westworld)
- The Matrix
- Ex Machina
- In my opinion, we’re still a ways away from this
- Most of the resources are not going to general AI, but rather to domain specific
tasks
- Some people think the more likely danger is something like “The Paper-Clip
Maximizer” a simple machine that malfunctions and uses all of earth’s resources
to make paper clips
Ethical Considerations of AI
- On top of the fear of AI, there are a number of legitimate ethical considerations that still need to
be worked out
- Privacy concerns
- Alexa recording conversations
- AI systems can exhibit bias found in the datasets used to train them
- Racist/Sexist classification systems
- Self Driving Cars
- Who is at fault for an accident involving a self-driving car?
- Algorithmic Trading Failures
- Who is liable for a rogue trading system?
- The whole point is that AI can do things that the programmer didn’t explicitly program.
- So what types of decisions do we allow them to make?
- Trolley problem
- Weaponry
- How do we draw these lines?
- Do we allow systems to update themselves?
- Does the programmer have a responsibility to limit the intelligence of his/her system?
AI Frontiers/Current Work/Future Work
- Robotics
- Natural Movement
- Environment Understanding
- Natural Language Understanding/Processing
- Bias Detection
- Summary Systems
- Content Generation
- Image and Caption Generation
- Google’s DeepMind Style Transfer
Machine Learning
Machine learning is concerned with algorithms which train a machine learning model to learn
how to perform tasks using data rather than hand-coded rules. These tasks often involve classification
(i.e. determining what’s in a picture), prediction (i.e. which Netflix shows is this user most likely to
watch), decision making (i.e. should this autonomous car turn), or data generation (i.e. human speech
synthesis).
Machine learning data most frequently takes the form of input-label pairs (x, y) where x is the
input to a machine learning model and y is the label or expected output. x is typically a
multi-dimensional vector. Each element of the input vector is called a feature. For example, for an image
classification problem, x would be an image bitmap with RGB values and y the content of the image (i.e.
“cat”). In a machine translation problem, x might be a sentence in English and y a sentence in Spanish.
Data is often split into three partitions: training data, validation/development data, and testing
data. Training data is used to train the model, validation data is used to evaluate the performance of the
model on previously unseen data for model tuning purposes, and testing data is used for a final
performance evaluation with completely new data. In cases where there is not a lot of data, there is
usually just a training/testing split, with validation performed via cross-validation on the training data.
Neural Networks
Neural networks are the sledgehammers of machine learning. They are immensely powerful, but
also require a lot of computing power and training data. Neural networks only became feasible in the
past few years because of the development of more powerful hardware and the rise of big data. Neural
networks are inspired by the firing mechanism of biological neurons in which a neuron only fires after
the combination of its inputs reaches some threshold. However, where neurons in a brain are arranged
chaotically with connections all over the place, neurons in a neural network are typically arranged in a
sequence of layers, where all the neurons in a layer are connected to all the neurons in the next layer.
This arrangement is known as a feed-forward network or a fully-connected network. The “firing” of a
neuron is calculated by taking a weighted sum over the inputs to the neuron and then applying a
nonlinear function to the weighted sum.
Other arrangement of neural networks exist for different applications. Image processing tasks
often involve a convolutional network, in which activations are calculated by sliding a n x n convolutional
filter across the 2D image. This has the advantage of preserving spatial information, which is often a
large part of image processing. Language processing tasks, such as machine translation and natural
language understanding, use recurrent neural networks in which the network maintains an internal state
that is updated as the network processes an input sequence. This allows the network to preserve
temporal information, such as the ordering of words in a sentence.