Pourquoi la fonction d'activation doit être une fonction non linéaire

introduction

Dans le réseau neuronal, une fonction non linéaire est utilisée comme fonction d'activation, mais j'expliquerai "pourquoi ce n'est pas une fonction linéaire".

Qu'est-ce qu'une fonction linéaire?

Une fonction dont la sortie est un multiple constant de son entrée, c'est-à-dire une fonction de ligne droite. download.png

Comme ça.

Qu'est-ce qu'une fonction non linéaire?

C'est une fonction de lignes non linéaires, saccadées et tordues. download.png

Comme ça.

Dans un réseau neuronal, vous devez utiliser une fonction non linéaire pour la fonction d'activation. Si vous utilisez une fonction linéaire, la sortie sera un multiple constant (ligne droite) de l'entrée. Cela rend inutile l'approfondissement de la couche.

Pourquoi?

Prenons un exemple. Exemple) Un réseau à trois couches utilisant la fonction linéaire $ h (x) = ax $ comme fonction d'activation

La sortie $ y $ est $ y (x) = h (h (h (x))) $, qui est un $ y (x) = kx $ (mais $ k = a ^ 3 $) Elle peut être exprimée par multiplication, c'est-à-dire exprimée par un réseau sans couches cachées, il ne sert à rien de le rendre multicouche.

C'est pourquoi les réseaux de neurones utilisent des fonctions non linéaires et non linéaires.

en conclusion

Cet article est recommandé. Décomposer la «complexité» en plusieurs propagations «simples»-avant est une répétition de «fonction linéaire» et de «non-linéarité simple»

Recommended Posts

Pourquoi la fonction d'activation doit être une fonction non linéaire
Concernant la fonction d'activation Gelu
Quelle est la fonction d'activation?
[Python] Faire de la fonction une fonction lambda
Je souhaite utiliser la fonction d'activation Mish
La valeur de retour (générateur) d'une fonction qui combine finally et yield ne doit pas être passée directement à next
Créer une fonction pour visualiser / évaluer le résultat du clustering
Soyez prudent lors de la différenciation des vecteurs propres d'une matrice
#Une fonction qui renvoie le code de caractère d'une chaîne de caractères
[Python] Assurez-vous que la fonction reçue est une fonction définie par l'utilisateur
Que signifie le dernier () dans une fonction en Python?