Personnalisé de perte de fonction dans Keras

Je suis en train de travailler sur une image de la classe-avancement de classificateur approche à l'aide d'un CNN comme un extracteur et entièrement connecté à bloc pour la classification.

Tout d'abord, j'ai fait un réglage fin d'un VGG par réseau formé pour en faire une nouvelle tâche. Une fois le filet est formé de la nouvelle tâche, je stocke quelques exemples pour chaque classe afin d'éviter de l'oublier lorsque de nouvelles classes sont disponibles.

Lorsque certaines classes sont disponibles, j'ai à calculer à chaque sortie des exemplaires inclus le exemplaires pour les nouvelles classes. Maintenant, en ajoutant des zéros pour les sorties pour les anciennes classes et l'ajout de l'étiquette correspondant à chaque nouvelle classe sur les nouvelles catégories de sorties, j'ai mes nouvelles étiquettes, j'.e:
si les 3 nouvelles classes d'entrée....

Vieille classe type de sortie: [0.1, 0.05, 0.79, ..., 0 0 0]

Nouveau type de classe de sortie: [0.1, 0.09, 0.3, 0.4, ..., 1 0 0] **les dernières sorties correspondent à la classe.

Ma question est, comment je peux changer la perte de la fonction pour une personnalisée pour former de nouvelles classes?
La perte de la fonction que je veux mettre en œuvre est définie comme:

Personnalisé de perte de fonction dans Keras

où la distillation perte correspond aux sorties pour les anciennes classes pour éviter de l'oublier, et la classification de la perte correspond à la nouvelles classes.

Si vous pouvez me fournir un exemple de code pour modifier la perte de fonction dans keras, ce serait bien.

Merci!!!!!

OriginalL'auteur Eric | 2017-05-06