BR102019001258A2 - método, aparelho e programa de computador para geração de sistemas de aprendizado automatizados robustos e teste de sistemas de aprendizado automatizados treinados - Google Patents

método, aparelho e programa de computador para geração de sistemas de aprendizado automatizados robustos e teste de sistemas de aprendizado automatizados treinados Download PDF

Info

Publication number
BR102019001258A2
BR102019001258A2 BR102019001258A BR102019001258A BR102019001258A2 BR 102019001258 A2 BR102019001258 A2 BR 102019001258A2 BR 102019001258 A BR102019001258 A BR 102019001258A BR 102019001258 A BR102019001258 A BR 102019001258A BR 102019001258 A2 BR102019001258 A2 BR 102019001258A2
Authority
BR
Brazil
Prior art keywords
learning system
automated learning
value
input
layer
Prior art date
Application number
BR102019001258A
Other languages
English (en)
Inventor
Wong Eric
Schmidt Frank
Hendrik Metzen Jan
Zico Kolter Jeremy
Original Assignee
Univ Carnegie Mellon
Bosch Gmbh Robert
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Univ Carnegie Mellon, Bosch Gmbh Robert filed Critical Univ Carnegie Mellon
Publication of BR102019001258A2 publication Critical patent/BR102019001258A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Feedback Control In General (AREA)

Abstract

método, aparelho e programa de computador para geração de sistemas de aprendizado automatizados robustos e teste de sistemas de aprendizado automatizados treinados. a presente invenção refere-se a um método para treinar a rede neural (100), um método para testar a rede neural 100, bem como um método para detectar exemplos adversários, que podem fraudar a rede neural (100). uma classificação sobreposta é propagada de volta através da segunda rede neural (500), o valor de saída da segunda rede neural (500) é utilizado para determinar se a entrada da rede neural (100) é o exemplo adversário. métodos de configuração da presente invenção são baseados nessa utilização da segunda rede neural 500. a presente invenção ainda refere-se a um programa de computador e a um aparelho que são configurados para executar os ditos métodos.

Description

