Aller au contenu

Sur l’importance de la réduction de dimensionalité….

Noter ce sujet


SpookyTheFirst

Messages recommandés

Membre, 58ans Posté(e)
SpookyTheFirst Membre 4 541 messages
Maitre des forums‚ 58ans‚
Posté(e)

Hello,

Bon, je sais que c’est pas très vendeur comme sujet…:D

D’abord on connait tous les 3 dimensions spatiales, elles nous permettent de situer un objet dans l’espace avec 3 chiffres.

De la même manière si je numérote tous les mots de 1 à 10’000 (c’est la taille du vocabulaire parlé courant), je peux sélectionner exactement un mot dans un espace à 10’000 dimensions, avec 9999 valeurs à 0, et une valeur à 1 correspondant au mot choisi.

Et bien, croyez-moi ou non, il exsite des techniques pour réduire cela à 100 valeurs, on a donc réduit le nombre de dimensions à 100!


Vous me direz, à quoi bon? Bah dites-vous bien que cette maniére de coder un mot avec une série de chiffes est à la base de toutes les IA conversationnelles! (Chatgpt, claude, perplexity, etc).

 

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant
Membre, 51ans Posté(e)
Elisa* Membre 17 262 messages
Maitre des forums‚ 51ans‚
Posté(e)
il y a 10 minutes, lunatike a dit :

200.gif

Je te rassure… à peu près, personne ne va comprendre comme d’hab’. 

  • Haha 1
Lien à poster
Partager sur d’autres sites

Membre, 126ans Posté(e)
chanou 34 Membre 27 098 messages
Maitre des forums‚ 126ans‚
Posté(e)
Il y a 12 heures, SpookyTheFirst a dit :

Hello,

Bon, je sais que c’est pas très vendeur comme sujet…:D

D’abord on connait tous les 3 dimensions spatiales, elles nous permettent de situer un objet dans l’espace avec 3 chiffres.

De la même manière si je numérote tous les mots de 1 à 10’000 (c’est la taille du vocabulaire parlé courant), je peux sélectionner exactement un mot dans un espace à 10’000 dimensions, avec 9999 valeurs à 0, et une valeur à 1 correspondant au mot choisi.

Et bien, croyez-moi ou non, il exsite des techniques pour réduire cela à 100 valeurs, on a donc réduit le nombre de dimensions à 100!


Vous me direz, à quoi bon? Bah dites-vous bien que cette maniére de coder un mot avec une série de chiffes est à la base de toutes les IA conversationnelles! (Chatgpt, claude, perplexity, etc).

 

Ouh là...ça signifierait ( sous réserve que j'aie bien compris) que leurs réponses sont "diminuées" ( je ne sais pas bien comment l'exprimer) d'autant??

Lien à poster
Partager sur d’autres sites

Membre, 44ans Posté(e)
ashaku Membre 1 225 messages
Mentor‚ 44ans‚
Posté(e)
Il y a 13 heures, SpookyTheFirst a dit :

Hello,

Bon, je sais que c’est pas très vendeur comme sujet…:D

D’abord on connait tous les 3 dimensions spatiales, elles nous permettent de situer un objet dans l’espace avec 3 chiffres.

De la même manière si je numérote tous les mots de 1 à 10’000 (c’est la taille du vocabulaire parlé courant), je peux sélectionner exactement un mot dans un espace à 10’000 dimensions, avec 9999 valeurs à 0, et une valeur à 1 correspondant au mot choisi.

Et bien, croyez-moi ou non, il exsite des techniques pour réduire cela à 100 valeurs, on a donc réduit le nombre de dimensions à 100!


Vous me direz, à quoi bon? Bah dites-vous bien que cette maniére de coder un mot avec une série de chiffes est à la base de toutes les IA conversationnelles! (Chatgpt, claude, perplexity, etc).

 

Mais quelle est cette technique ?

Si j'essaie de trouver, il y a plusieurs façons de procéder. A un extrême, c'est la solution que tu décris : un espace à 10 000 dimensions et 9999 valeurs nulles par mesure. A l'autre extrême on peut avoir ce qu'on appelle un "index" : un espace à 1 dimension avec une seule valeur de coordonnée qui peut aller de 0 à 9999.

