Segmentation de mots, étiquetage et découpage de parties de discours
Marquage de séquence en action
RNN bidirectionnel
BI-LSTM-CRF
Attention
Modèles de langage
Modèle unigramme
Modèle bigramme
Modèle trigramme
Modèle RNN de langage
Modèle Transformer de langage
Algèbre linéaire
Vecteur
Matrice
Plonger dans la multiplication matricielle
Tenseur
Comment un réseau de neurones simule-t-il une fonction arbitraire
Aperçu
La raison pour laquelle le réseau de neurones est puissant réside dans sa puissante capacité de simulation. En théorie, il peut simuler des fonctions arbitraires avec des erreurs infiniment petites.
En d'autres termes, nous pouvons utiliser des réseaux de neurones pour construire des fonctions arbitraires et obtenir des algorithmes arbitraires.
Nous utilisons ici quelques exemples visuels pour vous aider à acquérir une compréhension intuitive.
Simulation de fonction unaire
Ligne droite
C'est le cas le plus simple, on peut le simuler en utilisant un neurone sans fonction d'activation.
f(x)=wx+b
w1
b0
En ajustant les paramètres w,b, n'importe quelle ligne droite peut être simulée.
Fonction pas à pas
Nous utilisons un neurone avec la fonction d'activation sigmoid pour le simuler.
w30
b0
Au fur et à mesure que le paramètre w continue d'augmenter, le réseau de neurones se rapprochera progressivement de la fonction.
Fonction d'impulsion rectangulaire
Nous le divisons en plusieurs étapes:
Utilisez un seul neurone pour simuler la moitié gauche de la fonction.
f1(x)=sigmoid(w1x+b1)
w120
b120
Utilisez un seul neurone pour simuler la moitié droite de la fonction (à l'envers).
f2(x)=sigmoid(w2x+b2)
w220
b2-20
Utilisez un autre neurone pour synthétiser les images des 2 premières étapes
f3(x,y)=sigmoid(w31x+w32y+b3)
w3110
w32-10
b3-5
Le résultat obtenu est une bonne approximation de la fonction objectif.
Autres fonctions unaires
En utilisant la fonction d'impulsion rectangulaire, nous pouvons facilement approximer d'autres fonctions arbitraires, tout comme le principe d'intégration.
n10
Expérience
Terminez la mission Broken Line et observez la fonction correspondant à chaque neurone.
Simulation de fonction binaire
Avion
C'est le cas le plus simple, on peut le simuler en utilisant un neurone sans fonction d'activation.
f(x,y)=w1x+w2y+b
w10
w21
b0
En ajustant les paramètres de w1,w2,b, n'importe quel avion peut être simulé.
Fonction d'étape binaire
Nous utilisons un neurone avec la fonction d'activation sigmoid pour le simuler.
f(x)=sigmoid(w1x+w2y+b)
w10
w230
b0
Fonction d'impulsion rectangulaire binaire
Similaire au cas des fonctions unaires, nous l'implémentons étape par étape:
Utilisez un seul neurone pour simuler un bord de la fonction
f1(x,y)=sigmoid(w11x+w12y+b1)
w110
w1220
b120
Ensuite, nous pouvons obtenir la fonction suivante:
wi10
wj-10
bi-5
Enfin, les fonctions suivantes peuvent être synthétisées
w5110
w52-10
w5310
w54-10
b5-15
La structure finale du réseau de neurones est illustrée dans la figure ci-dessous:
Autres fonctions binaires
En utilisant la fonction d'impulsion rectangulaire binaire, nous pouvons facilement approximer n'importe quelle autre fonction binaire, tout comme le principe d'intégration.
Expérience
Terminez la mission Cercle et observez la fonction correspondant à chaque neurone.
Simulation de la fonction n-élément
Le principe est le même, imaginez par vous-même ! ??
Question
Nous avons déjà des circuits numériques et des algorithmes de logiciels, pourquoi avons-nous besoin de réseaux de neurones?
Les logiciels construits sur des circuits numériques peuvent également simuler des fonctions arbitraires, alors pourquoi inventer des réseaux de neurones artificiels ?