From ff66e1aaf32dbbd8c638b2f447dd49daaa8189ab Mon Sep 17 00:00:00 2001 From: Jan Aalmoes Date: Mon, 18 Nov 2024 15:54:13 +0100 Subject: Nouvelle generation --- aia.tex | 111 +- background.tex | 67 + ckoi.tex | 208 ++ data.tex | 20 + finie.tex | 87 +- images/background/toc/background.pdf | Bin 0 -> 18272 bytes images/background/toc/background.svg | 3551 ++++++++++++++++++++++++++++++++++ main.pdf | Bin 7445464 -> 7571752 bytes main.tex | 62 +- perspective.tex | 69 + synth.tex | 6 +- tikz/asset/data.tex | 20 + tikz/attack/4att.tex | 20 + tikz/attack/attack.tex | 37 + tikz/attack/bin.tex | 18 + tikz/attack/bin_ens.tex | 31 + tikz/attack/ef.tex | 22 + tikz/attack/nobin_ens.tex | 31 + tikz/attack_mia.tex | 37 + tikz/chaussette/a.tex | 60 + tikz/chaussette/ba.tex | 70 + tikz/data.tex | 17 + tikz/synth/data.tex | 71 + 23 files changed, 4597 insertions(+), 18 deletions(-) create mode 100644 background.tex create mode 100644 ckoi.tex create mode 100644 data.tex create mode 100644 images/background/toc/background.pdf create mode 100644 images/background/toc/background.svg create mode 100644 perspective.tex create mode 100644 tikz/asset/data.tex create mode 100644 tikz/attack/4att.tex create mode 100644 tikz/attack/attack.tex create mode 100644 tikz/attack/bin.tex create mode 100644 tikz/attack/bin_ens.tex create mode 100644 tikz/attack/ef.tex create mode 100644 tikz/attack/nobin_ens.tex create mode 100644 tikz/attack_mia.tex create mode 100644 tikz/chaussette/a.tex create mode 100644 tikz/chaussette/ba.tex create mode 100644 tikz/data.tex create mode 100644 tikz/synth/data.tex diff --git a/aia.tex b/aia.tex index a67b4d1..76cb80e 100644 --- a/aia.tex +++ b/aia.tex @@ -1,3 +1,112 @@ \begin{frame} -hello + \begin{definition}[DemParLvl] + Soit $(\Omega,\mathcal{T},P$) un espace probabilisé. + Soit $(E,\mathcal{E})$ un espace mesurable. + Soient + \begin{align*} + X:(\Omega,\mathcal{T})\rightarrow(E,\mathcal{E})\\ + Y:(\Omega,\mathcal{T})\rightarrow(\{0,1\},\mathcal{P}(\{0,1\}))\\ + S:(\Omega,\mathcal{T})\rightarrow(\{0,1\},\mathcal{P}(\{0,1\}))\\ + \end{align*} + Soit $f:\{0,1\}\rightarrow\{0,1\}$. + Alors, + \begin{equation*} + DemParLvl(f) = |P(f\circ X=0\mid S=0) - P(f\circ X=0\mid S=1)| + \end{equation*} + \end{definition} + \pause + \begin{propriete} + \label{prop:aia-dpl0} + Un classifieur qui satisfait la parité démographique a un DemParLvl égal à zéro. + \end{propriete} +\end{frame} +\begin{frame} + \begin{definition}[Parité démographique généralisée] + \label{def:aia-dempargen} + Soit $(\Omega,\mathcal{T},P$) un espace probabilisé. + Soient $(E,\mathcal{E})$, $(F,\mathcal{F})$ et $(G,\mathcal{G})$ des espaces mesurables. + Soient les variables aléatoires suivantes : + \begin{itemize} + \item $X:(\Omega,\mathcal{T})\rightarrow (E,\mathcal{E})$ + \item $Y:(\Omega,\mathcal{T})\rightarrow (F,\mathcal{F})$ + \item $S:(\Omega,\mathcal{T})\rightarrow (G,\mathcal{G})$ + \item $f:(E,\mathcal{E})\rightarrow (F,\mathcal{F})$ + \end{itemize} + Alors $f$ satisfait la parité démographique généralisée si et seulement si + \begin{equation*} + P_{f\circ X,S} = P_{f\circ X}\otimes P_S + \end{equation*} + Dit autrement, si et seulement si le classifieur $f$ est un CCA pour prédire $S$ à partir de $X$. + \end{definition} +\end{frame} + +\begin{frame} + \begin{propriete} + Si un classifieur binaire satisfait la parité démographique généralisée alors il satisfait la parité démographique. + \end{propriete} +\end{frame} + +\begin{frame} + + \begin{theorem} + \label{th:aia-dpgood} + Les deux propositions suivantes sont équivalentes : + \begin{enumerate} + \item Le modèle cible satisfait la parité démographique . + \item Toutes les attaques utilisant la prédiction pour inférer l'attribut sensible sont des CCA. + \end{enumerate} + + Et aussi, les deux propositions suivantes sont équivalentes : + \begin{enumerate} + \item Le modèle cible satisfait la parité démographique généralisée. + \item Toutes les attaques utilisant le logit pour inférer l'attribut sensible sont des CCA. + \end{enumerate} + \end{theorem} +\end{frame} + +\begin{frame} + \begin{propriete} + \label{prop:aia-demparlvl} + Soient $(\Omega,\mathcal{T},P)$ un espace probabilisé et $(\{0,1\}$, $\mathcal{P}(\{0,1\}))$ des espaces mesurables. + Soient les variables aléatoires suivantes + \begin{itemize} + \item L'étiquette $Y:(\Omega,\mathcal{T})\rightarrow (\{0,1\},\mathcal{P}(\{0,1\}))$ + \item La donnée d'entrée $X:(\Omega,\mathcal{T})\rightarrow(\{0,1\},\mathcal{P}(\{0,1\})$ + \item L'attribut sensible $S:(\Omega,\mathcal{T})\rightarrow(\{0,1\},\mathcal{P}(\{0,1\}))$ + \item L'attaque $a:(\Omega,\mathcal{T})\rightarrow(\{0,1\},\mathcal{P}(\{0,1\}))$ + \item Le modèle cible $f:(\Omega,\mathcal{T})\rightarrow(\{0,1\},\mathcal{P}(\{0,1\}))$ + \end{itemize} + Alors nous avons + \begin{equation*} + \text{max}_{a}BA(a) = \frac{1}{2}(1+\text(DemParLvl(f))) + \end{equation*} + \end{propriete} +\end{frame} + +\begin{frame} + \begin{theorem} + \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 : + \begin{itemize} + \item $X:\Omega\rightarrow E$ + \item $Y:\Omega\rightarrow F$ + \end{itemize} + 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 $a$ de $A$ associe l'exactitude équilibrée de $a \circ X$ pour l'étiquette $Y$. + \begin{equation*} + \exists a\in A~BA(a)< \frac{1}{\#F} + \implies + \exists a\in A~BA(a)>\frac{1}{\#F} + \end{equation*} + \end{theorem} +\end{frame} + +\begin{frame} + \begin{figure} + \centering + \input{tikz/data} + \label{fig:aia-data} + \end{figure} \end{frame} diff --git a/background.tex b/background.tex new file mode 100644 index 0000000..1cc38d6 --- /dev/null +++ b/background.tex @@ -0,0 +1,67 @@ +\begin{frame} + \frametitle{Modélisation} + On se donne $(\Omega,\mathcal{T},P)$ un espace probabilisé. + Ainsi que + $(E,\mathcal{E})$, + $(F,\mathcal{G})$ et + $(G,\mathcal{G})$ + des espaces mesurables. + \begin{itemize} + \item $X:(\Omega,\mathcal{T})\rightarrow (E,\mathcal{E})$ Les données d'entrée + \item $Y:(\Omega,\mathcal{T})\rightarrow (F,\mathcal{F})$ Les étiquettes + \item $S:(\Omega,\mathcal{T})\rightarrow (G,\mathcal{G})$ L'attribut sensible + \item $f:(E,\mathcal{E})\rightarrow (F,\mathcal{F})$ Le modèle d'apprentissag automatique + \item $\hat{Y}=f\circ X$ La prédiction + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Evaluation des modèles} + \begin{definition}[Exactitude\footnote{\textit{Accuracy}}] + \begin{equation*} + P(f\circ X=Y) + \end{equation*} + \end{definition} + + \begin{definition}[Exactitude équilibrée\footnote{\textit{Balanced accuracy}}] + \begin{equation*} + \frac{1}{\#F}\sum_{i\in F}P(f\circ X=i\mid Y=i) + \end{equation*} + \end{definition} +\end{frame} +\begin{frame} + \frametitle{Equitée des modèles} + \begin{definition} + \label{def:background-eq-dp} + $\hat{Y}$ satisfait la \emph{parité démographique} pour $S$ si et seulement si : $\forall (y,s_1,s_2)\in F\times G\times G~P(\hat{Y}=y | S=s_1) = P(\hat{Y}=y | S=s_2)$. + \end{definition} + + \begin{definition} + \label{def:background-eq-eoo} + $\hat{Y}$ satisfait l'\emph{équité des chances} pour $S$ si et seulement si : $\forall (\hat{y},y,s_1,s_2)\in E\times E\times G\times G \quad + P(\hat{Y}=\hat{y} | S=s_1,Y=y) = P(\hat{Y}=\hat{y} | S=s_2,Y=y)$. + \end{definition} +\end{frame} + +\begin{frame} + \frametitle{Confidentialité : Inférence de l'appartenance (MIA)} + \input{tikz/attack_mia} +\end{frame} +\begin{frame} + \frametitle{Confidentialité : Inférence d'un attribut sensible (AIA)} + \input{tikz/attack} +\end{frame} + +\begin{frame} + \frametitle{Intersection intre confidentialité et equitée} +\end{frame} + +\begin{frame} + \frametitle{Pourquoi se concentrer sur ces deux enjeux ?} + \begin{itemize} + \item Deux notions liées théoriquement. + \pause + \item Deux notions capitales pour tous les aspects de l'IA. + \pause + \item La confidentialité est uniquement étudiée sous l'angle de la MIA. + \end{itemize} +\end{frame} diff --git a/ckoi.tex b/ckoi.tex new file mode 100644 index 0000000..14d3a94 --- /dev/null +++ b/ckoi.tex @@ -0,0 +1,208 @@ +\begin{frame} + \frametitle{L'IA dans les institutions} + \begin{minipage}{270px} + \includegraphics[width=\linewidth]{images/ckoi/insti.png} + \end{minipage} + \begin{minipage}{120px} + \footnotesize + \begin{itemize} + \item \textcolor{accent}{France} + \begin{itemize} + \item Vidéosurveillance algorithmique + \item Médecine + \end{itemize} + \item \textcolor{accent}{Chine} + \begin{itemize} + \item Reconnaissance faciale + \end{itemize} + \textcolor{accent}{USA} + \begin{itemize} + \item Admission études supérieures + \item Justice + \item Prêts immobiliers + \item Assurance + \item Recrutement + \end{itemize} + \end{itemize} + \end{minipage} +\end{frame} + +\begin{frame} + \frametitle{L'IA comme produit} + \begin{minipage}{270px} + \includegraphics[width=\linewidth]{images/ckoi/gafam.png} + \end{minipage} + \begin{minipage}{120px} + \footnotesize + \vspace{10px} + \begin{itemize} + \item \textcolor{accent}{Conversation} + \begin{itemize} + \item OpenAI + \item Mistral AI + \end{itemize} + \item \textcolor{accent}{Intégration} + \begin{itemize} + \item Apple Intelligence + \item Google Gemini + \item Meta AI + \end{itemize} + \item \textcolor{accent}{Programmation} + \begin{itemize} + \item Microsoft Copilot + \end{itemize} + \item \textcolor{accent}{Génération multimédia} + \begin{itemize} + \item Adobe Firefly + \item Stable diffusion + \item Hugging face + \end{itemize} + \item \textcolor{accent}{Transport} + \begin{itemize} + \item Tesla Autopilot + \end{itemize} + \end{itemize} + \end{minipage} +\end{frame} + +\begin{frame} + \frametitle{L'IA dans la culture} + \begin{minipage}{270px} + \includegraphics[width=\linewidth]{images/ckoi/bad_ai.png} + \end{minipage} + \begin{minipage}{120px} + \footnotesize + \begin{itemize} + \item \textcolor{accent}{Antagoniste} + \begin{itemize} + \item \textit{2001: A space odissey} + \item \textit{Terminator} + \item \textit{The Matrix} + \end{itemize} + \item \textcolor{accent}{Être social} + \begin{itemize} + \item \textit{Her} + \item \textit{The bicentennial man} + \end{itemize} + \item \textcolor{accent}{Facteur de risques} + \begin{itemize} + \item \textit{Wargames} + \item \textit{Avengers: Age of Ultron} + \end{itemize} + \end{itemize} + \end{minipage} +\end{frame} +\begin{frame} + \frametitle{Qu'est-ce que l'IA ?} + \textcolor{principale}{Dictionnaire de l'Académie française :} \textquote{Ensemble de propriétés \emph{rapprochant du cerveau humain} certains systèmes informatiques très évolués}\pause + + \vspace{20px} + + \textcolor{principale}{Règlement (UE) 2024/1689 du Parlement Européen et du Conseil + du 13 juin 2024 établissant des règles harmonisées concernant l’intelligence artificielle :} + \textquote{un système \emph{automatisé} qui est conçu + pour fonctionner à différents niveaux d’autonomie et peut faire preuve d’une \emph{capacité + d’adaptation} après son déploiement, et qui, pour des objectifs explicites ou implicites, + déduit, \emph{à partir des entrées} qu’il reçoit, la manière de \emph{générer des sorties} tels que des +prédictions, du contenu, des recommandations ou des décisions qui peuvent influencer + les environnements physiques ou virtuels.} +\end{frame} + +\begin{frame} + \frametitle{Définition d'un système IA} + \begin{figure} + \centering + \input{images/tikz/ckoi/function} + \caption{Illustration de la définition de système IA par l'Union Européenne.} + \label{fig:contexte-IAUE} + \end{figure} +\end{frame} + +%\begin{frame} + %\frametitle{Intérêt du grand public pour l'IA} + %\begin{figure} + %\centering + %\includegraphics[width=200px]{images/ckoi/enjeu/google_trend.pdf} + %\caption{Intérêt pour la recherche \textquote{Intelligence artificielle} en France dans Google.} + %\end{figure} +%\end{frame} + +\begin{frame} + \frametitle{Financement de la recherche en IA} + \vspace{10px} + \begin{figure} + \centering + \begin{subfigure}{0.3\linewidth} + \centering + \includegraphics[width=\linewidth]{images/ckoi/enjeu/anr/prc.pdf} + \caption{Proportion attribuée à des projets IA} + \label{subfig:contexte-anr-prop} + \end{subfigure} + \begin{subfigure}{0.3\linewidth} + \centering + \includegraphics[width=\linewidth]{images/ckoi/enjeu/anr/aide_ai.pdf} + \caption{Financement total attribué à des projets IA} + \label{subfig:contexte-anr-fin} + \end{subfigure} + \begin{subfigure}{0.3\linewidth} + \centering + \includegraphics[width=\linewidth]{images/ckoi/enjeu/anr/avg.pdf} + \caption{Financement moyen des projets IA} + \label{subfig:contexte-anr-moy} + \end{subfigure} + \caption{Financement de la recherche en IA par l'Agence Nationale de la Recherche (ANR).} + \label{fig:contexte-anr} + \end{figure} +\end{frame} + +\begin{frame} + \frametitle{Enjeux de l'IA} + \begin{itemize} + \item \emph{Utilité} + \begin{itemize} + \item Prédictions imprécises. + \item Hallucinations. + \end{itemize} + \pause + \item \emph{Équité} + \begin{itemize} + \item Discriminations. + \item Différence de traitement pour des sous-ensemble minoritaires. + \end{itemize} + \pause + \item \emph{Transparence} + \begin{itemize} + \item Explicabilité. + \item Boîtes noires en médecine. + \end{itemize} + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Enjeux de l'IA} + \begin{itemize} + \item \emph{Confidentialité} + \begin{itemize} + \item Inférence de l'appartenance au donnée d'netraînement. + \item Inférence de l'attribue sensible. + \end{itemize} + \pause + \item \emph{Sécurité} + \begin{itemize} + \item Porte dérobée. + \item Empoisonement de model. + \end{itemize} + \pause + \item \emph{Consommation d’énergie} + \begin{itemize} + \item Llama 2 = $CO_2$ de 59 français pendant 1 an. + \end{itemize} + \pause + \item \emph{Mauvaise utilisation} + \begin{itemize} + \item Manipulation politique avec des \textit{deep fake}. + \item Surveillance de masse. + \end{itemize} + \end{itemize} +\end{frame} + + diff --git a/data.tex b/data.tex new file mode 100644 index 0000000..663b59c --- /dev/null +++ b/data.tex @@ -0,0 +1,20 @@ +\makeatletter +\tikzset{ + database/.style={ + path picture={ + \draw (0, 1.5*\database@segmentheight) circle [x radius=\database@radius,y radius=\database@aspectratio*\database@radius]; + \draw (-\database@radius, 0.5*\database@segmentheight) arc [start angle=180,end angle=360,x radius=\database@radius, y radius=\database@aspectratio*\database@radius]; + \draw (-\database@radius,-0.5*\database@segmentheight) arc [start angle=180,end angle=360,x radius=\database@radius, y radius=\database@aspectratio*\database@radius]; + \draw (-\database@radius,1.5*\database@segmentheight) -- ++(0,-3*\database@segmentheight) arc [start angle=180,end angle=360,x radius=\database@radius, y radius=\database@aspectratio*\database@radius] -- ++(0,3*\database@segmentheight); + }, + minimum width=2*\database@radius + \pgflinewidth, + minimum height=3*\database@segmentheight + 2*\database@aspectratio*\database@radius + \pgflinewidth, + }, + database segment height/.store in=\database@segmentheight, + database radius/.store in=\database@radius, + database aspect ratio/.store in=\database@aspectratio, + database segment height=0.1cm, + database radius=0.25cm, + database aspect ratio=0.35, +} +\makeatother diff --git a/finie.tex b/finie.tex index 7fe5e7b..ea42988 100644 --- a/finie.tex +++ b/finie.tex @@ -1,3 +1,4 @@ + \begin{frame} \frametitle{Etude des CCA} \begin{definition} @@ -40,13 +41,87 @@ \begin{frame} \frametitle{Nouvelle contribution : Classification finie} \input{tikz/ef} + \pause \vspace{20px} - $n^m$ applications à essayer !\\ + \emph{$n^m$ applications à essayer !}\\ \vspace{20px} + \pause Plan: - \begin{itemize} - \item Problème introductif : Accuracy $P(Y=f\circ X)$ - \item Balanced accuracy (plus dure !) $\frac{1}{n}\sum_{i\in F}P(f\circ X=i|Y=i)$ - \item ? - \end{itemize} + \begin{enumerate} + \item Problème introductif : Exactitude $P(Y=f\circ X)$ + \item Exactitude équilibrée $\frac{1}{n}\sum_{i\in F}P(f\circ X=i|Y=i)$ + \end{enumerate} +\end{frame} +\begin{frame} + \frametitle{Classification finie} + \begin{minipage}[t]{0.2\linewidth} + \begin{tabular}{cc} + \textbf{X}&\textbf{Y}\\ + 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 $f$ de $E = \{0,1,2\}$ dans $F = \{\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 ranger le jeu de données. + \end{minipage} +\end{frame} +\begin{frame} + \frametitle{Maximisation de l'exactitude} + \input{tikz/chaussette/a} +\end{frame} +\begin{frame} + \frametitle{Maximisation de l'exactitude} + \begin{theorem} + L'application qui maximise l'éxactitude est + \begin{equation*} + f: \left\{ + \begin{matrix} + E\rightarrow F\\ + e\mapsto \text{argmax}_{i\in F} P(Y=i|X=e) + \end{matrix} + \right. + \end{equation*} + \end{theorem} + + \vspace{50px} + + \footnotesize + \textit{The behavior-knowledge space method for combination of multiple classifiers}, Huang, YS et Suen, C.Y. 1993 +\end{frame} +\begin{frame} + \frametitle{Maximisation de l'exactitude équilibrée} + \vspace{5px} + + \input{tikz/chaussette/ba} +\end{frame} + +\begin{frame} + \frametitle{Maximisation de l'exactitude équilibrée} + \begin{theorem} + L'application qui maximise l'exactitude équilibrée est + \begin{equation*} + f:\left\{ + \begin{matrix} + E \rightarrow F\\ + e\mapsto \text{argmax}_{i\in F}P(X=e|Y=i) + \end{matrix} + \right. + \end{equation*} + \end{theorem} \end{frame} diff --git a/images/background/toc/background.pdf b/images/background/toc/background.pdf new file mode 100644 index 0000000..c7ee6c4 Binary files /dev/null and b/images/background/toc/background.pdf differ diff --git a/images/background/toc/background.svg b/images/background/toc/background.svg new file mode 100644 index 0000000..6d52120 --- /dev/null +++ b/images/background/toc/background.svg @@ -0,0 +1,3551 @@ + + + +PrincipaleAccentBonusBackgroundTable des matières Table des matières diff --git a/main.pdf b/main.pdf index 87c965f..fecfd50 100644 Binary files a/main.pdf and b/main.pdf differ diff --git a/main.tex b/main.tex index e05c724..0552057 100644 --- a/main.tex +++ b/main.tex @@ -22,6 +22,14 @@ \setbeamertemplate{itemize subitem}{$\circ$} \setbeamercolor{itemize/enumerate body}{fg=bonus} +%Couleur table des matières +\setbeamertemplate{section in toc}{% + \color{accent} + \bf + \kern1.25ex\inserttocsection\par + } + + %Couleurs des blocks (théorème, définitions ...) \AtBeginEnvironment{definition}{ \setbeamercolor{block body}{fg=bonus, bg=background-light} @@ -42,6 +50,10 @@ \setbeamercolor{block body}{fg=bonus, bg=background-light} \setbeamercolor{block title}{fg=principale, bg=background-dark} } +\AtBeginEnvironment{hypothese}{ + \setbeamercolor{block body}{fg=bonus, bg=background-light} + \setbeamercolor{block title}{fg=principale, bg=background-dark} +} %Configuration du \frametitle \usepackage{textpos} \addtobeamertemplate{frametitle}{ @@ -80,6 +92,7 @@ \deftranslation[to=french]{Theorem}{Théorème} \deftranslation[to=french]{Lemma}{Lemme} \deftranslation[to=french]{Definition}{Définition} +\newtheorem{hypothese}{Hypothèse}[theorem] \begin{document} @@ -104,12 +117,12 @@ \footnotesize \begin{tabular}{lll} ALLARD&Tristan&\textcolor{accent}{Rapporteur}\\ -SIHEM&Amer-Yahia&\textcolor{accent}{Rapporteur}\\ +SIHEM&Amer-Yahia&\textcolor{accent}{Rapporteuse}\\ BOUCHENAK&Sara&\textcolor{accent}{Examinatrice} \\ +BOUTET&Antoine&\textcolor{accent}{Examinateur}\\ HUGUET&Marie-José&\textcolor{accent}{Examinatrice}\\ -RUDAMETKIN&Walter&\textcolor{accent}{Examinateur}\\ PERROT&Michael&\textcolor{accent}{Examinateur}\\ -BOUTET&Antoine&\textcolor{accent}{Examinateur}\\ +RUDAMETKIN&Walter&\textcolor{accent}{Examinateur}\\ &&\\ CUNCHE&Mathieu&\textcolor{accent}{Directeur de thèse}\\ BOUTET&Antoine&\textcolor{accent}{Co-encadrant de thèse}\\ @@ -117,24 +130,53 @@ BOUTET&Antoine&\textcolor{accent}{Co-encadrant de thèse}\\ \end{center} \end{frame} +{ + \usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/background/toc/background.pdf}} +\begin{frame} + \tableofcontents +\end{frame} +} + \section{Introduction} \input{ckoi} +\section{Prérequis} +{ + \usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/background/toc/background.pdf}} +\begin{frame} + \tableofcontents[currentsection] +\end{frame} +} +\input{background} + \section{Classification finie} +{ + \usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/background/toc/background.pdf}} +\begin{frame} + \tableofcontents[currentsection] +\end{frame} +} \input{finie} \section{Inférence d'attribut sensible} +{ + \usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/background/toc/background.pdf}} +\begin{frame} + \tableofcontents[currentsection] +\end{frame} +} \input{aia} \section{Données synthétiques} -\input{synth} - +{ + \usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/background/toc/background.pdf}} \begin{frame} - \frametitle{Coucou} - qsdflkjqsdflkqsdlfk - \begin{theorem} - Si $a\leq b$ et $a\geq b$ alors $a=b$ - \end{theorem} + \tableofcontents[currentsection] \end{frame} +} +\input{synth} + +\input{perspective} + \end{document} diff --git a/perspective.tex b/perspective.tex new file mode 100644 index 0000000..ef2c29e --- /dev/null +++ b/perspective.tex @@ -0,0 +1,69 @@ +\begin{frame} + \frametitle{Convergence en entraînement} + \begin{definition}[$\varepsilon^0$-Convergence en entraînement.] + \begin{equation*} + \forall\varepsilon>\varepsilon^0~\exists\delta>0~\forall f\left( + C_{X_s,Y_s}(f)<\delta \implies + d\left(P_{f\circ X,S}, P_{f\circ X}\otimes P_S\right) + <\varepsilon\right) + \end{equation*} + Avec $C_{X_s,Y_s}$ la fonction de coût calculée sur les données synthétiques : + \begin{equation*} + C_{X_s,Y_s}(f) = E(l(f(X_s(\square)),Y_s(\square))) + \end{equation*} + \end{definition} +\end{frame} + +\begin{frame} + \frametitle{Théorème convergence vers un modèle équitable} + \begin{theorem} + \label{th:per-fairgen} + Sous les hypothèses suivantes + $P_{f\circ X,S}$ + $(4\gamma+\zeta)$-converge en entraînement vers + $P_{f\circ X}\otimes P_S$. + \end{theorem} +\end{frame} + +\begin{frame} + \frametitle{Théorème convergence vers un modèle équitable} + \begin{hypothese}[Lien entre la fonction de coût et la distance entre les lois des données d'entrée et des étiquettes] + \label{hyp:per-synth-cost} + $(\Omega,\mathcal{T},P)$ est un espace probabilisé. + Soit $\mathcal{Q}$ en ensemble de mesures de probabilité sur $(\Omega,\mathcal{T})$ tel que toutes les mesures images de ce théorème soient dans cet ensemble. + Soit $d$ tel que $(\mathcal{Q},d)$ soit un espace métrique et vérifiant l'inégalité du traitement de données. + + + Il existe une fonction $\varphi$, continue, croissante, positive, telle que + \begin{equation} + \forall \delta>0, + \left(C_{X,Y}(f)<\delta\right) + \implies + \left( + d(P_{f\circ X},P_Y)<\varphi(\delta) + \right) + \end{equation} + \end{hypothese} +\end{frame} +\begin{frame} + \frametitle{Théorème convergence vers un modèle équitable} + \begin{hypothese}[Approximation des données synthétiques] + \label{hyp:per-synth-apprx} + \begin{align} + \label{eq:per-approx} + &d(P_{X_s},P_X)<\gamma\\ + &d(P_{Y_s},P_Y)<\gamma\\ + \label{eq:per-approx-s} + &d(P_{S_s},P_S)<\gamma + \end{align} + \end{hypothese} +\end{frame} +\begin{frame} + \frametitle{Théorème convergence vers un modèle équitable} + \begin{hypothese}[Approximation de la parité démographique] + \label{hyp:per-synth-fair} + \begin{equation} + d(P_{Y_S,S_S},P_{Y_S}\otimes P_{S_S})<\zeta + \end{equation} + \end{hypothese} +\end{frame} diff --git a/synth.tex b/synth.tex index a67b4d1..430c1e0 100644 --- a/synth.tex +++ b/synth.tex @@ -1,3 +1,7 @@ \begin{frame} -hello + \begin{figure} + \centering + \input{tikz/synth/data} + \label{fig:synth-split} + \end{figure} \end{frame} diff --git a/tikz/asset/data.tex b/tikz/asset/data.tex new file mode 100644 index 0000000..663b59c --- /dev/null +++ b/tikz/asset/data.tex @@ -0,0 +1,20 @@ +\makeatletter +\tikzset{ + database/.style={ + path picture={ + \draw (0, 1.5*\database@segmentheight) circle [x radius=\database@radius,y radius=\database@aspectratio*\database@radius]; + \draw (-\database@radius, 0.5*\database@segmentheight) arc [start angle=180,end angle=360,x radius=\database@radius, y radius=\database@aspectratio*\database@radius]; + \draw (-\database@radius,-0.5*\database@segmentheight) arc [start angle=180,end angle=360,x radius=\database@radius, y radius=\database@aspectratio*\database@radius]; + \draw (-\database@radius,1.5*\database@segmentheight) -- ++(0,-3*\database@segmentheight) arc [start angle=180,end angle=360,x radius=\database@radius, y radius=\database@aspectratio*\database@radius] -- ++(0,3*\database@segmentheight); + }, + minimum width=2*\database@radius + \pgflinewidth, + minimum height=3*\database@segmentheight + 2*\database@aspectratio*\database@radius + \pgflinewidth, + }, + database segment height/.store in=\database@segmentheight, + database radius/.store in=\database@radius, + database aspect ratio/.store in=\database@aspectratio, + database segment height=0.1cm, + database radius=0.25cm, + database aspect ratio=0.35, +} +\makeatother diff --git a/tikz/attack/4att.tex b/tikz/attack/4att.tex new file mode 100644 index 0000000..009b58a --- /dev/null +++ b/tikz/attack/4att.tex @@ -0,0 +1,20 @@ +\begin{tikzpicture} + + \def \h{4} + \def \s{1} + + \draw (0,0) rectangle (\h,\h); + \node (a) at (1,1) {$id$}; + + \draw (\h+\s,0) rectangle (2*\h+\s,\h); + \node (a) at (1,1) {$1-id$}; + + \draw (0,\h+\s) rectangle (\h,2*\h+\s); + \node (a) at (1,1) {$0$}; + + \draw (\h+\s,\h+\s) rectangle (2*\h+\s,2*\h+\s); + \node (a) at (1,1) {$1$}; + + +\end{tikzpicture} + diff --git a/tikz/attack/attack.tex b/tikz/attack/attack.tex new file mode 100644 index 0000000..9177ecd --- /dev/null +++ b/tikz/attack/attack.tex @@ -0,0 +1,37 @@ +\begin{tikzpicture} + + \def \h{-2} + + %Donnée utilisateur + \node[color=gray] (ludata) at (0,1) {User's data}; + \node (udata) at (0,-0.36) {}; + \draw[color=gray] (-4,0.5) rectangle (4,-0.5); + \node[rectangle,draw] (x) at (-2,0) {Input data}; + \node[rectangle,draw=red] (s) at (2,0) {Sensitive attribute}; + + %Modèle cible + \draw[color=gray] (-4.5,\h+0.5) rectangle (1.5,\h-2); + \node[color=gray] (lmcible) at (-1.5,\h-2.5) {Target model}; + + %Pipeline + \node[rectangle,draw] (model) at (0,\h) {Model}; + \node[rectangle,draw=blue] (inf) at (0,\h-1) {Classification}; + \node[rectangle,draw] (train) at (-3,\h) {Training}; + + \draw[->] (udata) to (model); + \draw[->] (model) to (inf); + \draw[->] (train) to (model); + + %Attaque + \node[rectangle,draw=blue] (att) at (5,\h) {Attack}; + + %\draw[->,color=blue] (x) to (att); + %\draw[->,color=blue] (model) to (att); + \draw[->,color=blue] (inf) to (att); + \draw[->,color=red] (att) to (s); + + + %\draw[color=red] (-2,0.5) rectangle (2,-0.5); + %\node[color=red] (cible) at (0,1) {Cible de l'attaque}; +\end{tikzpicture} + diff --git a/tikz/attack/bin.tex b/tikz/attack/bin.tex new file mode 100644 index 0000000..714ff6b --- /dev/null +++ b/tikz/attack/bin.tex @@ -0,0 +1,18 @@ +\begin{tikzpicture} + + \def \h{4} + + %Donnée utilisateur + \node[rectangle,draw=red] (s) at (2*\h,0) {Sensitive attribute}; + + %Pipeline + \node[rectangle,draw=blue] (inf) at (0,0) {Classification}; + + %Attaque + \node[rectangle,draw=blue] (att) at (\h,0) {Attack}; + + \draw[->,color=blue] (inf) to (att); + \draw[->,color=red] (att) to (s); + +\end{tikzpicture} + diff --git a/tikz/attack/bin_ens.tex b/tikz/attack/bin_ens.tex new file mode 100644 index 0000000..3a80a6b --- /dev/null +++ b/tikz/attack/bin_ens.tex @@ -0,0 +1,31 @@ +\begin{tikzpicture} + + \def \h{4} + + %Pipeline + \node[rectangle,draw=red] (s) at (2*\h,0) {Sensitive attribute}; + \node[rectangle,draw=blue] (inf) at (0,0) {Classification}; + \node[rectangle,draw=blue] (att) at (\h,0) {Attack}; + \draw[->,color=blue] (inf) to (att); + \draw[->,color=red] (att) to (s); + + %Ensembles + \node (c0) at (0,1) {$0$}; + \node (c1) at (0,2) {$1$}; + \node (c2) at (0,3) {$0$}; + \node (c3) at (0,4) {$\vdots$}; + + \node (a0) at (2*\h,1) {$1$}; + \node (a1) at (2*\h,2) {$0$}; + \node (a2) at (2*\h,3) {$1$}; + \node (a3) at (2*\h,4) {$\vdots$}; + + \draw[->] (c0) to (a0); + \draw[->] (c1) to (a1); + \draw[->] (c2) to (a2); + \draw[->] (c3) to (a3); + + + +\end{tikzpicture} + diff --git a/tikz/attack/ef.tex b/tikz/attack/ef.tex new file mode 100644 index 0000000..ed7da7f --- /dev/null +++ b/tikz/attack/ef.tex @@ -0,0 +1,22 @@ +\begin{tikzpicture} + + \def \h{4} + + %Pipeline + \node[rectangle,draw=red] (s) at (2*\h,0) {Sensitive attribute}; + \node[rectangle,draw=blue] (inf) at (0,0) {Classification}; + \node[rectangle,draw=blue] (att) at (\h,0) {Attack}; + \draw[->,color=blue] (inf) to (att); + \draw[->,color=red] (att) to (s); + + %Ensembles + \node (c0) at (0,1) {$E=\{0,\cdots,m-1\}$}; + + \node (a0) at (2*\h,1) {$F=\{0,\cdots,n-1\}$}; + + \draw[->] (c0) to (a0); + + + +\end{tikzpicture} + diff --git a/tikz/attack/nobin_ens.tex b/tikz/attack/nobin_ens.tex new file mode 100644 index 0000000..0d3b81a --- /dev/null +++ b/tikz/attack/nobin_ens.tex @@ -0,0 +1,31 @@ +\begin{tikzpicture} + + \def \h{4} + + %Pipeline + \node[rectangle,draw=red] (s) at (2*\h,0) {Sensitive attribute}; + \node[rectangle,draw=blue] (inf) at (0,0) {Classification}; + \node[rectangle,draw=blue] (att) at (\h,0) {Attack}; + \draw[->,color=blue] (inf) to (att); + \draw[->,color=red] (att) to (s); + + %Ensembles + \node (c0) at (0,1) {$0$}; + \node (c1) at (0,2) {$1$}; + \node (c2) at (0,3) {$2$}; + \node (c3) at (0,4) {$\vdots$}; + + \node (a0) at (2*\h,1) {$853$}; + \node (a1) at (2*\h,2) {$22$}; + \node (a2) at (2*\h,3) {$312$}; + \node (a3) at (2*\h,4) {$\vdots$}; + + \draw[->] (c0) to (a0); + \draw[->] (c1) to (a1); + \draw[->] (c2) to (a2); + \draw[->] (c3) to (a3); + + + +\end{tikzpicture} + diff --git a/tikz/attack_mia.tex b/tikz/attack_mia.tex new file mode 100644 index 0000000..e60137e --- /dev/null +++ b/tikz/attack_mia.tex @@ -0,0 +1,37 @@ +\begin{tikzpicture} + + \def \h{-2} + + %Donnée utilisateur + \node[color=gray] (ludata) at (0,1) {Donnée utilisateur}; + \node (udata) at (0,-0.36) {}; + \draw[color=gray] (-4,0.5) rectangle (4,-0.5); + \node[rectangle,draw] (x) at (-2,0) {Donnée d'entrée}; + \node[rectangle,draw=red] (s) at (2,0) {Attribut sensible}; + + %Modèle cible + \draw[color=gray] (-4.5,\h+0.5) rectangle (1.5,\h-2); + \node[color=gray] (lmcible) at (-1.5,\h-2.5) {Modèle cible}; + + %Pipeline + \node[rectangle,draw] (model) at (0,\h) {Modèle}; + \node[rectangle,draw=blue] (inf) at (0,\h-1) {Classification}; + \node[rectangle,draw] (train) at (-3,\h) {Entrainement}; + + \draw[->] (udata) to (model); + \draw[->] (model) to (inf); + \draw[->] (train) to (model); + + %Attaque + \node[rectangle,draw=blue] (att) at (5,\h) {Attaque}; + + %\draw[->,color=blue] (x) to (att); + %\draw[->,color=blue] (model) to (att); + \draw[->,color=blue] (model) to (att); + \draw[->,color=red] (att) to [bend right] (train); + + + %\draw[color=red] (-2,0.5) rectangle (2,-0.5); + %\node[color=red] (cible) at (0,1) {Cible de l'attaque}; +\end{tikzpicture} + diff --git a/tikz/chaussette/a.tex b/tikz/chaussette/a.tex new file mode 100644 index 0000000..1d001c2 --- /dev/null +++ b/tikz/chaussette/a.tex @@ -0,0 +1,60 @@ + +\begin{tikzpicture} +\def \h{4} +\node () at (0,1) {$X=0$}; +\node[rectangle,draw=bonus] (G0) at (0,0) {$\begin{matrix}\bigcirc&\bigcirc\\\bigcirc&\bigcirc\end{matrix}$}; +\node () at (\h,1) {$X=1$}; +\node[rectangle,draw=bonus] (G1) at (\h,0){$\begin{matrix}\bigcirc&\bigcirc&\bigtriangleup\\&\bigcirc&\bigtriangleup\end{matrix}$}; +\node () at (2*\h,1) {$X=2$}; +\node[rectangle,draw=bonus] (G2) at (2*\h,0){$\begin{matrix}\bigcirc&\bigcirc&\times\\&\bigcirc&\times\end{matrix}$}; + \pause + + \node (L0) at (0,-2) {$ + \begin{matrix} + P(Y=\bigcirc|X=\emph{0}) = 1\\[6pt] + P(Y=\bigtriangleup|X=\emph{0}) = 0\\[6pt] + P(Y=\times|X=\emph{0}) = 0 + \end{matrix} + $}; + \node (L1) at (\h,-2) {$ + \begin{matrix} + P(Y=\bigcirc|X=\emph{1}) = \frac{3}{5}\\[6pt] + P(Y=\bigtriangleup|X=\emph{1}) = \frac{2}{5}\\[6pt] + P(Y=\times|X=\emph{1}) = 0 + \end{matrix} + $}; + \node (L2) at (2*\h,-2) {$ + \begin{matrix} + P(Y=\bigcirc|X=\emph{2}) = \frac{3}{5}\\[6pt] + P(Y=\bigtriangleup|X=\emph{2}) =0 \\[6pt] + P(Y=\times|X=\emph{2}) = \frac{2}{5} + \end{matrix} + $}; + +\draw[->] (G0) to (L0); +\draw[->] (G1) to (L1); +\draw[->] (G2) to (L2); + +\draw (-2,-1) rectangle (1.9,-3); + \node (x0) at (0,-3) {}; +\draw (-2+\h,-1) rectangle (1.9+\h,-3); + \node (x1) at (\h,-3) {}; +\draw (-2+2*\h,-1) rectangle (1.9+2*\h,-3); +\pause + \draw[blue] (-2,-1) rectangle (1.9,-1.6); + \draw[blue] (-2+\h,-1) rectangle (1.9+\h,-1.6); + \draw[blue] (-2+2*\h,-1) rectangle (1.9+2*\h,-1.6); +\pause + \node (x2) at (2*\h,-3) {}; + + \node (f0) at (0,-4) {$f(\emph{0}) = \bigcirc$}; + \node (f1) at (\h,-4) {$f(\emph{1}) = \bigcirc$}; + \node (f2) at (2*\h,-4) {$f(\emph{2}) = \bigcirc$}; + + \draw[->] (x0) to (f0); + \draw[->] (x1) to (f1); + \draw[->] (x2) to (f2); + \pause +\node[anchor=west] () at (-2,-4.5) {Exactitude $=\frac{10}{14}(\approx 0.7)$}; +\node[anchor=west] () at (-2,-5) {$A(\bigcirc)=1$~$A(\bigtriangleup)=0$~$A(\times)=0$ Exactitude équilibrée $=\frac{1}{3}$}; +\end{tikzpicture} diff --git a/tikz/chaussette/ba.tex b/tikz/chaussette/ba.tex new file mode 100644 index 0000000..b1cc883 --- /dev/null +++ b/tikz/chaussette/ba.tex @@ -0,0 +1,70 @@ + +\begin{tikzpicture} +\def \h{4} +\node () at (-1.5,-1) {$Y=\bigcirc$}; + \node[rectangle,draw=,anchor=north] (G0) at (0,0) {$\begin{matrix}0&0\\0&0\\1&1\\&1\\2&2\\&2\end{matrix}$}; +\node () at (\h-1.5,-1) {$Y=\bigtriangleup$}; + \node[rectangle,draw=,anchor=north] (G1) at (\h,0){$\begin{matrix}1&1\end{matrix}$}; +\node () at (2*\h-1.5,-1) {$Y=\times$}; + \node[rectangle,draw=,anchor=north] (G2) at (2*\h,0){$\begin{matrix}2&2\end{matrix}$}; + \pause + \node (L0) at (0,-4.5) {$ + \begin{matrix} + P(X=\emph{0}|Y=\bigcirc) = \frac{4}{10}\\[6pt] + P(X=\emph{1}|Y=\bigcirc) = \frac{3}{10}\\[6pt] + P(X=\emph{2}|Y=\bigcirc) = \frac{3}{10} + \end{matrix} + $}; + \node (L1) at (\h,-4.5) {$ + \begin{matrix} + P(X=\emph{0}|Y=\bigtriangleup) = 0\\[6pt] + P(X=\emph{1}|Y=\bigtriangleup) = 1\\[6pt] + P(X=\emph{2}|Y=\bigtriangleup) = 0 + \end{matrix} + $}; + \node (L2) at (2*\h,-4.5) {$ + \begin{matrix} + P(X=\emph{0}|Y=\times) = 0\\[6pt] + P(X=\emph{1}|Y=\times) = 0\\[6pt] + P(X=\emph{2}|Y=\times) =1 + \end{matrix} + $}; + +\draw[->] (G0) to (L0); +\draw[->] (G1) to (L1); +\draw[->] (G2) to (L2); + + \def \s{0.6} + \def \o{0} +\draw (-2,-3.5) rectangle (1.9+2*\h,-4.1); + \node (x0) at (-2-\o,-3.5-\o) {}; +\draw (-2,-3.6-\s) rectangle (1.9+2*\h,-4.2-\s); + \node (x1) at (-2-\o,-3.6-\s-\o) {}; +\draw (-2,-3.7-2*\s) rectangle (1.9+2*\h,-4.3-2*\s); + \node (x2) at (-2-\o,-3.7-2*\s-\o) {}; + + \pause + \draw[blue] (-2,-3.5) rectangle (2,-4.1); + \draw[blue] (-2+\h,-3.6-\s) rectangle (2+\h,-4.2-\s); + \draw[blue] (-2+2*\h,-3.7-2*\s) rectangle (1.9+2*\h,-4.3-2*\s); + \pause + + \node[anchor=west] () at (-2,-6) {$f(\emph{2}) = \times$}; + \node[anchor=west] () at (-2,-6-\s) {$f(\emph{1}) = \bigtriangleup$}; + \node[anchor=west] () at (-2,-6-2*\s) {$f(\emph{0}) = \bigcirc$}; + + \node[anchor=west] (f2) at (-2.1,-6) {}; + \node[anchor=west] (f1) at (-2.1,-6-\s) {}; + \node[anchor=west] (f0) at (-2.1,-6-2*\s) {}; + + + \draw[->] (x0) to[bend right] (f0); + \draw[->] (x1) to[bend right] (f1); + \draw[->] (x2) to[bend right] (f2); + + \pause + + \node[anchor=west] () at (1,-6) {Exactitude $=\frac{8}{14}(\approx 0.57)$}; + \node[anchor=west] () at (1,-6.5) {$A(\bigcirc)=\frac{4}{10}$~$A(\bigtriangleup)=1$~$A(\times)=1$}; + \node[anchor=west]() at (1,-7) {Exactitude équilibré $=\frac{24}{30}=0.8$}; +\end{tikzpicture} diff --git a/tikz/data.tex b/tikz/data.tex new file mode 100644 index 0000000..62a09d0 --- /dev/null +++ b/tikz/data.tex @@ -0,0 +1,17 @@ +\input{tikz/asset/data} +\begin{tikzpicture} + \node[database,label={[align=center]above:Donnée\\cible}] (base) at (0,0) {}; + \node[rectangle,draw,align=center] (cible) at (10,0) {Modèle\\cible}; + \draw[->,align=center] (base) to[bend left] node[midway,above] {80\% entraînement\\sans attribut sensible} (cible); + \draw[->,blue] (base) to[bend right] node[midway,below] (test) {20\% évaluation} (cible); + \pause + \node[database,label={[align=left]right:Donnée\\auxiliaire}] (aux) at (10,-4.5) {}; + \draw[->] (test) to[out=-90,in=90] node[midway,above] {\hspace{50px}Attribut sensible} (aux); + \draw[->,blue] (cible) to node[midway,right] {Prédiction} (aux); + \pause + \node[rectangle,draw,align=center] (attaque) at (3,-4.5) {Modèle\\AIA}; + \draw[->] (aux) to node[midway,below] {80\% entraînement} (attaque); + \draw[->] (aux) to node[midway,above] {20\% évaluation} (attaque); + \node[rectangle,align=center] (result) at (0,-4.5) {Exactitude\\équilibrée}; + \draw[->] (attaque) to (result); +\end{tikzpicture} diff --git a/tikz/synth/data.tex b/tikz/synth/data.tex new file mode 100644 index 0000000..c06a06a --- /dev/null +++ b/tikz/synth/data.tex @@ -0,0 +1,71 @@ +\input{tikz/asset/data} + + +\begin{tikzpicture} + \def\h{3.5} %décalage modèle + \def\i{1.5} %décalage split + \def\j{4.5} %décalage données synthétique + + %\draw[fill=red] (-1.1,1) rectangle (7.2,-2.5); + %\draw[fill=green] (-1.1,-2.5) rectangle (7.2,-5); + %\draw[fill=blue] (-1.1,-5) rectangle (7.2,-8); + %\draw[fill=white,fill opacity=0.8] (-1.1,1) rectangle (7.2,-8); + + %\node[single arrow, anchor=west, very thick, fill=lightgray, fill opacity=0.9, + % minimum width = 30pt, single arrow head extend=3pt, + % minimum height=89mm, + % rotate=-90] () at (3,1){}; + + \node[database,label={[align=left]left:Données\\réelles}] (d) at (0,0){}; + \node[rectangle,draw,align=center] (overfit) at (2,0) {OVR\\CTRL}; + \draw[->] (d) to node[midway,above] {80\%} (overfit); + \node[database,label=above:$m$] (realtr) at (4,0){}; + \draw[->] (overfit) to (realtr); + \node[rectangle,draw,align=center] (gen) at (6+\h,0) {Modèle\\génératif}; + \draw[->] (realtr) to node[midway,above] {entraînement} (gen); + \pause + + \node[database,label={[align=left]right:Données\\synthétiques}] (syn) at (5+\j,-2) {}; + \draw[->] (gen) to (syn); + \node[database,label=below:$\bar{m}$] (realte) at (0,-1.5) {}; + \draw[->,blue] (d) to node[midway,left] {20\%}(realte); + \node[rectangle,draw,align=center] (tarmod) at (2,-2) {Modèle\\cible}; + \draw[->,blue] (realte) to[out=0,in=130] node[midway,above] {eval} (tarmod); + \draw[->,red] (realtr) to node[midway,right] {eval} (tarmod); + \draw[->] (syn) to[out=180,in=0] node[midway,above] {entraînement} (tarmod); + \pause + \node[database,label={[align=center]left:coût\\$\bar{m}$}] (miam) at (1.5,-5) {}; + \node[database,label={[align=center]right:coût\\$m$}] (mian) at (2.5,-5) {}; + \node[database,label={[align=center]below:Base\\MIA}] (mia) at (2,-6.5) {}; + \draw[->,blue] (tarmod) to node[midway,fill=white] (aiabranch) {\small prédiction} (miam); + \draw[->,red] (tarmod) to (mian); + \draw[->,blue] (miam) to (mia); + \draw[->,red] (mian) to (mia); + + \node[database,label=above:Entraînement] (miatr) at (4+\i,-6.5) {}; + \node[database,label=below:Evaluation] (miate) at (4+\i,-7) {}; + \draw[->] (mia) to node[midway,above] {80\%} (miatr); + \draw[->] (mia) to node[midway,below] {20\%} (miate); + \node[rectangle,draw,align=center] (miamod) at (6.5+\h,-6) {Modèle\\MIA}; + \draw[->] (miatr) to node[midway,above] {entraînement} (miamod); + \node[align=center] (miares) at (6.5+\h,-7) {Résultat\\MIA}; + \draw[->] (miate) to node[midway,below] {eval} (miamod); + \draw[->] (miamod) to (miares); + \pause + + \node[blue,database,label={[align=center]above:Base\\AIA}] (aiad) at (3.2,-3.6){}; + \node[align=center] (ures) at (-1,-3.6) {Résultat\\utilité}; + \draw[->,blue] (aiabranch) to (aiad); + \draw[->,blue] (aiabranch) to (ures); + \node[database,label=above:Entraînement] (aiatr) at (4.5+\i,-3.6) {}; + \node[database,label=below:Evaluation] (aiate) at (4.5+\i,-4.1) {}; + \draw[->] (aiad) to node[midway,above] {80\%} (aiatr); + \draw[->] (aiad) to node[midway,below] {20\%} (aiate); + \node[rectangle,draw,align=center] (aiamod) at (6.5+\h,-3.8) {Modèle\\AIA}; + + \draw[->] (aiatr) to node[midway,above] {entraînement} (aiamod); + \draw[->] (aiate) to node[midway,below] {eval} (aiamod); + \node[align=center] (aiares) at (6.5+\h,-5) {Résultat\\AIA}; + \draw[->] (aiamod) to (aiares); +\end{tikzpicture} + -- cgit v1.2.3