1
votes

Utilisation de modèles CNN formés sur différents ensembles de données

J'ai 3 ensembles de données différents, 3 d'entre eux étaient tous des frottis sanguins colorés avec la même substance chimique. Les images de frottis sanguins sont des images qui capturent votre sang, notamment des globules rouges et blancs à l'intérieur.

Le premier ensemble de données contient 2 classes: normal vs cancer du sang Le deuxième ensemble de données contient 2 classes: normale vs infection sanguine Le troisième ensemble de données contient 2 classes: normal vs drépanocytose

Donc, ce que je veux faire, c'est: lorsque je saisis une image de frottis sanguin, le système d'IA me dira si c'était: normal, ou un cancer du sang ou une infection du sang ou une drépanocytose (tâche de classification en 4 classes)

Que dois-je faire?

Dois-je mélanger ces 3 ensembles de données et entraîner un seul modèle pour détecter 4 classes?

Ou devrais-je entraîner 3 modèles différents et les combiner? Si oui, quelle méthode dois-je utiliser pour combiner?

Mise à jour: j'ai cherché pendant un moment. Cette tâche peut-elle s'appeler "Apprendre sans oublier?"


0 commentaires

3 Réponses :


0
votes

Il s'agit d'un problème de classification multiclasse. Vous pouvez entraîner un seul modèle, la couche finale étant une couche entièrement connectée (dense) de 4 unités (c'est-à-dire la dimension de sortie) et la fonction d'activation softmax.


3 commentaires

Mise à jour: j'ai cherché pendant un moment. Cette tâche peut-elle être similaire à "Apprendre sans oublier?"


J'ai cherché "Larning sans oublier", et il s'agit de recycler un modèle. Vous pouvez soit entraîner un modèle à partir de zéro avec une certaine initialisation, soit utiliser un modèle pré-entraîné. Dans tous les cas, votre solution aurait besoin d'un modèle avec la couche finale étant une couche entièrement connectée de 4 unités et une fonction d'activation softmax.


Merci pour votre recommandation



1
votes

Je pense que cela dépend des données.

Vous pouvez utiliser trois modèles différents et faire trois prédictions binaires sur chaque image. Vous obtenez donc un vote (probabilité) pour chaque x par rapport à la normale. Si les classifications binaires sont exactes, cela devrait donner des résultats corrects. Mais vous obtenez en quelque sorte une erreur de classification ou une erreur dans ce cas.

Si vous pouvez vous le permettre, vous pouvez entraîner un modèle à quatre classes et comparer l'erreur de test à la série de classifications binaires. Je comprends que vous avez déjà trois modèles. Donc en former un autre n'est peut-être pas trop cher.

Si SEULEMENT l'une des classes peut se produire, un modèle à quatre classes pourrait être la solution. Si en fait deux (ou plus) classes peuvent se produire conjointement, une série de classifications binaires aurait du sens.


4 commentaires

J'ai compris, pour le moment, une seule classe peut avoir lieu à la fois. Cependant, existe-t-il un terme technique pour «mélanger 4 ensembles de données et former un seul modèle»?


Je ne sais pas ce que vous entendez par terme technique ... c'est simplement un modèle avec quatre au lieu de deux classes. La couche de sortie a la dimension 4 dans ce cas. La formation, etc. est à peu près la même (l'architecture du modèle peut être légèrement différente mais sinon, pas de gros changements).


Notez également que vous pouvez profiter de l'utilisation d'un modèle pré-entraîné et apprendre en plus.


Voici un exemple de classification d'images multiclasses Keras construite sur un modèle pré-entraîné datascience.stackexchange.com/questions/52276/...



1
votes

Comme @Peter l'a dit, cela dépend totalement des données. Si les images des 4 classes, à savoir normal, cancer du sang, infection du sang, drépanocytose se distinguent facilement à l'œil nu et qu'il n'y a pas de confusion parmi toutes les classes, alors vous devriez simplement opter pour 1 modèle qui donne des probabilités de toutes les 4 classes (comme mentionné par @maxi marufo). S'il y a confusion entre les classes et que les images ne se distinguent PAS à l'œil nu ou s'il y a beaucoup de confusion entre les classes, vous devez utiliser 3 modèles différents, mais vous en aurez besoin. Vous obtenez simplement les probabilités prédites de tous les 3 modèles supposons p1 (normal) et p1 (c1), p2 (normal) et p2 (c2), p3 (normal) et p3 (c3). Vous pouvez maintenant calculer la moyenne (p1 (normal), p2 (normal), p3 (normal)) et utiliser un softmax pour p (normal), p1 (c1), p2 (c2), p3 (c3). Parmi les multiples méthodes que vous pouvez essayer, celle ci-dessus pourrait en être une.


2 commentaires

Que voulez-vous dire par confusion? Vous voulez dire la connexion logique entre les classes?


J'entends par confusion, ne pas pouvoir identifier facilement les différences entre les classes à l'œil nu.