En intermédiaire, on peut classifier les mots dans un espace à 2 dimensions, une dimension "catégorie" avec 100 valeurs, chaque catégorie a une dimension "index" pour atteindre l'un des 100 mots qu'elle contient.

On peut faire varier ce nombre, dans un espace à 4 dimensions il y aura 10 valeurs par dimension. Cela donnera un résultat de 4 digits allant de 0 à 9, ce qui revient à un index entre 0000 et 9999.

 

 

Modifié par ashaku
  • Confus 1
Lien à poster
Partager sur d’autres sites

Membre, 61ans Posté(e)
Black3011 Membre 767 messages
Forumeur expérimenté‚ 61ans‚
Posté(e)
Il y a 19 heures, SpookyTheFirst a dit :

Hello,

Bon, je sais que c’est pas très vendeur comme sujet…:D

D’abord on connait tous les 3 dimensions spatiales, elles nous permettent de situer un objet dans l’espace avec 3 chiffres.

De la même manière si je numérote tous les mots de 1 à 10’000 (c’est la taille du vocabulaire parlé courant), je peux sélectionner exactement un mot dans un espace à 10’000 dimensions, avec 9999 valeurs à 0, et une valeur à 1 correspondant au mot choisi.

Et bien, croyez-moi ou non, il exsite des techniques pour réduire cela à 100 valeurs, on a donc réduit le nombre de dimensions à 100!


Vous me direz, à quoi bon? Bah dites-vous bien que cette maniére de coder un mot avec une série de chiffes est à la base de toutes les IA conversationnelles! (Chatgpt, claude, perplexity, etc).

 

Hello Spooky. Avec l'aide d'une IA, j'ai essayé de comprendre le sujet. Il y a quelques remarques sur le fond. Voici ce que j'en ai compris, exprimé avec mes mots (pas de copié-collé) :

Chaque mot est un vecteur de 10 000 dimensions, avec un seul "1" et le reste à zéro : on appelle ça un one-hot vector. On peut projeter ces vecteurs dans un espace à environ 100 dimensions. C'est le principe des embeddings. MAIS...

1. Le vocabulaire n'est pas de 10 000 mots; GPT-4 utilise environ 100 000 tokens, donc 10 fois plus.

2. Les embeddings (= représentations vectorielles, littéralem. "enchâssements") ne font pas tout juste 100 dimensions; GPT-4 en fait plus de 12 300 ! Donc : réduction de 12,3 %, si je ne me trompe pas.

3. Réduire de 10 000 à 100 n'est pas une compression magique : c'est un apprentissage statistique qui utilise des relation sémantiques (liées au sens). Et ce n'est pas une réduction linéaire.

4. Les IA conversationnelles ne se basent pas uniquement sur ces vecteurs. Il y a le "transformer" qui manipule les vecteurs via des mécanismes "attentionnels" (?).

Alors, un exemple d'application : les vecteurs d'embedding permettent de capter des relations comme :

(ROI)  - (HOMME) + (FEMME) ==> REINE

----------------------------------------------------------------

...vu comme ça, est-ce que ça a l'air plus compréhensible ? Humm...

Disons que la remarque 4 me semble la plus importante, mais la moins claire. Par contre l'exemple d'application est lumineux ! Le concept de "Roi" auquel on enlève le concept "homme" (masculin) puis auquel on ajoute le concept "femme" (féminin) donne le concept "Reine"...

Modifié par Black3011
pour compléter ma réponse après avoir relu l'entièreté des échanges précédents
Lien à poster
Partager sur d’autres sites

Membre, 58ans Posté(e)
SpookyTheFirst Membre 4 541 messages
Maitre des forums‚ 58ans‚
Posté(e)
Il y a 6 heures, Black3011 a dit :

Hello Spooky. Avec l'aide d'une IA, j'ai essayé de comprendre le sujet. Il y a quelques remarques sur le fond. Voici ce que j'en ai compris, exprimé avec mes mots (pas de copié-collé) :

Chaque mot est un vecteur de 10 000 dimensions, avec un seul "1" et le reste à zéro : on appelle ça un one-hot vector. On peut projeter ces vecteurs dans un espace à environ 100 dimensions. C'est le principe des embeddings. MAIS...

1. Le vocabulaire n'est pas de 10 000 mots; GPT-4 utilise environ 100 000 tokens, donc 10 fois plus.

