CS 5522: Artificial Intelligence II

Similar documents
CS 5522: Artificial Intelligence II

CS 343: Artificial Intelligence

CS 343: Artificial Intelligence

CS 188: Artificial Intelligence

CS 188: Artificial Intelligence Fall 2011

CSE 473: Ar+ficial Intelligence. Example. Par+cle Filters for HMMs. An HMM is defined by: Ini+al distribu+on: Transi+ons: Emissions:

CSE 473: Ar+ficial Intelligence. Probability Recap. Markov Models - II. Condi+onal probability. Product rule. Chain rule.

CS 5522: Artificial Intelligence II

CS 5522: Artificial Intelligence II

Markov Models. CS 188: Artificial Intelligence Fall Example. Mini-Forward Algorithm. Stationary Distributions.

CSEP 573: Artificial Intelligence

CSE 473: Artificial Intelligence

Hidden Markov Models. Hal Daumé III. Computer Science University of Maryland CS 421: Introduction to Artificial Intelligence 19 Apr 2012

Markov Models and Hidden Markov Models

CS 188: Artificial Intelligence Spring Announcements

Announcements. CS 188: Artificial Intelligence Fall VPI Example. VPI Properties. Reasoning over Time. Markov Models. Lecture 19: HMMs 11/4/2008

CSE 473: Ar+ficial Intelligence

CS 343: Artificial Intelligence

Probability, Markov models and HMMs. Vibhav Gogate The University of Texas at Dallas

Hidden Markov Models. Vibhav Gogate The University of Texas at Dallas

Markov Chains and Hidden Markov Models

CS 188: Artificial Intelligence Spring 2009

Announcements. CS 188: Artificial Intelligence Fall Markov Models. Example: Markov Chain. Mini-Forward Algorithm. Example

Forward algorithm vs. particle filtering

CS 5522: Artificial Intelligence II

CSE 473: Ar+ficial Intelligence. Hidden Markov Models. Bayes Nets. Two random variable at each +me step Hidden state, X i Observa+on, E i

CSE 473: Artificial Intelligence Probability Review à Markov Models. Outline

Approximate Inference

CSE 473: Artificial Intelligence

Our Status in CSE 5522

CSE 473: Artificial Intelligence Spring 2014

CS188 Outline. CS 188: Artificial Intelligence. Today. Inference in Ghostbusters. Probability. We re done with Part I: Search and Planning!

CS188 Outline. We re done with Part I: Search and Planning! Part II: Probabilistic Reasoning. Part III: Machine Learning

CS 188: Artificial Intelligence Fall Recap: Inference Example

Our Status. We re done with Part I Search and Planning!

CS 188: Artificial Intelligence Fall Announcements

Introduction to Artificial Intelligence (AI)

CS 188: Artificial Intelligence. Our Status in CS188

Human-Oriented Robotics. Temporal Reasoning. Kai Arras Social Robotics Lab, University of Freiburg

Outline. CSE 573: Artificial Intelligence Autumn Agent. Partial Observability. Markov Decision Process (MDP) 10/31/2012

CS 188: Artificial Intelligence

CS 5522: Artificial Intelligence II

Hidden Markov Models. AIMA Chapter 15, Sections 1 5. AIMA Chapter 15, Sections 1 5 1

Today. CS 188: Artificial Intelligence. Recap: Reasoning Over Time. Particle Filters and Applications of HMMs. HMMs

CS 5522: Artificial Intelligence II

Bayesian Networks BY: MOHAMAD ALSABBAGH

Introduction to Artificial Intelligence (AI)

CS 343: Artificial Intelligence

Reasoning Under Uncertainty Over Time. CS 486/686: Introduction to Artificial Intelligence

STA 4273H: Statistical Machine Learning

The Noisy Channel Model. Statistical NLP Spring Mel Freq. Cepstral Coefficients. Frame Extraction ... Lecture 10: Acoustic Models

Statistical NLP Spring The Noisy Channel Model

Hidden Markov models 1

