Une Perspective Algébrique Unifiée sur les Réseaux Neuronaux Lipschitziens

Des efforts de recherche importants ont été consacrés à la conception et à l'entraînement de réseaux de neurones avec une constante de Lipschitz contrôlée. L'objectif est d'accroître, voire de garantir, la robustesse face aux attaques adverses. Des techniques récentes et prometteuses s'inspirent de divers domaines pour concevoir des réseaux de neurones 1-Lipschitz, parmi lesquelles : les couches de potentiel convexe sont issues de la discrétisation des systèmes dynamiques continus ; la méthode presque-orthogonale (Almost-Orthogonal-Layer) propose une approche spécifique pour le recalage matriciel.Cependant, il est aujourd'hui crucial d'examiner les contributions récentes et prometteuses dans ce domaine sous un angle théorique commun afin d'améliorer la conception de nouvelles couches. Cet article introduit une nouvelle perspective algébrique unifiant divers types de réseaux de neurones 1-Lipschitz, y compris ceux mentionnés précédemment, ainsi que les méthodes basées sur l'orthogonalité et les méthodes spectrales. De manière intéressante, nous montrons que nombre de techniques existantes peuvent être dérivées et généralisées en trouvant des solutions analytiques d'une condition commune de programmation semi-définie (SDP).Nous prouvons également que la méthode presque-orthogonale (AOL) biaise les poids recalés vers des matrices proches du groupe des matrices orthogonales selon une certaine manière mathématique. De plus, notre condition algébrique, combinée au théorème des cercles de Gershgorin, conduit naturellement à de nouvelles et variées paramétrisations pour les couches 1-Lipschitz des réseaux. Notre approche, appelée Couches Lipschitz basées sur la programmation semi-définie (SLL), nous permet de concevoir des généralisations non triviales mais efficaces des couches de potentiel convexe.Enfin, l'ensemble complet d'expériences menées sur la classification d'images montre que les SLL surpassent les approches précédentes en termes de précision robuste certifiée. Le code source est disponible à l'adresse suivante : https://github.com/araujoalexandre/Lipschitz-SLL-Networks.