Moved appendix slides to front; Changed graph scaling

This commit is contained in:
Andreas Tsouchlos 2023-01-26 00:48:54 +01:00
parent 9ca69da479
commit d0fff24e12
4 changed files with 145 additions and 133 deletions

View File

@ -99,3 +99,14 @@
doi = {10.1109/ISIT.2013.6620477}
}
@ARTICLE{feldman_paper,
author={Feldman, J. and Wainwright, M.J. and Karger, D.R.},
journal={IEEE Transactions on Information Theory},
title={Using linear programming to Decode Binary linear codes},
year={2005},
volume={51},
number={3},
pages={954-972},
doi={10.1109/TIT.2004.842696}
}

View File

@ -1,121 +1,5 @@
\appendix
%\appendix
%
%\section{Proximal Decoding}%
%\label{app:Proximal Decoding}
\section{Proximal Decoding}%
\label{app:Proximal Decoding}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Proximal Decoding: Time Complexity}
\begin{figure}[H]
\centering
\begin{tikzpicture}[scale=0.7]
\begin{axis}[
grid=both,
xlabel={$n$}, ylabel={time per frame (s)},
legend style={at={(0.05,0.77)},anchor=south west},
]
\addplot[only marks, red] table [col sep=comma,
x=n, y=spf] {res/proximal/fps_vs_n.csv};
\addlegendentry{proximal}
\addplot[only marks, blue] table [col sep=comma,
x=n, y=spf] {res/hybrid/fps_vs_n.csv};
\addlegendentry{hybrid prox \& ML ($\SI{12}{\bit}$)}
\end{axis}
\end{tikzpicture}
\caption{Time Complexity of Proximal Decoding and Modified Implementation\footnotemark}
\label{fig:fps_vs_n}
\end{figure}
\footnotetext{The points shown were calculated by evaluating the metadata
of BER simulation results from the following codes:
BCH $\left( 31, 11 \right)$;
BCH $\left( 31, 26 \right)$;
\cite[\text{96.3.965; 204.33.484;
204.55.187; 408.33.844; PEGReg252x504}]{mackay_enc}
}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Proximal Decoding: Visualization of Gradients}
\setcounter{footnote}{0}
\begin{figure}[H]
\centering
\begin{subfigure}[c]{0.5\textwidth}
\centering
\begin{tikzpicture}[scale=0.8]
\begin{axis}[xmin = -1.25, xmax=1.25,
ymin = -1.25, ymax=1.25,
xlabel={$x_1$}, ylabel={$x_2$},
grid=major, grid style={dotted},
view={0}{90}]
\addplot3[point meta=\thisrow{grad_norm},
point meta min=1,
point meta max=3,
quiver={u=\thisrow{grad_0},
v=\thisrow{grad_1},
scale arrows=.05,
every arrow/.append style={%
line width=.3+\pgfplotspointmetatransformed/1000,
-{Latex[length=0pt 5,width=0pt 3]}
},
},
quiver/colored = {mapped color},
colormap/rocket,
-stealth,
]
table[col sep=comma] {res/proximal/2d_grad_L.csv};
\end{axis}
\end{tikzpicture}
\caption{$\nabla L \left(\boldsymbol{y} \mid \boldsymbol{x} \right) $ for a repetition code with $n=2$
\footnotemark}
\end{subfigure}%
\begin{subfigure}[c]{0.5\textwidth}
\centering
\begin{tikzpicture}[scale=0.8]
\begin{axis}[xmin = -1.25, xmax=1.25,
ymin = -1.25, ymax=1.25,
xlabel={$x_1$}, ylabel={$x_2$},
grid=major, grid style={dotted},
view={0}{90}]
\addplot3[point meta=\thisrow{grad_norm},
point meta min=1,
point meta max=4,
quiver={u=\thisrow{grad_0},
v=\thisrow{grad_1},
scale arrows=.03,
every arrow/.append style={%
line width=.3+\pgfplotspointmetatransformed/1000,
-{Latex[length=0pt 5,width=0pt 3]}
},
},
quiver/colored = {mapped color},
colormap/rocket,
-stealth,
]
table[col sep=comma] {res/proximal/2d_grad_h.csv};
\end{axis}
\end{tikzpicture}
\caption{$\nabla h \left( \boldsymbol{x} \right) $ for a repetition code with $n=2$}
\end{subfigure}%
\end{figure}
\footnotetext{In an AWGN Channel $\nabla L\left( \boldsymbol{y} \mid \boldsymbol{x}\right)
\propto \left( \boldsymbol{x} - \boldsymbol{y} \right)$
\cite[Sec. 4.1]{proximal_paper}}
\end{frame}