2. Les embeddings (= représentations vectorielles, littéralem. "enchâssements") ne font pas tout juste 100 dimensions; GPT-4 en fait plus de 12 300 ! Donc : réduction de 12,3 %, si je ne me trompe pas.

3. Réduire de 10 000 à 100 n'est pas une compression magique : c'est un apprentissage statistique qui utilise des relation sémantiques (liées au sens). Et ce n'est pas une réduction linéaire.

4. Les IA conversationnelles ne se basent pas uniquement sur ces vecteurs. Il y a le "transformer" qui manipule les vecteurs via des mécanismes "attentionnels" (?).

Alors, un exemple d'application : les vecteurs d'embedding permettent de capter des relations comme :

(ROI)  - (HOMME) + (FEMME) ==> REINE

----------------------------------------------------------------

...vu comme ça, est-ce que ça a l'air plus compréhensible ? Humm...

Disons que la remarque 4 me semble la plus importante, mais la moins claire. Par contre l'exemple d'application est lumineux ! Le concept de "Roi" auquel on enlève le concept "homme" (masculin) puis auquel on ajoute le concept "femme" (féminin) donne le concept "Reine"...

Oui, tout cela est absolument correct, je voulais juste tenter d'expliquer sans utiliser un seul mot de jargon. A savoir qu'il faut un peu plus de tokens que de mots mais c'est un détail. Maintenant il y a plein d'autres applications de la réduction de dimensionalité, en particulier j'utilise cela pour représenter l'activité d'un réseau de neurones biologiques dans un espace latent (j'ai appris cela juste l'année dernière), j'ai aussi des collègues qui l'utilise pour savoir combien de neurones sont mesurés par une électrode.

Ce qui est "marrant" c'est que l'on peut utiliser un réseau de neurones artificiel pour cela, mais il y a des approches mathématiques plus traditionnelles comme la décomposition en composantes principales (PCA), qui date du début du 20e siècle, pas vraiment nouveau...:D

Lien à poster
Partager sur d’autres sites

Membre, 61ans Posté(e)
Black3011 Membre 767 messages
Forumeur expérimenté‚ 61ans‚
Posté(e)
il y a 49 minutes, SpookyTheFirst a dit :

Oui, tout cela est absolument correct, je voulais juste tenter d'expliquer sans utiliser un seul mot de jargon. A savoir qu'il faut un peu plus de tokens que de mots mais c'est un détail. Maintenant il y a plein d'autres applications de la réduction de dimensionalité, en particulier j'utilise cela pour représenter l'activité d'un réseau de neurones biologiques dans un espace latent (j'ai appris cela juste l'année dernière), j'ai aussi des collègues qui l'utilise pour savoir combien de neurones sont mesurés par une électrode.

Ce qui est "marrant" c'est que l'on peut utiliser un réseau de neurones artificiel pour cela, mais il y a des approches mathématiques plus traditionnelles comme la décomposition en composantes principales (PCA), qui date du début du 20e siècle, pas vraiment nouveau...:D

Eh oui, en ce qui me concerne j'ai découvert l'analyse en composantes principales (ou du moins à l'interpréter et à la comprendre) à l'âge de 25 ans environ, à la fin des années 80 ! Il y a presque 40 ans de cela !...

Mais ne sombrons pas dans la nostalgie, il y a toujours des nouvelles choses à vivre ! :bravo:

Lien à poster
Partager sur d’autres sites

Membre, 58ans Posté(e)
SpookyTheFirst Membre 4 541 messages
Maitre des forums‚ 58ans‚
Posté(e)
Il y a 22 heures, Black3011 a dit :

Eh oui, en ce qui me concerne j'ai découvert l'analyse en composantes principales (ou du moins à l'interpréter et à la comprendre) à l'âge de 25 ans environ, à la fin des années 80 ! Il y a presque 40 ans de cela !...

Mais ne sombrons pas dans la nostalgie, il y a toujours des nouvelles choses à vivre ! :bravo:

C’était pour quelle application?

Lien à poster
Partager sur d’autres sites

Membre, 61ans Posté(e)
Black3011 Membre 767 messages
Forumeur expérimenté‚ 61ans‚
Posté(e)
Il y a 4 heures, SpookyTheFirst a dit :

C’était pour quelle application?

C'était dans le cadre d'un cours de statistiques en psychologie. J'ai dû utiliser l'outil pour un travail, notamment.

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×