Maison > Périphériques technologiques > IA > Modèles d'IA inspirés du cerveau : apprentissage par activation, rétropropagation difficile

Modèles d'IA inspirés du cerveau : apprentissage par activation, rétropropagation difficile

王林
Libérer: 2023-04-12 11:10:16
avant
1216 Les gens l'ont consulté

La technologie de rétro-propagation est au cœur de l'apprentissage profond, moteur du succès de l'IA dans de nombreux domaines tels que la vision, la parole, le traitement du langage naturel, les jeux et la prédiction biologique. Le mécanisme de fonctionnement de la rétropropagation consiste à calculer le gradient de l'erreur de prédiction par rapport au poids de connexion au réseau neuronal de manière inverse et à réduire l'erreur de prédiction en ajustant avec précision le poids de chaque couche. Bien que la rétropropagation soit très efficace et constitue la clé du succès actuel de l’intelligence artificielle, un nombre considérable de chercheurs ne croient pas que la méthode d’apprentissage par rétropropagation soit cohérente avec le fonctionnement du cerveau.

Avec le développement de la technologie d'apprentissage en profondeur, tout le monde a progressivement constaté certains inconvénients de la rétropropagation, tels qu'une dépendance excessive aux données des étiquettes et à la puissance de calcul, une série de problèmes de sécurité contradictoires et ne peut être utilisée que pour des tâches spécifiques, etc. , et cela a également soulevé certaines inquiétudes quant au développement de grands modèles.

Par exemple, Hinton, l'un des auteurs de la rétropropagation et pionnier du deep learning, a déclaré à plusieurs reprises : « Si vous voulez réaliser des progrès substantiels, vous devez abandonner la rétropropagation et repartir de zéro [2] », « Ma conviction actuelle est que la rétropropagation, c'est-à-dire le fonctionnement actuel de l'apprentissage profond, est complètement différente de ce que fait le cerveau. Le cerveau obtient des gradients de différentes manières [3]", "Je crois que le cerveau utilise de nombreuses petites fonctions objectives locales. Il ne s'agit pas d'une chaîne de systèmes de bout en bout qui optimise la fonction objectif par la formation [3]".

LeCun, qui est également lauréat du prix Turing, a déclaré : « Le modèle d'apprentissage profond actuel peut faire partie intégrante des futurs systèmes intelligents, mais je pense qu'il lui manque les éléments nécessaires. Je pense qu'ils sont nécessaires, mais pas suffisants. [4]". Son ancien rival, le professeur Gary Marcus de l'Université de New York, a déclaré que la même chose avait déjà été dite : « Si nous voulons parvenir à une intelligence artificielle générale, l'apprentissage profond doit être complété par d'autres technologies [4] ».

1 L'inspiration du cerveau

Comment repartir de zéro ? Le développement de la technologie de l'intelligence artificielle est sans aucun doute indissociable de la compréhension de l'inspiration du cerveau. Bien que nous soyons encore loin de comprendre pleinement le mécanisme de fonctionnement du cerveau, dont l'essentiel est de savoir comment ajuster les poids de connexion entre les neurones en fonction d'informations externes, nous pouvons encore acquérir une compréhension préliminaire du cerveau, qui peut nous inciter à concevoir de nouveaux modèles. .

Tout d'abord, le processus d'apprentissage du cerveau est inextricablement lié à la règle de Hebb, c'est-à-dire que le poids de connexion entre les neurones activés en même temps sera renforcé. Cela peut être considéré comme la règle de base la plus importante des neurosciences. règle qui a été vérifiée par un grand nombre d’expériences biologiques.

Deuxièmement, l'apprentissage dans le cerveau repose principalement sur un apprentissage non supervisé, qui permet d'obtenir de riches représentations locales et des associations entre les représentations à partir d'un petit nombre d'échantillons. Les signaux de rétroaction jouent également un rôle important dans le processus d'apprentissage. De plus, le cerveau est un système d'apprentissage qui prend en charge les tâches générales. Les caractéristiques apprises par le cerveau doivent être relativement opposées aux tâches spécifiques. Un objectif raisonnable est que le cerveau puisse bien apprendre la distribution statistique des différents signaux d'entrée et les différences entre les différents. contenus.

