resume.tex 13.1 KB
Newer Older
Delaunay Marina's avatar
Delaunay Marina committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[table,xcdraw]{xcolor}
\usepackage{color}
\usepackage{array}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{graphicx}
\usepackage{float}
\usepackage{ulem}
\usepackage{booktabs}
\usepackage[french]{babel}
\usepackage[margin=2cm]{geometry}
\usepackage{fancyhdr}
\usepackage{listings}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{caption}
\usepackage{eurosym}
\usepackage{subfig}
\usepackage{hyperref}
\usepackage{multirow}
\usepackage{graphicx}
\hypersetup{breaklinks=true}
\def\UrlBreaks{\do\/\do-\do?\do0}
\hypersetup{hidelinks}
\definecolor{mypink1}{rgb}{0.858, 0.188, 0.478}
\lstset{language=SAS, 
  breaklines=true,  
  basicstyle=\ttfamily\bfseries,
  columns=fixed,
  keepspaces=true,
  identifierstyle=\color{blue}\ttfamily,
  keywordstyle=\color{cyan}\ttfamily,
  stringstyle=\color{purple}\ttfamily,
  commentstyle=\color{green}\ttfamily,
  } 
\lstset{
    breaklines=true,
    numbers=left,
    frame=single
    }
% \newcommand{\E}{\mathbb{E}}
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}

\date{Mai 2021}

\pagestyle{fancy}
\fancyhead[L]{}
%\fancyfoot{}

52
53
54
55
56
57
58
59
60
61

