Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Equipment >> Robô industrial

Arquitetura de rede neural para uma implementação Python

Este artigo discute a configuração do Perceptron que usaremos em nossos experimentos com treinamento e classificação de redes neurais, e também examinaremos o tópico relacionado de nós de polarização.


Bem-vindo à série de artigos técnicos de rede neural All About Circuits. Na série até agora - com link abaixo - cobrimos um pouco da teoria em torno das redes neurais.
  1. Como realizar a classificação usando uma rede neural:o que é o Perceptron?
  2. Como usar um exemplo de rede neural simples Perceptron para classificar dados
  3. Como treinar uma rede neural Perceptron básica
  4. Compreendendo o treinamento de rede neural simples
  5. Uma introdução à teoria de treinamento para redes neurais
  6. Compreendendo a taxa de aprendizagem em redes neurais
  7. Aprendizado de máquina avançado com o Multilayer Perceptron
  8. A função de ativação sigmóide:ativação em redes neurais multicamadas Perceptron
  9. Como treinar uma rede neural multicamadas Perceptron
  10. Noções básicas sobre fórmulas de treinamento e retropropagação para percepções multicamadas
  11. Arquitetura de rede neural para uma implementação Python
  12. Como criar uma rede neural multicamadas Perceptron em Python
  13. Processamento de sinais usando redes neurais:validação no projeto de redes neurais
  14. Conjuntos de dados de treinamento para redes neurais:como treinar e validar uma rede neural Python

Agora estamos prontos para começar a converter este conhecimento teórico em um sistema de classificação Perceptron funcional.

Primeiro, quero apresentar as características gerais da rede que implementaremos em uma linguagem de programação de alto nível; Estou usando Python, mas o código será escrito de uma forma que facilite a tradução para outras linguagens como C. O próximo artigo fornece uma explicação detalhada do código Python e, depois disso, exploraremos diferentes maneiras de treinamento , usando e avaliando esta rede.


A arquitetura de rede neural Python


O software corresponde ao Perceptron representado no diagrama a seguir.





Aqui estão as características básicas da rede:



\ [f (x) =\ frac {1} {1 + e ^ {- x}} \]


O que é um nó de polarização? (Também conhecido como preconceito é bom se você for um perceptor)


Enquanto estamos discutindo a arquitetura de rede, devo salientar que as redes neurais geralmente incorporam algo chamado de nó de polarização (ou você pode chamá-lo apenas de "polarização", sem "nó"). O valor numérico associado a um nó de polarização é uma constante escolhida pelo designer. Por exemplo:





Nós de polarização podem ser incorporados à camada de entrada ou à camada oculta, ou ambas. Seus pesos são como quaisquer outros pesos e são atualizados usando o mesmo procedimento de retropropagação.

O uso de nós de polarização é uma razão importante para escrever código de rede neural que permite alterar facilmente o número de nós de entrada ou nós ocultos - mesmo se você estiver interessado apenas em uma tarefa de classificação específica, dimensão variável de entrada e camada oculta garante que você possa experimentar convenientemente o uso de nós de polarização.

Na Parte 10, eu indiquei que o sinal de pré-ativação de um nó é calculado realizando um produto escalar - ou seja, você multiplica os elementos correspondentes de duas matrizes (ou vetores, se preferir) e, em seguida, soma todos os produtos individuais. O primeiro array contém os valores de pós-ativação da camada anterior e o segundo array contém os pesos que conectam a camada anterior à camada atual. Assim, se a matriz de pós-ativação da camada anterior for denotada por xe o vetor de peso for denotado por w, um valor de pré-ativação é calculado da seguinte forma:


\ [S_ {preA} =w \ cdot x =sum (w_1x_1 + w_2x_2 + \ cdots + w_nx_n) \]



Você deve estar se perguntando o que diabos isso tem a ver com nós de polarização. Bem, o viés (denotado por b) modifica este procedimento da seguinte forma:


\ [S_ {preA} =(w \ cdot x) + b =sum (w_1x_1 + w_2x_2 + \ cdots + w_nx_n) + b \]



Uma polarização desloca o sinal que é processado pela função de ativação e pode, assim, tornar a rede mais flexível e robusta. O uso da letra b para denotar o valor de polarização é uma reminiscência do "intercepto y" na equação padrão para uma linha reta:y =mx + b . E isso não é uma coincidência inútil. A polarização é de fato como uma interceptação y, e você também deve ter notado que a matriz de pesos é equivalente a uma inclinação:


\ [S_ {preA} =(w \ cdot x) + b \]

\ [y =mx + b \]


Pesos, polarização e ativação


Se pensarmos sobre os valores numéricos entregues à função de ativação de um nó durante o treinamento, os pesos aumentam ou diminuem a inclinação dos dados de entrada e a tendência muda os dados de entrada verticalmente. Mas como isso afeta a saída do nó? Bem, vamos supor que estejamos usando a função logística padrão para ativação:






A transição de f A (x) =0 a f A (x) =1 é centrado em um valor de entrada de x =0. Assim, ao usar um viés para aumentar ou diminuir o sinal de pré-ativação, podemos influenciar a ocorrência da transição e, assim, deslocar a função de ativação para a esquerda ou direita . Os pesos, por outro lado, determinam a “rapidez” com que o valor de entrada passa por x =0, e isso influencia a inclinação da transição na função de ativação.


Conclusão


Discutimos os nós de polarização e as características salientes da primeira rede neural que implementaremos no software. Agora estamos prontos para ver o código real e é exatamente o que faremos no próximo artigo.

Robô industrial

  1. 5 métricas de rede para um mundo em nuvem
  2. Introdução à arquitetura de rede na nuvem AWS
  3. Python para loop
  4. Uma análise da arquitetura NB-IoT para arquitetos de IoT
  5. Procurando por uma alternativa Z-Wave?
  6. CEVA:processador AI de segunda geração para cargas de trabalho de rede neural profunda
  7. A infraestrutura de rede é fundamental para carros sem motorista
  8. Python - Programação de Rede
  9. 5 dicas básicas de segurança de rede para pequenas empresas
  10. Explicador:Por que o 5G é altamente importante para a IoT?