Récemment, Zhou Hongchao, chercheur à l'Université du Shandong, a soumis un article sur arXiv, "Activation Learning by Local Competitions", proposant un modèle d'IA inspiré du cerveau, appelé activation learning(activation learning) . Son objectif est de construire un réseau neuronal multicouche afin que l'intensité d'activation de la sortie du réseau puisse refléter la probabilité relative de l'entrée.

Ce modèle abandonne complètement la méthode de rétro-propagation, mais commence par améliorer les règles hebbiennes de base (une méthode plus proche du cerveau) pour établir un nouvel ensemble de méthodes d'entraînement et d'inférence de réseaux neuronaux. de meilleures performances que la rétropropagation dans des expériences d'apprentissage sur de petits échantillons, et peut également être utilisé comme modèle de génération d'images. Les travaux suggèrent que le potentiel des méthodes d’apprentissage inspirées par la biologie pourrait être largement sous-estimé.

Modèles d'IA inspirés du cerveau : apprentissage par activation, rétropropagation difficile

Lien papier : https://arxiv.org/pdf/2209.13400.pdf

2 Règles d'apprentissage pour la compétition locale

L'apprentissage hebbien a toujours été le cas avant l'émergence de rétropropagation Une direction centrale de la recherche sur l'apprentissage des réseaux neuronaux a inspiré une série de travaux sur les systèmes d'apprentissage, mais elle n'est finalement pas devenue une méthode largement utilisée.

Une raison possible est que les gens ne comprennent pas complètement certains mécanismes de la règle hebbienne, en particulier le mécanisme de compétition entre les neurones, et la compétition joue un rôle très important dans le processus d'apprentissage des caractéristiques du réseau neuronal et d'ajustement du poids.

Une compréhension intuitive est que si chaque neurone fait de son mieux pour rivaliser pour l'activation, et en même temps il y a une sorte d'inhibition pour rendre les caractéristiques représentées par différents neurones aussi différentes que possible, alors le réseau neuronal aura tendance à pour transférer les informations les plus utiles au niveau suivant (est-ce similaire à l'économie sociale ? Lorsque chaque individu d'un grand groupe social maximise ses revenus et que le groupe est suffisamment grand, le revenu total de l'ensemble du groupe a tendance à être maximum selon certaines règles) ation, à ce moment-là, chaque individu montre des comportements différents).

En fait, il existe un grand nombre de neurones inhibiteurs dans le cerveau, et la compétition et l'inhibition entre les neurones jouent un rôle important dans le processus d'apprentissage cérébral. Rumelhart, le premier auteur de la rétropropagation (la plus haute distinction dans le domaine des sciences cognitives est le prix Rumelhart) est le promoteur de cette idée. En même temps qu'il proposait la rétropropagation (1985), il proposait également une méthode appelée apprentissage compétitif. Le cœur du modèle [5] est de diviser les neurones de chaque couche en plusieurs clusters. Seul le neurone le plus fort de chaque cluster sera activé (appelé gagnant-gagnant) et entraîné selon la règle Hebbian. Cependant, en comparaison, la rétropropagation a montré une meilleure efficacité de la formation en réseau dans des applications pratiques et a depuis attiré l'attention de la plupart des chercheurs en IA, favorisant l'émergence et le succès de l'apprentissage profond.

Mais certains chercheurs croient encore au potentiel des méthodes d'apprentissage inspirées par la biologie. En 2019, Krotov et Hopfield (oui, les promoteurs du réseau Hopfield) ont montré que la règle du gagnant rafle tout combinée à l'apprentissage hebbien. peut être en mesure d'obtenir les mêmes résultats. Performances comparables à la rétropropagation [6]. Mais la règle du vainqueur, qui ne permet d’activer qu’un seul neurone, limite également dans une certaine mesure les capacités d’apprentissage et d’expression des réseaux neuronaux.

Le chercheur dans ce travail a directement introduit le mécanisme de compétition dans la règle d'apprentissage hebbien et a obtenu une règle d'apprentissage locale concise :

Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile

Ici, on suppose que le neurone i est l'entrée du neurone j dans la couche au-dessus, Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile est le poids de connexion entre le neurone i et le neurone j, Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile est le montant d'ajustement de ce poids sous un certain échantillon d'entraînement , Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile est la sortie du neurone i et est une entrée du neurone j, Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile est l'entrée totale pondérée du neurone j (ou la sortie du neurone j), Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile est un taux d'apprentissage plus petit, Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile Tous les neurones de la même couche que le neurone j sont traversés. Si l’on considère uniquement Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile, c’est la règle hebbienne la plus originale. Une clé ici est l'introduction d'un élément de retour de sortie de la même coucheModèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile. Il joue deux rôles : le premier est de garantir que tous les poids n'augmenteront pas à l'infini et que le processus d'apprentissage est convergent ; le second est d'introduire une compétition entre le neurone j et les autres neurones de cette couche pour améliorer l'expression des caractéristiques.

En effectuant une analyse mathématique des règles d'apprentissage locales ci-dessus (en supposant que le taux d'apprentissage est suffisamment faible et que le nombre d'étapes d'apprentissage est suffisant), des conclusions intéressantes peuvent être obtenues.

