Glossário de machine learning: modelos de imagem

Esta página contém termos do glossário dos modelos de imagem. Para todos os termos do glossário, clique aqui.

A

realidade aumentada

#image

Uma tecnologia que sobrepõe uma imagem gerada por computador na visão do usuário sobre o mundo real, fornecendo, assim, uma visão composta.

B

caixa delimitadora

#image

Em uma imagem, as coordenadas (x, y) de um retângulo ao redor de uma área de interesse, como o cachorro na imagem abaixo.

Foto de um cachorro sentado em um sofá. Uma caixa delimitadora verde com coordenadas na parte superior esquerda de (275, 1271) e coordenadas na parte inferior direita de (2954, 2761) circunscreve o corpo do cachorro

C

convolução

#image

Na matemática, de forma casual, uma mistura de duas funções. No machine learning, uma convolução mistura o filtro convolucional e a matriz de entrada para treinar pesos.

O termo "convolução" em machine learning geralmente é uma forma abreviada de se referir à operação convolucional ou à camada convolucional.

Sem convoluções, um algoritmo de machine learning precisaria aprender um peso separado para cada célula em um tensor grande. Por exemplo, um treinamento de algoritmo de machine learning em imagens 2K x 2K é forçado a encontrar 4 M de pesos separados. Graças às convoluções, um algoritmo de machine learning só precisa encontrar pesos para cada célula no filtro convolucional, reduzindo drasticamente a memória necessária para treinar o modelo. Quando o filtro convolucional é aplicado, ele é simplesmente replicado nas células para que cada uma seja multiplicada pelo filtro.

filtro convolucional

#image

Um dos dois atores em uma operação convolucional. O outro ator é uma fatia de uma matriz de entrada. Um filtro convolucional é uma matriz que tem a mesma classificação da matriz de entrada, mas com uma forma menor. Por exemplo, considerando uma matriz de entrada de 28x28, o filtro poderia ser qualquer matriz 2D menor que 28x28.

Na manipulação fotográfica, todas as células em um filtro convolucional normalmente são definidas para um padrão constante de um e zero. No machine learning, os filtros convolucionais normalmente são propagados com números aleatórios e, em seguida, a rede treina os valores ideais.

camada convolucional

#image

Uma camada de uma rede neural profunda em que um filtro convolucional passa por uma matriz de entrada. Por exemplo, considere o seguinte filtro convolucional 3x3:

Uma matriz 3x3 com os seguintes valores: [[0,1,0], [1,0,1], [0,1,0]]

A animação a seguir mostra uma camada convolucional que consiste em nove operações convolucionais envolvendo a matriz de entrada 5x5. Observe que cada operação convolucional funciona em uma fatia 3 x 3 diferente da matriz de entrada. A matriz 3x3 resultante (à direita) consiste nos resultados das nove operações convolucionais:

Uma animação mostrando duas matrizes. A primeira matriz é a 5x5: [[128,97,53,201,198], [35,22,25,200,195], [37,24,28,197,182], [33,28,92,195,179], [31,97], [10]
          A segunda matriz é a 3x3: [[181,303,618], [115,338,605], [169,351,560]].
          A segunda matriz é calculada aplicando o filtro convolucional [[0, 1, 0], [1, 0, 1], [0, 1, 0]] em diferentes subconjuntos 3x3 da matriz 5x5.

rede neural convolucional

#image

Uma rede neural em que pelo menos uma camada é uma camada convolucional. Uma rede neural convolucional típica consiste em uma combinação das seguintes camadas:

Redes neurais convolucionais tiveram grande sucesso em determinados tipos de problemas, como reconhecimento de imagem.

operação convolucional

#image

A seguinte operação matemática em duas etapas:

  1. Multiplicação por elemento do filtro convolucional e uma fatia de uma matriz de entrada. A fatia da matriz de entrada tem a mesma classificação e o mesmo tamanho do filtro convolucional.
  2. Soma de todos os valores na matriz de produto resultante.

Por exemplo, considere a seguinte matriz de entrada 5x5:

A matriz 5x5: [[128,97,53,201,198], [35,22,25,200,195], [37,24,28,197,182], [33,28,92,195,179], [31,40,107

Agora imagine o seguinte filtro convolucional 2x2:

A matriz 2x2: [[1, 0], [0, 1]]

Cada operação convolucional envolve uma única fatia 2x2 da matriz de entrada. Por exemplo, suponha que usemos a fatia 2x2 no canto superior esquerdo da matriz de entrada. Assim, a operação de convolução nessa fatia tem a seguinte aparência:

Aplicando o filtro convolucional [[1, 0], [0, 1]] à seção 2x2 no canto superior esquerdo da matriz de entrada, que é [[128,97], [35,22]].
          O filtro convolucional deixa os 128 e 22 intactos, mas zera os 97 e 35. Consequentemente, a operação de convolução produz o valor 150 (128+22).

Uma camada convolucional consiste em uma série de operações convolucionais, cada uma atuando em uma fatia diferente da matriz de entrada.

D

aumento de dados

#image

Intensificar artificialmente o intervalo e o número de exemplos de treinamento transformando os exemplos atuais para criar outros. Por exemplo, suponha que imagens sejam um dos seus recursos, mas seu conjunto de dados não contém exemplos de imagens suficientes para o modelo aprender associações úteis. O ideal seria adicionar imagens rotuladas suficientes ao conjunto de dados para que o modelo seja treinado adequadamente. Se isso não for possível, o aumento de dados pode girar, esticar e refletir cada imagem para produzir muitas variantes da imagem original, possivelmente produzindo dados rotulados suficientes para permitir um treinamento excelente.

rede neural convolucional separável em profundidade (sepCNN)

#image

Uma arquitetura de rede neural convolucional baseada em Incepção, mas em que os módulos de Inception são substituídos por convoluções separáveis em profundidade. Também conhecido como Xception.

Uma convolução separável em profundidade (também abreviada como convolução separável) fatora uma convolução 3D padrão em duas operações de convolução separadas que são mais eficientes em termos de computação: primeiro, uma convolução profunda, com uma profundidade de 1 (n × n × 1) e, em seguida, uma convolução de ponto (1).

Para saber mais, consulte Xception: aprendizado profundo com convoluções separáveis em profundidade.

downsampling

#image

Termo sobrecarregado que pode significar:

  • Reduzir a quantidade de informações em um recurso para treinar um modelo com mais eficiência. Por exemplo, antes de treinar um modelo de reconhecimento de imagem, reduza a amostragem de imagens de alta resolução para um formato de resolução mais baixa.
  • Treinamento em uma porcentagem desproporcionalmente baixa de exemplos de classe muito representados para melhorar o treinamento de modelo em classes sub-representadas. Por exemplo, em um conjunto de dados desequilibrado de classes, os modelos tendem a aprender muito sobre a classe majoritária e não o suficiente sobre a classe minoritária. O downsampling ajuda a equilibrar a quantidade de treinamento nas classes majoritária e minoritária.

I

Reconhecimento de imagem

#image

Um processo que classifica objetos, padrões ou conceitos em uma imagem. O reconhecimento de imagem também é conhecido como classificação de imagem.

Para mais informações, consulte Prática de ML: classificação de imagens.

interseção sobre união (IoU)

#image

A interseção de dois conjuntos dividido por sua união. Nas tarefas de detecção de imagens de machine learning, a IoU é usada para medir a precisão da caixa delimitadora prevista do modelo em relação à caixa delimitadora da informações empíricas. Nesse caso, a IoU das duas caixas é a proporção entre a área sobreposta e a área total, e o valor varia de 0 (sem sobreposição de caixa delimitadora prevista e caixa delimitadora de informações empíricas) a 1 (caixa delimitadora prevista e caixa delimitadora de verdade) têm exatamente as mesmas coordenadas.

Por exemplo, na imagem abaixo:

  • A caixa delimitadora prevista (as coordenadas que delimitam onde o modelo prevê que a tabela noturna na pintura está localizada) é destacada em roxo.
  • A caixa delimitadora de informações empíricas (as coordenadas que delimitam onde a tabela noturna está localizada) é destacada em verde.

O Van Gogh pintando "O quarto de Vicente em Arles", com duas caixas delimitadoras diferentes ao redor da mesa de cabeceira ao lado da cama. A caixa delimitadora de informações empíricas (em verde) circunsta perfeitamente a tabela noturna. A caixa delimitadora prevista (em roxo) é deslocada 50% para baixo e para a direita da caixa delimitadora da base do solo; ela cerca o quarto inferior direito da tabela noturna, mas perde o resto da tabela.

Aqui, a interseção das caixas delimitadoras para previsão e informações empíricas (abaixo à esquerda) é 1, e a união das caixas delimitadoras para previsão e informações empíricas (abaixo à direita) é 7, então a IoU é \(\frac{1}{7}\).

Mesma imagem acima, mas com cada caixa delimitadora dividida em quatro quadrantes. Há um total de sete quadrantes, já que o quadrante inferior direito da caixa delimitadora da base de solo e o quadrante superior esquerdo da caixa delimitadora prevista se sobrepõem. Essa seção sobreposta (destacada em verde) representa a interseção e tem uma área de 1. Mesma imagem acima, mas com cada caixa delimitadora dividida em quatro quadrantes. Há um total de sete quadrantes, já que o quadrante inferior direito da caixa delimitadora da base de solo e o quadrante superior esquerdo da caixa delimitadora prevista se sobrepõem.
          Todo o interior delimitado pelas duas caixas delimitadoras (destacado em verde) representa a união e tem uma área de 7.

K

pontos-chave

#image

As coordenadas de determinados recursos de uma imagem. Por exemplo, para um modelo de reconhecimento de imagem que distingue espécies de flores, os pontos-chave podem ser o centro de cada pétala, do tronco, da estala, e assim por diante.

L

pontos de referência

#image

Sinônimo de keypoints.

M

MNIST

#image

Um conjunto de dados de domínio público compilado por LeCun, Cortes e Burges contendo 60.000 imagens, cada uma mostrando como um humano escreveu manualmente um dígito específico de 0 a 9. Cada imagem é armazenada como uma matriz de inteiros de 28x28, em que cada inteiro é um valor de escala de cinza entre 0 e 255, inclusive.

O MNIST é um conjunto de dados canônico para o machine learning, geralmente usado para testar novas abordagens de machine learning. Para detalhes, consulte Banco de dados MNIST de dígitos escritos à mão.

P

pool

#image

Redução de uma matriz (ou matrizes) criada por uma camada convolucional anterior para uma matriz menor. O pool geralmente envolve o valor máximo ou médio na área agrupada. Por exemplo, suponha que temos a seguinte matriz 3x3:

A matriz 3x3 [[5,3,1], [8,2,5], [9,4,3]].

Uma operação de pooling, assim como uma operação convolucional, divide essa matriz em fatias e desliza essa operação convolucional por etapas. Por exemplo, suponha que a operação de pooling divida a matriz convolucional em fatias 2x2 com um salto de 1x1. Como mostra o diagrama a seguir, ocorrem quatro operações de pooling. Imagine que cada operação de pooling escolha o valor máximo dos quatro nessa fatia:

A matriz de entrada é 3x3 com os valores: [[5,3,1], [8,2,5], [9,4,3]].
          A submatriz 2x2 superior esquerda da matriz de entrada é [[5,3], [8,2]], portanto, a operação de pooling no canto superior esquerdo produz o valor 8 (que é o máximo de 5, 3, 8 e 2). A submatriz de 2x2 no canto superior direito da matriz de entrada é [[3,1], [2,5]], de modo que a operação de pooling no canto superior direito produz o valor 5. A submatriz 2x2 inferior esquerda da matriz de entrada é [[8,2], [9,4]], de modo que a operação de pooling inferior esquerdo produz o valor 9.  A submatriz 2x2 inferior direita da matriz de entrada é [[2,5], [4,3]], de modo que a operação de agrupamento no canto inferior direito produz o valor 5.  Em resumo, a operação de pooling produz a matriz 2x2 [[8,5], [9,5]].

O pooling aplica a invariância de tradução na matriz de entrada.

O agrupamento para aplicativos de visão é conhecido mais formalmente como pooling espacial. Os aplicativos de série temporal geralmente se referem a um pool de pooling temporal. De forma menos formal, o pooling é chamado de subsampling ou downsampling.

Direita

invariância rotacional

#image

Em um problema de classificação de imagem, a capacidade de um algoritmo classificar as imagens com êxito mesmo quando a orientação da imagem é alterada. Por exemplo, o algoritmo ainda pode identificar uma raquete de tênis, seja apontando para cima, de lado ou para baixo. Observe que a invariância rotacional nem sempre é desejável. Por exemplo, um 9 de cabeça para baixo não deve ser classificado como 9.

Consulte também invariância de tradução e invariância de tamanho.

S

invariância de tamanho

#image

Em um problema de classificação de imagem, a capacidade de um algoritmo classificar as imagens com êxito mesmo quando o tamanho da imagem muda. Por exemplo, o algoritmo ainda pode identificar um gato independentemente de ele consumir 2 milhões ou 200 mil pixels. Mesmo os melhores algoritmos de classificação de imagem ainda têm limites práticos para a inconsistência de tamanho. Por exemplo, é improvável que um algoritmo (ou humano) classifique corretamente uma imagem de gato consumindo apenas 20 pixels.

Consulte também a invariância de tradução e a invariância rotacional.

pool espacial

#image

Consulte pooling.

stride

#image

Em uma operação convolucional ou pooling, o delta em cada dimensão da próxima série de fatias de entrada. Por exemplo, a animação a seguir demonstra um salto (1,1) durante uma operação convolucional. Portanto, a próxima fatia de entrada inicia uma posição à direita da fatia de entrada anterior. Quando a operação atinge a borda direita, a próxima fatia fica totalmente à esquerda, mas com uma posição abaixo.

Uma matriz 5x5 de entrada e um filtro convolucional 3x3. Como o salto é (1,1), um filtro convolucional será aplicado nove vezes. A primeira fatia convolucional avalia a submatriz 3x3 de canto superior esquerdo da matriz de entrada. A segunda fatia avalia a submatriz de 3 x 3 superior central. A terceira fatia convolucional avalia a submatriz de 3x3 no canto superior direito.  A quarta fatia avalia a submatriz de 3 x 3 do meio esquerdo.
     A quinta fatia avalia a submatriz do meio 3 x 3. A sexta fatia avalia a submatriz de 3 x 3 do meio direito. A sétima fatia avalia a submatriz 3x3 de canto inferior esquerdo.  A oitava fatia avalia a submatriz 3x3 do meio inferior inferior. A 9a fatia avalia a submatriz de 3x3 no canto inferior direito.

O exemplo anterior demonstra um salto bidimensional. Se a matriz de entrada for tridimensional, o stride será tridimensional.

subamostragem

#image

Consulte pooling.

T

invariância translacional

#image

Em um problema de classificação de imagem, a capacidade de um algoritmo classificar as imagens com êxito mesmo quando a posição dos objetos na imagem é alterada. Por exemplo, o algoritmo ainda pode identificar um cachorro, seja no centro ou na extremidade esquerda dele.

Consulte também invariância de tamanho e variação de rotação.