# Calcul hyperdimensionnel

Le calcul hyperdimensionnel (CHD) est une approche de calcul, utilisée en particulier pour l'intelligence artificielle. Le CHD est motivé par l'observation selon laquelle le cortex cérébelleux fonctionne sur des représentations de données à haute dimension. Dans le CHD, l'information est représentée sous la forme d'un vecteur hyperdimensionnel appelé hypervecteur, un tableau de nombres. Un hypervecteur peut comprendre des milliers de nombres qui représentent un point dans un espace de milliers de dimensions. L'architecture vectorielle symbolique (vector symbolic architecture) est un autre nom pour la même approche générale. Le CHD se distingue du calcul tensoriel, habituellement utilisé pour les réseaux de neurones artificiels.

## Exemple

Un exemple simple considère des images contenant des cercles noirs et des carrés blancs. Les hypervecteurs peuvent représenter des variables FORME et COULEUR et contenir les valeurs correspondantes : CERCLE, CARRÉ, NOIR et BLANC. Les hypervecteurs liés peuvent contenir les paires NOIR et CERCLE, etc.

## Orthogonalité

L'espace de grande dimension autorise de nombreux vecteurs mutuellement orthogonaux. Cependant, si les vecteurs sont autorisés à être presque orthogonaux, le nombre de vecteurs distincts dans l'espace de grande dimension est beaucoup plus grand.
Le CHD utilise le concept de représentations distribuées, dans lesquelles un objet/une observation est représenté par un modèle de valeurs sur plusieurs dimensions plutôt que par une seule constante.

## Opérations

Le CHD peut combiner des hypervecteurs en de nouveaux hypervecteurs à l'aide d'opérations d'espace vectoriel définies.
Les groupes, les anneaux et les corps sur les hypervecteurs deviennent les structures informatiques sous-jacentes avec l'addition, la multiplication, la permutation, le mappage et l'inverse comme opérations informatiques primitives. Toutes les tâches de calcul sont effectuées dans un espace de grande dimension à l'aide d'opérations simples telles que des additions d'éléments et des produits scalaires.
La liaison crée des tuples de points ordonnés et est également une fonction ⊗ : H × H → H. L'entrée est constituée de deux points dans H, tandis que la sortie est un point différent. La multiplication du vecteur FORME par CERCLE lie les deux, représentant l'idée « LA FORME est CERCLE ». Ce vecteur est « presque orthogonal » à FORME et CERCLE. Les composants sont récupérables à partir du vecteur (par exemple, répondez à la question « la forme est-elle un cercle ? »).
L'addition crée un vecteur qui combine des concepts. Par exemple, en ajoutant « FORME est CERCLE » à « COULEUR est ROUGE », on crée un vecteur qui représente un cercle rouge.
La permutation réorganise les éléments du vecteur. Par exemple, la permutation d'un vecteur tridimensionnel avec des valeurs étiquetées x, y et z peut échanger x avec y, y avec z et z avec x . Les événements temporels représentés par les hypervecteurs A et B peuvent être ajoutés, formant ainsi un vecteur, mais cela sacrifierait la séquence d'événements. La combinaison de l'addition et de la permutation préserve l'ordre ; la séquence d'événements peut être récupérée en inversant les opérations.
Le regroupement combine un ensemble d'éléments dans H en tant que fonction ⊕ : H × H → H. L'entrée est constituée de deux points dans H et la sortie est un troisième point similaire aux deux.

## Histoire

Les architectures symboliques vectorielles (VSA) ont fournies une approche systématique des représentations de symboles à haute dimension pour prendre en charge des opérations telles que l'établissement de relations.

## Applications
### Raisonnement

Les hypervecteurs peuvent également être utilisés pour le raisonnement. Les matrices progressives de Raven sont des images d'objets dans une grille. Une position dans la grille est vide. Le test consiste à choisir parmi les images candidates celle qui correspond le mieux.
Un dictionnaire d'hypervecteurs représente des objets individuels. Chaque hypervecteur représente un concept d'objet avec ses attributs. Pour chaque image de test, un réseau neuronal génère un hypervecteur binaire (les valeurs sont +1 ou −1) qui est aussi proche que possible d'un ensemble d'hypervecteurs du dictionnaire. L'hypervecteur généré décrit ainsi tous les objets et leurs attributs dans l'image.
Un autre algorithme crée des distributions de probabilité pour le nombre d’objets dans chaque image et leurs caractéristiques. Ces distributions de probabilité décrivent les caractéristiques probables du contexte et des images candidates. Eux aussi sont transformés en hypervecteurs, puis l'algèbre prédit l'image candidate la plus susceptible de remplir l'emplacement.

## Transparence

L'algèbre CHD révèle la façon dont et pourquoi les systèmes prennent des décisions, contrairement aux réseaux de neurones artificiels (boîte noires). Les objets du monde physique peuvent être mis en correspondance sur des hypervecteurs, pour être traités par l'algèbre.