Dry: Universal Image routine du jeu ont? équipe médaille d'or de la compétition Kaggle pour vous répondre

Lei Feng réseau AI Yanxishe par: Kaggle est premier plan des données scientifiques du monde, l'apprentissage automatique des concours de la communauté des développeurs et la plate-forme, jetez un oeil à la médaille d'or par équipe Kaggle expérience forêt amazonienne pour le partager.

Récemment, les jeunes universitaires partageront Lei Feng réseau de l'organisation AI Yanxishe, laboratoire CIS étudiant de l'Université Zhongshan Kenji Liusi Cong nous a apporté une magnifique action. L'équipe où il a remporté la médaille d'or en Amazonie en compétition sur Kaggle, dans ce partage, il détaille l'expérience ainsi que quelques images de jeu de routine générale obtenue au cours du jeu pour nous.

Voici sa part, Lei Feng réseau AI Yanxishe n'a pas changé l'intention de l'édition:

Bonjour à tous, mon nom est Liusi Cong, de Sun Yat-sen laboratoire CIS. Il y a quelque temps nous avons participé à une Kaggle images au-dessus du satellite forêt amazonienne correspondent, et obtenu de bons résultats, et aussi obtenir une certaine expérience, donnez-nous aujourd'hui pour partager une partie de notre routine résumé de l'image fréquemment utilisée du jeu.

Je vais faire une brève introduction au jeu, en parlant de quelques-unes des méthodes communes, comme le modèle de construction, d'analyser, d'améliorer et les données de jeu pour améliorer certains de nos cas. De plus, K fois la validation croisée dans le jeu Kaggle, que ce soit une méthode pour le texte ou l'image des jeux concours sont plus couramment utilisés, je vais parler de la raison pour laquelle nous devons faire aussi bien que la validation croisée K fois, nous avons divisé le temps de faire attention à ce que K pli il souligne. Ensuite, je dirais que les compétences Kaggle concurrence impliqués dans l'intégration du modèle finira par présenter la situation de base de notre équipe.

Tout d'abord dire à peu près sur ce jeu, beaucoup de gens pensent à tort que, après avoir vu le nom de ce jeu est de faire Amazon, en fait, aucun lien entre les deux. La raison pour laquelle il est appelé l'Amazone à cause de ses images satellites de la forêt amazonienne, nous devons faire est de marquer la tâche de classification sur un certain nombre d'images satellite donné un total de 17 étiquettes différentes.

Nous avons réalisé comme indiqué dans PPT.

Il y a aussi le résultat de notre grille d'analyse.

Alors dire comment construire un modèle unique.

C'est le plus concentré, partageant une partie de ce qui est impliqué dans l'utilisation du cadre fourni par le modèle de pré-formation ou votre propre modèle d'initialisation aléatoire pour construire un modèle qui implique également l'utilisation si le modèle de pré-formation, qui peut être utilisé. Après cela, je saurai expliquer à peu près comment former un modèle de base, analyser les résultats et l'amélioration.

D'abord parler Avec le modèle pré-formation ou utilisez le modèle de paramètres d'initialisation aléatoire Ce jeu est un choix différent pour différents. Les avantages du modèle de pré-formation est que nous pouvons utiliser les paramètres pré-formés sur IMAGEnet, IMAGEnet est un peut être au-dessus de la formation, de sorte que les modèles ensembles de données très volumineux obtenir une meilleure mise à niveau. Mais si nous utilisons le modèle de pré-formation, ce qui signifie que le cadre du modèle sont généralement le maintien et la formation comme temps de pré-série, donc faire l'ajustement est relativement faible. Si nous utilisons les paramètres d'initialisation aléatoire pour le modèle, les avantages sont presque envie de dire comment la façon de faire le tour, l'inconvénient est que nous ne pouvons pas utiliser le paramètre pré-formé sur IMAGEnet.

Au début du jeu quand nous avons fait quelques expériences, lui-même construit un certain modèle de paramètres d'initialisation aléatoire et le modèle pré-formation, nous avons constaté que les paramètres d'initialisation aléatoire des tâches de taux de convergence du modèle jusqu'à présent moins que le modèle pré-formation, donc nous sommes de retour le jeu est presque toujours utilisé dans le modèle de pré-formation, au moins à ce stade est un modèle unique.