Relatório Descritivo da Patente de Invenção para "MÉTODO, APARELHO E PROGRAMA DE COMPUTADOR PARA GERAÇÃO DE SISTEMAS DE APRENDIZADO AUTOMATIZADOS ROBUSTOS E TESTE DE SISTEMAS DE APRENDIZADO AUTOMATIZADOS TREINADOS".
CAMPO DA TÉCNICA
[0001] A presente invenção refere-se, entre outras coisas, a um método para gerar sistemas de aprendizado automatizados com robustez garantida contra modificações adversárias da entrada. A presente invenção ainda diz respeito a um aparelho, bem como a um programa de computador, que são configurados para executar o método.
TÉCNICA PRECEDENTE
[0002] O pedido de patente alemão não pré-publicado DE 10 2018 200 724 revela um método para determinar perturbações adversárias universais para sistemas de aprendizado automatizados. A perturbação adversária universal é determinada dependendo de várias imagens de treinamento e segmentações semânticas alvo correspondentes. A perturbação adversária universal é configurada para fraudar uma rede neural quando ela é sobreposta em imagens de entrada arbitrárias da rede neural.
[0003] O pedido de patente alemão não pré-publicado DE 10 2018 208 763 revela um método para treinar uma rede neural de modo a obter uma robustez da rede neural treinada contra perturbações adversárias. O método compreende as etapas de treinar a rede neural, determinar a perturbação adversária universal e treinar novamente a rede neural dependendo da perturbação adversária universal.
[0004] É possível deixar uma pessoa desaparecer em uma imagem devido a uma modificação adversária da imagem que não é visível para o olho humano, como mostrado por Metzen e outros “Universal adversarial perturbations against semantic image segmentation” em: The IEEE International Conference on Computer Vision (ICCV) 2017. Vantagens da Presente Invenção [0005] Atualmente, a direção autônoma pode ser baseada em câmeras, que sentem o ambiente de um carro autônomo. O processamento da imagem inteligente compreendendo redes neurais processa imagens de tal câmera, de modo a controlar o carro autônomo dependendo das imagens sentidas. Entretanto, é possível que o processamento da imagem inteligente, em particular as redes neurais, seja fraudado por uma imagem perturbada. A perturbação pode ser uma modificação adversária da imagem, tal como descrito acima na seção da técnica anterior. A imagem da perturbação pode fraudar a rede neural, embora a imagem modificada não difira da cena originalmente apresentada para o olho humano. Portanto, redes neurais são altamente vulneráveis a ataques adversários. Uma defesa possível é treinar novamente a rede neural com modificações adversárias adicionalmente geradas das imagens de treinamento respectivas. Isso é desvantajoso já que é demorado e oneroso gerar modificações da imagem que poderíam fraudar a rede neural e existe uma alta probabilidade que as modificações permaneçam que não são cobertas pelos exemplos adversários astutos, mas que ainda podem fraudar a rede neural. Em particular, com essa abordagem, não é possível proporcionar uma robustez da rede neural contra todas as perturbações adversárias possíveis das imagens de entrada.
[0006] A presente invenção propõe um método para determinar se uma rede neural é provavelmente robusta contra perturbações, tal como perturbações adversárias. Consequentemente, a presente invenção permite projetar classificadores que são comprovadamente robustos às perturbações adversárias, mesmo se é dado pleno conhecimento do classificador ao atacante. Essa garantia conserva todo o espaço de exemplos adversos possíveis de uma entrada.
Descrição da Presente Invenção [0007] De acordo com um primeiro aspecto da invenção, um método para testar um sistema de aprendizado automatizado é revelado. É testado se o sistema de aprendizado automatizado é robusto contra modificação menor do que ou igual a uma dada magnitude. Isso implica que todas as modificações arbitrárias e/ou possíveis considerando a restrição da magnitude não mudam o valor de saída do sistema de aprendizado automatizado para um dado valor de saída alvo. Além disso, pode ser testado se pelo menos uma modificação de um valor de entrada de teste do sistema de aprendizado automatizado muda o valor de saída do sistema de aprendizado automatizado correspondendo com, de preferência igual a, um dado valor de saída alvo.
[0008] O valor de saída do sistema de aprendizado automatizado correspondendo com o valor de saída alvo uma pessoa pode entender que o valor de saída é igual ao valor de saída alvo ou o valor de saída tem o seu máximo na mesma faixa ou posição que o valor de saída alvo. [0009] O valor de entrada do teste que é submetido à pequena modificação faz com que o sistema de aprendizado automatizado libere o valor de saída alvo quando ele é alimentado no sistema de aprendizado automatizado e propagado através do sistema de aprendizado automatizado. A modificação do valor de entrada do teste é menor do que ou igual a uma dada magnitude de modificação. Em particular, a modificação é uma pequena modificação se, e somente se, o tamanho da modificação é menor do que ou igual a uma magnitude de modificação predeterminada. O sistema de aprendizado automatizado compreende pelo menos uma camada de entrada que recebe o valor de entrada do teste e uma camada de saída que libera o valor de saída do sistema de aprendizado automatizado. O valor de saída do sistema de aprendizado automatizado pode caracterizar uma classificação do valor de entrada do teste em pelo menos uma de várias classes.
[0010] O método para testar um sistema de aprendizado automatizado compreende as etapas seguintes: [0011] - determinar um segundo valor de saída, de preferência sobreposto, dependente do valor de saída alvo e dependente do valor de saída que é atribuído para o valor de entrada do teste e que pode caracterizar uma classificação verdadeira do valor de entrada do teste, em particular um rótulo, que é atribuído para o valor de entrada do teste. O valor de saída sobreposto pode caracterizar uma classificação sobreposta e pode caracterizar uma segunda classificação.
[0012] É proposto que o segundo valor de saída seja um valor de saída sobreposto e em que ele seja determinado dependendo de qualquer uma entre uma diferença entre o valor de saída e o valor de saída alvo ou uma diferença entre o valor de saída determinado do sistema de aprendizado automatizado e o valor de saída alvo.
[0013] - Prover um segundo sistema de aprendizado automatizado com base no sistema de aprendizado automatizado. O segundo sistema de aprendizado automatizado tem as mesmas camadas, em particular a mesma arquitetura, em particular as mesmas camadas conectadas em uma ordem inversa, como o sistema de aprendizado automatizado. Cada camada do segundo sistema de aprendizado automatizado corresponde com, de preferência exatamente, uma camada correspondente do sistema de aprendizado automatizado.
[0014] A camada de saída do segundo sistema de aprendizado automatizado corresponde com a camada de entrada do sistema de aprendizado automatizado, isto é, uma saída para o segundo sistema de aprendizado automatizado é liberada pela camada de saída do dito segundo sistema de aprendizado automatizado e a dita camada de saída corresponde com a camada de entrada do sistema de aprendizado automatizado. A camada de entrada do segundo sistema de aprendizado automatizado corresponde com a camada de saída do sistema de aprendizado automatizado, isto é, uma entrada para o segundo sistema de aprendizado automatizado é alimentada na camada de entrada do dito segundo sistema de aprendizado automatizado e a dita camada de entrada corresponde com a camada de saída do sistema de aprendizado automatizado.
[0015] - Propagar o segundo valor de saída através do segundo sistema de aprendizado automatizado.
[0016] - Determinar dependente do valor de saída que resulta da propagação do segundo valor de saída através do segundo sistema de aprendizado automatizado, dependente da magnitude de modificação e dependente do valor de entrada do teste se a modificação resulta no valor de saída do sistema de aprendizado automatizado correspondendo com o valor de saída alvo.
[0017] A vantagem desse aspecto é que uma robustez do sistema de aprendizado automatizado pode ser eficientemente determinada devido ao reuso do sistema de aprendizado automatizado como um segundo sistema de aprendizado automatizado.
[0018] Se o sistema de aprendizado automatizado não determina o valor de saída alvo e determina o valor de saída correto, o sistema de aprendizado automatizado é robusto contra cada modificação possível com relação à limitação que as ditas modificações são menores do que ou iguais à dada magnitude. Os valores de saída alvo podem ser escolhidos dependentes dos diferentes aspectos da presente invenção. No primeiro aspecto, o dado valor de saída alvo é diferente do valor de saída rotulado correspondendo com o valor de entrada do teste. No segundo aspecto, o valor de saída é diferente do valor de saída determinado pelo sistema de aprendizado automatizado dependendo do valor de entrada do teste.
[0019] De preferência, o sistema de aprendizado automatizado compreende camadas ocultas, que são conectadas entre si provendo um valor de saída como um valor de entrada para pelo menos uma das camadas ocultas. A camada de entrada pode ser conectada com pelo menos uma das camadas ocultas. A camada de saída recebe pelo menos um valor de saída das camadas ocultas e/ou a saída da camada de entrada como entrada.
[0020] Em que as camadas ocultas do segundo sistema de aprendizado automatizado são ordenadas em ordem inversa às camadas ocultas do sistema de aprendizado automatizado; isto é, cada camada oculta do sistema de aprendizado automatizado provê, na sua saída, um valor intermediário que é passado adiante para uma entrada de uma camada oculta subsequente, e a camada do segundo sistema de aprendizado automatizado que corresponde com a camada oculta subsequente provê, na sua saída, um valor intermediário que é passado adiante para uma camada do segundo sistema de aprendizado automatizado que corresponde com a dita camada oculta. Em outras palavras, um sinal que é alimentado na camada de entrada do segundo sistema de aprendizado automatizado é propagado através de uma série de camadas correspondentes em ordem inversa às camadas do sistema de aprendizado automatizado.
[0021] A magnitude caracteriza uma intensidade ou resistência da modificação do valor de entrada. A magnitude pode ser um valor caracterizando a modificação. Um exemplo da modificação pode ser uma perturbação adversária. A modificação pode ser medida determinando um valor de norma da modificação. De preferência, a modificação é medida em relação ao valor de entrada original sem uma modificação.
[0022] A arquitetura do sistema de aprendizado automatizado pode ser descrita pelas camadas e de preferência, pela maneira que as camadas são dispostas e conectadas entre si. A mesma arquitetura, portanto, significa que o segundo sistema de aprendizado automatizado compreende a mesma disposição das camadas similares ao sistema de aprendizado automatizado.
[0023] O sistema de aprendizado automatizado pode ser realizado em computador, por exemplo, como uma rede neural (profunda) ou uma rede neural de convolução ou uma rede neural recorrente ou uma CapsuleNetwork ou uma máquina de vetor de suporte ou um processo Gaussiano.
[0024] É proposto utilizar o sistema de aprendizado automatizado para um sistema de aprendizado de máquina. O sistema de aprendizado de máquina pode ser uma máquina inteligente como um robô, que aprende a resolver uma tarefa predefinida, por exemplo, explorando seu ambiente e aprendendo a partir da realimentação por seu ambiente ou a partir da dada realimentação.
[0025] É proposto determinar uma função objetiva dependendo do valor de saída do segundo sistema de aprendizado automatizado e dependendo da magnitude da modificação e dependendo do valor de entrada do teste. Depois, a função objetiva determinada é comparada com um limiar predeterminado. É determinado se uma pequena modificação no valor de entrada do teste não faz com que o valor de saída do dito valor de entrada do teste corresponda com o valor de saída alvo dependendo do resultado da dita comparação. Se a função objetiva determinada excede o limiar predeterminado, é determinado que a pequena modificação não faz com que o valor de saída do dito valor de entrada do teste corresponda com o valor de saída alvo.
[0026] Vantajosamente, um sistema de aprendizado automatizado treinado é testado. Sob o sistema de aprendizado automatizado treinado uma pessoa pode entender que o sistema de aprendizado automatizado é capaz de resolver uma dada tarefa e a maneira para resolver é aprendida automaticamente pelo sistema de aprendizado automatizado, em particular é capturada em uma parametrização do sistema de aprendizado automatizado. Tipicamente, sistemas de aprendizado automatizados aprendem relações complexas dentro dos dados, tal como valores do sensor, e utilizam as relações aprendidas para resolver a dada tarefa. Um sistema de aprendizado automatizado treinado para classificação é vantajosamente parametrizado depois de um procedimento de treinamento, tal que preferivelmente um conjunto completo de dados de treinamento é corretamente classificado de acordo com as classes atribuídas para os valores de entrada do treinamento. Entretanto, o procedimento de treinamento deve ser terminado depois que um dado critério é alcançado de modo a não memorizar o conjunto de dados de treinamento.
[0027] Em uma modalidade alternativa, o método de acordo com o primeiro aspecto pode ser usado para aprovação de um sistema de aprendizado automatizado.
[0028] O sistema de aprendizado automatizado pode ser um classificador. O sistema de aprendizado automatizado, em particular o classificador é configurado para determinar um valor de saída, que caracteriza uma classificação do valor de entrada em pelo menos uma de várias classes. Em outra modalidade, o sistema de aprendizado automatizado é configurado para executar uma segmentação ou uma regressão.
[0029] O termo classificação pode ser entendido de forma ampla. A classificação pode ser que o sistema de aprendizado automatizado atribui para cada valor de entrada do sistema de aprendizado automatizado pelo menos uma classe, em que a classe caracteriza uma propriedade e/ou um aspecto e/ou um objeto do valor de entrada. A segmentação pode ser vista como uma espécie especial de classificação, em que para a segmentação pelo menos alguns dos elementos do valor de entrada são atribuídos para pelo menos uma classe, também uma região semântica pode ser atribuída para pelo menos uma das várias classes. A captura da imagem e reconhecimento/detecção do objeto podem também ser vistos como um tipo especial de classificação. O termo regressão significa que o valor de entrada do sistema de aprendizado automatizado deve continuar em uma maneira apropriada pelo sistema de aprendizado automatizado. [0030] Os valores de entrada do sistema de aprendizado automatizado que é configurado para executar uma classificação ou uma regressão não são limitados aos exemplos dados, eles podem ser escolhidos como desejado. Os valores de saída do sistema de aprendizado automatizado que é configurado para executar uma classificação ou uma regressão podem caracterizar uma classificação ou uma regressão dos valores de entrada correspondentes do sistema de aprendizado automatizado.
[0031] É proposto emitir um certificado de robustez quando a modificação não resulta no valor de saída do sistema de aprendizado automatizado correspondendo com o valor de saída alvo.
[0032] Observa-se que o certificado de robustez pode também ser gerado depois de executar os outros aspectos da presente invenção. [0033] De acordo com um segundo aspecto da invenção, um método para detectar uma modificação, em particular um exemplo adversário, de um valor de entrada do teste que resulta em um valor de saída determinado pelo sistema de aprendizado automatizado correspondendo com um valor de saída alvo, é revelado. O valor de saída alvo pode diferir do valor de saída determinado do sistema de aprendizado automatizado. O segundo aspecto pode ser utilizado para detectar se o valor de entrada do teste para o sistema de aprendizado automatizado pode ter sido modificado com uma pequena modificação, particularmente um exemplo adversário de um valor de entrada do teste, tal que um valor de saída do dito valor de entrada do teste, isto é, o valor de saída que o sistema de aprendizado automatizado libera quando o dito valor de entrada do teste é alimentado e propagado através do sistema de aprendizado automatizado, resulta em um valor de saída que corresponde com um valor de saída alvo.
[0034] Para os diferentes aspectos da invenção, é proposto determinar uma função objetiva dependente do valor de saída do segundo sistema de aprendizado automatizado e dependente da magnitude de modificação e dependente do valor de entrada do teste. [0035] A função objetiva caracteriza um limite inferior garantido na solução de determinação se a modificação muda o valor de saída para o valor de saída alvo.
[0036] De acordo com um terceiro aspecto da invenção, um método é revelado para determinar a maior magnitude de modificação possível de uma modificação em um valor de entrada do teste que não causa uma mudança no valor de saída correspondente para um valor de saída alvo. O valor de saída é esse valor que é liberado pelo sistema de aprendizado automatizado quando o valor de entrada do teste, particularmente que é submetido à modificação, é alimentado e propagado através do sistema de aprendizado automatizado.
[0037] Esse aspecto é vantajoso já que a magnitude de modificação mais forte sem, por exemplo, classificar mal a entrada em uma classe falsa pode ser determinada, de modo que provavelmente a saída do sistema de aprendizado automatizado não pode ser movida pelo valor de entrada modificado para o valor de saída alvo.
[0038] É proposto determinar vários segundos valores de saída diferentes, respectivamente, para vários valores de saída alvo diferentes que são respectivamente diferentes dos valores de saída determinados ou diferentes do valor de saída que é atribuído para o valor de entrada do teste. Os ditos segundos valores de saída são propagados através do sistema de aprendizado automatizado, que libera uma pluralidade de valores de saída correspondentes, em que a função objetiva é determinada dependendo da dita pluralidade de valores de saída correspondentes, isto é, em todos os valores de saída da dita pluralidade de valores de saída correspondentes.
[0039] Isso tem a vantagem que nenhuma modificação garantida do valor de entrada dentro da dada magnitude de modificação fraudará o sistema de aprendizado automatizado, porque nenhuma outra classe é provavelmente determinada pelo sistema de aprendizado automatizado causada pela modificação do valor de entrada.
[0040] De acordo com um quarto aspecto da invenção, um método para treinar um sistema de aprendizado automatizado é revelado. O método compreende as etapas seguintes: [0041] - prover uma dada magnitude de modificação e dados de treinamento, que compreendem valores de entrada de treinamento e valores de saída de treinamento correspondentes. Os valores de saída de treinamento podem caracterizar a classificação verdadeira/rotulada dos valores de entrada respectivos.
[0042] - Prover um segundo sistema de aprendizado automatizado com base no aprendizado automatizado.
[0043] - Determinar para cada valor de entrada de treinamento um segundo valor de saída correspondente dependente de um valor de saída alvo e dependente de um valor de saída que corresponde com o valor de entrada de treinamento respectivo, isto é, o valor de saída que é liberado pelo sistema de aprendizado automatizado quando o valor de entrada de treinamento respectivo é alimentado e propagado através do sistema de aprendizado automatizado.
[0044] - Alimentar como valor de entrada do segundo sistema de aprendizado automatizado os segundos valores de saída e propagar os segundos valores de saída através do segundo sistema de aprendizado automatizado.
[0045] - Determinar pelo menos uma função objetiva dependente da dada magnitude de modificação e dependente de pelo menos um dos valores de entrada de treinamento e dependente de pelo menos um dos valores de saída do segundo sistema de aprendizado automatizado determinado pela propagação do segundo valor de saída correspondendo com o dito pelo menos um do valor de entrada de treinamento respectivo.
[0046] - Determinar uma função de perda, que é dependente da função objetiva determinada e dependente de pelo menos o valor de saída de treinamento correspondendo com o valor de entrada de treinamento respectivo, que foi utilizado para determinar a função objetiva.
[0047] - Ajustar parâmetros do sistema de aprendizado automatizado de modo a otimizar, em particular minimizar, as funções de perda com relação a um dado critério de otimização.
[0048] Uma função de perda mede ou caracteriza uma diferença, em particular por uma medição de distância matemática, entre dois valores. A função de perda pode ser: uma perda de entropia cruzada, perda de ponto crítico ou perda zero-um. Vantajosamente, a otimização é feita sobre uma soma das funções de perda, em que cada função de perda é determinada em pelo menos uma função objetiva.
[0049] É proposto que de acordo com o quarto aspecto, o método ainda compreenda as etapas de: determinar a maior magnitude de modificação do sistema de aprendizado automatizado treinado com o método de acordo com o terceiro aspecto da invenção. Continuar o treinamento do sistema de aprendizado automatizado treinado se a dita maior magnitude de modificação segura é menor do que um segundo limiar predeterminado. Isso pode incluir a etapa de restaurar os valores de alguns ou todos os parâmetros treinados do sistema de aprendizado automatizado antes de continuar o treinamento.
[0050] Para cada aspecto, é proposto que cada transformação das camadas seja caracterizada por uma função respectiva. A segunda transformação é caracterizada por uma segunda função, que está relacionada com um conjugado da função, em particular uma função conjugada Fenchel.
[0051] Uma função pode mapear o valor de entrada da camada respectiva no valor de saída correspondente ou associa um conjunto de valor de entrada com o conjunto de valor de saída correspondente de acordo com a transformação, respectivamente. A função pode ser definida por alguns parâmetros.
[0052] Para cada aspecto, é proposto que uma função indicadora seja definida para cada camada do sistema de aprendizado automatizado, em que, para cada camada, a função indicadora correspondente é definida para zero se a entrada da dita camada é conectada (diretamente) em exatamente uma camada adicional do sistema de aprendizado automatizado. Se não, a função indicadora pode ser escolhida igual a um valor que é interpretado como “infinito”, em que a segunda função é determinada dependendo da dita função indicadora. De preferência, ela é uma aproximação de uma função conjugada da função indicadora.
[0053] Observa-se que se nenhuma conexão de salto é usada, a função conjugada relacionada é a função conjugada exata da função indicadora.
[0054] Para cada aspecto, é proposto que a função objetiva seja determinada dependente de um primeiro termo, que caracteriza um produto da saída do segundo sistema de aprendizado automatizado multiplicado pelo valor de entrada do sistema de aprendizado automatizado, e um segundo termo, que caracteriza uma dada norma do valor de saída do segundo sistema de aprendizado automatizado ponderado pela magnitude de modificação.
[0055] Observa-se que, quando a magnitude da modificação da modificação do valor de entrada do sistema de aprendizado automatizado é determinada por uma primeira norma (por exemplo, norma lp), então a dada norma é uma norma dupla (por exemplo, norma lq) da primeira norma. A norma dupla é definida como: 1/p+1/q=1. [0056] Para cada aspecto, é proposto que uma das camadas seja conectada com pelo menos duas outras camadas e receba o valor de saída das camadas conectadas como seu valor de entrada. Para cada aspecto, é proposto que, pelo menos uma das transformações seja caracterizada por uma função não linear, em particular uma função linear retificada (assim camada função ReLu). Para cada aspecto, é proposto que pelo menos uma das transformações seja parcialmente uma transformação linear caracterizada por um parâmetro.
[0057] Para cada aspecto, é proposto que o valor de entrada de pelo menos a camada, cuja transformação é caracterizada pela função não linear, tenha um conjunto permissível limitado de valores de entrada que é caracterizado por um limite superior e um inferior.
[0058] Isso tem a vantagem que os valores são limitados resultando em uma função objetiva mais precisa.
[0059] Para cada aspecto, é proposto que o sistema de aprendizado automatizado compreenda uma camada de normalização de lote. A transformação da camada de normalização de lote é caracterizada por uma mudança da média e variância do valor de entrada dependente de uma dada média e dada variância.
[0060] Nota-se que preferivelmente a média dada e a variância dada são dadas individualmente para cada elemento do valor de entrada. [0061] Para cada aspecto, é proposto que o conjunto permissível limitado de valores de entrada seja ainda limitado para valores de entrada satisfazendo uma desigualdade linear.
[0062] O conjunto dos valores de entrada é por meio disso limitado mais. Com isso, uma função objetiva mais precisa pode ser determinada. Além disso, os parâmetros capturam dependências dos limites e produzem limites mais estreitos ao redor do conjunto permissível de valores e consequentemente dos limites de um polítopo adversário na saída do sistema de aprendizado automatizado, melhor desempenho, em particular para um grande sistema de aprendizado automatizado com grandes quantidades de camadas. Além disso, os limites das funções de ativação são mais precisos resultando em um menor erro e um treinamento resultando em um sistema de aprendizado automatizado mais robusto pode ser obtido.
[0063] Para cada aspecto, é proposto que um dos parâmetros seja uma matriz que compreenda os limites superior e inferior de uma camada conectada prévia.
[0064] Para cada aspecto, é proposto que o limiar para a função objetiva não seja menor do que zero e de preferência não maior do que uma predisposição positiva predeterminada.
[0065] A predisposição caracteriza uma tolerância ou margem de segurança da decisão, por exemplo, se o sistema de aprendizado automatizado é robusto ou não contra um exemplo adversário. Com isso, a confiabilidade da função objetiva aumenta.
[0066] Para o quarto aspecto, é proposto que as camadas sejam agrupadas e as camadas agrupadas sejam treinadas separadamente. [0067] Isso tem a vantagem que o impacto da magnitude da modificação na função objetiva é reduzido. Mais tarde, toda a cascata pode ser treinada.
[0068] Um atuador físico de um sistema técnico pode ser controlado dependente de um valor de saída do sistema de aprendizado automatizado, em particular de acordo com cada aspecto da presente invenção. No caso em que o sistema de aprendizado automatizado tenha sido testado de acordo com o primeiro aspecto da presente invenção, o atuador físico pode ser pelo menos controlado de forma colateral ou imediata pelo valor de saída do sistema de aprendizado automatizado. Além do mais, o valor de entrada do sistema de aprendizado automatizado pode ser testado de acordo com o segundo aspecto se ele é um exemplo adversário. Se for decidido que o valor de entrada não é um exemplo adversário, então o atuador físico pode ser controlado dependente do valor de saída do sistema de aprendizado automatizado, de outra forma o valor de saída do sistema de aprendizado automatizado pode ser descarregado rejeitado. O atuador físico pode ser uma parte do sistema técnico. O sistema técnico pode ser, por exemplo, pelo menos uma máquina parcialmente autônoma, robô, veículo, ferramenta mecânica, fábrica ou objeto voador, tal como um drone. O atuador físico pode ser uma parte de um mecanismo ou um freio.
[0069] É proposto ter um método realizado em computador, em que pelo menos um processador executa as etapas dos métodos dos aspectos diferentes da presente invenção. O sistema de aprendizado automatizado pode também ser realizado em hardware ou um híbrido de hardware e software.
[0070] Em outra modalidade, o valor de saída do sistema de aprendizado automatizado pode ser usado para determinar um sinal de controle ou comando de controle. O sinal de controle ou o comando de controle pode ser usado para controlar o atuador físico. O atuador físico pode ser controlado correspondendo com o sinal de controle ou o comando de controle. Em outra modalidade, uma unidade de controle controla o atuador físico. A unidade de controle pode ser configurada para determinar o sinal de controle ou o comando de controle dependente da saída do sistema de aprendizado automatizado. Também é possível que a unidade de controle direta ou indiretamente o atuador físico dependente do valor de saída do sistema de aprendizado automatizado.
[0071] Os valores de entrada do sistema de aprendizado automatizado podem ser recebidos do sensor ou podem ser recebidos externamente através da Internet ou outro sistema de transmissão de dados ou sistema de comunicação.
[0072] Em um aspecto adicional da presente invenção, um programa de computador é proposto, que é configurado para executar qualquer um dos aspectos mencionados prévios da presente invenção. O programa de computador compreende comandos que - quando executados em um computador - fazem com que o dito computador execute os métodos com todas as suas etapas dos aspectos diferentes da presente invenção. Além disso, um armazenamento legível por computador é proposto no qual o programa de computador fica armazenado. Além disso, um aparelho é proposto que é configurado para executar os métodos da presente invenção.
[0073] Em outro aspecto da presente invenção, é proposto um produto que é obtido pela execução dos métodos do primeiro ao quarto aspectos da presente invenção.
[0074] Modalidades dos aspectos acima mencionados da presente invenção são descritas na descrição seguinte com referência às figuras seguintes: Breve Descrição das Figuras [0075] A figura 1 mostra uma representação esquemática de uma rede neural com um valor de entrada e perturbações possíveis do valor de entrada, bem como um valor de saída com um polítopo adversário, [0076] figura 2 mostra duas representações esquemáticas do valor de saída, cada um com o polítopo adversário e um limiar de decisão, [0077] figura 3 mostra esquematicamente uma modalidade de um fluxograma para um método para determinar uma função objetiva, [0078] figura 4 mostra esquematicamente uma modalidade de um fluxograma de um método para determinar limites superior e inferior das funções de ativação e mostra uma representação esquemática da rede neural com uma conexão de salto, [0079] figura 5 mostra uma modalidade esquemática de um fluxograma de um método para propagar um valor de entrada através de uma rede neural dupla e mostra ainda uma representação esquemática da rede neural dupla, [0080] figura 6 mostra esquematicamente uma modalidade de um fluxograma de um método para treinar a rede neural pela função objetiva, [0081] figura 7 mostra uma modalidade esquemática de um fluxograma de um método para determinar uma projeção Cauchy aleatória, [0082] figura 8 mostra esquematicamente uma modalidade de um fluxograma de um método para detectar exemplos adversários durante a interferência da rede neural, [0083] figura 9 mostra uma modalidade esquemática de um fluxograma de um método para encontrar uma perturbação permissível máxima do valor(es) de entrada, [0084] figura 10 mostra uma modalidade esquemática de um fluxograma de um método para determinar limites mais estreitos da função de ativação, [0085] figura 11 mostra esquematicamente uma modalidade de um fluxograma de um método para operar um robô pelo menos parcialmente autônomo com a rede neural, [0086] figura 12 um sistema de controle do atuador tendo um sistema de aprendizado automatizado controlando um atuador, [0087] figura 13 o sistema de controle do atuador controlando um robô parcialmente autônomo, [0088] figura 14 o sistema de controle do atuador controlando uma máquina de fabricação, [0089] figura 15 o sistema de controle do atuador controlando um assistente pessoal automatizado, [0090] figura 16 o sistema de controle do atuador controlando um sistema de controle de acesso, [0091] figura 17 o sistema de controle do atuador controlando um sistema de vigilância, [0092] figura 18 o sistema de controle do atuador controlando um sistema de geração de imagem, em particular médico, [0093] figura 19 um sistema de treinamento configurado para treinar uma rede neural robusta.
[0094] A figura 1 mostra uma representação esquemática de uma modalidade de um sistema de aprendizado automatizado como uma rede neural 100. A rede neural 100 compreende várias camadas 110. Cada camada 110 compreende neurônios 120, que têm uma entrada 150 e uma saída. O valor de entrada recebido na entrada 150 do neurônio 120 é chamado ativação do neurônio 120.
[0095] Os neurônios 120 determinam, dependente da sua ativação, um valor de saída. Além disso, os neurônios compreendem uma função de ativação 130 que é utilizada para determinar o valor de saída dependente da ativação do neurônio respectivo 120. A função de ativação representada 130 na figura 1 é uma função linear retificada (assim camada ReLu).
[0096] As camadas da rede neural 100 são (diretamente) conectadas entre si por conexões 140. As conexões 140 conectam uma saída do neurônio de uma primeira camada conectada com uma entrada do neurônio correspondendo com uma segunda camada conectada e fornecem o valor de saída como um valor de entrada para o neurônio conectado da segunda camada conectada. De preferência, as conexões 140 multiplicam o valor de saída pelo parâmetro e proveem o valor de saída multiplicado como valor de entrada. Uma das camadas 110 é uma camada de entrada da rede neural 100. A camada de entrada recebe como valor de entrada um valor de entrada 151 da rede neural 100. A rede neural 100 compreende ainda uma camada de saída. O valor de saída fornecido na saída 170 da camada de saída é um valor de saída 171 da rede neural 100.
[0097] Como representado na figura 1, as camadas 110 podem ser dispostas em uma fileira, em que as camadas são conectadas com uma camada subsequente, respectivamente. A rede neural 100 pode compreender uma camada de normalização de lote e/ou uma camada de associação máxima e/ou uma camada de associação linear.
[0098] O valor de entrada 151 da rede neural 100 pode ser um escalar, vetor, matriz ou tensor. Por exemplo, o valor de entrada pode ser uma imagem ou sinal de áudio ou um valor do sensor. O valor de saída 171 pode ser vetor nessa modalidade, que caracteriza, por exemplo, uma classificação do valor de entrada em uma de várias classes. Nessa modalidade, cada saída 170 da camada de saída caracteriza uma das classes. As ativações podem ser um escalar, vetor, matriz ou um tensor dependente das dimensões das camadas correspondentes 110.
[0099] Considerando k camadas, a rede neural fe é dada pelas equações: Zi = Σ/=ϊ fij(fi), para i = 2,..., k (1) [00100] com o valor de entrada da rede neural z1 = x e fe (x) = zk e uma função fitj da camada j para camada i e parametrização Θ.
[00101] Como mostrado na figura 1, o valor de entrada 151 da rede neural 100 pode variar dentro de um dado escopo (perturbação de entrada 160). Por exemplo, devido ao ruído da medição, o valor de entrada pode variar, o que pode ser caracterizado por um valor de perturbação ε. O valor de entrada pode também variar devido a uma modificação adversária do valor de entrada. A modificação pode ser localmente limitada, por exemplo, somente uma região semântica de uma imagem da entrada é modificada, o que é também caracterizado pelo valor de perturbação e. O valor de perturbação ε pode ser um valor máximo da modificação ou uma média da modificação.
[00102] A perturbação máxima é representada esquematicamente na figura 1 pela perturbação de entrada limitada 160. A perturbação de entrada limitada 160 pode ser matematicamente descrita como: (2) [00103] onde B(x) representa uma restrição de entrada para a perturbação de entrada permissível máxima 160 e (| |Δ| |p) caracteriza uma modificação limitada pela norma p Δ do valor de entrada x. A modificação Δ pode ser, por exemplo, um ruído ou uma perturbação adversária do valor de entrada x, em que a modificação Δ descreve todas as modificações possíveis devido a, por exemplo, um ruído ou exemplos adversários do valor de entrada x. A perturbação ε pode ser vista como um limite superior da modificação Δ do valor de entrada (x). [00104] De modo a decidir se existe uma modificação Δ do valor de entrada x dentro de B(x) que pode fraudar a rede neural 100, o problema de otimização seguinte tem ser resolvido: min cTzk (3) zt 6 B(x) [00105] onde o valor de entrada x tem atribuído uma dada classe y* = ytrue θ uma classe alvo ytar9 e c = ey, - eytarg. Δ classe alvo ytara pode ser escolhida arbitrária e é uma classe diferente da classe dada y*. O resultado da equação (3) é um escalar descrevendo o valor de entrada mais adversário (x) dentro de B(x), que é classificado pela rede neural como a classe alvo ytar5, embora o valor de entrada x pertença à dada classe ytrue. Se esse escalar é positivo, então não existe um exemplo adversário do valor de entrada x, que frauda a rede neural devido a uma má classificação do exemplo adversário. Se o escalar é positivo, então existe uma robustez garantida contra todas as modificações dentro de B(x).
[00106] O problema de otimização de acordo com a equação (3) pode ser resolvido para todas as classes alvo diferentes, diferentes da dada classe ytrue. Se o resultado do problema de otimização de acordo com a equação (3) é positivo para todas as classes alvo diferentes da dada classe, então não existe uma modificação adversária limitada da norma Δ do valor de entrada x que poderia ser mal classificado pela rede neural 100. O ponto importante é que, se o mínimo da equação (3) é positivo, é garantido que nenhum exemplo adversário existe dentro de B(x).
[00107] Pelo fato de que seria muito ineficiente resolver o problema de otimização de acordo com a equação (3), o problema pode ser limitado, em particular por um problema de otimização dupla. Observa-se que uma solução do problema duplo é uma solução dupla possível e proporciona um limite inferior garantido na solução do problema de otimização primitivo como dado na equação (3).
[00108] O problema duplo pode ser construído adicionando as restrições no problema de otimização primitivo, por exemplo, com múltiplos Lagrangian.
[00109] Para o caso quando a conexão de salto é usada, as restrições da equação (3) são dependentes umas das outras. Portanto, uma função indicadora é usada para determinar o problema de otimização dupla. A função indicadora pode ser dada como: 1(4) para i = 2, [00110] Uma função ‘pseudo’-conjugada, relacionada com uma função conjugada Fenchel, da função indicadora é dada por: (5) [00111] para i = 1,.k - 1. Observa-se que a função conjugada da equação (5) não é uma função conjugada exata da equação (4), portanto, é chamada uma função ‘pseudo’-conjugada.
[00112] O ‘pseudo’-conjugado da função indicadora pode ser limitado superior por: (6) sujeito a Vi = ZjU+igijCvj) [00113] Com as equações prévias, o problema de otimização de acordo com a equação (3) pode ser reescrito como um limite inferior da equação (3). Esse limite inferior é expresso por: (7) [00114] onde 11 11 é a norma dupla para a norma p na equação (2).
[00115] O termo max pode ser escrito como uma função objetiva J.
Jb.Vr.k) = -Xi=2hi(vi:k) -v/x —ellvJl* (8) [00116] A função objetiva J pode ser determinada eficientemente usando uma rede neural dupla que é dada pela equação seguinte da equação (7): (9) [00117] onde é a camada dupla, caracterizando uma transformação dupla por uma função de ativação dupla da dita camada. [00118] No seguinte, duas camadas duplas diferentes são mostradas de modo exemplar. A camada dupla para uma camada linear (zi+1 = Wi Zi + bi) pode ser expressa como: (10) sujeito a Vj = WjT vi+1 [00119] A camada dupla para a camada com a função de ativação ReLu (zi+1 = max{zj, 0}) é dada como: (11) sujeito a Vj = DiVi+1 [00120] onde Dj é uma matriz diagonal: (12) [00121] e Ι^,Ιι,Ιι representa um conjunto das ativações negativas, positivas e de amplitude zero, respectivamente. Esses conjuntos de ativações são dependentes dos limites inferior e superior (u,l) das ativações correspondentes e pode ser visto como restrições auxiliares. Se o limite superior (u) da ativação é menor do que zero, a ativação corresponde com o conjunto de ativações /f com ativações negativas. Se o limite inferior (Z) é positivo, então a ativação corresponde com o conjunto de ativações 1+ com as ativações positivas. Se os limites inferior e superior atravessam o ponto zero, então a ativação corresponde com o conjunto It . O método para determinar os limites inferior e superior é mostrado na figura 4.
[00122] Como já discutido, se a função objetiva é positiva, então não existem modificações do valor de entrada x que frauda a rede neural 100. Entretanto, se a função objetiva é negativa, não é possível garantir se a modificação do valor de entrada x muda a classificação do valor de entrada para a classificação alvo. Como na figura 2 esquematicamente mostrado, o valor de saída 171 da rede neural 100 é ligado por um polítopo adversário de saída 180. O polítopo adversário de saída 180 é um conjunto não convexo devido às funções de ativação não lineares, tal como a função de ativação ReLu da rede neural 100. Por simplificação, as funções de ativação não lineares podem ser aproximadas, o que resulta em uma aproximação do polítopo adversário de saída 180.
[00123] A aproximação da função de ativação ReLu pode ser feita limitando a ReLu com uma casca convexa. A casca convexa é descrita por três equações lineares, uma para os valores de entrada negativos, uma para os valores de entrada positivos e uma terceira equação linear, que fecha a área atravessada das duas equações lineares para uma casca convexa.
[00124] A aproximação do polítopo adversário de saída é mostrada na figura 2 pelo polítopo convexo limitado 200.
[00125] Além disso, a figura 2 mostra um limiar de decisão 201, que cruza o polítopo adversário de saída 180 e o polítopo convexo limitado 200. Isso implica que o valor de saída 171 da rede neural 100 pode ser mal classificado se ele está dentro da área 220 do polítopo adversário de saída 180. Se a modificação do valor de entrada resulta em uma mudança do valor de saída da rede neural 100 para a área 220, isso resultaria em uma falsa classificação do valor de entrada. Para esse caso, a função objetiva seria negativa desde que uma mudança do valor de saída 171 poderia resultar em outra classificação, quando cruzando o limiar da decisão 201. Para esse caso, não existe uma robustez contra más classificações das modificações do valor de entrada.
[00126] Se um segundo limiar de decisão 202 cruza somente o polítopo convexo limitado 200, mas não o polítopo adversário de saída 180, então a função objetiva J é também negativa, embora qualquer modificação do valor de entrada x não resulte na classificação falsa, desde que todos os valores de saída possíveis se situam dentro do polítopo adversário de saída 180 que não é dividido pelo segundo limiar da decisão 202. Para esse caso, existiría uma robustez contra más classificações das modificações do valor de entrada. Entretanto, devido à aproximação do polítopo adversário de saída 180, a função objetiva (/) não é precisa.
[00127] Portanto, se a função objetiva J é negativa, não é possível decidir se a modificação da entrada fraudaria a rede neural 100. Somente para as funções objetivas positivas, uma decisão garantida pode ser feita que a modificação do valor de entrada não frauda a rede neural 100.
[00128] A figura 3 mostra um fluxograma esquemático 300 de um método para determinar a função objetiva J da equação (8).
[00129] O método começa com a etapa 301. Nessa etapa 301, o valor de entrada x e a classificação verdadeira ytrue do valor de entrada x e a classificação alvo ytar9 e uma dada perturbação e são fornecidos. [00130] Depois, na etapa 302, a variável c de acordo com a equação (3) é determinada.
[00131] Na etapa subsequente 303, o valor de entrada x é propagado através da rede neural 100 e os limites superior e inferior (l,u) das ativações dos neurônios (ou as funções de ativação) são determinados. O método para determinar esses limites (l,u) é mostrado na figura 4. [00132] Depois de terminar a etapa 303, a etapa 304 é executada. Nessa etapa, a rede neural dupla é construída de acordo com a equação (9). A seguir, a etapa 305 é executada. Nessa etapa, a variável c é propagada através da rede neural dupla de acordo com a equação (9). Uma descrição mais detalhada das etapas 304 e 305 é fornecida na figura 5.
[00133] Na etapa 306, a função objetiva J de acordo com a equação (8) é determinada dependendo do valor de entrada x e dependendo do valor de saída vt da rede neural dupla e da dada perturbação e.
[00134] A figura 4 mostra a rede neural 100 com uma conexão de salto 410. Nessa modalidade da rede neural 100, todos os neurônios podem ter uma função de ativação ReLu. Ademais, a figura 4 mostra uma modalidade de um fluxograma 400 de um método para determinar os limites superior e inferior do valor de entrada das camadas da rede neural 100 com uma conexão de salto 410, em particular um método para determinar os limites superior e inferior das ativações dos neurônios com uma função de ativação ReLu.
[00135] O método para determinar os limites superior e inferior do valor de entrada da camada começa com a etapa 401. Nessa etapa, o valor de entrada xea perturbação e são fornecidos e variáveis diversas são inicializadas de acordo com a equação seguinte: (13) [00136] emque|| || representa a norma da matriz de todas as colunas, para esse exemplo. Outras normas são também concebíveis. [00137] Na etapa 402, um laço é iniciado através das camadas da rede neural. O laço é inicializado por i = 2 e repetido até que i iguala k - 1. Na primeira etapa 403 do laço, os conjuntos de ativações /f, I+, It são determinados dependentes dos valores dos limites superior e inferior da camada (i).
[00138] Depois, na etapa 404, novos termos são inicializados de acordo com as equações: (14) [00139] A seguir (etapa 405), os termos existentes são propagados de acordo com a equação: (15) [00140] Na etapa 406, os limites são computados como: (16) [00141] Adicionalmente, o índice do laço i é aumentado na etapa 406. Se i iguala k - 1, então a etapa 407 é executada. Nessa etapa, os limites superior e inferior Z1;k,u1;ksão retornados. De outra forma (i < k - 1), as etapas 403 a 406 são repetidas. Observa-se que se não cada neurônio tem uma função de ativação não linear, não é necessário determinar os limites para cada neurônio.
[00142] Observa-se que se a rede neural compreende outras funções de ativação não lineares, a equação (16) pode ser modificada com relação à equação (6) substituindo cada soma: ±Σ)·=2Σΐ'Ε/ί± P°r ±(±v7·, ...,±Vi), respectivamente. Além disso, as transformações duplas gt têm que ser aplicadas nas etapas 404 e 405.
[00143] A figura 5 mostra a rede neural dupla 510 com uma conexão de salto duplo 510. Nessa modalidade da rede neural dupla 510, a rede neural dupla 510 é criada com base na rede neural 100 mostrada na figura 4. Ademais, a figura 5 mostra uma modalidade de um fluxograma 500 de um método para construir a rede neural dupla 510 e propagar um valor de entrada - c através da rede neural dupla 510 de acordo com a equação (9).
[00144] Esse método começa com a etapa 501 criando a rede neural dupla 510. De forma exemplar, a arquitetura da rede neural 100 é copiada e a camada de entrada e a camada de saída da rede neural 100 são reconfiguradas como a camada de saída e a camada de entrada da rede neural dupla 510, respectivamente. Isso significa que quando o valor de entrada -c é propagado através da rede dupla 510, em relação à propagação da entrada da rede neural 100, a entrada da rede neural dupla 510 é propagada para trás. Observa-se que quando a rede dupla na figura 5 é girada por 180 graus, então o valor de entrada da rede neural dupla propaga para frente através da rede neural dupla em relação à rede neural 100.
[00145] Na etapa 502, as funções de ativação de cada camada são substituídas por uma função de ativação dupla respectiva. A função de ativação dupla pode ser determinada de acordo com as equações (6) ou equações (10) a (12).
[00146] Na etapa 503 subsequente, a entrada da rede neural dupla 510 recebe como entrada a variável c ou de acordo com a equação (9) como valor de entrada é utilizado -c para determinar a função objetiva J como solução do problema duplo.
[00147] A seguir (etapa 504), a entrada da rede neural dupla 510 é propagada no sentido da camada através da rede dupla 500. Depois que a camada de saída determinou seu valor de saída na etapa 504, na etapa sucessora 506, esse valor de saída é retornado como valor de saída da rede neural dupla 510.
[00148] A figura 6 mostra uma modalidade de um fluxograma 600 de um método para treinar a rede neural 100 para garantir a robustez contra perturbações adversárias dos valores de entrada da rede neural 100.
[00149] Esse método de treinamento começa com a etapa 601. Aqui, dados de treinamento compreendem N valores de entrada de treinamento x e N valores de saída de treinamento ytrue, que são atribuídos para os valores de entrada de treinamento x, respectivamente. Os valores de saída ytrue podem ser classificações verdadeiras dos valores de entrada respectivos x. O valor da perturbação e é também dado na etapa 601. Observa-se que os dados de treinamento compreendendo N pares de valores de entrada e valores de saída são chamados um lote. Se mais do que um lote está disponível, esse método pode ser repetido para cada lote. Adicional ou alternativo, o método pode ser repetido para o mesmo lote várias vezes até que um dado critério seja satisfeito. Observa-se que esse método de treinamento pode ser também usado para aprendizado não supervisionado, em que de acordo com a abordagem do aprendizado não supervisionado, os dados de treinamento devem ser estruturados e/ou rotulados de acordo. Também é concebível que cada valor de entrada de treinamento x possa ter mais do que um valor de saída de treinamento correspondente ytrue.
[00150] Subsequentemente, um laço para i = 1,..., N sobre os dados de treinamento é iniciado na etapa 602.
[00151] Na etapa 603, para o i-th valor de entrada de treinamento Xj, a variável ct de acordo com a equação (3) é gerada para cada classificação alvo desejada y-ar9 diferente da classificação verdadeira atribuída yf™6. A variável ct para cada classificação alvo desejada pode ser expressa como uma matriz: ey. 1T - diag(i). Cada variável determinada ct compreendida na dita matriz pode ser utilizada para determinar a função objetiva J para o i-th valor de entrada de treinamento xt. Depois, a função objetiva Jt é determinada de acordo com o método mostrado na figura 3.
[00152] Depois disso (etapa 604), uma função de perda Lb caracterizando uma diferença entre a função objetiva determinada Jt e o valor de saída de treinamento yb é determinada. De preferência, uma função de perda 0-1 é utilizada. Também é possível usar várias funções de perda diferentes para os valores de saída diferentes da rede dupla 500, funções objetivas e/ou para os diferentes valores de saída de treinamento utilizados. O índice i do laço é aumentado por um e as etapas 603 e 604 são repetidas até que o índice i iguala N, como definido na etapa 602.
[00153] Quando o laço sobre todos os dados de treinamento termina, a etapa 605 é executada. Aqui, cada função de perda determinada Lt é somada e a soma sobre todas as funções de perda é otimizada, por exemplo: (17) [00154] A equação (17) pode ser otimizada pela queda no gradiente. A queda do gradiente determina a mudança Δ0 do parâmetro Θ da rede neural (100), de modo a minimizar a soma sobre as funções de perda Lb Vantajosamente, a mudança Δ0 do parâmetro 0 é usada para ajustar os ditos parâmetros e a etapa 605 é repetida até que a mudança determinada Δ0 do parâmetro 0 seja menor do que um dado limiar. [00155] A figura 7 mostra esquematicamente um fluxograma 700 de um método para aumentar a eficiência e acelerar o treinamento da rede neural 100 como descrito na figura 6, particularmente para acelerar a etapa 603. Também é possível utilizar esse método para acelerar a etapa 306 da figura 3.
[00156] Repetir a função objetiva definida pela equação (8): J(x,v1;k) = -Σί=2hi(vi:k) -v/x - ellvtll . A computação do segundo e do terceiro termos (vtTx, e| |11 ) é dependente de toda a rede neural dupla 500 e, portanto cara do ponto de vista da computação.
Entretanto, esses termos podem ser eficientemente aproximados de acordo com o método mostrado na figura 7.
[00157] Na primeira etapa 701, os limites inferior e superior para cada camada da rede dupla 500 são fornecidos.
[00158] Na próxima etapa 702, uma matriz é inicializada com um tamanho de |zt| x r. Os elementos da matriz são amostrados a partir de uma distribuição Cauchy. Observa-se que essa matriz R± corresponde com o limite l±.
[00159] Subsequentemente, na etapa 703, um laço através das camadas i = 2, ...,k é iniciado com o índice do laço i.
[00160] Na etapa 704, através de um índice j = 1,..., i - 1 é repetido, em que para cada valor do índice j, uma nova matriz aleatória Rj ·■= θ determinada e Sj ■= Ztíí3k,i(.si') θ determinado. Isso corresponde com a propagação de r vetores aleatórios (e um vetor adicional, por exemplo, 1T) através da rede dupla.
[00161] Depois que a etapa 704 termina, a etapa 705 é executada. Na etapa 705, uma nova matriz Rl ■■= diagid^Cauchy^Zi^r) e S- ■= dt são determinadas (dj é determinado de acordo com a equação (19)). Depois, o índice i é aumentado por um e as etapas 704 e 705 são repetidas até que i = k seja satisfeito.
[00162] Na etapa 706, o termo llvtll e o termo /ij(vi:k) para a camada ReLu podem ser mais eficientemente calculados. Para o caso que a norma dupla seja igual à norma llt essa pode ser eficientemente calculada por: iNil^ « mediana (|g(R)|) « mediana (|RW^D2Wj ... DnWn|) « mediana (|v}R| (18) [00163] onde R é uma matriz aleatória Cauchy padrão \z±\ xr e a mediana é tirada sobre o segundo eixo.
[00164] O segundo termo da função ReLu é expresso como: 1 « -(—medianaÇ |vf diag(di')R\) + Vidi) com (19) [00165] A figura 8 mostra uma modalidade de um fluxograma 800 de um método para detectar exemplos adversários possíveis do valor de entrada x.
[00166] Na primeira etapa 801, a rede neural 100 determina dependente de um valor de entrada um valor de saída yPred.
[00167] Na etapa 802, a função objetiva J é determinada para todas as classificações alvo possíveis de acordo com a equação seguinte: (20) [00168] Na etapa 803 sucessora, a função objetiva J é comparada com um limiar. Por exemplo: Je (x,ge (eyPred 1T - diagÇÍ)^ > 0, então não existe uma modificação da entrada que pode ser mal classificada pela rede neural 100. Se a função objetiva J é positiva, então o resultado da comparação é verdadeiro, o que caracteriza que não existe uma modificação da imagem de entrada dentro da bola B(x) que poderia ser mal classificada. De outra forma, se a função objetiva não é positiva, o resultado da comparação é falso.
[00169] Opcionalmente, a etapa 804 é executada. Nessa etapa, o valor de saída yPred da rede neural 100 é liberado ou rejeitado dependente do resultado da comparação. Por exemplo, se o resultado da comparação é verdadeiro, o valor de saída yPred pode ser utilizado para controlar um sistema técnico (para mais informação, ver figura 12). Alternativo, um sinal de autorização ou um certificado de robustez pode ser gerado, quando o resultado da etapa 803 é verdadeiro. O sinal de autorização ou o certificado de robustez pode ser usado para verificação antes de utilizar o valor de saída yPred. De preferência, o sinal de autorização e/ou o certificado de robustez são criptografados para impedir uma manipulação maliciosa.
[00170] A figura 9 mostra esquematicamente um fluxograma 900 de um método para determinar o maior valor de perturbação e, tal que o valor de saída da rede neural 100 não pode ser movido provavelmente para outra classe do que a classe determinada pela rede neural 100. Isso pode ser também visto como uma medição, de quanto o limiar de decisão está distante da saída da rede neural.
[00171] Na primeira etapa 901, a rede neural 100 determina dependendo de um valor de entrada um valor de saída yPred.
[00172] Na etapa 902, a função objetiva J é determinada para todas as classificações alvo possíveis [00173] Subsequentemente (etapa 903), o maior valor de perturbação e é determinado. Esse pode ser determinado de acordo com a equação seguinte: maxe (21) e [00174] Particularmente, a equação (21) pode ser resolvida utilizando o método de Newton. Adicional ou alternativamente, uma busca binária pode ser usada para resolver a equação (21). Outra maneira para resolver a equação (21) pode ser aumentando e de forma incrementai enquanto a função objetiva permanece positiva.
[00175] Opcionalmente, se o maior valor de perturbação para o dado valor de entrada é determinado, a etapa 901 até 903 pode ser repetida para outro valor de entrada. Se mais do que duas perturbações maiores são determinados para valores de entrada diferentes, a etapa 904 pode ser executada. Aqui, o menor valor de perturbação determinado é verificado e retornado. Dependendo desse valor de perturbação retornado, um certificado de robustez pode ser gerado. Esse certificado de robustez pode ser usado em um dos métodos descritos, onde um dado valor de perturbação e é exigido.
[00176] A figura 10 mostra esquematicamente uma modalidade de um fluxograma 1000 de um método para determinar limites mais estreitos das funções de ativação, em particular dos neurônios com uma função de ativação ReLu.
[00177] O método começa com a etapa 1001. Nessa etapa, uma rede neural 100 é fornecida, em que a rede neural pode ser descrita por fe com as funções de ativação ReLu e exemplar com uma camada de normalização de lote. Além disso, na etapa 1001, o valor de entrada x e a perturbação e são fornecidos.
[00178] Na etapa 1002 subsequente, limites superior e inferior ZpUjSão determinados para cada camada i, em particular para cada neurônio das camadas. Os limites superior e inferior podem ser determinados de acordo com o método mostrado na figura 4. Alternativamente, os limites superiores podem ser determinados propagando através da rede neural dupla 500 a variável c, que é dada para esse caso por uma matriz diagonal positiva c = I, que pode ser propagada no sentido da coluna através da rede neural dupla 500 e os valores máximos para cada camada das ditas matrizes diagonais propagadas graduados dependente do valor de entrada (x) são usados como os limites superiores. O mesmo procedimento pode ser feito propagando c = -I e determinando o seu valor máximo, que são os limites inferiores.
[00179] Depois, na etapa 1003, além dos limites superior e inferior determinados da etapa 1002, uma desigualdade linear A^^bié inicializada e o valor de entrada da camada i é limitado ao conjunto permissível seguinte Zj de valores de entrada: Zj = {zj|lj < Zj < Uj U AjZj < bj } (22) [00180] A inicialização da matriz Af é feita escolhendo um tamanho arbitrário m da primeira dimensão da matriz Ait em que a segunda dimensão é dependente do tamanho da camada: dim(zj). A primeira dimensão da matriz At pode ser proporcional à posição da camada correspondente i na rede local 100 e polinomial ao número de neurônios da camada correspondente i.
[00181] De preferência, a primeira camada da rede neural 100 compreende uma matriz Ait que tem a vantagem que uma melhor aproximação da modificação limitada da norma do valor de entrada pode ser descrita. Camadas mais profundas, por exemplo, as últimas poucas camadas devem compreender uma matriz Ah de modo a minimizar o erro entre o polítopo adversário de saída 180 e o polítopo convexo limitado 200. Além disso, quanto mais profundo as camadas da rede neural 100 chegam, maior deve ser escolhido o tamanho da matriz Af. Por escolher um determinado tamanho m da matriz Ait m restrições adicionais são adicionadas para limitar o conjunto permissível Zj de valores de entrada.
[00182] Em outra modalidade da matriz Ah a dita matriz pode ser uma matriz de convolução.
[00183] Na etapa 1004, os elementos da matriz At são determinados. Existem duas opções para determinar os elementos da matriz Af. Na primeira opção, os elementos são aleatoriamente amostrados de uma dada distribuição (por exemplo, distribuição Gaussiana, alinhados ao redor da origem). Na outra opção, os elementos são os limites superior e inferior de uma camada prévia.
[00184] O vetor bt da desigualdade linear AjZj < bj pode ser determinado de acordo com o método alternativo para determinar os limites superiores propagando ct = At no sentido da fileira através da rede neural dupla para determinar o vetor bt (similar à etapa 1002 para determinar os limites superior e inferior pela propagação da matriz / através da rede neural dupla).
[00185] Na etapa sucessora 1005, os elementos da matriz At são otimizados. Para o caso que as funções de ativação sejam fornecidas pela função de ativação ReLu, a otimização através dos elementos da matriz at pode ser feita resolvendo a equação seguinte em particular pela queda do gradiente dependente dos elementos da matriz [00186] Em uma modalidade adicional, o tamanho do degrau da queda do gradiente pode ser variado dependente do progresso da descoberta do mínimo da equação (23).
[00187] Se os elementos da matriz At são escolhidos para serem os limites superior e inferior da camada prévia, os elementos da matriz Áj podem ser otimizados de acordo com a equação (23) similarmente utilizando a queda do gradiente. Adicional ou alternativamente, a matriz Ai inicializada pode ser otimizada multiplicando a matriz por uma matriz inversa caracterizando a transformação da camada prévia. De preferência, a matriz inversa é o inverso ou pseudoinverso, inverso esquerdo ou direito da matriz Wt contendo em particular os pesos da camada prévia.
[00188] Depois que os elementos da matriz At são otimizados na etapa 1005, o vetor bt pode ser atualizado na etapa 1006. Por exemplo, como feito na etapa 1004.
[00189] Em uma etapa subsequente opcional, os limites superior e inferior podem ser atualizados, por exemplo, de acordo com a etapa 1002. É possível repetir a etapa 1005 e a etapa 1006, desde que a matriz At e o vetor bt são vinculados e se um deles é alterado, o outro tem ser adaptado.
[00190] As transformações duplas da camada dupla respectiva i da rede neural dupla podem ser determinadas pela matriz At junto com os limites superior e inferior já atualizados ou determinados da camada dupla respectiva i. O problema de otimização de acordo com a equação (23) tem ser resolvido (por exemplo, pela queda do gradiente) dependendo de λ (encontrar um valor para λ que minimiza o problema de otimização da equação (23)) para determinar a transformação dupla, que é caracterizada pela equação (23) como um limite superior de acordo com a equação (6) de uma função ReLu conjugada.
[00191] A figura 11 representa um fluxograma 1100 de um método para utilizar a rede neural treinada 100 para controlar um sistema técnico, tal como um robô parcialmente autônomo ou veículo e opcionalmente detectar exemplos adversários antes de controlar o sistema técnico. Observa-se que configurações diferentes do sistema técnico são mostradas exemplares nas figuras 12 a 18 subsequentes. [00192] Esse método começa com a etapa 1101. Essa etapa é usada para adquirir os dados de treinamento D compreendendo imagens de entrada de treinamento e valores de saída de treinamento atribuídos. As imagens de entrada de treinamento podem ser imagens de uma câmera e os valores de saída de treinamento respectivos podem caracterizar uma classificação das imagens de treinamento em uma de várias classes, por exemplo, classe de sinais de pedestre ou de estrada diferentes. Esses dados de treinamento D podem ser fornecidos com um sistema de treinamento como mostrado na figura 19, que é configurado para treinar a rede neural 100 de acordo com o método descrito na figura 6.
[00193] Subsequentemente (etapa 1102), a rede neural 100 é treinada de acordo com o método descrito na figura 6 com os dados de treinamento D da etapa 1101. Depois de treinar a rede neural 100, o método para determinar a maior perturbação e como descrito na figura 9 pode ser executado, de preferência, cada imagem de entrada de treinamento é usada para determinar a maior perturbação e. A etapa 1102 pode ser executada em um servidor ou no próprio sistema técnico. A rede neural treinada, em particular a parametrização e opcional a arquitetura, e quando aplicável, a maior perturbação e pode ser transmitida do servidor para o sistema técnico e armazenada em um armazenamento do sistema técnico. Adicionalmente, o método para testar a rede neural treinada sobre se uma modificação da imagem de entrada pode fraudar a rede neural treinada de acordo com a figura 3 pode ser executado.
[00194] Na etapa 1103, um sensor, por exemplo, a câmera, do sistema técnico sente um ambiente e a rede neural treinada recebe o valor do sensor, por exemplo, a imagem.
[00195] Na etapa 1104, a rede neural treinada determina um valor de saída dependente do valor do sensor.
[00196] A etapa 1105 pode ser executada. Aqui, o valor do sensor recebido é verificado se ele é um exemplo adversário do valor do sensor como descrito na figura 8. Um sinal de autenticação pode ser gerado dependente do resultado da detecção de um exemplo adversário. [00197] Depois da etapa 1104 ou etapa 1105, a etapa 1106 é executada. Dependente do valor de saída da etapa 1104, um sinal de controle para o sistema técnico é gerado. O sinal de controle pode depender do sinal de autenticação da etapa 1105. Em uma modalidade, somente se o sinal de autenticação caracteriza que a entrada da rede neural não é um exemplo adversário, então o sinal de controle é gerado. Em outra modalidade, o sinal de controle gerado pode ser descartado dependente do sinal de controle. Um motor ou um sistema de frenagem do sistema técnico pode ser controlado pelo sinal de controle da etapa 1106.
[00198] É mostrada na figura 12 uma modalidade de um atuador 1210 no seu ambiente 1220. O atuador 1210 interage com um sistema de controle do atuador 1240. O atuador 1210 e seu ambiente 1220 serão conjuntamente chamados de sistema atuador. Preferivelmente em distâncias igualmente espaçadas, um sensor 1230 sente uma condição do sistema atuador. O sensor 1230 pode compreender vários sensores. Um sinal de saída S do sensor 1230 (ou, no caso de o sensor 1230 compreender uma pluralidade de sensores, um sinal de saída S para cada um dos sensores) que codifica a condição sentida é transmitido para o sistema de controle do atuador 1240. Em outra modalidade, o sistema de controle do atuador 1240 pode receber os valores do sensor fictícios para testar o sistema de controle do atuador 1240.
[00199] Com isso, o sistema de controle do atuador 1240 recebe um fluxo de sinais do sensor S. Ele calcula uma série de comandos de controle do atuador A dependendo do fluxo dos sinais do sensor S, que são então transmitidos para o atuador 1210.
[00200] O sistema de controle do atuador 1240 recebe o fluxo de sinais do sensor S do sensor 1230 em uma unidade de recepção opcional 1250. A unidade de recepção 1250 transforma os sinais do sensor S em sinais de entrada x. Alternativamente, no caso de nenhuma unidade de recepção 1250, cada sinal do sensor S pode ser tomado diretamente como um sinal de entrada x. O sinal de entrada x pode ser, por exemplo, dado como uma extração do sinal do sensor S. Alternativamente, o sinal do sensor S pode ser processado para produzir o sinal de entrada x. O sinal de entrada x pode compreender, por exemplo, imagens ou quadros de gravações de vídeo. Em outras palavras, o sinal de entrada x é fornecido de acordo com o sinal do sensor S.
[00201] O sinal de entrada x é então passado adiante para um sistema de aprendizado automatizado 1260, que pode, por exemplo, ser fornecido pela rede neural 100.
[00202] O sistema de aprendizado automatizado 1260 é parametrizado por parâmetros Θ, que são armazenados e fornecidos pelo armazenamento de parâmetro P.
[00203] O sistema de aprendizado automatizado 1260 determina os sinais de saída y a partir dos sinais de entrada x. Os sinais de saída y são transmitidos para uma unidade de conversão 1280, que converte os sinais de saída y em sinais de controle ou comandos de controle A. Os comandos de controle do atuador A são então transmitidos para o atuador 1210 para controlar o atuador 1210 de acordo.
[00204] O atuador 1210 recebe os comandos de controle do atuador A, é controlado de acordo e executa uma ação correspondendo com os comandos de controle do atuador A. O atuador 1210 pode compreender uma lógica de controle, que transforma o comando de controle do atuador A em um comando de controle adicional, que é então usada para controlar o atuador 1210.
[00205] Em modalidades adicionais, o sistema de controle do atuador 1240 pode compreender o sensor 1230. O sensor 1230 pode ser uma câmera, sensor de Radar ou Lidar. Os sensores não são limitados a esses, outros sensores concebíveis como sensor de áudio são também aplicáveis. Em modalidades ainda adicionais, o sistema de controle do atuador 1240 pode compreender, alternativa ou adicionalmente, o atuador 1210.
[00206] Além disso, o sistema de controle do atuador 1240 pode compreender um processador 45 (ou uma pluralidade de processadores) e pelo menos um meio de armazenamento legível por máquina 46, no qual as instruções são armazenadas que, se executadas, fazem com que o sistema de controle do atuador 1240 execute os métodos de acordo com uma das figuras prévias.
[00207] Alternativa ou adicionalmente ao atuador 1210, a modalidade pode compreender uma unidade de exibição 1210a que pode também ser controlada de acordo com comandos de controle do atuador A. Alternativamente, a unidade de exibição 1210a pertence a um sistema de medição, em que o sistema de aprendizado automatizado é usado para determinar o valor de medição dependente do valor de entrada. [00208] Em uma modalidade adicional do sistema de controle do atuador 1240, o sistema de controle do atuador 1240 compreende um gerador de certificado de robustez 1247. O gerador do certificado de robustez 1247 é configurado para gerar um certificado de robustez correspondendo com o método mostrado na figura 8, por exemplo. O certificado de robustez gerado pode ser exibido na unidade de exibição 1210a ou pode ser usado para liberar o comando de controle A para controlar o atuador 1210. Em outra modalidade, o sistema de controle do atuador 1240 compreende um detector de exemplo adversário 1248 executando o método de acordo com a figura 8.
[00209] Em todas as modalidades acima, o sistema de aprendizado automatizado 1260 pode compreender um classificador que é configurado para classificar o sinal de entrada x que pertence a uma das várias classes predefinidas. Em outra modalidade, o sistema de aprendizado automatizado 1260 é configurado para classificar uma região da imagem ou é configurado para classificar no sentido do pixel uma imagem.
[00210] Adicional ou alternativamente, o sinal de saída y ou o sinal de controle ou o comando de controle A é exibido em uma unidade de exibição 1210a.
[00211] A figura 13 mostra uma modalidade na qual o sistema de controle do atuador 1240 é usado para controlar um robô pelo menos parcialmente autônomo, por exemplo, um veículo pelo menos parcialmente autônomo 1300, dependente do valor de saída do sistema de aprendizado automatizado 1260.
[00212] O sensor 1230 pode compreender um ou mais sensores de vídeo e/ou um ou mais sensores de radar e/ou um ou mais sensores ultrassônicos e/ou um ou mais sensores Li DAR e um ou mais sensores de posição (como, por exemplo, GPS). Alguns ou todos esses sensores são de preferência, mas não necessariamente, integrados no veículo 1300. Alternativa ou adicionalmente, o sensor 1230 pode compreender um sistema de informação para determinar o estado do sistema atuador. Um exemplo para tal sistema de informação é um sistema de informação de tempo, que determina o estado presente ou futuro do tempo no ambiente 1220. A informação adicional pode ser recebida pelo sistema de comunicação ou através da Internet.
[00213] Por exemplo, usando o sinal de entrada x, o sistema de aprendizado automatizado 1260 pode detectar, por exemplo, objetos na proximidade do robô pelo menos parcialmente autônomo. O sinal de saída y pode compreender uma informação que caracteriza os objetos, que estão localizados na proximidade do robô pelo menos parcialmente autônomo. O comando de controle A pode então ser determinado de acordo com essa informação, por exemplo, para evitar colisões com os ditos objetos detectados.
[00214] O atuador 1210, que é preferivelmente integrado no veículo 1300, pode ser fornecido por um freio, um sistema de propulsão, um motor, um jogo de transmissão ou uma direção do veículo 1300. Os comandos de controle do atuador A podem ser determinados, tal que o atuador (ou atuadores) 1210 é/são controlados, tal que o veículo 1300 evita colisões com os ditos objetos detectados. Os objetos detectados podem também ser classificados de acordo com o que o sistema de aprendizado automatizado 1260 julga que eles mais provavelmente sejam, por exemplo, pedestres ou árvores, e os comandos de controle do atuador A podem ser determinados dependendo da classificação. [00215] Em modalidades adicionais, o robô pelo menos parcialmente autônomo pode ser fornecido por outro robô móvel (não mostrado), que pode se mover, por exemplo, voando, nadando, mergulhando ou andando. O robô móvel pode ser, entre outras coisas, pelo menos um cortador de grama parcialmente autônomo ou um robô de limpeza pelo menos parcialmente autônomo. Em todas as modalidades acima, o controle de comando do atuador A pode ser determinado, tal que a unidade de propulsão e/ou direção e/ou freio do robô móvel é controlada, tal que o robô móvel pode evitar colisões com os ditos objetos identificados.
[00216] Em uma modalidade adicional, o robô pelo menos parcialmente autônomo pode ser fornecido por um robô de jardinagem (não mostrado) que usa o sensor 1230, de preferência um sensor ótico, para determinar o estado das plantas no ambiente 1220.0 atuador 1210 pode ser um bico para pulverizar substâncias químicas. Dependendo das espécies identificadas e/ou do estado identificado das plantas, o comando de controle do atuador A pode ser determinado para fazer com que o atuador 1210 pulverize as plantas com uma quantidade adequada de substâncias químicas adequadas.
[00217] Em ainda modalidades adicionais, o robô pelo menos parcialmente autônomo pode ser fornecido por um utensílio doméstico (não mostrado), como, por exemplo, uma máquina de lavar, um fogão, um forno, um micro-ondas ou uma máquina de lavar louças. O sensor 1230, por exemplo, um sensor ótico, pode detectar o estado de um objeto, que deve passar pelo processamento pelo utensílio doméstico. Por exemplo, no caso do utensílio doméstico ser uma máquina de lavar, o sensor 1230 pode detectar o estado das roupas dentro da máquina de lavar. O sinal de controle do atuador A pode então ser determinado dependendo do material detectado das roupas para lavar.
[00218] Na figura 14 é mostrada uma modalidade na qual o sistema de controle do atuador 1240 é usado para controlar uma máquina de fabricação 1411, por exemplo, um cortador de perfuração, um cortador ou uma perfuratriz de pistola de um sistema de fabricação 200, por exemplo, como parte de uma linha de produção. O sistema de controle do atuador 1240 controla um atuador 1210 que, por sua vez, controla a máquina de fabricação 1413 dependente do valor de saída do sistema de aprendizado automatizado 1260 do sistema de controle do atuador 1240.
[00219] O sensor 1230 pode ser apresentado por um sensor ótico, que captura propriedades, por exemplo, de um produto fabricado 1412. O sistema de aprendizado automatizado 1260 pode determinar o estado do produto fabricado 1412 ou o próprio produto fabricado 1412 dessas propriedades capturadas. O atuador 1210 que controla a máquina de fabricação 1411 pode então ser controlado dependente do estado determinado do produto fabricado 1412 para uma etapa de fabricação subsequente do produto fabricado 1412 determinada pelo sistema de aprendizado automatizado 1260 ou determinada pelo sistema de controle do atuador 1240. Alternativamente, pode ser planejado que o atuador 1210 seja controlado durante a fabricação de um produto fabricado subsequente 1412 dependendo do estado determinado do produto fabricado 1412.
[00220] É mostrada na figura 15 uma modalidade na qual o sistema de controle do atuador 1240 é usado para controlar um assistente pessoal automatizado 1502. Em uma modalidade preferida, o sensor 1230 pode ser um sinal acústico, que recebe comandos de voz de um usuário humano 1501. O sensor 1230 pode também compreender um sensor ótico, por exemplo, para receber imagens de vídeo de gestos do usuário 1501.
[00221] O sistema de controle do atuador 1240 então determina os comandos de controle do atuador A para controlar o assistente pessoal automatizado 1502. Os comandos de controle do atuador A são determinados de acordo com o sinal do sensor S do sensor 1230. O sinal do sensor S é transmitido para o sistema de controle do atuador 1240. Por exemplo, o sistema de aprendizado automatizado 1260 pode ser configurado para executar, por exemplo, um algoritmo de reconhecimento de gesto para identificar um gesto feito pelo usuário 1501 ou ele pode ser configurado para executar um algoritmo de reconhecimento de comando de voz para identificar um comando falado completo pelo usuário 1501. O sistema de controle do atuador 1240 pode então determinar um comando de controle do atuador A para transmissão para o assistente pessoal automatizado 1502. Ele então transmite o dito comando de controle do atuador A para o assistente pessoal automatizado 1502.
[00222] Por exemplo, o comando de controle do atuador A pode ser determinado de acordo com o gesto do usuário identificado ou o comando de voz do usuário identificado reconhecido pelo sistema de aprendizado automatizado 1260. Ele pode então compreender informação que faz com que o assistente pessoal automatizado 1502 recupere a informação de um banco de dados e libere essa informação recuperada em uma forma adequada para recepção pelo usuário 1501. [00223] Em modalidades adicionais, pode ser planejado que ao invés do assistente pessoal automatizado 1502, o sistema de controle do atuador 1240 controle um utensílio doméstico (não mostrado) controlado de acordo com o gesto do usuário identificado ou o comando de voz do usuário identificado. O utensílio doméstico pode ser uma máquina de lavar, um fogão, um forno, um micro-ondas ou uma máquina de lavar louça.
[00224] É mostrada na figura 16 uma modalidade na qual o sistema de controle do atuador controla um sistema de controle de acesso 1602. O sistema de controle de acesso pode ser projetado para controlar fisicamente o acesso. Ele pode, por exemplo, compreender uma porta 1601. O sensor 1230 é configurado para detectar uma cena que é relevante para decidir se o acesso deve ser concedido ou não. Ele pode ser, por exemplo, um sensor ótico para fornecer imagem ou dados de vídeo, para detectar a face de uma pessoa. O sistema de aprendizado automatizado 1260 pode ser configurado para interpretar essa imagem ou dados de vídeo, por exemplo, comparando identidades com pessoas conhecidas armazenadas em um banco de dados, dessa forma determinando a identidade da pessoa. O sinal de controle do atuador A pode então ser determinado dependendo da interpretação do sistema de aprendizado automatizado 1260, por exemplo, de acordo com a identidade determinada. O atuador 1210 pode ser uma trava, que concede acesso ou não dependendo do sinal de controle do atuador A. Um controle de acesso lógico não físico também é possível. Em outra modalidade, o sistema de controle do atuador controla um sistema de aquecimento, em que o sistema de controle do atuador é configurado para determinar a atmosfera desejada pelo proprietário dependente de uma temperatura medida e/ou valores de umidade e opcionalmente dependente da previsão do tempo ou da hora do dia.
[00225] É mostrada na figura 17 uma modalidade na qual o sistema de controle do atuador 1240 controla um sistema de vigilância 1701. Essa modalidade é muito idêntica à modalidade mostrada na figura 16. Portanto, somente os aspectos diferentes serão descritos em detalhes. O sensor 1230 é configurado para detectar uma cena que está sob vigilância. O sistema de controle do atuador não controla necessariamente um atuador 1210, mas um monitor 1210a. Por exemplo, o sistema de aprendizado automatizado 1260 pode determinar se uma cena detectada pelo sensor ótico 1230 é suspeita. O sinal de controle do atuador A que é transmitido para o monitor 1210a pode então ser configurado, por exemplo, para fazer com que o monitor 1210a evidencie um objeto que é julgado suspeito pelo sistema de aprendizado automatizado 1260.
[00226] É mostrada na figura 18 uma modalidade de um sistema de controle do atuador 1240 para controlar um sistema de imagens 1800, por exemplo, um aparelho de MRI, um aparelho de imagens de raios x ou aparelho de imagens ultrassônico. O sensor 1230 pode ser, por exemplo, um sensor de imagens, cuja imagem sentida é interpretada pelo sistema de aprendizado automatizado 1260. O sinal de controle do atuador A pode então ser escolhido de acordo com essa interpretação, dessa forma controlando o monitor 1210a. Por exemplo, o sistema de aprendizado automatizado 1260 pode interpretar uma região da imagem sentida como sendo potencialmente anormal. Nesse caso, o sinal de controle do atuador A pode ser determinado para fazer com que o monitor 1210a exiba as imagens e evidencie a região potencialmente anormal.
[00227] É mostrada na figura 19 uma modalidade de um sistema de treinamento 1900 para treinar (novamente) o sistema de aprendizado automatizado 1260, particularmente o sistema de treinamento é configurado para executar o método de acordo com a figura 6. Uma unidade de dados de treinamento 1901 determina os sinais de entrada x, que são passados adiante para o sistema de aprendizado automatizado 1260. Por exemplo, a unidade dos dados de treinamento 1901 pode acessar um banco de dados implementado em computador Q, no qual um conjunto T de dados de treinamento é armazenado. O conjunto T compreende pares do sinal de entrada x e sinal de saída rotulado desejado correspondente ytrue A unidade dos dados de treinamento 1901 seleciona amostras do conjunto T, por exemplo, aleatoriamente. O sinal de entrada x de uma amostra selecionada é passado adiante para o sistema de aprendizado automatizado 1260. O sinal de saída desejado ytrue é passado adiante para a unidade de avaliação 1902.
[00228] O sistema de aprendizado automatizado 1260 é configurado para calcular sinais de saída y dos sinais de entrada x. Esses sinais de saída x são também passados adiante para a unidade de avaliação 1902.
[00229] Uma unidade de modificação 1903 determina parâmetros atualizados Θ’ dependendo da entrada da unidade de avaliação 1902. Os parâmetros atualizados Θ’ são transmitidos para o armazenamento de parâmetros P para substituir os parâmetros presentes θ do sistema de aprendizado automatizado ou ajustar os parâmetros de acordo com os parâmetros atualizados θ’.
[00230] Por exemplo, pode ser planejado que a unidade de avaliação 1902 determine o valor das funções de perda L dependendo dos sinais de saída y e saída desejada ytrue. unidade de modificação 1903 pode então calcular parâmetros atualizados Θ’ usando, por exemplo, a queda do gradiente estocástico para otimizar a função de perda L.
[00231] Além disso, o sistema de treinamento 1900 pode compreender um processador 1904 (ou uma pluralidade de processadores) e pelo menos um meio de armazenamento legível por máquina 1905, no qual as instruções são armazenadas que, se executadas, fazem com que o sistema de controle do atuador 1900 execute um método de acordo com um aspecto da invenção.
[00232] De preferência, o processador 1904 compreende pelo menos uma unidade de processamento central (CPU), uma unidade de processamento gráfico (GPU) e/ou uma unidade de processamento de tensor (TPU). Alternativamente, o processador 1904 pode ser dividido em um sistema de computador distribuído, que são conectados entre si através de um sistema de comunicação, tal como a Internet. O sistema de computador pode compreender componentes de backend, por exemplo, servidor de dados e componentes de middleware, por exemplo, um servidor de aplicação/cliente e componentes de frontend, por exemplo, um computador com uma interface gráfica e/ou um sensor como uma câmera ou uma rede de sensores.
REIVINDICAÇÕES

Claims (28)

1. Método para testar um sistema de aprendizado automatizado (100), particularmente uma rede neural artificial, CARACTERIZADO pelo fato de que o método determina se uma pequena modificação (Δ) em um valor de entrada do teste (x) do sistema de aprendizado automatizado (100) pode fazer com que um valor de saída (yPred) do sistema de aprendizado automatizado (100) corresponda com um valor de saída alvo predefinido (ytar3), em que uma modificação do valor de entrada do teste (x) é uma pequena modificação (Δ) se o tamanho da modificação é menor do que ou igual a uma magnitude de modificação predeterminada (e), em que o sistema de aprendizado automatizado (100) compreende uma camada de entrada para receber o valor de entrada do teste (x) e uma camada de saída para liberar o valor de saída (yPred) do sistema de aprendizado automatizado (100), em que o método compreende as etapas seguintes: - determinar um segundo valor de saída (c) que é dependente do valor de saída alvo predefinido (ytara) e um valor de saída de referência, em que o valor de saída de referência é um entre a) um valor de saída (ytrue) que é atribuído para o valor de entrada do teste (x) ou b) o valor de saída (ypredj do sistema de aprendizado automatizado (100), - prover um segundo sistema de aprendizado automatizado (500) com base no sistema de aprendizado automatizado (100), em que cada camada do segundo sistema de aprendizado automatizado (500) corresponde com uma camada correspondente (110) do sistema de aprendizado automatizado (100), em que a camada de saída do segundo sistema de aprendizado automatizado (500) corresponde com a camada de entrada do sistema de aprendizado automatizado (100) e a camada de entrada do segundo sistema de aprendizado automatizado (500) corresponde com a camada de saída do sistema de aprendizado automatizado (100), - alimentar o segundo valor de saída (c) na camada de entrada do segundo sistema de aprendizado automatizado (500) e propagar o segundo valor de saída (c) através do segundo sistema de aprendizado automatizado (500), - determinar, dependendo do valor de saída que resulta da propagação do segundo valor de saída (c) através do segundo sistema de aprendizado automatizado (500), se uma pequena modificação (Δ) no valor de entrada do teste (x) pode fazer com que o valor de saída do sistema de aprendizado automatizado (100) corresponda com o valor de saída alvo predefinido (ytar3).
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que um certificado de robustez é emitido se a modificação (Δ) não faz com que o valor de saída do sistema de aprendizado automatizado (100) corresponda com o valor de saída alvo.
3. Método para controlar um sistema técnico, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que um atuador físico (1210) do sistema técnico é controlado dependendo dos valores de saída do sistema de aprendizado automatizado (100) e dependendo do certificado de robustez emitido de acordo com a reivindicação 2.
4. Método, de acordo com qualquer uma das reivindicações acima, CARACTERIZADO pelo fato de que ainda compreende as etapas de: - determinar uma função objetiva (J) dependendo do valor de saída do segundo sistema de aprendizado automatizado (500) e dependendo da magnitude da modificação (e) e dependendo do valor de entrada do teste (x), - comparar a função objetiva determinada (J) com um limiar predeterminado e - determinar se uma pequena modificação (Δ) no valor de entrada do teste (x) não faz com que o valor de saída (ypred) do dito valor de entrada do teste (x) corresponda com o valor de saída alvo predefinido (ytar9) dependendo do resultado da dita comparação.
5. Método para determinar a maior magnitude da modificação segura de uma modificação (Δ) em um valor de entrada do teste (x) que não faz com que uma mudança do valor de saída correspondente (ypred) corresponda com um valor de saída alvo predefinido (ytar3), CARACTERIZADO pelo fato de que o método ainda compreende as etapas seguintes: - determinar um segundo valor de saída (c) que é dependente do valor de saída alvo predefinido (ytara) e um valor de saída de referência, em que o valor de saída de referência é um entre a) um valor de saída (ytrue) que é atribuído para o valor de entrada do teste (x) ou b) o valor de saída (ypred) do sistema de aprendizado automatizado (100), - prover um segundo sistema de aprendizado automatizado (500) com base no sistema de aprendizado automatizado (100), em que cada camada do segundo sistema de aprendizado automatizado (500) corresponde com uma camada correspondente (110) do sistema de aprendizado automatizado (100), em que a camada de saída do segundo sistema de aprendizado automatizado (500) corresponde com a camada de entrada do sistema de aprendizado automatizado (100) e a camada de entrada do segundo sistema de aprendizado automatizado (500) corresponde com a camada de saída do sistema de aprendizado automatizado (100), - alimentar o segundo valor de saída (c) na camada de entrada do segundo sistema de aprendizado automatizado (500) e propagar o segundo valor de saída (c) através do segundo sistema de aprendizado automatizado (500), - determinar uma função objetiva (J) dependendo do valor de entrada do teste (x) e dependendo do valor de saída que resulta da propagação do segundo valor de saída (c) através do segundo sistema de aprendizado automatizado (500) e dependendo da magnitude da modificação (e), - determinar a maior magnitude de modificação segura dependendo da função objetiva (J), tal que a função objetiva (J) não se torna menor do que o limiar predeterminado.
6. Método, de acordo com a reivindicação 4 ou 5, CARACTERIZADO pelo fato de que o limiar predeterminado para a função objetiva (J) não é menor do que zero.
7. Método, de acordo com qualquer uma das reivindicações 4 a 7, CARACTERIZADO pelo fato de que um de uma pluralidade de segundos valores de saída (c) é determinado para cada um de uma pluralidade de valores de saída alvo predefinidos, em que cada um da pluralidade de valores de saída alvo predefinidos corresponde com um valor de saída diferente que é diferente do valor de saída de referência, em que a dita pluralidade de segundos valores de saída (c) é propagada através do segundo sistema de aprendizado automatizado (500) que libera uma pluralidade de valores de saída correspondentes, em que a função objetiva (J) é determinada dependendo da dita pluralidade de valores de saída correspondentes.
8. Método para detectar se um valor de entrada fornecido (x) de um sistema de aprendizado automatizado (100) é anormal ou não, CARACTERIZADO pelo fato de que compreende as etapas de: determinar uma maior magnitude da modificação segura (e) com o método de acordo com qualquer uma das reivindicações 5 a 7, determinar que o dito valor de entrada fornecido do dito sistema de aprendizado automatizado (100) é anormal testando o dito sistema de aprendizado automatizado (100) com o método de acordo com a reivindicação 1, em que a magnitude da modificação predeterminada (e) é selecionada para não ser maior do que a dita maior magnitude da modificação segura (e) e em que o valor de entrada do teste (x) é selecionado para ser igual ao dito valor de entrada (x) e em que é determinado que o dito valor de entrada é anormal se o método de acordo com a reivindicação 1 revela que o valor de saída do sistema de aprendizado automatizado (100) pode ser induzido a mudar submetendo o valor de entrada à pequena modificação (Δ).
9. Método para o treinamento de um sistema de aprendizado automatizado (100), CARACTERIZADO pelo fato de que o método compreende as etapas de: - prover uma magnitude da modificação predeterminada (e) e dados de treinamento, que compreendem tanto valores de entrada de treinamento (x) quanto valores de saída de treinamento correspondentes (ytrue), - prover um segundo sistema de aprendizado automatizado (500) com base no sistema de aprendizado automatizado (100), em que cada camada do segundo sistema de aprendizado automatizado (500) corresponde com uma camada correspondente (110) do sistema de aprendizado automatizado (100), em que a camada de saída do segundo sistema de aprendizado automatizado (500) corresponde com a camada de saída do sistema de aprendizado automatizado (100) e a camada de entrada do segundo sistema de aprendizado automatizado (500) corresponde com a camada de saída do sistema de aprendizado automatizado (100), - determinar, para cada valor de entrada de treinamento (xt), um segundo valor de saída correspondente (q) dependente de um valor de saída alvo predefinido (yfara) e dependente de um valor de saída (y?red) que corresponde com o valor de entrada de treinamento respectivo (x), - alimentar cada um dos segundos valores de saída correspondentes (q) na camada de entrada do segundo sistema de aprendizado automatizado (500) e propagar os segundos valores de saída correspondentes (q) através do segundo sistema de aprendizado automatizado (500) para revelar valores de saída correspondentes do segundo sistema de aprendizado automatizado (500); - determinar pelo menos uma função objetiva (J) dependendo da magnitude da modificação predeterminada (e) e dependendo de pelo menos um dos valores de entrada de treinamento (%i) e dependendo de pelo menos um dos valores de saída correspondentes do segundo sistema de aprendizado automatizado (500), - determinar uma função de perda (L) que depende da função objetiva determinada (J) e que também depende de pelo menos o valor de saída de treinamento (yf™6) que corresponde com o dito pelo menos um dos valores de entrada de treinamento (x), - ajustar parâmetros do sistema de aprendizado automatizado (100) para otimizar a dita função de perda determinada (L).
10. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que, para cada valor de entrada de treinamento (x), uma pluralidade de segundos valores de saída diferentes correspondentes (q) é determinada dependendo de uma pluralidade de valores de saída diferentes que são diferentes do valor de saída (yfred) que é determinado pelo sistema de aprendizado automatizado (100) dependendo do valor de entrada de treinamento respectivo (x), em que a dita pluralidade de segundos valores de saída diferentes correspondentes (q) de cada valor de entrada de treinamento é alimentada na camada de entrada do segundo sistema de aprendizado automatizado (500) e é propagada através do segundo sistema de aprendizado automatizado (500), em que a função objetiva (J) é determinada dependendo de pelo menos um dos valores de entrada de treinamento (xt) e dependendo dos valores de saída do segundo sistema de aprendizado automatizado (500) que resultam da propagação de pelo menos um da pluralidade de segundos valores de saída diferentes (q) correspondendo com o dito pelo menos um do valor de entrada de treinamento (xt) através do segundo sistema de aprendizado automatizado (500).
11. Método, de acordo com a reivindicação 9 ou 10, CARACTERIZADO pelo fato de que ainda compreende as etapas de: determinar uma maior magnitude da modificação segura (e) do sistema de aprendizado automatizado treinado (100) com o método de acordo com a reivindicação 5 ou de acordo com qualquer uma da reivindicação 6 ou 7 dependente da reivindicação 5 e continuar o treinamento do sistema de aprendizado automatizado treinado (100) se a dita maior magnitude da modificação segura é menor do que um segundo limiar predeterminado.
12. Método, de acordo com qualquer uma das reivindicações 9 a 11, CARACTERIZADO pelo fato de que as camadas são agrupadas, em que as camadas agrupadas são treinadas separadamente.
13. Método para controlar um sistema técnico, em particular um robô, um veículo, uma máquina ou uma ferramenta de força, CARACTERIZADO pelo fato de que um sistema de aprendizado automatizado (100) é treinado com um método de treinamento com o método de acordo com a reivindicação 9 ou 10, em que o sistema de aprendizado automatizado treinado (100) recebe dados de entrada que particularizam um estado do sistema técnico e/ou parâmetros para controlar o sistema técnico e em que um atuador (1210) do sistema técnico é controlado dependendo de um valor de saída do sistema de aprendizado automatizado treinado (100).
14. Método, de acordo com qualquer uma das reivindicações 4 a 13, CARACTERIZADO pelo fato de que a função objetiva (J) é determinada dependendo de um primeiro termo (vf * x), que particulariza um produto da saída (vf) do segundo sistema de aprendizado automatizado (500) multiplicado pelo valor de entrada do sistema de aprendizado automatizado (100) e um segundo termo (e| IvJl ), que particulariza uma norma predeterminada do valor de saída do segundo sistema de aprendizado automatizado (500) ponderada pela magnitude da modificação (e).
15. Método, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o primeiro termo da função objetiva é determinado dependendo de um segundo valor de norma predeterminado ( |vt | ) da saída do segundo sistema de aprendizado * automatizado (500), em que o segundo valor de norma é aproximado por uma projeção Cauchy aleatória, em que para a dita aproximação, uma matriz Cauchy aleatória é propagada através do segundo sistema de aprendizado automatizado (500), em que a segunda norma é determinada determinando a mediana através do valor de saída da matriz Cauchy aleatória propagada e em que o segundo termo da função objetiva (J) é também aproximado pela projeção Cauchy aleatória.
16. Método, de acordo com qualquer uma das reivindicações acima, CARACTERIZADO pelo fato de que cada uma das camadas do sistema de aprendizado automatizado (100) calcula um valor de saída dependente do valor de entrada da camada respectiva por uma transformação respectiva predeterminada (130), em que cada uma das camadas do segundo sistema de aprendizado automatizado (500) calcula um valor de saída dependendo de uma segunda transformação predeterminada respectiva, em que cada transformação das camadas do sistema de aprendizado automatizado (100) é particularizada por uma função respectiva (ft), em que cada segunda transformação é particularizada por uma segunda função (/f), que está relacionada com um conjugado da função (/j). em particular uma função conjugada Fenchel (/f), da camada correspondente respectiva do sistema de aprendizado automatizado (100).
17. Método, de acordo com a reivindicação 16, CARACTERIZADO pelo fato de que uma função indicadora (/j) é definida para cada camada (i) do sistema de aprendizado automatizado (100), em que, para cada camada (i), a função indicadora correspondente (xf é definida para zero se a entrada da dita camada (i) está conectada exatamente em uma camada adicional do sistema de aprendizado automatizado (100), em que a segunda função (/f) é determinada dependendo da dita função indicadora (xt), em que para cada camada (i), a função indicadora correspondente (xf é definida para zero se a entrada da dita camada (i) é conectada em pelo menos duas camadas adicionais do sistema de aprendizado automatizado (100).
18. Método, de acordo com a reivindicação 17, CARACTERIZADO pelo fato de que cada função conjugada (χ?) da função indicadora respectiva (χ) é aproximada por um limite superior da função conjugada (χ?) da função indicadora (χ), em que o limite superior é particularizado por pelo menos duas funções auxiliares (g, h), em que a primeira função auxiliar (h) particulariza um valor do limite superior da função conjugada (χ?) da função indicadora (χ), em que a segunda função auxiliar (g) é uma restrição predefinida para determinar a primeira função auxiliar (h).
19. Método, de acordo com a reivindicação 18, CARACTERIZADO pelo fato de que determinar a função objetiva (J) ainda depende de uma soma através das primeiras funções auxiliares (h) do limite superior das funções conjugadas (xf) de todas as camadas (i) do segundo sistema de aprendizado automatizado (500).
20. Método, de acordo com qualquer uma das reivindicações acima, CARACTERIZADO pelo fato de que pelo menos uma das camadas é conectada em pelo menos duas outras camadas e recebe o valor de saída das ditas camadas conectadas como seu valor de entrada, em que pelo menos uma das transformações é uma função não linear, em particular uma função linear retificada e em que pelo menos uma das transformações é parcialmente uma transformação linear particularizada por um parâmetro (W,b), em que o valor de entrada de pelo menos a camada, cuja transformação é a função não linear, tem um conjunto permissível limitado de valores de entrada, que é particularizado por um limite superior e um inferior (u, l) e em que a segunda transformação da dita camada, cuja transformação é uma função ReLu é definida como segue: a) se o limite superior (/f) é menor do que zero, a segunda transformação do valor de entrada é um mapeamento de cada valor de entrada para o valor zero, b) se o limite inferior (/^) é maior do que zero, a segunda transformação do valor de entrada é um mapeamento linear de cada valor de entrada no mesmo valor que o valor de entrada, c) se os limites inferior e superior (It) se estendem através do zero, então a segunda transformação é um segundo mapeamento linear que pesa por um parâmetro (a) os valores de entrada.
21. Método, de acordo com a reivindicação 20, CARACTERIZADO pelo fato de que o parâmetro (a) da segunda transformação é selecionado dependendo do limite superior (u) e do limite inferior (Z), em que a transformação linear é dada como uma multiplicação do valor de entrada com uma matriz (W), em que a segunda transformação da transformação linear é particularizada por uma multiplicação do valor de entrada com uma matriz transposta (WT) da dita matriz (W), em que o sistema de aprendizado automatizado (100) ainda compreende uma camada de normalização de lote, em que a transformação da camada de normalização de lote é particularizada por uma mudança da média e variância do valor de entrada dependente de uma média predeterminada e variância predeterminada, em que a segunda transformação da camada de normalização de lote é particularizada por uma divisão do valor de entrada pela variância predeterminada.
22. Método, de acordo com a reivindicação 20 ou 21, CARACTERIZADO pelo fato de que o conjunto permissível limitado de valores de entrada é ainda limitado a valores de entrada que satisfazem uma desigualdade linear (Ax < b), em que a desigualdade linear é particularizada por pelo menos um primeiro parâmetro (A) e por um segundo parâmetro (b).
23. Método, de acordo com a reivindicação 22, CARACTERIZADO pelo fato de que o primeiro parâmetro (A) particulariza correlações entre elementos do valor de entrada da camada, cuja transformação é particularizada pela função não linear.
24. Método, de acordo com a reivindicação 22 ou 23, CARACTERIZADO pelo fato de que o primeiro parâmetro é uma matriz (A) compreendendo os limites superior e inferior de uma camada prévia, em que a dita matriz (A) é multiplicada por uma matriz adicional que particulariza a transformação da camada prévia, em que a dita matriz adicional é um pseudoinverso da matriz ponderada da dita camada prévia.
25. Método, de acordo com qualquer uma das reivindicações 22 a 24, CARACTERIZADO pelo fato de que o segundo parâmetro (b) é determinado dependendo de uma otimização, em particular uma minimização, de uma transposição (AT) da matriz (A) multiplicada por um vetor ou matriz que é dada por valores de entrada da camada respectiva sujeita a restrições predeterminadas.
26. Sistema de aprendizado automatizado (100), CARACTERIZADO pelo fato de ser obtido pelo método de treinamento de acordo com o método como definido na reivindicação 9 ou um dos métodos da reivindicação 10 a 12 ou 14 a 25 dependente da reivindicação 9.
27. Programa de computador, CARACTERIZADO pelo fato de que compreende instruções que quando executadas por um computador fazem com que o computador execute um método como definido em qualquer uma das reivindicações 1 a 25.
28. Transportador de dados legíveis por computador, CARACTERIZADO pelo fato de que compreende o programa de computador como definido na reivindicação 27.
BR102019001258A 2018-05-30 2019-01-22 método, aparelho e programa de computador para geração de sistemas de aprendizado automatizados robustos e teste de sistemas de aprendizado automatizados treinados BR102019001258A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862677896P 2018-05-30 2018-05-30
US201862736858P 2018-09-26 2018-09-26

