Quais são algumas técnicas úteis de aumento de dados para redes neurais convolucionais profundas?

13

Antecedentes: recentemente entendi em um nível mais profundo a importância do aumento de dados ao treinar redes neurais convolucionais depois de assistir a essa excelente palestra de Geoffrey Hinton .

Ele explica que as redes neurais convolucionais da geração atual não são capazes de generalizar o quadro de referência do objeto em teste, tornando difícil para uma rede entender realmente que as imagens espelhadas de um objeto são iguais.

Algumas pesquisas foram feitas para tentar remediar isso. Aqui está um dos muitos exemplos . Acho que isso ajuda a estabelecer o quão crítico é o aumento de dados hoje ao treinar redes neurais convolucionais.

As técnicas de aumento de dados raramente são comparadas entre si. Conseqüentemente:

Questões:

  • Quais são alguns artigos em que os profissionais relataram desempenho excepcionalmente melhor?

  • Quais são algumas das técnicas de aumento de dados que você achou úteis?

rhadar
fonte
Oi @rhadar, você teve alguma notícia? Obrigado :)
nullgeppetto

Respostas:

1

Sec. 1: Aumento de dados Como as redes profundas precisam ser treinadas em um grande número de imagens de treinamento para obter um desempenho satisfatório, se o conjunto de dados da imagem original contiver imagens de treinamento limitadas, é melhor fazer o aumento de dados para aumentar o desempenho. Além disso, o aumento de dados torna-se o que você deve fazer ao treinar uma rede profunda.

  • Existem muitas maneiras de aumentar os dados, como o lançamento horizontal popular, cortes aleatórios e tremulação de cores. Além disso,
    você pode tentar combinações de vários processos diferentes, por exemplo,
    fazendo a rotação e a escala aleatória ao mesmo tempo. Além disso,
    você pode tentar aumentar a saturação e o valor (componentes S e V do
    espaço de cores HSV) de todos os pixels para uma potência entre 0,25 e 4 (o mesmo
    para todos os pixels em um patch), multiplicar esses valores por um fator
    entre 0,7 e 1,4 e adicione a eles um valor entre -0,1 e 0,1.
    Além disso, você pode adicionar um valor entre [-0,1, 0,1] ao matiz (
    componente H do HSV) de todos os pixels na imagem / amostra.

  • Krizhevsky et al. 1 propus o PCA sofisticado ao treinar o famoso Alex-Net em 2012. O PCA sofisticado altera as intensidades dos
    canais RGB nas imagens de treinamento. Na prática, você pode executar o PCA em primeiro lugar no conjunto de valores de pixels RGB nas suas imagens de treinamento. E
    então, para cada imagem de treinamento, basta adicionar a seguinte quantidade a
    cada pixel da imagem RGB (ou seja, I_ {xy} = [I_ {xy} ^ R, I_ {xy} ^ G, I_ {xy} ^ B] ^ T ):
    [bf {p} _1, bf {p} _2, bf {p} _3] [alpha_1 lambda_1, alpha_2 lambda_2, alpha_3
    lambda_3] ^ T onde, bf {p} _i e lambda_i são o i-ésimo vetor e
    autovalor da matriz de covariância 3 vezes 3 dos valores de pixel RGB,
    respectivamente, e alpha_i é uma variável aleatória extraída de uma variável gaussiana
    com zero médio e desvio padrão 0,1. Observe que cada
    alpha_i é desenhado apenas uma vez para todos os pixels de uma
    imagem de treinamento específica , até que essa imagem seja usada para treinamento novamente. Ou seja
    , quando o modelo encontrar a mesma imagem de treinamento novamente, será
    produzirá aleatoriamente outro alpha_i para aumento de dados. Em 1 , eles
    alegaram que "o PCA extravagante poderia capturar aproximadamente uma
    propriedade importante das imagens naturais, a saber, que a identidade do objeto é invariável a mudanças na intensidade e na cor da iluminação". Para o
    desempenho da classificação, esse esquema reduziu a taxa de erros no top 1
    em mais de 1% na competição do ImageNet 2012.

(Fonte: Dicas e truques essenciais em redes neurais profundas (de Xiu-Shen Wei))

Patrick Conway
fonte