Après avoir déterminé la nécessité d'utiliser le modèle de pré-formation, qui prendra en compte le choix spécifique. En fait, presque tous les différents cadres doivent fournir leur propre modèle de pré-formation, en plus de certaines communes, il y a quelques différences, un certain modèle de pré-formation est seulement un cadre, il y a un certain modèle de pré-formation, nous pouvons avoir un plus analyse, nous avons décidé de choisir le cadre d'un PyTorch. Nous avons choisi PyTorch car tout d'abord, il est un code relativement léger, le type de modèle de pré-formation et de fournir plus, nous écrivons, il est également très facile, vous pouvez rapidement construire des modèles, nous sommes essentiellement une école il couvre la grande majorité des modèles.

Après avoir sélectionné le modèle d'outil peut également être utilisé, tout est prêt à former un modèle. En général, nous avons fait un début de base, c'est la routine normale, généralement seulement un modèle de formation, je peux avoir un sentiment sur ce modèle. Par exemple, peut être formé ResNet18, ce qui est relativement simple. Ensuite, nous avons divisé un peu de jeu de formation, par exemple, la formation de 80%, 20% de la vérification, puis Adam à faire avec une telle optimisation, ajustons le taux d'apprentissage, vous pouvez probablement essayer de s'adapter à mieux former après ces modèles.

Au début, nous ne savions pas quelle est la portée du taux d'apprentissage est plus approprié, nous utilisons 0,0001 cette valeur est un meilleur modèle de convergence est plus rapide, mais aussi plus stable, le taux général d'apprentissage est trop grande, la formation va secouer, alors trop petite, la convergence est ralentir ce processus, nous avons également utilisé un outil développé par l'équipe Hyperboard, vous pouvez enregistrer les modifications en temps réel dans le processus de formation de la formation de ces courbes, et l'interface est relativement simple, après une telle formation vers le bas, on peut généralement obtenir des commentaires, puis faire les résultats de l'analyse, après l'achèvement de l'analyse que nous pouvons considérer l'étape suivante consiste à la façon d'améliorer la formation ou des données.

Nous avons été consultés sur un modèle plus petit au résultat est cela, un modèle a commencé à converger très rapidement, puis il commence à surajustement, chute de perte sur l'ensemble de la formation, la validation ensemble anti-croissance de perte. Nous analysons ensuite, et sentir les données d'entraînement fournis par les seuls 40000 échantillons officiels, cette tâche est relativement plus faible, plus enclins à surajustement, et nous utilisons un être humain a priori pour en faire une des données amélioré, de sorte que vous pouvez utiliser une partie de l'échantillon original devient plus de moyens pour eux, puis avec ces données à travers l'échantillon amélioré, il y a plus de données, le modèle est formé pour adapter plus triste. Après la mise en valeur des données pour résoudre le problème de surajustement, nous pouvons commencer à ajuster le modèle.

Résout le problème des données alors nous pouvons Pensez à utiliser un plus grand modèle A. La méthode la plus simple est d'améliorer les paramètres du modèle en utilisant un modèle de pré-formation plus grande échelle, une autre est le numéro de modèle de changements, il est difficile de faire des changements à la couche de convolution avec un modèle de pré-formation.

La plupart de nos changements sont dans la couche pleine de connexion de convolution après couche, nous pouvons changer l'arrière de la dernière couche globale Pooling taille de la couche de sortie de convolution, également les deux modèles caractéristiques de sortie de petits morceaux puis distribué, fait un grand modèle. Vous pouvez alors augmenter également Batchnorm, décrochage scolaire, L2, etc., mais ne pas observer ces paramètres ont un impact très important dans le jeu, donc nous ne l'avons pas en arrière les ajuster soigneusement.

Il sert à déterminer le modèle du cadre général, l'étape suivante est plus ennuyeux l'étape de réglage des paramètres Voici un paramètre très important est le taux d'apprentissage initial, nous venons de parler du choix d'un tel taux de référence d'environ 0,0001 à apprendre, mais une gamme d'environ déterminée, nous pouvons faire quelques ajustements. L'ajustement du taux d'apprentissage initial, la convergence finale va affecter.

