Synthese par apprentissage
- 56 réponses
- 6 participants
- 3 358 vues
- 2 followers
Choc
Je trippe actuellement sur la recherche de nouveau moyen de synthese du son (du moins j'essaye...) et je reste skocthé par l'algorithme de descente du gradient dans sa version stochastique....(deja utilisé en audio pour faire de la reduction de bruit par exemple)
Principe:
un signal de reference x(t) qui passe dans un modele inconnu (de nous) et qui sonne d(t)...
en parallele on construit un modele type filtre FIR initialisé aleatoirement et on lui met en entree x(t).....on obtient un signal en sortie de ce modele que l'on appele e(t) de t (e pour estimation)...
ensuite on compare d(t) et e(t) puis on recalibre les coefficient du filtre de facon a minimiser cette erreur....ce travail est fait recursivement...(d'ou le terme apprentissage le modele apprend)
Ca m'a donné plein d'idee....que j'ai commencé a exploité au niveau musicale...il y a encore plein de taf...
Imaginez ...x(t) un bruit....et d(t) un son type piano....bon l'algo c'est pas non plus un outil magique il va pas nous sortie e(t) un son de piano....mais par contre on entend une sorte de bruit filtré interessant...lorsque on superpose e(t) et d(t) c'est meme agreable
Il faut que j'etudie ca plus en profondeur mais je pense que ca peut etre un outil interessant pour les sound designer orientés "noise"...synthese par apprentissage, synthese adaptative, je lui ai toujours pas donné son petit nom
Voila des commentaires ? des suggestions ? des idée ? des connaissances ? je suis souvert a toutes critiques
Site personnel: https://www.enib.fr/~choqueuse/
Willy_77
Citation : le SVM resout ce probleme en considerant un nouveau critère d'erreur qui maximise la distance entre les données et la region de separation des classes ou un truc du genre mais ca reste une surface de sépration type hyperplan...
Ben moi j'avais compris qu'une séparation par un Hyperplan ça permet
justement de régler le cas des séparations non-linéaires ...
Les SVMs s'appuient sur l'utilisation d'un "noyau" qui est l'équivalent d'une
projection sur un espace de plus grande dimension où la frontière auparavent
non libnéaire devient alors plane (hyperplane), mais au lieu de s'embêter
à effectuer explicitement cette projection (couteuse) on ne garde que l'expression
ou la fonction permettant la mesure de distance qui n'est plus euclidienne,
puisqu'elle se calcule, elle, dans l'espace de plus grande dimension :
C'est ce qu'on appelle le "noyau" ou la "fonction noyau"
Pov Gabou
un classificateur, c'est des fonctions f(x,alpha) ou alpha est l'indice de l'ensemble des classificateurs envisages, x les donnees observees, y la classe observe: pour un alpha donne, f(x, alpha) va toujours attribuer la meme classe a une observation x donnee. Le risque, c'est l'esperance de y - f(x,alpha), avec comme pb P(y,x). Le risque empirique, c'est sum(y-f(x_i, alpha), i), a un facteur de normalisation pres. La loi des grds nombres permet de montrer que le risque empirique tend vers le vrai risque. Il suffirait donc de miniser cette somme, qui ne depend plus de P, en fonction de alpha.
Le truc de vapnick, c'est d'avoir un truc style risque < risque empirique + expression(capacite), ou la capacite est rendue compte par la dimension de vapnick, qui a une definition precise que je capte par encore tres bien. L'idee, c'est donc de jouer sur la capacite pour diminer la borne risque empirique + expression(capacite), de telle sorte que le risque empirique soit le plus proche possible du vrai risque. C'est ce qu'ils appellent le risque structurel.
miles1981
Audio Toolkit: http://www.audio-tk.com/
miles1981
Audio Toolkit: http://www.audio-tk.com/
Willy_77
Citation : Les SVM linéaires séparent à l'aide d'un hyperplan, c'est du linéaire. Les SVM non linéaires créent une hypersurface, qui peut être alors non-linéaire
je ne voyais pas tant de différence entre hyperplan et hypersurface, puisque
tout est dans "hyper" ...
Normalement, les SVMs s'appuient sur l'idée que pour toute surface non plane (cas
des problèmes non linéairement séparables), il existe un espace de plus grande
dimension dans lequel cette surface devient "hyperplane" ... et il est alors possible
d'utiliser une métrique non euclidienne permettant la mesure de distances.
Les SVM (Support Vector Machine) classifient non pas en représentant les classes elles même, mais en choisissant des vecteurs "support" permettant de tracer la frontière
(ce qui n'est pas le cas des MLPs qui cherchent à modéliser la ou les classes...)
Cette frontière doit séparer au mieux les classes, et c'est par un nouveau calcul de
distance (hyperdistance) que des vecteurs, caractérisant au mieux la frontière,
deviennent des vecteurs support.
Ensuite, la position (en terme d'hyperdistance) d'un nouveau vecteur par rapport aux vecteurs supports choisis donne l'appartenance de ce vecteur à une classe ou une autre.
Enfin, comme cette distance se calcule dans un espace donné grace à la fonction noyau,
il ya surement des noyaux plus au moins linéaires ...
miles1981
Hors sujet : T'apprends ça dans tes temps libres ? ;)
Audio Toolkit: http://www.audio-tk.com/
Willy_77
Hors sujet : oui, comme je suis en thèse, il parait que les temps libres sont justement là pour
pouvoir apprendre plus et élargir le champ de vision ... surtout quand on fait du traitement d'images
miles1981
Hors sujet : T'es aussi en thèse en traitement d'images ??? T'as quel âge ? T'es bien marié avec 2 filles, non ?
Audio Toolkit: http://www.audio-tk.com/
miles1981
Hors sujet :
on s'est compris, non ? ;)
Audio Toolkit: http://www.audio-tk.com/
miles1981
Audio Toolkit: http://www.audio-tk.com/
Willy_77
Hors sujet : ben oui, marié, 2 filles, 41 ans ET en thèse en traitement d'images !!!
J'ai repris à la fac il y a 3 ans après 15 ans d'ingéniering dans le design de systèmes temps réel embarqués en traitement du signal et j'en avais un peu marre de jouer avec des DSPs... On s'éclate bien en musique avec mes filles, elles adorent Nightwish, Epica, Apocalyptica Within temptation et autres ... j'aime bien aussi
miles1981
Hors sujet : Quelle âge tes filles ?
Plus sérieusement : quel domaine du traitement d'images ?
Audio Toolkit: http://www.audio-tk.com/
Willy_77
Hors sujet : reconstruction/modélisation multi-caméra de visages en 2D et 3D temps réel
et toi ?
miles1981
Hors sujet : Détection de changements dans les images médicales 3D multimodales. D'où les SVMs pour décider s'il y a changement ou pas. C'est une piste que certains ont exploré, je ne sais pas encore trop dans quelle direction je vais aller... La seule chose certaines, c'est qu'il y aura des maths à en vomir ;)
Audio Toolkit: http://www.audio-tk.com/
Willy_77
Citation : N'empêche que... pourquoi des SVM pour générer un filtre ??
C'était juste en parlant comparant les capacités de classification de différentes méthodes, sujet relancé par Gabou ... et toi !
Pour ma part, coté appli musicale, j'ai une plutôt des espérances vers les Diabolos et pas du tout les SVMs !
miles1981
Diabolo, je ne connais pas... Tu as un lien vers une publi qui explique un peu ce truc ?
Audio Toolkit: http://www.audio-tk.com/
Willy_77
Citation : images médicales 3D multimodales
Hors sujet : c'est un des domaines que je dois explorer pour les aspects de normalisation de représentation en vue d'effectuer des opérations de fusion ...
Pour les maths, je suis d'accord mais il faut en passer par là, ne serait ce que pour
justifier les résultats ...
Je travaille en ce moment sur un problème de segmentation, et c'est vraiment l'horreur
pour généraliser ... j'ai beaucoup de problèmes d'éclairement et de reflexions dans les images ...
miles1981
Hors sujet : Ah ? Tu utilises des images médicales ?
On a aussi des soucis de segmentation, mais à cause de non-uniformités des IRMs
Audio Toolkit: http://www.audio-tk.com/
Willy_77
Citation : Diabolo, je ne connais pas
T'es pas très attentif ... ça fait pas mal de réponses déja sur les RN auto-supervisés, dits "Diabolos" !
Citation : Sinon, pour la synthèse je pencherais plutôt vers les Diabolos (auto-supervisé) qui
permettent à la fois d'extraire automatiquement l'information utile des données,
et surtout de s'affranchir de l'étiquettage nécessaire en mode supervisé classique.
(Surtout quand on sait qu'un réseau nécessite un très grand nombre de vecteurs
d'entrée pour bien converger vers une solution)
Citation :
Autre mode possible : Mode NON-Supervisé :
On a toujours un ensemble de vecteurs d'entrée constituant l'ensemble d'apprentissage, correspondant généralement à une même classe, mais cette fois la structure du réseau n'est pas de N entrées vers m cellules cachées vers 1 ou plusieurs sorties, mais N entrées vers m cellules cachées (m<n) et encore N sorties.
L'apprentissage (dans tout les cas c'est une descente de gradient classique) consiste alors à faire converger les poids du réseau de telle sorte que pour chaque vecteur d'entrée, le réseau apprenne à reconstruire le MEME vecteur en sortie !!!!
C'est là le coté génial, parceque comme il passe par une couche interne comprenant beaucoup moins de cellules, en fait le réseau agit comme une sorte en compression, c.a.d. qu'il a trouvé une représentation plus petite pour les même vecteurs d'entrée.
Coté synthèse, ce qui pourrait être intéressant, c'est qu'un fois appris un modèle (de forme d'onde par exemple), alors en faisant varier les coefficients de cette couche cachée on modifie le type de compression/decompression que le réseau réalise, et on a qqchose proche du morphing, où les paramètres que l'on touche ne sont ni l'amplitude du signal, ni sa forme d'onde, mais plutôt les coefficients d'une sorte de filtre (de type incinnu), comme si dans un FIR on allait modifier certains coefficients sans se soucier de la fonction de transfert ...
Ce type de réseau "auto-supervisé" s'appelle aussi le "Diabolo".
C'est en gros le principe du Neuron, qui modélise un son à travers un filtre neuronal mais dont on ne connait pas précisemment la signification de chacun des paramètres, que l'on fait ensuite varier pour obtenir de nouveau sons, ou autre appli possible, avec 2 jeux de coefficients correspondants chacun à un type de son, on peut "interpoler" tout simplement les coefficients progrssivement pour obtenir un morphing d'un type nouveau, puisque le chemin parcouru par le signal pendant le morphing entre le son A vers le son B n'est pas le chemin le plus court (morphing classique) mais UN chemin dans l'espace de représentation du réseau de neurones ...
Citation : Si j'ai bien compris le reseaux essaye de reconstruire en sortie un vecteur egal à l'entrée...le nombre de neurone de la couche cachée est inferieure aux nombres de neurones de sortie et d'entrée....
On obtient donc une sorte de compression du signal....qui peut etre resumé en deux etapes
entrée -> couche cachée (compression)
couche cachée -> sortie (decompression)
Citation : C'est exactement ça !
Le Diabolo c'est le grand concurrent de l'ACP (Analyse en Composantes Principales)
Le coté génial, c'est qu'il te réduit le nombre de dimensions tout en gardant
l'information utile, mais comme c'est quand même un réseau, le modèle n'est pas
aussi rigide que dans le cas d'une ACP, et tu peux arriver à réduire l'espace de rprésentation là où l'ACP échoue ... !
Dans le cas de la synthèse, ce qui m'attire c'est la possibilité d'interpoler progressivement
les poids de plusieurs Diabolos pour passer d'une représentation à une autre mais dans
un espace complètement nouveau ...
Le problème c'est le codage des signaux en entrée ...
miles1981
Audio Toolkit: http://www.audio-tk.com/
Willy_77
Citation : C'est justement là, le travail de doctorant, réussir à comprendre en lisant plusieurs fois une publi, à des instants différents - pour que ça rentre quand même au fur et à mesure -, et ne pas paniquer quand on comprend plus
miles1981
Hors sujet : Et dire que demain, j'ai une réunion avec mes directeurs de thèse pour voir où j'en suis et pour m'orienter dans une certaine direction... Avec vous, c'est pas facile de réciser ;)
Audio Toolkit: http://www.audio-tk.com/
Willy_77
J'ai dù commencer par un état de l'art pendant 5 mois à lire des articles à en dégueuler, alors ça me rassure de ne pas me sentir seul
miles1981
Audio Toolkit: http://www.audio-tk.com/
Pov Gabou
Perso, je suis en train de commencer une these 'officieuse', je suis paye par une boite, et j'ai du mal a imposer l'idee de publier toutes les sources de mes codes (au moins matlab, pas forcement tous les trucs en C). Et c'est tres penible, parce que ca se voit un peu partout: finalement, tu dois un peu croire ce qu'on te raconte, et vu que dans nos domaines, in fine, c'est toujours du bricolage, c'est assez chiant.
- < Liste des sujets
- Charte