Maison >Périphériques technologiques >IA >Application de fonctions de perte communes dans les réseaux de neurones jumeaux
Le réseau de neurones jumeaux est un réseau de neurones avec une structure à deux branches, qui est souvent utilisé pour les tâches de mesure de similarité, de classification et de récupération. Les deux branches d’un tel réseau ont la même structure et les mêmes paramètres. Une fois que l'entrée passe respectivement par deux branches, la similarité est calculée via la couche de mesure de similarité (telle que la distance euclidienne, la distance de Manhattan, etc.). Pendant l'entraînement, une fonction de perte contrastive ou une fonction de perte triplet est généralement utilisée.
La fonction de perte de contraste est une fonction de perte de classification binaire pour les réseaux neuronaux siamois. Elle vise à maximiser la similarité d'échantillons similaires à proximité de 1 et la similarité de différents types d'échantillons à proche de 0. Son expression mathématique est la suivante :
L_{con}(y,d)=ycdot d^2+(1-y)cdotmax(m-d,0)^2
Cette fonction de perte est utilisée pour mesurer deux similarités entre échantillons et optimisées selon la catégorie de l'échantillon. Parmi eux, y représente si l'échantillon appartient à la même catégorie, d représente la similarité des deux échantillons et m représente une valeur limite prédéfinie. Lorsque y=1, le but de la fonction de perte est de rendre d aussi petit que possible, même si deux échantillons de la même catégorie sont plus similaires. À ce stade, la valeur de la fonction de perte peut être exprimée par le carré de d, c'est-à-dire que la valeur de la fonction de perte est d^2. Lorsque y = 0, le but de la fonction de perte est de rendre d supérieur à m, même si les échantillons de deux catégories différentes sont aussi différents que possible. À ce stade, lorsque d est inférieur à m, la valeur de la fonction de perte est d^2, indiquant la similarité entre les échantillons ; lorsque d est supérieur à m, la valeur de la fonction de perte est 0, indiquant que la similarité entre les échantillons a dépassé le niveau prédéterminé. En supposant la valeur limite m, la perte n'est plus calculée
La fonction de perte triplet est une fonction de perte utilisée dans les réseaux de neurones jumeaux. Elle vise à minimiser la distance entre les échantillons du même type et à maximiser. la distance entre les échantillons de différents types. L'expression mathématique de cette fonction est la suivante :
L_{tri}(a,p,n)=max(|f(a)-f(p)|^2-|f(a)-f( n )|^2+margin,0)
Parmi eux, a représente l'échantillon d'ancrage, p représente le même type d'échantillon, n représente le type d'échantillon différent, f représente la couche d'extraction de caractéristiques du réseau neuronal siamois , |cdot| représente la distance euclidienne, margin Représente une valeur limite prédéfinie. Le but de la fonction de perte est de rendre la distance entre les échantillons du même type aussi petite que possible, et la distance entre les échantillons de types différents aussi grande que possible et supérieure à la marge. Lorsque la distance entre des échantillons du même type est inférieure à la distance des échantillons de types différents moins la marge, la valeur de la fonction de perte est 0 lorsque la distance des échantillons du même type est supérieure à la distance des échantillons de types différents ; moins la marge, la valeur de la fonction de perte est la différence entre les deux distances.
La fonction de perte de contraste et la fonction de perte de triplet sont toutes deux des fonctions de perte de réseau neuronal jumeau couramment utilisées. Leur objectif est de rendre les échantillons de la même catégorie aussi proches que possible dans l'espace des fonctionnalités et les échantillons de différentes catégories aussi éloignés que possible. dans l'espace des fonctionnalités. Dans les applications pratiques, une fonction de perte appropriée peut être sélectionnée en fonction de tâches et d'ensembles de données spécifiques, et combinée avec d'autres techniques (telles que l'amélioration des données, la régularisation, etc.) pour l'optimisation du modèle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!