(1) Étant donné le Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile de chaque couche, l'entrée Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile peut être reconstruite via Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile pour rendre l'erreur de reconstruction aussi petite que possible. Cette capacité de reconstruction couche par couche peut améliorer la sécurité du modèle contre les attaques adverses et empêcher l'ajout de bruit adverse à certaines images d'objets d'être reconnues comme d'autres objets.

(2) Chaque extraction de caractéristiques de couche basée sur des règles d'apprentissage locales a une certaine similitude avec l'analyse en composantes principales (ACP). Leur perte de reconstruction est la même, mais ce qui est différent de l'ACP, c'est qu'elle est obtenue par des règles d'apprentissage locales. . Il n'est pas nécessaire que les composants individuels soient orthogonaux. C'est une chose très raisonnable, car l'analyse des composants principaux consiste à extraire les informations principales de chaque couche, mais si les neurones correspondant aux composants principaux échouent, cela affectera les performances de l'ensemble du réseau, et les règles d'apprentissage locales résoudront ce problème de manière robuste. . Problèmes sexuels.

(3) La somme des carrés des poids de connexion de chaque couche a tendance à ne pas dépasser le nombre de neurones dans cette couche, assurant la convergence du processus d'apprentissage du réseau.

(4) L'intensité de sortie de chaque couche (somme des carrés de la sortie) a tendance à ne pas être supérieure à l'intensité d'entrée de la couche (la somme des carrés de l'entrée), et pour des entrées approximativement typiques , l'intensité de sortie sera généralement plus élevée, de sorte que la probabilité d'entrée peut être approximée par l'intensité de sortie. Cette conclusion est un point très critique pour le modèle d’apprentissage par activation à proposer.

3 Apprentissage par activation

Sur la base des règles d'apprentissage locales ci-dessus, un réseau neuronal multicouche peut être formé de bas en haut couche par couche pour réaliser une extraction automatique de fonctionnalités non supervisée. Le réseau formé peut être utilisé comme modèle de pré-formation pour diverses tâches d'apprentissage supervisé, telles que la reconnaissance, la traduction, etc., afin d'améliorer la précision des tâches d'apprentissage. Diverses tâches d'apprentissage supervisé ici sont toujours basées sur un modèle de formation par rétro-propagation, et le modèle de pré-formation non supervisé est affiné.

