Raisonnement élevé sur l'apprentissage profond

Salut les amis. le matériel d'aujourd'hui est consacré au lancement de la prochaine série de groupes dans les cours de base et avancés «Mathématiques pour la science des données».




Aujourd'hui, nous aborderons quelques réflexions sur les méthodes d'apprentissage en profondeur. Nous commençons par un examen des méthodes de modèle pour appliquer l'apprentissage en profondeur dans l'environnement scientifique, puis nous parlerons du processus de conception de bout en bout, ainsi que brièvement des caractéristiques des méthodes alternatives d'apprentissage automatique qui peuvent s'avérer plus prometteuses pour résoudre des problèmes spécifiques.

Modèles d'apprentissage approfondi des sciences


Comment les méthodes d'apprentissage en profondeur sont-elles généralement utilisées dans la communauté scientifique? À un niveau élevé, vous pouvez formuler plusieurs méthodes de modèle avec lesquelles l'apprentissage en profondeur peut être utilisé dans les tâches suivantes:

  1. Prédictions. , – (). . , , , , . , « / ». – , , . , ( ) (, ), .
  2. . , , . . , . , , , . , . , .
  3. . , (, , , ), . , , , , .

Workflow


En utilisant les modèles d'application d'apprentissage en profondeur susmentionnés, nous examinerons le flux de travail de conception d'un système d'apprentissage en profondeur du début à la fin. Dans la figure 1, vous pouvez voir à quoi ressemble un workflow d'apprentissage en profondeur typique.


Figure 1: Diagramme d'un workflow d'apprentissage en profondeur typique.

Un processus typique de développement d'applications d'apprentissage en profondeur peut être vu comme comprenant trois étapes principales: (i) l'étape de traitement des données, (ii) la composante de formation, (iii) la validation et l'analyse. Chacune de ces étapes comprend plusieurs étapes et méthodes qui leur sont associées, ce qui est également illustré dans la figure. Dans cette revue, nous couvrirons la plupart des méthodes de l'étape de formation et plusieurs techniques de validation et d'analyse des données. Veuillez noter que même si la séquence naturelle comprend d'abord le traitement des données, puis la formation, et éventuellement la validation, le processus de développement standard est susceptible de conduire à plusieurs itérations d'étapes, c'est-à-dire que la méthode ou le choix fait à une étape particulière sera examiné sur la base des résultats d'une étape ultérieure.

Après avoir choisi un problème de prévision qui vous intéresse, vous pouvez penser à trois étapes de conception et d'utilisation d'un système d'apprentissage en profondeur: (i) l'étape de traitement des données, par exemple, la collecte, l'étiquetage, le prétraitement, la visualisation, etc., (ii) l'étape de formation, par exemple, le choix d'un modèle réseau de neurones, la définition des tâches et des méthodes de formation du modèle, (iii) l'étape de validation et d'analyse, où sur la base des données obtenues, une évaluation de l'efficacité est effectuée, ainsi que l'analyse et l'interprétation des représentations cachées et des études ablatives des méthodes générales.

Naturellement, ces trois étapes se succèdent. Cependant, très souvent, la première tentative de création d'un système d'apprentissage en profondeur échoue. Pour résoudre les problèmes, il est important de se rappeler la nature itérative du processus de conception, dans lequel les résultats des différentes étapes servent de base à un examen de l'architecture et à la réexécution d'autres étapes.

La figure 1 montre des exemples d'itérations courantes avec des flèches de connexion bilatérales: (i) flèche Itérer (1) , ce qui correspond à l'itération dans la collecte des données de processus, car il arrive qu'après le processus de visualisation des données leyblinga les données brutes peuvent avoir besoin d'être ajustées, car le résultat était trop bruyant ou non capturé la cible souhaitée; (ii) flèche Itérer (2), ce qui correspond à des itérations dans le processus d'apprentissage, par exemple, si un autre objectif ou une méthode est plus appropriée, ou si le processus d'apprentissage doit être divisé en plusieurs étapes, en effectuant d'abord une auto-supervision , puis une formation avec l'enseignant; (iii) la flèche Itération (3) , qui est chargée de modifier les étapes de traitement des données en fonction des résultats de la phase de formation; (iv) flèche Itérer (4)est chargé de modifier l'architecture du processus d'apprentissage en fonction des résultats obtenus au stade de la validation afin de réduire le temps de formation ou d'utiliser un modèle plus simple; (v) la flèche Itérer (5) est une adaptation des étapes de traitement des données basée sur les résultats de validation / analyse, par exemple, lorsque le modèle s'appuie sur de faux attributs de données, et les données doivent être réassemblées pour éviter cela.

Objectif de recherche et nomenclature


Dans cette section, nous parlerons des nombreuses méthodes utilisées au stade de la formation, ainsi que de certaines méthodes caractéristiques des étapes de traitement et de validation des données (par exemple, augmentation, interprétabilité et analyse des représentations).

Au stade de la formation, nous considérons les modèles, tâches et méthodes populaires. Par modèles (parfois aussi appelés architecture), nous comprenons la structure du réseau neuronal d'apprentissage profond - le nombre de couches, leur type, le nombre de neurones, etc. Par exemple, dans la tâche de classification des images, les images sont entrées et la distribution de probabilité sur l'ensemble (discret) de différentes catégories (ou classes) entre en jeu. Par méthodes, nous entendons le type de formation utilisé pour former le système. Par exemple, l'apprentissage avec un enseignant est un processus d'apprentissage populaire lorsqu'un réseau de neurones reçoit des données balisées, où les étiquettes indiquent des observations.

