Unité Linéaire à Porte (GLU)
Une unité linéaire à porte (GLU) est une fonction d'activation de réseau neuronal designed to enhance the model’s ability to capture complex relationships in data by incorporating gating mechanisms. Introduced in a paper by Yann N. Dauphin et al. in 2017, GLUs help in improving the performance of deep learning architectures, particularly in tasks related to traitement du langage naturel (NLP) et autres données séquentielles.
Les GLU fonctionnent en fusionnant des transformations linéaires avec des portes qui contrôlent le flux d'informations. La formule de base pour une GLU peut être exprimée comme :
GLU(x) = (W_1 * x) ⊗ σ(W_2 * x)
In this formula, W_1 and W_2 are weight matrices, x is the input data, and σ represents the sigmoid activation function. The output of the GLU is the element-wise product of a transformation linéaire and a gating mechanism, which allows the model to learn which features to focus on while ignoring others.
The gating mechanism provides a way to control the information from the input that gets passed forward through the network, allowing for more effective learning and improved gradient flow. This is particularly useful in deep networks where la disparition du gradient peut être un problème important.
GLUs are often used in combination with other neural network layers, such as convolutional or recurrent layers, to enhance their performance. They can be seen as an evolution of traditional fonctions d'activation like ReLU, as they add a layer of complexity and adaptability that helps in various applications, including language modeling, machine translation, and more.