\providecommand{\keywords}[1]{\textbf{\textit{Keywords:}} #1}
\bibliographystyle{apalike}

\usepackage{hyperref}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


Delaunay Marina's avatar
Delaunay Marina committed
62
63
64
\begin{document}


65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
\begin{titlepage}
	
	\begin{center}
		
		\textsc{{\LARGE Institut national des sciences appliquées de Rouen} \\ \vspace{6
				mm} {\Large INSA de Rouen}} \\
		\vspace{15mm}
		\includegraphics[width=0.4\textwidth]{./img/insa}\\[1.0 cm]
		
		\textsc{\Large Machine Learning}\\[0.5cm]
		
		% Title
		
		\HRule \\[0.4cm]
		{ \huge \bfseries Predicting movie box-office revenues using deep neural networks}\\[0.4cm]
		
		\HRule \\[1.5cm]
		
		{\Large{Yao Zhou • Lei Zhang • Zhang Yi  }\\
		
		\vspace{2cm}}
		
		% Author and supervisor
		\vspace{1.5cm}
		\begin{minipage}{0.4\textwidth}
			\begin{flushleft} \large
				\emph{Auteurs:}\\
				Marina \textsc{DELAUNAY} \\
				Alexia \textsc{GROSS} \\
				Anna \textsc{PINEAU} \\
			\end{flushleft}
		\end{minipage}
		\begin{minipage}{0.4\textwidth}
			\begin{flushright} \large
				\emph{Enseignant:} \\
				Clément \textsc{CHATELAIN}
			\end{flushright}
		\end{minipage}
		
		\vfill
		{\large \today}
	\end{center}
\end{titlepage} 

Delaunay Marina's avatar
Delaunay Marina committed
109
110
111
112


\tableofcontents

113

Delaunay Marina's avatar
Delaunay Marina committed
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
\newpage

%INTRODUCTION
\section{Introduction}
Dans l'industrie du film, la capacité de prédire le box-office permettrait de réduire le risque financier du producteur. Bien que le succès d’un film fût classé comme un “problème imprédictible”, des études ont tenté de déterminer à l’avance le box-office d’un film, basées sur la prise en compte de différents critères: les genres, les évaluations, et également les acteurs participant au film. \\

Des études plus récentes ont attiré l’attention avec un nouveau critère : les affiches de film. En effet, ces dernières sont produites dans le but de véhiculer un message, d’attirer l’attention du lecteur et sont généralement visibles avant la sortie du film. \\

\noindent Le processus de prédiction se résume comme suit :  

\begin{enumerate}
    \item Un CNN est implémenté pour apprendre les caractéristiques des affiches de films. 
    \item La sortie de ce CNN est utilisée en entrée d’un DNN, tout comme d’autres données liées au film.
    \item La sortie du DNN produit la prédiction du box-office du film en question.
\end{enumerate}

%MÉTHODOLOGIE
\section{Méthodologie}

\subsection{Sélection des variables}
Le réseau de neurones multimodal est construit avec en entrée plusieurs données combinées à un CNN appris avec des affiches de film. \\  

Plusieurs variables sont considérées : 
\begin{itemize}
    \item Le genre : 22 genres sont retenus (action, comédie, drame, romance, …) sachant qu'un film peut appartenir à plusieurs genres. Cette variable est un vecteur binaire de taille 22, initialisé à 0. Lorsque le film appartient à un genre, le vecteur à la position correspondante est fixé à 1.
    \item La durée en minutes
    \item Le nombre d'étoile : chiffre entre 1 et 5
    \item Le budget
    \item Un CNN appris avec le contenu des affiches de films  
\end{itemize}

\noindent D’autres variables peuvent aussi être prises en compte comme le nombre de partage de la bande annonce sur les réseaux sociaux ou le nombre de critique.  

\subsection{DNN}
Le modèle de prédiction classe les films dans une catégorie indiquant leur niveau de box-office.\\ 

Ce DNN se compose d’une couche d’entrée multimodale, ce qui permet de traiter des données de différents types. L’architecture se compose de trois parties : une couche d’entrée multimodale, des couches cachées et une couche de sortie. \\  

Le nombre d’entrées dépend du nombre de modalité de données utilisées et le nombre de sortie dépend du nombre de catégorie définie par le box-office. Ainsi, le modèle contient $L$ couches et sa fonction d’activation est définie par : 
\[
a_{i}^{l+1}(\theta,x) = f(\sum_{j=1}^{n_{l}}{w_{ij}^{l+1}.a_{j}^{l}(\theta,x)})
\]
avec 0 $\leq$ $l$ $\leq$ $L$ \\ 

$a_{j}(\theta, x)^{l}$ représente la fonction d'activation de la i-ème couche d'un échantillon $x$ de paramètre $\theta$ \\

$w_{ij}^{l+1}$ représente le poids de connexion entre la $j-ième$ unité de la $l-ième$ couche et la $i-ème$ unité de la $(l+1)-ième$ couche \\

Dans la couche de sortie, la fonction d'activation est softmax, et le résultat de la prédiction peut être interprété comme des probabilités pour chaque catégorie. Voici le calcul de la couche de sortie : 

\[
Pr_{i}(\theta, x) = \frac{e^{a_{i}^{L}(\theta, x)}}{\sum_{j=1}^{k}{e^{a_{i}^{L}(\theta, x)}}}
\]

$L$ est le nombre d'unités dans la couche de sortie et $k$ le nombre total de classes. \\ 

$Pr_{i}(\theta, x)$ représente la probabilité d'un échantillon $x$ d'appartenir à la classe $i$ avec le paramètre $\theta$

\subsection{Prédiction avec les affiches de films}
Un CNN a été construit afin d'exploiter le contenu des affiches de films. Il contient une seule couche entièrement connectée. 
Ensuite, ce CNN est intégré dans le DNN multimodal. 

176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
\begin{minipage}{\linewidth}
	\begin{minipage}{0.4\linewidth}
		\begin{figure}[H]
			\centering
			\includegraphics[width=10cm]{img/img_architecture.png}
			\caption{Architecture du modèle}
		\end{figure}
	\end{minipage}
	\hspace{0.2\linewidth}
	\begin{minipage}{0.4\linewidth}
		Pour la dernière couche du DNN, il s'agit de la fonction d'activation softmax afin de classifier le niveau de réussite financière du film. 
		Et pour évaluer le modèle, il s'agit d'une fonction de "cross-entropy". La fonction de coût est minimisée est correspond à une erreur quadratique moyenne. \\
		Le principal avantage de ce modèle est qu'il utilise des fonctionnalités de données multimodales, ce qui donne plus d'informations et donc une meilleure prédiction. 
	\end{minipage}
\end{minipage}



Delaunay Marina's avatar
Delaunay Marina committed
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269



%EXPERIENCE
\section{Expérience}

\subsection{Dataset}
Les données expérimentales utilisées proviennent du Dataset IMDB (imdb.com) et les revenus du box-office pour chaque film proviennent du site the-numbers.com. Le dataset final contient 3 807 films.  Toutes les données numériques ont été normalisé. En effet, mettre toutes les données sur la même échelle permet au DNN de converger plus rapidement. \\   
Les revenues box-office des films ont été séparés dans différentes classes.  

\subsection{Méthode d’évaluation}
La méthode APHR(average percent hit rate) a été utilisée pour évaluer les résultats. C’est-à-dire le nombre de prédiction correcte sur le nombre de prédiction totale. Pour juger de la précision de la prédiction, deux méthodes ont été utilisées : 
\begin{itemize}
    \item Absolute accuracy : la prédiction du box-office est bien dans la même classe que le box-office réel
    \item Relative accuracy (1-away) : la prédiction du box-office est dans une classe adjacente (ou la même classe) à celle du box office réel
\end{itemize}

\subsection{Paramètres des expériences}

Pour comprendre les paramètres du DNN, il faut d’abord comprendre les paramètres du CNN. \\

Pour utiliser des données extraites des posters, le CNN était conçu de 10 convolutional layers et 4 pooling layers. ReLU (Rectified Linear Unit) a été utilisé comme fonction d’activation. Lors de l'étape de pre-training, deux units ont été utilisé dans la dernière couche pour prédire ou non le succès financier d’un film. Le nombre de poster pour pré entrainer le modèle pouvant être insuffisant, il a donc été décidé de pré-entrainer le CNN sur ImageNet DataSet. Même si ce dataset contient surtout des photographies, beaucoup d’objets des posters de cinéma correspondent à des objets réels (pouvant donc se retrouver dans des photographies).  \\

Une fois toutes les données d’entrées récupérées, le DNN multimodal est construit d’hidden layers. Celles-ci sont composées de 5 couches entièrement connectées avec comme fonction d’activation ReLU. Dropout a été ajouté après chaque couches entièrement connectées afin de réduire la coadaption des unités cachées. Pour l’évaluation du DNN, un $k$-fold validation a été employé . Le seuil de validation a été mis à 20$\%$ et $k$ a 5. Enfin pour optimiser les paramètres, l’algorithme ADAM a été utilisé. L’optimisation visant à  minimiser la fonction de coût pour la classification et pour la régression. \\

De plus, l’expérience a été implémentée sur MXNet framework, et a été lancée sur un ordinateur avec un GPU de NVIDIA GeForce GTX TITAN X. 

\subsection{Résultats et analyse}

Dans le but de connaître la performance de cette technique, ce dernier fut comparé à d’autres méthodes comme : SVM,  Random Forest and multilayer BP neural network (MLBP). \\

Pour le premier test, les affiches de films ne sont pas prises en compte.
Il en résulte que le DNN obtient les meilleures performances par rapport au trois autres méthodes que ce soit pour la métrique Bingo ou 1-Away. MLBP se rapproche le plus de la performance du DNN tandis que la méthode du SVM se positionne loin derrière. \\

Dans le second test, les affiches de films sont prises en compte en entrée du DNN. Utiliser les caractéristiques des posters appris par le CNN en entrée du DNN améliore la prédiction du modèle. Même conclusion qu'avec le premier test, le DNN est plus performant.\\

Une autre étude fut réalisée en comparant les différentes fonctions d’activation : sigmoid, tanh, and ReLU. Au terme des tests, ReLU est légèrement plus performante que les deux autres. \\

Pour finir, des expériences furent menées sur les variables en entrée du DNN pour analyser l’influence de chacune d’entre elles. Deux variables furent mises en avant : la notation du film (rating) et le budget du film. En effet, elles affectent la performance des différentes méthodes de manière significante.

\subsection{Visualisation des caractéristiques}
Des échantillons de posters issus du lot de validation ont été mis en entrée du CNN et une deep feature localization a été mise en place dans le but d’analyser ce que le CNN recherche dans les affiches de film. \\ 
Cette expérience montre que le CNN se focalise sur les régions avec du texte. De plus, une corrélation entre le design du titre du film et son box-office fut mise en avant. 


%CONCLUSION
\section{Conclusion}
Dans ce papier, un DNN multimodal a été proposé pour prédire le revenu box-office de films. Un CNN a d’abord été utilisé pour extraire des données de posters puis un DNN multimodal a été mis en place avec en entrée le résultat du CNN et des données relatives aux films (acteurs, durée, genre etc). \\
L’expérience a montré des résultats satisfaisants selon les critères définis. Il a d’ailleurs été noté que le résultat du DNN était meilleur lorsque le CNN (affiche de films) était pris en compte. 


\section{Critique}
\uline{Est-ce que le réseau de neuronne est le meilleur moyen de répondre à des associations multimodales (Image/Texte) ?}\\
Dans cette étude, deux types de données sont mêlées : des images (les affiches de films) et des variables numériques comme le budget, la durée en minutes du film... Ceci implique de construire des models qui prennent en compte ces deux types. \\
Or, les réseaux de neuronnes, originellement, sont très performant sur de l'apprentissage issu d'un seul type de donnée. Pour arriver à notre objectif en utilisant les réseaux de neuronnes ceci implique de fusionner l'information issue des différentes modalités comme vu précédemment.\cite{Deeplearning}\\



\newpage
\bibliographystyle{ieeetr}
\bibliography{ref}

\begin{thebibliography}{9}

\bibitem{articleEtudie} 
Yao Zhou, Lei Zhang and Zhang Yi.
\textit{Predicting movie box-office revenues using deep neural networks}. 
Springer, 2017.

\bibitem{Deeplearning} 
Introduction to Multimodal Deep Learning
\\\texttt{https://heartbeat.fritz.ai/introduction-to-multimodal-deep-learning-630b259f9291}
\end{thebibliography}


\end{document}