Função de Relu Activation

A função de activação é um elemento essencial para a concepção de uma rede neural. A escolha da função de activação dar-lhe-á o controlo completo sobre o processo de formação do modelo de rede. Depois de adicionar estas funções nas camadas ocultas, o modelo aprenderá eficientemente. O tipo de previsões depende da escolha da função de activação. Portanto, deverá escolher cuidadosamente a função de activação para cada rede de aprendizagem profunda.
Uma função de activação significa a transformação da entrada com a ajuda de uma soma ponderada para a saída. Utiliza um único nó ou mais para que a rede gere a previsão. Também se pode referir à função de activação como uma função de transferência. Ou, pode chamar a isto uma função de esmagamento quando o intervalo de saída tem limitações. As funções de activação também podem ser não-lineares e referidas como não-linearidade da concepção da rede. Independentemente da função de activação que escolher, esta terá um impacto significativo no desempenho e capacidade das diferentes partes no modelo de aprendizagem da máquina.
É melhor utilizar a função de activação dentro e depois de utilizar o processamento interno para cada nó da rede. Contudo, a concepção do modelo encoraja a utilização de funções de activação idênticas numa camada. Aqui estão as três camadas que uma rede inclui:
As camadas de entrada recolhem a entrada em bruto e utilizam-na no processo informático.
As camadas ocultas recolhem a entrada da outra camada e geram saída para a outra camada.
As camadas de saída irão prever o resultado.
Todas as camadas ocultas dependem da mesma função de activação. A camada de saída inclui várias funções de activação. Recolhe informação a partir de camadas ocultas. Esta camada está dependente da geração de diferentes tipos de previsões que o modelo requer.
As redes neurais aprendem com a retropropagação do algoritmo de erro. Para actualizar os pesos da camada oculta, o modelo requer derivados do erro de previsão. Pode-se facilmente diferenciar entre funções de activação para calcular a derivada de primeira ordem para um determinado valor de entrada. As redes neurais incluem numerosos tipos de funções de activação. Mas para melhorar o desempenho das camadas ocultas e de saída, só se deve utilizar algumas funções.
Enquanto desenvolve diferentes tipos de redes neurais, a função de activação linear rectificada está a tornar-se uma escolha padrão dos cientistas de dados. Os principais benefícios da função de activação Relu são:
Não é importante implementar a função rectificadora quando se requer uma função max(). Isto é diferente da função de activação sigmóide e tanh, para a qual se requer o cálculo exponencial.
Outro benefício da função rectificadora é a capacidade de gerar saída com um verdadeiro valor zero. Indica que as entradas negativas produzirão uma verdadeira saída zero. Desta forma, as redes neurais podem permitir camadas ocultas e incluir um ou mais valores zero verdadeiro. Pode referir-se a isto como representação esparsa, uma vez que simplifica o modelo e acelera o processo de aprendizagem. Isto torna a função desejável para a aprendizagem representativa.
A função rectificadora é semelhante à função de activação linear. Tem o mesmo desempenho e as mesmas acções. Geralmente, é possível optimizar facilmente o comportamento das redes neurais quando o comportamento é próximo do linear.
Utilizaremos o Python para a implementação do linear rectificado com o método fácil e directo. A aplicação mais simples da utilização desta função seria a função max(). Aqui está o exemplo para a utilização correcta da função:
# função linear rectificada
rectificada(x):
retorno máximo(0,0,x)
De acordo com a expectativa, o valor positivo regressará inalterado. No entanto, o valor negativo ou o valor de entrada de 0,0 regressará a 0,0. Aqui pode encontrar alguns exemplos de entradas e saídas da função de activação Relu:
# demonstram a função linear rectificada
# função linear rectificada
rectificada(x):
returnmax(0.0,x)
# demonstrar com um input positivo
x=1.0
impresso(‘rectificado(%.1f) é %.1f’%(x,rectificado(x)))
x=1000.0
impresso(‘rectificado(%.1f) é %.1f’%(x,rectificado(x)))
# demonstrar com uma entrada zero
x=0.0
impresso(‘rectificado(%.1f) é %.1f’%(x,rectificado(x)))
# demonstrar com um input negativo
x=-1.0
impresso(‘rectificado(%.1f) é %.1f’%(x,rectificado(x)))
x=-1000.0
impresso(‘rectificado(%.1f) é %.1f’%(x,rectificado(x)))
Ao executarmos os exemplos acima, podemos identificar o retorno de valores positivos independentemente da sua dimensão. No entanto, os valores negativos irão passar para o valor 0,0.
1 rectificado(1,0) é 1,0
2 rectificados(1000.0) é 1000.0
3 rectificado(0,0) é 0,0
4 rectificado(-1,0) é 0,0
5 rectificado(-1000.0) é 0.0
Depois de traçarmos as séries de entradas e as saídas calculadas, compreenderemos a relação entre as entradas e as saídas. Aqui estão alguns exemplos de geração de uma série de inteiros a partir de -10 a 10. Ajuda com o cálculo da Reluactivação para entrada individual. A seguir, o modelo irá traçar os resultados.
# traçar entradas e saídas
de pyplotlib de importação matplotlib
# função linear rectificada
rectificada(x):
returnmax(0.0,x)
# definir uma série de entradas
series_in=[xforxinrange(-10,11)]
# calcular saídas para as nossas entradas
series_out=[rectificado(x)forxinseries_in]
# gráfico de linhas de entradas em bruto para saídas rectificadas
pyplot.plot(series_in,series_out)
pyplot.show()
A função Reluactivation ajuda as redes neurais a formar modelos de aprendizagem profunda. Devido aos problemas de gradiente em diferentes camadas, não se pode utilizar a activação tangente hiperbólica e sigmóide. É possível ultrapassar os problemas de gradiente através da função de activação Relu. Isto permite que o modelo tenha um melhor desempenho e aprenda mais rapidamente. Quando se desenvolve o Perceptron convolutivo e Multilayer, a função de activação linear rectificada das redes neurais será a opção por defeito.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.