Announcements. CS 188: Artificial Intelligence Fall Causality? Example: Traffic. Topology Limits Distributions. Example: Reverse Traffic

PROBABILISTIC REASONING OVER TIME

CS 188: Artificial Intelligence Spring Announcements

CSCI 360 Introduc/on to Ar/ficial Intelligence Week 2: Problem Solving and Op/miza/on. Professor Wei-Min Shen Week 8.1 and 8.2

CS532, Winter 2010 Hidden Markov Models

The Noisy Channel Model. Statistical NLP Spring Mel Freq. Cepstral Coefficients. Frame Extraction ... Lecture 9: Acoustic Models

Bayes Nets: Sampling

CS 343: Artificial Intelligence

Statistical NLP Spring Digitizing Speech

Digitizing Speech. Statistical NLP Spring Frame Extraction. Gaussian Emissions. Vector Quantization. HMMs for Continuous Observations? ...

1. Markov models. 1.1 Markov-chain

Hidden Markov Models. By Parisa Abedi. Slides courtesy: Eric Xing

Artificial Intelligence Bayes Nets: Independence

CS 188: Artificial Intelligence Spring Announcements

CS 188: Artificial Intelligence Fall 2011

Introduction to Hidden Markov Modeling (HMM) Daniel S. Terry Scott Blanchard and Harel Weinstein labs

Mini-project 2 (really) due today! Turn in a printout of your work at the end of the class

Lecture 3: ASR: HMMs, Forward, Viterbi

Hidden Markov Models. Aarti Singh Slides courtesy: Eric Xing. Machine Learning / Nov 8, 2010

Today. Recap: Reasoning Over Time. Demo Bonanza! CS 188: Artificial Intelligence. Advanced HMMs. Speech recognition. HMMs. Start machine learning

Extensions of Bayesian Networks. Outline. Bayesian Network. Reasoning under Uncertainty. Features of Bayesian Networks.

CS 343: Artificial Intelligence

Reinforcement Learning Wrap-up

Introduction to Machine Learning CMU-10701

Probabilistic Robotics

The Noisy Channel Model. CS 294-5: Statistical Natural Language Processing. Speech Recognition Architecture. Digitizing Speech

Hidden Markov Models (recap BNs)

Temporal Modeling and Basic Speech Recognition

CS 188: Artificial Intelligence Fall 2009

CS 188: Artificial Intelligence Fall 2009

Introduction to Artificial Intelligence Midterm 2. CS 188 Spring You have approximately 2 hours and 50 minutes.

Hidden Markov Models

Announcements. Recap: Filtering. Recap: Reasoning Over Time. Example: State Representations for Robot Localization. Particle Filtering

Hidden Markov Models Part 1: Introduction

STA 414/2104: Machine Learning

Probability and Time: Hidden Markov Models (HMMs)

Announcements. Inference. Mid-term. Inference by Enumeration. Reminder: Alarm Network. Introduction to Artificial Intelligence. V22.

Template-Based Representations. Sargur Srihari

CS 7180: Behavioral Modeling and Decision- making in AI

Bayes Nets III: Inference

Temporal probability models. Chapter 15, Sections 1 5 1

Artificial Intelligence

Product rule. Chain rule

Temporal probability models. Chapter 15

Hidden Markov Models

COMP90051 Statistical Machine Learning

Bayesian Networks: Construction, Inference, Learning and Causal Interpretation. Volker Tresp Summer 2014

Transcription:

