当前位置:网站首页>6.6 Convolution de séparation
6.6 Convolution de séparation
2022-06-12 11:32:00 【Déformation du poulet】
1 Convolution séparable
La Convolution séparable comprendConvolution spatialement séparableEtConvolution séparable en profondeur.
1.1 Convolution spatialement séparable(Spatially Separable Convolutions)
L'espace signifie[height, width] Deux dimensions;La Convolution spatialement détachable[n*n]La Convolution est divisée en[1*n]Et[n*1]Calcul en deux étapes.Exemples:
Un3*3Noyau de convolution,In5*5Defeature mapCalculer sur,C'est tout.3*3*9=81Sous - calcul.

Encore une fois,Dans la convolution spatialement séparable,Adoption3*1Et1*3Deux noyaux de convolution au lieu de3*3Noyau de convolution,Première étape3*1La quantité de calcul requise est:15*3*1=45, Deuxième étape 1*3La quantité de calcul requise est:9*1*3=27,C'est tout.45+27=72Sous - calcul,Moins de81Une fois.
Donc...,La Convolution spatialement séparable peut réduire le nombre d'opérations,Réduire les coûts de fonctionnement.
1.2 Convolution séparable en profondeur(Depth Separable Convolutions)
MobileNetV1C'est ça.VGGLa Convolution standard en est remplacée par une Convolution séparable en profondeur.
L'idée centrale de la convolution séparable en profondeur est de diviser une opération de convolution complète en deux étapes ,Respectivement: Convolution par profondeur (Depthwise Convolution)AvecConvolution point par point(Pointwise Convolution).
Convolution conventionnelle si vous travaillez avec une taille de 64*64,Image à trois canaux, Après inclusion 4 Couche de convolution des filtres ,Produit final4- Oui.feature map,Et de la même taille que la couche d'entrée. Le paramètre de la couche enroulée calculable est 4*3*3*3=108.

Opération de convolution séparable en profondeur , D'abord la convolution par profondeur , Appliquer un filtre unique à chaque canal d'entrée ,Je l'ai.3- Oui.feature map,La quantité du paramètre est3*3*3=27. Puis la convolution point par point ,Avec1*1 La combinaison de convolution de , Obtenir un nouvel ensemble de résultats . La Convolution ici va passer à l'étape suivante map Combinaison pondérée dans le sens de la profondeur ,Générer un nouveaufeature map. La quantité de calcul des paramètres est 1*1*3*4=12. La quantité totale de paramètres est27+12=39.


2 Comparaison de la convolution groupée et de la convolution séparable en profondeur
2.1 Convolution des groupes
Convolution des groupesGroup ConvolutionOn l'a vu pour la première foisAlexNetDans le réseau, C'est une façon de réduire les paramètres et les calculs .
La pensée principale: Grouper les caractéristiques d'entrée ,Convolution séparée, Puis Combinez les caractéristiques . La quantité totale de paramètres de la convolution de groupe est 1/G,Parmi euxG Nombre de groupes divisés par .
Avantages: La Convolution des paquets peut réduire la quantité de paramètres , Peut également être considéré comme une approche structurée et clairsemée , équivalent à une méthode de régularisation .