Il y a un lot sélectionner la taille, essayez de remplir le GPU, est généralement entre 32-128, et parfois fera une mise au point. En général, le processus de formation, puis a chuté dans une certaine mesure du possible, à la convergence complète, ou le début il y a eu montage, cette fois souvent faire une action est de réduire le taux global d'apprentissage, qui tend à améliorer la formation les résultats de finition. Lors du réglage des paramètres, le paramètre résultat doit continuer à le faire sortir du dossier, de faire l'analyse et la vérification, pour voir quels paramètres seraient mieux.

Nous avons presque une douzaine de modèles d'exécuter à nouveau, et quelques ran à plusieurs reprises, nous trouvons ResNet effet est le meilleur, DenseNet effet suivi. VGG, l'effet de lancement presque. Le pire est AlexNet et SqueezeNet, parce que le premier est en effet ancien et les résultats sont pauvres, qui font partie du travail de compression, pas beaucoup de paramètres, de sorte que l'effet est pire. Inception v4 et Inception Res v2 est très mauvaise, nous n'avons pas utilisé plus tard. En outre, bien que certains modèles sont relativement médiocre dans l'ensemble, mais la diversité d'entre eux, ainsi que l'Ensemble peut améliorer les performances.

Ensuite, parler de l'amélioration des données.

Je vais vous dire ce méthodes d'amélioration des données , Il est d'ajuster une luminosité, la saturation, le contraste. Après ces ajustements, nous pensons qu'il est un nouvel échantillon. Ensuite, nous devons passer pour un autre être humain a priori, nous pouvons voir la vue sur le fleuve d'un peu plus clair, il est une rivière, mais nous pouvons obtenir une luminosité et différent de l'échantillon initial.

Ensuite, il y a aussi couramment utilisé au hasard recadrage d'une image, vous pouvez voir après la coupe en entrée, mais dans ce jeu, nous ne sommes pas allés cette technologie, parce que nous considérons qu'il ya des images, si pour faire une coupe aléatoire, la figure certaines caractéristiques peuvent être mis à l'intérieur de la coupe.

Ensuite, il y a l'échelle aléatoire, retournement horizontal / vertical, rotation, brouiller l'image, ainsi que le bruit gaussien, etc., ce sont méthode très courante, mais pas tous conviennent.

Pour toute tâche, nous devons choisir un bon données pour améliorer la situation réelle. Bonne amélioration des données devrait être ceci: Reinforced images doivent être aussi près de la distribution originale. Pour ce jeu, nous avons principalement utilisé est de retourner et faire pivoter ces deux moyens, tels que le retournement autour. Nous tourne alors l'image de 90 degrés, 180 degrés, 270 degrés de façon à tourner. Retourner et faire pivoter avec, nous pouvons obtenir une carte de huit angles et de l'image de l'étiquette ne changera pas.

Dans ce cas, nous avons plus d'échantillons de formation, ce qui équivaut à huit fois la série élargie de données, cette méthode est appliquée à ces données pour améliorer le jeu, mais il ne vaut pas pour tous les jeux. Il faut comprendre la situation réelle, dans l'ensemble, ne pas dévier de la distribution originale est trop, puis terminez le meilleur niveau d'origine après amélioration des données.

Ensuite, il y a l'utilisation régulière d'une amélioration des données. Cette amélioration ne vise pas à empêcher surajustement dans la formation, nous pouvons améliorer réellement les données au moment du test. Nous dégusterons les huit directions d'une image du test effectué au moment de la prévision, nous pouvons obtenir les résultats de huit, puis utiliser les résultats de ce huit à aller voter, ou une moyenne pondérée de la moyenne ou directement, pour obtenir ce résultat généralement beaucoup plus stable que le sens unique d'origine, ce qui peut apporter une amélioration évidente.

La conversation suivante est K fois la validation croisée.

Tout d'abord, que notre Pourquoi K fois la validation croisée . Il est un objet de la plus intuitive possible de toutes les données de formation, parce que quand nous avons formé, en divisant souvent 80% des données pour faire l'ensemble de la formation, 20% de l'ensemble de données pour faire le test, assurez-vous que la performance actuelle de généralisation du modèle Il n'y a pas de problème. Mais cette façon, nous avons aucun moyen de vérifier cette prise sur une partie de l'ensemble de données à former.