CS 5522: Artificial Intelligence II Particle Filters and Applications of HMMs Instructor: Alan Ritter Ohio State University [These slides were adapted from CS188 Intro to AI at UC Berkeley. All materials available at http://ai.berkeley.edu.]

Recap: Reasoning Over Time [Demo: Ghostbusters Markov Model (L15D1)] X 1 X 2 X 3 X 4 X 5 E 5

Recap: Reasoning Over Time [Demo: Ghostbusters Markov Model (L15D1)] X 1 X 2 X 3 X 4 X 5 E 5

Recap: Reasoning Over Time [Demo: Ghostbusters Markov Model (L15D1)] 0.3 X 1 X 2 X 3 X 4 rain sun 0.7 0.7 0.3 X 5 E 5

Recap: Reasoning Over Time [Demo: Ghostbusters Markov Model (L15D1)] Markov models 0.3 X 1 X 2 X 3 X 4 rain sun 0.7 0.7 Hidden Markov models 0.3 X 1 X 2 X 3 X 4 X 5 E 1 E 2 E 3 E 4 E 5

Recap: Reasoning Over Time [Demo: Ghostbusters Markov Model (L15D1)] Markov models 0.3 X 1 X 2 X 3 X 4 rain sun 0.7 0.7 Hidden Markov models 0.3 X 1 X 2 X 3 X 4 X 5 E 1 E 2 E 3 E 4 E 5 X E P rain umbrella 0.9 rain no umbrella 0.1 sun umbrella 0.2 sun no umbrella 0.8

Video of Demo Ghostbusters Markov Model (Reminder)

Video of Demo Ghostbusters Markov Model (Reminder)

Video of Demo Ghostbusters Markov Model (Reminder)

Recap: Filtering Elapse time: compute P( X t e 1:t-1 ) Observe: compute P( X t e 1:t ) Belief: <P(rain), P(sun)> X 1 X 2 E 1 E 2 [Demo: Ghostbusters Exact Filtering

Recap: Filtering Elapse time: compute P( X t e 1:t-1 ) Observe: compute P( X t e 1:t ) X 1 X 2 Belief: <P(rain), P(sun)> <0.5, 0.5> Prior on X 1 E 1 E 2 [Demo: Ghostbusters Exact Filtering

Recap: Filtering Elapse time: compute P( X t e 1:t-1 ) Observe: compute P( X t e 1:t ) X 1 X 2 Belief: <P(rain), P(sun)> <0.5, 0.5> Prior on X 1 <0.82, 0.18> Observe E 1 E 2 [Demo: Ghostbusters Exact Filtering

Recap: Filtering Elapse time: compute P( X t e 1:t-1 ) Observe: compute P( X t e 1:t ) X 1 X 2 Belief: <P(rain), P(sun)> <0.5, 0.5> Prior on X 1 <0.82, 0.18> Observe E 1 E 2 <0.63, 0.37> Elapse time [Demo: Ghostbusters Exact Filtering

Recap: Filtering Elapse time: compute P( X t e 1:t-1 ) Observe: compute P( X t e 1:t ) X 1 X 2 Belief: <P(rain), P(sun)> <0.5, 0.5> Prior on X 1 <0.82, 0.18> Observe E 1 E 2 <0.63, 0.37> Elapse time <0.88, 0.12> Observe [Demo: Ghostbusters Exact Filtering

Video of Ghostbusters Exact Filtering (Reminder)

Video of Ghostbusters Exact Filtering (Reminder)

Video of Ghostbusters Exact Filtering (Reminder)

Particle Filtering

Particle Filtering Filtering: approximate solution Sometimes X is too big to use exact inference X may be too big to even store B(X) E.g. X is continuous 0.0 0.1 0.0 0.0 0.0 0.2 0.0 0.2 0.5

Particle Filtering Filtering: approximate solution Sometimes X is too big to use exact inference X may be too big to even store B(X) E.g. X is continuous Solution: approximate inference 0.0 0.1 0.0 0.0 0.0 0.2 0.0 0.2 0.5

Particle Filtering Filtering: approximate solution Sometimes X is too big to use exact inference X may be too big to even store B(X) E.g. X is continuous Solution: approximate inference Track samples of X, not all values Samples are called particles Time per step is linear in the number of samples But: number needed may be large In memory: list of particles, not states 0.0 0.1 0.0 0.0 0.0 0.2 0.0 0.2 0.5

Particle Filtering Filtering: approximate solution Sometimes X is too big to use exact inference X may be too big to even store B(X) E.g. X is continuous Solution: approximate inference Track samples of X, not all values Samples are called particles Time per step is linear in the number of samples But: number needed may be large In memory: list of particles, not states 0.0 0.1 0.0 0.0 0.0 0.2 0.0 0.2 0.5 This is how robot localization works in practice Particle is just new name for sample

Representation: Particles Our representation of P(X) is now a list of N particles (samples) Generally, N << X Storing map from X to counts would defeat the point P(x) approximated by number of particles with value x So, many x may have P(x) = 0! More particles, more accuracy For now, all particles have a weight of 1 Particles: (2,3) (1,2) (2,3)

Particle Filtering: Elapse Time Each particle is moved by sampling its next position from the transition model This is like prior sampling samples frequencies reflect the transition probabilities Here, most samples move clockwise, but some move in another direction or stay in place This captures the passage of time If enough samples, close to exact values before and after (consistent) Particles: (2,3) (1,2) (2,3) Particles: (2,3) (3,1) (1,3) (2,3) (2,2)

Particle Filtering: Observe Slightly trickier: Don t sample observation, fix it Similar to likelihood weighting, downweight samples based on the evidence Particles: (2,3) (3,1) (1,3) (2,3) (2,2) As before, the probabilities don t sum to one, since all have been downweighted (in fact they now sum to (N times) an approximation of P(e)) Particles: w=.9 (2,3) w=.2 w=.9 (3,1) w=.4 w=.4 w=.9 (1,3) w=.1 (2,3) w=.2 w=.9 (2,2) w=.4

Particle Filtering: Resample Rather than tracking weighted samples, we resample N times, we choose from our weighted sample distribution (i.e. draw with replacement) This is equivalent to renormalizing the distribution Now the update is complete for this time step, continue with the next one Particles: w=.9 (2,3) w=.2 w=.9 (3,1) w=.4 w=.4 w=.9 (1,3) w=.1 (2,3) w=.2 w=.9 (2,2) w=.4 (New) Particles: (2,2) (2,3) (1,3) (2,3)

[Demos: ghostbusters particle filtering Recap: Particle Filtering Particles: track samples of states rather than an explicit distribution Particles: (2,3) (1,2) (2,3)

[Demos: ghostbusters particle filtering Recap: Particle Filtering Particles: track samples of states rather than an explicit distribution Elapse Particles: (2,3) (1,2) (2,3)

[Demos: ghostbusters particle filtering Recap: Particle Filtering Particles: track samples of states rather than an explicit distribution Elapse Particles: (2,3) (1,2) (2,3) Particles: (2,3) (3,1) (1,3) (2,3) (2,2)

[Demos: ghostbusters particle filtering Recap: Particle Filtering Particles: track samples of states rather than an explicit distribution Elapse Weight Particles: (2,3) (1,2) (2,3) Particles: (2,3) (3,1) (1,3) (2,3) (2,2)

[Demos: ghostbusters particle filtering Recap: Particle Filtering Particles: track samples of states rather than an explicit distribution Elapse Weight Particles: (2,3) (1,2) (2,3) Particles: (2,3) (3,1) (1,3) (2,3) (2,2) Particles: w=.4 (2,3) w=.2 w=.9 (3,1) w=.4 w=.4 w=.9 (1,3) w=.1 (2,3) w=.2 w=.9 (2,2) w=.4

[Demos: ghostbusters particle filtering Recap: Particle Filtering Particles: track samples of states rather than an explicit distribution Elapse Weight Resample Particles: (2,3) (1,2) (2,3) Particles: (2,3) (3,1) (1,3) (2,3) (2,2) Particles: w=.4 (2,3) w=.2 w=.9 (3,1) w=.4 w=.4 w=.9 (1,3) w=.1 (2,3) w=.2 w=.9 (2,2) w=.4

[Demos: ghostbusters particle filtering Recap: Particle Filtering Particles: track samples of states rather than an explicit distribution Elapse Weight Resample Particles: (2,3) (1,2) (2,3) Particles: (2,3) (3,1) (1,3) (2,3) (2,2) Particles: w=.4 (2,3) w=.2 w=.9 (3,1) w=.4 w=.4 w=.9 (1,3) w=.1 (2,3) w=.2 w=.9 (2,2) w=.4 (New) Particles: (2,2) (2,3) (1,3) (2,3)

Video of Demo Moderate Number of Particles

Video of Demo Moderate Number of Particles

Video of Demo Moderate Number of Particles

Video of Demo One Particle

Video of Demo One Particle

Video of Demo One Particle

Video of Demo Huge Number of Particles

Video of Demo Huge Number of Particles

Video of Demo Huge Number of Particles

Robot Localization In robot localization: We know the map, but not the robot s position Observations may be vectors of range finder readings State space and readings are typically continuous (works basically like a very fine grid) and so we cannot store B(X) Particle filtering is a main technique

Particle Filter Localization (Sonar) [Video: global-sonar-uw-annotated.avi]

Particle Filter Localization (Sonar) [Video: global-sonar-uw-annotated.avi]

Particle Filter Localization (Sonar) [Video: global-sonar-uw-annotated.avi]

Particle Filter Localization (Laser) [Video: global-floor.gif]

Particle Filter Localization (Laser) [Video: global-floor.gif]

Robot Mapping SLAM: Simultaneous Localization And Mapping We do not know the map or our location State consists of position AND map! Main techniques: Kalman filtering (Gaussian HMMs) and particle methods DP-SLAM, Ron Parr [Demo: PARTICLES-SLAM-mapping1-new.a

Particle Filter SLAM Video 1 [Demo: PARTICLES-SLAM-mapping1-new.a

Particle Filter SLAM Video 1 [Demo: PARTICLES-SLAM-mapping1-new.a

Particle Filter SLAM Video 1 [Demo: PARTICLES-SLAM-mapping1-new.a

Particle Filter SLAM Video 2 [Demo: PARTICLES-SLAM-fastslam.a

Particle Filter SLAM Video 2 [Demo: PARTICLES-SLAM-fastslam.a

Particle Filter SLAM Video 2 [Demo: PARTICLES-SLAM-fastslam.a

Dynamic Bayes Nets

Dynamic Bayes Nets (DBNs) [Demo: pacman sonar ghost DBN model (L15D6)]

Dynamic Bayes Nets (DBNs) G 1 a G 1 b E 1 a E 1 b [Demo: pacman sonar ghost DBN model (L15D6)]

Dynamic Bayes Nets (DBNs) G 1 a G 2 a G 1 b G 2 b E 1 a E 1 b E 2 a E 2 b [Demo: pacman sonar ghost DBN model (L15D6)]

Dynamic Bayes Nets (DBNs) t =1 G 1 a G 2 a G 1 b G 2 b E 1 a E 1 b E 2 a E 2 b [Demo: pacman sonar ghost DBN model (L15D6)]

Dynamic Bayes Nets (DBNs) t =1 t =2 G 1 a G 2 a G 1 b G 2 b E 1 a E 1 b E 2 a E 2 b [Demo: pacman sonar ghost DBN model (L15D6)]

Dynamic Bayes Nets (DBNs) t =1 t =2 t =3 G 1 a G 2 a G 3 a G 1 b G 2 b G 3 b E 1 a E 1 b E 2 a E 2 b E 3 a E 3 b [Demo: pacman sonar ghost DBN model (L15D6)]

Dynamic Bayes Nets (DBNs) We want to track multiple variables over time, using multiple sources of evidence Idea: Repeat a fixed Bayes net structure at each time Variables from time t can condition on those from t-1 t =1 t =2 t =3 G 1 a G 2 a G 3 a G 1 b G 2 b G 3 b E 1 a E 1 b E 2 a E 2 b E 3 a E 3 b Dynamic Bayes nets are a generalization of HMMs [Demo: pacman sonar ghost DBN model (L15D6)]

Video of Demo Pacman Sonar Ghost DBN Model

Video of Demo Pacman Sonar Ghost DBN Model

Video of Demo Pacman Sonar Ghost DBN Model

DBN Particle Filters A particle is a complete sample for a time step Initialize: Generate prior samples for the t=1 Bayes net Example particle: G 1 a = G 1 b = (5,3) Elapse time: Sample a successor for each particle Example successor: G 2 a = (2,3) G 2 b = (6,3) Observe: Weight each entire sample by the likelihood of the evidence conditioned on the sample Likelihood: P(E 1 a G 1 a ) * P(E 1 b G 1 b ) Resample: Select prior samples (tuples of values) in proportion to their likelihood

Most Likely Explanation

HMMs: MLE Queries HMMs defined by States X Observations E Initial distribution: Transitions: Emissions: X 1 X 2 X 3 X 4 X 5 New query: most likely explanation: E 1 E 2 E 3 E 4 E 5

State Trellis State trellis: graph of states and transitions over time sun sun sun sun rain rain rain rain Each arc represents some transition Each arc has weight Each path is a sequence of states The product of weights on a path is that sequence s probability along with the evidence Forward algorithm computes sums of paths, Viterbi computes best paths

Forward / Viterbi Algorithms sun sun sun sun rain rain rain rain Forward Algorithm (Sum)

Forward / Viterbi Algorithms sun sun sun sun rain rain rain rain Forward Algorithm (Sum)

Forward / Viterbi Algorithms sun sun sun sun rain rain rain rain Forward Algorithm (Sum) Viterbi Algorithm (Max)

Forward / Viterbi Algorithms sun sun sun sun rain rain rain rain Forward Algorithm (Sum) Viterbi Algorithm (Max)

Forward / Viterbi Algorithms sun sun sun sun rain rain rain rain Forward Algorithm (Sum) Viterbi Algorithm (Max)

Speech Recognition

Digitizing Speech

Speech in an Hour Speech input is an acoustic waveform Figure: Simon Arnfield, http://www.psyc.leeds.ac.uk/research/cogn/speech/tutorial/

Speech in an Hour Speech input is an acoustic waveform s p ee ch l a b Figure: Simon Arnfield, http://www.psyc.leeds.ac.uk/research/cogn/speech/tutorial/

Speech in an Hour Speech input is an acoustic waveform s p ee ch l a b l to a transition: Figure: Simon Arnfield, http://www.psyc.leeds.ac.uk/research/cogn/speech/tutorial/

Human ear figure: depion.blogspot.com Spectral Analysis Frequency gives pitch; amplitude gives volume Sampling at ~8 khz (phone), ~16 khz (mic) (khz=1000 cycles/ frequency amplitude sec) s p ee ch l a b Fourier transform of wave displayed as a spectrogram Darkness indicates energy at each frequency

frequency Acoustic Feature Sequence Time slices are translated into acoustic feature vectors (~39 real numbers per slice)..e 12 e 13 e 14 e 15 e 16.. These are the observations E, now we need the hidden states X

Speech State Space HMM Specification P(E X) encodes which acoustic vectors are appropriate for each phoneme (each kind of sound) P(X X ) encodes how sounds can be strung together State Space We will have one state for each sound in each word Mostly, states advance sound by sound Build a little state graph for each word and chain them together to form the state space X

States in a Word

Transitions with a Bigram Model Figure: Huang et al, p. 618

Transitions with a Bigram Model Training Counts 198015222 the first 194623024 the same 168504105 the following 158562063 the world 14112454 the door --------------------------------- -- 23135851162 the * Figure: Huang et al, p. 618

Transitions with a Bigram Model Training Counts 198015222 the first 194623024 the same 168504105 the following 158562063 the world 14112454 the door --------------------------------- -- 23135851162 the * Figure: Huang et al, p. 618

Decoding Finding the words given the acoustics is an HMM inference problem Which state sequence x 1:T is most likely given the evidence e 1:T? From the sequence x, we can simply read off the words

Next Time: Bayes Nets!