BR112017019821B1 - Atribuição de pontuação de relevância para redes neurais artificiais - Google Patents

Atribuição de pontuação de relevância para redes neurais artificiais Download PDF

Info

Publication number
BR112017019821B1
BR112017019821B1 BR112017019821-5A BR112017019821A BR112017019821B1 BR 112017019821 B1 BR112017019821 B1 BR 112017019821B1 BR 112017019821 A BR112017019821 A BR 112017019821A BR 112017019821 B1 BR112017019821 B1 BR 112017019821B1
Authority
BR
Brazil
Prior art keywords
neuron
relevance
neurons
upstream
function
Prior art date
Application number
BR112017019821-5A
Other languages
English (en)
Other versions
BR112017019821B8 (pt
BR112017019821A2 (pt
Inventor
Bach Sebastian
Samek Wojciech
Müller Klaus-Robert
Binder Alexander
Montavon Grégoire
Original Assignee
Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E. V.
Technische Universität Berlin
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 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E. V., Technische Universität Berlin filed Critical Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E. V.
Publication of BR112017019821A2 publication Critical patent/BR112017019821A2/pt
Publication of BR112017019821B1 publication Critical patent/BR112017019821B1/pt
Publication of BR112017019821B8 publication Critical patent/BR112017019821B8/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • 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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • 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
    • 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/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A tarefa de atribuição de pontuação de relevância a um conjunto de itens sobre o qual uma rede neural artificial é aplicada é obtida pela redistribuição de uma pontuação de relevância inicial derivada da saída de rede, sobre o conjunto de itens, ao propagar de forma reversa a pontuação de relevância inicial através da rede neural artificial para obter, assim, uma pontuação de relevância para cada item. Em particular, esta propagação reversa é aplicável a um conjunto mais amplo de redes neurais artificiais e/ou em esforços computacionais inferiores ao realizá-la em uma forma tal que, para cada neurônio, as pontuações de relevância preliminarmente redistribuídas de um conjunto de neurônios vizinhos a jusante do respectivo neurônio sejam distribuídas em um conjunto de neurônios vizinhos a montante do respectivo neurônio, de acordo com uma função de distribuição.

Description

RELATÓRIO DESCRITIVO
[0001] O presente pedido se refere à atribuição de pontuação de relevância para redes neurais artificiais. Tal atribuição de pontuação de relevância pode ser utilizada, por exemplo, para identificação da região de interesse (ROI | region of interest).
[0002] Programas de computador são capazes de solucionar de forma eficaz muitas tarefas complexas, como a classificação automatizada de imagens e texto, ou avaliar a credibilidade de uma pessoa. Os algoritmos de aprendizagem da máquina são especialmente bem-sucedidos, pois eles aprendem a partir de dados, ou seja, o programa obtém um grande conjunto de treinamento identificado (ou semanalmente identificado) e após certa fase de treinamento, é capaz de generalizar novos exemplos não vistos. Muitos bancos têm um sistema que classifica a credibilidade (por exemplo, com base na idade, endereço, renda, etc.) de uma pessoa que solicita um crédito. A principal desvantagem de tais sistemas é a capacidade de interpretação, ou seja, o sistema geralmente não fornece informações por que e como chegou a uma decisão (por exemplo, por que alguém é classificado como não digno de crédito); o conhecimento e as relações que determinam a decisão de classificação são ainda ‘implícitas’.
[0003] O entendimento e a interpretação das decisões de classificação são de alto valor em muitos pedidos, pois permitem verificar o raciocínio do sistema e fornece informações adicionais ao especialista humano, por exemplo, bancário, investidor de capital de risco ou médico. Os métodos de aprendizagem por máquina têm, na maioria dos casos, a desvantagem de agir como uma caixa preta, não fornecendo qualquer informação sobre o que os fez chegar a uma decisão específica. No geral, os algoritmos complexos têm desempenho muito melhor do que os métodos simples (lineares) (quando dados de treinamento suficiente estiverem disponíveis), entretanto, eles carecem especialmente de capacidade de interpretação. Recentemente, um tipo de classificadores, as Redes Neurais, se tornou muito popular e produziu excelentes resultados. Este tipo de método consiste em uma sequência de mapeamentos não lineares e são especialmente difíceis de interpretar.
[0004] Em uma tarefa de classificação de imagem típica, por exemplo, uma imagem (por exemplo, uma imagem de um tubarão) pode ser dada. Consulte a figura 15. O algoritmo de aprendizagem por máquina (ML | machine learning) 900 classifica a imagem 902 como pertencente a uma determinada classe 904 (por exemplo, ‘imagens de um tubarão’). Observe que o conjunto 906 de classes (por exemplo, tubarões, pessoas, vida noturna, outdoors) é definido antecipadamente. O algoritmo 900 é uma caixa preta, pois não diz ao usuário por que tomou a decisão que uma imagem pertence à classe ‘imagens de um tubarão’. Uma explicação para esta decisão de classificação sobre o nível de pixel seria interessante, por exemplo, para ver se a imagem foi classificada como pertencendo à classe de ‘imagens de um tubarão’ principalmente por causa da barbatana do tubarão. Tal “mapa de relevância” é ilustrado em 908.
[0005] A classificação de imagens se tornou um ingrediente chave em muitos pedidos de visão de computador, por exemplo, pesquisa de imagem [15], robótica [10], imagiologia médica [50], detecção de objeto nas imagens de radar [17] ou detecção de rosto [49]. Redes neurais [6] são amplamente utilizadas para estas tarefas e estavam entre as melhores submissões nas competições na classificação de imagem e posicionamento, como a ImageNet [11]. Entretanto, como muitos métodos na aprendizagem por máquina, estes modelos geralmente não possuem capacidade de interpretação direta das previsões do classificador. Em outras palavras, o classificador age como uma caixa preta e não fornece informações detalhadas sobre porque atinge uma certa decisão de classificação. Isto é, a possibilidade de interpretação da figura 15 não está disponível.
[0006] Esta falta de capacidade de interpretação ocorre devido à não linearidade dos vários mapeamentos que processam os pixels de imagem bruta à sua representação de recurso e daquela à função do classificador final. Esta é uma desvantagem considerável nas aplicações de classificação, pois impede os especialistas humanos de cuidadosamente verificar a decisão de classificação. Uma simples resposta sim ou não é, às vezes, de valor limitado nas aplicações, onde perguntas como onde algo ocorre ou como está estruturado são mais relevantes do que uma avaliação unidimensional ou binária com valor real da mera presença ou ausência de uma certa estrutura.
[0007] Diversos trabalhos foram dedicados ao tópico de explicação das redes neurais. [54] é dedicado à análise das decisões classificadoras nos neurônios, aplicável também ao nível de pixels. Ele executa uma inversão em camadas para baixo a partir das camadas de saída em direção aos pixels de entrada para a arquitetura das redes convolucionais [23]. Este trabalho é específico para a arquitetura de redes neurais convolucionais com camadas de neurônios com funções de ativação linear retificada. Vide [42], que estabelece uma interpretação do trabalho em [54] como uma aproximação de derivados parciais em relação aos pixels na imagem de entrada. Em um sentido de alto nível, o trabalho em [54] utiliza o método de seu próprio trabalho antecessor em [55] que resolve problemas de otimização para reconstruir a entrada da imagem, como projetar as respostas para as entradas, [54] utiliza unidades lineares retificadas para projetar informações dos mapas desdobrados para as entradas com um objetivo de garantir que os mapas de recursos não sejam negativos.
[0008] Outra abordagem que fica entre os derivados parciais no ponto de entrada x e uma série completa de Taylor ao redor de um ponto diferente x0 é apresentada em [42]. Este trabalho utiliza um ponto diferente x0 em relação ao ponto de entrada x para calcular o derivado e uma polarização restante, em que ambos não são posteriormente especificados, mas evita uma razão não especificada para utilizar o termo de ponderação linear completo x — x0 de uma série de Taylor. A quantificação da importância das variáveis de entrada, utilizando um modelo de rede neural, também foi estudada em áreas específicas, como a modelagem ecológica, onde [16, 34] pesquisaram um grande conjunto de possíveis análises, incluindo derivados parciais de computação, análise de perturbações, análise de pesos e estudo do efeito de inclusão e remoção de variáveis no tempo de treinamento. Um caminho diferente para entender as decisões na rede neural é encaixar um modelo mais interpretável (por exemplo, árvore de decisão) para a função aprendida pela rede neural [41] e extrair as regras aprendidas por este novo modelo.
[0009] Entretanto, ainda há uma necessidade de um conceito robusto, fácil de implementar e amplamente aplicável para a realização da tarefa de atribuição de pontuação de relevância para redes neurais artificiais.
[0010] Consequentemente, é um objeto da presente invenção fornecer um conceito para atribuir uma pontuação de relevância a um conjunto de itens sobre os quais é aplicada uma rede neural artificial, cujo conceito é aplicável a um conjunto mais amplo de redes neurais artificiais e/ou diminui os esforços computacionais.
[0011] Este objeto é alcançado pelo assunto das reivindicações independentes pendentes.
[0012] É uma constatação básica do presente pedido que a tarefa de atribuição de pontuação de relevância a um conjunto de itens sobre o qual uma rede neural artificial é aplicada pode ser obtido pela redistribuição de um valor de relevância inicial derivado da saída de rede, no conjunto de itens propagando de forma reversa a pontuação de relevância inicial através da rede neural artificial para, assim, obter uma pontuação de relevância para cada item. Em particular, esta propagação reversa é aplicável a um conjunto mais amplo de redes neurais artificiais e/ou em esforços computacionais inferiores realizando o mesmo em uma forma tal que, para cada neurônio, as pontuações de relevância preliminarmente redistribuídas de um conjunto de neurônios vizinhos a jusante do respectivo neurônio sejam distribuídas em um conjunto de neurônios vizinhos a montante do respectivo neurônio de acordo com uma função de distribuição.
[0013] As implementações e aplicações preferidas da presente invenção, de acordo com várias aplicações, são o assunto das reivindicações dependentes e as aplicações preferidas do presente pedido são distribuídas abaixo em mais detalhes com relação às figuras, entre as quais:
[0014] A Figura 1a mostra um diagrama esquemático de um exemplo de uma previsão, utilizando uma rede neural artificial na qual uma atribuição de pontuação de relevância que utiliza a propagação reversa, de acordo com as aplicações da presente invenção, pode ser aplicada;
[0015] A Figura 2a mostra um diagrama esquemático, ilustrando um processo de propagação reversa utilizado de acordo com as aplicações do presente pedido, exemplarmente utilizando a rede neural artificial da figura 1 como uma base;
[0016] As Figuras 1b e 2b mostram uma modificação das figuras 1a e 2a, de acordo com a qual a rede e a atribuição de relevância são operadas no mapa de recurso em vez de pixels de uma imagem;
[0017] As Figuras 1c e 2c mostram uma possibilidade de aplicar as figuras 1a e 2a nas imagens coloridas;
[0018] As Figuras 1d e 2d mostram uma modificação das figuras 1a e 2a, de acordo com a qual a rede e atribuição de relevância são operadas em textos em vez de imagens;
[0019] A Figura 3 esquematicamente ilustra um neurônio intermediário de uma rede neural artificial e sua conexão para cima e neurônios vizinhos a jusante, em que exemplarmente os três neurônios vizinhos a montante também são mostrados;
[0020] A Figura 4 mostra um diagrama de blocos de um aparelho para atribuição de pontuações de relevância a um conjunto de itens, de acordo com uma aplicação;
[0021] A Figura 5 mostra um classificador em formato de rede neural durante o tempo de previsão.são as ponderações de conexão. aj é a ativação do neurônio i.;
[0022] A Figura 6 mostra o classificador em formato de rede neural da figura 5 durante o tempo de computação de relevância em camadas é mostrado.é a relevância de neurônio i que deve ser computada. A fim de facilitar a computação de nós introduzimos mensagens mensagens que precisam ser computadas, de modo que a relevância em camada na Equação (2) seja conservada. As mensagens são enviadas de um neurônio i a seus neurônios de entrada j através das conexões utilizadas para classificação, por exemplo, 2 é um neurônio de entrada para neurônios 4, 5,6. O neurônio 3 é um neurônio de entrada para 5, 6. Neurônios 4, 5, 6 são a entrada para neurônio 7;
[0023] A Figura 7 mostra uma função de previsão com valor real para classificação com a linha preta tracejada sendo o limite de decisão que separa os pontos azuis na área de -0,8 dos pontos verdes na área de 0,6-0,9. Os pontos anteriores são identificados negativamente, os pontos mais recentes são identificados positivamente. No lado esquerdo, um gradiente local da função de classificação no ponto de previsão é representado e no lado direito, uma aproximação de Taylor relativa a um ponto raiz no limite de decisão é ilustrada;
[0024] A Figura 8 ilustra um exemplo para uma rede neural multicamada anotada com diferentes variáveis e índices que descrevem neurônios e conexões de ponderação. Esquerda: passe para frente. Direita: passe para trás;
[0025] A Figura 9 ilustra uma decomposição em pixels para uma rede neural treinada para discriminar 1000 classes do conjunto de dados ImageNet.
[0026] A Figura 10 mostra um experimento de acordo com o qual um conceito das aplicações do presente pedido foi aplicado ao conjunto de dados MNIST (Mixed National Institute of Standards and Technology | Instituto Nacional Misto de Normas e Tecnologia) que contém imagens de números de 0 a 9, exemplarmente mostrando, no lado direito, heatmaps exemplarmente ilustrando as partes ao redor dos números “3” e “4” que são de alta relevância para, assim, reconhecer estes números como “3” e diferenciar o respectivo número de “9” respectivamente;
[0027] A Figura 11 mostra um diagrama de blocos de um sistema para processamento de dados, de acordo com uma aplicação;
[0028] A Figura 12 mostra um diagrama de blocos de um sistema para processamento de dados, de acordo com uma aplicação, que diferencia da figura 11 em que o processamento é realizado nos dados dos quais o conjunto de itens foi derivado;
[0029] A Figura 13 mostra um diagrama de blocos de um sistema de destaque de ROI, de acordo com uma aplicação;
[0030] A Figura 14 mostra um sistema de otimização de rede neural, de acordo com uma aplicação; e
[0031] A Figura 15 mostra um diagrama esquemático ilustrando a tarefa de atribuição de pontuação de relevância com relação a uma rede neural artificial e a relação à tarefa de previsão comum de uma rede neural artificial.
[0032] Antes de descrever as várias aplicações do presente pedido com relação aos diagramas de blocos, os conceitos subjacentes a estas aplicações devem primeiro ser descritos na forma de uma breve introdução às redes neurais artificiais e, então, explicar os pensamentos subjacentes ao conceito das aplicações.
[0033] Uma rede neural é um gráfico de unidades de processamento não lineares interligadas que podem ser treinadas para aproximar mapeamentos complexos entre dados de entrada e dados de saída. Observe que os dados de entrada são, por exemplo, a imagem (conjunto de pixels) e a saída são, por exemplo, uma decisão de classificação (no caso mais simples +1 / -1 que significa ‘sim’ há um tubarão ou ‘não’ não há tubarão na imagem). Cada unidade de processamento não linear (ou neurônio) consiste em uma combinação linear ponderada de suas entradas às quais uma função de ativação não linear é aplicada. Utilizando o índice i para denotar os neurônios que são entrando no neurônio com o índice J, a função de ativação não linear é definida como:onde é uma função de ativação não linear uniformemente crescente, Wi3 é a ponderação que conecta neurônio i ao neurônio 3 e é um termo de polarização. A rede neural é definida por sua estrutura de conectividade, sua função de ativação não linear e suas ponderações.
[0034] As aplicações abaixo utilizam um conceito que pode ser, e está na descrição subsequente, chamado de propagação de relevância. Ele redistribui a evidência de uma estrutura particular nos dados como modelado pelos neurônios de saída, de volta aos neurônios de entrada. Assim, procura produzir uma explicação de sua própria previsão em termos de variáveis de entrada (por exemplo, pixels). Observe que o conceito funciona para cada tipo de rede neural (sem loop), independentemente do número de camadas, o tipo de função de ativação etc. Assim, pode ser aplicado em muitos modelos populares, pois muitos algoritmos podem ser descritos em termos de redes neurais.
[0035] Uma ilustração do procedimento de propagação de relevância é dada abaixo para uma rede composta por camadas de convolução/subamostragem seguidas por uma sequência de camadas completamente conectadas.
[0036] Em particular, a figura 1a mostra um exemplo de uma rede neural artificial em uma forma exemplarmente simplificada. A rede neural artificial 10 é composta por neurônios 12 que são representados na figura 1 como círculos. Os neurônios 12 são interconectados entre si ou interagem entre si. De modo geral, cada neurônio é conectado aos neurônios vizinhos (ou sucessores) a jusante por um lado e neurônios vizinhos (ou antecessores) a montante por outro lado. Os termos “a montante”, “antecessor”, “a jusante” e “sucessor” se referem a uma direção de propagação geral 14 pela qual a rede neural 10 opera quando a mesma é aplicada em um conjunto 16 de itens para mapear o conjunto 16 de itens em uma saída de rede 18, ou seja, realizar a previsão.
[0037] Conforme mostrado na figura 1a, o conjunto 16 de itens pode, por exemplo, ser o conjunto de pixels 22 que forma uma imagem associando cada pixel com um valor de pixel correspondente a uma cor de cena ou intensidade em uma localização espacial correspondente à respectiva posição de pixel na matriz de pixels da imagem 22. Neste caso, o conjunto 16 é uma coleção organizada de itens, a saber, uma matriz de pixels. Neste caso, os itens corresponderiam ao valor de pixels individual, ou seja, cada item corresponderia a um pixel. Posteriormente, ficaria claro que o presente pedido não está restrito ao campo de imagens. Ainda, o conjunto 16 de itens pode ser um conjunto de itens sem qualquer ordem definida entre os itens. Misturas entre eles podem ser verdadeiras também.
[0038] Uma primeira ou camada mais baixa 24 de neurônios 12 forma um tipo de entrada da rede neural artificial 10. Isto é, cada neurônio 12 desta camada mais baixa 24 recebe como suas entradas valores de, pelo menos, um subconjunto do conjunto 16 de itens, ou seja, pelo menos, um subconjunto do valor de pixels. A união dos subconjuntos de itens do conjunto 16, os valores dos quais são inseridos em um certo neurônio 12 da camada mais baixa 24, se iguala, por exemplo, conjunto 16, ou seja, no caso da figura 1a toda a imagem 22. Em outras palavras, para cada item do conjunto 16, seu valor é inserido, pelo menos, em um dos neurônios 12 da camada mais baixa 24.
[0039] No lado oposto da rede neural 10, ou seja, em seu lado a jusante/oposto, a rede 10 compreende um ou mais neurônio(s) de saída 12’ que difere dos neurônios 12 em que o anterior não possui neurônios vizinhos/sucessores a jusante. Após ter sido aplicado ao conjunto 16 e após ter o processamento finalizado, os valores armazenados em cada neurônio de saída 12’ forma a saída de rede 18. Isto é, a saída de rede pode, por exemplo, ser um escalar. Neste caso, meramente um neurônio de saída 12’ estaria presente e seu valor após a operação da rede 10 formaria a saída de rede. Conforme ilustrado na figura 1, tal saída de rede pode, por exemplo, ser uma medida para uma probabilidade que o conjunto 16 de itens, ou seja, no caso da figura 1a a imagem 22, pertence a uma certa classe ou não. A saída de rede 18 pode, entretanto, alternativamente ser um vetor. Neste caso, mais do que um neurônio de saída 12’ existe, e o valor de cada um destes neurônios de saída 12’ conforme obtido no final da operação da rede 10 forma um respectivo componente da saída de rede. A figura 1 ilustra, por exemplo, que cada componente da saída de rede 18 é uma medida que mede uma probabilidade que o conjunto 16 pertence a uma respectiva classe associada com o respectivo componente, como em uma classe de imagens “que mostra um barco”, “que mostra um caminhão”, “que mostra um carro”. Outros exemplos são imagináveis também e serão apresentados aqui abaixo.
[0040] Assim, resumindo o acima, a rede neural compreende neurônios 12 interconectados para, assim, mapear, em uma propagação adiante ou operação normal, o conjunto 16 de itens em uma saída neural. Em uma forma similar aos neurônios de saída 12’, o valor do qual na extremidade da operação de rede forma a saída de rede 18, os itens do conjunto 16, ou seja, os pixels da imagem 22 no caso exemplar da figura1a, pode ser referido como neurônios de entrada da rede 10 com os neurônios 12 e as camadas formadas por eles sendo neurônios intermediários ou camadas intermediárias, respectivamente. Em particular, os neurônios de entrada podem, certamente, ser referidos como neurônios vizinhos ou antecessores a montante dos neurônios intermediários 12, a saber, aqueles da camada 24, apenas como os neurônios de saída 12’ podem formar neurônios vizinhos/sucessores a jusante de neurônios intermediários 12 formando, por exemplo, a camada intermediária mais alta da rede 10 ou, se interpretar um ou mais neurônio(s) de saída 12’ como formando a camada mais alta da rede 10, a segunda camada mais alta da rede 10.
[0041] A figura 1 ilustra um exemplo simplificado de uma rede neural 10 de acordo com a qual os neurônios 12 da rede 10 são estritamente dispostos em camadas 26 no sentido que as camadas 26 formam uma sequência de camadas com os neurônios vizinhos/sucessores a montante de um certo neurônio 12 todos sendo membros da camada inferior intermediária com relação à camada a qual o respectivo neurônio 12 pertence e todos os neurônios vizinhos/sucessores a jusante sendo membros da camada mais elevada intermediária. Entretanto, a figura 1 não seria interpretada como limitando os tipos de rede neural 10 aos quais as aplicações da presente invenção descritas mais abaixo podem ser aplicadas com relação a esta questão. Ainda, esta disposição em camadas restrita dos neurônios 12 pode ser modificada de acordo com as aplicações alternativas, com, por exemplo, os neurônios vizinhos/antecessores a montante sendo um subconjunto de neurônios de mais do que uma camada precedente e/ou os neurônios vizinhos/sucessores a jusante sendo um subconjunto dos neurônios de mais do que uma camada mais elevada.
[0042] Além disso, embora a figura 1 sugere que cada neurônio 12 seria atravessado meramente uma vez durante a operação da propagação adiante da rede 10, um ou mais neurônio(s) 12 pode(m) ser atravessado(s) duas ou mais vezes. Mais possibilidades de variação serão discutidas abaixo.
[0043] Conforme descrito até agora, na aplicação da rede 10 no conjunto 16, ou seja, a imagem 22 no caso exemplar da figura 1a, a rede 10 realiza uma operação de propagação adiante. Durante esta operação, cada neurônio 12, que recebeu todos os valores de entrada de seus neurônios vizinhos/antecessores a montante, computa, em forma de uma respectiva função de neurônio, um valor de saída que é chamada sua ativação. Esta ativação, chamada Xj na Equação exemplar acima, então forma o valor de entrada de cada um dos neurônios vizinhos/sucessores a jusante. Por esta medida, os valores dos itens do conjunto 16 propagam através dos neurônios 12 para acabar em neurônios de saída 12’. Para ser mais preciso, os valores dos itens do conjunto 16 formam os valores de entrada dos neurônios 12 da camada mais baixa da rede 10 e os neurônios de saída 12’ recebem as ativações de seus neurônios vizinhos/antecessores a montante 12 como valores de entrada e computam seus valores de saída, ou seja, a saída de rede 18, em forma de uma respectiva função de neurônio. As funções do neurônio associadas com os neurônios 12 e 12’ da rede 10 podem ser iguais entre todos os neurônios 12 e 12’ ou podem ser diferentes entre eles com “igualdade” significando que as funções do neurônio são parametrizáveis e os parâmetros de função podem diferir entre os neurônios sem impedir a igualdade. Em caso de variação/diferentes funções do neurônio, estas funções podem ser iguais entre os neurônios da mesma camada da rede 10 ou podem ainda diferir entre os neurônios dentro de uma camada.
[0044] Assim, a rede 10 pode ser implementada, por exemplo, na forma de um programa de computador que executa em um computador, ou seja, em software, mas uma implementação em uma forma em hardware como na forma de um circuito elétrico também seria praticável. Cada neurônio 12 computa, conforme descrito acima, uma ativação com base em seus valores de entrada utilizando uma função de neurônio que é, por exemplo, apresentada no exemplo explícito acima como uma função escalar não linear de uma combinação linear dos valores de entrada. Conforme descrito, as funções do neurônio associadas com os neurônios 12 e 12’ podem ser funções parametrizadas. Por exemplo, em um dos exemplos específicos descritos abaixo, as funções do neurônio para um neurônio j são parametrizáveis utilizando uma compensação e uma ponderação Wij para todos os valores de entrada i do respectivo neurônio. Estes parâmetros são ilustrados na figura 1a utilizando uma caixa tracejada 28. Estes parâmetros 28 podem ter sido obtidos pelo treinamento da rede 10. Para esta finalidade, a rede 10 é, por exemplo, repetidamente aplicada em um treinamento definido de conjuntos 16 de itens para o qual a saída de rede correta é conhecida, ou seja, um treinamento definido das imagens identificadas no caso exemplar da figura 1a. Outras possibilidades podem, entretanto, existir também. Mesmo uma combinação pode ser praticável. As aplicações descritas mais abaixo não são restritas a qualquer tipo de origem ou forma de determinação dos parâmetros 28. A figura 1a ilustra, por exemplo, que uma parte a montante 21 da rede 10, que consiste em camadas 26 estendendo do conjunto 16, ou seja, a entrada da rede, em uma camada oculta intermediária, foi artificialmente gerada ou aprendida para emular uma extração de recurso de imagem 22 em forma de filtros convolucionais, por exemplo, de modo que cada neurônio da camada posterior (a jusante) represente um valor de recurso dos mapas de recurso 20. Cada mapa de recurso 20 é, por exemplo, associado com uma certa característica ou recurso ou resposta de impulso ou similar. Certamente, cada mapa de recurso 20 pode, por exemplo, ser pensado como uma versão filtrada esparsamente amostrada da imagem de entrada 22 com um mapa de recurso 20 diferenciando em recurso/característica/resposta de impulso associados do filtro associado de outro mapa de recurso. Se, por exemplo, p conjunto 16 tiver X-Y itens, a saber, pixels, ou seja, X colunas e Y linhas de pixels, cada neurônio corresponderia a um valor de recurso de um mapa de recurso 20, cujo valor corresponderia a uma pontuação de recurso local associada com uma certa parte da imagem 22. No caso de N mapas de recurso com amostras de pontuação de recurso P • Q, por exemplo, ou seja, P colunas e Q linhas dos valores de recurso, o número de neurônios na camada posterior a jusante da parte 21 seria, por exemplo, N-P-Q que pode ser menor ou maior que X-Y. Uma translação dos descritores ou filtros de recurso subjacentes aos mapas de recurso 20, respectivamente, pode ter sido utilizada para definir as funções do neurônio, ou parametrizar as funções do neurônio, dos neurônios dentro da parte 21. Entretanto, é novamente observado que a existência de tal parte “transladada”, em vez de “aprendida” 21 da rede não é obrigatória para o presente pedido e suas aplicações e que tal parte pode alternativamente não estar presente. Em qualquer caso, ao declarar que é praticável que as funções do neurônio dos neurônios 12 podem ser iguais entre todos os neurônios ou iguais entre os neurônios de uma camada ou similar, a função neural pode, entretanto, ser parametrizável e embora a função neural parametrizável possa ser igual entre estes neurônios, o(s) parâmetro(s) da função desta função neural pode(m) variar entre estes neurônios. O número de camadas intermediárias é provavelmente livre e pode ser igual a um ou maior do que um.
[0045] Resumindo o acima, uma aplicação da rede 10 no modo de operação normal é como segue: a imagem de entrada 22 é, em sua função como conjunto 16, sujeita ou acoplada à rede 10. Isto é, os valores de pixels da imagem 22 formam os valores de entrada para os neurônios 12 da primeira camada 24. Estes valores propagam, conforme descrito, ao longo da direção de avanço 14 através da rede 10 e resultam na saída de rede 18. No caso da imagem de entrada 22 mostrada na figura 1, por exemplo, a saída de rede 18 indicaria, por exemplo, que esta imagem de entrada 22 pertence à terceira classe, ou seja, a classe de imagens que mostra um carro. Para ser mais preciso, enquanto o neurônio de saída correspondente à classe “carro” terminaria em um valor alto, os outros neurônios de saída são exemplarmente correspondentes ao “caminhão” e “barco” terminaria em valor(es) inferior(es).
[0046] Entretanto, conforme descrito na parte introdutória do relatório descritivo do presente pedido, a informação como se ou não imagem 22, ou seja, o conjunto 16, mostra um carro ou similar pode não ser suficiente. Ainda, seria preferível ter uma informação no nível de granularidade de pixels indicando quais pixels, ou seja, quais itens do conjunto 16, foram relevantes para a decisão da rede 10 e quais não foram, por exemplo, quais pixels mostram um carro e quais não. Esta tarefa é controlada em forma das aplicações descritas abaixo.
[0047] Em particular, a figura 2a mostra em uma forma ilustrativa como as aplicações da presente invenção, descritas em mais detalhes abaixo, operam a fim de realizar a tarefa de atribuição de pontuação de relevância aos itens do conjunto 16, que, no caso exemplar da figura 2a é o domínio de pixels. Em particular, a figura 2a ilustra que esta atribuição de pontuação de relevância é realizada por um processo de propagação reversa (propagação reversa ou de relevância) de acordo com o qual um valor de relevância R é, por exemplo, de forma reversa propagado através da rede 10 em direção à entrada de rede, ou seja, o conjunto 16 de itens, obtendo assim uma pontuação de relevância Rt para cada item i do conjunto 16, para cada pixel de imagem. Para uma imagem compreendendo X-Y pixels, por exemplo, i pode estar dentro de {1... X-Y} com cada item/pixel i correspondente, por exemplo, a uma posição de pixel (xi,yi). Na realização desta propagação reversa ao longo da direção de propagação reversa 32, que executa oposta à direção da propagação adiante 14 da figura 1, as aplicações descritas a seguir obedecem certas restrições que são agora explicadas em mais detalhes e chamadas de conservação de relevância e redistribuição de relevância.
[0048] Brevemente falando, a atribuição de pontuação de relevância inicia de um aparelho finalizado da rede neural artificial 10 no conjunto 16. Conforme explicado acima, este aparelho termina em uma saída de rede 18. Um valor de relevância inicial R é derivado desta saída de rede 18. Nos exemplos descritos abaixo, por exemplo, o valor de saída de um neurônio de saída 12’ é utilizado como este valor de relevância R. A derivação da saída de rede pode, entretanto, também ser realizada diferentemente, utilizando, por exemplo, uma função monotônica aplicada na saída de rede. Outros exemplos são definidos abaixo.
[0049] Em qualquer caso, este valor de relevância é, então, propagado através da rede 10 na direção reversa, ou seja, 32, apontando na direção oposta comparada à direção da propagação adiante 14 pela qual a rede 10 trabalha ao ser aplicada no conjunto 16 para, assim, resultar na saída de rede 18. A propagação reversa é feita de forma que para cada neurônio 12 uma soma de valores de relevância preliminarmente redistribuídos de um conjunto de neurônios vizinhos a jusante do respectivo neurônio é distribuída em um conjunto de neurônios vizinhos a montante do respectivo neurônio de modo que a relevância seja “substancialmente conservada”. Por exemplo, a função de distribuição pode ser selecionada de modo que o valor de relevância inicial R se iguale a uma soma de pontuações de relevância Ri dos itens i do conjunto 16 após ter concluído a propagação reversa, exatamente, ou seja,ou através de uma função monotônica f(), ou seja, R = . A seguir, alguns pensamentos gerais referentes à função de distribuição e como os mesmos deveriam ser vantajosamente selecionados, são discutidos.
[0050] Durante a propagação reversa, as ativações de neurônio dos neurônios 12 são utilizadas para guiar a propagação reversa. Isto é, as ativações de neurônio da rede neural artificial 10 durante a aplicação da rede 10 no conjunto 16 a fim de obter a saída de rede 18 são preliminarmente armazenadas e reutilizadas a fim de guiar o procedimento de propagação reversa. Conforme será descrito em mais detalhes abaixo, uma aproximação de Taylor pode ser utilizada para aproximar a propagação reversa. Assim, conforme ilustrado na figura 2a, o processo de propagação reversa pode ser pensado como distribuição do valor de relevância inicial R, começando do(s) neurônio(s) de saída, em direção ao lado de entrada da rede 10 ao longo da direção de propagação reversa 32. Por esta medida, as passagens de fluxo de relevância 34 da relevância elevada, levam do neurônio de saída 36 em direção ao lado de entrada da rede 10, a saber, os neurônios de entrada sendo formados pelo próprio conjunto 16 de itens. As passagens intermitentemente se ramificam durante a passagem através da rede 10, conforme ilustrado na figura 2 exemplarmente. As passagens finalmente acabam em focos de relevância elevada dentro do conjunto 16 de itens. No exemplo específico da utilização de uma imagem de entrada 22, conforme representado na figura 2a, as pontuações de relevância Ri indicam, no nível de pixel, áreas de relevância elevada dentro da imagem 22, ou seja, áreas dentro da imagem 22 que executaram a função primária no acabamento da rede 10 na saída de rede 18 correspondente. A seguir, as propriedades de conservação de relevância e a redistribuição de relevância mencionadas acima são discutidas em mais detalhes utilizando o exemplo acima para funções de ativação não lineares como as funções do neurônio para neurônios da rede 10.
PROPRIEDADE 1: CONSERVAÇÃO SE RELEVÂNCIA
[0051] A primeira propriedade básica do modelo de propagação de relevância impõe que a evidência não pode ser criada nem perdida. Isso se aplica em uma escala global (ou seja, da saída de rede neural de volta à entrada da rede neural) e em uma escala local (ou seja, no nível de unidades de processamento não linear individuais). Tais quantidades de restrições na aplicação das leis de circuitos de Kirchhoff em uma rede neural e substituição da noção física de “corrente elétrica” pela noção da “evidência semântica”. Em particular, veja a figura 3.
[0052] Utilizando os índices i e k para denotar os neurônios que estão entrando e saindo de um neurônio com índice J (os que entram são ilustrados na figura 3 em 40 e, assim, formam antecessores ou vizinhos a montante), a identidadedeve manter, onde denota a relevância que flui do neurônio J ao neurônio i, e denota a relevância que flui do neurônio k ao neurônio j. Observe que o princípio de conservação de relevância declara que uma soma das relevâncias que ‘flui em um neurônio’ deve ser o mesmo que uma soma das relevâncias que ‘flui deste neurônio’. A conservação de relevância garante que uma soma das relevâncias do neurônio de entrada (por exemplo, relevâncias de pixels) é igual ao valor de saída da rede (por exemplo, pontuação da classificação).
PROPRIEDADE 2: REDISTRIBUIÇÃO DE RELEVÂNCIA
[0053] A segunda propriedade básica do modelo de propagação de relevância é que a redistribuição local de relevância deve seguir uma regra fixada que aplica invariavelmente a todos os neurônios na rede. Muitas regras diferentes podem ser definidas para redistribuição de relevância. Algumas das regras são “significativas”, outras não. Uma regra significativa é, por exemplo,onde n é o número de neurônios indexados por 2. Uma racionalização para esta regra de redistribuição é que os neurônios xi que contribuem mais para a ativação do neurônio xí será atribuída na maioria da relevância de entrada Ainda, resumindo a relevância redistribuída sobre todos os neurônios de entrada 2, deve estar claro que a Propriedade 1 é satisfatória.
[0054] Entretanto, a regra de propagação de relevância determinística acima tem duas desvantagens: primeiro, pode ser numericamente instável quando o denominador estiver próximo a zero. Segundo, pode produzir valores negativos para, que têm um significado indefinido. A primeira questão é direcionada pela redefinição da regra comoonde é um estabilizador numérico que impede o denominador de estar próximo a zero, e onde ε é escolhido muito pequeno para cumprir com a Propriedade 1. A segunda questão é direcionada considerando apenas as contribuições positivas para as ativações de neurônio, em particular,
[0055] Aqui, observamos que a relação de duas quantidades positivas é necessariamente positiva e assim será a relevância. Estas duas melhorias podem ser facilmente combinadas para satisfazer ambas a estabilidade e a propriedade de positividade.
[0056] Observe que a conservação de relevância declara o que a repropagação faz (= distribuindo as relevâncias de saída para as variáveis de entrada enquanto mantém todo o valor (a suma) constante) enquanto que a redistribuição de relevância declara como fazê-la (= uma redistribuição “significativa” deve garantir que os neurônios que contribuem mais para a ativação (têm grandes ativações ponderadasserão atribuídos mais das relevâncias de entrada).
[0057] Antes de descrever um aparelho de acordo com uma aplicação do presente pedido, a instrução acima deve ser estendida para, assim, apresentar possíveis alternativas mais claramente.
[0058] Por exemplo, enquanto a aplicação descrita com relação à figura 1a e 2a utilizou uma imagem 22 como conjunto de item 16, possivelmente desenhando a rede 10 de tal forma que as ativações de neurônio dos neurônios de uma camada respectiva representam “recursos locais” da imagem, ou seja, amostras de mapas de recurso 20, a aplicação da figura 1b e 2b utiliza os mapas de recurso 20 como o conjunto 16 de itens. Isto é, a rede 10 é inserida com amostras de recurso de mapas de recurso 20. Os mapas de recurso 20 podem ter sido obtidos da imagem de entrada 22 submetendo a mesma a extratores de recurso, cada um extraindo um respectivo mapa de recurso 20 da imagem de entrada 22. Esta operação de extração de recurso é ilustrada na figura 1b utilizando a seta 30. Um extrator de recurso pode, por exemplo, aplicar localmente um núcleo de filtro na imagem 22 para, assim, derivar, por aparelho uma amostra de recurso, com movimento do núcleo de filtro pela imagem para, assim, obter o mapa de recurso 20 correspondente composto pelas amostras de recurso dispostas, por exemplo, em linhas e colunas. O núcleo de filtro/modelo pode ser individual para os respectivos extratores de recurso e os mapas de recurso 20 correspondentes, respectivamente. Aqui, a rede 10 da figura 1b pode coincidir com a parte restante da rede 10 da figura 1a, o restante da rede 10 após remover a parte 21. Assim, no caso da figura 1b, os valores de amostra de recurso propagam, como parte do assim chamado processo de previsão, ao longo da direção de avanço 14 através da rede 10 e resultam na saída de rede 18. A figura 2b mostra o processo de propagação reversa de relevância para a rede da figura 1b: O processo de propagação reversa propaga o valor de relevância R através da rede 10 em direção à entrada de rede, ou seja, o conjunto 16 de itens, obtendo assim uma pontuação de relevância Ri para cada item. No caso da figura 2b, assim, uma pontuação de relevância Ri é obtida por amostra de recurso i. Como os mapas de recurso 20, entretanto, são relacionados ao conteúdo da imagem através das funções de extração de filtro individual do mapa de recurso, cada pontuação de relevância i pode ser transladada ao domínio de pixel, ou seja, nos pixels, a saber, pela distribuição das pontuações de relevância individuais dos itens do conjunto 16 em uma forma fixa nas posições de pixel individuais da imagem 22. A “forma fixa” unicamente depende dos extratores de recurso associados com o mapa de recurso da respectiva pontuação de relevância e representa um tipo de função reversa 38 da extração de recurso 30. Esta função reversa 38, assim, forma um tipo de extensão do processo de propagação reversa para, assim, fechar a lacuna do domínio de conjunto de recurso no domínio espacial dos pixels.
[0059] Ainda, observa-se que no caso da figura 1a e da figura 2a foi preliminarmente assumido que cada pixel de imagem 22, ou seja, cada item de 16, carrega um escalar. Esta interpretação pode ser aplicada em caso de uma imagem de escala de cinza 22, por exemplo, com cada valor de pixel correspondente a um valor de escala de cinza, por exemplo. Entretanto, outras possibilidades existem também. Por exemplo, a imagem 22 pode ser uma imagem colorida. Neste caso, cada item do conjunto 16 pode corresponder a uma amostra ou valor de pixel de um de mais planos de cor ou componentes de cor da imagem 22. Três componentes são exemplarmente ilustrados na figura 1c e 2c, que mostram uma extensão da figura 1a e 2a em direção às imagens coloridas 22. Assim, o conjunto 16 de itens no caso da figura 1c e 2c seria X-Y-3 em caso de ter para cada uma das posições de pixel X-Y um valor de componente colorido para cada um dos três componentes coloridos. O número de componentes coloridos poderia, entretanto, ser diferente de três. Ainda, a resolução espacial dos componentes coloridos não precisa ser a mesma. A propagação reversa da figura 2c acaba em um valor de relevância por item, ou seja, amostra de componente colorido. No caso de ter um valor de componente para todos os componentes para cada pixel, um mapa de relevância final pode ser obtido pela soma dos valores de relevância obtidos para os componentes coloridos do respectivo pixel. Isto é ilustrado em 37.
[0060] Embora as figuras 1 à 2c relacionadas às imagens e pixels, as aplicações do presente pedido não são restritas a este tipo de dados. Por exemplo, textos e suas palavras podem ser utilizados como uma base. Uma aplicação de gráfico social poderia parecer como segue: uma relevância é atribuída a nós e conexões em um gráfico, onde o gráfico é dado como entrada à rede neural 10. No contexto da análise de gráfico social, nós podem representar usuários e conexões podem representar a relação entre estes usuários. Tais conexões também podem ser direcionadas para modelar os fluxos de informação (por exemplo, rede de citações) ou cadeia de responsabilidade dentro de uma organização. Redes neurais podem, por exemplo, ser treinadas para prever o gráfico dado como entrada de uma propriedade particular do gráfico (por exemplo, a produtividade associada a um gráfico social particular). Neste caso, a propagação de relevância e o método de mapeamento de calor buscarão identificar neste gráfico as subestruturas ou nós que explicam a propriedade prevista (ou seja, a alta ou a baixa produtividade). Redes neurais também podem ser treinadas para prever o estado do gráfico em um ponto posterior no tempo. Neste caso, o procedimento de propagação de relevância buscará identificar qual subestrutura no gráfico explica o estado futuro do gráfico (por exemplo, quais subestruturas ou nós são mais influentes no gráfico social em sua capacidade para dispersar a informação no gráfico ou para mudar seu estado). Assim, a rede neural pode, por exemplo, ser utilizada para prever sucesso (por exemplo, número de produtos vendidos) de uma campanha de publicitária (tarefa de regressão). As pontuações de relevância podem ser utilizadas para identificar alguns aspectos influentes para o sucesso. Uma empresa pode economizar dinheiro focando apenas nestes aspectos relevantes. O processo de atribuição de pontuação de relevância poderia emitir uma pontuação para cada item da campanha de publicitária. Um processador de decisão pode então considerar esta entrada e também a informação sobre os custos de cada item da campanha de publicitária e decidir uma estratégia ideal para a campanha. A relevância pode também, entretanto, ser utilizada para seleção de recurso conforme mostrado acima.
[0061] A atribuição de pontuação de relevância inicia com uma derivação do valor de relevância inicial R. Conforme mencionado acima, o mesmo pode ser definido com base em um dos neurônios de saída da rede neural para, assim, obter, pela propagação reversa, os valores de relevância para os itens do conjunto 16, com referência ao “significado” deste neurônio de saída. Entretanto, a saída de rede 18 pode, alternativamente, ser um vetor e os neurônios de saída podem ser de tais significados que o mesmo pode ser dividido em conjuntos de sobreposição ou não sobreposição. Por exemplo, os neurônios de saída correspondentes ao significado (categoria) “caminhão” e “carro” podem ser combinados para resultar no subconjunto de neurônios de saída do significado “automóvel”. Certamente, os valores de saída de ambos os neurônios de saída podem ser utilizados como um ponto inicial na propagação reversa, resultando assim nas pontuações de relevância para os itens 16, ou seja, os pixels, indicando a relevância para o significado do subconjunto, ou seja, “automóvel”.
[0062] Embora a descrição acima sugeriu que o conjunto de itens é uma imagem com cada um dos itens 42 do conjunto 16 de itens 42 correspondente a um pixel da imagem, isto pode ser diferente. Por exemplo, cada item pode corresponder a um conjunto de pixels ou subpixels (um pixel tem geralmente valores rgb. Um subpixel seria, por exemplo, o componente verde de um pixel) como um superpixel, conforme ilustrado na figura 2c. Ainda, o conjunto de item 16, pode alternativamente ser um vídeo com cada um dos itens 42 do conjunto 16 de itens 42 correspondente a um ou mais pixel(s) de imagens do vídeo, imagens do vídeo ou sequências de imagem do vídeo. O subconjunto de pixels ao qual um item se refere pode conter pixels de imagens de diferentes carimbos de data/hora. Ainda, o conjunto de item 16 pode ser um sinal de áudio com cada um dos itens 42 do conjunto 16 de itens 42 correspondente a uma ou mais amostra(s) de áudio do sinal de áudio como amostras PCM. Os itens individuais do conjunto 16 podem ser as amostras ou qualquer outra parte de uma gravação de áudio. Ou o conjunto de itens é um espaço de produto de frequências e tempo e cada item é um conjunto de um ou mais intervalo(s) de tempo de frequência como um espectrograma composto por, por exemplo, espectros de MDCT de uma sequência de janelas de sobreposição. Ainda, o conjunto 16 pode ser um mapa de recurso de recursos locais localmente extraídos de uma imagem, vídeo ou sinal de áudio com os itens 42 do conjunto 16 de itens 42 correspondente aos recursos locais, ou um texto com os itens 42 do conjunto 16 de itens 42 correspondentes às palavras, sentenças ou parágrafos do texto.
[0063] Para efeitos de integridade, as figuras 1d e 2d mostram uma variante de acordo com a qual o conjunto de dados 16 de itens é texto em vez de uma imagem. Para este caso, a figura 1d ilustra que o texto que é de fato uma sequência 41 de (por exemplo, I) palavras 43, é transferido em uma versão de “resumo” ou “interpretável” pelo mapeamento de cada palavra wi 43 em um respectivo vetor vi 45 de comprimento comum, ou seja, de um número comum J de componentes vij 47, de acordo com uma transformação em palavras 49. Cada componente pode ser associado com um significado semântico. Uma transformação em palavras que pode ser utilizada é, por exemplo, Word2Vec ou vetores do indicador de palavra. Os componentes vij 47 dos vetores vi 45 representam os itens do conjunto 16 e são submetidos à rede 10, resultando assim no resultado de previsão 18 nos nós de saída da rede 12’. A propagação reversa mostrada na figura 2d resulta em um valor de relevância per item, ou seja, para cada componente de vetor vij (0<i<I; 0<j<J). Resumindo 53, para cada palavra wi, as pontuações de relevância para os componentes vij do vetor vi associadas com a respectiva palavra wi com 0<j<J resulta em um valor de soma de relevância (pontuação de relevância) por palavra, por exemplo e assim, cada palavra wi no texto pode ser destacada de acordo com sua soma de pontuação de relevância. O número de opções de destaque pode ser dois ou maior. Isto é, o valor de soma de relevâncias das palavras pode ser quantizado para resultar em uma opção de destaque por palavra. A opção de destaque pode ser associada com diferente resistência ao destaque e o mapeamento do valor de soma de relevâncias para opção de destaques pode resultar em uma associação monotônica entre os valores de soma de relevância e a resistência de destaque. Novamente, similar aos exemplos onde a rede neural pertenceu ao desempenho de uma previsão nas imagens, uma parte do lado de entrada da rede 10 da figura 1d e 2d pode ter algum significado interpretável. No caso das imagens, estes foram os conjuntos de recursos. No caso da figura 1d e 2d, uma parte de entrada da rede 10 poderia representar outro mapeamento por vetor dos vetores compostos pelos componentes do conjunto 16 nos vetores dimensionais mais provavelmente inferiores os componentes dos quais podem ter um significado semântico comparado aos componentes relacionados à família de palavra dos vetores compostos pelos componentes do conjunto 16.
[0064] A figura 4 mostra um exemplo de um aparelho para atribuição de uma pontuação de relevância a um conjunto de itens. O aparelho é, por exemplo, implementado em software, ou seja, como um computador programado. Outras possibilidades de implementação são, entretanto, imagináveis também. Em qualquer caso, o aparelho 50 é configurado para utilizar o processo de propagação reversa descrito acima afim de atribuir, por item, uma pontuação de relevância ao conjunto 16 de itens, com uma pontuação de relevância indicando para cada item qual relevância este item tem na derivação da rede 10 de sua saída de rede 18 com base nele. Certamente, a figura 4 também mostra a rede neural. A rede 10 é mostrada como não sendo parte do aparelho 50. Ainda, a rede 10 define a fonte do significado da “relevância” para a qual as pontuações devem ser atribuídas ao conjunto 16 de itens por aparelho 50. Entretanto, alternativamente, o aparelho 50 pode incluir a rede 10 também.
[0065] A figura 4 mostra a rede 10 como o conjunto receptor 16 de itens com os itens sendo ilustrativamente indicados como pequenos círculos 42. A figura 4 também ilustra a possibilidade que a rede 10 é controlada por parâmetros de neurônio 44, como ponderações de função que controlam a computação da ativação do neurônio com base nos neurônios vizinhos/antecessores a montante do neurônio conforme descrito acima, ou seja, os parâmetros das funções do neurônio. Estes parâmetros 44 podem, por exemplo, ser armazenados em uma memória ou armazenamento 46. A figura 4 também ilustra a saída da rede 10 após ter concluído o processamento do conjunto 16 de itens 42 utilizando parâmetros 44, a saber, a saída de rede 18 e opcionalmente, as ativações de neurônio dos neurônios 12 resultando do processamento do conjunto 16, as ativações de neurônio sendo ilustradas pelo sinal de referência 48. As ativações de neurônio 48, saída de rede 18 e parâmetros 44 são ilustrativamente mostradas para serem armazenadas na memória 46, mas podem também ser armazenadas em um armazenamento ou memória separado ou pode não ser armazenado. O aparelho 50 tem acesso à saída de rede 18 e realiza a tarefa de redistribuição 52 utilizando a saída de rede 18 e o princípio da propagação definido para, assim, obter uma pontuação de relevância R[ para cada item i 52 do conjunto 16. Em particular, conforme descrito acima, o aparelho 50 deriva um valor de relevância inicial R da saída de rede e redistribui esta relevância R utilizando o processo de propagação reversa para, assim, terminar nas pontuações de relevância individuais Rt para os itens i. Os itens individuais do conjunto 16 são ilustrados na figura 4 por pequenos círculos indicados pelo sinal de referência 42. Conforme descrito acima, a redistribuição 52 pode ser guiada por parâmetros 44 e ativações de neurônio 48 e certamente, o aparelho 50 pode ter acesso a estes itens de dados também. Ainda, conforme representado na figura 4, a rede neural real 10 não precisa ser implementada dentro do aparelho 50. Ainda, o aparelho 50 pode ter acesso a, ou seja, conhecer, a construção da rede 10, como o número de neurônios, as funções do neurônio às quais os parâmetros 44 pertencem e a interconexão do neurônio, cuja informação é ilustrada na figura 4 utilizando o termo descrição de rede neural 54 que, conforme ilustrado na figura 4, pode também ser armazenado na memória ou armazenamento 46 ou qualquer local. Em uma aplicação alternativa, a rede neural artificial 10 é também implementada no aparelho 50 de modo que o aparelho 50 possa compreender um processador de rede neural para aplicar a rede neural 10 no conjunto 16 além de um processador de redistribuição que realiza a tarefa de redistribuição 52.
[0066] Assim, as aplicações apresentadas acima são capazes de, nomeadamente, fechar as lacunas entre a classificação e a interpretabilidade para redes neurais multicamadas que gostam de popularidade na visão do computador. Para redes neurais (por exemplo, [6, 31]), consideraremos estruturas de rede em camadas gerais com neurônios contínuos arbitrários e funções de agrupamento com base em meios p generalizados.
[0067] Uma próxima Seção Decomposição em Pixels como um Conceito Geral explicará as abordagens básicas subjacentes à decomposição em pixels dos classificadores. Esta decomposição em pixels foi ilustrada com relação às Figuras 1a e 2c. Decomposição em Pixels para Redes Multicamadas aplica as abordagens com base em de Taylor e de propagação de relevância em camadas explicadas em Decomposição em Pixels como um Conceito Geral para arquiteturas de rede neural. A avaliação experimental de nossa estrutura será feita em Experimentos.
DECOMPOSIÇÃO EM PIXELS COMO UM CONCEITO GERAL
[0068] A ideia geral da decomposição em pixels é entender a contribuição de um único pixel de uma imagem x para a previsão f(x) feita por um classificador f em uma tarefa de classificação de imagem. Gostariamos de constatar, separadamente para cada imagem x, cujos pixels contribuem para qual extensão em um resultado de classificação positivo ou negativo. Além disso, desejamos expressar esta extensão quantitativamente por uma medida. Assumimos que o classificador tem saídas de valor real que são limitadas a zero. Em tal configuração está um mapeamentode modo que denota a presença da estrutura aprendida. As saídas probabilísticas para os classificadores de duas classes podem ser tratadas sem perda de generalidade subtraindo 0,5 ou considerando o logaritmo da previsão e adicionando então o logaritmo de 2,0. Nós estamos interessados em localizar a contribuição de cada pixel de entrada Xç^ de uma imagem de entrada x em uma previsão particular f(x). A restrição importante específica para a classificação consiste na constatação da contribuição diferencial com relação ao estado de incerteza máxima com relação à classificação que é então representada pelo conjunto de ponto raízes Uma possível forma é decompor a previsão f(x) como uma soma de termos das dimensões de entrada separadas xd respectivamente pixels:
[0069] A interpretação qualitativa é que Rd < 0 contribui a evidência contra a presença de uma estrutura que deve ser classificada enquanto Rd > 0 contribui a evidência para sua presença. Em termos de visualização subsequente, as relevâncias resultantes Rd para cada pixel de entrada x^ podem ser mapeadas em um espaço colorido e visualizadas nesta forma como um heatmap convencional. Uma restrição básica será a seguir trabalhar que os sinais de Rd deveriam seguir a interpretação qualitativa acima, ou seja, os valores positivos deveriam denotar as contribuições positivas, os valores negativos e as contribuições negativas.
[0070] A seguir, o conceito é denotado como propagação de relevância em camadas como um conceito para a finalidade de atingir uma decomposição em pixels como na Equação (1). Nós também discutimos uma abordagem com base na decomposição de Taylor que produz uma aproximação da propagação de relevância em camadas. Nós mostraremos que para uma ampla faixa de arquiteturas de classificação não linear, a propagação de relevância em camadas pode ser feita sem necessidade de utilizar uma aproximação por meio da expansão de Taylor. Os métodos que apresentamos subsequentemente não envolvem segmentação. Eles não exigem treinamento em pixels como configuração de aprendizagem ou identificação em pixels para a fase de treinamento. A configuração utilizada aqui é a classificação em imagens, na qual durante o treinamento uma identificação é fornecida para uma imagem como um todo, entretanto, a contribuição não é sobre o treinamento do classificador. Os métodos são criados no topo de um classificador pré-treinado. Eles são aplicáveis a um classificador de imagem já pré-treinada.
PROPAGAÇÃO DE RELEVÂNCIA EM CAMADAS
[0071] A propagação de relevância em camadas, na sua forma geral, assume que o classificador pode ser decomposto em várias camadas de computação. Tais camadas podem ser partes da extração de recurso da imagem ou partes de um algoritmo de classificação executado nos recursos computados. Conforme mostrado posteriormente, isto é possível para redes neurais.
[0072] A primeira camada pode ser as entradas, os pixels da imagem, a última camada é a saída de previsão com valor real do classificador f.ésima camada é modelada como um vetor com dimensão V(l). A propagação de relevância em camadas assume que temos uma pontuação de relevância para cada dimensão do vetor z na camada l + 1. A ideia é localizar uma pontuação de relevância para cada dimensão do vetor z na próxima camada l que está mais próxima à camada de entrada de modo que a seguinte Equação se mantenha.
[0073] A Equação de Iteração (2) da última camada que é a saída do classificador /(%) abaixo da camada de entrada x consistindo em pixels de imagem então produz a Equação (1) desejada. A Relevância para a camada de entrada servirá como a decomposição da soma desejada na Equação (1). Conforme mostraremos, tal decomposição sozinha não é única, nem é garantido que produza interpretação significativa da previsão do classificador do vetor.
[0074] Damos aqui um simples contraexemplo. Supomos ter uma camada. As entradas são Utilizamos um classificador linear com algum mapeamento de espaço de recurso específico de dimensão e arbitrário e uma polarização b
[0075] Vamos definir a relevância para a segunda camada comumente como Então, uma possível fórmula de propagação de relevância em camadas seria para definir a relevância para as entradas x como
[0076] Isto claramente atende as Equações (1) e (2),entretanto, as Relevâncias de todas as dimensões de entrada têm o mesmo sinal que a previsão f(x). Em temos de interpretação de decomposição em pixels, todas as entradas apontam em direção à presença de uma estrutura se f(x) >0 e em direção à ausência de uma estrutura se f(x) < 0. Isto, para muitos problemas de classificação, não é uma interpretação realística.
[0077] Vamos discutir uma forma mais significativa de definir a propagação de relevância em camadas. Para este exemplo, nós definimos
[0078] Então, a relevância de uma dimensão de recurso xd depende do termo do sinal do vetor na Equação (5). Isto, para muitos problemas de classificação, é uma interpretação mais plausível. Este segundo exemplo mostra que a propagação de relevância em camadas é capaz de lidar com as não linearidades como o mapeamento de espaço de recurso Φd em alguma extensão e como um exemplo de propagação de relevância em camadas que satisfaz a Fórmula (2) pode parecer na prática. Observe que nenhuma suposição de regularidade no mapeamento de espaço de recurso Φd é necessária aqui, ela poderia ser ainda não contínua, ou não mensurável sob a medida Lebesgue. A Fórmula (2) subjacente pode ser interpretada como uma lei de conservação para a relevância R entre as camadas do processamento do recurso.
[0079] O exemplo acima fornece ainda uma intuição sobre qual relevância R é, a saber, a contribuição local para a função de previsão f(x). Neste sentido, a relevância da camada de saída pode ser escolhida como a própria previsão f(x).. Este primeiro exemplo mostra o que poderia esperar como uma decomposição para o caso linear. O caso linear fornece uma primeira intuição.
[0080] Nós fornecemos um segundo exemplo mais gráfico não linear. A figura 5 mostra um classificador em formato de rede neural com neurônios e ponderações wtj nas conexões entre os neurônios. Cada neurônio i tem uma saída de uma função de ativação.
[0081] A camada superior consiste em um neurônio de saída, indexado por 7. Para cada neurônio í nós gostamos de computar uma relevância Ri. Nós derrubaremos o índice da camada para este exemplo, pois todos os neurônios têm um índice de neurônio explícito sempre que o índice de camada for óbvio. Nós inicializamos a relevância da camada superior como o valor de função, assim. A propagação de relevância em camadas na Equação (2) requer agora manter
[0082] Faremos duas suposições para este exemplo. Primeiramente, nós expressamos a relevância em camadas em termos de mensagens entre neurônios ie j que podem ser enviados ao longo de cada conexão. As mensagens são, entretanto, direcionadas de um neurônio em direção a seus neurônios de entrada, ao contrário do que acontece no momento da previsão, conforme mostrado na figura 6. Depois, definimos a relevância de qualquer neurônio exceto o neurônio 7 como uma soma de imagens de entrada:
[0083] Por exemplo, Observe que o neurônio 7 não tem mensagens de entrada. Em vez de sua relevância ser definida como . Na equação (8) e no seguinte texto, os termos entrada e fonte têm o significado de ser uma entrada em outro neurônio na direção conforme definido durante o momento de classificação, não durante o momento de cálculo de propagação de relevância em camadas. Por exemplo, na figura 6, os neurônios 1 e 2 são entradas e a fonte para o neurônio 4, enquanto o neurônio 6 é a dissipação para os neurônios 2 e 3. Dadas as duas suposições codificadas na Equação (8), a propagação de relevância em camadas pela Equação (2) pode ser atendida pela seguinte condição suficiente:
[0084] No geral, esta condição pode ser expressa como:
[0085] A diferença entre a condição (13) e a definição (8) é que na condição (13) a soma executa sobre as fontes na camada l para um neurônio fixo k na camada l + 1, enquanto na definição (8) a soma excuta sobre os dissipadores na camada l + l para um neurônio fixo í em uma camada l. Esta condição é uma condição suficiente, não uma necessidade. É uma consequência de definição (8). Pode-se interpretar a condição suficiente (13) dizendo que as mensagenssão utilizadas para distribuir a relevância de um neurônio k em seus neurônios de entrada na camada l. As seguintes seções serão com base nesta noção e na forma mais restrita de conservação de relevância conforme dado pela definição (8) e pela condição suficiente (13).
[0086] Agora podemos derivar uma fórmula explícita para propagaçao de relevância em camadas para nosso exemplo definindo as mensagens A propagação de relevância em camadas deveria refletir as mensagens passadas durante o momento da classificação. Sabemos que durante o momento da classificação, um neurônio i insere ao neurônio k, pois I tem uma conexão de avanço a k. Assim podemos representar as Equações (9) e (10) por
[0087] No geral, isto pode ser expresso como
[0088] Enquanto esta definição ainda precisa ser adaptada de modo que seja utilizável quando o denominador se torna zero, o exemplo dado na Equação (16) fornece uma ideia de qual mensagem poderia ser, a saber, a relevância de um neurônio dissipador que já foi computado ponderado proporcionalmente pela entrada do neurônio í da camada anterior l. Esta noção mantém-se em uma forma análoga quando utilizamos diferentes arquiteturas de classificação e substituímos a noção de um neurônio por uma dimensão de um vetor de recurso em uma dada camada
[0089] A Fórmula (16) tem uma segunda propriedade: o sinal da relevância enviado por mensagemtroca se a contribuição de um neurônio tiver diferentes sinais, então uma soma das contribuições de todos os neurônios de entrada, ou seja, se o neurônio disparar contra toda a tendência para o neurônio superior do qual herda uma parte da relevância. O mesmo que para o exemplo com o mapeamento linear na Equação (5), um neurônio de entrada pode herdar a relevância positiva ou negativa dependendo do seu sinal de entrada.
[0090] Uma propriedade adicional é mostrada aqui também. A fórmula para a distribuição de relevância é aplicável às ativações de neurônio não linear e ainda não diferençável ou não contínua ak. Um algoritmo iniciaria com relevâncias R(l+1) da camada l + l que foram já computadas. Então, as mensagensseriam computadas para todos os elementos k da camada l+1 e elementos í da camada anterior l - em uma forma tal que a Equação (13) se mantenha. Então, a definição (8) seria utilizada para definir as relevâncias para todos os elementos da camada l.
DECOMPOSIÇÃO DO TIPO TAYLOR
[0091] Uma abordagem alternativa para atingir uma decomposição como em (1) para um previsor diferençável geral f é a aproximação de Taylor de primeira ordem.
[0092] A escolha de um ponto de base de Taylor x0 é um parâmetro libre nesta configuração. Conforme dito acima, no caso da classificação nós estamos interessados em localizar a contribuição de cada pixel relativo ao estado da incerteza máxima da previsão que é dada pelo conjunto de pontos f(x) = θ, pois f(x) > 0 denota a presença e f(x)<0 a ausência da estrutura aprendida. Assim, x0 deveria ser escolhido para ser uma raiz do previsor f. Para a finalidade de precisão da aproximação de Taylor da previsão, x0 deveria ser escolhido para estar próximo a x sob a norma Euclideana a fim de minimizar o resíduo de de Taylor de acordo com as aproximações de Taylor de ordem mais elevada. No caso de múltiplas raízes existentes x0 com norma mínima, eles podem ser medidos ou integrados a fim de obter uma média sobre todas estas soluções. A Equação acima simplifica para
[0093] A decomposição em pixels contém uma dependência não linear no ponto de previsão x além da série de Taylor, como um ponto raiz próximo x0 precisa ser encontrado. Assim, toda a decomposição em pixels não é uma linear, mas um algoritmo localimente linear, pois o ponto raiz x0 depende do ponto de previsão x.
[0094] Vários trabalhos têm utilizado os mapas de sensibilidade [2, 18, 38] para visualização das previsões do classificador que foram com base na utilização dos derivados parciais no ponto de previsão x. Há diferenças essenciais entre os mapas de sensibilidade com base nos derivados no ponto de previsão x e na abordagem de decomposição em pixels. Primeiramente, não há relação direta entre o valor de função f(x) no ponto de previsão x e o diferencial Df(x) no mesmo ponto x. Depois, estamos interessados em explicar a previsão do classificador relativa a um certo estado dado pelo conjunto de raízes do vetor função de previsão f(Xo) = θ- O diferencial Df(x) no ponto de previsão não necessariamente aponta para uma raiz que está próxima sob a norma Euclideana. Indica ao local mais próximo ideal que pode ainda ter o mesmo sinal que a previsão f(x) e, assim, ser ilusório para explicar a diferença ao conjunto de pontos raízes da função de previsão. Portanto, derivados no ponto de previsão x não são úteis para atingir nosso objetivo. A figura 7 ilustra a diferença qualitativa entre os locais do gradiente (setas voltadas para cima) e a decomposição em dimensões da previsão (setas voltadas para baixo). Em particular, esta figura representa a intuição que um gradiente em um ponto de previsão x - aqui indicado por um quadrado - não necessariamente indica a um ponto próximo no limite de decisão. Em vez disso, pode apontar para um local ideal ou para um ponto distante no limite de decisão. Neste exemplo, o vetor de explicação do local do gradiente no ponto de previsão x tem uma contribuição muito grande em uma direção irrelevante. Os vizinhos mais próximos da outra classe podem ser encontrados em um ângulo muito diferente. Assim, o local do gradiente no ponto de previsão x pode não ser uma boa explicação para as contribuições de dimensões únicas ao valor de função f(x). Gradientes locais no ponto de previsão na imagem esquerda e no ponto raiz de Taylor na imagem direita são indicados por setas pretas. O ponto raiz mais próximo x0 é mostrado como um triângulo no limite de decisão. As setas voltadas para baixo na imagem direita visualiza a aproximação de f(x) pela expansão de Taylor ao redor do ponto raiz mais próximo x0. A aproximação é dada como um vetor que representa o produto em dimensões entre Df(x0) (a seta cinza no painel direito) e x—x0 (a linhca tracejada no painel direito) que é equivalente à diagonal de outro produto entre Df(x0) e x — x0.
[0095] Uma dificuldade técnica é localizar um ponto raiz x0. Para classificadores contínuos nós podemos utilizar os dados de teste não identificados ou por dados produzidos por um modelo generativo aprendido dos dados de treinamento em uma abordagem de amostragem e realizar uma procura linear entre o ponto de previsão x e um conjunto de pontos candidatos {x'} de modo que sua previsão tenha sinal oposto: f(x)/(x’)<0. Es tá claro que a linha 1(a) = ax + (1 — a)x' deve conter uma raiz de f que pode ser encontrada por intersecção de intervalo. Assim, cada ponto candidato x' produz uma raiz e pode-se selecionar um ponto raiz que reduza o resíduo de Taylor ou utilize uma média sobre um subconjunto de pontos raízes com baixos resíduos de Taylor.
[0096] Observe que a decomposição do tipo de Taylor,quando aplicada em uma camada ou um subconjunto de camadas, pode ser vista como uma forma aproximada de propagação de relevância quando a função estiver altamente não linear. Isto mantém, em particular, quando for aplicado à função de saída f como uma função da camada anterior f = f(zt_i), como a Equação (18) atende aproximadamente a Equação (2) de propagação quando a relevância da camada de saída for inicializada como o valor de função de previsão f(x). Diferente da aproximação de Taylor, a propagação de relevância em camadas não requer utilizar um segundo ponto além do ponto de entrada. As fórmulas na Seção Decomposição em Pixels para Redes Multicamadas demonstrarão que a propagação de relevância em camadas pode ser implementada para uma faixa ampla de arquiteturas sem a necessidade de aproximar por meio da expansão de Taylor.
DECOMPOSIÇÃO EM PIXELS PARA REDES MULTICAMADAS
[0097] Redes multicamadas são geralmente construídas como um conjunto de neurônios interconectados organizados em uma forma em camadas. Elas definem uma função matemática quando combinadas entre si, que mapeia os neurônios da primeira camada (entrada) para os neurônios da última camada (saída) . Denotamos cada neurônio por xt onde í é um índice para o neurônio. Por convenção, associamos diferentes índices para cada camada da rede. Denotamos por ’’∑j ” a soma de todos os neurônios de uma dada camada e por ’’∑j ” a soma de todos os neurônios de outra camada. Denotamos por Xçd) os neurônios correspondentes às ativações de pixel (ou seja, com as quais gostaríamos de obter uma decomposição da decisão de classificação). Um mapeamento comum de uma camada à próxima consiste em uma projeção linear seguida por uma função não linear:onde wtj é uma ponderação que conecta o neurônio xt ao neurônio Xj, bj é um termo de polarização e g é uma função de ativação não linear (veja a figura 8 para esclarecer a nomenclatura utilizada). Redes multicamadas empilham várias destas camadas, cada uma delas, composta por um grande número de neurônios. Funções não lineares comuns são a tangente hiperbólica g(t) = tanh(t) ou a função de retificação g(t) = max(0, t). Esta formulação de uma rede neural é geralmente suficiente para abranger uma ampla faixa de arquiteturas como o simples perceptron multicamadas [39] ou redes neurais convolucionais [25], quando a convolução e o agrupamento por soma são operações lineares.
DECOMPOSIÇÃO DO TIPO DE TAYLOR
[0098] Denotando pora função multivariada em valor de vetor que implementa o mapeamento entre a entrada e a saída da rede, uma primeira possível explicação da decisão de classificação pode ser obtida pela expansão de Taylor em um ponto raiz próximo x0 da função de decisão f:
[0099] O derivado necessário para decomposição em pixels pode ser computado eficientemente reutilizando a topologia de rede utilizando o algoritmo de propagação reversa [39]. Em particular, tendo propagado de forma reversa os derivados até uma certa camada j, podemos computar o derivado da camada prévia í utilizando a regra de cadeia:
[0100] Uma exigência da decomposição com base em de Taylor é localizar as raízes x0 (ou seja, pontos no limite de classificação) que suportam uma explicação local da decisão de classificação para x. Estas raízes podem ser encontradas pela pesquisa local na proximidade de x. Entretanto, conforme observado em [43], isto pode levar a pontos do espaço de entrada que são perceptualmente equivalentes à amostra original x e cuja escolha como uma raiz produziria as decomposições em pixel não informativas.
[0101] Alternativamente, os pontos raízes podem ser encontrados pela procura linear no segmento definido por x e seu vizinho mais próximo de uma classe diferente. Esta solução é problemática quando o manifolde dos dados é esparsamente populado, como é o caso para imagens naturais. Neste caso, é provável que seguir uma linha reta entre x e seu vizinho mais próximo sairá fortemente do manifolde de dados e produzirá raízes x0 com decomposições em pixels semelhantemente pobres.
PROPAGAÇÃO REVERSA DE RELEVÂNCIA EM CAMADAS
[0102] Como uma alternativa para a decomposição do tipo de Taylor, é possível computar relevâncias em cada camada em um passe para trás, isto é, expressar as relevânciascomo uma função de relevâncias de camada superior e propagar de forma reversa as relevâncias até que atinjam a entrada (pixels).
[0103] O método trabalha como segue: sabendo a relevância de um certo neurônio para a decisão de classificação f(x), gostaria de se obter uma decomposição de tal relevância em termos de mensagens enviadas aos neurônios das camadas prévias. Chamamos estas mensagens de Em particular, conforme expresso pelas Equações (8) e (13), a propriedade de conservação deve manter-se.
[0104] No caso de um neurônio linear onde a relevância , tal decomposição é imediatamente dada por Entretanto, no caso geral, a ativação do neurônio Xj é uma função não linear de Zj. Entretanto, para a tangente hiperbólica e a função de retificação - duas simples funções uniformemente crescentes que atendem g(0) = 0, — as pré-ativações Zij ainda fornecer uma forma sensível de medir a contribuição relativa de cada neurônio xt a Rj. Uma primeira possível escolha de decomposição de relevância é com base na relação das pré-ativações local e global e é dada por:
[0105] Estas relevâncias são facilmente mostradas para aproximar as propriedades de conservação da Equação (2), em particular:onde o multiplicador considera a relevância que é absorvida (ou injetada) pelo termo de polarização. Se necessário, a relevância de polarização residual pode ser redistribuída em cada neurônio xt.
[0106] Uma desvantagem da regra de propagação do vetor da Equação (56) é que para pequenos valores Zj, as relevancies podem considerar valores ilimitados. A ilimitação pode ser superada introduzindo um estabilizador
[0107] A lei da conservação então se tornaonde podemos observar que alguma relevância adicional é absorvida pelo estabilizador. Em particular, a relevância é completamente absorvida se o estabilizador ε se tornar muito grande.
[0108] Um método de estabilização alternativo que não escapa relevância consiste no tratamento de pré-ativações negativa e positiva separadamente. Deixe onde ’’ —" e ’’ +" denotam a parte negativa e positiva de Ztj e bj. A propagação de relevância é agora definida como
[0109] Onde a > 0,β < 0, a + β = 1. Por exemplo, para a =2β = —1, a lei da conservação se torna:
[0110] que tem forma similar à Equação (57) . Este método de propagação alternado também permite controlar manualmente a importância da evidência positiva e negativa, escolhendo diferentes fatores aeβ.
[0111] A seguir, de modo mais geral, escreveremos Ríj para mensagens de relevância do neurônio j ao neurônio i, que é um vizinho a montante do neurônio j. No caso particular de uma rede neural com estrutura em camadas, é uma forma encurtada de escrever, onde i e j são neurônios de camadas l e l+1 respectivamente. Analogamente, podemos derrubar o índice de camada para a pontuação de relevância de um neurônio e escrever Rj em vez de
[0112] Além das fórmulas de redistribuição, podemos definir fórmulas alternativas como segue:onde n é o número de neurônios vizinhos a montante do respectivo neurônio, Rij é o valor de relevância redistribuída do respectivo neurônio j ao neurônio vizinho a montante i e Rj é a relevância do neurônio j que é um neurônio a jusante do neurônio i, é a ativação de neurônio vizinho a montante i durante a aplicação da rede neural, Wii é a ponderação que conecta o neurônio vizinho a montante i ao respectivo neurônio J, wrj é também uma ponderação que conecta o neurônio vizinho a montante r ao respectivo neurônio ,, e é um termo de polarização do respectivo neurônio J, e h() é uma função escalar. Tipicamente h() é um termo de estabilizador numérico que mantém o valor distante de zero adicionando um pequeno s, por exemplo, h(x) = x + ε sign (x)
[0113] De modo similar, outras alternativas são:
[0114] Uma vez que uma regra para propagação de relevância foi selecionada, toda a relevância de cada neurônio na camada inferior é determinada resumindo a relevância vindo de todos os neurônios de camada superior em consistência com as Equações (8) e (13):
[0115] A relevância é propagada de forma reversa de uma camada a outra até atingir os pixels de entrada x(d) e onde as relevâncias fornecem a decomposição em pixels desejada da decisão f(x). O procedimento de propagação de relevância em camadas completa para redes neurais é resumido no Algoritmo 2.
[0116] As fórmulas acima (58) e (60) são diretamente aplicáveis às camadas que atendem uma certa estrutura. Supomos que temos uma ativação do neurônio Xj de uma camada que é modelada como uma função de entradas das ativações xt a partir da camada anterior. Entao a propagação de relevância em camadas é diretamente aplicável se existir uma função gj e funções hij de modo que
[0117] Neste caso geral, os temos de ponderaçãoda Equação (50) devem ser substituídos certamente por uma função de . Observamos novamente que mesmo que o agrupamento máximo encaixar nesta estrutura como um limite de meio generalizado, veja a Equação (32), por exemplo. Para estruturas com um grau mais elevado de não linearidade, como normalização local [26, 36], a aproximação de Taylor aplicada na ativação do neurônio Xj pode ser utilizada novamente para atingir uma aproximação para a estrutura conforme dado na Equação (63).
[0118] Finalmente, pode ser visto a partir das fórmulas estabelecidas nesta seção que a propagação de relevância em camadas é diferente de uma série de Taylor ou derivados parciais. Diferente da série de Taylor, ela não requer um segundo ponto diferente da imagem de entrada. A aplicação em camadas da série de Taylor pode ser interpretada como uma forma genérica de atingir a versão aproximada de propagação de relevância em camadas. Semelhantemente, em contraste a quaisquer métodos que dependem dos derivados, a diferenciação ou propriedades de suavidade das ativações de neurônio não são uma exigência necessária para serem capazes de definir as fórmulas que atendam a propagação de relevância em camadas. Neste sentido, é um princípio mais geral.
VISUALIZAÇÃO GENERALIZADA
[0119] As fórmulas acima A5-A8 podem ser generalizadas.
[0120] Vamos supor que já temos as pontuações de relevânciapara todos os neurônios k na camada l + 1. Observe primeiro que a ideia básica é gerar mensagens de modo que a Equação (13)seja atendida e, então, para computar destas mensagens as relevâncias para todos os neurônios i na camada l. Conforme descrito acima, Equações A5 a A8 são exemplos sobre como computar as mensagens . A abordgaem descrita na Equação (8) acima foi utilizado para computar as relevâncias para todos os neurônios i na camada l.
[0121] Uma primeira generalização pode ser feita com relação à Equação (8):
[0122] Dadas todas as mensagens podemos computar as relevâncias para todos os neurônios i na camada l utilizando uma função de soma de mensagens de relevncia , q u e d. e not amos como m(.) , e q u e toma a s mensagens como entrada: A relevância de um neurônio i é computada por uma função m(-) como que deveria ser uniformemente crescente em cada um de sés argumentos e pode ser visto como uma generalização da soma na Equação (8) . Ao utilizar a terminologia de neurônios a montante e a jusantes, podemos escrever:
[0123] Uma variante geral levemente menor mas possivelmente frequentemente utilizada desta generalização é:
[0124] Com m2em3 sendo uma função uniformemente crescente de uma variável.
[0125] Por exemplo:
[0126] Onde c é uma constante que é escolhida de modo que a conservação de relevância se mantenha. Este exemplo coloca mais ponderação em grandes termos para grandes valores de n.
[0127] Uma segunda generalização pode ser feita com relação à Equação (13), ao considerar as fórmulas A5 a A8 nas quaisé sempre um termo vezes :
[0128] Onde q(i) é uma função de ponderação de modo que
[0129] Que garante que a Equação (13) ainda se mantém.
[0130] Visto que as pontuações de relevância de neurônio para neurônios k na camada l + 1 foram previamente computadas da s pontuações de relevância de neurônio para neurônios p Equação acima na camada l+2, podemos também reescrever a como:
[0131] Portanto, chegamos no primeiro nível de generalização:
GENERALIZAÇÃO 1
[0132] Dado um conjunto de pontuações de relevância de neurônio Rk para um conjunto de neurônios {k}, computamos mensagens de relevância ao conjunto de neurônios {i} que são neurônios a montante para o conjunto de neurônios {k} de modo que haja uma função de ponderação de mensagem q(-) de modo que
[0133] Dado um conjunto de mensagens de relevância cmputamos a pontuação de relevância de um neurônio i por uma função m(-) que é monotamente crescente em seus argumentos de modo que:
[0134] Em particular, ao utilizar apenas os temos da mensagem de relevância e assumindo ter as mensagens para todos os neurônios k que são neurônios a jusante de neurônio i, então podemos computar:
[0135] Fim da generalização 1.
[0136] Além disso, podemos exigir que a propriedade de conservação de relevância seja atendida. Este é o caso, por exemplo, se a rede for em camadas, a função m(.) é uma soma dos elementos e se a Equação
[0137] Observe que as exigências da estabilidade numérica podem nos exigir incluir termos do estabilizador numérico de modo que a propriedade de conservação de relevância seja atendida apenas aproximadamente, por exemplo, que a soma em camadas de relevâncias é igual aos desvios de 5%. Veja a função h(z) = z + ε sinal (z) utilizada nas fórmulas A5 e A6 como um exemplo para um estabilizador numérico.
GENERALIZAÇÃO 2
[0138] A exigência da propriedade de conservação de relevância até alguma tolerância a ser expressa por condições como:
[0139] Em termos de terminologia a montante e a jusante, isto seria:
[0140] Isto também pode ser reformulado com duas visualizações diferentes. Na primeira visualização, consideramos apenas a relevância inicial R da saída e as relevâncias Ri para cada item no conjunto de itens de entrada que serve como entradas para a rede neural. Então podemos formular a exigência acima nestes termos sem especificar uma soma de relevâncias em camadas intermediárias da rede neural:
[0141] Na segunda visualização, consideremos em vez de relevâncias pontuações para neurônios, mensagens de relevância entre neurônios que entram e deixam um neurônio fixo.
[0142] Exigimos que uma soma de mensagens que entra em um neurônio particular j de todos seus neurônios a jusante é aproximadamente igual a uma soma de mensagens que são enviadas do neurônio j a seus neurônios a montante, novamente exemplarmente com 5 uma tolerância de 5%:
[0143] Fim da generalização 2.
[0144] Todas estas três visualizações podem ser generalizadas ainda quando considerarmos para o termo médio uma função monotônica f ou , que apenas depende de sua entrada:
GENERALIZAÇÃO 2B
[0145] Visualização 1: pontuações de relevância Rkde neurônios
[0146] Visualização 2: pontuação de relevância R dos neurônios de saída e pontuações de relevância para os itens no conjunto de itens de entrada
[0147] Visualização 3: mensagens de relevância para vizinhos do neurônio a montante e a jusante do neurônio j.
[0148] Fim da generalização 2B.
[0149] Agora vamos considerar um terceiro nível de generalização.
[0150] Inspecionando as Equações A5 a A8 podemos identificar algumas exigências adicionais para os níveis acima de generalização. Primeiro de tudo q(i) nas Equações A5 a A8 depende das ativações ponderadas ztj. A diferença entre as fórmulas A5 versus A6 e A7 versus A8 fica meramente na definição das ativações ponderadas ztj.
[0151] Em A5 e A7, a ativação ponderada é . Em A6 e A8, a ativação ponderada é onde bj é a polarização do neurônio j e I é o número de neurônios a montante para o neurônio j. Esta diferença de definição da ativação ponderada vem de diferentes visualizações do vetor termo de polarização. Na primeira Equação o termo de polarização é modelado por um neurônio separado que emite uma saída constante com o valor igual ao valor de bj . Visto que a polarização é gerada por um neurônio separado, ela não entra nas computações das ativações ponderadas.
[0152] Na segunda visualização, a polarização é um termo adicional que é adicionado a cada entrada ao neurônio j - isto explica o termo adicionado na segunda definição de ativação ponderada.
[0153] Assim, de fato, nós temos apenas duas fórmulas base derivadas das duas Equações A5 e A7 com duas formas diferentes para definir a ativação ponderada zij .e
[0154] Ondeé um se a definição de ztj não incorporar a polarizaçao, isto é, se ztj for definido como e zero de outra forma. Aqui utilizamos implicitamente em vez da general definição de pontuação derelevância de neurônio Rjpor uma função uniformemente crescente m(-). Nestes casos especiais dados pelas Equações A5* e A7* temos
[0155] Esta inspeção leva ao terceiro nível de generalizaçao:
GENERALIZAÇAO 3
[0156] A função q(i) depende das ativações ponderadas ztj onde a ativação ponderada é uma função das ativações de neurônio xit as ponderações de conexão wtj e termos de polarizaçõe bj .
[0157] Como casos especiais
[0158] Fim da generalização 3.
[0159] Finalmente, há um quarto nível de generalização. Ao inspecionar as Equações A5* e A7* pode-se ver uma propriedade implícita - a saber, a dependência de q(i) na ordem das ativações ponderadas Ztj. Intuitivamente se para dois neurônios i± e i2 um da ativação ponderada for maior do que o outro:, então o neurônio i2 deveria também receber um grande compartilhamento da relevância do neurônio j do que o neurônio i1. Cuidado deve ser tomado para definir esta noção intuitiva, entretanto, pois as pontuações de relevância de neurônio Rj , as ativações ponderadas z^ e as ponderações q(i) podem ter diferentes sinais que levam aos viradas de sinal na mensagem de relevância resultante . Isto porque NÃO PODE simplesmente reivindicar . Para fornecer um contra exmeplo: na fórmula A5* if então segue: q(ii) > q(i2) > 0. Entretanto, o que mantem neste caso é: pois o termo é o mesmo para q(i1)e(i2).
[0160] Inspecionando as fórmulas A5* e A7*, pode-se chegar a um conjunto de propriedades de ordenação que é atendido por estas fórmulas. Uma forma de definir as propriedades de ordenação é considerar uma generalização de valores absolutos das ativações ponderadas z^ eos valores absolutos da função de ponderação da mensagem (.) .
[0161] Para a fórmula A5*, a seguinte propriedade de ordenação mantém:
[0162] Para a fórmula A7* uma propriedade de ordenação levemente diferente se mantém. Considere
[0163] Então para a funçãoa seguinte propriedade de ordenação se mantém:
[0164] Observe aqui que de modo que a função gO Também inclui a propriedade de ordenação para a fórmula A5* com diferentes valores para a,β.
[0165] Uma generalização adicional da função g(.) dada acima leva a uma função que tem seu mínimo em zero e que é uniformemente decrescente no intervalo e uniformemente crescente no intervalo .
[0166] Portanto, chegamos na
GENERALIZAÇÃO 4
[0167] A função de mensagem q(.) é necessária para atender a propriedade de ordenação que para todos i 1 e i 2 sendo neurônios vizinhos a montante do neurônio j para o qual é verdade que para uma função g(.) que tem seu mínimo em zero e que é uniformemente decrescente no intervalo e uniformemente crescente no intervalo .
[0168] Em particular, uma escolha para a função g(.)é
[0169] Fim da generalização 4.
[0170] Outra forma de definir as propriedades de ordenação é restringir-se ao caso quando Rj > 0 . Isto faz sentido quando não se tem interesse em propagar as relevâncias negativas do neurônio. Para entender isso, deve- se considerar que, geralmente, se interessa em fazer previsões para únicos itens em um conjunto de itens, quando a previsão feita pela rede neural é certa sobre a presença de uma estrutura, que implica na saída do neural tem pontuações altamente positivas no conjunto de itens como entrada. Se a saída do neural tiver pontuações altamente positivas, então pode-se esperar que a maioria das relevâncias do neurônio são positivas, muito, simplesmente porque a maioria dos neurônios estão suportando a previsão altamente positiva da rede neural e, portanto, pode-se ignorar a fração menor de neurônios com relevâncias negativas na prática.
[0171] Para deduzir outra propriedade de ordenação, observe que se, então tembém temos se para .
[0172] Em particular, ao considerar a fórmula A5*,então a seguinte propriedade de ordenação se mantém:
[0173] Se, então para todos i1 e i2 , que são neurônios a montante do neurônio j, temos:
[0174] Se, então para todos i1 e i2 , que são neurônios a montante do neurônio j, temos:
[0175] Esta propriedade não mantém as fórmulas A7* .
GENERALIZAÇÃO 5
[0176] A função de mensagem qQ é necessária para atender a propriedade de ordenação que se, então para todos i 1 e i 2, que sao neurônios a montante de neurônio j, temos :
[0177] Fim da generalização 5.
[0178] Outra propriedade de ordenação, que pode ser útil para o caso Rj > 0, seria:
[0179] Isto mantém a fórmula A7* .
[0180] Há uma propriedade de ordenação adicional que também mantém para ambas as fórmulas, A5* e A7*, a saber, se compararmos apenas as ativações ponderadas tendo o mesmo sinal:
[0181] A função de mensagem q(-) é necessária para atender a propriedade de ordenação que se então é verdade que
[0182] Está é uma forma de substituir a função g(.) pelo valor absoluto.
[0183] Observe que fórmula A5* atende uma propriedade de ordenação mais restrita, a saber,
[0184] Todas estas fórmulas se mantêm, quando conectamos em, de modo que poderíamos criar de cada uma das propriedades de ordenação acima duas versões dependendo de qual definição das ativações ponderadas Zij utilizarmos.
[0185] Observe que há outras possibilidades de definir as propriedades de ordenação.
[0186] Por exemplo, as seguintes oito condições também produziriam propriedades de ordenação significativas que são expressas em termos de mensagens de relevância:
[0187] Em vez de aplicar a expansão de Taylor na função da saída de rede como uma função das entradas de rede, a expansão de Taylor pode ser também aplicada para redistribuir a pontuação de relevância de um único neurônio em seus vizinhos a montante. Isto permite combinar as estratégias apresentadas acima para um conjunto de neurônios com distribuição de relevância de acordo com a distribuição de Taylor para outro conjunto de neurônios. A expansão de Taylor poderia ser utilizada na seguinte forma: supomos é a ativação do função de neurônio de neurônio j como uma função das entradas xík de neurônios vizinhos a montante . Então, deixamos ser a expansão de Taylor de Xj para as entradas ao redor de um ponto Então podemos utilizar a as fórmulas acima definindo:
VÁRIAS EXPLICAÇÕES ADICIONAIS
[0188] Assim, os classificadores da técnica prévia como redes neurais profundas (DNNs | deep neural networks) trabalham, conforme segue: 1) Uma estrutura de rede (por exemplo, número de camadas, unidades, etc.) é desenhada pelo humano. 2) Os parâmetros de rede (ponderações) são treinados / otimizados utilizando potencialmente milhões de amostras de dados identificados (e não identificados), por exemplo, imagens. Observe que algumas redes pré-treinadas estão disponíveis na web. 3) A rede pode ser aplicada em uma nova imagem e é capaz de, por exemplo, classificar uma imagem como pertencendo a uma classe específica, por exemplo, a classe das ‘imagens contendo um tubarão’, ‘documentos de texto que são novos artigos’ ou ‘pessoas sem credibilidade’. 4) Visto que a rede é altamente não linear e muito complexa, é difícil entender porque esta imagem específica é classificada como ‘tubarão’. Assim, a rede age como uma caixa preta (veja a figura 4). 5) As aplicações apresentadas são capazes de explicar porque o classificador chega a esta decisão, ou seja, somos capazes de visualizar onde (por exemplo, em termos de pixels) a informação importante está localizada. Falando de forma abstrata somos capazes de quebrar a decisão de classificação que foi computada em uma grande escala (por exemplo, toda a imagem, todo o documento de texto) em escalas menores (por exemplo, pixels individuais, palavras individuais). 6) Visto que DNNs não podem ser apenas treinadas em imagens, mas têm sido aplicadas para praticamente todo tipo de dados, por exemplo, séries de tempo, palavras, medicamentos físicos etc. os princípios das aplicações descritas são aplicáveis a muitos cenários diferentes.
[0189] A descrição trazida adiante com relação às Figuras 5 a 10 devem, a seguir, ser utilizadas a fim de fornecer algumas notas adicionais sobre a descrição do aparelho de atribuição de pontuação de relevância da figura 4. Já foi descrito acima que o aparelho 50 pode meramente ser configurado para realizar a redistribuição 52. Adicionalmente, entretanto, o aparelho 50 pode também ser configurado para realizar a aplicação real da rede neural artificial 10 no conjunto 16. Assim, o aparelho 50 pode, para esta alternativa, ser pensado como compreendendo um processador de rede neural para o qual o sinal de referência 10 poderia ser reutilizado e um processador de redistribuição para o qual o sinal de referência 52 poderia ser reutilizado. Em qualquer caso, o aparelho 50 poderia, por exemplo, compreender o armazenamento ou a memória 46. De forma interessante, entretanto, deveria ser observado que pode haver uma lacuna entre a camada da qual no processo de previsão, como processo de classificação, envolve a rede 10 por um lado e a camada até a qual o processo de propagação reversa 52 percorre através da rede 10 de forma reversa. No caso das Figuras 1a-c e 2a-c, por exemplo, ilustrou-se que a propagação adiante 14 envolvida no processo de previsão dispersa ou abrange as mesmas camadas da rede 10 como o processo de propagação reversa 32. Isto é, o processo de propagação adiante 14 ou rede 10 foi diretamente aplicado no conjunto 16 e a propagação reversa 32 diretamente terminada nas pontuações de relevância para o conjunto 16. No caso da figura 1b e 2b, por exemplo, dentro do processo de previsão, este conjunto 16 foi pré-preenchido na forma do processo de extração de recurso 30 e a fim de destacar as partes relevantes da pontuação de relevância elevada, por exemplo, em uma forma sobrepôs com a imagem original 22, uma reversão desta extração de recurso, a saber, 38, foi utilizada a fim de estender o processo de propagação reversa e realizar o destaque das partes relevantes no domínio espacial (pixel). Entretanto, a descrição definida acima também divulgou que o processo de extração de recurso 30 pode alternativamente ser transladado em, ou descrito, utilizando uma ou mais camada(s) adicional(is) da rede neural artificial, ou seja, camadas de neurônios precedentes à parte real (treinada) da rede 10 na direção da propagação adiante 14, ou seja, as camadas ou parte 21. Estas camadas que meramente espelham a tarefa da extração de recurso 30 não precisam ser de fato atravessadas na propagação reversa no processo de atribuição de relevância. Entretanto, estas camadas adicionais (transladadas) da parte 21 no lado do nível mais alto podem ser atravessadas no processo de propagação adiante durante o processo de previsão, a saber, na sua extremidade começando antes de atravessa a parte da rede real (treinada) 10. Assim, as pontuações de relevância Ri seriam obtidas para as amostras de recurso em vez de pixels. Falando de forma diferente, a relevância pode ser decomposta não apenas em termos de entradas variáveis (por exemplo, componentes vermelho, verde e azul de cada pixel no caso de imagens ou componentes do vetor associado a cada palavra em caso de textos), mas também em termos de transformada não linear destes itens (por exemplo, neurônios em certa camada da rede). Assim, pode-se desejar parar a projeção reversa de relevância em certa camada intermediária. Naturalmente, o exemplo desta lacuna entre o ponto inicial da propagação adiante por um lado e o ponto final na propagação reversa 32 por outro lado pode ser aplicado em outro tipo de dados também, ou seja, nos dados diferentes das imagens como, por exemplo, sinais de áudio, textos ou similares.
[0190] Notas adicionais parecem ser vantajoso com relação ao tipo de saída de rede 18 e os itens 42 do conjunto 16. Com relação à saída de rede 18, também foi descrito que a mesma pode ser um escalar ou um vetor, os componentes de escalar ou do vetor sendo, por exemplo, valores reais. O valor de relevância R derivado deste pode ser um valor real derivado de escalar ou um dos componentes do vetor, respectivamente. Com relação aos “itens” 42, os exemplos acima deveriam já ter sido suficientemente claros que podem, do mesmo modo, ser escalares ou vetores. A justaposição da figura 1a e 2a por um lado e da figura 1c e 2c por outro lado torna isto claro. No caso de pixels de imagens coloridas, como representado na figura 1c e 2c, os valores de pixels são vetores, a saber, aqui exemplarmente vetores de três ou ainda mais componentes correspondentes a três (ou mais) componentes de escalar coloridos como RGB, CMYK ou similares. Os itens 42 do conjunto 16 são os componentes de escalar dos pixels. A redistribuição do valor de relevância no conjunto de itens resulta em um valor de relevância Rt para cada item, a saber, cada componente para cada pixel. A fim de derivar um valor de relevância de escalar para cada pixel, os valores de relevância de todos os componentes do respectivo pixel podem ser resumidos a fim de obter tal valor de relevância comum para este pixel. Isto é mostrado em 37 na figura 2c. Medidas similares podem ocorrer em casos de textos. Assim, a decomposição de relevância em termos de entradas variáveis pode ser reagrupada em uma forma que permita uma fácil visualização e interpretação da decomposição de relevância. Por exemplo, a fim de visualizar a relevância como um heatmap no domínio de pixel, pode-se somar para cada pixel a relevância associada a seus componentes vermelho, verde e azul conforme explicado com relação à figura 2c. Semelhantemente, para a análise de texto, a fim de visualizar a decomposição de relevância de um documento como um texto em heatmap, pode-se somar para cada palavra a relevância associada a cada componente do vetor correspondente.
[0191] Outros exemplos poderiam ser avaliados também. As circunstâncias como impostas pela função de estabilização h(.) (veja Equações A5* e A7*), entretanto, podem resultar no “vazamento” de relevância de modo que a propriedade de relevância descrita, por exemplo, em forma das funções previamente mencionadas f, da generalização 2B possa, por exemplo, não ser atendida para cada conjunto 16 de itens. Por exemplo, pode apenas ser atendida para conjuntos ou itens resultantes em uma saída de rede que atinge, pelo menos, 75% da saída de rede máxima. Imagine, por exemplo, a previsão realizada por uma rede neural artificial ser uma certa imagem mostrando um “gato”, então prevê-se imagens para as quais a previsão na saída de rede resulta em um valor mais alto do que 75% que o mesmo mostra um gato pode, quando submetido à propagação reversa, resultam em pontuações de relevância para os pixels que atendem a condição referente a f (para todos eles ou pelo menos mais do que 99%) enquanto outras imagens não podem ou não com certeza.
[0192] De outro ponto de vista, a função de distribuição deveria vantajosamente ser selecionada de modo que o mesmo resulte em pontuações de relevância propagadas de forma reversa “significativas”. Para esta finalidade, a função de distribuição pode obedecer alguma propriedade de “ordenação”, adicional ou alternativamente à propriedade de conservação de relevância. Em outras palavras, mesmo sem obedecer a propriedade de conservação de relevância discutida acima, a função de distribuição pode resultar nas pontuações de relevância de forma reversa propagadas significativas. Em particular, para cada neurônio j, a função de distribuição que produz relevância Rij é redistribuída do respectivo neurônio j ao neurônio vizinho a montante i pode ser onde sendo o número de vizinhos a jusante do respectivo neurônio j é uma função uniformemente crescente para todos os seus componentes e produz o valor de relevância preliminarmente redistribuído do respectivo neurônio j e q(i) é uma função que atende uma propriedade de ordenação dependendo das ativações xt dos neurônios vizinhos a montante i do respectivo neurônio j - com I sendo o número de neurônios vizinhos a montante i - e ponderações Wij que conectam o neurônio vizinho a montante i ao respectivo neurônio J, e, se presente, um termo de polarização bj do respectivo neurônio j que é assumido ser zero se ausente, onde a propriedade de ordenação é uma daquelas dada e ao redor da generalização 4 e da generalização 5.
[0193] Também deveria ser observado que a figura 4 atualmente divulga um diagrama de um processo de atribuição de pontuação de relevância e que os elementos mostrados nele, como 10 e 52, representam as etapas do processo realizadas durante tal método/processo, em que as etapas como 30 e 38 representam as etapas ou tarefas opcionais adicionalmente realizadas durante o processo. Alternativamente, o aparelho 50 pode ser configurado para adicionalmente realizar as tarefas 30 e 38 ou 30. Por exemplo, todas as tarefas podem representar diferentes partes de um código de um programa de computador com base no processo ou no aparelho 50 que é implementado.
[0194] Ainda, a descrição acima deve, a seguir, ser descrita utilizando alguma terminologia diferente a fim de evitar o desentendimento com relação ao escopo do presente pedido.
[0195] Em particular, a descrição acima divulga uma análise de uma previsão feita em uma amostra, em que a “amostra” é um conjunto 16 de itens. A previsão é o processo de derivação da saída de rede com base no conjunto 16 de itens e é realizada por mapeamento, que considera a amostra como entrada. A previsão é feita na amostra como um todo e resulta em uma saída de valor de vetor ou valor real ou uma saída que pode ser transformada em uma saída de valor de vetor ou valor real, ou seja, a saída de rede 18. O mapeamento de previsão envolve a propagação adiante 14 através da rede neural. Pode ser decomposto da seguinte forma: consiste em elementos 12 que consideram entradas e computam uma saída aplicando uma função nas entradas, a saber, a função neural. Pelo menos um elemento 12 tem um item da amostra, ou seja, do conjunto 16, como entrada. O modelo é feito sem perda de generalidade de modo que cada elemento considera no máximo um item da amostra como entrada. Pelo menos um elemento 12 considera as saídas de outros elementos como entrada. Estes podem ser, conforme descrito acima, ponderados pela multiplicação de um valor que depende do elemento 12 e sua entrada. Pelo menos uma das ponderações é não zero. A saída de, pelo menos, um elemento é utilizado para fazer a previsão da amostra. Há uma conexão do item da amostra com as previsões no modelo.
[0196] Redigido de forma diferente, a propagação reversa descrita acima (em camadas) é realizada na suposição que uma previsão no conjunto de itens já foi realizada. O processo inicia com a inicialização da relevância de todos aqueles elementos que foram diretamente computados pela previsão, ou seja, com base na saída de rede. Se esta saída estiver em valor real, então a relevância R forma o neurônio de saída que computou a respectiva saída de rede de previsão é inicializada pelo uso da previsão do modelo. Se a saída estiver em valor de vetor, então a relevância R pode ser definida para todos os neurônios de saída, pode ser inicializada utilizando a inicialização descrita para o caso de saídas em valor real para um caso de neurônio de saída e definindo a relevância a zero para os neurônios de saída remanescentes. Após a inicialização, as seguintes duas fórmulas são submetidas à computação de forma alternada.
[0197] Em particular, para cada elemento (neurônio) k, para o qual a relevância Rk já foi computada, mensagens para todos os elementos i que fornecem entradas ao elemento k são computadas de modo que
[0198] Alternativamente, pode-se utilizar a Equação A2 apenas e computar as mensagens implicitamente apenas, em uma forma tal que atendam a Equação A1.
[0199] No caso da rede neural conter ciclos, ou seja, a rede neural é recorrente e tem estado dependentemente de tempo, sua estrutura pode ser desdobrada no tempo resultante em um mapeamento direto ao qual podemos aplicar o mesmo procedimento conforme descrito acima. Pelo desdobramento no tempo, queremos dizer ter uma camada que modela o estado do vetor rede em cada etapa no tempo.
[0200] Pelo menos uma das mensagens pode ser substituída por um valo aleatório antes de computar a relevância R[ do elemento de entrada i (mesmo se a mensagem de puder ser computada pois em alguma etapa a relevância Rk necessária para sua computação foi computada).
[0201] Pelo menos uma das mensagenspode ser substituída por um valor constante antes de computar a relevância Ri do elemento de entrada i (mesmo se a mensagem puder ser computada, pois em alguma etapa a relevância Rk necessária para sua computação foi computada).
[0202] A seguir, fornecemos uma visualização mais técnica sobre o princípio da propagação de relevância em camadas. Cada camada deve receber um índice. A primeira camada tem o índice 1, a última camada o índice mais alto. Uma pontuação para cada item no conjunto 16 pode ser computada na seguinte forma:
[0203] Supomos que já temos uma previsão na coleção organizada de itens. • Primeiramente, inicializar a relevância da última camada que é a camada de saída conforme descrito abaixo: Se a saída estiver em valor real, então inicializar a relevância para o único elemento na última camada como o valor de previsão do modelo. Se a saída estiver em valor de vetor, então inicializar a relevância para todos os elementos na última camada utilizando a inicialização descrita para o caso de saídas de valor real para, pelo menos, um elemento na camada de saída e definindo a relevância a zero para os elementos restantes. sobre as camadas de um índice de camada para a camada a montante.
[0204] A interação é feita como segue: Dadas as relevâncias para todos os elementos na camada atual (indexada como l + 1), computar os termos de mensagem de cada elemento na camada atual (índice l + 1) em todos os elementos na camada a montante (índice l) de modo que mantém até os erros de aproximação. • Dadas todas as mensagens da camada em sua camada a montante, computar a relevância para a camada a montante por
[0205] A partir daqui, a interação seria realizada para a próxima camada a montante l-1, pois todas as relevânciasna camada l foram computadas.• O resultado da interação através de todas as camadas abaixo da camada 1 são pontuações de relevância para todos os elementos na primeira camada, que são as pontuações para os itens na coleção organizada.
[0206] O resultado do método é uma pontuação por item que denota o relevante do item para a previsão feita na coleção organizada de itens ou o resultado é a pontuação combinada com, pelo menos, um dos seguintes • um mapeamento destas pontuações em uma cor de modo que cada intervalo de pontuações seja mapeado em uma cor • lista classificada de itens de acordo com uma ordem determinada pelas pontuações para cada item
[0207] Pode ser que • Se a função estiver na camada l, então denotamos o valor de saída de um elemento indexado com a -i letra i como • As conexões de um elemento indexado como i a outro elemento indexado como j podem ter ponderações wtj
[0208] Que são multiplicadas para a saída do elemento prévio. Portanto, a entrada em um elemento indexado como j de um elemento na camada l indexado como i pode ser escrito como • Termos de polarização podem ser representados pelos elementos que não possuem entrada e fornecem saídas constantes.
[0209] Em particular, computamos os termos de mensagensaplicando, pelo menos, em um elemento no modelo e ap conjunto de entradas deste elemento, pelo menos, um dos seguintes conjuntos de fórmulas: • Equações A5 ou A6 ou A7 ou A8 (dadas acima)
[0210] Os termos de mensagempodem ser computados aplicando em, pelo menos, um elemento no modelo e ao conjunto de entradas deste elemento, pelo menos, uma das Equações A1-A26 acima.
[0211] A amostra pode ser uma coleção organizada de itens. A seguir nós forneceremos uma lista de vários possíveis exemplos de coleções organizadas de itens.
[0212] A coleção organizada de itens pode ser uma imagem e cada item pode ser um conjunto de um ou mais pixel(s) respectivo(s).
[0213] A coleção organizada de itens pode ser um texto e cada item pode ser um conjunto de uma ou mais palavra(s) respectiva(s).
[0214] A coleção organizada de itens pode ser um texto e cada item pode ser um conjunto de uma ou mais sentença(s) respectiva(s).
[0215] A coleção organizada de itens pode ser um texto e cada item pode ser um conjunto de um ou mais parágrafo(s) respectivo(s).
[0216] A coleção organizada de itens pode ser uma lista de pares de valor chave e cada item pode ser um conjunto de um ou mais par(es) de valor chave respectivo(s).
[0217] A coleção organizada de itens pode ser uma lista de pares de valor chave de dados financeiros ou dados relacionados à empresa e cada item pode ser um conjunto de um ou mais par(es) de valor chave.
[0218] A coleção organizada de itens pode ser um vídeo e cada item pode ser um conjunto de um ou mais par(es) de pixels com carimbos de dados e hora.
[0219] A coleção organizada de itens pode ser um vídeo e cada item pode ser um conjunto de uma ou mais estrutura(s).
[0220] A coleção organizada de itens pode ser um vídeo e cada item pode ser um conjunto de um ou mais pixel(s).
ESPECIFICAÇÃO TÉCNICA DE UMA REDE NEURAL QUE PODE SER APRENDIDA
[0221] O seguinte parágrafo descreve uma rede neural em uma forma que a maioria de suas camadas são aprendidas durante uma fase de treinamento que é uma diferença a outros tipos de algoritmos de aprendizagem superficial. Pode ter as seguintes propriedades - Se o modelo tiver duas camadas no momento do teste, então as ponderações da primeira camada são otimizadas utilizando um conjunto de dados de treinamento e uma medida de erro que depende de um subconjunto dos dados de treinamento. - Se o modelo tiver três ou quatro camadas no momento do teste, então, pelo menos, a primeira ou a segunda ponderações da camada são otimizada utilizando um conjunto de dados de treinamento e uma medida de erro que depende de um subconjunto dos dados de treinamento. - Se o modelo tiver cinco ou mais camadas no momento do teste, então, pelo menos, as ponderações de uma camada da primeira camada até a terceira e última camada são otimizadas utilizando um conjunto de dados de treinamento e uma medida de erro que depende de um subconjunto dos dados de treinamento. (isto permite que as últimas camadas também sejam otimizadas)
[0222] Pelo menos um dos elementos na camada pode ser como unidades de ativação linear retificadas.
[0223] Pelo menos um dos elementos na camada pode ser unidades de ativação Heavi side.
[0224] Pelo menos um dos elementos na camada pode ser unidades de ativação tanh.
[0225] Pelo menos um dos elementos na camada pode ser unidades de tamanho de logístic a.
[0226] Pelo menos um dos elementos na camada pode ser unidades de ativação sigmoide.
EXPERIMENTOS
[0227] Mostramos resultados em dois conjuntos de dados, dois conjuntos de resultados no MNIST que são fáceis de interpretar e um segundo conjunto de experimentos em que confiamos em uma rede já treinada de 15 camadas fornecida como parte do pacote de código aberto Caffe [20], que prevê as 1000 categorias do desafio ILSVRC. De um lado, com os experimentos sobre dígitos MNIST, pretendemos mostrar que podemos descobrir detalhes específicos da fase de treinamento. Por outro lado, os resultados para a rede pré- treinada da caixa de ferramentas Caffe demonstram que o método funciona com uma rede neural profunda fora da caixa e não confia em possíveis truques durante a fase de treinamento.
[0228] Aplicamos a atribuição de pontuação de referência em outras imagens realísticas utilizando uma rede pré-treinada. As explicações das decisões de classificação na forma de pontuações de relevância destacam os recursos significativos de uma classe, por exemplo, barbatana de tubarão para ‘tubarão’, formato redondo para ‘xícaras’, formato de montanha para ‘vulcão’ etc. Observe que a atribuição de pontuação de relevância não destaca todos os gradientes na imagem, mas destaca os recursos discriminativos. A figura 9, por exemplo, mostra a aplicação da atribuição de pontuação de relevância representada acima em uma rede neural treinada para discriminar 1000 classes do conjunto de dados ImageNet: As imagens superiores mostram a entrada na rede, ou seja, o conjunto 16 e as imagens inferiores mostram um heatmap indicando as pontuações de relevância atribuídas aos pixels de acordo com as aplicações acima, um para cada imagem de entrada. Os heatmaps podem, conforme descrito acima, sobrepor nas imagens de entrada. É visto que no caso de cobras (imagem esquerda), os pixels representando a concha recebem a maioria da pontuação de relevância inicial, ou seja, são identificadas como a principal razão para resultar na previsão da rede de classificação da imagem conforme mostra uma cobra, no caso de um tubarão (segunda da imagem esquerda) os pixels representando a barbatana recebem a maioria da pontuação de relevância inicial, em caso de uma colina (segunda da imagem direita) os pixels representando a crista recebem a maioria da pontuação de relevância inicial e no caso de combinações (imagem esquerda) os pixels representando as combinações e o fogo recebem a maioria da pontuação de relevância inicial.
[0229] Também treinamos uma rede neural no conjunto de dados MNIST. Este conjunto de dados contém imagens de números de 0 a 9. Após a formação, a rede pode classificar novas imagens invisíveis. Com a atribuição de pontuação de relevância de propagação reversa, podemos perguntar por que a rede classifica uma imagem de 3 como classe ‘3’, ou seja, o que faz um 3 diferente dos outros números. Pode-se ver no heatmap na figura 10 que as características mais importantes de um 3 (em relação aos outros números) são o curso horizontal médio e a ausência de conexões verticais à esquerda (que estaria lá para o número 8). Pode-se também perguntar, por exemplo, por que uma imagem de um 4 não é classificada como “9”, ou seja, em outras palavras que fala contra um 9 quando vê uma imagem de um 4. Pode-se ver que a evidência contra um ‘9’ é o espaço no topo do 4. Observe que a cor vermelha indicada utilizando a seta 62 significa evidência de uma certa classe e a cor azul indicada em 60 representa evidências contra a classe. Em resumo, mostramos que o método fornece explicações significativas das decisões de classificação.
APLICAÇÕES
[0230] Até agora, a descrição se concentrou no processo de atribuição de pontuação de relevância. A seguir, deve ser descrito brevemente quais as pontuações de relevância atribuídas aos itens do conjunto 16 podem ser utilizadas.
[0231] Uma Aplicação Geral seria utilizar a Pontuação de Atribuição de Relevância (atribuição de RS) proposta aqui como parte de um algoritmo maior mais complexo (CA). Pode-se pensar sobre situações onde é muito caro aplicar o algoritmo CA, assim nossa atribuição de RS poderia definir algumas regiões de interesse onde o algoritmo CA poderia ser aplicado. Por exemplo, - o tempo de um médico é precioso. A atribuição de RS pode identificar as regiões importantes em uma imagem ao rastrear o câncer. - na codificação de vídeo, a largura de banda do canal é preciosa. A atribuição de RS poderia informar o algoritmo CA sobre quais partes do vídeo são mais importantes do que outras, por exemplo, para determinar uma melhor estratégia de codificação (por exemplo, utilizando mais bits para partes importantes) ou uma programação de transmissão melhor (por exemplo, transmitir informações importantes primeiro). - o heatmap pode ser utilizado para computar recursos adicionais para alguma tarefa de previsão. Por exemplo, podemos utilizar uma rede treinada, aplicá-la a alguma imagem e extrair mais recursos de regiões que são mais importantes. Isso pode resultar em redução do tempo de computação ou transmissão de informações. Alternativamente, as regiões ou informações adicionais extraídas dela podem ser utilizadas para treinar e melhorar a rede treinada. - a atribuição de RS poderia ser utilizada como uma ferramenta investigativa no caso de um usuário ou empresa desejar saber quais regiões ou características são importantes para uma determinada tarefa.
[0232] Ainda, no campo de Aplicação de Imagem, - a atribuição de RS pode ser utilizada em aplicações médicas, por exemplo, como auxílio para médicos na identificação de tumores em imagens patológicas ou identificar observações em imagens de MRI. Exemplos mais concretos incluem: - detecção de sinais de inflamação em imagens de tecidos biológicos, - detecção de sinais de câncer em imagens de tecidos biológicos, - detecção de alterações patológicas em imagens de tecidos biológicos, - a atribuição de RS pode ser aplicada a imagens gerais. Por exemplo, as plataformas de sites sociais ou motores de busca têm muitas imagens e podem estar interessadas no que faz uma imagem “engraçada”, “incomum”, “interessante” ou o que faz uma pessoa, uma imagem de habitação ou interiores de casas atrativa/estética ou menos atraente/menos estética. - a atribuição de RS pode ser utilizada em aplicativos de vigilância para detectar qual parte da imagem desencadeia o sistema para detectar um evento incomum. - Detecção de mudanças no uso da terra em imagens tiradas por satélites, aeronaves ou dados de detecção remota.
[0233] No campo Aplicação de Vídeo, - Heatmaps podem ser usados para definir a força de compressão da codificação, por exemplo, utilizando mais bits para áreas que contêm informações importantes e menos bits para outras áreas. - A atribuição de RS pode ser utilizada para o resumo de vídeos, ou seja, para identificar quadros “relevantes” em um vídeo. Isso permitiria a navegação de vídeo inteligente. - Os filmes animados às vezes não parecem muito realistas. Não está claro o que está “faltando” para tornar o filme mais realista. Heatmaps podem ser usados neste caso para destacar partes irrealistas do vídeo.
[0234] No caso de Aplicações de Textos, - A classificação de documentos de texto em categorias pode ser realizada por modelos DNN ou BoW. A atribuição de RS pode visualizar por que os documentos são classificados em uma classe específica. A relevância de um texto para um tópico pode ser destacada ou selecionada para posterior processamento. A atribuição de RS pode destacar palavras importantes e, portanto, fornecer um resumo de um texto longo. Tais sistemas podem ser úteis para, por exemplo, advogados de patentes para navegar rapidamente em muitos documentos de texto.
[0235] No caso de Aplicações de Dados Financeiros,
[0236] Os bancos utilizam classificadores como redes neurais (profundas) para determinar se alguém obtém um empréstimo de crédito ou não (por exemplo, o sistema alemão Schufa). Não é transparente como esses algoritmos funcionam, por exemplo, algumas pessoas que não recebem crédito não sabem o porquê. A atribuição de RS poderia mostrar exatamente por que alguém não recebe o crédito.
[0237] No campo de Marketing / Vendas, - atribuição de RS poderia ser utilizada para determinar o que faz uma descrição de produto particular em imagem/texto vender o produto (por exemplo, locação de apartamento, descrição do produto ebay). - a atribuição de RS pode ser utilizada para determinar o que faz uma publicação de vídeo/blog online altamente visualizada ou curtida. - As empresas podem estar, no geral, interessadas sobre o que os “recursos” tornam, por exemplo, seu site ou produto atraente. - as empresas estão interessadas em saber por que alguns usuários compram um produto e outros não o compram. A atribuição de RS pode ser utilizada para identificar o motivo para os usuários não comprarem um produto e melhorar a estratégia de propaganda em conformidade.
[0238] No campo Linguística/Educação - A atribuição de RS poderia ser utilizada para determinar qual parte de um texto diferencia os falantes nativos de falantes nativos para um idioma específico, como inglês, francês, espanhol ou alemão. - A atribuição de RS pode ser utilizada para encontrar elementos de prova no texto que um documento tenha sido escrito por uma determinada pessoa, ou não.
[0239] Na descrição acima, diferentes aplicações foram fornecidas para atribuição de pontuações de relevância a um conjunto de itens. Por exemplo, exemplos foram fornecidos com relação às imagens. Na conexão com os últimos exemplos, as aplicações foram fornecidas com relação a uma utilização das pontuações de relevância, a saber, a fim de destacar as partes relevantes nas imagens utilizando as pontuações de relevância, a saber, pelo uso de um heatmap que pode ser colocado com a imagem original. A seguir, aplicações que utilizam ou explicitam as pontuações de relevância são apresentadas, ou seja, aplicações que utilizam a atribuição de pontuação de relevância descrita acima como uma base.
[0240] A figura 11 ilustra um sistema para processamento de um conjunto de itens. O sistema é geralmente indicado utilizando o sinal de referência 100. O sistema compreende, além do aparelho 50, um aparelho de processamento 102. Ambos operam no conjunto 16. O aparelho de processamento 102 é configurado para processar o conjunto de itens, ou seja, conjunto 16, a fim de obter um resultado de processamento 104. Ao fazer isso, o aparelho de processamento 102 é configurado para adaptar seu processamento dependendo das pontuações de relevância Rt que foram atribuídas aos itens do conjunto 16 pelo atribuidor de pontuação de relevância 50. O aparelho 50 e o aparelho 102 podem ser implementados utilizando software que executa em um ou mais computador(es). Eles podem ser implementados em programas de computador separados ou em um programa de computador comum. Com relação ao conjunto 16, todos os exemplos apresentados acima são válidos. Por exemplo, imagine que o aparelho de processamento 102 realiza um processamento com perdas como compressão de dados. Por exemplo, a compressão de dados realizada pelo aparelho 102 pode incluir a redução da irrelevância. O conjunto 16 pode, por exemplo, representar dados da imagem como uma imagem ou vídeo e o processamento realizado pelo aparelho 102 pode ser uma compressão de natureza com perdas, ou seja, o aparelho pode ser um codificador. Neste caso, o aparelho 102 pode, por exemplo, ser configurado para reduzir a capacidade de perda do processo para itens tendo pontuações de relevância mais elevadas atribuídas que computadas com os itens tendo pontuações menores de relevância atribuídas a eles. A capacidade de perda pode, por exemplo, ser variada através do tamanho da etapa de quantização ou variando a taxa de bits disponível de um controle de taxa do codificador. Por exemplo, áreas de amostras para as quais a pontuação de relevância é alta podem ser codificadas com menos perdas como utilizando taxa de bit mais elevada, utilizando o tamanho da etapa de quantização inferior ou similar. Assim, a atribuição de pontuação de relevância realiza sua atribuição de pontuação de relevância, por exemplo, com relação a uma detecção/previsão de pessoas suspeitas em uma cena de vídeo. Neste caso, o aparelho de processamento 102 é capaz de gastar mais taxa de dados na compressão com perdas do vídeo, que de acordo com este exemplo representa o conjunto 16, com relação às cenas interessantes, ou seja, partes espaço temporal sendo de interesse, pois suspeitos foram “detectados” dentro do mesmo. Ou o aparelho de processamento 102 utiliza a mesma taxa de dados, mas devido à ponderação obtida pelas pontuações de relevância, a compressão é inferior para itens de amostras com pontuações de relevância altas e a compressão é mais alta para itens de amostras com baixas pontuações de relevância. O resultado de processamento 104 é neste caso os dados comprimidos com perdas ou a corrente de dados, ou seja, a versão comprimida do vídeo 16. Entretanto, conforme previamente mencionado, o conjunto 16 não é restrito aos dados de vídeo. Pode ser uma imagem ou um fluxo de áudio ou similar.
[0241] Por uma questão de integridade, a figura 12 mostra uma modificação do sistema da figura 11. Aqui, a atribuição de pontuação de relevância 50 opera no conjunto 16 a fim de derivar as pontuações de relevância Rt para os itens do conjunto 16, mas o aparelho de processamento 102 opera nos dados a serem processados 106 que não são iguais ao conjunto 16. Ainda, o conjunto 16 foi derivado dos dados 106. A figura 12, por exemplo, ilustra o caso exemplar da figura 1 de acordo com o qual o conjunto 16 foi derivado dos dados 106 pelo processo de extração de recurso 30. Assim, o conjunto 16 ’’descreve” os dados 106. Os valores de relevância Rt podem, em uma forma descrita, serem assciados com os dados originais 106 através de um processo de mapeamento reverso 38, que representa um mapeamento reverso ou uma reversão com relação ao processo de extração de recurso 30. Assim, o aparelho de processamento 102 opera em dados 106 e adapta e simplifica seu processamento dependente das pontuações de relevância Rt.
[0242] O processamento realizado pelo aparelho de processamento 102 nas Figuras 11 e 12 não é restrito a um processamento com perdas como uma compressão com perdas. Por exemplo, em muitos exemplos acima para o conjunto 16 ou dados 106, os itens do conjunto 16 formam uma coleção organizada de itens ordenados em 1, 2 ou mais dimensões. Por exemplo, pixels são ordenados em, pelo menos, 2-dimensões, a saber, x e y são as duas dimensões laterais e 3-dimensões ao incluir o eixo de tempo. No caso dos sinais de áudio, as amostras como as amostras de domínio de tempo (por exemplo, PCM) ou coeficientes de MDCT são ordenadas ao longo de um eixo de tempo. Entretanto, os itens do conjunto 16 podem também ser ordenados em um domínio espectral. Isto é, os itens do conjunto 16 podem representar coeficientes de uma decomposição espectral de, por exemplo, uma imagem, vídeo ou sinal de áudio. Neste caso, o processo 30 e o processo reverso 38 poderiam representar uma decomposição espectral ou transformada de avanço ou uma transformada inversa, respectivamente. Em todos os casos, as pontuações de relevância R[ conforme obtido pelo atribuidor de pontuação de relevância 50 são do mesmo modo ordenados, ou seja, eles formam uma coleção organizada de pontuações de relevância, ou em outras palavras, formam um “mapa de relevância” que podem ser sobrepostos com o conjunto 16 ou, através do processamento 38, dados 106. Assim, o aparelho de processamento 102 poderia, por exemplo, realizar uma visualização do conjunto 16 de dados 106 utilizando a ordem entre os itens do conjunto 16 ou a ordem das amostras de dados 106 e utilizar o mapa de relevância a fim de destacar uma parte relevante da visualização do vetor. Por exemplo, o resultado de processamento 104 seria uma apresentação de uma imagem em uma tela e utilizando o aparelho do mapa de relevância 102 destacando algumas partes na tela utilizando, por exemplo, pisca, inversão de cor ou similar, a fim de indicar uma parte da relevância elevada no conjunto 16 ou dados 106, respectivamente. Tal sistema 100 poderia, por exemplo, ser utilizado para a finalidade de vigilância de vídeo a fim de chamar a atenção por exemplo, dos guardas de segurança em uma determinada parte de uma cena representada por dados 106 ou conjunto 16, ou seja, um vídeo ou imagem, por exemplo.
[0243] Alternativamente, o processamento realizado pelo aparelho 102 pode representar uma reposição de dados. Por exemplo, a reposição de dados pode se referir a uma leitura de uma memória. Como outra alternativa, a reposição de dados pode envolver uma medida adicional. Imagine, por exemplo, que o conjunto 16 é novamente uma coleção organizada, ou seja, é um mapa de recurso pertencente a uma imagem 106, é uma imagem sozinha ou um vídeo. Neste caso, o aparelho de processamento 102 poderia derivar das pontuações de relevância Rt na informação de uma ROI, ou seja, uma região de interesse e poderia focar a reposição de dados nesta ROI para, assim, evitar a realização da reposição de dados com relação à cena completa cujo conjunto 16 se refere. Por exemplo, a primeira atribuição de pontuação de relevância poderia ser realizada pelo aparelho 50 em uma imagem microscópica de baixa resolução e o aparelho 102 poderia então realizar outra medida microscópica com relação a uma parte local da imagem microscópica de baixa resolução para a qual as pontuações de relevância indicam uma alta relevância. O resultado de processamento 104 certamente seria a reposição de dados, a saber, a medida adicional na forma de uma imagem microscópica de alta resolução.
[0244] Assim, no caso de utilizar o sistema 100 das Figuras 11 ou 12 para a finalidade de controlar o gasto da taxa de dados, o sistema 100 resulta em um conceito de compressão eficiente. No caso de utilizar o sistema 100 para processos de visualização, o sistema 100 é capaz de aumentar a probabilidade que um visualizador percebe alguma região de interesse. No caso de utilizar o sistema 100 a fim de otimizar uma reposição de dados, o sistema 100 é capaz de evitar a quantidade de reposição de dados evitando o desempenho da reposição de dados com relação às áreas de não interesse.
[0245] A figura 13 mostra um sistema 110 para destaque de uma região de interesse de um conjunto de itens. Isto é, no caso da figura 13, o conjunto de itens é novamente suposto ser uma coleção organizada, como um mapa de recurso, uma imagem, um vídeo, um sinal de áudio ou similar. O atribuidor de pontuação de relevância 50 é compreendido pelo sistema 110 além de um gerador de gráfico 112 que gera um gráfico de relevância dependendo das pontuações de relevância Ri fornecido pelo atribuidor de pontuação de relevância 50. O gráfico de relevância 114 pode, conforme já descrito acima, ser um heatmap onde a cor é utilizada a fim de “medir” as relevâncias R[. As pontuações de relevância Ri são, conforme descrito acima, escalar, ou as mesmas podem ser feitas como escalar resumindo as pontuações de relevância do mapeamento pertencentes juntas como pontuações de relevância de subpixels de diferentes componentes coloridos pertencentes a um pixel colorido de uma imagem. As pontuações de relevância escalar Ri podem então ser mapeadas na escala de cinza, ou cor utilizando, por exemplo, as pontuações de relevância escalar unidimensional do pixel como valor CCT, por exemplo. Entretanto, qualquer mapeamento de uma dimensão em um espaço colorido tridimensional como RGB pode ser utilizado para gerar um mapa colorido. Por exemplo, mapeia-se as pontuações em um intervalo de tonalidades, fixa-se a saturação e as dimensões do valor e, então, transforma a reapresentação de HSV em uma reapresentação de RGB.
[0246] Entretanto, o gráfico de relevância 114 pode, alternativamente, ser representado na forma de um histograma ou similar. Um gerador de gráfico 112 pode inclui uma tela para exibir o gráfico de relevância 114. Além disso, o gerador de gráfico 112 pode ser implementado utilizando software como um programa de computador que pode ser separado ou incluído dentro de um programa de computador que implementa o atribuidor de pontuação de relevância 50.
[0247] Como um exemplo concreto, imagine que o conjunto 16 de itens é uma imagem. As pontuações de relevância em pixels para cada pixel obtido de acordo com o atribuidor podem ser discretizadas/quantizadas em/sobre um conjunto de valores e os índices de discretização/quantização podem ser mapeados em um conjunto de cores. O mapeamento pode ser feito no gerador de gráfico 112. A atribuição resultante dos pixels em cores, ou seja, como um “heatmap” no caso do mapeamento de cor por relevância seguindo alguma medida por CCT (temperatura de cor) para as cores, pode ser salva como um arquivo de imagem em um banco de dados ou em um meio de armazenamento ou apresentada em um visualizador pelo gerador 112.
[0248] Alternativamente, a atribuição de pixels para cores pode ser sobreposta com a imagem original. Neste caso, o processador 102 das Figuras 11 e 12 poderia atuar como um gerador de gráfico. A imagem de sobreposição resultante pode ser salva como um arquivo de imagem em um meio ou apresentada a um visualizador. A “sobreposição” pode ser feita, por exemplo, ao transformar a imagem original em uma imagem em escala de cinza e usar para o mapeamento das pontuações de relevância de pixel para colorir valores de um mapeamento para valores de tonalidade. Uma imagem de sobreposição pode ser criada pelo processador 102 utilizando a representação de valor de saturação de matiz, ou seja, o valor (no entanto, com uma tampa em valores muito pequenos porque um pixel quase preto não possui cores claramente visíveis e possivelmente também a saturação é tomada a partir da imagem original), é obtida a partir do valor da escala de cinza da amostra respectiva da versão da escala de cinza da imagem original e os valores da tonalidade são tirados do mapa de cores. O processador 102 poderia submeter uma imagem gerada como apenas descrita, por exemplo, o mapa de cores ou a sobreposição ou o conjunto ordenado de pontuações de relevância (que pode ser representado como uma imagem, mas isso não é um requisito), para a segmentação. Esses segmentos em uma imagem tão segmentada, que correspondem a regiões com pontuações muito altas ou a regiões com pontuações que possuem grandes valores absolutos, podem ser extraídos, armazenados em um banco de dados ou meio de armazenamento e usados (com ou sem inspeção manual subsequente) como dados de treinamento adicionais para um procedimento de treinamento do classificador. Se o conjunto 16 de itens for de texto, o resultado da atribuição de relevância pode ser uma relevância de uma pontuação por palavra ou por sentença conforme descrito acima. A pontuação de relevância pode então ser discretizada em um conjunto de valores e mapeada em um conjunto de cores. As palavras podem, então, pelo processador 102, ser marcadas pela cor, o texto em destaque colorido pode ser salvo em um banco de dados ou em um meio de armazenamento ou apresentado a um humano. Alternativa ou adicionalmente para destacar as palavras, o processador 102 apenas seleciona um subconjunto de palavras, partes de sentenças ou frases do texto, ou seja, aqueles com as pontuações mais altas ou os valores absolutos mais altos de pontuação (por exemplo, por limiar da pontuação ou seu valor absoluto) e salva essa seleção em um banco de dados ou em um meio de armazenamento ou apresenta-o a um humano. Se a atribuição de relevância for aplicada a um conjunto de dados 16, de modo que uma amostra consista em um conjunto de pares de valores-chave, por exemplo, dados financeiros sobre empresas, armazenados em uma tabela em um banco de dados, o resultado para cada amostra seria uma pontuação de relevância por par de valor-chave. Para uma determinada amostra, um subconjunto de pares de valores-chave com os valores mais altos ou os valores absolutos mais altos de pontuação (por exemplo, pelo limite de pontuação ou seu valor absoluto) pode ser selecionado e esta seleção pode ser salva em um banco de dados ou em um meio de armazenamento ou apresentá-la a um humano. Isto poderia ser feito pelo processador 102 ou pelo gerador 112.
[0249] Já foi descrito acima com relação à figura 12, que o conjunto de dados 16 pode ser uma imagem ou um vídeo. As pontuações de relevância em pixels podem então ser utilizadas para localizar as regiões com altas pontuações. Para esta finalidade, a segmentação mencionada acima ou uma segmentação de vídeo pode exemplarmente ser utilizada. No caso de um vídeo, uma região de alta pontuação seria um subconjunto espaço temporal ou parte do vídeo. Para cada região, uma pontuação por região, por exemplo, pela computação de uma média ou uma quantidade de pontuações em pixels para os pixels da região poderia ser computada. O conjunto de dados, por exemplo, o vídeo, então seria submetido a um algoritmo de compressão pelo processador 102 para o qual a taxa de compressão pode ser ajustada para regiões de acordo com a pontuação computada. Um mapeamento monótono (caindo ou subindo) das pontuações da região para as taxas de compressão poderia ser utilizado. Cada uma das regiões então seria codificada de acordo com o mapeamento das pontuações da região para as taxas de compressão.
[0250] Além disso, o processador 102 poderia agir da seguinte forma no caso de uma imagem como o conjunto 16: A segmentação apenas descrita poderia ser aplicada ao conjunto de pontuações para todos os pixels ou a uma imagem de sobreposição ou ao mapa de cores e segmentos correspondentes a regiões com pontuações que são muito altas ou para regiões com pontuações que possuem grandes valores absolutos, podem ser extraídas. O processador pode então apresentar esses segmentos colocalizados da imagem original 16 a um humano ou outro algoritmo para verificar o conteúdo por possibilidade de conteúdo conspícuo ou anômalo. Isto poderia ser utilizado, por exemplo, em aplicativos de segurança. Da mesma forma, o conjunto 16 pode ser um vídeo. O vídeo inteiro, por sua vez, é composto por um conjunto de quadros. Um item no conjunto 16 de itens pode ser um quadro ou um subconjunto de quadros ou um conjunto de regiões a partir de um subconjunto de quadros como já indicado acima. A segmentação de vídeo espaço- temporal poderia ser aplicada à atribuição de pontuação de relevância aos itens, a fim de encontrar regiões espaços- temporais com pontuação média alta para os itens ou valores absolutos médios elevados de pontuação para os itens. Conforme mencionado acima, as pontuações médias atribuídas aos itens dentro de uma região podem ser medidas, por exemplo, utilizando uma média p ou um estimador de quantil. As regiões espaços-temporais com maiores pontuações, como pontuações superiores a um certo limite, podem ser extraídas pelo processador 102 (por exemplo, por meio de segmentação de imagem ou vídeo) e apresentadas a um algoritmo humano ou outro para verificação de conteúdo para possibilidades de conteúdo conspícuo ou conteúdo anômalo. O algoritmo de verificação poderia ser incluído no processador 102, ou poderia ser externo ao mesmo, sendo isso verdade também para as ocasiões acima mencionadas na verificação de regiões de pontuação alta (mais alta).
[0251] De acordo com uma aplicação, as regiões espaços-temporais mencionadas com os mais altos índices são usadas com o objetivo de melhorar o treinamento para previsões feitas em vídeos. Conforme indicado, o conjunto 16 de itens é todo o vídeo que pode ser representado por um conjunto de quadros. Um item no conjunto de itens é um quadro ou um subconjunto de quadros ou um conjunto de regiões de um subconjunto de quadros. A segmentação de vídeo é então aplicada para encontrar regiões espaços-temporais com pontuação média alta para os itens ou valores absolutos médios elevados de pontuação para os itens. O processador 102 pode selecionar neurônios da rede neural que estão conectados a outros neurônios, de modo que, por meio de conexões indiretas acima das regiões, são parte da entrada dos neurônios selecionados. O processador 102 pode otimizar a rede neural da seguinte maneira: dada a imagem de entrada e um neurônio selecionado como acima (por exemplo, tendo entradas diretas ou indiretas de regiões com altas pontuações de relevância ou altos valores absolutos deles), o processador 102 tenta aumentar a saída da rede ou o quadrado da saída da rede, ou diminuir a saída da rede alterando os pesos das entradas do neurônio selecionado e as ponderações dos neurônios que são vizinhos a montante ou indiretos diretos do neurônio selecionado. Tal alteração pode ser feita, por exemplo, calculando o gradiente da saída do neurônio para a imagem dada em relação às ponderações a serem alteradas. Então, as ponderações são atualizadas pelo gradiente vezes uma constante em etapas. É evidente que a região espaço-temporal também pode ser obtida por segmentação de pontuações em pixels, isto é, utilizando pixels como os itens do conjunto 16, com a realização da otimização que foi descrita acima.
[0252] Mesmo alternativamente, a atribuição de relevância pode ser aplicada a dados gráficos consistindo em nós e bordas direcionadas ou não direcionadas com ou sem ponderações; um item do conjunto 16 seria, então, um subgráfico, por exemplo. Uma pontuação de relevância elementar seria calculada para cada subgráfico. Um subgráfico pode ser uma entrada para uma rede neural, por exemplo, se for codificado como um número inteiro, codificando nós e suas bordas com ponderações por números inteiros enquanto separa unidades semânticas por números inteiros que são revertidos como sinais de parada. Alternativamente, um item do conjunto 16 para calcular a pontuação de relevância por item pode ser um nó. Então, calculamos pontuações relevantes para relevância de item. Depois disso, um conjunto de subgráficos com pontuação média alta pode ser encontrado (a pontuação £ média pode ser calculada por média ou por um quantil das pontuações sobre os nós) pela segmentação do gráfico. As pontuações para cada nó são discretizadas em um conjunto de valores e os índices de discretização são mapeados em um conjunto de cores. A atribuição resultante de nós e subgráficos para cores e/ou os subgráficos extraídos pode ser salva como um arquivo em um banco de dados ou em um meio de armazenamento ou apresentado a um visualizador.
[0253] A figura 14 ilustra um sistema para otimizar uma rede neural. O sistema é, de modo geral, indicado utilizando o sinal de referência 120 e compreende o atribuidor de pontuação de relevância 50, um aparelho de aplicação 122 e um aparelho de detecção e otimização 124. O aparelho de aplicação 122 é configurado para aplicar o aparelho 50 em uma pluralidade de diferentes conjuntos 16 de itens. Assim, para cada aplicação, o aparelho 50 determina as pontuações de relevância para os itens do conjunto 16. Neste momento, entretanto, o aparelho 50 também emite os valores de relevância atribuídos aos neurônios intermediários 12 individuais da rede neural 10 durante a propagação reversa, obtendo assim as passagens de relevância previamente mencionadas 34 para cada aplicação. Em outras palavras, para cada aplicação de aparelho 50 em um respectivo conjunto 16, o aparelho de detecção e otimização 124 obtém um mapa de propagação relevante 126 da rede neural 10. O aparelho 124 detecta uma parte 128 da relevância elevada dentro da rede neural 10 acumulando 130 ou sobrepondo as relevâncias atribuídas aos neurônios intermediários 12 da rede 10 durante a aplicação do aparelho 50 em diferentes conjuntos 16. Em outras palavras, o aparelho 124 sobrepões ou acumula, por sobreposição, as diferentes propagações de mapa de relevância 126 para, assim, obter a parte 128 da rede neural 10 incluindo aqueles neurônios que propagam uma alta porcentagem da relevância no processo de propagação reversa do aparelho 50 sobre a população dos conjuntos 16. Esta informação pode então ser utilizada por aparelho 124 para, assim, otimizar 132 a rede neural artificial 10. Em particular, por exemplo, algumas das interconexões dos neurônios 12 da rede neural artificial 10 podem ser deixadas a fim de tornar a rede neural artificial 10 menor sem comprometer sua capacidade de previsão. Outras possibilidades existem, entretanto, também.
[0254] Além disso, pode ser que o processo de atribuição de pontuação de relevância forneça um heatmap e o mesmo seja analisado em relação a, por exemplo, suavidade e outras propriedades. Com base na análise, algumas ações podem ser disparadas. Por exemplo, um treinamento de uma rede neural pode ser interrompido porque captura os conceitos “bom o suficiente” de acordo com a análise do heatmap. Além disso, deve notar-se que o resultado da análise do heatmap pode ser utilizado junto com os resultados da previsão da rede neural, isto é, a previsão, para fazer alguma coisa. Em particular, confiar nos resultados do heatmap e da previsão pode ser vantajoso ao confiar apenas em resultados de previsão apenas porque, por exemplo, o heatmap pode dizer algo sobre a certeza da previsão. A qualidade de uma rede neural pode ser potencialmente avaliada pela análise do heatmap.
[0255] Por fim, enfatiza-se que a propagação de relevância proposta foi primeiramente ilustrada acima em relação às redes treinadas em tarefas de classificação, mas, sem perda de generalidade, as aplicações descritas acima podem ser aplicadas a qualquer rede que atribua uma pontuação atribuída às classes de saída. Essas pontuações podem ser aprendidas utilizando outras técnicas, como regressão ou classificação.
[0256] Assim, na descrição acima, foram apresentadas aplicações que incorporam uma metodologia que pode ser denominada propagação de relevância em camadas que permite vigiar os previsores neuronais. Foram demonstradas diferentes aplicações deste princípio inovador. Para as imagens, observou-se que as contribuições de pixel podem ser visualizadas como heatmaps e podem ser fornecidas a um especialista humano que intuitivamente não só verifica a validade da decisão de classificação, mas também analisa posteriormente as regiões de interesse potencial. O princípio pode ser aplicado a uma variedade de tarefas, classificadores e tipos de dados, ou seja, não se limita a imagens, conforme observado acima.
[0257] Embora alguns aspectos tenham sido descritos no contexto de um aparelho, é evidente que estes aspectos representam também uma descrição do método correspondente, onde um bloco ou dispositivo corresponde a uma etapa do método ou uma característica da etapa do método. De forma análoga, os aspectos descritos no contexto de uma etapa do método também representam uma descrição de um bloco correspondente ou item ou característica de um aparelho correspondente. Algumas ou todas as etapas do método podem ser executadas por (ou utilizando) um aparelho de hardware, como por exemplo, um microprocessador, um computador programável ou um circuito eletrônico. Em algumas aplicações, uma ou algumas da(s) etapa(s) mais importante(s) do método pode(m) ser executada(s) por esse equipamento.
[0258] Dependendo de certos requisitos de implementação, as aplicações da invenção podem ser implementadas em hardware ou em software. A implementação pode ser executada utilizando um meio de armazenamento não transitório, como um meio de armazenamento digital, por exemplo, um disquete, um DVD, um Blu-Ray, um CD, uma memória ROM, uma PROM, uma EPROM, uma EEPROM ou uma memória FLASH, tendo sinais de controle eletronicamente legíveis armazenados nele, os quais cooperam (ou são capazes de cooperar) com um sistema de computador programável, de forma que o respectivo método seja executado. Portanto, o meio de armazenamento digital pode ser legível por computador.
[0259] Algumas aplicações, de acordo com a invenção, compreendem um transportador de dados tendo sinais de controle eletronicamente legíveis que são capazes de cooperar com um sistema de computador programável, de modo que um dos métodos de descrito no presente documento seja executado.
[0260] Geralmente, as aplicações da presente invenção podem ser implementadas como um produto de programa de computador tendo um código de programa, o código de programa sendo operativo para a realização de um dos métodos quando o produto de programa de computador for executado em um computador. O código do programa pode, por exemplo, ser armazenado em um transportador legível por uma máquina.
[0261] Outras aplicações compreendem o programa de computador para executar um dos métodos descritos no presente documento, armazenados em um transportador legível por uma máquina.
[0262] Em outras palavras, uma aplicação do método inventivo é, portanto, um programa de computador tendo um código de programa para a realização de um dos métodos descritos no presente documento, quando o programa de computador for executado em um computador.
[0263] Uma aplicação adicional do método inventivo é, portanto, um transportador de dados (ou um meio de armazenamento digital ou um meio legível por computador) compreendendo, gravado nele, o programa de computador para a realização de um dos métodos descrito no presente documento. O transportador de dados, o meio de armazenamento digital ou a mídia gravada normalmente são tangíveis e/ou não transitórios.
[0264] Uma aplicação adicional do método inventivo é, portanto, um fluxo de dados ou uma sequência de sinais representando o programa de computador para a realização de um dos métodos descritos no presente documento. O fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurado(a) para transferência através de uma conexão de comunicação de dados, por exemplo, através da Internet.
[0265] Uma aplicação adicional compreende um meio de processamento, por exemplo, um computador ou um dispositivo lógico programável configurado para, ou adaptado para, executar um dos métodos descritos no presente documento.
[0266] Uma aplicação adicional compreende um computador, tendo instalado nele o programa de computador para a realização de um dos métodos descritos no presente documento.
[0267] Uma aplicação adicional, de acordo com a invenção, compreende um aparelho ou um sistema configurado para transferir (por exemplo, eletrônica ou opticamente) um programa de computador para a realização de um dos métodos descritos no presente documento a um receptor. O receptor pode, por exemplo, ser um computador, um dispositivo móvel, um dispositivo de memória ou semelhante. O aparelho ou sistema pode, por exemplo, compreender um servidor de arquivos para transferir o programa de computador para o receptor.
[0268] Em algumas aplicações, um dispositivo lógico programável (por exemplo, um arranjo de portas de campo programáveis) pode ser utilizado para executar algumas ou todas as funcionalidades dos métodos descritos no presente documento. Em algumas aplicações, um arranjo de portas de campo programáveis pode cooperar com um microprocessador para executar um dos métodos descritos no presente documento. Geralmente, os métodos são preferencialmente executados por qualquer equipamento de hardware.
[0269] O aparelho aqui descrito pode ser implementado utilizando um aparelho de hardware ou utilizando um computador ou utilizando uma combinação de um aparelho de hardware e um computador.
[0270] Os métodos aqui descritos podem ser realizados utilizando um aparelho de hardware ou utilizando um computador ou utilizando uma combinação de um aparelho de hardware e um computador
[0271] As aplicações acima descritas são meramente ilustrativas para os princípios da presente invenção. Entende-se que modificações e variações das disposições e os detalhes descritos no presente documento serão evidentes àqueles especialistas na técnica. Destina-se, portanto, ser limitada apenas pelo escopo das reivindicações de patente iminentes e não pelos detalhes específicos apresentados por meio de descrição e explicação das aplicações do presente documento. LISTA DE REFERÊNCIAS [6] Christopher M Bishop et al. Pattern recognition and machine learning, volume 1. springer New York, 2006. [10] Hendrik Dahlkamp, Adrian Kaehler, David Stavens, Sebastian Thrun, and Gary R. Bradski. Self-supervised monocular road detection in desert terrain. In Robotics: Science and Systems, 2006. [11] Jia Deng, Alex Berg, Sanjeev Satheesh, Hao Su, Aditya Khosla, and Fei-Fei Li. The ImageNet Large Scale Visual Recognition Challenge 2012 (ILSVRC2012). http://www.image-net.org/challenges/LSVRC/2012/. [12] Dumitru Erhan, Yoshua Bengio, Aaron Courville, and Pascal Vincent. Visualizing higher-layer features of a deep network. Technical Report 1341, University of Montreal, June 2009. [15] L. Fei-Fei and P. Perona. A bayesian hierarchical model for learning natural scene categories. In Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on, volume 2, pages 524-531 vol. 2, 2005. [16] Muriel Gevrey, Ioannis Dimopoulos, and Sovan Lek. Review and comparison of methods a study the contribution of variables in artificial neural network models. Ecological Modelling, 160(3):249-264, 2003. [17] Ronny Hãnsch and Olaf Hellwich. Object recognition from polarimetric SAR images. In Uwe Soergel, editor, Radar Remote Sensing of Urban Areas, volume 15 of Remote Sensing and Digital Image Processing, pages 109-131. Springer Netherlands, 2010. [20] Yangqing Jia. Caffe: An open source convolutional architecture for fast feature embedding. http://caffe.berkeleyvision.org/, 2013. [23] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton. Imagenet classification with deep convolutional neural networks. In Peter L. Bartlett, Fernando C. N. Pereira, Christopher J. C. Burges, Léon Bottou, and Kilian Q. Weinberger, editors, NIPS, pages 1106-1114, 2012. [25] Yann LeCun and Corinna Cortes. The MNIST database of handwritten digits. http://yann.lecun.com/exdb/mnist/, 1998. [26] Yann LeCun, Koray Kavukcuoglu, and Clément Farabet. Convolutional networks and applications in vision. In ISCAS, pages 253-256. IEEE, 2010. [27] Quoc V. Le. Building high-level features using large scale unsupervised learning. In ICASSP, pages 8595-8598, 2013. [31] Grégoire Montavon, Geneviève B. Orr, and Klaus-Robert Müller, editors. Neural Networks: Tricks of the Trade, Reloaded, volume 7700 of Lecture Notes in Computer Science (LNCS). Springer, 2nd edn edition, 2012. [34] Julian D Olden, Michael K Joy, and Russell G Death. An accurate comparison of methods for quantifying variable importance in artificial neural networks using simulated data. Ecological Modelling, 178(3-4):389-397, 2004. [36] Nicolas Pinto, David D Cox, and James J DiCarlo. Why is real-world visual object recognition hard? PLoS Comput Biol, 4(1):27, 1 2008. [39] David E. Rumelhart, Geoffrey E. Hinton, and Ronald J. Williams. Learning representations by back- propagating errors. Nature, 323:533-536, Oct 1986. [41] Rudy Setiono and Huan Liu. Understanding neural networks via rule extraction. In IJCAI, pages 480-487. Morgan Kaufmann, 1995. [42] Karen Simonyan, Andrea Vedaldi, and Andrew Zisserman. Deep inside convolutional networks: Visualising image classification models and saliency maps. CoRR, abs/1312.6034, 2013. [43] Christian Szegedy, Wojciech Zaremba, Ilya Sutskever, Joan Bruna, Dumitru Erhan, Ian J. Goodfellow, and Rob Fergus. Intriguing properties of neural networks. CoRR, abs/1312.6199, 2013. [49] Paul A. Viola and Michael J. Jones. Rapid object detection using a boosted cascade of simple features. In CVPR (1), pages 511-518, 2001. [50] Ross Walker, Paul Jackway, Brian Lovell, and Dennis Longstaff. Classification of cervical cell nuclei using morphological segmentation and textural feature extraction. In Australian New Zealand Conference on Intelligent Information Systems, 1994. [54] Matthew D. Zeiler and Rob Fergus. Visualizing and understanding convolutional networks. CoRR, abs/1311.2901, 2013. [55] Matthew D. Zeiler, Graham W. de Taylor, and Rob Fergus. Adaptive deconvolutional networks for mid and high level feature learning. In ICCV, pages 2018-2025, 2011.

Claims (15)

1. Sistema (120) para otimizar uma rede neural artificial composta por neurônios (12) e compreendendo uma saída de rede (18), compreendendo: um primeiro aparelho para atribuir uma pontuação de relevância a um conjunto de itens, a pontuação de relevância indicando uma relevância com em relação a uma aplicação da rede neural artificial (10) no conjunto (16) de itens (42) de modo a mapear o conjunto (16) de itens (42) na saída de rede (18) caracterizado pelo conjunto (16) de itens ser uma imagem com cada um dos itens (42) de o conjunto (16) de itens (42) correspondente a um ou mais dos pixels ou subpixels da imagem, e a rede a saída (18) ser uma decisão de classificação, em que o primeiro aparelho é configurado para: redistribuir uma pontuação de relevância inicial (R) derivada da saída da rede (18) para o conjunto (16) de itens (42) por propagando reversamente a pontuação de relevância inicial através da rede neural artificial (10) de modo a obter uma relevância pontuação para cada item, em que o primeiro aparelho é configurado para realizar a propagação reversa de modo que para cada neurônio, pontuações de relevância preliminarmente redistribuídas de um conjunto de neurônios vizinhos a jusante dos respectivos neurônios, são distribuídos para um conjunto de neurônios vizinhos a montante do respectivo neurônio usando uma função de distribuição em que o primeiro aparelho é configurado de modo que a função de distribuição seja uma função de, ponderação da rede neural artificial, determinando um grau de influência do respectivo neurônio pelo conjunto de neurônios vizinhos a montante do respectivo neurônio, ativações de neurônios do conjunto de neurônios vizinhos a montante, manifestando-se mediante a aplicação de a rede neural artificial (10) no conjunto (16) de itens (42), e uma soma de pontuações de relevância redistribuídas preliminarmente do conjunto de neurônios vizinhos a jusante do respectivo neurônio, em que o sistema compreende ainda: um segundo aparelho (122) para aplicar o primeiro aparelho em uma pluralidade de diferentes conjuntos de itens; e um terceiro aparelho (124) para detectar uma porção de relevância aumentada (128) dentro da rede neural artificial acumulando pontuações de relevância atribuídas aos neurônios da rede neural artificial durante a aplicação do primeiro aparelho para atribuir à pluralidade de diferentes conjuntos de itens e otimizar a rede neural artificial dependendo da porção de maior relevância, deixando de fora algumas das interconexões de neurônios (12) de rede neural artificial (10).
2. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de o primeiro aparelho ser configurado para realizar a propagação reversa, utilizando igualmente uma função de distribuição para todos os neurônios da rede neural artificial.
3. Sistema, de acordo com qualquer uma das reivindicações 1 ou 2, caracterizado pelo fato de o primeiro aparelho ser configurado de modo que, para cada neurônio j, a função de distribuição que determina quanto de relevância é redistribuída como uma mensagem de relevância Rij a partir do respectivo neurônio j ao neurônio vizinho a montante i seja onde com K sendo o número de vizinhos a jusante do respectivo neurônio j, é uma função uniformemente crescente para todos os seus componentes e produz a pontuação de relevância preliminarmente redistribuída do respectivo neurônio j e q(i) é uma função dependente das ponderações Wjj que conectam o neurônio vizinho a montante i ao respectivo neurônio J, uma ativação X[ do neurônio vizinho a montante i do respectivo neurônio j como resultante da aplicação da rede neural artificial (10) no conjunto (16) de itens (42) e um termo de polarização possivelmente com valor zero bjde neurônio j.
4. Sistema, de acordo com a reivindicação 3, caracterizado por
5. Sistema, de acordo com qualquer uma das reivindicações 3 ou 4, caracterizado pelo fato de o primeiro aparelho ser configurado de modo que a função q(i) seja uma função p de ativações ponderadasque são computadas por uma função s, de modo que
6. Sistema, de acordo com a reivindicação 5, caracterizado pela função s ser selecionada de modo a ativação ponderada ztj seja dada como:com I sendo o número de neurônios vizinhos a montante i de neurônio j.
7. Sistema, de acordo com qualquer uma das reivindicações de 3 a 6, caracterizado pelo de o primeiro aparelho ser configurado de modo que a função q(i) satisfaça, para cada neurônio j para o qual Rj > 0, uma propriedade de ordenação a propriedade de ordenação sendo satisfeita se: a) se , então, para todos os i 1 e i2 sendo neurônios vizinhos a montante de neurônio j para o qual é verdade que b) OU para todos os i1 e i2 sendo neurônios vizinhos a montante do neurônio j para o qual então, é verdade que
8. Sistema, de acordo com qualquer uma das reivindicações de 3 a 6, caracterizado pelo fato de o primeiro aparelho ser configurado de modo que a função q(i) satisfaça uma propriedade de ordenação a propriedade de ordenação sendo satisfeita se, para todos os i1 e i2 sendo neurônios vizinhos a montante do neurônio j para o qual seja verdade que para uma função g(-} que tem seu mínimo em zero e que é uniformemente decrescente no intervalo e uniformemente crescente no interval
9. Sistema, de acordo com a reivindicação 8, caracterizado pelo fato de o primeiro aparelho ser configurado de modo que a função g(S) seja dada conforme segue:
10. Sistema, de acordo com qualquer uma das reivindicações de 3 a 9, caracterizado pelo de o primeiro aparelho ser configurado de modo que a função q(í) herde ou seja proporcional à decomposição de Taylor de uma função da rede neural artificial dos neurônios, ou o primeiro aparelho ser configurado de modo que a mensagem de relevância Rij seja proporcional à decomposição de Taylor de um função que é aprendida a partir dos dados e que mapeia as ativações X[ dos vizinhos a montante i de um neurônio j para o valor até um erro de aproximação.
11. Sistema, de acordo com qualquer uma das reivindicações de 1 a 10, caracterizado pelo de o primeiro aparelho ser configurado de modo que a função de distribuição sejaonde n é o número de neurônios vizinhos a montante do respectivo neurônio j, Rij é a mensagem de relevância redistribuída do respectivo neurônio j ao neurônio vizinho a montante i e Rjk é a mensagem de relevância redistribuída do neurônio vizinho a jusante k ao respectivo neurônio j, xi é a ativação do neurônio vizinho a montante i durante a aplicação da rede neural no conjunto (16) de itens (42), Wi3 é a ponderação que conecta o neurônio vizinho a montante i ao respectivo neurônio 7, wrj é também uma ponderação que conecta o neurônio vizinho a montante r ao respectivo neurônio 3 e é um termo de polarização do respectivo neurônio 3 e h() é uma função escalar e em que com K sendo o número de vizinhos a jusante do respectivo neurônio j, é uma função uniformemente crescente para todos os seus componentes e produz a pontuação de relevância preliminarmente redistribuída do respectivo neurônio j .
12. Sistema, de acordo com qualquer uma das reivindicações de 1 a 10, caracterizado pelo de o primeiro aparelho ser configurado de modo que a distribuição no conjunto de neurônios vizinhos a montante i do respectivo neurônio j seja realizada utilizando uma função de distribuição, em que a função de distribuição éOnde , n é o número de neurônios vizinhos a montante do respectivo neurônio, Rij é a mensagem de relevância redistribuída do respectivo neurônio j ao neurônio vizinho a montante i e Rjk é a mensagem de relevância redistribuída do neurônio vizinho a jusante k ao respectivo neurônio j, xé é a ativação do neurônio vizinho a montante i durante a aplicação da rede neural no conjunto (16) de itens (42), é a ponderação que conecta o neurônio vizinho a montante i ao respectivo neurônio ,, wrj é também uma ponderação que conecta o neurônio vizinho a montante ao respectivo neurônio 3 e ^i é um termo de polarização do respectivo neurônio 3 e h() é uma função escalar, e sendo o número de vizinhos a jusante do respectivo neurônio j, é uma função uniformemente crescente para todos os seus componentes e produz a pontuação de relevância preliminarmente redistribuída do respectivo neurônio j .
13. Sistema, de acordo com qualquer uma das reivindicações 11 ou 12, caracterizado por
14. Sistema, de acordo com qualquer uma das reivindicações de 1 a 13, caracterizado pelo fato de o primeiro aparelho ser configurado para computar, para cada item i, as pontuações de relevância R^ do respectivo item i, somando as mensagens de relevância de neurônios, tendo o respectivo item como neurônio vizinho a montante, redistribuídas ao respectivo item.
15. Sistema, de acordo com qualquer uma das
BR112017019821A 2015-03-20 2015-03-20 Atribuição de pontuação de relevância para redes neurais artificiais BR112017019821B8 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2015/056008 WO2016150472A1 (en) 2015-03-20 2015-03-20 Relevance score assignment for artificial neural network

Publications (3)

Publication Number Publication Date
BR112017019821A2 BR112017019821A2 (pt) 2018-05-15
BR112017019821B1 true BR112017019821B1 (pt) 2023-09-05
BR112017019821B8 BR112017019821B8 (pt) 2024-02-15

Family

ID=52727129

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112017019821A BR112017019821B8 (pt) 2015-03-20 2015-03-20 Atribuição de pontuação de relevância para redes neurais artificiais

Country Status (9)

Country Link
US (1) US20180018553A1 (pt)
EP (1) EP3271863B1 (pt)
JP (1) JP6725547B2 (pt)
KR (1) KR102130162B1 (pt)
CN (1) CN107636693B (pt)
BR (1) BR112017019821B8 (pt)
CA (1) CA2979579C (pt)
RU (1) RU2703343C2 (pt)
WO (1) WO2016150472A1 (pt)

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2016261487B2 (en) 2015-05-11 2020-11-05 Magic Leap, Inc. Devices, methods and systems for biometric user recognition utilizing neural networks
GB201620199D0 (en) 2015-12-18 2017-01-11 British Telecomm Autonomic method for managing a computer system
US20170249547A1 (en) * 2016-02-26 2017-08-31 The Board Of Trustees Of The Leland Stanford Junior University Systems and Methods for Holistic Extraction of Features from Neural Networks
CN115345278A (zh) 2016-03-11 2022-11-15 奇跃公司 卷积神经网络的结构学习
US10157332B1 (en) 2016-06-06 2018-12-18 A9.Com, Inc. Neural network-based image manipulation
US11086471B2 (en) * 2016-06-06 2021-08-10 Salesforce.Com, Inc. Visualizing neural networks
WO2018071424A1 (en) * 2016-10-10 2018-04-19 University Of Maryland, College Park All-in-one convolutional neural network for face analysis
US10623775B1 (en) * 2016-11-04 2020-04-14 Twitter, Inc. End-to-end video and image compression
US11615285B2 (en) 2017-01-06 2023-03-28 Ecole Polytechnique Federale De Lausanne (Epfl) Generating and identifying functional subnetworks within structural networks
US11620482B2 (en) 2017-02-23 2023-04-04 Nokia Technologies Oy Collaborative activation for deep learning field
US10140709B2 (en) * 2017-02-27 2018-11-27 International Business Machines Corporation Automatic detection and semantic description of lesions using a convolutional neural network
US10540961B2 (en) * 2017-03-13 2020-01-21 Baidu Usa Llc Convolutional recurrent neural networks for small-footprint keyword spotting
JP6915349B2 (ja) * 2017-04-04 2021-08-04 コニカミノルタ株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
EP3399465A1 (en) * 2017-05-05 2018-11-07 Dassault Systèmes Forming a dataset for fully-supervised learning
EP3270308B9 (en) * 2017-06-14 2022-05-18 Siemens Healthcare GmbH Method for providing a secondary parameter, decision support system, computer-readable medium and computer program product
US10728553B2 (en) * 2017-07-11 2020-07-28 Sony Corporation Visual quality preserving quantization parameter prediction with deep neural network
KR101880901B1 (ko) * 2017-08-09 2018-07-23 펜타시큐리티시스템 주식회사 기계 학습 방법 및 장치
WO2019055565A1 (en) * 2017-09-12 2019-03-21 Schlumberger Technology Corporation SYSTEM FOR INTERPRETING SEISMIC IMAGE DATA
US11194330B1 (en) * 2017-11-03 2021-12-07 Hrl Laboratories, Llc System and method for audio classification based on unsupervised attribute learning
KR101880907B1 (ko) * 2017-09-22 2018-08-16 펜타시큐리티시스템 주식회사 비정상 세션 감지 방법
US11200513B2 (en) * 2017-10-13 2021-12-14 Carrier Corporation Real estate image analysis
US10976429B1 (en) * 2017-10-16 2021-04-13 Hrl Laboratories, Llc System and method for synthetic aperture radar target recognition utilizing spiking neuromorphic networks
US11823008B2 (en) 2017-10-19 2023-11-21 British Telecommunications Public Limited Company Algorithm consolidation
CN107783960B (zh) * 2017-10-23 2021-07-23 百度在线网络技术(北京)有限公司 用于抽取信息的方法、装置和设备
US10762390B2 (en) 2017-11-22 2020-09-01 Sas Institute Inc. Computer-based visualization of machine-learning models and behavior
CN110326005A (zh) * 2017-12-25 2019-10-11 索尼公司 信息处理设备、信息处理方法及程序
US20190258933A1 (en) * 2018-02-19 2019-08-22 International Business Machines Corporation Deep Forecasted Human Behavior from Digital Content
US10489511B2 (en) * 2018-03-01 2019-11-26 Ink Content, Inc. Content editing using AI-based content modeling
CN108562899B (zh) * 2018-04-20 2021-08-20 西安电子科技大学 高分辨极化sar目标图像快速仿真方法
EP3564862A1 (en) * 2018-05-03 2019-11-06 Siemens Aktiengesellschaft Determining influence of attributes in recurrent neural networks trained on therapy prediction
JP7240657B2 (ja) * 2018-05-15 2023-03-16 Tokyo Artisan Intelligence株式会社 ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム
WO2019219846A1 (en) * 2018-05-17 2019-11-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concepts for distributed learning of neural networks and/or transmission of parameterization updates therefor
CN110147872B (zh) * 2018-05-18 2020-07-17 中科寒武纪科技股份有限公司 编码存储装置及方法、处理器及训练方法
KR102177728B1 (ko) 2018-05-25 2020-11-12 서강대학교 산학협력단 합성곱 신경망을 활용한 데이터 확장방법 및 장치
US11663478B2 (en) 2018-06-11 2023-05-30 Inait Sa Characterizing activity in a recurrent artificial neural network
US11972343B2 (en) 2018-06-11 2024-04-30 Inait Sa Encoding and decoding information
US11893471B2 (en) 2018-06-11 2024-02-06 Inait Sa Encoding and decoding information and artificial neural networks
US11823038B2 (en) 2018-06-22 2023-11-21 International Business Machines Corporation Managing datasets of a cognitive storage system with a spiking neural network
CN112513901A (zh) * 2018-07-04 2021-03-16 索迈兹古鲁科穆萨维立吉股份公司 使用人工神经网络来从给定文本中查找唯一协调制度代码的方法和用于实现该方法的系统
KR102637105B1 (ko) * 2018-07-13 2024-02-15 삼성전자주식회사 영상 데이터를 처리하는 방법 및 장치
IT201800007377A1 (it) * 2018-07-20 2020-01-20 Rete neurale avente un numero ridotto di parametri
DE102018213056A1 (de) * 2018-08-03 2020-02-06 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ermitteln einer Erklärungskarte
DE102018213052A1 (de) * 2018-08-03 2020-02-06 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ermitteln einer Erklärungskarte
KR102547802B1 (ko) 2018-08-23 2023-06-26 삼성전자주식회사 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법
US10311337B1 (en) * 2018-09-04 2019-06-04 StradVision, Inc. Method and device for providing integrated feature map using ensemble of multiple outputs from convolutional neural network
US11436495B2 (en) * 2018-10-02 2022-09-06 Insitu, Inc. a subsidiary of The Boeing Company Change detection in digital images
US10909671B2 (en) * 2018-10-02 2021-02-02 International Business Machines Corporation Region of interest weighted anomaly detection
KR102248796B1 (ko) * 2018-10-31 2021-05-07 울산과학기술원 사용자의 의사결정 예측 방법 및 장치
US11550970B2 (en) * 2018-11-02 2023-01-10 Wells Fargo Bank, N.A. Resolving opaqueness of complex machine learning applications
WO2020102339A1 (en) * 2018-11-14 2020-05-22 Cape Analytics, Inc. Systems, methods, and computer readable media for predictive analytics and change detection from remotely sensed imagery
WO2020110776A1 (ja) * 2018-11-28 2020-06-04 富士フイルム株式会社 分類装置、分類方法及びプログラム、分類結果表示装置
KR102175997B1 (ko) * 2018-12-13 2020-11-06 성균관대학교산학협력단 뇌파 기반의 사용자 의도 인식 방법 및 장치
DE102018221920A1 (de) * 2018-12-17 2020-06-18 Robert Bosch Gmbh Inhaltsadaptive verlustbehaftete Kompression von Messdaten
US11455538B2 (en) * 2018-12-20 2022-09-27 GM Global Technology Operations LLC Correctness preserving optimization of deep neural networks
EP4310800A3 (en) * 2018-12-20 2024-03-20 Optos PLC Detection of pathologies in ocular images
LU101088B1 (en) * 2019-01-04 2020-07-07 Iee Sa Method and System for Processing Neural Network Predictions in the Presence of Adverse Perturbations
US20200242771A1 (en) * 2019-01-25 2020-07-30 Nvidia Corporation Semantic image synthesis for generating substantially photorealistic images using neural networks
US11687783B2 (en) * 2019-02-04 2023-06-27 International Business Machines Corporation L2-nonexpansive neural networks
CN113728335A (zh) * 2019-02-08 2021-11-30 新加坡健康服务有限公司 用于3d图像的分类和可视化的方法和系统
US20200278423A1 (en) * 2019-03-01 2020-09-03 GM Global Technology Operations LLC Removing false alarms at the beamforming stage for sensing radars using a deep neural network
CN109977232B (zh) * 2019-03-06 2022-05-10 中南大学 一种基于力导图的图神经网络可视分析方法
EP3948840A4 (en) 2019-03-18 2023-07-19 Geomagical Labs, Inc. VIRTUAL INTERACTION WITH THREE-DIMENSIONAL INTERIOR ROOM IMAGING
US11170569B2 (en) 2019-03-18 2021-11-09 Geomagical Labs, Inc. System and method for virtual modeling of indoor scenes from imagery
US11569978B2 (en) 2019-03-18 2023-01-31 Inait Sa Encrypting and decrypting information
US11652603B2 (en) 2019-03-18 2023-05-16 Inait Sa Homomorphic encryption
JP7205328B2 (ja) * 2019-03-19 2023-01-17 富士通株式会社 推定プログラム、推定装置および推定方法
CN109992642B (zh) * 2019-03-29 2022-11-18 华南理工大学 一种基于科技词条的单任务专家自动遴选方法及系统
US11631266B2 (en) * 2019-04-02 2023-04-18 Wilco Source Inc Automated document intake and processing system
US11645510B2 (en) * 2019-04-08 2023-05-09 Mipsology SAS Accelerating neuron computations in artificial neural networks by selecting input data
EP3726433A1 (en) * 2019-04-17 2020-10-21 Siemens Aktiengesellschaft A method for computer-implemented analysis of a classification model
US11494616B2 (en) * 2019-05-09 2022-11-08 Shenzhen Malong Technologies Co., Ltd. Decoupling category-wise independence and relevance with self-attention for multi-label image classification
EP3973468A4 (en) 2019-05-21 2022-09-14 Magic Leap, Inc. HANDPOSITION ESTIMATING
KR102157441B1 (ko) * 2019-05-31 2020-09-17 이화여자대학교 산학협력단 관련성 전사를 이용한 신경망 학습 방법 및 서비스 장치
US11373390B2 (en) * 2019-06-21 2022-06-28 Adobe Inc. Generating scene graphs from digital images using external knowledge and image reconstruction
US11087183B2 (en) * 2019-06-28 2021-08-10 Wipro Limited Method and system of multi-modality classification using augmented data
EP3767543A1 (en) * 2019-07-17 2021-01-20 Robert Bosch GmbH Device and method for operating a neural network
US11521630B2 (en) 2020-10-02 2022-12-06 Audioshake, Inc. Deep learning segmentation of audio using magnitude spectrogram
US11355134B2 (en) * 2019-08-02 2022-06-07 Audioshake, Inc. Deep learning segmentation of audio using magnitude spectrogram
CN110414618B (zh) * 2019-08-05 2023-07-14 上海图趣信息科技有限公司 一种动态平衡分类数据的神经网络训练系统、方法及存储介质
US11568212B2 (en) * 2019-08-06 2023-01-31 Disney Enterprises, Inc. Techniques for understanding how trained neural networks operate
US11829871B2 (en) * 2019-08-20 2023-11-28 Lg Electronics Inc. Validating performance of a neural network trained using labeled training data
US11222242B2 (en) 2019-08-23 2022-01-11 International Business Machines Corporation Contrastive explanations for images with monotonic attribute functions
US11551054B2 (en) * 2019-08-27 2023-01-10 International Business Machines Corporation System-aware selective quantization for performance optimized distributed deep learning
US11449578B2 (en) * 2019-09-27 2022-09-20 Botty Todorov DIMANOV Method for inspecting a neural network
US11593673B2 (en) 2019-10-07 2023-02-28 Servicenow Canada Inc. Systems and methods for identifying influential training data points
WO2021083573A1 (en) * 2019-10-30 2021-05-06 British Telecommunications Public Limited Company A computer-implemented method of modifying an algorithm operating on a computing system
US11295199B2 (en) * 2019-12-09 2022-04-05 UMNAI Limited XAI and XNN conversion
US11651210B2 (en) * 2019-12-11 2023-05-16 Inait Sa Interpreting and improving the processing results of recurrent neural networks
US11816553B2 (en) 2019-12-11 2023-11-14 Inait Sa Output from a recurrent neural network
US11580401B2 (en) 2019-12-11 2023-02-14 Inait Sa Distance metrics and clustering in recurrent neural networks
US11797827B2 (en) 2019-12-11 2023-10-24 Inait Sa Input into a neural network
TWI779418B (zh) * 2019-12-11 2022-10-01 瑞士商Inait公司 讀取一人工循環神經網路之輸出之方法及其電腦可讀取儲存媒體
US11256959B2 (en) * 2019-12-31 2022-02-22 Wipro Limited Method and system for training artificial neural network based image classifier using class-specific relevant features
EP4094194A1 (en) 2020-01-23 2022-11-30 Umnai Limited An explainable neural net architecture for multidimensional data
KR20210096342A (ko) * 2020-01-28 2021-08-05 주식회사 딥바이오 뉴런-레벨 가소성 제어를 통해 파국적인 망각을 극복하기 위한 방법 및 이를 수행하는 컴퓨팅 시스템
KR102356438B1 (ko) * 2020-03-10 2022-01-27 연세대학교 산학협력단 요소 간 관계 추출 기반 이종 얼굴 인식 장치 및 방법
US11436830B2 (en) * 2020-03-11 2022-09-06 Bank Of America Corporation Cognitive robotic process automation architecture
WO2021194516A1 (en) * 2020-03-23 2021-09-30 D5Ai Llc Data-dependent node-to-node knowledge sharing by regularization in deep learning
CN111653088B (zh) * 2020-04-21 2022-02-01 长安大学 一种车辆出行量预测模型构建方法及预测方法和系统
CN111291838B (zh) * 2020-05-09 2020-09-01 支付宝(杭州)信息技术有限公司 实体对象分类结果的解释方法和装置
US20210365771A1 (en) * 2020-05-21 2021-11-25 International Business Machines Corporation Out-of-distribution (ood) detection by perturbation
JP7282715B2 (ja) * 2020-06-02 2023-05-29 Kddi株式会社 評価装置、評価方法及び評価プログラム
US20200327118A1 (en) * 2020-06-27 2020-10-15 Intel Corporation Similarity search using guided reinforcement learning
DE102020208008A1 (de) * 2020-06-29 2021-12-30 Robert Bosch Gesellschaft mit beschränkter Haftung Bildklassifikation und zugehöriges Training für sicherheitsrelevante Klassifikationsaufgaben
CN111754356A (zh) * 2020-06-30 2020-10-09 复旦大学 边符号预测方法、装置及设备
US11250475B2 (en) * 2020-07-01 2022-02-15 Deepmind Technologies Limited Neural network architecture for efficient resource allocation
DE102020210732A1 (de) 2020-08-25 2022-03-03 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Messung der Relevanz von Bildbereichen für Entscheidungen eines Bildklassifikators
CN112052957B (zh) * 2020-09-02 2023-08-04 平安科技(深圳)有限公司 深度学习模型的可解释性参数获取方法及装置
CN112257863B (zh) * 2020-10-09 2023-04-07 天津大学 网络参数确定方法、装置、区块链的节点及存储介质
KR102344718B1 (ko) * 2020-10-30 2021-12-30 주식회사 아이싸이랩 동물을 식별 및 인증 중 적어도 하나를 수행하기 위해 획득한 동물 이미지를 클러스터링하는 방법
DE102020213830A1 (de) 2020-11-03 2022-05-05 Volkswagen Aktiengesellschaft Verfahren und System zur Bereitstellung einer Diagnoseinformation
CN112270406B (zh) * 2020-11-11 2023-05-23 浙江大学 一种类脑计算机操作系统的神经信息可视化方法
DE102020214944A1 (de) 2020-11-27 2022-06-02 Robert Bosch Gesellschaft mit beschränkter Haftung Bestimmung der für einen Bildklassifikator entscheidungsrelevanten Bildanteile mit vermindertem Rechenzeitbedarf
KR102314713B1 (ko) * 2020-12-24 2021-10-20 한국방송공사 스트리밍을 위한 영상 데이터 패킹 방법 및 이를 이용한 전자 장치
WO2022146031A1 (en) * 2020-12-29 2022-07-07 Samsung Electronics Co., Ltd. Method and device of computing layout selection for efficient dnn inference
KR102446792B1 (ko) * 2021-03-23 2022-09-22 연세대학교 산학협력단 인공 신경망을 설명하기 위한 관련성 가중 클래스 활성화 맵 생성 장치 및 방법
JP7325015B2 (ja) * 2021-03-24 2023-08-14 パナソニックIpマネジメント株式会社 量子化方法、量子化装置、及び、プログラム
TWI803852B (zh) * 2021-04-16 2023-06-01 馬爾他商優奈有限公司 可解釋人工智慧及可解釋神經網路轉換
KR20230050727A (ko) * 2021-10-08 2023-04-17 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
WO2022216521A1 (en) * 2021-11-10 2022-10-13 Innopeak Technology, Inc. Dual-flattening transformer through decomposed row and column queries for semantic segmentation
US11501084B1 (en) 2021-12-08 2022-11-15 Sas Institute Inc. Graphical user interface for visualizing contributing factors to a machine-learning model's output
US20230196062A1 (en) * 2021-12-17 2023-06-22 Sap Se Method and system for global explainability of neural networks
CN114816963B (zh) * 2022-06-28 2022-09-20 南昌航空大学 嵌入式软件质量评估方法、系统、计算机及可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09330406A (ja) * 1996-06-10 1997-12-22 Fuji Facom Corp 学習支援装置およびパターン認識装置
EP1006458A1 (en) * 1998-12-01 2000-06-07 BRITISH TELECOMMUNICATIONS public limited company Methods and apparatus for information retrieval
US7685084B2 (en) * 2007-02-09 2010-03-23 Yahoo! Inc. Term expansion using associative matching of labeled term pairs
US8812493B2 (en) * 2008-04-11 2014-08-19 Microsoft Corporation Search results ranking using editing distance and document information
US8326785B2 (en) * 2008-09-30 2012-12-04 Microsoft Corporation Joint ranking model for multilingual web search
KR101030613B1 (ko) * 2008-10-08 2011-04-20 아이리텍 잉크 아이이미지에서 관심영역정보 및 인식적 정보획득방법
CN102169555B (zh) * 2011-03-30 2013-12-25 华南理工大学 关联性传感信号多传感元件故障定位及传感信号自恢复方法

Also Published As

Publication number Publication date
RU2703343C2 (ru) 2019-10-16
RU2017135085A (ru) 2019-04-05
JP2018513507A (ja) 2018-05-24
EP3271863A1 (en) 2018-01-24
BR112017019821B8 (pt) 2024-02-15
KR102130162B1 (ko) 2020-07-06
JP6725547B2 (ja) 2020-07-22
CA2979579A1 (en) 2016-09-29
CN107636693A (zh) 2018-01-26
KR20170134508A (ko) 2017-12-06
EP3271863B1 (en) 2021-07-28
BR112017019821A2 (pt) 2018-05-15
US20180018553A1 (en) 2018-01-18
RU2017135085A3 (pt) 2019-04-05
CN107636693B (zh) 2022-01-11
CA2979579C (en) 2020-02-18
WO2016150472A1 (en) 2016-09-29

Similar Documents

Publication Publication Date Title
BR112017019821B1 (pt) Atribuição de pontuação de relevância para redes neurais artificiais
US11416772B2 (en) Integrated bottom-up segmentation for semi-supervised image segmentation
Samek et al. Interpreting the predictions of complex ml models by layer-wise relevance propagation
CN105844292A (zh) 一种基于条件随机场和二次字典学习的图像场景标注方法
US11556852B2 (en) Efficient ground truth annotation
Inthiyaz et al. Flower segmentation with level sets evolution controlled by colour, texture and shape features
JP2020123329A (ja) 人工ニューラルネットワークの関連性スコア割当て
US20240028897A1 (en) Interpreting convolutional sequence model by learning local and resolution-controllable prototypes
Cao et al. A survey of mix-based data augmentation: Taxonomy, methods, applications, and explainability
Moustafa et al. Gate and common pathway detection in crowd scenes and anomaly detection using motion units and LSTM predictive models
US20220284343A1 (en) Machine teaching complex concepts assisted by computer vision and knowledge reasoning
US20160217393A1 (en) Information extraction
Ke et al. A novel grouped sparse representation for face recognition
Kansal et al. Study on real world applications of SVM
Dong et al. GAME: GAussian Mixture Error-based meta-learning architecture
Landi et al. Geolet: An Interpretable Model for Trajectory Classification
Sreenivasulu et al. Adaptive inception based on transfer learning for effective visual recognition
Rafatirad et al. Machine learning for computer scientists and data analysts
Li et al. Image Semantic Space Segmentation Based on Cascaded Feature Fusion and Asymmetric Convolution Module
Liang et al. AMEMD-FSL: fuse attention mechanism and earth mover’s distance metric network to deep learning for few-shot image recognition
He et al. Object recognition in images via a factor graph model
Xie et al. MRSA-Net: Anomaly detection of metro stations based on residual attention network with path aggregation and efficient representation
Wang et al. A deep inverse convolutional neural network-based semantic classification method for land cover remote sensing images
Wang [Retracted] Remote Judgment Method of Painting Image Style Plagiarism Based on Wireless Network Multitask Learning
Singh et al. Salient Object Detection on Matrix Disintegration using Convolutional Neural Network

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 20/03/2015, OBSERVADAS AS CONDICOES LEGAIS

B16C Correction of notification of the grant [chapter 16.3 patent gazette]

Free format text: REF. RPI 2748 DE 05/09/2023 QUANTO AO QUADRO REIVINDICATORIO.