View File

@ -13,12 +13,12 @@
\item MAP rule:
\begin{align*}
\hat{\boldsymbol{x}}
= \argmax_{x\in\mathbb{R}}\left[
= \argmax_{x\in\mathbb{R}}
f_{\boldsymbol{Y}}\left( \boldsymbol{y} | \boldsymbol{x} \right)
f_{\boldsymbol{X}}\left( \boldsymbol{x} \right) \right]
= \argmax_{x\in\mathbb{R}}\left[
f_{\boldsymbol{X}}\left( \boldsymbol{x} \right)
= \argmax_{x\in\mathbb{R}}
e^{-L\left( \boldsymbol{y} | \boldsymbol{x}\right)}
f_{\boldsymbol{X}}\left( \boldsymbol{x} \right) \right]
f_{\boldsymbol{X}}\left( \boldsymbol{x} \right)
\end{align*}
\item Approximation of prior PDF:
\begin{align*}
@ -111,7 +111,7 @@ return $\boldsymbol{\hat{c}}$
\label{sub:LP Decoding}
\begin{frame}[t]
\frametitle{LP Decoding}
\frametitle{LP Decoding \cite{feldman_paper}}
\begin{minipage}[c]{0.6\linewidth}
\begin{itemize}

View File

@ -653,6 +653,85 @@ return $\boldsymbol{\hat{c}}$
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Proximal Decoding: Visualization of Gradients}
\setcounter{footnote}{0}
\begin{figure}[H]
\centering
\begin{subfigure}[c]{0.5\textwidth}
\centering
\begin{tikzpicture}[scale=0.8]
\begin{axis}[xmin = -1.25, xmax=1.25,
ymin = -1.25, ymax=1.25,
xlabel={$x_1$}, ylabel={$x_2$},
grid=major, grid style={dotted},
view={0}{90}]
\addplot3[point meta=\thisrow{grad_norm},
point meta min=1,
point meta max=3,
quiver={u=\thisrow{grad_0},
v=\thisrow{grad_1},
scale arrows=.05,
every arrow/.append style={%
line width=.3+\pgfplotspointmetatransformed/1000,
-{Latex[length=0pt 5,width=0pt 3]}
},
},
quiver/colored = {mapped color},
colormap/rocket,
-stealth,
]
table[col sep=comma] {res/proximal/2d_grad_L.csv};
\end{axis}
\end{tikzpicture}
\caption{$\nabla L \left(\boldsymbol{y} \mid \boldsymbol{x} \right) $ for a repetition code with $n=2$
\footnotemark}
\end{subfigure}%
\begin{subfigure}[c]{0.5\textwidth}
\centering
\begin{tikzpicture}[scale=0.8]
\begin{axis}[xmin = -1.25, xmax=1.25,
ymin = -1.25, ymax=1.25,
xlabel={$x_1$}, ylabel={$x_2$},
grid=major, grid style={dotted},
view={0}{90}]
\addplot3[point meta=\thisrow{grad_norm},
point meta min=1,
point meta max=4,
quiver={u=\thisrow{grad_0},
v=\thisrow{grad_1},
scale arrows=.03,
every arrow/.append style={%
line width=.3+\pgfplotspointmetatransformed/1000,
-{Latex[length=0pt 5,width=0pt 3]}
},
},
quiver/colored = {mapped color},
colormap/rocket,
-stealth,
]
table[col sep=comma] {res/proximal/2d_grad_h.csv};
\end{axis}
\end{tikzpicture}
\caption{$\nabla h \left( \boldsymbol{x} \right) $ for a repetition code with $n=2$}
\end{subfigure}%
\end{figure}
\footnotetext{In an AWGN Channel $\nabla L\left( \boldsymbol{y} \mid \boldsymbol{x}\right)
\propto \left( \boldsymbol{x} - \boldsymbol{y} \right)$
\cite[Sec. 4.1]{proximal_paper}}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Proximal Decoder: Oscillation of $\nabla h\left( \boldsymbol{x} \right) $}
@ -675,7 +754,7 @@ return $\boldsymbol{\hat{c}}$
\begin{tikzpicture}[scale = 0.85]
\begin{axis}[
grid=both,
xlabel={$k$},
xlabel={Iterations},
width=8cm,
height=3cm,
scale only axis,
@ -695,7 +774,7 @@ return $\boldsymbol{\hat{c}}$
\end{axis}
\end{tikzpicture}
\caption{Internal variables of proximal decoder as a function of k
\caption{Internal variables of proximal decoder as a function of the iteration
($n=204$)\footnotemark}
\end{subfigure}%
\begin{subfigure}[c]{0.5\textwidth}
@ -1053,7 +1132,7 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_n\text{ with lowest }d
legend pos=outer north east,
%legend columns=2,
%legend style={at={(0.5,-0.45)},anchor=south},
ymax=1.5, ymin=3e-8,
ymax=1.5, ymin=8e-4,
]
\addplot[ForestGreen, mark=*, solid]
@ -1096,7 +1175,7 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_n\text{ with lowest }d
legend columns=1,
legend pos=outer north east,
xmin=0.5, xmax=6, xtick={1, ..., 5},
ymax=1.5, ymin=3e-8,
ymax=1.5, ymin=8e-5,
]
\addplot[ForestGreen, mark=*, solid,]
@ -1152,7 +1231,7 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_n\text{ with lowest }d
legend pos=outer north east,
%legend columns=2,
%legend style={at={(0.5,-0.45)},anchor=south},
ymax=1.5, ymin=3e-8,
ymax=1.5, ymin=8e-5,
]
\addplot[ForestGreen, mark=*, solid]
@ -1196,7 +1275,7 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_n\text{ with lowest }d
legend pos=outer north east,
%legend columns=2,
%legend style={at={(0.5,-0.45)},anchor=south},
ymax=1.5, ymin=3e-8,
ymax=1.5, ymin=8e-5,
]
\addplot[ForestGreen, mark=*, solid]
@ -1240,7 +1319,7 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_n\text{ with lowest }d
legend pos=outer north east,
%legend columns=2,
%legend style={at={(0.5,-0.45)},anchor=south},
ymax=1.5, ymin=3e-8,
ymax=1.5, ymin=8e-5,
]
\addplot[ForestGreen, mark=*, solid]
@ -1282,7 +1361,7 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_n\text{ with lowest }d
ymode=log,
legend columns=1,
legend pos=outer north east,
ymax=1.5, ymin=3e-8,
ymax=1.5, ymin=8e-5,
]
\addplot[ForestGreen, mark=*, solid]
@ -1370,6 +1449,44 @@ $\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_n\text{ with lowest }d
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Proximal Decoding: Time Complexity}
\begin{figure}[H]
\centering
\begin{tikzpicture}[scale=0.7]
\begin{axis}[
grid=both,
xlabel={$n$}, ylabel={time per frame (s)},
legend style={at={(0.05,0.77)},anchor=south west},
]
\addplot[only marks, red] table [col sep=comma,
x=n, y=spf] {res/proximal/fps_vs_n.csv};
\addlegendentry{proximal}
\addplot[only marks, blue] table [col sep=comma,
x=n, y=spf] {res/hybrid/fps_vs_n.csv};
\addlegendentry{hybrid prox \& ML ($\SI{12}{\bit}$)}
\end{axis}
\end{tikzpicture}
\caption{Time Complexity of Proximal Decoding and Modified Implementation\footnotemark}
\label{fig:fps_vs_n}
\end{figure}
\footnotetext{The points shown were calculated by evaluating the metadata
of BER simulation results from the following codes:
BCH $\left( 31, 11 \right)$;
BCH $\left( 31, 26 \right)$;
\cite[\text{96.3.965; 204.33.484;
204.55.187; 408.33.844; PEGReg252x504}]{mackay_enc}
}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\begin{frame}[t, fragile]
% \frametitle{Proximal Decoding: Improvement using ``ML-on-List''}