diff options
Diffstat (limited to 'aia')
-rw-r--r-- | aia/exp.tex | 106 | ||||
-rw-r--r-- | aia/intro.tex | 26 | ||||
-rw-r--r-- | aia/prediction.tex | 182 | ||||
-rw-r--r-- | aia/protection.tex | 106 |
4 files changed, 420 insertions, 0 deletions
diff --git a/aia/exp.tex b/aia/exp.tex new file mode 100644 index 0000000..6651744 --- /dev/null +++ b/aia/exp.tex @@ -0,0 +1,106 @@ +{ + \usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/background/card/background.pdf}} +\begin{frame} + %\vspace{70px} + \hspace{70px} + \begin{minipage}{250px} + \Large + \textcolor{accent}{ + Evaluation expérimentale de l'utilisation de l'équitée comme mécanisme de protéction de l'attribut sensible. + } + \end{minipage} +\end{frame} +} +\begin{frame} + \begin{figure} + \centering + \input{tikz/data} + \label{fig:aia-data} + \end{figure} +\end{frame} + +\begin{frame} + \frametitle{Experimental validation on prediction: results} + \begin{figure} + \captionsetup{singlelinecheck=off} + \centering + \begin{subfigure}{0.4\textwidth} + \centering + \scriptsize + \begin{itemize} + \item \emph{Labeled Faces in the Wild (images)} + \item ML = Convolutional Neural Network + \end{itemize} + \includegraphics[width=150px]{images/figures/advdebias/lfw/lfw_advdeb_attack_hard_sex.pdf} + \end{subfigure} + \hspace{0.1\textwidth} + \begin{subfigure}{0.4\textwidth} + \centering + \scriptsize + \begin{itemize} + \item \emph{COMPAS recidivism dataset (tabular)} + \item ML = Random Forest + \end{itemize} + \includegraphics[width=150px]{images/figures/advdebias/compas/compas_advdeb_attack_hard_sex.pdf} + \end{subfigure} + \end{figure} + \vspace{10px} + + \scriptsize + \begin{tabular}{lll} + &\emph{Regularization}&\emph{Value}\\ + \emph{Baseline}&None&Attack result\\ + \emph{Theoretical}&Adversarial debiasing&$\frac{1}{2}(1+DemParLvl)$\\ + \emph{Empirical}&Adversarial debiasing&Attack result\\ + \end{tabular} +\normalsize + \hspace{10px} +Attack surface = $1_{[\tau,1]}\circ f\circ X$. +\end{frame} + +\begin{frame} + \frametitle{Experimental validation on logit: building an attack} + \begin{enumerate} + \item On part. + \item Build a random forest on this dataset. + \item Ajust the threshold to take into account class imbalance. + \end{enumerate} +\end{frame} + +\begin{frame} + \frametitle{Experimental validation on logit: results} + \begin{figure} + \captionsetup{singlelinecheck=off} + \centering + \begin{subfigure}{0.4\textwidth} + \centering + \scriptsize + \begin{itemize} + \item \emph{Labeled Faces in the Wild (images)} + \item ML = Convolutional Neural Network + \end{itemize} + \includegraphics[width=150px]{images/figures/advdebias/lfw/lfw_advdeb_attack_soft_experimental_sex.pdf} + \end{subfigure} + \hspace{0.1\textwidth} + \begin{subfigure}{0.4\textwidth} + \centering + \scriptsize + \begin{itemize} + \item \emph{COMPAS recidivism dataset (tabular)} + \item ML = Random Forest + \end{itemize} + \includegraphics[width=150px]{images/figures/advdebias/compas/compas_advdeb_attack_soft_experimental_sex.pdf} + \end{subfigure} + \end{figure} + \vspace{10px} + + \scriptsize + \begin{tabular}{lll} + &\emph{Regularization}&\emph{Value}\\ + \emph{Baseline}&None&Attack result\\ + \emph{AdvDebias}&Adversarial debiasing&Attack result\\ + \end{tabular} +\normalsize + \hspace{10px} +Attack surface = $f\circ X$. +\end{frame} diff --git a/aia/intro.tex b/aia/intro.tex new file mode 100644 index 0000000..a8cc780 --- /dev/null +++ b/aia/intro.tex @@ -0,0 +1,26 @@ +\begin{frame} + \frametitle{Deux surface d'attaque pour réaliser l'AIA} + \emph{$X$} les données d'entrée. + \begin{itemize} + \item \textcolor{accent}{Logit} + \begin{equation*} + l\circ X + \end{equation*} + A valeurs dans $[0,1]^m$. + \vspace{20px} + + \item \textcolor{accent}{Prédiction} + \begin{align*} + \text{argmax}\circ l\circ X + \end{align*} + A valeurs dans $\{0,1,\cdots,m\}$. + \end{itemize} + \vspace{10px} + + En fonction du contexte on notera le modèle cible $f=l$ ou $f=\text{argmax}\circ l$. +\end{frame} + + + + + diff --git a/aia/prediction.tex b/aia/prediction.tex new file mode 100644 index 0000000..b302f4f --- /dev/null +++ b/aia/prediction.tex @@ -0,0 +1,182 @@ + +{ + \usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/background/card/background.pdf}} +\begin{frame} + %\vspace{70px} + \hspace{70px} + \begin{minipage}{250px} + \Large + \textcolor{accent}{ + Un nouvel algorithme d'apprentissage ensembliste pour l'AIA. + } + \end{minipage} +\end{frame} +} +\begin{frame} + \frametitle{AIA pour la prédiction} + \input{tikz/ef} + \pause + \vspace{10px} + + \emph{$n^m$ applications à essayer !} + \vspace{10px} + + Question de recherche : + \emph{Comment choisir la meilleur application sans les assayer toutes ?} + \vspace{10px} + + On cherche $a:F\rightarrow G$ telle que + $P_{a\circ f\circ X}$ approche $P_{S}$. +\end{frame} + +\begin{frame} + \frametitle{Classification finie} + \begin{minipage}[t]{0.2\linewidth} + \begin{tabular}{cc} + \textbf{Y}&\textbf{S}\\ + 0&$\bigcirc$\\ + 2&$\times$\\ + 1&$\bigcirc$\\ + 0&$\bigcirc$\\ + 2&$\times$\\ + 0&$\bigcirc$\\ + 1&$\bigcirc$\\ + 1&$\bigtriangleup$\\ + 0&$\bigcirc$\\ + 2&$\bigcirc$\\ + 1&$\bigcirc$\\ + 1&$\bigtriangleup$\\ + 2&$\bigcirc$\\ + 2&$\bigcirc$\\ + \end{tabular} + \end{minipage} + \begin{minipage}[t]{0.75\linewidth} + On cherche une fonction $a$ de $F = \{0,1,2\}$ dans $G = \{\bigcirc,\bigtriangleup,\times\}$. + \\\vspace{0.5cm}\\ + Nous n'allons pas essayer les \emph{$3^3=27$ fonctions}. + \\\vspace{0.5cm}\\ + A la place, étudions deux manières de \emph{ranger le jeu de données}. + \end{minipage} +\end{frame} + +\begin{frame} + \frametitle{Premier rangement} + \input{tikz/chaussette/a} +\end{frame} + +\begin{frame} + \begin{definition}[Exactitude\footnote{\textit{Accuracy}}] + L'exactitude de $a$ pour prédire $S$ est + \begin{equation*} + P(a\circ f\circ X=S) + \end{equation*} + \end{definition} + \pause + \frametitle{Maximisation de l'exactitude} + \begin{theorem} + L'application qui maximise l'éxactitude est + \begin{equation*} + a: \left\{ + \begin{matrix} + F\rightarrow G\\ + e\mapsto \text{argmax}_{i\in G} P(S=i|f\circ X=e) + \end{matrix} + \right. + \end{equation*} + \end{theorem} + \vspace{10px} + + \footnotesize + \textit{The behavior-knowledge space method for combination of multiple classifiers}, Huang, YS et Suen, C.Y. 1993 +\end{frame} + +\begin{frame} + \frametitle{Problème avec la maxamisation de l'exactitude} + \begin{minipage}{0.4\linewidth} + \begin{tabular}{cccc} + &\textcolor{principale}{Faux Positifs}&\textcolor{principale}{Faux Négatif}&\textcolor{principale}{Exactitude}\\ + \textcolor{principale}{$\bigcirc$}&100\%&0\%&100\%\\ + \textcolor{principale}{$\bigtriangleup$}&0\%&100\%&0\%\\ + \textcolor{principale}{$\times$}&0\%&100\%&0\%\\ + \end{tabular} + \vspace{20px} + + \pause + Désequilibre dans les classes\footnote{\textit{Class imbalance}} : + \begin{itemize} + \item $P(S=\bigcirc)=\frac{10}{14}\simeq 71\%$ + \item $P(S=\bigtriangleup)=\frac{2}{14}\simeq 14\%$ + \item $P(S=\times)=\frac{2}{14}\simeq 14\%$ + \end{itemize} + \end{minipage} + \pause + \hspace{50px} + \begin{minipage}{0.4\linewidth} + \vspace{70px} + \begin{figure} + \includegraphics[width=1.2\linewidth]{images/race_split.pdf} + \caption{Ethnies\footnote{\textit{Races}} en Alabama} + \end{figure} + \end{minipage} +\end{frame} + +\begin{frame} + \frametitle{Deuxième rangement} + \vspace{5px} + + \input{tikz/chaussette/ba} +\end{frame} + +\begin{frame} + \frametitle{Maximisation de l'exactitude équilibrée} + \begin{definition}[Exactitude équilibrée\footnote{\textit{Balanced accuracy}}] + \begin{equation*} + \frac{1}{\#F}\sum_{i\in F}P(a\circ f\circ X=i\mid S=i) + \end{equation*} + \end{definition} + \pause + \begin{theorem} + L'application qui maximise l'exactitude équilibrée est + \begin{equation*} + a:\left\{ + \begin{matrix} + F \rightarrow G\\ + e\mapsto \text{argmax}_{i\in G}P(f\circ X=e|S=i) + \end{matrix} + \right. + \end{equation*} + \end{theorem} +\end{frame} + +\begin{frame} + \frametitle{Problème avec la maxamisation de l'exactitude} + \emph{Maximisation de l'exactitude} + \vspace{5px} + + \begin{tabular}{cccc} + &\textcolor{principale}{Faux Positifs}&\textcolor{principale}{Faux Négatif}&\textcolor{principale}{Exactitude}\\ + \textcolor{principale}{$\bigcirc$}&100\%&0\%&1\\ + \textcolor{principale}{$\bigtriangleup$}&0\%&100\%&0\\ + \textcolor{principale}{$\times$}&0\%&100\%&0\\ + \end{tabular} + \vspace{10px} + + \emph{Maximisation de l'exactitude équilibré} + \vspace{5px} + + \begin{tabular}{cccc} + &\textcolor{principale}{Faux Positifs}&\textcolor{principale}{Faux Négatif}&\textcolor{principale}{Exactitude}\\ + \textcolor{principale}{$\bigcirc$}&0\%&60\%&40\%\\ + \textcolor{principale}{$\bigtriangleup$}&25\%&0\%&100\%\\ + \textcolor{principale}{$\times$}&25\%&0\%&100\%\\ + \end{tabular} +\end{frame} + +\begin{frame} + \frametitle{Conclusion sur l'AIA de la prédiction} + \begin{itemize} + \item Nous avons construit une \emph{fonction d'attaque $a$} de $F$, l'ensemble des \emph{prédictions possibles du modèle cible} vers $G$, l'ensemble des \emph{attributs sensibles}. + \pause + \item Cette fonction \emph{maximise l'exactitude équilibrée}. + \end{itemize} +\end{frame} diff --git a/aia/protection.tex b/aia/protection.tex new file mode 100644 index 0000000..8332c35 --- /dev/null +++ b/aia/protection.tex @@ -0,0 +1,106 @@ +{ + \usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/background/card/background.pdf}} +\begin{frame} + %\vspace{70px} + \hspace{70px} + \begin{minipage}{250px} + \Large + \textcolor{accent}{ + Comment proteger l'attribut sensible contre l'AIA ? + } + \end{minipage} +\end{frame} +} +\begin{frame} + \frametitle{Protection de l'attribut sensible} + On cherche une notion qui définisse : + + \emph{L'attribut sensible des utilisateur est protégé.} + \pause + \begin{definition} + Un CCA est un classifieur ayant une \emph{prédiction indépendante de l'étiquette}. + C'est-à-dire que pour un classifieur $f: E\rightarrow F$. + Avec une étiquette $Y:\Omega\rightarrow F$ + et une entrée $X:\Omega\rightarrow E$. + Alors pour $\hat{Y}=f\circ X$, nous avons + \emph{$P_{(Y,\hat{Y})} = P_Y\otimes P_{\hat{Y}}$} + \end{definition} + + \pause + Nous allons voir que CCA et exactitude équilibré sont liées. +\end{frame} + +\begin{frame} + \frametitle{Etude de l'exactitude équilibré} + \begin{propriete} + \label{th:aia-bluey} + Soit $(\Omega,\mathcal{T},P)$ un espace probabilisé. + Soient $(E,\mathcal{E})$ et $(F,\mathcal{P}(F))$ des espaces mesurables avec $F$ un ensemble fini. + Soient les variables aléatoires suivantes : + $X:\Omega\rightarrow E$ et + $Y:\Omega\rightarrow F$ + Soit $A$ l'ensemble des fonctions mesurables de $(E,\mathcal{E})$ dans $(F,\mathcal{P}(F))$. + + Nous appelons $BA$ la fonction qui à toutes les fonctions $f$ de $A$ associe l'exactitude équilibrée de $f \circ X$ pour l'étiquette $Y$. + \begin{equation*} + \exists f\in A~BA(f)< \frac{1}{\#F} + \implies + \exists f\in A~BA(f)>\frac{1}{\#F} + \end{equation*} + \end{propriete} + + \pause + \begin{propriete} + \begin{equation*} + \text{max}_fBA(f)=\frac{1}{\#F}\iff + \forall f~BA(f)=\frac{1}{\#F} + \end{equation*} + \end{propriete} +\end{frame} + +\begin{frame} + \frametitle{Etude de l'exactitude équilibré} + \begin{theorem} + \label{th:fini-bacca} + En notant $BA(f)$ l'exactitude équilibrée de $f$. + \begin{equation*} + \forall f~BA(f)=\frac{1}{\#F} \iff + \forall f~\text{$f$ est un CCA} + \end{equation*} + \end{theorem} + \pause + + \vspace{10px} + Ainsi, si $\text{max}_fBA(f)=\frac{1}{\#F}$ alors + aucun classifieur ne pourra prédire l'étiquette. + + \pause + \vspace{10px} + \emph{Pour savoir si $X$ permet d'inférer $Y$ il suffit de calculer $\text{max}_fBA(f)$.} + + \pause + \vspace{10px} + L'algorithme classification finie permet de claculer $\text{max}_fBA(f)$. +\end{frame} + +\begin{frame} + \frametitle{Lien entre exactitude équilibré et protection contre l'AIA} + L'attribut sensible est protégé quand + \begin{equation*} + P_{(f\circ X,S)}= + P_{f\circ X}\otimes P_S + \end{equation*} + + \pause + \begin{equation*} + \iff + \forall a~\text{$a$ est un CCA pour prédire $S$ à parire de $f\circ X$} + \end{equation*} + + \pause + \begin{equation*} + \iff + \text{max}_aBA(a)=\frac{1}{\#G} + \end{equation*} + +\end{frame} |