O que significa o termo não linearidades saturantes?

30

Eu estava lendo o artigo Classificação ImageNet com redes neurais profundas convolucionais e, na seção 3, eles explicaram a arquitetura de sua rede neural convolucional e explicaram como preferiam usar:

não saturante não linearidade f(x)=max(0,x).

porque era mais rápido treinar. Nesse papel eles parecem referir-se não-linearidades saturantes como as funções mais tradicionais usados no RNCs, o sigmóide e as funções tangente hiperbólica (isto é f(x)=tanh(x) e f(x)=11+ex=(1+ex)1como saturante).

Por que eles se referem a essas funções como "saturando" ou "não saturando"? Em que sentido essas funções "saturam" ou "não saturam"? O que esses termos significam no contexto de redes neurais convolucionais? Eles são usados ​​em outras áreas do aprendizado de máquina (e estatística)?

Charlie Parker
fonte
Também achei esta resposta do quora muito útil.
frank

Respostas:

26

Intuição

Uma função de ativação saturadora aperta a entrada.


Definições

  • f(|limzf(z)|=+)(|limz+f(z)|=+)
  • f está saturando se não é não saturante.f

Essas definições não são específicas para redes neurais convolucionais.


Exemplos

A função de ativação da Unidade Linear Retificada (ReLU), que é definida como não é saturada porque :f(x)=max(0,x)limz+f(z)=+

insira a descrição da imagem aqui

A função de ativação sigmóide, que é definida como está saturando, porque esmaga números reais para variar entre :f(x)=11+ex[0,1]

insira a descrição da imagem aqui

A função de ativação tanh (tangente hiperbólica) está saturando, pois esmaga números reais para variar entre :[1,1]

insira a descrição da imagem aqui

(os números são de CS231n , licença MIT)

Franck Dernoncourt
fonte
1
ah, legal faz sentido! Sei que essa não era minha pergunta original, mas qual é essa propriedade importante no contexto de BC e CNNs?
Charlie Parker
Para as RNAs, evite ter uma unidade com uma saída grande que afeta muito a camada de saída da RNA.
Franck Dernoncourt 28/09/2015
Qual a diferença entre bronzeado e sigmóide? ambos esmagam os números em um intervalo fechado! Eu não entendo, você pode elaborar mais esse detalhe? Eu sou meio ruim em matemática. (pela maneira que eu estou vindo de uma perspectiva CNN)
Rika
@FranckDernoncourt Você quis dizer saturar para a função de ativação do tanh? Eu acho que há um erro de digitação? :)
CoderSpinoza
1
@tenCupMaximum: saturar significa preencher até um ponto em que não é possível adicionar mais. No contexto de uma função de saturação, isso significa que após um certo ponto, qualquer aumento adicional na entrada da função não causará mais um aumento (significativo) em sua saída, que (quase) atingiu seu valor máximo. A função nesse ponto é "toda preenchida", por assim dizer (ou saturada ).
Ruben van Bergen
0

As funções de ativação mais comuns são LOG e TanH. Essas funções têm uma faixa compacta, o que significa que elas comprimem a resposta neural em um subconjunto limitado dos números reais. O LOG comprime entradas para saídas entre 0 e 1, o TAN H entre -1 e 1. Essas funções exibem comportamento limitador nos limites.

Na borda, o gradiente da saída em relação à entrada ∂yj / ∂xj é muito pequeno. Portanto, o Gradient é pequeno, portanto, pequenos passos para convergência, portanto, mais tempo para convergir.

Pradi KL
fonte