Lorsque le nombre de groupes est égal à la dimension entrée - sortie ,C'est - à - dire:G=Din=Dout,équivalent àMobileNetEtXception Convolution en profondeur ;
Lorsque le nombre de groupes est égal à la dimension entrée - sortie ,G=Din=Dout, Et lorsque l'échelle d'entrée du noyau de convolution est égale à la dimension caractéristique d'entrée, c'est - à - dire K=W=H, Le diagramme de caractéristiques entré est C*1*1,InMobileFaceNetDevenirGlobal Depthwise Convolutions(GDC), C'est - à - dire la mise en commun globale pondérée .AvecGAP C'est - à - dire que la mise en commun moyenne globale est différente ,GDC Chaque position a reçu un poids d'apprentissage .
3 MobileNet Série
3.1 MobileNet_V1
1 Point d'innovation
① PrésentationMobileNetArchitecture, Remplacer les opérations traditionnelles de convolution par des convolutions séparables en profondeur ,Réduction du calcul.
② Introduction de deux hyperparamètres de contraction (Shrinking Hyperparameters):Multiplicateur de largeur(width multiplier) Et le multiplicateur de résolution (Resoution multiplier),Parmi euxMultiplicateur de largeurLe rôle principal est .Rendre chaque couche du réseau plus mince ,Changer le nombre de canaux; Le multiplicateur de résolution agit pour réduire la quantité de calcul Hyperparamètre.
2 Problèmes existants
Une partie de l'information est perdue après l'entraînement à la présence de la convolution profonde , Le poids qui en résulte pour certains noyaux est 0.
3.2 MobileNet_V2
1 Point d'innovation
① Modifier la dernière coucheRELU6,IntroductionLinear BottleNeck
② Introduction d'une structure de multiplexage des caractéristiques ,PrendreResnetDes idées;
③ Utiliser un bloc résiduel inversé inverted residuals block, C'est exact.RELU Pour éviter les défauts .
RELU Problèmes de neurones morts ,Et à traversResnetRéutilisation des structures, Ce problème de dégradation des caractéristiques peut être largement atténué .
2 Défauts
① La phase finale du réseau est très importante
3.3 MobileNet_V3
1 Point d'innovation
① Combinaison de techniques de recherche complémentaires:NAS Effectuer une recherche au niveau du module ,NetAdaptEffectuer une recherche locale;
② Amélioration de la structure du réseau: Avancer la mise en commun moyenne de la dernière étape , Et supprimer la dernière couche de roulis ,Introductionh-swishActiver la fonction.

h-swish Avec précision :① Facile à réaliser dans un cadre matériel et logiciel ‘② Éviter la perte de précision numérique ;③ Vite!、
ref.
(11Message (s)) 【Études de thèse】Réseau Léger——MobileNetV3Enfin.( Avec code source ouvert )_Lingyun_wuBlog de-CSDNBlogs_mobilenetv3
边栏推荐
- MATLAB中stairs函数使用
- 信号继电器RXSF1-RK271018DC110V
- K59. Chapter 2 installing kubernetes V1.23 based on binary packages -- cluster deployment
- [cf1392d] D. Omkar and bed Wars
- Record the pits encountered when using JPA
- Golang Foundation (6)
- SharDingJDBC-5.1.0按月水平分表+读写分离,自动创表、自动刷新节点表
- Basic principle of Doppler effect
- AcWing 1995. 见面与问候(模拟)
- Differences among various cross compiling tools of arm
猜你喜欢

读mysql45讲-自我总结(部分)

Mysql45 lecture 01 | infrastructure: how is an SQL query executed?

scanf返回值被忽略的原因及其解决方法

VirtualBox 虚拟机因系统异常关机虚拟机启动项不见了

VirtualBox virtual machine shut down due to abnormal system. The virtual machine startup item is missing

Unity connect to Microsoft SQLSERVER database

Using stairs function in MATLAB
![[the 11th national competition of Blue Bridge Cup single chip microcomputer]](/img/da/3c8a9efd5b28f67816f239531a0339.png)
[the 11th national competition of Blue Bridge Cup single chip microcomputer]

redis 总结

Manuscript manuscript format preparation
随机推荐
DS18B20 digital thermometer (I) electrical characteristics, power supply and wiring mode
重量级代理缓存服务器Squid
C# 36. DataGridView line number
FPGA Development - Hello_ World routine
Basic principle of Doppler effect
MATLAB中stairs函数使用
读mysql45讲-自我总结(部分)
AcWing 1995. Meet and greet (simulation)
Module 8 job
人类想要拥有金钱、权力、美丽、永生、幸福……但海龟只想做一只海龟
Relatively rare exception records in UI automation test
K53. Chapter 2 installing kubernetes v1.22 based on binary packages -- cluster deployment
如何查看glibc版本
Shardingjdbc-5.1.0 monthly horizontal table splitting + read-write separation, automatic table creation and node table refresh
rosbridge使用案例心得总结之_第26篇在同一个服务器上打开多个rosbridge服务监听端口
C# 36. DataGridView行号
The reason why scanf return value is ignored and its solution
Simple solution of regular expression
Mysql45 lecture 01 | infrastructure: how is an SQL query executed?
【clickhouse专栏】基础数据类型说明