Browse Source

Update graphical model

master
Markus Kaiser 2 years ago
parent
commit
8229357a50
  1. 124
      ecml-talk/figures/graphical_model_mdgp.tex
  2. 68
      ecml-talk/interpretable_dynamics_models.tex

124
ecml-talk/figures/graphical_model_mdgp.tex

@ -8,98 +8,124 @@
\begin{document}
\begin{tikzpicture}[stop jumping]
\begin{scope}[x=4em, y=8.5ex]
\node[random variable, observed, xshift=-3ex] (Xsn) at (1, 0.25) {$\rv{s}_t$};
\node[random variable, observed, xshift=3ex] (Xan) at (1, 0.25) {$\rv{a}_t$};
\tikzset{%
cascaded/.style = {%
general shadow = {%
shadow scale = 1,
shadow xshift = 1.2ex,
shadow yshift = -1.2ex,
random variable,
#1
},
general shadow = {%
shadow scale = 1,
shadow xshift = .6ex,
shadow yshift = -.6ex,
random variable,
#1
},
}}
\begin{scope}[on background layer]
\node[plate, fit=(Xsn)(Xan)] (Xn) {};
\end{scope}
\node[random variable, observed] (yn) at (.8, -3) {$\rv{s}_{t+1}$};
\begin{scope}[x=4em, y=10ex]
\node[random variable, observed, yshift=-1ex] (Xn) at (1, 0) {$\rv{x_n}$};
\node[random variable, observed, yshift=3ex] (yn) at (1, -3) {$\rv{y_n}$};
\node[random variable, latent] (fnm) at (0, -1) {$\rv{f}_t^{\pix{k}}$};
\node[random variable, latent] (sigmanm) at (1, -1) {$\rv{\sigma}_t^{\pix{k}}$};
\node[random variable, latent] (ynm) at (0, -2) {$\rv{s}_{t+1}^{\pix{k}}$};
\node[random variable, latent, cascaded=latent] (fnm) at (0, -1) {$\rv{f_n^{\pix{k}}}$};
\node[random variable, latent] (ynm) at (0, -2) {$\rv{y_n^{\pix{k}}}$};
\node[random variable, latent] (alphanm) at (2, -1) {$\rv{\lambda}_t^{\pix{k}}$};
\node[random variable, latent] (an) at (2, -3) {$\rv{l}_t$};
\node[random variable, latent] (alphanm) at (2, -1) {$\rv{\alpha_n^{\pix{k}}}$};
\node[random variable, latent, yshift=3ex] (an) at (2, -3) {$\rv{a_n}$};
\draw[edge, directed] (Xn) -| (fnm);
\draw[edge, directed] (Xn) -- (sigmanm);
\draw[edge, directed] (sigmanm) -- (ynm);
\draw[edge, directed] (Xn) -| (alphanm);
\draw[edge, directed] (fnm) -- (ynm);
\draw[edge, directed, densely dashed, shorten <=1.5ex] (fnm) -- (ynm);
\draw[edge, directed] (alphanm) -- (an);
\draw[edge, directed] (ynm) |- (yn);
\draw[edge, directed] (an) -- (yn);
% ---
\only<1>{
\begin{scope}[on background layer]
\node[
plate, inner xsep=15pt, inner ysep=4pt,
sBlueDark,
"Current state and action"{sBlueDark, above},
fit=(Xn),
] {};
\node[
plate, inner xsep=15pt, inner ysep=4pt,
sBlueDark,
"Next state"{sBlueDark, below},
fit=(yn),
] {};
\end{scope}
\uncover<3>{
\node[random variable, hyperparameter, cascaded=hyperparameter, shift={(-1.2ex,.6ex)}] (thetam) at (-1.3, -0.75) {$\rv{\theta^{\pix{k}}}$};
\node[random variable, variational, cascaded=variational, shift={(-1.2ex,-.6ex)}] (um) at (-1.3, -1.25) {$\rv{u^{\pix{k}}}$};
\node[random variable, hyperparameter] (sigmam) at (-1.3, -2) {$\rv{\sigma^{\pix{k}}}$};
\node[random variable, hyperparameter] (thetaalpham) at (3.3, -0.75) {$\rv{\theta_\alpha^{\pix{k}}}$};
\node[random variable, variational] (ualpham) at (3.3, -1.25) {$\rv{u_\alpha^{\pix{k}}}$};
\draw[edge, directed] ([xshift=1.5ex]thetam.east) -- +(1ex, 0) |- (fnm.west);
\draw[edge, directed] ([xshift=1.5ex]um.east) -- +(1ex, 0) |- (fnm.west);
\draw[edge, directed] (sigmam.east) -- (ynm.west);
\draw[edge, directed] (thetaalpham.west) -- +(-1ex, 0) |- (alphanm.east);
\draw[edge, directed] (ualpham.west) -- +(-1ex, 0) |- (alphanm.east);
}
% ---
\begin{scope}[on background layer]
\node[
plate, inner sep=10pt,
onslide={<2-> sStone, dashed, opacity=.5, fill opacity=.1},
fit=(fnm)(alphanm)(ynm),
label={[anchor=south east]south east:K}
] {};
plate,
inner xsep=15pt, inner ysep=12pt,
yshift=-6pt,
fit=(Xn)(fnm)(yn)(an),
label={[anchor=south east]south east:N},
] {};
\node[
plate,
inner xsep=10pt, inner ysep=5pt,
onslide={<-2> sStone, dashed, opacity=.5, fill opacity=.2},
fit=(thetam)(thetaalpham)(sigmam),
label={[anchor=south east]south east:K}
] {};
\end{scope}
\only<2>{
% ---
\only<1>{
\begin{scope}[on background layer]
\node[
"Flow"{sBlueDark, left, xshift=-5pt},
plate, inner sep=5pt,
"Mode models"{sBlueDark, left, xshift=-8pt},
plate,
xshift=4pt, yshift=3pt,
inner xsep=10pt, inner ysep=5pt,
sBlueDark,
fit=(fnm),
fit=(fnm)(ynm),
] {};
\node[
"Turbulence"{sBlueDark, below, xshift=10pt},
"Mode weights"{sBlueDark, right, xshift=8pt},
plate, inner sep=5pt,
sBlueDark,
fit=(sigmanm),
fit=(alphanm),
] {};
\node[
"Drop"{sBlueDark, right, xshift=5pt},
"Mode assignment"{sBlueDark, right, xshift=8pt},
plate, inner sep=5pt,
sBlueDark,
fit=(alphanm),
fit=(an),
] {};
\end{scope}
}
\only<3->{
\only<2>{
\begin{scope}[on background layer]
\node[
"Heteroskedastic GPs"{sBlueDark, left, xshift=-5pt},
plate, inner sep=5pt,
"(Deep) GPs"{sBlueDark, left, xshift=-8pt},
plate,
xshift=4pt, yshift=3pt,
inner xsep=10pt, inner ysep=5pt,
sBlueDark,
fit=(fnm)(sigmanm)(ynm),
fit=(fnm)(ynm),
] {};
\node[
"Mode assignment GPs"{sBlueDark, right, xshift=5pt},
"GPs"{sBlueDark, right, xshift=8pt},
plate, inner sep=5pt,
sBlueDark,
fit=(alphanm),
] {};
\node[
"Concrete mode distribution"{sBlueDark, right, xshift=5pt},
"Concrete distribution"{sBlueDark, right, xshift=8pt},
plate, inner sep=5pt,
sBlueDark,
fit=(an),

68
ecml-talk/interpretable_dynamics_models.tex

@ -79,9 +79,8 @@
\addbibresource{../zotero_export.bib}
\title{Interpretable Dynamics Models}
\subtitle{For Data-Efficient Reinforcement Learning}
\date{April 24, 2019}
\title{Data Association with Gaussian Processes}
\date{September 17, 2019}
\author{%
Markus Kaiser,
Clemens Otte,
@ -105,84 +104,53 @@
}
% \includeonlyframes{dynamics_posterior}
\includeonlyframes{graphical_model}
\begin{document}
\maketitle
\begin{frame}[label=noise_separation]{Noise Separation}
\centering
Motivating example: We have different generating processes, let's separate them
\end{frame}
\begin{frame}[label=wetchicken]{Wet-Chicken Benchmark\footcite{tresp_wet_1994,hans_efficient_2009}}
\begin{frame}[label=multimodal_data]{Multimodal data}
\centering
\includestandalonewithpath{figures/wetchicken}
Reinterpretation: Multiple modes to separte, it just comes down to different priors
\end{frame}
\begin{frame}[label=graphical_model_dynamics]{Dynamics: Graphical Model}
\begin{frame}[label=graphical_model]{Graphical Model of DAGP}
\centering
\includestandalonewithpath{figures/graphical_model_mdgp}
%
%\uncover<3->{
% \vspace{-2ex}
% \begin{align}
% \Prob*{\mat{s}_{t+1} \given \mat{\sigma}_t, \mat{f}_t, \mat{l}_t} =
% \prod_{k=1}^K
% \Gaussian*{\mat{s}_{t+1} \given \mat{f}_t^{\pix{k}}, \left(\mat{\sigma}_t^{\pix{k}}\right)^2}^{\Fun{\Ind}{l_t^{\pix{k}} = 1}}
% \end{align}
%}
\end{frame}
\begin{frame}[label=dynamics_posterior]{Dynamics: Posterior}
\begin{frame}[label=wetchicken]{Wet-Chicken Benchmark\footcite{tresp_wet_1994,hans_efficient_2009}}
\centering
\hspace*{-1.5em}\includestandalonewithpath{figures/dynamics_posterior}
\includestandalonewithpath{figures/wetchicken}
\end{frame}
\begin{frame}[label=graphical_model_rl]{Policy: Graphical Model}
\begin{frame}[label=dynamics_posterior]{Dynamics Posterior}
\centering
\includestandalonewithpath{figures/graphical_model_rl}
\hspace*{-1.5em}\includestandalonewithpath{figures/dynamics_posterior}
\end{frame}
\begin{frame}[label=policy]{Policy: Posterior}
\begin{frame}[label=policy]{Trained Policies}
\centering
\begin{columns}[T]
\begin{column}{.45\textwidth}
\includestandalone{figures/policy_quiver}
\end{column}
\begin{column}{.5\textwidth}
\centering
\sisetup{
table-format=-1.2(1),
table-number-alignment=center,
% omit-uncertainty,
% separate-uncertainty,
% table-align-uncertainty,
table-figures-uncertainty=1,
detect-weight,
}
\newcommand{\winner}{{\cellcolor{mStructure!40}}\bfseries}
\setlength{\tabcolsep}{10pt}
\footnotesize
\vspace{4ex}
\begin{tabular}{cSSS}
\toprule
{N} & {NFQ\footnotemark} & {GP\footnotemark} & {Ours} \\
\midrule
100 & 0.66 \pm 0.16 & \winner 1.41 \pm 0.01 & 1.18 \pm 0.09 \\
250 & 1.71 \pm 0.07 & 1.54 \pm 0.01 & \winner 2.33 \pm 0.01 \\
500 & 1.60 \pm 0.10 & 1.56 \pm 0.01 & \winner 2.25 \pm 0.01 \\
1000 & 1.99 \pm 0.06 & 2.13 \pm 0.01 & \winner 2.32 \pm 0.01 \\
2500 & 2.26 \pm 0.02 & 1.91 \pm 0.01 & \winner 2.28 \pm 0.01 \\
5000 & \winner 2.33 \pm 0.01 & 1.91 \pm 0.01 & 2.28 \pm 0.01 \\
\bottomrule
\end{tabular}
\begin{column}{.45\textwidth}
\includestandalone{figures/policy_quiver}
\end{column}
\end{columns}
\footnotetext[2]{\cite{riedmiller_neural_2005}}
\footnotetext[3]{\cite{deisenroth_pilco_2011}}
\end{frame}

Loading…
Cancel
Save