Architecture d'algorithme recommandée 6 : Échantillons de données (nécessaires pour les entretiens)

Série d'articles, veuillez prêter plus d'attention

Architecture de l'algorithme de recommandation 1 : rappel

Architecture d'algorithme recommandée 2 : tri grossier

Architecture d'algorithme recommandée 3 : classement fin

Architecture d'algorithme recommandée 4 : réarrangement

Architecture d'algorithme recommandée 5 : optimisation spéciale full-link

Architecture d'algorithme recommandée 6 : échantillon de données

Architecture d'algorithme recommandée 7 : Ingénierie des fonctionnalités

1 Architecture globale

Les échantillons de données de l'apprentissage profond déterminent la limite supérieure de l'algorithme, et le modèle ne fait que continuer à s'approcher de cette limite supérieure, ce qui montre l'importance des échantillons de données pour l'apprentissage profond. Contrairement au CV et au NLP , le système de recommandation peut obtenir les comportements de navigation et de clic d'un grand nombre d'utilisateurs, et il est facile de construire des échantillons positifs et négatifs. Par exemple, dans la tâche d'estimation du taux de clics ( CTR ) , le clic de l'utilisateur sur l'élément est généralement utilisé comme échantillon positif, et l'exposition de l'utilisateur sans clic est utilisée comme échantillon négatif. De plus, l'ensemble de candidats et l'espace de solutions auxquels est confronté le tri fin sont beaucoup plus petits que ceux du rappel et du tri grossier, de sorte que le problème de biais de sélection d'échantillon ( Sample Selection Bias , SSB ) est relativement moins grave. Les modèles de classement fin rencontrent généralement les problèmes suivants sur les échantillons de données.

  • Échantillons déséquilibrés : y compris des échantillons positifs et négatifs déséquilibrés, des échantillons déséquilibrés d'utilisateurs avec différents niveaux d'activité, etc.
  • Échantillons non fiables : y compris les robots d'exploration et autres trafics anormaux, pseudo-exposition côté serveur, exposition incomplète, exposition rapide, utilisateurs sans aucun échantillon positif, exposition en dessous de la position du dernier clic, etc.
  • Incohérences dans les échantillons hors ligne : y compris le croisement de données et le croisement de fonctionnalités, les fonctionnalités incohérentes, la distribution de données incohérente, etc. lors de la construction d'échantillons hors ligne.

L'architecture technique de l'échantillon de données est présentée dans la figure et sera expliquée en détail ci-dessous.

L'échantillon est déséquilibré

Le problème du déséquilibre des échantillons est répandu dans diverses tâches d’apprentissage en profondeur et constitue un problème courant. Les méthodes permettant de traiter les problèmes de déséquilibre des échantillons en vision par ordinateur et en traitement du langage naturel peuvent également être appliquées dans les algorithmes de recommandation. Le problème du déséquilibre des échantillons comprend principalement le déséquilibre des échantillons positifs et négatifs et le déséquilibre des échantillons d'utilisateurs avec différents niveaux d'activité.