Mais ce qui est plus intéressant, c'est que sur la base des règles d'apprentissage local ci-dessus, un nouveau modèle d'IA qui n'utilise pas du tout la rétropropagation peut être construit, appelé apprentissage par activation (Activation Learning). Son noyau repose sur une formation locale non supervisée. la force de sortie de l'ensemble du réseau (la somme des carrés de la sortie) pour estimer la probabilité relative de l'échantillon d'entrée, c'est-à-dire que plus l'échantillon d'entrée est vu souvent, plus la force de sortie sera généralement forte.

Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile

Dans l'apprentissage par activation, les échantillons d'entrée sont introduits dans un réseau neuronal multicouche après normalisation. Chaque couche contient des transformations linéaires qui peuvent être entraînées via des règles d'apprentissage locales. La fonction d'activation non linéaire de chaque couche doit garantir que la force d'entrée (somme des carrés) et la force de sortie restent inchangées. Par exemple, la fonction de valeur absolue Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile peut être utilisée comme fonction d'activation, de sorte que la force de sortie du. Le réseau ne changera pas lors du passage par la fonction d'activation ou d'amélioration, la force de sortie finale de l'ensemble du réseau peut refléter la probabilité relative de l'échantillon d'entrée.

Si une fonction d'activation non linéaire est ajoutée à la règle d'apprentissage locale, c'est-à-dire que Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile représente la sortie du neurone j, alors la fonction d'activation n'a pas besoin d'exiger que l'intensité d'entrée et de sortie soit constante, et d'autres des fonctions non linéaires telles que RELU peuvent être utilisées comme fonction d'activation. Le processus d'inférence de l'apprentissage par activation consiste à dériver la partie manquante sur la base de la partie connue de l'entrée, de sorte que la force de sortie finale du réseau soit maximale.

Par exemple, les réseaux d'apprentissage par activation peuvent prendre des données et des étiquettes (telles que l'encodage à chaud) en entrée en même temps. Pour un tel réseau formé, lorsqu'on lui donne une donnée et une entrée d'étiquette correcte, son intensité d'activation de sortie est généralement supérieure à l'intensité d'activation de sortie de ces données et d'une étiquette incorrecte.

Un tel modèle d'apprentissage par activation peut être utilisé à la fois comme modèle discriminant et comme modèle génératif. Lorsqu'il est utilisé comme modèle discriminant, il déduit les catégories manquantes à partir des données données ; lorsqu'il est utilisé comme modèle génératif, il déduit les catégories données combinées à une certaine quantité de données manquantes. De plus, des expériences ont montré que si des informations de rétroaction de reconnaissance sont introduites, par exemple en donnant un taux d'apprentissage global plus élevé à des échantillons mal identifiés, l'effet d'apprentissage du modèle discriminant peut être amélioré.

4 Classification de petits échantillons et génération d'images

Des expériences sur l'ensemble de données MNIST (images de chiffres manuscrites en noir et blanc) montrent que s'il y a suffisamment d'échantillons d'entraînement, la précision de la rétropropagation est supérieure à celle de l'apprentissage par activation. . Par exemple, dans le cas de 60 000 échantillons d’apprentissage, basés sur un réseau neuronal de complexité similaire, la rétropropagation peut atteindre un taux d’erreur d’environ 1,62 %, tandis que l’apprentissage par activation ne peut atteindre qu’un taux d’erreur d’environ 3,37 % (si le retour d’information de la reconnaissance les résultats sont introduits. Pour activer l'apprentissage, le taux d'erreur peut être réduit à 2,28 %).

Mais à mesure que le nombre d'échantillons d'entraînement diminue, l'apprentissage par activation peut montrer de meilleures performances. Par exemple, dans le cas de 6 000 échantillons d'apprentissage, le taux d'erreur d'apprentissage par activation est déjà inférieur au taux d'erreur de rétro-propagation, dans le cas de 600 échantillons d'apprentissage, le taux d'erreur de reconnaissance de rétro-propagation atteint 25,5 % ; mais le taux d'erreur de l'apprentissage par activation Le taux d'erreur n'est que de 9,74 %, ce qui est également nettement inférieur à la méthode combinée à un modèle pré-entraîné non supervisé (le taux d'erreur est d'environ 20,3 %).

Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile

