← Tous les exercices
Le CNN des organes contre le MLP : les mêmes nombres que le cours
Partie 2 · ★★★
Le CNN des organes enchaîne : convolution 16 filtres 3 × 3, pooling, convolution 32 filtres 3 × 3 (sur 16 canaux), pooling, mise à plat (32 × 7 × 7 = 1 568 nombres), couche dense vers 11 scores. Les poolings, la ReLU et la mise à plat n'ont aucun paramètre. Le MLP de J1 est 784 → 128 → 64 → 11.
Compte les paramètres de chaque réseau avec les deux fonctions fournies, calcule combien de fois le MLP est plus gros, et la part des paramètres du CNN qui est dans sa couche dense.
def params_conv(nb_filtres, k, canaux_entree): return nb_filtres * (k * k * canaux_entree + 1) def params_dense(entrees, sorties): return entrees * sorties + sorties couches_cnn = [params_conv(16, 3, 1), params_conv(32, 3, 16), params_dense(1568, 11)] couches_mlp = [params_dense(784, 128), params_dense(128, 64), params_dense(64, ___)] cnn = sum(couches_cnn) mlp = sum(couches_mlp) facteur = mlp / ___ part_dense = couches_cnn[2] / cnn
Ctrl/⌘+Entrée