Dans la K fois la validation croisée, nous pouvons mettre les données dans l'original Koff, est un exemple ici, nous mettons en cinq parties, chacune avec quatre parties qui font alors l'ensemble de la formation, le reste du travail comme un ensemble de validation, tels étaient cinq fois, nous pouvons former à nouveau avec l'ensemble des données d'origine, puis a remporté cinq modèles, leurs résultats et faire une moyenne, et que cela est en fait la moyenne des résultats sur l'ensemble d'apprentissage sont formés résultats. Nous formerons assemblant les résultats peuvent être intégrés pour prévoir les éléments suivants hors fois les données.

Un autre point est alors Pliez la division de K exactement ce qu'il faut faire attention à. Les principaux points sont les suivants: Premièrement, les équipes partagent la même division interne, le second est un modèle unique de la scène et le stade intégration du modèle à utiliser la même division, le troisième est divisé en ensembles de formation et de validation pour être compatibles avec la formation et de test divisé façon ; Quatrièmement, le numéro du régime plus d'escompte, plus la consommation de puissance de calcul, il est nécessaire de voir si les ressources informatiques suffisantes, le cinquième, la quantité de suffisamment de données, vous ne pouvez pas utiliser la division K pli.

Le bouquet final est le modèle intégré.

Modèle d'intégration en général le jeu sera utilisé, il est un aspect très important. Position dans l'image du jeu est relativement correspondent pas à ceux du texte si important, parce que le jeu d'image, nous sommes principalement utilisés dans les réseaux de neurones de convolution et autres, n'a pas une différence particulièrement importante entre ces modèles.

amélioration Ensemble principalement pour former certains des meilleurs modèle unique, afin de rendre la finale à mieux intégrer, et dans certains textes comme le jeu, il peut utiliser une méthode d'apprentissage en profondeur, certains utilisent des méthodes d'apprentissage traditionnelles certains ont besoin d'ajouter manuellement quelques fonctionnalités que la grande diversité, le plus souvent dans la phase d'intégration du modèle du jeu, vous pouvez apporter grandement améliorée.

Nous avons utilisé différentes étapes dans les moyens de jeu un modèle d'intégration différent, comme l'ensachage moyenne, ensachage Ensemble de sélection, ainsi que l'attention Stacking, Attention Stacking est une chose de notre propre parti, les résultats étaient bons.

Ensuite, parler entrée d'un échantillon phase d'intégration du modèle , Comme le montre le PPT, pour un échantillon, chaque modèle peut prédire les résultats de 17 classes, si nous avons cinq modèles, alors nous pouvons obtenir cinq ce résultat, nous pouvons les mettre ensemble pour lutter contre obtenir une courbe de probabilité. Ensuite, la façon la plus simple et brut est de prendre un résultat direct de la moyenne, le résultat final. C'est notre façon précoce, tous les modèles ont le même poids, le modèle de la matrice de probabilité ainsi que plusieurs moyennes dimensions.

Attendez que le terme moyen, nous avons utilisé un peu mieux Ensachage Ensemble Selection Méthode. Son avantage est que chaque modèle a un poids différent dans le processus de sélection, certains modèles peuvent être sélectionnés à plusieurs reprises, et certains modèles ne peuvent pas être élues à la fois, en fonction du nombre sélectionné en tant que le poids, le long de modèle de matrice de probabilité dimension moyenne pondérée. Par exemple, nous choisissons d'abord les trois meilleurs modèles, respectivement 12345, puis ajouter au mélange, dont l'effet meilleur look. Cette méthode est relativement simple et brut, le processus ne comporte pas de validation croisée.

Nous utilisons un stade ultérieur Stacking C'est une performance peu plus fort. Chaque classe de chaque modèle a son propre poids, c'est en fait une meilleure compréhension, par exemple, un modèle de performance de classe météorologie est mieux, mais sa performance sur d'autres types de relativement pauvres, comme il il devrait y avoir une catégorie de poids plus élevé sur le temps, sur d'autres types de poids est relativement faible. Nous utilisons différents modèles de performance dans les différentes classes de performance faire une intégration.

En général, l'étape d'empilage, une pratique courante est de mettre tous les classificateur de classe de formation unique, puis entrez tout avant le modèle en entrée, puis de prédire un résultat. Nous avons 17 catégories, formerons 17 classificateur unique, puis de prédire les résultats 17. Voici la plus simple directement par une régression linéaire, mais nous avons trouvé facile pour moi de tenir dans le temps de l'ensemble de validation.