Publications (1)

Publication Number Publication Date
BR102019001258A2 true BR102019001258A2 (pt) 2019-12-03

Family

ID=66589347

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102019001258A BR102019001258A2 (pt) 2018-05-30 2019-01-22 método, aparelho e programa de computador para geração de sistemas de aprendizado automatizados robustos e teste de sistemas de aprendizado automatizados treinados

Country Status (9)

Country Link
US (2) US11386328B2 (pt)
EP (1) EP3576021A1 (pt)
KR (1) KR20190136893A (pt)
CN (1) CN110554602A (pt)
AU (1) AU2018256516A1 (pt)
BR (1) BR102019001258A2 (pt)
CA (1) CA3022728A1 (pt)
DE (1) DE102018218586A1 (pt)
MX (1) MX2018013242A (pt)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11547052B1 (en) * 2018-10-10 2023-01-10 Hydro-Gear Limited Partnership Audible operator feedback for riding lawn mower applications
US11200438B2 (en) 2018-12-07 2021-12-14 Dus Operating Inc. Sequential training method for heterogeneous convolutional neural network
US11200318B2 (en) * 2018-12-28 2021-12-14 Mcafee, Llc Methods and apparatus to detect adversarial malware
US11625487B2 (en) * 2019-01-24 2023-04-11 International Business Machines Corporation Framework for certifying a lower bound on a robustness level of convolutional neural networks
US11068069B2 (en) * 2019-02-04 2021-07-20 Dus Operating Inc. Vehicle control with facial and gesture recognition using a convolutional neural network
US20210150306A1 (en) * 2019-11-14 2021-05-20 Qualcomm Incorporated Phase selective convolution with dynamic weight selection
CN111027628B (zh) * 2019-12-12 2022-03-11 支付宝(杭州)信息技术有限公司 一种模型确定方法和系统
US10846407B1 (en) 2020-02-11 2020-11-24 Calypso Ai Corp Machine learning model robustness characterization
US11568021B2 (en) 2020-02-21 2023-01-31 Alibaba Group Holding Limited Vector-vector multiplication techniques for processing systems
CN111368886B (zh) * 2020-02-25 2023-03-21 华南理工大学 一种基于样本筛选的无标注车辆图片分类方法
DE102020202870A1 (de) * 2020-03-06 2021-09-09 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Validierung und Auswahl auf maschinellem Lernen basierender Modelle zur Zustandsüberwachung einer Maschine
CN111401292B (zh) * 2020-03-25 2023-05-26 成都东方天呈智能科技有限公司 一种融合红外图像训练的人脸识别网络构建方法
CN111461307B (zh) * 2020-04-02 2022-04-29 武汉大学 一种基于生成对抗网络的通用扰动生成方法
EP3896613B1 (en) * 2020-04-14 2024-06-05 Robert Bosch GmbH Device and method for training a classifier and assessing the robustness of a classifier
US20210334646A1 (en) * 2020-04-28 2021-10-28 International Business Machines Corporation Robustness-aware quantization for neural networks against weight perturbations
DE102020114339A1 (de) * 2020-05-28 2021-12-02 Ebm-Papst Mulfingen Gmbh & Co. Kg Verfahren zum Betreiben eines Ventilatorsystems und Ventilatorsystem mit einem rückwärtsgekrümmten Radialventilator
CN111709878B (zh) * 2020-06-17 2023-06-23 北京百度网讯科技有限公司 人脸超分辨率实现方法、装置、电子设备及存储介质
DE102020208737A1 (de) 2020-07-13 2022-01-13 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Bewerten und Zertifizieren einer Robustheit eines KI-basierten Informationsverarbeitungssystems
KR102598909B1 (ko) * 2020-09-03 2023-11-06 부산대학교 산학협력단 적대적 사례에 강인한 심층 신경망 모델을 위한 입력 장치 및 방법
US11687619B2 (en) * 2020-10-02 2023-06-27 Robert Bosch Gmbh Method and system for an adversarial training using meta-learned initialization
DE102020213057A1 (de) 2020-10-15 2022-04-21 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Überprüfen eines beim teilautomatisierten oder vollautomatisierten Steuern eines Fahrzeugs verwendeten KI-basierten Informationsverarbeitungssystems
DE102020213058A1 (de) 2020-10-15 2022-04-21 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum teilautomatisierten oder vollautomatisierten Steuern eines Fahrzeugs
JP2022085164A (ja) 2020-11-27 2022-06-08 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング データ処理装置、ニューラルネットワークの深層学習の方法及びプログラム
US11907334B2 (en) * 2020-12-08 2024-02-20 International Business Machines Corporation Neural network negative rule extraction
EP4083859A1 (en) * 2021-04-30 2022-11-02 Robert Bosch GmbH Improved training of classifiers and/or regressors on uncertain training data
CN114200841B (zh) * 2021-12-13 2023-05-23 电子科技大学 一种基于模糊反步的网联汽车系统安全控制方法
CN115114395B (zh) * 2022-04-15 2024-03-19 腾讯科技(深圳)有限公司 内容检索及模型训练方法、装置、电子设备和存储介质
CN114756214B (zh) * 2022-06-15 2022-08-12 中国海洋大学 基于OpenCV和插件的图像处理方法、装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4884216A (en) * 1987-11-09 1989-11-28 Michael Kuperstein Neural network system for adaptive sensory-motor coordination of multijoint robots for single postures
US8688616B2 (en) * 2010-06-14 2014-04-01 Blue Prism Technologies Pte. Ltd. High-dimensional data analysis
US8712940B2 (en) * 2011-05-31 2014-04-29 International Business Machines Corporation Structural plasticity in spiking neural networks with symmetric dual of an electronic neuron
CN104392143B (zh) * 2014-12-09 2017-05-17 北京四方继保自动化股份有限公司 一种自适应量子神经网络汽轮机故障趋势预测方法
CN105512725B (zh) * 2015-12-14 2018-08-28 杭州朗和科技有限公司 一种神经网络的训练方法和设备
US11144889B2 (en) * 2016-04-06 2021-10-12 American International Group, Inc. Automatic assessment of damage and repair costs in vehicles
US10810481B2 (en) * 2017-01-11 2020-10-20 Thomas Danaher Harvey Method and system to count movements of persons from vibrations in a floor
DE102018200724A1 (de) 2017-04-19 2018-10-25 Robert Bosch Gmbh Verfahren und Vorrichtung zum Verbessern der Robustheit gegen "Adversarial Examples"
WO2019227294A1 (zh) * 2018-05-28 2019-12-05 华为技术有限公司 图像处理方法、相关设备及计算机存储介质
DE102018208763A1 (de) 2018-06-04 2019-12-05 Robert Bosch Gmbh Verfahren, Vorrichtung und Computerprogramm zum Betreiben eines maschinellen Lernsystems