Dans la tâche d'estimation du taux de clics, si le taux de clics est de 1 % , le rapport entre les échantillons positifs et négatifs est de 1 : 99. Il y a beaucoup plus d'échantillons négatifs que d'échantillons positifs, ce qui entraîne un déséquilibre des échantillons. S'il existe un problème de déséquilibre d'échantillon dans le problème de classification, la probabilité de rétropropager la mise à jour du gradient pendant la formation pour les catégories avec peu d'échantillons sera faible, et leur contribution à la perte de modèle ( Loss ) sera également relativement faible, ce qui n'est pas propice à sa convergence, et conduira finalement à un grand nombre d'échantillons. Les catégories dominent le modèle, ce qui rend le modèle biaisé globalement en leur faveur et prédit de manière inexacte les autres catégories. Pour ce genre de problème, il existe principalement les solutions suivantes.

  • Sous-échantillonnage d'échantillon négatif : également appelé sous-échantillonnage d'échantillon négatif, fait référence à l'utilisation d'un sous-échantillonnage aléatoire pour sélectionner une partie des échantillons parmi tous les échantillons négatifs avec une certaine probabilité et éliminer directement les échantillons restants. Cette méthode est simple et facile à mettre en œuvre : d'une part, elle peut réduire la pression du stockage des échantillons et de la formation des modèles, et d'autre part, elle peut atténuer le problème du déséquilibre entre les échantillons positifs et négatifs. Cependant, il y a en réalité beaucoup d'informations utiles dans les échantillons négatifs, et il serait dommage de les éliminer directement, surtout lorsqu'il n'y a pas suffisamment d'échantillons dans de petites scènes. De plus, le sous-échantillonnage de l'échantillon négatif détruit dans une certaine mesure la cohérence de la distribution des données dans les étapes de formation et de prédiction. En plus du sous-échantillonnage des échantillons négatifs, les échantillons positifs peuvent également être rééchantillonnés dans une certaine mesure en même temps, c'est-à-dire par suréchantillonnage, pour augmenter le nombre d'échantillons positifs, atténuant ainsi davantage le problème de déséquilibre entre les échantillons positifs et négatifs. Lors de la construction d’échantillons positifs suréchantillonnés par réplication simple, il convient de prêter attention aux éventuels problèmes de surajustement.
  • Perte focale : Utilisé d'abord dans le domaine de l'image, il peut résoudre le problème du déséquilibre des échantillons dans la multi-classification d'images, et peut également être utilisé dans des scénarios de recommandation. Le nombre d'échantillons négatifs est important et généralement facile à distinguer, et leur poids peut être automatiquement réduit grâce à la perte focale . Au contraire, les échantillons positifs ont peu d'échantillons et sont difficiles à apprendre, et leur poids peut être automatiquement augmenté grâce à la perte focale . La perte focale peut utiliser pleinement tous les échantillons sans sous-échantillonnage et essayer de conserver toutes les informations sur les données. En fin de compte, le modèle peut converger complètement lorsque les échantillons positifs et négatifs sont déséquilibrés.

L'activité des utilisateurs pose également le problème du déséquilibre des échantillons. Il y a beaucoup plus d'échantillons d'utilisateurs très actifs que d'utilisateurs peu actifs, ce qui entraînera un biais du modèle en faveur de l'apprentissage des utilisateurs très actifs et de mauvaises performances sur les utilisateurs peu actifs. Les principales solutions à l’heure actuelle sont les suivantes.

  • Sous-échantillonnage des utilisateurs très actifs : réduisez les échantillons positifs et négatifs des utilisateurs très actifs afin que les échantillons d'utilisateurs avec différents niveaux d'activité puissent être équilibrés. La méthode de sous-échantillonnage aléatoire est simple à mettre en œuvre, mais comme certains échantillons sont rejetés, certaines informations précieuses peuvent être perdues.
  • Pondération des échantillons et perte focale : vous pouvez augmenter le poids des échantillons utilisateur peu actifs dans la fonction de perte pour que le modèle y prête davantage attention. De même, Focal Loss peut être utilisé pour obtenir un ajustement automatique du poids.
  • Apprentissage multidomaine : modélisez séparément les utilisateurs hautement actifs et moyennement faibles, et entraînez leurs échantillons séparément. Afin d'accélérer la convergence du modèle, la couche d'intégration du modèle et une partie de la couche inférieure peuvent être partagées.

3 échantillons n'y croient pas

