Notas básicas de estudo de rede neural (duas) rede neural

índice

Três, rede neural

3.1 Do perceptron à rede neural

3.1.1 Exemplos de redes neurais:

3.1.2 Conversão de função:

3.2 Função de ativação

3.2.1 Tipo de função de ativação:

3.2.3 Gráfico da função de classe

3.2.2 Comparação da função degrau e função sigmóide:

3.2.3 Função ReLU:

3.3 Operação de matriz multidimensional:

3.3.1 O produto interno da rede neural:

3.4. Implementação de uma rede neural de três camadas

3.5.1 Três tipos de funções de saída

3.5.2 O problema de estouro da função softmax

3.5.3 Características da função Softmax:

3.5.4 O número de neurônios na camada de saída

3.6 Reconhecimento de dígitos manuscritos

Processamento único e processamento em lote

resumo:


Três, rede neural

Resolva o problema: O capítulo anterior pode usar AND ou não para resolver vários problemas de função, mas os pesos são definidos manualmente.Este capítulo começa com a realização de redes neurais e usa dados existentes para aprender os pesos apropriados como parâmetros para resolver os problemas acima.

3.1 Do perceptron à rede neural

3.1.1 Exemplos de redes neurais:

 

A rede neural é na verdade igual ao perceptron

3.1.2 Conversão de função:

Referência: Diagrama de fórmula compilado pelo colega Fang

Fonte da imagem: https://me.csdn.net/qq_37431224

 

De acordo com a conversão da função na figura acima, podemos converter para h (x), que é a função de ativação

A função de ativação é a ponte entre o perceptron e a rede neural

3.2 Função de ativação

3.2.1 Tipo de função de ativação:

Função de ativação para um valor limite como um limite, uma vez que a entrada excede o limite , a saída muda. Essa função é chamada de "função de etapa" .

A função de ativação é dividida em uma função degrau e uma função sigmóide.A função degrau é para mudar a saída quando o valor de entrada excede um certo limite.

Onde exp (−x)e ^ {- x} significa, h (x) é também a função de perda da classificação de termos comuns

Código:

3.2.3 Gráfico da função de classe

Função de etapa e realização de imagem :

Fonte da imagem: https://me.csdn.net/qq_37431224

 

imagem da função sigmóide:

3.2.2 Comparação da função degrau e função sigmóide:

 

Comparação de funções
Função de etapa função sigmóide
Não suave Suave
Apenas 2 valores (valor binário) Valores reais ilimitados

As semelhanças entre os dois é que estão no intervalo entre 0-1

A função de ativação da rede neural deve usar uma função não linear .

Além disso, sigmóide é uma curva não linear , ao contrário da função linear (linha reta) h (x) = cx (c é uma constante), porque a função linear não possui camada oculta no perceptron multicamadas, como

 

O mesmo é y = ax, que não pode tirar proveito de várias camadas.

3.2.3 Função ReLU:

Saída x diretamente quando maior que 0, saída 0 quando menor ou igual a 0

Implementação da função: onde maxinum retorna o valor máximo

O efeito é mostrado na figura:

3.3 Operação de matriz multidimensional:

np.ndim (A) Saída A dimensão da matriz

A forma de saída de np.shape possui vários componentes. O resultado é uma tupla.

3.3.1 O produto interno da rede neural:

Use np.dot (produto escalar de matrizes multidimensionais), apenas operações de matriz

3.4. Implementação de uma rede neural de três camadas

Significado do símbolo:

Análise de princípio:

1) Realize o 0º à primeira camada: 

 

 

nós sabemos

Portanto, há o primeiro nível de ponderação :

 

Código:

2) Realize a transformação (função sigmóide) da função de ativação h () de a1 para z1 na figura abaixo :

Código:

3) Da mesma forma que a primeira para a segunda camadas, repita as etapas acima diretamente:

Código:

4) A segunda à terceira camadas (camada de saída) são basicamente as mesmas que as etapas acima, mas a função de ativação é diferente :

 

Fonte da imagem: Fang

5) Implementação geral do código:

Nota: Geralmente, a função de identidade pode ser usada para problemas de regressão , a função sigmóide pode ser usada para problemas de classificação binária e a função softmax pode ser usada para problemas de classificação multivariada . 3.5 Design da camada de saída:

3.5.1 Três tipos de funções de saída

1) Função de identidade : é produzida diretamente como está, usada em problemas de regressão

2) função sigmóide :, usado em problemas de classificação binários.

3) A função Softmax :, utilizado em vários problemas de classificação.

Dentre elas, a função softmax significa que o sinal de entrada é afetado entre cada saída , conforme mostrado na figura:

Código:

3.5.2 O problema de estouro da função softmax

Todos nós sabemos que e ^ x explodirá quando x for grande , o que causará estouro , então precisamos melhorar

 3.5.3 Características da função Softmax:

Podemos ver que a saída y está entre 0-1, e sua soma é 1, então podemos transformá-lo em um problema de probabilidade , ou seja, quanto maior a saída, maior sua probabilidade. Da figura acima, Pode-se ver que y [2] é o maior, então a resposta é a segunda categoria; além disso, e ^ x é uma função monotonicamente crescente, portanto, no exemplo acima, a relação entre o tamanho de um elemento e o tamanho de y permanece inalterada e y [2] é o maior. Então, na verdade, não precisamos da função softmax de forma alguma, e podemos saber qual probabilidade é a maior observando o elemento a (como softmax requer operação exponencial, a quantidade de cálculo é muito grande).

3.5.4 O número de neurônios na camada de saída

Como pode ser visto na figura acima, o número de neurônios de saída é determinado pelo número de categorias. Se o resultado de saída for 10 categorias de 0-9, então a saída dos neurônios é 10. 

3.6 Reconhecimento de dígitos manuscritos

A seguir, usaremos nosso algoritmo em aplicações práticas, o exemplo clássico de reconhecimento de dígitos manuscritos

Os comentários do código são os seguintes, então não vou descrevê-los todos.

A função load_mnist retorna os dados MNIST lidos na forma de "(imagem de treinamento, rótulo de treinamento), (imagem de teste, rótulo de teste)".

Número de exibição

Saída de rede neural

Processamento único e processamento em lote

Com base no exemplo acima, sabemos que a camada de entrada tem 784 neurônios (28 * 28) e a camada de saída tem 10 neurônios. Supondo que haja 50 e 100 neurônios nas camadas 1-2 da camada oculta, temos o seguinte processamento de código :

1) Processamento único:

Usando o conhecimento da função acima, podemos agora julgar formalmente a precisão entre a imagem e o rótulo após o treinamento:

2) Processamento em lote:

A partir do exemplo acima (acima), sabemos a forma da matriz após 1 entrada de imagem (1 * 28 * 28 ) e saída (probabilidade de 10 categorias)

Abaixo, vamos empacotar o exemplo acima em 100 imagens de uma vez para cálculo

 

Os benefícios do processamento em lote: cada vez que calculamos uma imagem, io tira apenas 1 foto por vez . Agora, pegamos 100 io por vez para calcular , porque a velocidade de cálculo é mais rápida que a velocidade de io, o processamento em lote mudará no cálculo geral Mais rápido

Código:

resumo:

Como no capítulo anterior, não consideramos como encontrar os pesos específicos e a saída por meio das funções de cada camada, formando assim uma rede neural simples.

Os parâmetros acima serão explicados mais tarde 

Acho que você gosta

Origin blog.csdn.net/qq_37457202/article/details/107477089
Recomendado
Clasificación