J'ai implémenté un réseau neuronal appelé PCANet.
Comme son nom l'indique, PCANet est un type de CNN qui calcule les poids de réseau par PCA (analyse en composantes principales).
PCANet présente les caractéristiques suivantes.
PCANet considère le patch découpé dans l'image comme un vecteur et sa composante principale est le poids du réseau. En général CNN, l'apprentissage est effectué en rétropropageant la différence entre la sortie cible et la sortie du réseau sur tout le réseau. En revanche, PCANet ne nécessite pas de label enseignant car une fois l'image donnée, l'apprentissage peut se faire simplement en appliquant PCA.
Étant donné que le modèle se compose uniquement d'opérations linéaires et de calculs d'histogrammes, il semble être moins expressif que les modèles non linéaires. Par exemple, La précision de l'identification dans CIFAR 10 n'a pas atteint 80%.
Vous voudrez peut-être utiliser PCANet lorsque vous dites: "La quantité de calcul n'est pas suffisante pour faire du Deep Learning, mais la précision est médiocre avec HoG."
We then subtract patch mean from each patch
Cependant, on ne sait pas s'il s'agit de la moyenne des patchs extraits de toutes les images de l'ensemble de données ou de la moyenne des patchs extraits pour chaque image. Je pense que c'est probablement le dernier car il peut éliminer la différence de luminosité entre les images.
Comme PCA est essentiellement un traitement par lots, il n'est pas possible de diviser les données en petits lots et de les apprendre comme des mini-lots. En conséquence, vous manquerez de mémoire lors de l'apprentissage avec des données très volumineuses. En tant que solution de mise en œuvre
Par conséquent, nous apporterons les améliorations nécessaires à l'avenir.
Recommended Posts