Compare commits
4 Commits
5fabe2e146
...
6e53ed5d1b
| Author | SHA1 | Date | |
|---|---|---|---|
| 6e53ed5d1b | |||
| 0016df0004 | |||
| 9ca2698d38 | |||
| 72461fe555 |
@@ -724,21 +724,20 @@ structure by passing soft information from earlier to later spatial positions.
|
||||
|
||||
% Passing messages requires messages
|
||||
|
||||
% TODO: Move this to the intro?
|
||||
The act of passing messages from one window to the next requires
|
||||
there being messages at the end of decoding that are still relevant
|
||||
to the decoding process.
|
||||
This somewhat limits the variety of inner decoders the warm-start
|
||||
there being messages after completing decoding of one window that are
|
||||
still relevant to the decoding of the next.
|
||||
This may somewhat limit the variety of \emph{inner decoders}, i.e.,
|
||||
the decoders decoding the individual windows, the warm-start
|
||||
initialization can be used with.
|
||||
E.g., \ac{bp}+\ac{osd} does not immediately seem suitable, though
|
||||
this remains to be investigated.
|
||||
\red{[Something general about the available decoders]}
|
||||
\red{[Define inner decoder]}
|
||||
We chose to investigate first plain \ac{bp} due to its simplicity and
|
||||
then \ac{bpgd} because of the availability of recently computed messages.
|
||||
|
||||
% Proposed modification: Mathematical definition
|
||||
|
||||
\content{Mention that our own work ties into the bottom category in
|
||||
\Cref{fig:literature}}
|
||||
% TODO: Include this?
|
||||
% \content{Mention that our own work ties into the bottom category in
|
||||
% \Cref{fig:literature}}
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Warm Start For Belief Propagation Decoding}
|
||||
@@ -861,7 +860,7 @@ this remains to be investigated.
|
||||
|
||||
\caption{
|
||||
\red{Visualization of the messages used for the
|
||||
initialization of the next window.}
|
||||
initialization of the next window under BP decoding.}
|
||||
\Acfp{vn} are represented using green circles while \acfp{cn}
|
||||
are represented using blue squares.
|
||||
}
|
||||
@@ -877,12 +876,14 @@ we perform a \emph{warm start} by initializing the messages in the
|
||||
overlapping region to the values last held during the decoding of the
|
||||
previous window.
|
||||
|
||||
% Practical realization: Problem with naive approach
|
||||
|
||||
To see how we realize this in practice, we reiterate the steps of the
|
||||
\ac{bp} algorithm
|
||||
\begin{align}
|
||||
\label{eq:init}
|
||||
\text{Initialization: } & L_{i \rightarrow j} = \tilde{L}_i \\[3mm]
|
||||
\text{\ac{cn} Update (Sum-Product): }&
|
||||
\text{\ac{cn} Update (SPA): }&
|
||||
\displaystyle L_{i \leftarrow j} =
|
||||
2\cdot(-1)^{s_j}\cdot\tanh^{-1}
|
||||
\!\left(
|
||||
@@ -891,8 +892,8 @@ To see how we realize this in practice, we reiterate the steps of the
|
||||
\right) \\[3mm]
|
||||
\text{\ac{cn} Update (Min-Sum): }&
|
||||
\displaystyle L_{i \leftarrow j} = (-1)^{s_j}\cdot \prod_{i'
|
||||
\in \mathcal{N}(j)\setminus i} \sign \left( L_{i' \rightarrow j}
|
||||
\right) \cdot \min_{i' \in \mathcal{N}(j)\setminus i} \lvert
|
||||
\in \mathcal{N}(j)\setminus \{i\}} \sign \left( L_{i' \rightarrow j}
|
||||
\right) \cdot \min_{i' \in \mathcal{N}(j)\setminus \{i\}} \lvert
|
||||
L_{i'\rightarrow j} \rvert \\[3mm]
|
||||
\label{eq:vn_update}
|
||||
\text{\ac{vn} Update: } & \displaystyle L_{i \rightarrow j} =
|
||||
@@ -921,6 +922,8 @@ This means that simply initializing the edges in the overlap region
|
||||
with the exising $L_{i\rightarrow j}$ messages and starting the
|
||||
decoding of the next window with a \ac{cn} update is not enough.
|
||||
|
||||
% Practical realization: working approach
|
||||
|
||||
We can resolve this issue by initializing the edges using the existing
|
||||
\ac{cn} to \ac{vn} messages $L_{i\leftarrow j}$ and beginning the
|
||||
decoding of the next window with a \ac{vn} update instead.
|
||||
@@ -928,6 +931,8 @@ This way, we recompute the existing $L_{i\rightarrow j}$ messages and
|
||||
additionally compute the messages crossing the window boundary.
|
||||
We can then continue decoding the next window as usual.
|
||||
|
||||
% Practical realization: Simplification of algorithm
|
||||
|
||||
We can further simplify the algorithm.
|
||||
Looking carefully at \Cref{eq:vn_update} we notice that when the
|
||||
\ac{cn} to \ac{vn} messages $L_{i\leftarrow j}$ have been zero-initialized,
|
||||
@@ -954,7 +959,7 @@ Note that the decoding procedure performed on the individual windows
|
||||
% tex-fmt: off
|
||||
\tikzexternaldisable
|
||||
\begin{algorithm}[t]
|
||||
\caption{Sliding-window belief propagation (BP) decoding algorithm with warm-start.}
|
||||
\caption{Sliding-window belief propagation (BP) decoding algorithm with warm start.}
|
||||
\label{alg:warm_start_bp}
|
||||
\begin{algorithmic}[1]
|
||||
\State \textbf{Initialize:} $\hat{\bm{e}}^\text{total} \leftarrow \bm{0}$
|
||||
@@ -988,14 +993,25 @@ Note that the decoding procedure performed on the individual windows
|
||||
\subsection{Warm Start for Belief Propagation with Guided Decimation Decoding}
|
||||
\label{subsec:Warm-Start Belief Propagation with Guided Decimation Decoding}
|
||||
|
||||
% Intro
|
||||
% Intro: Recap of BPGD
|
||||
|
||||
\content{Call back to previous paragraph: BPGD is one option where
|
||||
relevant messages are available}
|
||||
\content{Modified structure of BPGD $\rightarrow$ In addition to
|
||||
messages, pass decimation info}
|
||||
\content{(?) Explicitly mention decimation info = channel llrs?}
|
||||
\content{(?) Algorithm}
|
||||
We now direct our attention at using \ac{bpgd} as an inner decoder.
|
||||
Recall that for \ac{bpgd}, after a number $T \in \mathbb{N}$ of
|
||||
iterations we decimate
|
||||
the most reliable \ac{vn}, meaning we perform a hard decision and
|
||||
remove it from the following decoding process.
|
||||
|
||||
This means that when moving from one window to the next, we now have
|
||||
more information available: not just the \ac{bp} messages but also the
|
||||
information about what \acp{vn} were decimated and to what values.
|
||||
We call this \emph{decimation information} in the following.
|
||||
We can extend \Cref{alg:warm_start_bp} by additionally passing the
|
||||
decimation information after initializing the \ac{cn} to \ac{vn} messages.
|
||||
\Cref{fig:messages_decimation_tanner} visualizes this process.
|
||||
|
||||
% TODO: Do this in the fundamentals chapter. Then write a proper
|
||||
% algorithm for warm-start sliding-window decoding with BPGD as well
|
||||
%\content{(?) Explicitly mention decimation info = channel llrs?}
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
@@ -1125,12 +1141,45 @@ messages, pass decimation info}
|
||||
\end{tikzpicture}
|
||||
|
||||
\caption{
|
||||
Visualization of the messages and decimation information used for the
|
||||
initialization of the next window.
|
||||
\red{Visualization of the messages and decimation information
|
||||
used for the
|
||||
initialization of the next window under \ac{bpgd} decoding}.
|
||||
\Acfp{vn} are represented using green circles while \acfp{cn}
|
||||
are represented using blue squares.
|
||||
}
|
||||
\label{fig:messages_decimation_tanner}
|
||||
\end{figure}
|
||||
|
||||
% % tex-fmt: off
|
||||
% \tikzexternaldisable
|
||||
% \begin{algorithm}[t]
|
||||
% \caption{Sliding-window decoding algorithm with warm start for generic inner decoder.}
|
||||
% \label{alg:warm_start_general}
|
||||
% \begin{algorithmic}[1]
|
||||
% \State \textbf{Initialize:} $\hat{\bm{e}}^\text{total} \leftarrow \bm{0}$
|
||||
% \State \textbf{Initialize:} $L_{i\leftarrow j} = 0
|
||||
% ~\forall~ i\in \mathcal{I}, j\in \mathcal{J}$
|
||||
% \For{$\ell = 0, \ldots, n_\text{win}-1$}
|
||||
% \State Obtain $\hat{\bm{e}}^{(\ell)}$ from inner decoder
|
||||
% \State $\displaystyle\left(\hat{\bm{e}}^\text{total}\right)_{\mathcal{I}^{(\ell)}_\text{commit}} \leftarrow \hat{\bm{e}}^{(\ell)}_\text{commit}$
|
||||
% \State $\displaystyle\left(\bm{s}\right)_{\mathcal{J}_\text{overlap}^{(\ell)}}
|
||||
% \leftarrow \bm{H}_\text{overlap}^{(\ell)}
|
||||
% \left( \hat{\bm{e}}_\text{commit}^{(\ell)} \right)^\text{T}$
|
||||
% \If{$\ell < n_\text{win} - 1$}
|
||||
% \State $L^{(\ell+1)}_{i\leftarrow j} \leftarrow
|
||||
% L^{(\ell)}_{i\leftarrow j}
|
||||
% ~\forall~ i \in \mathcal{I}_\text{overlap}^{(\ell)},
|
||||
% j \in \mathcal{J}_\text{overlap}^{(\ell)}$
|
||||
% \EndIf
|
||||
% \EndFor
|
||||
% \State \textbf{return} $\hat{\bm{e}}$
|
||||
% \end{algorithmic}
|
||||
% \end{algorithm}
|
||||
% \tikzexternalenable
|
||||
% % tex-fmt: on
|
||||
%
|
||||
% \content{Make algorithm 4 specific to BPGD?}
|
||||
|
||||
\section{Numerical Results}
|
||||
\label{sec:Numerical Results}
|
||||
|
||||
@@ -1752,7 +1801,8 @@ previous experiments.
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\caption{Comparison of window sizes for $F=1$.}
|
||||
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
|
||||
elit, sed do eiusmod tempor incididunt}}
|
||||
\label{fig:bp_f_over_p}
|
||||
\end{subfigure}%
|
||||
\hfill%
|
||||
@@ -1860,7 +1910,8 @@ previous experiments.
|
||||
\end{tikzpicture}
|
||||
\vspace{-3.2mm}
|
||||
|
||||
\caption{Comparison of step sizes for $W=5$.}
|
||||
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
|
||||
elit, sed do eiusmod tempor incididunt}}
|
||||
\label{fig:bp_f_over_iter}
|
||||
\end{subfigure}
|
||||
|
||||
@@ -1976,6 +2027,18 @@ This motivates the next subsection, in which we replace the inner
|
||||
\subsection{Belief Propagation with Guided Decimation}
|
||||
\label{subsec:Belief Propagation with Guided Decimation}
|
||||
|
||||
% [Thread] Intro to BPGD + Local experimental setup
|
||||
|
||||
We now turn to \ac{bpgd} as the inner decoder, in order to address
|
||||
the convergence issues of plain \ac{bp} on \ac{qec} codes.
|
||||
For the underlying \ac{bp} step we use the \ac{spa} variant rather
|
||||
than the min-sum approximation employed in
|
||||
\Cref{subsec:Belief Propagation}, since this made the implementation
|
||||
of the guided decimation more straightforward.
|
||||
Furthermore, we set $T=1$, as this eases the
|
||||
computational requirements and \cite{yao_belief_2024} showed that most of
|
||||
the gain can be achieved even for low values of $T$.
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
\hspace*{-6mm}
|
||||
@@ -2004,7 +2067,7 @@ This motivates the next subsection, in which we replace the inner
|
||||
ylabel={Per-round-LER},
|
||||
% extra description/.code={
|
||||
% \node[rotate=90, anchor=south]
|
||||
% at ([xshift=10mm]current axis.east)
|
||||
% at ()
|
||||
% {Warm s. (---), Cold s. (- - -)};
|
||||
% },
|
||||
]
|
||||
@@ -2044,7 +2107,9 @@ This motivates the next subsection, in which we replace the inner
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\caption{Comparison of window sizes for $F=1$.}
|
||||
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
|
||||
elit, sed do eiusmod tempor incididunt}}
|
||||
\label{fig:bpgd_w}
|
||||
\end{subfigure}%
|
||||
\hfill%
|
||||
\begin{subfigure}{0.5\textwidth}
|
||||
@@ -2113,14 +2178,125 @@ This motivates the next subsection, in which we replace the inner
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\caption{Comparison of step sizes for $W=5$.}
|
||||
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
|
||||
elit, sed do eiusmod tempor incididunt}}
|
||||
\label{fig:bpgd_f}
|
||||
\end{subfigure}
|
||||
|
||||
\caption{
|
||||
\red{\lipsum[2]}
|
||||
}
|
||||
\label{fig:bpgd_wf}
|
||||
\end{figure}
|
||||
|
||||
% [Experimental parameters] Figure 4.10
|
||||
|
||||
\Cref{fig:bpgd_wf} shows the per-round \ac{ler} of \ac{bpgd}
|
||||
sliding-window decoding as a function of the physical error rate.
|
||||
In both panels the dashed curves correspond to cold-start
|
||||
sliding-window decoding and the solid curves to the
|
||||
corresponding warm-start decoding, where the warm start carries over both
|
||||
the \ac{bp} messages and the decimation information of the overlap
|
||||
region as described in
|
||||
\Cref{subsec:Warm-Start Belief Propagation with Guided Decimation Decoding}.
|
||||
The maximum number of inner \ac{bp} iterations was set to
|
||||
$n_\text{iter} = 5000$.
|
||||
This value was chosen to be at least as large as the number of
|
||||
\acp{vn} in any single window, since with one \ac{bp} iteration
|
||||
between consecutive decimations ($T = 1$ in the notation of
|
||||
\Cref{alg:bpgd}) this is the maximum number of inner iterations
|
||||
that can occur before every \ac{vn} in the window has been decimated.
|
||||
A preliminary investigation showed that \ac{bpgd} only delivers its
|
||||
intended performance gain once most \acp{vn} have actually been decimated,
|
||||
which motivated this choice.
|
||||
The physical error rate was swept from $p = 0.001$ to $p = 0.004$
|
||||
in steps of $0.0005$.
|
||||
\Cref{fig:bpgd_w} sweeps over the window size with
|
||||
$W \in \{3, 4, 5\}$ at fixed step size $F = 1$, and
|
||||
\Cref{fig:bpgd_f} sweeps over the step size with
|
||||
$F \in \{1, 2, 3\}$ at fixed window size $W = 5$.
|
||||
|
||||
% [Description] Figure 4.10
|
||||
|
||||
In both panels, every curve again exhibits the expected monotonic
|
||||
increase of the per-round \ac{ler} with the physical error rate.
|
||||
Across both panels and across all parameter choices, the warm-start
|
||||
curves lie above the corresponding cold-start curves, i.e.,
|
||||
the warm-start variant performsworse than its cold-start counterpart.
|
||||
This is the opposite of what we observed for plain \ac{bp}, where
|
||||
warm-start improved upon cold-start at every parameter setting.
|
||||
The gap between the warm- and cold-start curves additionally widens
|
||||
as the physical error rate decreases:
|
||||
at the lowest sampled rate $p = 0.001$, the per-round \ac{ler} of the
|
||||
warm-start runs is more than two orders of magnitude above that of
|
||||
the corresponding cold-start runs.
|
||||
In \Cref{fig:bpgd_w}, larger window sizes yield lower per-round
|
||||
\acp{ler} for both warm- and cold-start, and the spacing between the
|
||||
cold-start curves shrinks as $W$ grows.
|
||||
In \Cref{fig:bpgd_f}, the cold-start curves follow the previously seen
|
||||
ordering with $F = 1$ at the bottom and $F = 3$ at the top.
|
||||
The warm-start curves, however, exhibit the opposite ordering:
|
||||
$F = 1$ now yields the highest per-round \ac{ler}, $F = 2$ lies below
|
||||
it, and $F = 3$ is the lowest of the three warm-start curves.
|
||||
|
||||
% [Interpretation] Figure 4.10
|
||||
|
||||
The fact that warm-start sliding-window decoding now performs worse
|
||||
than its cold-start counterpart is surprising in light of the results
|
||||
for plain \ac{bp}, where the warm-start modification was uniformly beneficial.
|
||||
The dependence on the window size in \Cref{fig:bpgd_w} is, on its own,
|
||||
consistent with the same explanation that we gave for
|
||||
\Cref{fig:whole_vs_cold}: larger windows expose the inner decoder to
|
||||
a larger fraction of the constraints encoded in the detector error
|
||||
matrix at the time of decoding, and this benefits both warm- and
|
||||
cold-start decoding.
|
||||
The dependence on the step size in \Cref{fig:bpgd_f}, however, is the
|
||||
opposite of the corresponding dependence under plain \ac{bp}
|
||||
(\Cref{fig:bp_f_over_p}): for warm-start, smaller $F$ now hurts
|
||||
rather than helps, even though smaller $F$ implies a larger overlap
|
||||
in both cases.
|
||||
|
||||
This inversion provides a clue to what is going wrong.
|
||||
Recall from
|
||||
\Cref{subsec:Warm-Start Belief Propagation with Guided Decimation Decoding}
|
||||
that the warm start for \ac{bpgd} carries over not only the \ac{bp}
|
||||
messages on the edges of the overlap region but also the decimation
|
||||
information.
|
||||
Because we run with an iteration budget large enough to decimate
|
||||
every \ac{vn} in a window, by the time window $\ell$ ends, all
|
||||
of its \acp{vn} have already been hard-decided.
|
||||
For the \acp{vn} that lie in the overlap region with window $\ell + 1$
|
||||
this hard decision is then carried into the next window through the
|
||||
warm-start initialization, and the next window thus begins decoding
|
||||
with a substantial fraction of its \acp{vn} already frozen, before
|
||||
its own parity checks have had any chance to influence the
|
||||
corresponding bit estimates.
|
||||
This identifies one of two competing effects on the warm-start performance.
|
||||
The larger the overlap, the more such prematurely frozen \acp{vn} the
|
||||
next window inherits, which hurts performance.
|
||||
On the other hand, a larger window still exposes the inner decoder to
|
||||
a larger set of constraints, which helps performance.
|
||||
The two effects together are consistent with what we observe in
|
||||
\Cref{fig:bpgd_wf}.
|
||||
Increasing $W$ at fixed $F$ enlarges both the overlap and the window
|
||||
itself, and the benefit due to the larger $W$ dominates.
|
||||
Decreasing $F$ at fixed $W$, by contrast, enlarges only the overlap
|
||||
without enlarging the window, so the freezing effect is no longer
|
||||
offset and warm-start performance worsens with smaller $F$.
|
||||
|
||||
% [Thread] Test hypothesis by carying number of iterations
|
||||
|
||||
The hypothesis from the previous paragraph is straightforward to test.
|
||||
If the warm-start regression in \Cref{fig:bpgd_wf} is indeed caused by
|
||||
the decimation state being carried across the window boundary, then
|
||||
reducing the maximum number of inner \ac{bp} iterations
|
||||
$n_\text{iter}$ should reduce the maximum number of \acp{vn} that can
|
||||
be decimated before window $\ell$ commits, and the warm-start
|
||||
performance should approach that of warm-start under plain \ac{bp} as
|
||||
$n_\text{iter}$ is lowered.
|
||||
We therefore now vary $n_\text{iter}$ at fixed window parameters and
|
||||
fixed physical error rate.
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
\hspace*{-6mm}
|
||||
@@ -2191,7 +2367,9 @@ This motivates the next subsection, in which we replace the inner
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\caption{Comparison of window sizes for $F=1$.}
|
||||
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
|
||||
elit, sed do eiusmod tempor incididunt}}
|
||||
\label{fig:bpgd_iter_W}
|
||||
\end{subfigure}%
|
||||
\hfill%
|
||||
\begin{subfigure}{0.48\textwidth}
|
||||
@@ -2262,16 +2440,120 @@ This motivates the next subsection, in which we replace the inner
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\caption{
|
||||
Comparison of step sizes for $W=5$.
|
||||
}
|
||||
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
|
||||
elit, sed do eiusmod tempor incididunt}}
|
||||
\label{fig:bpgd_iter_F}
|
||||
\end{subfigure}
|
||||
|
||||
\caption{
|
||||
\red{\lipsum[2]}
|
||||
}
|
||||
\label{fig:bpgd_iter}
|
||||
\end{figure}
|
||||
|
||||
% [Experimental parameters] Figure 4.11
|
||||
|
||||
\Cref{fig:bpgd_iter} shows the per-round \ac{ler} of \ac{bpgd}
|
||||
sliding-window decoding as a function of the maximum number of inner
|
||||
\ac{bp} iterations $n_\text{iter}$.
|
||||
The dashed colored curves correspond to cold-start sliding-window
|
||||
decoding and the solid colored curves to warm-start, again carrying
|
||||
over both the \ac{bp} messages and the channel \acp{llr} on the
|
||||
overlap region.
|
||||
The physical error rate is fixed at $p = 0.0025$ and the iteration
|
||||
budget is swept over $n_\text{iter} \in \{32, 128, 256, 512, 1024,
|
||||
1536, 2048, 2560, 3072, 3584, 4096\}$.
|
||||
\Cref{fig:bpgd_iter_W} sweeps over the window size with
|
||||
$W \in \{3, 4, 5\}$ at fixed step size $F = 1$, and
|
||||
\Cref{fig:bpgd_iter_F} sweeps over the step size with
|
||||
$F \in \{1, 2, 3\}$ at fixed window size $W = 5$.
|
||||
|
||||
% [Description] Figure 4.11
|
||||
|
||||
For low iteration budgets, all curves in both panels behave similarly
|
||||
to the plain-\ac{bp} curves in
|
||||
\Cref{fig:bp_w_over_iter,fig:bp_f_over_iter}.
|
||||
The per-round \ac{ler} decreases gradually with $n_\text{iter}$, and
|
||||
the warm-start curves lie below their cold-start counterparts at
|
||||
matching window parameters.
|
||||
As $n_\text{iter}$ continues to grow, however, the cold-start curves
|
||||
undergo a sharp drop, after which they lie roughly an order of
|
||||
magnitude below the warm-start curves, and eventually settle into a
|
||||
flat plateau.
|
||||
The warm-start curves first reach a minimum at an intermediate
|
||||
iteration count, then turn upwards, and finally also approach a
|
||||
plateau, albeit at a substantially higher per-round \ac{ler}.
|
||||
The warm-start curves are also less smooth than the cold-start ones
|
||||
at certain points.
|
||||
|
||||
In \Cref{fig:bpgd_iter_W}, the iteration count at which the
|
||||
cold-start curves drop sharply increases with the window size, from
|
||||
roughly $n_\text{iter} \approx 2000$ for $W = 3$, to
|
||||
$\approx 2500$ for $W = 4$, to $\approx 3000$ for $W = 5$.
|
||||
The corresponding warm-start curves reach their minima at
|
||||
approximately the same iteration counts, and from there onwards begin
|
||||
to worsen.
|
||||
At the largest sampled iteration budget, the cold-start curves have
|
||||
plateaued at per-round \acp{ler} of order $10^{-3}$ while the
|
||||
warm-start curves have grown to per-round \acp{ler} above
|
||||
$4 \times 10^{-2}$.
|
||||
In \Cref{fig:bpgd_iter_F}, the cold-start curves drop sharply at
|
||||
roughly the same iteration count for all three step sizes, while
|
||||
the warm-start curves now show a clear reordering as $n_\text{iter}$
|
||||
grows.
|
||||
At low iteration budgets the warm-start ordering matches the
|
||||
cold-start ordering, with $F = 1$ best and $F = 3$ worst, but at the
|
||||
largest iteration budget this ordering is fully inverted: warm-start
|
||||
$F = 1$ is now the worst and $F = 3$ the best.
|
||||
|
||||
% [Interpretation] Figure 4.11
|
||||
|
||||
The cold-start behavior matches the preliminary investigation that
|
||||
motivated our choice of $n_\text{iter} = 5000$ in \Cref{fig:bpgd_wf}.
|
||||
At low iteration budgets the inner decoder has not yet had time to
|
||||
decimate a substantial fraction of the \acp{vn}, so its behavior
|
||||
remains close to that of plain \ac{bp}.
|
||||
Once the iteration budget is large enough for the decimation effects
|
||||
to become pronounced, the per-round \ac{ler} drops sharply and
|
||||
\ac{bpgd} delivers its intended performance gain.
|
||||
Once every \ac{vn} in a window has been decimated, no further
|
||||
iterations can change the outcome, which is why each cold-start curve
|
||||
reaches a flat plateau.
|
||||
|
||||
The warm-start curves exhibit the same two regimes, but with the
|
||||
opposite outcome in the second one, which is exactly what our earlier
|
||||
hypothesis predicts.
|
||||
At low $n_\text{iter}$, decimation has not yet taken hold and the
|
||||
warm-start initialization carries forward only the \ac{bp} messages
|
||||
in any meaningful sense, so the warm-start variant outperforms its
|
||||
cold-start counterpart for the same reason as in the plain-\ac{bp}
|
||||
investigation.
|
||||
As $n_\text{iter}$ grows past the point where decimation begins to
|
||||
matter, the decimation information carried over starts to impede the
|
||||
decoding performance.
|
||||
|
||||
The same mechanism explains the inversion of the step-size ordering
|
||||
in \Cref{fig:bpgd_iter_F}.
|
||||
At low iteration budgets, the ordering is set by the same overlap
|
||||
argument as for plain \ac{bp}: smaller $F$ implies a larger overlap
|
||||
between consecutive windows, more shared messages, and therefore
|
||||
better warm-start performance.
|
||||
At large iteration budgets, the ordering is set by the premature hard
|
||||
decisions of the \acp{vn}.
|
||||
We do not have a definitive explanation for the roughness visible in some
|
||||
of the warm-start curves and limit ourselves to noting it.
|
||||
|
||||
% [Thread] Turn to previous way of warm-start
|
||||
|
||||
The natural consequence of the previous diagnosis is to drop the
|
||||
problematic part of the warm-start initialization for \ac{bpgd} and
|
||||
to carry over only the \ac{bp} messages on the edges of the overlap
|
||||
region, as in \Cref{fig:messages_tanner}, while leaving the channel
|
||||
\acp{llr} of the next window in their original cold-start state.
|
||||
Note that some information about the previous window's decimation
|
||||
state is still implicitly carried over through the \ac{bp} messages,
|
||||
since the decimation decisions were made based on the messages themselves.
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
\hspace*{-6mm}
|
||||
@@ -2340,7 +2622,9 @@ This motivates the next subsection, in which we replace the inner
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\caption{Comparison of window sizes for $F=1$.}
|
||||
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
|
||||
elit, sed do eiusmod tempor incididunt}}
|
||||
\label{fig:bpgd_msg_W}
|
||||
\end{subfigure}%
|
||||
\hfill%
|
||||
\begin{subfigure}{0.5\textwidth}
|
||||
@@ -2409,14 +2693,73 @@ This motivates the next subsection, in which we replace the inner
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\caption{Comparison of step sizes for $W=5$.}
|
||||
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
|
||||
elit, sed do eiusmod tempor incididunt}}
|
||||
\label{fig:bpgd_msg_F}
|
||||
\end{subfigure}
|
||||
|
||||
\caption{
|
||||
\red{\lipsum[2]}
|
||||
}
|
||||
\label{fig:bpgd_msg}
|
||||
\end{figure}
|
||||
|
||||
% [Experimental parameters] Figure 4.12
|
||||
|
||||
\Cref{fig:bpgd_msg} repeats the experiment of \Cref{fig:bpgd_wf}
|
||||
with the modified warm-start procedure that carries over only the
|
||||
\ac{bp} messages.
|
||||
All other experimental parameters are unchanged: the maximum number
|
||||
of inner \ac{bp} iterations is $n_\text{iter} = 5000$, and the
|
||||
physical error rate is swept from $p = 0.001$ to $p = 0.004$ in steps
|
||||
of $0.0005$.
|
||||
The cold-start curves (dashed) are identical to those in
|
||||
\Cref{fig:bpgd_wf}.
|
||||
The warm-start curves are shown with solid lines.
|
||||
\Cref{fig:bpgd_msg_W} sweeps over the window size with
|
||||
$W \in \{3, 4, 5\}$ at fixed step size $F = 1$, and
|
||||
\Cref{fig:bpgd_msg_F} sweeps over the step size with
|
||||
$F \in \{1, 2, 3\}$ at fixed window size $W = 5$.
|
||||
|
||||
% [Description] Figure 4.12
|
||||
|
||||
The warm-start curves now lie below their cold-start counterparts
|
||||
across both panels and across the entire physical error rate range,
|
||||
in contrast to \Cref{fig:bpgd_wf}.
|
||||
In \Cref{fig:bpgd_msg_W}, larger window sizes again yield lower
|
||||
per-round \acp{ler} for both warm- and cold-start, and the warm-start
|
||||
advantage over cold-start is more pronounced for $W \in \{4, 5\}$
|
||||
than for $W = 3$, where the warm- and cold-start curves nearly coincide.
|
||||
In \Cref{fig:bpgd_msg_F}, smaller step sizes again yield lower
|
||||
per-round \acp{ler} for both warm- and cold-start, and the warm-start
|
||||
advantage over cold-start is most pronounced for $F = 1$ and shrinks
|
||||
as $F$ grows.
|
||||
|
||||
% [Description] Interpretation 4.12
|
||||
|
||||
Removing the channel \acp{llr} from the warm-start initialization lifts
|
||||
the warm-start regression observed in \Cref{fig:bpgd_wf},
|
||||
and warm-start now consistently outperforms cold-start.
|
||||
The dependence on the window size and the step size also recovers
|
||||
the qualitative behavior we observed for plain \ac{bp} in
|
||||
\Cref{fig:whole_vs_cold_vs_warm,fig:bp_f_over_p}: a larger overlap
|
||||
between consecutive windows, achieved either by enlarging $W$ or by
|
||||
decreasing $F$, both improves the absolute decoding performance and
|
||||
increases the warm-start advantage over cold-start.
|
||||
This is consistent with the original effective-iterations picture.
|
||||
Without the premature hard decisions from carried-over decimation
|
||||
information, the warm-start initialization once again amounts to
|
||||
additional \ac{bp} iterations on the \acp{vn} of the overlap region,
|
||||
and the larger the overlap, the more such effective iterations are gained.
|
||||
|
||||
% [Thread] As before, view max iter behavior
|
||||
|
||||
Finally, we repeat the iteration-budget sweep of \Cref{fig:bpgd_iter}
|
||||
with the message-only warm-start procedure.
|
||||
This serves both to verify that the premature hard decision effect
|
||||
does not reappear at any iteration count and to compare the warm- and
|
||||
cold-start curves across the entire range of $n_\text{iter}$ available to us.
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
\hspace*{-6mm}
|
||||
@@ -2487,7 +2830,9 @@ This motivates the next subsection, in which we replace the inner
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\caption{Comparison of window sizes for $F=1$.}
|
||||
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
|
||||
elit, sed do eiusmod tempor incididunt}}
|
||||
\label{fig:bpgd_msg_iter_W}
|
||||
\end{subfigure}%
|
||||
\hfill%
|
||||
\begin{subfigure}{0.48\textwidth}
|
||||
@@ -2558,13 +2903,76 @@ This motivates the next subsection, in which we replace the inner
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\caption{
|
||||
Comparison of step sizes for $W=5$.
|
||||
}
|
||||
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
|
||||
elit, sed do eiusmod tempor incididunt}}
|
||||
\label{fig:bpgd_msg_iter_F}
|
||||
\end{subfigure}
|
||||
|
||||
\caption{
|
||||
\red{\lipsum[2]}
|
||||
}
|
||||
\label{fig:bpgd_msg_iter}
|
||||
\end{figure}
|
||||
|
||||
% [Experimental parameters] Figure 4.13
|
||||
|
||||
\Cref{fig:bpgd_msg_iter} repeats the experiment of
|
||||
\Cref{fig:bpgd_iter} with the modified warm-start procedure that
|
||||
carries over only the \ac{bp} messages.
|
||||
All other experimental parameters are unchanged: the physical error
|
||||
rate is fixed at $p = 0.0025$ and the iteration budget is swept over
|
||||
$n_\text{iter} \in \{32, 128, 256, 512, 1024, 1536, 2048, 2560,
|
||||
3072, 3584, 4096\}$.
|
||||
The cold-start curves (dashed) are identical to those in
|
||||
\Cref{fig:bpgd_iter}.
|
||||
\Cref{fig:bpgd_msg_iter_W} sweeps over the window size with
|
||||
$W \in \{3, 4, 5\}$ at fixed step size $F = 1$, and
|
||||
\Cref{fig:bpgd_msg_iter_F} sweeps over the step size with
|
||||
$F \in \{1, 2, 3\}$ at fixed window size $W = 5$.
|
||||
|
||||
% [Description] Figure 4.13
|
||||
|
||||
The warm-start curves now again lie consistently below their cold-start
|
||||
counterparts across both panels and across the entire range of
|
||||
$n_\text{iter}$, contrary to \Cref{fig:bpgd_iter}.
|
||||
The warm-start curves furthermore track the overall shape of the
|
||||
corresponding cold-start curves closely, including the iteration
|
||||
count at which they drop sharply and the level at which they plateau.
|
||||
The warm-start improvement over cold-start grows with the window size
|
||||
in \Cref{fig:bpgd_msg_iter_W} and shrinks with the step size in
|
||||
\Cref{fig:bpgd_msg_iter_F}, with the largest gap visible at $W = 5$
|
||||
and at $F = 1$, respectively.
|
||||
|
||||
% [Interpretation] Figure 4.13
|
||||
|
||||
These observations match our expectations.
|
||||
With only the \ac{bp} messages carried over, the warm-start
|
||||
initialization no longer freezes any \acp{vn} in the next window
|
||||
The dependence of this benefit on $W$ and $F$ also recovers the
|
||||
pattern observed for plain \ac{bp} in
|
||||
\Cref{fig:whole_vs_cold_vs_warm,fig:bp_f_over_p}:
|
||||
larger overlap, achieved by larger $W$ or smaller $F$, yields more
|
||||
effective extra iterations and therefore a larger warm-start gain.
|
||||
|
||||
% BPGD conclusion
|
||||
|
||||
We conclude our investigation into the performance of warm-start
|
||||
sliding-window decoding under \ac{bpgd} by summarizing our findings.
|
||||
Warm-starting the inner decoder still provides a consistent
|
||||
performance gain when the inner decoder is upgraded from plain
|
||||
\ac{bp} to its guided-decimation variant, but only if some care is
|
||||
taken in choosing what to carry over.
|
||||
Passing the channel \acp{llr} along with the \ac{bp} messages,
|
||||
as suggested by naively carrying over the warm-start idea to \ac{bpgd},
|
||||
leads to premature hard decisions on \acp{vn} in the overlap region.
|
||||
This leads to warm-start initialization actually worsening the
|
||||
performance compared to cold-start initialization.
|
||||
Restricting the warm start to the \ac{bp} messages alone removes
|
||||
this effect and recovers a consistent warm-start improvement over
|
||||
cold-start that follows the same behavior as for plain \ac{bp} with
|
||||
regard to overlap.
|
||||
A second observation specific to \ac{bpgd} is that its iteration
|
||||
requirements are substantially larger than those of plain \ac{bp}:
|
||||
the per-round \ac{ler} drops sharply only once the iteration budget
|
||||
is on the order of the number of \acp{vn} in each window.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user