189 lines
No EOL
6.5 KiB
TeX
189 lines
No EOL
6.5 KiB
TeX
\documentclass[aspectratio=169,10pt]{beamer}
|
|
\usetheme[progressbar=head,numbering=fraction,sectionpage=none]{metropolis}
|
|
|
|
\usepackage{graphicx}
|
|
\usepackage{ulem}
|
|
\usepackage{xcolor}
|
|
\usepackage[scale=2]{ccicons}
|
|
\usepackage{pgfplots}
|
|
\usepackage{booktabs}
|
|
\usepgfplotslibrary{dateplot}
|
|
\usepackage{hyperref}
|
|
\usepackage{multirow}
|
|
\usepackage{array}
|
|
\usepackage{xspace}
|
|
|
|
\title{Device State Detector (DSD): Formalization}
|
|
\subtitle{Trust me I've read a book.}
|
|
\date{}
|
|
\author{Arthur Grisel-Davy}
|
|
\institute{University of Waterloo, Canada}
|
|
|
|
|
|
\begin{document}
|
|
|
|
\maketitle
|
|
|
|
\begin{frame}{Context}
|
|
\begin{center}
|
|
\textit{For any power trace $t$ captured on from a machine $M$, detect the state $C_i$ of the machine for every sample $t[n]$.}\\
|
|
\vspace{1cm}
|
|
\textit{Assign a class $C_i$, to every sample of a power trace $t[n]$ from a machine $M$ corresponding to a state of the machine, from a set of pre-established states.}
|
|
\end{center}
|
|
\vfill
|
|
$\Longrightarrow$ Supervised, multi-class, mono-label, classification problem.
|
|
\end{frame}
|
|
|
|
\begin{frame}{Definitions}
|
|
\begin{itemize}
|
|
\item $t$: a power trace of fixed sampling rate and length $N$. $t[n] \forall n\in[1,N]$ are the samples value of $t$.
|
|
\item $p_i$: The proto examples of the states. Power traces corresponding to the $P$ states to detect. Each proto is of length $N_i$, not necessarily equals.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Normalized distance}
|
|
\begin{align}\label{eq:distance_original}
|
|
&nd: a\times b \in T^2 \rightarrow \mathbb{R} \nonumber\\
|
|
&nd(a,b) = \dfrac{Eucd(a,b)}{N_b}
|
|
\end{align}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Center}
|
|
\begin{itemize}
|
|
\item Place sample at center of window.
|
|
\item Compute normalized distances to each proto.
|
|
\item Assign to closest proto.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor}
|
|
\includegraphics[width=\textwidth]{images/detection_real___empty_1NNcenter.pdf}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Performance metric}
|
|
\begin{itemize}
|
|
\item Accuracy: $Acc = \dfrac{1}{N}\sum_{n\in N}1_{(l[n] = true[n])}$
|
|
\item State occurrence: Count state occurrence independently of correct position or size.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Dynamic position}
|
|
\begin{figure}
|
|
\centering
|
|
\includegraphics[width=0.9\textwidth]{images/presentation_Page 1_presentation.pdf}
|
|
\end{figure}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Dynamic position}
|
|
\includegraphics[width=\textwidth]{images/detection_real___empty_1NNmin.pdf}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Dynamic position}
|
|
\includegraphics[width=\textwidth]{images/detection_real_asus_1_1NNmin.png}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Dynamic position}
|
|
\includegraphics[width=\textwidth]{images/detection_real_DELL-1_1NNmin.png}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Dynamic Distance}
|
|
\begin{align}\label{eq:distance_original}
|
|
&dynd: t[n]\times p_i \in (t, protos)\nonumber\\
|
|
&dynd(a,b) = \min_{k\in [n-N_i,n+N_i])}(nd(t[n-k:n-k+N_i],p_i))
|
|
\end{align}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Limitations of the method}
|
|
\begin{itemize}
|
|
\item Significant miss-classification between close classes.
|
|
\item Impossibility to detect outlier/out-of-scope patterns.
|
|
\item Rely too much on protos \textit{tiling} assumption.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Shrinkage}
|
|
\includegraphics[width=\textwidth]{images/NN_schematic_presentation_DSD_Page 1.pdf}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Shrinkage}
|
|
\includegraphics[width=\textwidth]{images/NN_schematic_presentation_DSD_Page 2.pdf}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Shrinkage}
|
|
\includegraphics[width=\textwidth]{images/NN_schematic_presentation_DSD_Page 3.pdf}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Shrinkage}
|
|
\includegraphics[width=\textwidth]{images/NN_schematic_presentation_DSD_Page 4.pdf}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Shrinkage}
|
|
\includegraphics[width=\textwidth]{images/NN_schematic_presentation_DSD_Page 5.pdf}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Shrinkage}
|
|
\includegraphics[width=\textwidth]{images/NN_schematic_presentation_DSD_Page 6.pdf}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Variable Length Normalized Distance}
|
|
\begin{align}\label{eq:distance_original}
|
|
&vlnd: t[n]\times p_i \in (t, protos)\nonumber\\
|
|
&vlnd(a,b) = \min_{k\in [n-N_i,n+N_i])}(nd(t[n-k:n-k+N_i],p_i))
|
|
\end{align}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Checkpoint}
|
|
Three distance measures:
|
|
\begin{itemize}
|
|
\item Normalized Distance, to compare distances to protos:
|
|
\begin{equation}nd(a,b) = \dfrac{Eucd(a,b)}{N_b}\end{equation}
|
|
\item Dynamic Distance, to compare sample arc to protos: \begin{equation}dynd(a,b) = \min_{k\in [n-N_i,n+N_i])}(nd(t[n-k:n-k+N_i],p_i))\end{equation}
|
|
\item Variable Length Normalized Distance, to get protos inter-distances: \begin{equation}vlnd(a,b) = \min_{k\in [n-N_i,n+N_i])}(nd(t[n-k:n-k+N_i],p_i))\end{equation}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Shrinkage}
|
|
\includegraphics[width=\textwidth]{images/NN_schematic_presentation_DSD_Page 7.pdf}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Shrinkage}
|
|
\includegraphics[width=\textwidth]{images/NN_schematic_presentation_DSD_Page 8.pdf}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Shrinkage $\alpha=1$}
|
|
\includegraphics[width=\textwidth]{images/detection_real___empty_1_1NNmin}
|
|
\end{frame}
|
|
\begin{frame}{1-Nearest Neighbor - Shrinkage $\alpha=0.75$}
|
|
\includegraphics[width=\textwidth]{images/detection_real___empty_0.75_1NNmin}
|
|
\end{frame}
|
|
\begin{frame}{1-Nearest Neighbor - Shrinkage $\alpha=0.5$}
|
|
\includegraphics[width=\textwidth]{images/detection_real___empty_0.5_1NNmin}
|
|
\end{frame}
|
|
|
|
\begin{frame}{1-Nearest Neighbor - Shrinkage $\alpha=2$}
|
|
\includegraphics[width=\textwidth]{images/detection_real_DELL-1_2_1NNmin.png}
|
|
\end{frame}
|
|
\begin{frame}{1-Nearest Neighbor - Shrinkage $\alpha=1$}
|
|
\includegraphics[width=\textwidth]{images/detection_real_DELL-1_1_1NNmin.png}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Conclusion}
|
|
\begin{itemize}
|
|
\item DSD is an implementation of 1-NN with custom distances and shrinkage.
|
|
\item Can easily be adapted to multiple protos per class.
|
|
\item Data requirements and constraints minimal.
|
|
\item Detects $P+1$ classes.
|
|
\item One hyperparameter $\alpha$ to controle miss/un -classification tradeoff.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Future Work}
|
|
\begin{itemize}
|
|
\item Capture and label more data.
|
|
\item Evaluate possibility of uneven shrinkage.
|
|
\item Detect attacks, publish paper, save the world, accept Nobel prize.
|
|
\end{itemize}
|
|
|
|
\end{frame}
|
|
|
|
\end{document} |