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

Processamento de sinal usando redes neurais:validação no projeto de rede neural

Este artigo explica por que a validação é particularmente importante quando estamos processando dados usando uma rede neural.


A série da AAC sobre o desenvolvimento de redes neurais continua aqui com uma análise da validação em redes neurais e como os NNs funcionam no processamento de sinais.
  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

A natureza do processamento de sinais de rede neural


Uma rede neural é fundamentalmente diferente de outros sistemas de processamento de sinais. A maneira “normal” de atingir algum tipo de objetivo de processamento de sinal é aplicar um algoritmo.

Nesse modelo, um pesquisador cria um método matemático para analisar ou modificar um sinal de alguma forma. Existem métodos para remover ruído de áudio, encontrar bordas em imagens, calcular a temperatura da resistência de um termistor, determinar o conteúdo de frequência de uma forma de onda de RF e assim por diante. O designer então desenvolve o trabalho do pesquisador, convertendo esse método em um algoritmo que pode ser executado por um processador e adaptado às necessidades de um determinado aplicativo.



Um filtro FIR é um exemplo de sistema de processamento de sinais que podemos avaliar e entender de maneira matemática precisa.

Uma rede neural treinada, por outro lado, é uma rede empírica sistema.

Os processos matemáticos que ocorrem na rede não constituem um algoritmo específico que se destina a classificar caracteres manuscritos, ou prever a formação de tornados, ou desenvolver procedimentos de controle para manobras aeronáuticas extremas. Em vez disso, a matemática na rede neural é uma estrutura que permite à rede criar um modelo computacional personalizado com base em dados de treinamento.

Compreendemos a estrutura matemática que permite que uma rede neural aprenda e atinja sua funcionalidade necessária, mas o algoritmo de processamento de sinal real é específico para os dados de treinamento, a taxa de aprendizado, os valores de peso iniciais e outros fatores.






Uma rede neural, ao contrário de um filtro FIR, depende de muitos fatores diferentes.



É como a diferença entre aprender um idioma quando criança e estudar um idioma quando adulto.

Uma criança que nunca ouviu a palavra “gramática” pode produzir repetidamente a forma correta do verbo porque seu cérebro reconheceu e reteve naturalmente os padrões contidos na enorme quantidade de dados linguísticos que as crianças recebem das pessoas mais velhas com quem interagem.

Adultos, no entanto, geralmente não têm acesso a todas essas entradas e podem não assimilar padrões da mesma forma, e consequentemente memorizamos e implementamos os “algoritmos” linguísticos que nos permitem conjugar verbos corretamente e escolher tempos.


A importância da validação


As redes neurais podem resolver problemas extremamente complexos porque, quando recebem informações abundantes, elas “naturalmente” encontram padrões matemáticos semelhantes a como as crianças encontram padrões linguísticos. Mas essa abordagem ao processamento de sinais não é infalível.

Considere crianças que falam inglês e dizem “goed” em vez de “went” ou “holded” em vez de “hold”. Esses são chamados de erros de superregularização. Eles pegaram o padrão -ed para o pretérito, mas por algum motivo - talvez dados insuficientes ou idiossincrasias cognitivas - eles ainda não refinaram seu modelo linguístico para explicar os verbos que são irregulares no pretérito.

É claro que ninguém vai castigar uma criança de quatro anos por dizer “Fui ao parque”. Mas se um político proeminente estivesse fazendo um discurso importante e dissesse repetidamente "foi", "retido", "encontrado", "conhecido" e assim por diante, o público ficaria seriamente descontente (ou totalmente perplexo) e a carreira política do palestrante poderia chegou a um fim abrupto.

Esses erros de superregularização são um bom exemplo de como uma rede neural treinada pode ter lacunas inesperadas em sua capacidade de atingir a funcionalidade de processamento de sinal desejada. E embora pequenas lacunas possam parecer sem importância, ou mesmo interessantes, quando estamos apenas realizando experimentos, o exemplo do político nos lembra que elas podem ser catastróficas em uma aplicação real.



Tanto o subtreinamento quanto o overtraining podem resultar em comportamento inesperado e problemático quando a rede confronta dados reais do aplicativo. Consulte a Parte 4 para obter mais informações.

E agora vemos por que a validação é um aspecto crucial do desenvolvimento de redes neurais. O treinamento não é suficiente, porque um conjunto de dados de treinamento é inerentemente limitado e, portanto, a resposta da rede a esse conjunto de dados também é limitada.

Além disso, o treinamento resulta em um sistema computacional de “caixa preta” que não podemos analisar e avaliar como se fosse uma fórmula ou algoritmo típico. Assim, precisamos validar , que eu definiria como fazer tudo o que pudermos razoavelmente para garantir que a rede processará com êxito os dados de entrada típicos da vida real e não produzirá falhas espetaculares quando apresentados com dados atípicos.


Classificação pela terminologia


O procedimento que identifico como "validação" também pode ser chamado de "verificação" ou simplesmente "teste".

No contexto do desenvolvimento de software, os primeiros dois termos têm significados distintos. A Wikipedia, citando Barry Boehm, diz que a verificação visa determinar se o produto está sendo construído corretamente, e a validação visa determinar se o produto correto está sendo construído. Uma vez que esses dois problemas são essenciais, você verá a abreviatura “V&V” para “verificação e validação”.

Não sou engenheiro de software, então espero que isso signifique que não sou obrigado a adotar esse paradigma. Estou simplesmente usando o termo “validação” para me referir aos testes, análises e observações que realizamos na tentativa de garantir que a rede neural treinada atenda aos requisitos do sistema.


Reflexões finais:o que exatamente é validação?


Bem, isso depende.

A NASA, por exemplo, publicou um documento bastante longo intitulado “Verificação e Validação de Redes Neurais para Sistemas Aeroespaciais”. Se você está mais interessado do que eu em V&V de redes neurais, pode começar com este documento. Se você é um verdadeiro fanático por V&V, deve considerar o livro Métodos e procedimentos para a verificação e validação de redes neurais artificiais ; tem 293 páginas e certamente excede meu conhecimento deste tópico em pelo menos três ordens de magnitude.

No meu mundo de redes neurais simples desenvolvidas para fins experimentais ou instrucionais, a validação significa principalmente executar a rede treinada em novos dados e avaliar a precisão da classificação, e também podemos incluir um ajuste fino que nos ajuda a determinar se e como o desempenho geral pode ser melhorado.

Veremos técnicas de validação específicas em artigos futuros.

Robô industrial

  1. Tipos de sinais elétricos
  2. O que é uma rede em sistemas incorporados? - Diferentes tipos de redes
  3. Um curso intensivo de provisionamento de redes sem fio
  4. Processador multicore integra unidade de processamento neural
  5. Chip de radar de baixa potência usa redes neurais com pico
  6. Compreendendo os mínimos locais no treinamento de rede neural
  7. Incorporação de nós de polarização em sua rede neural
  8. Uso de redes neurais para imagens de raios-X mais rápidas
  9. 3 técnicas de roteamento no projeto de circuito de sinal de alta velocidade PCB
  10. Processamento isométrico diferencial e verificação de simulação de projeto de PCB de alta velocidade