2017-01-31 2 views
5

J'essaie de concevoir un réseau de neurones en utilisant Keras avec la priorité sur les performances de prédiction, et je ne peux pas obtenir une précision suffisamment élevée en réduisant davantage le nombre de couches et de nœuds par couche. J'ai remarqué qu'une très grande partie de mes poids est effectivement nulle (> 95%). Existe-t-il un moyen d'élaguer les couches denses dans l'espoir de réduire le temps de prédiction?Taille dans Keras

+0

Que signifie exactement «zéro»? Quels types de couches utilisez-vous? –

+0

@MartinThoma J'utilisais des couches de base «Dense». qual to zero, ou étaient si proches de zéro que leur mise à zéro ne changerait aucune sortie du réseau pour aucune entrée. Cependant, aucun nœud ne peut être retiré du réseau sans augmenter la perte du scénario de test moyen. Je suis d'avis qu'à un certain point où la plupart des poids sont inutiles, le réseau clairsemé serait plus efficace en matière de prédiction. – Mirac7

+0

"étaient si proches de zéro que leur mise à zéro ne changerait aucune sortie du réseau pour aucune entrée" - qu'est-ce que cela signifie? 10^-5? 10^-6? 10^-100? –

Répondre

2

pas un moyen dédié :(

Il y a actuellement pas facile (dédié) façon de le faire avec Keras.

Une discussion est en cours à https://groups.google.com/forum/#!topic/keras-users/oEecCWayJrM.

Vous pouvez également être intéressé par cet papier: https://arxiv.org/pdf/1608.04493v1.pdf

+0

Papier très intéressant, merci. Avez-vous un aperçu de quand (ou si) cela va être implémenté dans Keras? Ou devrais-je passer à un autre cadre? – Mirac7

+1

Je ne crois pas que changer de cadre aiderait beaucoup, honnêtement. Pour autant que je sache, ni tensorflow ni theano n'ont ce genre de fonctionnalité implémentée. Vous pouvez néanmoins travailler quelque chose manuellement ... vous limitez les valeurs absolues de vos poids, retirez-les de la couche et supprimez également les poids correspondant aux neurones que vous venez de retirer, quand c'est le cas. Cela ne semble pas très simple, mais je ne pense pas qu'il y ait de grands secrets non plus. – grovina

+1

Il y a une grande différence entre "non, ce n'est pas possible" et "Keras n'a pas de commande dédiée". S'il vous plaît ajustez votre réponse en fonction de votre commentaire, car actuellement je pense que votre réponse est fausse. –