Este artigo revisa abrangentemente o desenvolvimento de funções de ativação no aprendizado profundo, desde as primeiras funções Sigmoid e Tanh, até a amplamente utilizada série ReLU, até as novas funções de ativação recentemente propostas, como Swish, Mish e GeLU. É realizada uma análise aprofundada das expressões matemáticas, características, vantagens, limitações e aplicações de várias funções de ativação em modelos típicos. Através de análise comparativa sistemática, este artigo discute os princípios de design, padrões de avaliação de desempenho e possíveis direções de desenvolvimento futuro de funções de ativação, fornecendo orientação teórica para a otimização e design de modelos de aprendizagem profunda.
1. Introdução
A função de ativação é um componente chave nas redes neurais, que introduz características não lineares na saída dos neurônios, permitindo que as redes neurais aprendam e representem mapeamentos não lineares complexos. Sem uma função de ativação, não importa quão profunda seja uma rede neural, ela só pode representar essencialmente transformações lineares, o que limita bastante a capacidade expressiva da rede. Com o rápido desenvolvimento da aprendizagem profunda, o design e a seleção de funções de ativação tornaram-se fatores importantes que afetam o desempenho do modelo. Diferentes funções de ativação possuem características diferentes, como fluidez de gradiente, complexidade computacional, grau de não linearidade, etc. Essas características afetam diretamente a eficiência do treinamento, velocidade de convergência e desempenho final da rede neural. Este artigo tem como objetivo revisar exaustivamente a evolução das funções de ativação, analisar profundamente as características de várias funções de ativação e explorar sua aplicação em modelos modernos de aprendizagem profunda. Discutiremos os seguintes aspectos:
Funções de ativação clássicas: incluindo funções de ativação comumente usadas, como Sigmoid e Tanh.
ReLU e suas variantes: incluindo ReLU, Leaky ReLU, PReLU, ELU, etc.
Novas funções de ativação: funções recentemente propostas como Swish, Mish e GeLU.
Funções de ativação para fins especiais: como Softmax, Maxout, etc.
Comparação e seleção de funções de ativação: Discuta estratégias de seleção de funções de ativação em diferentes cenários.
Perspectivas Futuras: Explore as possíveis direções de desenvolvimento da pesquisa da função de ativação.
Através desta revisão e análise sistemática, esperamos fornecer uma referência abrangente para pesquisadores e profissionais para ajudá-los a selecionar e usar melhor as funções de ativação no design de modelos de aprendizagem profunda.
2. Função de ativação clássica
2.1 Função sigmóide
A função Sigmóide é uma das primeiras funções de ativação amplamente utilizadas e sua expressão matemática é: σ ( x ) = 1 1 + e − x sigma(x) = frac{1}{1 + e^{-x}}σ(x)=1+e−x1
Características e benefícios:
A faixa de saída é limitada: O intervalo de saída da função Sigmóide está entre (0, 1), o que a torna particularmente adequada para lidar com problemas de probabilidade.
Suave e diferenciável: A função é suave e diferenciável em todo o domínio, o que é benéfico para a aplicação do algoritmo de gradiente descendente.
Explicativo: A saída pode ser interpretada como probabilidades, especialmente adequada para a camada de saída de problemas de classificação binária.
Desvantagens e limitações:
problema de gradiente desaparecendo: Quando o valor de entrada é grande ou pequeno, o gradiente é próximo de zero, o que pode levar ao problema do desaparecimento do gradiente em redes profundas.
Centro diferente de zero de saída: A saída do Sigmoid é toda positiva, o que pode fazer com que a entrada do neurônio da próxima camada seja sempre positiva, afetando a velocidade de convergência do modelo.
Complexidade computacional: Envolve operações exponenciais e a complexidade computacional é relativamente alta.
Cena aplicável:
Redes neurais superficiais iniciais.
Camada de saída para problemas de classificação binária.
Cenários onde a saída precisa ser limitada ao intervalo (0, 1).
Comparação com outras funções:
Comparado com funções como ReLU que apareceram mais tarde, a aplicação do Sigmoid em redes profundas tem sido bastante limitada, principalmente devido ao seu problema de gradiente evanescente. No entanto, em algumas tarefas específicas (como a classificação binária), o sigmóide ainda é uma escolha eficaz.
2.2 Função Tanh
A função Tanh (tangente hiperbólica) pode ser considerada uma versão melhorada da função Sigmóide, e sua expressão matemática é: tanh ( x ) = ex − e − xex + e − x tanh(x) = frac{e^x - e^{-x}}{e^x + e^{-x}}Tanh-tã ...(x)=ex+e−xex−e−x
Características e benefícios:
saída central zero: O intervalo de saída da função Tanh está entre (-1, 1), o que resolve o problema do centro diferente de zero do Sigmóide.
Gradiente mais forte: Em áreas onde a entrada é próxima de zero, o gradiente da função Tanh é maior que a função Sigmóide, o que ajuda a acelerar o aprendizado.
Suave e diferenciável: Semelhante ao Sigmóide, Tanh também é suave e diferenciável.
Desvantagens e limitações:
problema de gradiente desaparecendo: Embora melhorado em relação ao Sigmoid, Tanh ainda tem o problema de desaparecimento de gradientes quando o valor de entrada é grande ou pequeno.
Complexidade computacional: Semelhante ao Sigmoid, Tanh também envolve operações exponenciais e possui alta complexidade computacional.
Cena aplicável:
Melhor que o Sigmoid em cenários que exigem saída centrada em zero.
Frequentemente usado em Redes Neurais Recorrentes (RNN) e Redes de Memória Longa e de Curto Prazo (LSTM).
Usado em alguns cenários onde a saída normalizada é importante.
Melhoria e comparação:
A função Tanh pode ser considerada uma versão melhorada da função Sigmóide. A principal melhoria reside na centralização em zero da saída. Esse recurso faz com que o Tanh tenha um desempenho melhor que o Sigmoid em muitas situações, especialmente em redes profundas. Porém, em comparação com funções como ReLU que apareceram posteriormente, Tanh ainda tem o problema do desaparecimento do gradiente, o que pode afetar o desempenho do modelo em redes muito profundas. As duas funções de ativação clássicas, Sigmoid e Tanh, desempenharam um papel importante nos primeiros dias do aprendizado profundo, e suas características e limitações também promoveram o desenvolvimento de funções de ativação subsequentes. Embora tenham sido substituídas por funções de ativação atualizadas em muitos cenários, elas ainda têm seu valor de aplicação exclusivo em tarefas e estruturas de rede específicas.
3. ReLU e suas variantes
3.1 ReLU (Unidade Linear Retificada)
A proposta da função ReLU é um marco importante no desenvolvimento de funções de ativação. Sua expressão matemática é simples: ReLU ( x ) = máx ( 0 , x ) texto{ReLU}(x) = máx(0, x)ReLU(x)=máx.(0,x)
Características e benefícios:
O cálculo é simples: A complexidade computacional do ReLU é muito menor que a do Sigmoid e do Tanh, o que é benéfico para acelerar o treinamento da rede.
O gradiente de mitigação desaparece: Para entrada positiva, o gradiente de ReLU é sempre 1, o que efetivamente alivia o problema do gradiente evanescente em redes profundas.
ativação esparsa: ReLU pode fazer com que a saída de uma parte dos neurônios seja 0, levando a uma expressão esparsa da rede, o que é benéfico em determinadas tarefas.
explicação biológica: As propriedades inibitórias unilaterais do ReLU são semelhantes ao comportamento dos neurônios biológicos.
Desvantagens e limitações:
Problema "ReLU morto": Quando a entrada é negativa, o gradiente é zero, o que pode levar à desativação permanente do neurônio.
saída central diferente de zero: As saídas do ReLU são todas valores não negativos, o que pode afetar o processo de aprendizagem da próxima camada.
Cena aplicável:
Amplamente utilizado em redes neurais convolucionais profundas (como ResNet, VGG).
Adequado para a maioria das redes neurais feedforward.
Comparação com outras funções:
Comparado com Sigmoid e Tanh, ReLU apresenta vantagens significativas em redes profundas, principalmente em termos de velocidade de treinamento e mitigação do desaparecimento de gradiente. No entanto, o problema do “ReLU morto” levou os pesquisadores a propor várias versões melhoradas.
3.2 ReLU com vazamento
Para resolver o problema da "morte" do ReLU, o Leaky ReLU foi proposto: ReLU com vazamento ( x ) = { x , se x > 0 α x , se x ≤ 0 texto{ReLU com vazamento}(x) ={x,sex>0αx,sex≤0ReLU com vazamento(x)={
x,αx,sex>0sex≤0 em, α alfaα é uma pequena constante positiva, geralmente 0,01.
Características e benefícios:
Aliviando o problema do “ReLU morto”: Ainda retém um pequeno gradiente quando a entrada é negativa para evitar a desativação completa dos neurônios.
Mantenha as vantagens do ReLU: Mantém a linearidade no semieixo positivo, o cálculo é simples e ajuda a amenizar o desaparecimento do gradiente.
Desvantagens e limitações:
Apresentando hiperparâmetros: α alfaαA seleção de valores requer ajuste, o que aumenta a complexidade do modelo.
saída central diferente de zero: Semelhante ao ReLU, a saída ainda não está centrada em zero.
Cena aplicável:
Como alternativa em cenários onde o ReLU tem um desempenho insatisfatório.
Usado em tarefas que precisam reter alguma informação de valor negativo.
3.3 PReLU (ReLU Paramétrico)
PReLU é uma variante do Leaky ReLU, onde a inclinação do semieixo negativo é um parâmetro que pode ser aprendido: PReLU ( x ) = { x , se x > 0 α x , se x ≤ 0 texto{PReLU}(x) ={x,sex>0αx,sex≤0PRELU(x)={
x,αx,sex>0sex≤0 aqui α alfaα são parâmetros aprendidos por meio de retropropagação.
Características e benefícios:
aprendizagem adaptativa: Pode aprender automaticamente a inclinação negativa do semi-eixo mais adequada com base nos dados.
potencial de desempenho: Em algumas tarefas, o PReLU pode obter melhor desempenho do que o ReLU e o Leaky ReLU.
Desvantagens e limitações:
Aumente a complexidade do modelo: A introdução de parâmetros adicionais que podem ser aprendidos aumenta a complexidade do modelo.
Possível sobreajuste: Em alguns casos, pode levar a um ajuste excessivo, especialmente em pequenos conjuntos de dados.
Cena aplicável:
Tarefas de aprendizagem profunda em conjuntos de dados em grande escala.
Cenários que requerem funções de ativação adaptativa.
3.4 ELU (Unidade Linear Exponencial)
ELU tenta combinar as vantagens do ReLU e do processamento de entradas negativas. Sua expressão matemática é: ELU ( x ) = { x , se x > 0 α ( ex − 1 ) , se x ≤ 0 texto{ELU}(x) ={x,sex>0α(ex−1),sex≤0ELU(x)=