Also Published As

Publication number Publication date
CN110554602A (zh) 2019-12-10
MX2018013242A (es) 2019-12-02
DE102018218586A1 (de) 2020-01-09
US11676025B2 (en) 2023-06-13
US11386328B2 (en) 2022-07-12
US20200026996A1 (en) 2020-01-23
AU2018256516A1 (en) 2019-12-19
CA3022728A1 (en) 2019-11-30
KR20190136893A (ko) 2019-12-10
US20190370660A1 (en) 2019-12-05
EP3576021A1 (en) 2019-12-04

Similar Documents

Publication Publication Date Title
BR102019001258A2 (pt) método, aparelho e programa de computador para geração de sistemas de aprendizado automatizados robustos e teste de sistemas de aprendizado automatizados treinados
US11586911B2 (en) Pre-training system for self-learning agent in virtualized environment
US11514297B2 (en) Post-training detection and identification of human-imperceptible backdoor-poisoning attacks
KR102450374B1 (ko) 데이터 인식 및 트레이닝 장치 및 방법
Zhang et al. Fruit classification by biogeography‐based optimization and feedforward neural network
Bendale et al. Towards open set deep networks
US10769261B2 (en) User image verification
US11475130B2 (en) Detection of test-time evasion attacks
US9406017B2 (en) System and method for addressing overfitting in a neural network
KR102374747B1 (ko) 객체를 인식하는 장치 및 방법
KR20160061856A (ko) 객체 인식 방법 및 장치, 및 인식기 학습 방법 및 장치
KR20160072768A (ko) 영상 인식 방법, 영상 검증 방법, 장치, 및 영상 인식 및 검증에 대한 학습 방법 및 장치
Chacon et al. Deep learning poison data attack detection
Huang et al. Uncertainty-aware learning against label noise on imbalanced datasets
US20210216857A1 (en) Device and method for training an augmented discriminator
EP3754557A1 (en) Robustness indicator unit, certificate determination unit, training unit, control unit and computer-implemented method to determine a robustness indicator
US20230049479A1 (en) Computer-implemented method for accelerating convergence in the training of generative adversarial networks (gan) to generate synthetic network traffic, and computer programs of same
Zennayi et al. Unauthorized access detection system to the equipments in a room based on the persons identification by face recognition
KR20200052068A (ko) 눈 추적 방법 및 장치
US11507670B2 (en) Method for testing an artificial intelligence model using a substitute model
Lu et al. Ranking attack graphs with graph neural networks
Chen et al. Data augmentation using gan for multi-domain network-based human tracking
KR20230057765A (ko) 자기-지도 학습 기반의 다중 객체 추적 장치 및 방법
Alrawashdeh et al. Defending deep learning based anomaly detection systems against white-box adversarial examples and backdoor attacks
Liu et al. Model Stealing Detection for IoT Services Based on Multi-Dimensional Features

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 5A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: EM VIRTUDE DO ARQUIVAMENTO PUBLICADO NA RPI 2758 DE 14-11-2023 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDO O ARQUIVAMENTO DO PEDIDO DE PATENTE, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.