Contrairement à divers modèles et tâches, les méthodes peuvent être des sous-ensembles d'autres méthodes. Par exemple, l'autosurveillance- il s'agit d'une méthode dans laquelle un réseau de neurones est formé sur les instances de données et les étiquettes, où les étiquettes sont automatiquement créées sur les instances de données, cette méthode peut également être attribuée aux méthodes d'enseignement avec un enseignant. Cela semble un peu déroutant! Cependant, à ce stade, il suffit d'avoir au moins une compréhension générale des modèles, des problèmes et des méthodes.

Utilisez l'apprentissage en profondeur ou non?


Avant de plonger dans les différentes méthodes d'apprentissage en profondeur, il est important de formuler le problème et de comprendre si l'apprentissage en profondeur fournira les bons outils pour le résoudre. De puissants modèles de base de réseaux de neurones offrent de nombreuses fonctionnalités complexes, telles que des transformations d'images complexes. Cependant, dans de nombreux cas, l'apprentissage en profondeur peut ne pas être la meilleure première étape ou ne pas convenir pour résoudre le problème. Ci-dessous, nous passons brièvement en revue les méthodes d'apprentissage automatique les plus courantes, en particulier dans des contextes scientifiques.

Réduction des dimensions et regroupement. Dans la communauté scientifique, le but ultime de l'analyse des données est de comprendre les mécanismes de base qui génèrent des modèles dans les données. Lorsque l'objectif est ainsi, la réduction de dimensionnalité et le clustering sont des méthodes simples mais extrêmement efficaces pour révéler les propriétés des données cachées. Ils s'avèrent souvent utiles dans l'étape de recherche et de visualisation des données (même si des méthodes plus complexes sont ensuite utilisées).

Réduction dimensionnelle.Les méthodes de réduction de dimension sont linéaires, c'est-à-dire qu'elles sont basées sur des transformations linéaires pour réduire la dimension des données, ou non linéaires, c'est-à-dire en réduisant la dimension avec une conservation approximative de la structure des données non linéaires. Les méthodes linéaires populaires pour réduire la dimensionnalité sont la méthode des composants principaux et la décomposition matricielle non négative, tandis que les méthodes non linéaires sont l'incorporation stochastique des voisins avec la distribution t et l'UMAP. De nombreuses méthodes de réduction dimensionnelle ont déjà des implémentations de qualité dans des packages comme scikit-learn ou sur github (par exemple github.com/oreillymedia/t-SNE-tutorial ou github.com/lmcinnes/umap ).

Regroupement. Les techniques de regroupement souvent utilisées en conjonction avec la réduction dimensionnelle fournissent un moyen puissant d'identifier les similitudes et les différences dans un ensemble de données. Des méthodes sont couramment utilisées, telles que la méthode des k-moyennes (souvent une méthode des k-moyennes modifiée), un modèle de mélange de distributions gaussiennes, un clustering hiérarchique et un cluster spectral. Comme les méthodes de réduction dimensionnelle, les méthodes de clustering ont de bonnes implémentations dans des packages comme scikit-learn .

Régression linéaire, régression logistique (et variations). Les méthodes les plus fondamentales pour résoudre le problème de l'enseignement avec un enseignant, telles que la classification et la régression, la régression linéaire et logistique et leurs variations (par exemple, le lasso et la régression de crête) peuvent être particulièrement utiles en cas de données limitées et d'un ensemble clair de fonctionnalités (éventuellement prétraitées) (par exemple, sous forme de données tabulaires). Ces méthodes permettent également d'évaluer l'adéquation de la formulation du problème et peuvent être un bon point de départ pour vérifier une version simplifiée du problème à résoudre. En raison de sa simplicité, les régressions linéaires et logistiques sont hautement interprétables et fournissent des moyens simples pour effectuer l'attribution d'attribut.

Arbres de décision, forêt aléatoire et renforcement des gradients. Les autres classes de méthodes populaires sont les arbres de décision, la forêt aléatoire et le renforcement des gradients. Ces méthodes peuvent également fonctionner en conjonction avec des problèmes de régression / classification et sont bien adaptées pour modéliser des relations non linéaires entre l'entrée et la sortie. La forêt aléatoire, qui fait partie de l'ensemble des arbres de décision, peut souvent être préférée aux méthodes d'apprentissage en profondeur dans des conditions où les données ont un faible rapport signal / bruit. Ces méthodes peuvent être moins interprétables que la régression linéaire / logistique, cependant, dans un travail récent, nous avons examiné les bibliothèques de logiciels en développement qui résolvent ce problème.

Autres méthodes et ressources. Toutes les méthodes ci-dessus, ainsi que de nombreuses autres méthodes populaires, telles que les modèles graphiques, les processus gaussiens, l'optimisation bayésienne, sont discutées en détail dans le cours d'apprentissage automatique de l'Université de Toronto ou au Stanford CS229, dans des articles détaillés sur versdatascience.com et des didacticiels interactifs tels que d2l.ai /index.html (appelé Dive into Deep Learning) et sur github.com/rasbt/python-machine-learning-book2nd-edition .



Quelles tâches un data scientist résout-il? Quelles sections des mathématiques et pour quelles tâches devez-vous connaître? Quelles sont les exigences pour les scientifiques des données? Quelles connaissances en mathématiques sont nécessaires pour se démarquer de la foule et assurer une progression de carrière ? Des réponses à toutes ces questions et non seulement peuvent être obtenues lors de notre webinaire gratuit , qui se tiendra le 6 mai. Dépêchez-vous de vous inscrire !



All Articles