Est-il possible en utilisant tensorflow pour créer un réseau de neurones qui mappe une certaine entrée à une certaine sortie?

datascience.stackexchange https://datascience.stackexchange.com/questions/14503

Question

Je suis en train de jouer avec tensorflow, mais ne peut pas sembler obtenir une prise si elle utile pour mon problème?

I besoin de créer un réseau neuronal, qui est capable d'entrée de mappage de sortie.

Les choses sont ainsi la progression maintenant, je n'ai pas un seul exemple dans lequel cela a été fait, tous les types de problèmes tensorflow semblent résoudre sont la tâche de classification, et non ce genre de problème de cartographie ... Est-tensorflow capable de faire ?, dois-je utiliser un autre cadre de réseau de neurones pour le faire ?, Et si elle est disponible quelqu'un pourrait montrer un peu de code (et non l'exemple MNIST)

Ma tâche:

Je tente actuellement de faire un réseau de neurones qui prend dans des échantillons de fichiers audio et génère MFCC propose des échantillons. Les caractéristiques de MFCC peuvent être calculées manuellement, que je l'ai fait, donc je sais ce que la sortie I je cherche est. fonction MFCC est un vecteur caractéristique est un nombre différent de valeurs réelles. Je ne peux pas être classé dans la classe A ou B, ou faisant réduirait considérablement la précision de la sortie, comme vous équipons la sortie « bacs » prédéterminés ...

Était-ce utile?

La solution

D'après votre description, il semble que vous êtes face à un régression problème, parce que vous voulez que votre sortie soit certaines valeurs. Ceci est différent de Classification , les problèmes qui ont en sortie la probabilité de l'entrée appartenant à certaines classes.

La clé pour utiliser des réseaux de neurones pour la régression est que la couche de sortie ne devrait avoir aucune activation, qui est, elle doit être une couche linéaire. Comme en pointe par @JanvanderVegt, une fonction de perte commune pour les problèmes de régression est l'erreur quadratique moyenne (MSE) entre la sortie de courant et la MFCC vous propose calculé.

Si vous google « exemple de régression tensorflow », vous pouvez trouver des dizaines d'exemples complets, comme ce ou ce .

Autres conseils

Ce que vous proposez est certainement possible, vous devriez juste n noeuds dans votre couche de sortie, avec n étant la taille de votre vecteur caractéristique de MFCC, et vous devez définir une fonction de perte qui détermine quelles erreurs il est actuellement fait. Si toutes les caractéristiques ont une échelle similaire et une importance similaire, vous pouvez utiliser l'erreur quadratique moyenne, mais vous pouvez faire preuve de créativité ici. En principe, ce n'est pas très différent du classement multiclassent avec une couche softmax à la fin. Dans ce cas, vous avez c noeuds de sortie après une couche softmax et une fonction de perte d'entropie croisée, dans votre cas vous avez n noeuds dans votre couche de sortie après par exemple une complète couche connectée à une fonction de perte de MSE. Nourrissez un certain nombre d'exemples et il devrait faire la tâche raisonnable si les données sont bien représentés. Bien que je ne suis pas certain pourquoi vous voulez utiliser une approche ML si cela est calculable, vous perdrez la précision et je suis incertain combien de vitesse vous gagnez.

Un exemple très simple où tensorflow est utilisé pour une tâche de régression et non une tâche de classification est une régression linéaire avec descente de gradient, que vous pouvez voir ici: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/2_BasicModels/linear_regression.ipynb

Licencié sous: CC-BY-SA avec attribution
scroll top