Nous avons mis ensuite leur propre un mécanisme relativement simple, à savoir Stacking Attention . Pour chaque catégorie, nous devons apprendre autant que le nombre d'un paramètre unique modèle, puis il l'a fait Softmax, ce qui rend ces paramètres de pondération 1, la pondération est 1, qui est un poids naturel, vous pouvez mettre les cinq originaux catégories en fonction de ce poids moyen pondéré en poids directement.

Plus tard, nous avons aussi utilisé la régression logistique, Ridge régression à faire l'empilement, on trouve sur l'ensemble de validation des résultats Attention Empilement étaient meilleurs, mais en raison de contraintes de temps, ne fait pas une quantité suffisante d'expériences comparatives. Ils doivent mentionner, peu importe comment intégrer ces modèles font, dans cette image le jeu devrait avoir un meilleur modèle unique, mais aussi d'avoir la diversité, tel ensemble est logique.

Concours Routines parlent, et enfin introduire les composants de base de notre équipe. Nous avons une équipe de six personnes, tous les étudiants de troisième cycle de l'Université Zhongshan Rong professeur Pan laboratoire de SIC. Ce jeu un total de trois mois, avant même occupé avec d'autres projets, le dernier reste environ 20 jours ou si le temps de participer pleinement, alors nous avons probablement passé 5-6 jours en cours d'exécution Titan X, enfin RAN modèle 64. Détails du jeu lui-même, vous pouvez voir que je connais presque colonne.

Enfin, session de questions et réponses.

Q: Qu'est-ce que vos outils d'enregistrement de données?

R: Nous utilisons l'outil de journalisation des données, comme la courbe d'enregistrement est Hyperboard, puis d'autres statistiques utilisent simplement tableau Excel pour enregistrer.

Q: pourquoi ne angle de phase aléatoire d'amélioration de données, mais avec quatre angle fixe?

R: C'est le contraste, avant que nous avons fait un certain point de vue au hasard, mais a constaté que par rapport à quatre angle fixe, l'Ascension apporte n'est pas élevé, mais consommera plus de ressources informatiques.

Q: sélection Ensemble avec le nombre de modèles?

R: Ensemble de sélection a pris un temps assez long, de plus d'une douzaine de modèles à soixante plusieurs modèles que nous avons essayé, mais plus tard que cette méthode ne divise pas l'ensemble de validation, nous voulons seulement utiliser l'ensemble de validation Stacking.

Ne soyez pas les données « tricher »: les bénéfices des entreprises élaborées de ceux de la « fosse »
Précédent
« L'industrie des points chauds » 5G téléphones redevances apportera 20 milliards $ de chiffre d'affaires en 2025
Prochain
Tencent nouveau bâtiment à côté des toilettes publiques sur le feu: Sina voisins mettre rapidement le feu, Baidu aussi ne pas aider à pousser Nouvelles
Huawei Kirin 980 spécifications analytiques: + A76 + 7 nm G76 trois courte plaque de démarrage complémentaire
Baidu carte a été tracée pour recruter de nouveaux prostitution plate-forme; vaccin contre le SIDA à venir? 100% de la production d'anticorps dans les essais cliniques, l'e-sport devrait devenir un s
« Monster Hunter monde » x « Final Fantasy 14 » activités aujourd'hui en ligne, il
alphabétisation PCIe "Bowen série" - Présentation mécanisme de remise à zéro (FLR)
Intel dernière chance de réaliser l'acquisition de Mobileye, puce aussi géant?
Dispositif d'accouplement le long d'un rail immobile système de mouvement relatif
« Moving Maze 3 » exposition caractère carte Hollywood « run équipe masculine » retour à la terre
Les recherches sur un amélioré redresseur triphasé et d'une stratégie de contrôle PWM
« Paddington » Ours 2 ufs alternatifs Cai Guoqing britannique Hugh Grant spectacles de danse mis en scène en prison
« NBA 2K19 » pour confirmer l'atterrissage BNM PS4, sera le premier à rejoindre le commentaire chinois
Une semaine AI grand inventaire: IBM pour lancer l'ordinateur quantique commercial, Baidu a affiché produits informatiques de pointe