Afin d'explorer les performances de l'apprentissage par activation avec peu d'échantillons, continuez à réduire le nombre d'échantillons à quelques échantillons. À l’heure actuelle, l’apprentissage par activation montre encore une certaine capacité de reconnaissance.

Lorsqu'il y a 2 échantillons dans chaque catégorie, la précision de reconnaissance atteint 60,2 % ; lorsqu'il y a 10 échantillons dans chaque catégorie, la précision de reconnaissance peut atteindre 85,0 % ; Un phénomène remarquable est que lorsqu'il y a au moins 2 échantillons pour chaque catégorie, la précision du test ne diminue pas pendant tout le processus de formation. Ceci est différent de nombreux modèles basés sur la rétropropagation. D'un certain point de vue, cela reflète que l'apprentissage par activation peut avoir une meilleure capacité de généralisation.

Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile

Étant donné un réseau d'apprentissage d'activation formé, essayez d'ajouter certaines interférences à l'image pour être reconnue. Comme le montre la figure ci-dessous, couvrez une certaine proportion des pixels de l'image ou ajoutez des lignes aléatoires. Ces images perturbées n'ont pas été rencontrées par le modèle au cours du processus de formation, mais l'apprentissage par activation montre toujours une certaine capacité de reconnaissance. Par exemple, lorsque 1/3 de l'image est couvert (partie inférieure), l'apprentissage par activation peut atteindre un taux d'erreur de reconnaissance d'environ 7,5 %.

Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile

Le même réseau d'apprentissage par activation formé peut également être utilisé pour la génération d'images. Étant donné une catégorie, une image générée localement optimale peut être obtenue par descente de gradient ou itération pour maximiser la force d'activation de sortie de l'ensemble du réseau. Dans le processus de génération d'images, la sortie de certains neurones peut être contrôlée sur la base d'un bruit aléatoire, améliorant ainsi le caractère aléatoire des images générées. L'image ci-dessous est une image générée aléatoirement basée sur le réseau d'apprentissage par activation.

Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile

Dans la couche de perception visuelle du cerveau, les neurones ont des champs de réception limités, c'est-à-dire que les neurones ne peuvent recevoir que des informations d'autres neurones dans une certaine plage spatiale. Cela a inspiré la proposition du réseau neuronal convolutif (CNN), largement utilisé dans un grand nombre de tâches visuelles. Le mécanisme de fonctionnement de la couche convolutive est encore très différent du système visuel humain. Une différence essentielle est que la couche convolutive partage des paramètres, c'est-à-dire que les paramètres de poids sont les mêmes à chaque position bidimensionnelle, mais c'est difficile à imaginer. que le système visuel humain Il y aura un tel partage de paramètres dans le système visuel. L'expérience suivante étudie l'impact des connexions locales sur l'apprentissage par activation sur la base de l'ensemble de données CIFAR-10 (10 catégories colorées d'images d'objets).

Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile

Le réseau neuronal expérimenté ici se compose de deux couches. La première couche est une couche de connexion locale. Elle a la même structure de connexion que la couche convolutive avec une taille de noyau de convolution de 9, mais chaque position a son propre paramètre de poids. ; la deuxième couche est une couche entièrement connectée, et le nombre de nœuds dans chaque couche est , Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile est cohérent avec la dimension de l'image d'entrée.

Les expériences montrent que les connexions locales peuvent rendre le processus d'apprentissage plus stable et améliorer les performances d'apprentissage dans une certaine mesure. Basé sur ce réseau neuronal à deux couches et combiné au retour des résultats de reconnaissance, l’apprentissage par activation peut atteindre un taux d’erreur de 41,59 % sur CIFAR-10.

