Add paragraphs exp. params, description, and interpretation for fig. 4.9
This commit is contained in:
@@ -1476,23 +1476,6 @@ irrespective of the initialization, can beat, since by construction
|
||||
whole-block decoding has access to the full set of constraints
|
||||
available to any window.
|
||||
|
||||
% [Description] Figure 4.9
|
||||
% - Parameters
|
||||
% - # BP iterations
|
||||
% - W,F
|
||||
% - Physical error rates
|
||||
% - Warm vs cold start
|
||||
% - Figure description
|
||||
% - TODO:
|
||||
|
||||
% [Interpretation] Figure 4.9
|
||||
% -
|
||||
|
||||
% At some later point
|
||||
\content{When looking at max iterations: Callback to diminishing
|
||||
returns with growing window size: More iterations more beneficial
|
||||
than larger window (+1 for warm-start)}
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
\begin{tikzpicture}
|
||||
@@ -1598,104 +1581,86 @@ than larger window (+1 for warm-start)}
|
||||
\caption{
|
||||
\red{\lipsum[2]}
|
||||
}
|
||||
\label{fig:bp_w_over_iter}
|
||||
\end{figure}
|
||||
|
||||
% \begin{figure}[t]
|
||||
% \centering
|
||||
% \begin{tikzpicture}[spy using outlines={circle, magnification=2,
|
||||
% connect spies}]
|
||||
%
|
||||
% \begin{axis}[
|
||||
% width=\figwidth,
|
||||
% height=\figheight,
|
||||
% ymode=log,
|
||||
% % xmode=log,
|
||||
% legend style={
|
||||
% cells={anchor=west},
|
||||
% cells={align=left},
|
||||
% },
|
||||
% enlargelimits=false,
|
||||
% ymin=1e-3, ymax=1e-1,
|
||||
% grid=both,
|
||||
% legend pos = north east,
|
||||
% xtick={32,512,1024,2048,4096},
|
||||
% % xtick={0.001,0.0015,...,0.004},
|
||||
% xticklabels =
|
||||
% {$32$,$512$,$1{,}024$,,$2{,}048$,,$3{,}072$,,$4{,}096$},
|
||||
% xtick={32, 512, 1024, 1536, 2048, 2560, 3072, 3584, 4096},
|
||||
% xticklabel style={/pgf/number format/fixed},
|
||||
% xticklabel style={/pgf/number format/precision=4},
|
||||
% % x tick label style={rotate=45, anchor=north east,
|
||||
% % inner sep=1mm},
|
||||
% scaled x ticks=false,
|
||||
% xlabel={Number of BP iterations},
|
||||
% ylabel={Per-round-LER},
|
||||
% extra description/.code={
|
||||
% \node[rotate=90, anchor=south]
|
||||
% at ([xshift=10mm]current axis.east)
|
||||
% {Warm s. (---), Cold s. (- - -)};
|
||||
% },
|
||||
% ]
|
||||
%
|
||||
% \foreach \W/\col/\mark in
|
||||
% {3/KITred/triangle,4/KITblue/diamond,5/KITorange/square} {
|
||||
% \edef\temp{\noexpand
|
||||
% \addplot+[mark=\mark, densely dashed,
|
||||
% forget plot, \col]
|
||||
% table[
|
||||
% col sep=comma, x=max_iter,
|
||||
% y=LER_per_round,
|
||||
% ]
|
||||
% {res/sim/max_iter/WindowingSyndromeMinSumDecoder/p_0.0025/pass_soft_info_False/F_1/W_\W/LERs.csv};
|
||||
% }
|
||||
% \temp
|
||||
% }
|
||||
%
|
||||
% \foreach \W/\col/\mark in
|
||||
% {3/KITred/triangle*,4/KITblue/diamond*,5/KITorange/square*} {
|
||||
% \edef\temp{\noexpand
|
||||
% \addplot+[mark=\mark, solid, mark
|
||||
% options={fill=\col}, \col]
|
||||
% table[
|
||||
% col sep=comma, x=max_iter,
|
||||
% y=LER_per_round,
|
||||
% ]
|
||||
% {res/sim/max_iter/WindowingSyndromeMinSumDecoder/p_0.0025/pass_soft_info_True/F_1/W_\W/LERs.csv};
|
||||
% }
|
||||
% \temp
|
||||
%
|
||||
% \addlegendentryexpanded{$W = \W$}
|
||||
% }
|
||||
%
|
||||
% \addplot+[mark=*, solid, mark options={fill=black}, black]
|
||||
% table[
|
||||
% col sep=comma, x=max_iter,
|
||||
% y=LER_per_round,
|
||||
% ]
|
||||
% {res/sim/max_iter/SyndromeMinSumDecoder/p_0.0025/LERs.csv};
|
||||
%
|
||||
% \addlegendentry{Whole}
|
||||
%
|
||||
% \coordinate (spypoint) at (axis cs:250,1e-2);
|
||||
% \coordinate (magnifyglass) at (axis cs:2048,0.5);
|
||||
%
|
||||
% \end{axis}
|
||||
% \spy [black, size=4cm] on (spypoint)
|
||||
% in node[fill=white] at (magnifyglass);
|
||||
%
|
||||
% \end{tikzpicture}
|
||||
%
|
||||
% \caption{
|
||||
% Comparison of the decoding performance of cold and warm-start
|
||||
% decoding under the $\llbracket 144,12,12 \rrbracket$ \ac{bb}
|
||||
% code for different step sizes.
|
||||
% Decoding was performed using the min-sum algorithm ($200$
|
||||
% iterations).
|
||||
% The window size was fixed to $W=5$, $12$ rounds of syndrome
|
||||
% extraction were performed and the noise model is
|
||||
% standard circuit-based depolarizing noise.
|
||||
% }
|
||||
% \end{figure}
|
||||
% [Experimental parameters] Figure 4.9
|
||||
|
||||
\Cref{fig:bp_w_over_iter} shows the per-round \ac{ler} as a function
|
||||
of the maximum number of \ac{bp} iterations granted to the inner decoders.
|
||||
The dashed colored curves correspond to cold-start sliding-window
|
||||
decoding for $W \in \{3, 4, 5\}$, the solid colored curves to the
|
||||
corresponding warm-start sliding-window decoding, and the black curve
|
||||
to the whole-block reference.
|
||||
The physical error rate is fixed at $p = 0.0025$, the step size at
|
||||
$F = 1$, and the iteration budget is swept over
|
||||
$n_\text{iter} \in \{32, 128, 256, 512, 1024, 2048, 4096\}$.
|
||||
The enlarged plot magnifies the low-iteration regime
|
||||
$n_\text{iter} \in [32, 512]$.
|
||||
|
||||
% [Description] Figure 4.9
|
||||
|
||||
All curves decrease monotonically with the iteration budget, but
|
||||
contrary to our expectation, none of them appears to fully saturate
|
||||
within the swept range: even at $n_\text{iter} = 4096$, every curve
|
||||
still exhibits a noticeable downward slope.
|
||||
At $n_\text{iter} = 32$, the whole-block curve lies below both the
|
||||
$W=4$ and $W=5$ sliding-window curves.
|
||||
At $n_\text{iter} = 128$ the whole-block curve already performs
|
||||
better than the $W=4$ sliding-window curve
|
||||
and at $n_\text{iter} = 512$ the whole-block and warm-start $W = 5$
|
||||
curves also cross.
|
||||
From this point onwards, the whole-block decoder lies strictly below
|
||||
all windowed schemes, this difference becoming more pronounced as the
|
||||
iteration budget grows further.
|
||||
Within the magnified plot, the gap between the warm-start and
|
||||
cold-start curves at fixed $W$ is largest for the smallest iteration
|
||||
counts and shrinks rapidly as $n_\text{iter}$ grows, and at fixed
|
||||
$n_\text{iter}$ the size of this gap grows with the window size,
|
||||
mirroring the behavior already observed in \Cref{fig:whole_vs_cold_vs_warm}.
|
||||
|
||||
% [Interpretation] Figure 4.9
|
||||
|
||||
These observations are largely consistent with the effective-iterations
|
||||
hypothesis put forward above.
|
||||
The whole-block decoder eventually overtaking every windowed scheme
|
||||
matches the prediction made there: with a sufficiently large
|
||||
iteration budget, the whole-block decoder reaches an error rate
|
||||
that nonone of the windowed schemes can beat, because of the more global
|
||||
nature of the considered constraints.
|
||||
Furthermore, the pronounced advantage of warm- over cold-start decoding at low
|
||||
numbers of iterations makes sense if we consider the overall trend of the plots.
|
||||
At low iteration budgets, each additional iteration is worth more
|
||||
than at high budgets.
|
||||
As the number of permitted iteration increases, the benefit of
|
||||
the additional ``free'' iterations gained due to the the warm-start
|
||||
initialization diminishes, and the curves approach each other.
|
||||
|
||||
The fact that no curve clearly saturates within the swept range is
|
||||
itself worth noting.
|
||||
We know that \ac{bp} on \ac{qldpc} codes suffers from poor
|
||||
convergence due to the short cycles in the underlying Tanner graph,
|
||||
so even after several thousand iterations the
|
||||
decoder may continue to slowly refine its message estimates rather
|
||||
than settle into a stable fixed point.
|
||||
This is one of the core motivations for moving from plain \ac{bp} to
|
||||
the guided-decimation variant studied in
|
||||
\Cref{subsec:Belief Propagation with Guided Decimation}.
|
||||
|
||||
Another thing to note is that setting the per-invocation iteration
|
||||
budget of the inner decoder equal to the iteration budget of the
|
||||
whole-block decoder is not a fair comparison in terms of total
|
||||
computational effort.
|
||||
The sliding-window scheme processes each \ac{vn} in an overlap region
|
||||
multiple times and therefore spends more iterations overall.
|
||||
In the context of \ac{qec}, however, the relevant figure of merit is
|
||||
not total compute but decoding latency, and in terms of latency the
|
||||
sliding-window approach is still at an advantage.
|
||||
|
||||
% At some later point
|
||||
\content{When looking at max iterations: Callback to diminishing
|
||||
returns with growing window size: More iterations more beneficial
|
||||
than larger window (+1 for warm-start)}
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
|
||||
Reference in New Issue
Block a user