Les modèles de raffinement du système recommandés utilisent généralement l’exposition et les clics des utilisateurs comme échantillons positifs, et l’exposition et les non-clics comme échantillons négatifs. Donc, si l'utilisateur clique sur l'exposition, cela doit signifier que l'utilisateur est intéressé, et s'il ne clique pas, cela doit signifier qu'il n'est pas intéressé ? Pas vraiment. Il existe de nombreux exemples de problèmes d'incrédulité dans le classement fin, principalement les suivants.

  • Trafic anormal tel que les robots d'exploration : un grand nombre de comportements de clic peuvent être rapidement générés par les robots d'exploration, qui ne sont évidemment pas les comportements des utilisateurs réels. Les ajouter aux échantillons positifs raffinés entraînera de sérieux problèmes d’incrédulité des échantillons. Par conséquent, le robot d’exploration doit être intercepté à l’entrée de la requête réseau.
  • Pseudo-exposition côté serveur : le serveur émet une requête réseau et envoie plusieurs éléments de données au client. L'utilisateur devra peut-être faire défiler l'écran pour terminer la navigation. Si l’utilisateur n’a pas fini de naviguer, certaines données ne seront pas véritablement exposées, entraînant une fausse exposition. Si des échantillons qui ne sont pas réellement exposés sont également ajoutés aux échantillons négatifs, cela entraînera l’incrédulité à l’égard des échantillons négatifs. Par conséquent, il est généralement nécessaire d’utiliser les journaux rapportés par le client pour construire des échantillons afin d’éviter les problèmes de fausse exposition.
  • Exposition incomplète : dans les produits Waterfall, les éléments sont affichés sous forme de cartes et les cartes ne peuvent être que partiellement exposées, comme le montre la figure 2-2 , ce qui empêche les utilisateurs de cliquer. Si cette partie des échantillons incomplètement exposés est également considérée comme un échantillon négatif, il y aura également un problème d'incrédulité envers l'échantillon. Par conséquent, cette partie des échantillons peut être filtrée des échantillons négatifs
  • Exposition rapide : dans les produits Waterfall, les utilisateurs font défiler l'écran rapidement, ce qui générera un grand nombre d'échantillons exposés et non cliqués sur une courte période de temps. L'utilisateur peut ne pas prêter suffisamment d'attention à ces éléments, mais s'il croit directement que l'utilisateur n'est pas intéressé et les traite comme des échantillons négatifs, il y aura un certain problème d'incrédulité des échantillons. Ce problème existe également dans les produits immersifs. Comment éviter ce problème? Un seuil de temps d'exposition peut être défini pour supprimer les expositions non cliquées en dessous du seuil des échantillons négatifs.
  • Il n'y a aucun utilisateur avec des échantillons positifs : si l'utilisateur souhaite simplement s'enregistrer, s'il est réveillé par un message push, ou s'il clique simplement sur l' application avec désinvolture , il se peut qu'il n'y ait pas d'échantillons positifs et uniquement des échantillons négatifs. À l'heure actuelle, le fait que l'utilisateur clique n'a pas grand-chose à voir avec la question de savoir si les éléments recommandés correspondent à ses intérêts, et les échantillons négatifs peuvent être filtrés directement.
  • Exposition en dessous de la position du dernier clic : une fois que l'utilisateur a cliqué sur un élément, son intérêt a peut-être été satisfait, il n'a donc pas prêté suffisamment d'attention aux éléments en dessous de la position de clic. Cette partie des échantillons non cliqués exposés a également un niveau de confiance insuffisant et peut être filtrée des échantillons négatifs. C'est la solution Skip-Above .

est incompatible avec les échantillons en ligne