La précédente référence pour les modèles bioinspirés avait été établie par Krotov et Hopfield, qui rapportaient un taux d'erreur de 49,25 %. Ils ont utilisé un réseau neuronal à deux couches, la première couche contenant 2 000 nœuds et étant entraînée sans supervision grâce à des méthodes biologiquement inspirées, et la deuxième couche de sortie étant supervisée par rétro-propagation. À titre de comparaison, le même réseau peut atteindre un taux d'erreur de 44,74 % s'il est entièrement formé par rétropropagation, tandis que l'apprentissage par activation n'utilise pas du tout la rétropropagation et obtient de meilleurs résultats. Si l'augmentation des données, y compris le recadrage aléatoire, est utilisée et que le nombre de nœuds dans la première couche est augmenté à Modèles dIA inspirés du cerveau : apprentissage par activation, rétropropagation difficile, le taux d'erreur de reconnaissance de l'apprentissage par activation peut être réduit à 37,52 %.

5 Vers des tâches générales

Pourquoi la plupart des modèles de deep learning ne s'appliquent-ils qu'à des tâches spécifiques ? L'une des raisons est que nous divisons artificiellement les échantillons en données et en étiquettes, et que nous utilisons les données comme entrée du modèle et les étiquettes comme informations de supervision de sortie. Cela rend le modèle plus enclin à conserver uniquement les caractéristiques les plus utiles pour la prévision. étiquettes, tout en ignorant certaines fonctionnalités utiles pour d’autres tâches. L'apprentissage par activation prend toutes les informations visibles en entrée et peut apprendre la probabilité et la distribution statistique des échantillons d'entraînement ainsi que la corrélation entre chaque partie. Ces informations peuvent être utilisées pour toutes les tâches d'apprentissage associées, de sorte que l'apprentissage par activation peut être considéré comme un modèle pour les tâches générales. .

En fait, lorsque nous voyons un objet et que d'autres nous disent de quoi il s'agit, il nous est difficile de définir que le cerveau utilisera définitivement le signal sonore comme étiquette de sortie et le signal visuel comme entrée au moins ; cet apprentissage doit être bidirectionnel, c'est-à-dire que lorsque nous verrons cet objet, nous penserons à ce que c'est, et lorsqu'on nous donnera ce que c'est, nous penserons également à quoi cet objet ressemble.

L'apprentissage par activation peut également être utilisé pour l'apprentissage multimodal. Par exemple, lorsqu'un échantillon d'apprentissage donné contient des modalités d'image et de texte, il peut établir une association entre des images et du texte ; lorsqu'un échantillon d'apprentissage donné contient des modalités de texte et de son, il peut établir une association entre du texte et du son ; L'apprentissage par activation a le potentiel de devenir un modèle de mémoire associative, établissant des associations entre différents types de contenu associé et interrogeant ou activant le contenu associé par propagation. On pense généralement que cette capacité de mémoire associative joue un rôle très important dans l’intelligence humaine. Cependant, le problème de la formation des données d'entrée locales et le problème de l'oubli catastrophique doivent encore être résolus ici.

En plus d'être un nouveau modèle d'IA, la recherche sur l'apprentissage par activation a aussi d'autres valeurs. Par exemple, il peut plus facilement prendre en charge la formation sur puce (formation sur puce) de systèmes de réseaux neuronaux basés sur des implémentations physiques telles que les réseaux neuronaux optiques et les réseaux neuronaux memristors, évitant ainsi une diminution de la précision de calcul de l'ensemble du système en raison de la précision des composants physiques de base ou du bruit de programmation. Cela peut également être combiné avec des expériences biologiques pour nous inciter à mieux comprendre le mécanisme de fonctionnement du cerveau, par exemple s'il existe une certaine explication biologique aux règles d'entraînement locales. Le chercheur Zhou Hongchao a déclaré : « Je crois que la plupart des systèmes complexes sont dominés par des règles mathématiques simples et que le cerveau est un système tellement merveilleux ; en fin de compte, notre objectif est de concevoir des machines plus intelligentes. »

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal