Synthese par apprentissage
- 56 réponses
- 6 participants
- 3 182 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/
Choc
Citation : Je pense aussi comme vous qu'il y a surement des méthodes de synthèse à tirer de tout ça, il faut s'y mettre et chercher un mode de fonctionnement original !!!
(ça pourrait faire un bon sujet de stage de DEA en traitement du signal, ou même de thèse ...)
OK Willy, je le sais mais encore faut t-il trouver des financements ? Pourtant j'ai un profil traitement du signal / statistique avec un stage recherche dans le son (en projet de fin d'etude d'ingé)....mais voila je me vois mal debarquer dans des labos en disant, j'aimerai faire ca, pouvez vous me financer pendant trois ans
Et puis, je veux surtout pas me mettre a genou devant l'IRCAM
En tout cas ce que tu dis est tres interessant, je vais essayer de me chopper la toolbox neural networks de matlab pour mettre en application tout ca
peux tu me faire des commentaire sur ma doc:
http://fr.briefcase.yahoo.com/
compte : reaktor_af
mot de passe : cdelabombe
repertoire Choc, fichier MLP
Merci d'avance
Site personnel: https://www.enib.fr/~choqueuse/
Willy_77
J'ai jeté un oeil sur le pdf, c'est un document que tu écris ?
C'est bien mais court, et surtout tu ne parle que du fonctionnement du
réseau lui-même (c'est déja bien) et pas du tout du cadre et des limites
de son utilisation (dimensionnement, vectorisation ...)
Les RNs sont un outil de modélisation comme un autre et il est important
de savoir quand et comment on peut s'en servir ...
Pour un problème donné, pourquoi utiliser un RN et non pas une simple
modélisation polynomiale, ou même une ACP ou des SVMs ...
c'est le grand sujet de discussion sur les RNs et bien évidemment comme
d'habitude la communauté scientifique est partagée, chacun avec ses
arguments.
Les détracteurs des RNs disent que c'est un pis aller quand on ne sait pas
quoi faire d'autre (argument souvent utilisé pour les algos génétiques...)
Le problème intéressant à soulever concerne l'espace de représentation des
données et justement c'est là tout l'art du RN.
Entrer directement les données dans un RN est souvent catastrophique, ce qu'il
faut c'est effectuer un certain nombre de pré-traitements et surtout vectoriser
les données pour se ramener à un espace où l'on pense qu'il existe une solution
au problème de classification ou de prédiction suivant les cas.
Dans le document tu cites une utilisation possible en codant les pixels d'une
imagette pour faire de la détection de caractères pour le tri postal.
En fait, des gens ont bossé là dessus dans labo pendant près de 7 ans, et ils
ont montré que le vecteur d'entrée doit être formatté de telle sorte que le
codage du "caractère" soit invariant à certaines transformations (rotation,
facteur d'échelle etc ... ) ce qui n'est pas le cas si l'on code directement les
pixels d'une imagette ...
Ensuite il faut aussi que l'espace de représentation choisi soit homogène et continu,
par exemple dans le cas d'angles, on ne code pas la valeur des angles mais on
vectorise des couples de valeurs : sin(x) cos(x) et on réserve le couple (0,0)
pour coder l'absence d'angle ...
Il ne faut pas oublier que les RNs ne sont qu'une somme de produit, et il ne
faut pas s'attendre à ce qu'il puisse intégrer dans la solution des opérations
complexes de type Log, Sin, X^n etc ... et c'est pour ça que l'on doit concevoir
un codage des vecteurs d'entrée pour que la représentation des données soit
déja présente sous sa forme utile (sin et cos dans le cas des angles) sinon le
RN ne pourra pas modéliser le problème posé.
Je pense qu'un bon document parlant des RNs doit aborder les généralités comme
tu l'a fait, mais surtout traiter de ces problèmes de représentation et montrer
pourquoi il est important de consacrer les efforts sur la représentation et le codage
des vecteurs d'entrée pour ramener ces données dans un espace où l'on pense
que trouve la solution ...
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)
rem: on prend généralement le produit de la taille des vecteur d'entrée par le nombre
de cellules cachées comme nombre minimum de vecteurs, et comme le nombre
de cellules cachées idéal est le plus souvent egal à la racine du nombre d'entrées,
on a alors N vecteurs mini = longueur * racine(longueur) * K
En Audio, sur des echantillons, pour une portion de signal de 256 échantillons, ça fait
par exemple au minimum 4000 à 8000 vecteurs différents représentatifs de la même
classe, qu'il faudrait selectionner et étiqueter à la main ... pour chaque forme d'onde ou sonorité ...
Quand à la recherche de financement ou de partenaire, je sais c'est dùr, mais il y a
des pistes, nottament les fabriquants de matériel.
Il faut surtout brasser large et être très motivé (c'est le premier critère de sélection
dans ce genre d'approche, et il ne faut pas hésiter à relancer 10 fois le même gars
jusqu'à ce qu'il se rende compte de ton acharnement, et donc de son intérêt à travailler
avec toi puisque tu va te plonger corps et âme sur le sujet ...)
J'avais démarché Analog Devices (DSPs) et il y a 2 ans ils étaient presque OK pour
une thèse mais ils voulaient que j'aille 3 ans à Boston et ça ne me convenait pas trop ...
J'ai finalement trouvé mon bonheur mais après environ 5 touches sérieuses, et plus de
50 tentatives d'approche et presque 1 an de recherche de partenaire ...)
Sinon en France il y a des gens comme Guillemot ou France Telecom qui seraient potentiellement intéressés dans le milieu de l'audio civil.
Je ne connais pas trop les boites françaises dans le milieu audio, mais il faut savoir
que tu ne leur coùte qu' 1/3 environ d'un salaire d'ingénieur avec les aides (thèse CIFRE),
et c'est quand même très intéressant pour la boite ... bon courage!
Choc
Citation : France Telecom qui seraient potentiellement intéressés dans le milieu de l'audio civil.
Je l'ai connais tres bien, j'ai bossé 6 mois pour eux (departement Integration de la Parole et du son du centre de recherche basé a Lannion)...peut etre que je vais pouvoir continuer avec eux dans le domaine de la synthèse de son.
En fait, j'ai toujours voulus faire le DEA ATIAM de l'IRCAM, je me suis fais recallé apres la session d'entretien. Je pense que le jury se base trop sur la place de ton ecole d'ingé ou des choses comme ca. J'ai deja fais pas mal de truc en audio mais le jury s'en foutait royallement....ils preferent prendre quelqu'un venant d'une ecole placé 10 places au dessus de la tienne que de prendre quelqu'un de tres motivé avec un minimum d'experience en audio
Citation : c'est un document que tu écris ?
OUi, je vais prolongfer le document en abordant les themes que tu presentes (normalement je suis limité a 6 pages)...merci beaucoup
Site personnel: https://www.enib.fr/~choqueuse/
miles1981
Audio Toolkit: http://www.audio-tk.com/
Pov Gabou
Citation :
Pour un problème donné, pourquoi utiliser un RN et non pas une simple
modélisation polynomiale, ou même une ACP ou des SVMs ...
Les SVM, c'est plus a la mode Puis c'est une jolie theorie.
Concernant le neuron, ma petite idee, c'est qu'il utilise des methodes types approximations sur des representations redondantes, comme les matching pursuit (dont l'etape d'approximation peut etre vue comme une etapte d'update de reseaux de neurone).
miles1981
Audio Toolkit: http://www.audio-tk.com/
Pov Gabou
miles1981
Audio Toolkit: http://www.audio-tk.com/
Choc
Citation : Pourquoi un FIR ? Pourquoi pas un simple AR dont on sait facilement faire des filtres adaptatifs - voir les modems... - ?
Vous me faites mal au crane les gars
On peut obtenir facilement des filtres FIR ou filtre IIR avec des filtres adaptatifs (algo LMS, Newton etc) non Je sais pas ce que sont les AR (de nom ca vaut dire auto-regressif j'imagine)
l'interet musical par FIR est limité (apres quelques essais de filtre adaptatif FIR)...
l'idée de Willy, emprunté au Neuron, d'apprentissage non-supervisé peut etre interessante..
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)
Je sais pas si j'ai bien saisit
Site personnel: https://www.enib.fr/~choqueuse/
Pov Gabou
Citation :
Ça a l'air assez costaud comme truc, quand même...
Ben visiblement, d'apres ce que j'en comprends, parce que moi je me tape la theorie, pour l'instant, c'est une maniere assez elegante de poser le probleme fondamental de la classification, le compromis bonne generalisation / bons resultats de classification, avec la notion de dimension de Vapnick qui permet de mettre une borne au risque risque theorique. En fait, c'est une amelioration par rapport au risque empirique, qui restait tres.... empirique, justement.
Tu peux voire la de la doc :
http://perso.enst.fr/~moulines/enseignement/masta/masta.html
Citation :
On obtient donc une sorte de compression du signal....qui peut etre resumé en deux etapes
Si on se place tres haut, j'ai l'impression que l'on se ramene toujours a un probleme de representation. Par exemple, les algo de type MP permettent de representer des espaces a l'aide de vecteurs qui ne sont pas independants ( exemple de base: vocoder de phase, avec des atomes sinusoidaux a enveloppe type fenetre de hamming, etc...). Ainsi, le meilleur algo que j'ai vu pour la detection d'harmonique jusqu'a maintenant, c'est un MP avec des atomes harmoniques: tu injectes dans tes vecteurs de 'base' un savoir a priori en relation avec ce que tu cherches. Le neuron doit avoir des bases de vecteurs fondamentaux et s'amuser avec ca.
- < Liste des sujets
- Charte