CS 188: Artificial Intelligence Fall 2007AnnouncementsLaws of ProbabilitySome More LawsRecap: Some Simple CasesSlide 6Slide 7Hidden Markov ModelsBattleship HMMFiltering / MonitoringThe Forward AlgorithmBelief UpdatesParticle FilteringParticle Filtering: TimeParticle Filtering: ObservationParticle Filtering: ResamplingRobot LocalizationSLAMMost Likely ExplanationMini-Viterbi AlgorithmMini-ViterbiViterbi AlgorithmExampleCS 188: Artificial IntelligenceFall 2007Lecture 21: Particle Filtering11/08/2007Dan Klein – UC BerkeleyAnnouncementsProject 5 is up, due 11/19 (an extension of 4)Probability review and BN/HMM recap sessionsLaws of ProbabilityMarginalizationDefinition of conditional probabilityChain ruleCombinations, e.g. conditional chain ruleSome More LawsChain rule (always true)With A and C independent given BIf we want a conditional distribution over A, can just normalize the corresponding joint wrt ARecap: Some Simple CasesE1X1X2X1QueriesModelsX2X1Recap: Some Simple CasesX2X1E2X2E1X1Recap: Some Simple CasesX2E1X1E2Hidden Markov ModelsAn HMM isInitial distribution:Transitions:Emissions:X5X2E1X1X3X4E2E3E4E5Battleship HMMP(X1) = uniformP(X|X’) = usually move according to fixed, known patrol policy (e.g. clockwise), sometimes move in a random direction or stay in placeP(Rij|X) = as before: depends on distance from ships in x to (i,j) (really this is just one of many independent evidence variables that might be sensed)1/9 1/91/9 1/91/91/91/9 1/9 1/9P(X1)P(X|X’=<1,2>)1/6 1/60 1/61/200 0 0X5X2Ri,jX1X3X4Ri,jRi,jRi,jE5Filtering / MonitoringFiltering, or monitoring, is the task of tracking the belief state:We start with B(X) in an initial setting, usually uniformAs time passes, or we get observations, we update B(X)The Forward AlgorithmWe are given evidence at each time and want to knowWe can derive the following updatesWe can normalize as we go if we want to have P(x|e) at each time step, or just once a the end…Belief UpdatesEvery time step, we start with current P(X | evidence)We update for time:We update for evidence:The forward algorithm does both at once (and doesn’t normalize)Problem: space is |X| and time is |X|2 per time stepX2E1X1X2E1X1E2Particle FilteringSometimes |X| is too big to use exact inference|X| may be too big to even store B(X)E.g. X is continuous|X|2 may be too big to do updatesSolution: approximate inferenceTrack samples of X, not all valuesTime per step is linear in the number of samplesBut: number needed may be largeThis is how robot localization works in practice0.0 0.10.0 0.00.00.20.0 0.2 0.5Particle Filtering: TimeEach particle is moved by sampling its next position from the transition modelThis is like prior sampling – samples’ frequencies reflect the transition probsHere, most samples move clockwise, but some move in another direction or stay in placeThis captures the passage of timeIf we have enough samples, close to the exact values before and after (consistent)Particle Filtering: ObservationSlightly trickier:We don’t sample the observation, we fix itThis is similar to likelihood weighting, so we downweight our samples based on the evidenceNote that, as before, the probabilities don’t sum to one, since most have been downweighted (in fact they sum to an approximation of P(e))Particle Filtering: ResamplingRather than tracking weighted samples, we resampleN times, we choose from our weighted sample distribution (i.e. draw with replacement)This is equivalent to renormalizing the distributionNow the update is complete for this time step, continue with the next oneRobot LocalizationIn robot localization:We know the map, but not the robot’s positionObservations may be vectors of range finder readingsState 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[DEMOS]SLAMSLAM = Simultaneous Localization And MappingWe do not know the map or our locationOur belief state is over maps and positions!Main techniques: Kalman filtering (Gaussian HMMs) and particle methods[DEMOS]DP-SLAM, Ron ParrMost Likely ExplanationQuestion: most likely sequence ending in x at t?E.g. if sun on day 4, what’s the most likely sequence?Intuitively: probably sun all four daysSlow answer: enumerate and score…Mini-Viterbi AlgorithmBetter answer: cached incremental updatesDefine:Read best sequence off of m and a vectorssunrainsunrainsunrainsunrainMini-ViterbisunrainsunrainsunrainsunrainViterbi AlgorithmQuestion: what is the most likely state sequence given the observations?Slow answer: enumerate all possibilitiesBetter answer: cached incremental
View Full Document