Dans le modèle de classement de précision, nous rencontrons souvent cette situation : lors de la formation du modèle hors ligne, les indicateurs de l'ensemble de validation augmentent, mais lors des tests A/B en ligne, non seulement les indicateurs n'augmentent pas, mais peuvent en fait diminuer. Il s'agit d'un problème d'incohérence hors ligne typique. Les raisons de ce problème sont les suivantes.

  • Le croisement de données et le croisement de fonctionnalités se produisent dans les échantillons hors ligne construits : un cas est le croisement de données de l'ensemble de validation, c'est-à-dire que les données de l'ensemble de validation apparaissent dans l'ensemble d'apprentissage. Par exemple, lors de la formation du modèle, les données n° 1 à n° 30 sont utilisées et l'ensemble de validation utilise les données n° 30. Par conséquent, les données de l'ensemble de validation sont incluses dans la formation du modèle. va bien sûr augmenter.À ce stade, vous devez faire attention à l'ensemble de formation et L'ensemble de validation doit être complètement indépendant. Une autre situation est le croisement de caractéristiques, qui se rencontre facilement lors de la construction de caractéristiques statistiques postérieures. Par exemple, lorsque vous comptez le nombre de clics des utilisateurs au cours des sept derniers jours, si les données de ce jour sont également incluses dans les statistiques, la fonctionnalité contiendra des informations d'étiquette , provoquant une traversée de la fonctionnalité. À ce stade, veillez à ne pas inclure les données de la partition où se trouve l'étiquette.
  • Incohérence avec les fonctionnalités en ligne : de nombreuses fonctionnalités utilisées du côté en ligne sont régulièrement générées via le côté hors ligne, puis chargées dans le système en ligne, ce qui peut entraîner des retards dans le changement de fonctionnalité en ligne. Par exemple, lorsque les fonctionnalités sont produites au jour le jour, si le changement de fonctionnalité a lieu à 4 heures du matin, les fonctionnalités en ligne entre 0h et 4h du matin sont toujours les anciennes fonctionnalités de la veille. Cependant, lors de la création d'échantillons hors ligne, de nouvelles fonctionnalités sont généralement utilisées tout au long de la journée, ce qui entraînera un certain degré d'incohérence dans les fonctionnalités hors ligne. Pour optimiser ce problème, vous pouvez généralement mettre toutes les fonctionnalités utilisées dans la prédiction en ligne directement sur le marché. Cela élimine le besoin d'épissage hors ligne des fonctionnalités pour construire des échantillons, mais cela augmentera la surcharge de ressources du projet de recommandation.
  • Distribution incohérente des données hors ligne : les échantillons hors ligne utilisés pour entraîner le modèle, qu'il s'agisse d'échantillons positifs ou d'échantillons négatifs, sont tous basés sur les journaux d'exposition des utilisateurs. Un grand nombre d'échantillons et d'objets non exposés n'ont pas participé à la formation des modèles et se trouvent sous l'iceberg. Cependant, lors de la réalisation de prédictions en ligne, l’ensemble des candidats doit être noté, et pas seulement les éléments exposés. Certains éléments peuvent ne pas figurer dans le journal d'exposition et n'ont pas participé à la formation du modèle, ce qui entraîne des estimations en ligne inexactes, affectant ainsi les indicateurs en ligne et les résultats commerciaux. La raison essentielle est le problème du biais de sélection des échantillons dans la phase de formation, qui conduit à une distribution incohérente des données dans les phases de formation et de prédiction (c'est-à-dire hors ligne et en ligne). Les échantillons hors ligne ne représentent qu'une partie des données en ligne. Un modèle qui fonctionne bien avec les données hors ligne ne fonctionnera pas nécessairement avec les données en ligne.

5 références

[1] Lin TY, Goyal P, Girshick R, et al. Perte focale pour la détection d'objets denses [J]. arXiv e-prints, 2017.

[2] Li P, Li R, Da Q, et al. Améliorer l'apprentissage multi-scénarios pour se classer dans le commerce électronique en exploitant les relations entre les tâches dans l'espace des étiquettes [C]//CIKM '20 : La 29e Conférence internationale de l'ACM sur l'information et gestion des connaissances.ACM, 2020.DOI:10.1145/3340531.3412713.

[3] Sheng XR, Zhao L, Zhou G, et al. Un modèle pour tous : outil de recommandation adaptatif de topologie en étoile pour la prévision CTR multi-domaines [J].2021.DOI:10.48550/arXiv.2101. 11427.

Série d'articles, veuillez prêter plus d'attention

Architecture de l'algorithme de recommandation 1 : rappel

Architecture d'algorithme recommandée 2 : tri grossier

Architecture d'algorithme recommandée 3 : classement fin

Architecture d'algorithme recommandée 4 : réarrangement

Architecture d'algorithme recommandée 5 : optimisation spéciale full-link

Architecture d'algorithme recommandée 6 : échantillon de données

Architecture d'algorithme recommandée 7 : Ingénierie des fonctionnalités

Je suppose que tu aimes

Origine blog.csdn.net/u013510838/article/details/135068490
conseillé
Classement