Commit 4c6f437d authored by Delaunay Marina's avatar Delaunay Marina
Browse files

projet ml

parents
This diff is collapsed.
\relax
\providecommand\hyper@newdestlabel[2]{}
\@nameuse{bbl@beforestart}
\catcode `:\active
\catcode `;\active
\catcode `!\active
\catcode `?\active
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\babel@aux{french}{}
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{2}{section.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2}Méthodologie}{2}{section.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Sélection des variables}{2}{subsection.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}DNN}{2}{subsection.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Prédiction avec les affiches de films}{3}{subsection.2.3}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Architecture du modèle\relax }}{3}{figure.caption.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3}Expérience}{3}{section.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Dataset}{3}{subsection.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Méthode d’évaluation}{3}{subsection.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Paramètres des expériences}{3}{subsection.3.3}\protected@file@percent }
\citation{Deeplearning}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Résultats et analyse}{4}{subsection.3.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Visualisation des caractéristiques}{4}{subsection.3.5}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{4}{section.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5}Critique}{4}{section.5}\protected@file@percent }
\bibstyle{ieeetr}
\bibdata{ref}
\bibcite{articleEtudie}{1}
\bibcite{Deeplearning}{2}
This diff is collapsed.
\BOOKMARK [1][-]{section.1}{Introduction}{}% 1
\BOOKMARK [1][-]{section.2}{M\351thodologie}{}% 2
\BOOKMARK [2][-]{subsection.2.1}{S\351lection des variables}{section.2}% 3
\BOOKMARK [2][-]{subsection.2.2}{DNN}{section.2}% 4
\BOOKMARK [2][-]{subsection.2.3}{Pr\351diction avec les affiches de films}{section.2}% 5
\BOOKMARK [1][-]{section.3}{Exp\351rience}{}% 6
\BOOKMARK [2][-]{subsection.3.1}{Dataset}{section.3}% 7
\BOOKMARK [2][-]{subsection.3.2}{M\351thode d\220\351valuation}{section.3}% 8
\BOOKMARK [2][-]{subsection.3.3}{Param\350tres des exp\351riences}{section.3}% 9
\BOOKMARK [2][-]{subsection.3.4}{R\351sultats et analyse}{section.3}% 10
\BOOKMARK [2][-]{subsection.3.5}{Visualisation des caract\351ristiques}{section.3}% 11
\BOOKMARK [1][-]{section.4}{Conclusion}{}% 12
\BOOKMARK [1][-]{section.5}{Critique}{}% 13
\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{}
\begin{document}
\begin{titlepage}
%\maketitle
\begin{figure}
\centering
\includegraphics[width=7cm]{img/insa.png}
\end{figure}
\vspace{10cm}
\begin{center}
\HRule \\[0.5cm]
{ \huge \bfseries Predicting movie box-office revenues using deep neural networks }\\[0.5cm]
\HRule \\[0.5cm]
{\Large{Yao Zhou • Lei Zhang • Zhang Yi }\\
\vspace{2cm}}
{\large \makeatletter
\@date
\makeatother}
\end{center}
\vspace{9cm}
\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.5\textwidth}
\begin{flushright}\large
\emph{Enseignant :} \\
Clément \textsc{CHATELAIN} \\
\end{flushright}
\end{minipage}
\end{titlepage}
\newpage
\tableofcontents
\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.
\begin{figure}[h!]
\centering
\includegraphics[width=10cm]{img/img_architecture.png}
\caption{Architecture du modèle}
\end{figure}
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.
%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}\\
L'utilisation de DNN ne reste pas la seule manière de traiter ce problème. Il existe des alternatives telles que :
\begin{itemize}
\item La machine de Boltzmann restreinte : type de réseau de neurones artificiels pour l'apprentissage non supervisé.
\end{itemize}
\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}
\babel@toc {french}{}
\contentsline {section}{\numberline {1}Introduction}{2}{section.1}%
\contentsline {section}{\numberline {2}Méthodologie}{2}{section.2}%
\contentsline {subsection}{\numberline {2.1}Sélection des variables}{2}{subsection.2.1}%
\contentsline {subsection}{\numberline {2.2}DNN}{2}{subsection.2.2}%
\contentsline {subsection}{\numberline {2.3}Prédiction avec les affiches de films}{3}{subsection.2.3}%
\contentsline {section}{\numberline {3}Expérience}{3}{section.3}%
\contentsline {subsection}{\numberline {3.1}Dataset}{3}{subsection.3.1}%
\contentsline {subsection}{\numberline {3.2}Méthode d’évaluation}{3}{subsection.3.2}%
\contentsline {subsection}{\numberline {3.3}Paramètres des expériences}{3}{subsection.3.3}%
\contentsline {subsection}{\numberline {3.4}Résultats et analyse}{4}{subsection.3.4}%
\contentsline {subsection}{\numberline {3.5}Visualisation des caractéristiques}{4}{subsection.3.5}%
\contentsline {section}{\numberline {4}Conclusion}{4}{section.4}%
\contentsline {section}{\numberline {5}Critique}{4}{section.5}%
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment