O Neural Structured Learning (NSL) concentra-se no treinamento de redes neurais profundas, aproveitando sinais estruturados (quando disponíveis) junto com entradas de recursos. Conforme apresentado por Bui et al. (WSDM'18) , esses sinais estruturados são usados para regularizar o treinamento de uma rede neural, forçando o modelo a aprender previsões precisas (minimizando a perda supervisionada), enquanto ao mesmo tempo mantém a similaridade estrutural de entrada (minimizando a perda do vizinho). , veja a figura abaixo). Esta técnica é genérica e pode ser aplicada em arquiteturas neurais arbitrárias (como NNs feed-forward, NNs convolucionais e NNs recorrentes).
Observe que a equação generalizada de perda de vizinhos é flexível e pode ter outras formas além da ilustrada acima. Por exemplo, também podemos selecionar\(\sum_{x_j \in \mathcal{N}(x_i)}\mathcal{E}(y_i,g_\theta(x_j))\) como a perda do vizinho, que calcula a distância entre a verdade fundamental \(y_i\)e a previsão do vizinho \(g_\theta(x_j)\). Isso é comumente usado na aprendizagem contraditória (Goodfellow et al., ICLR'15) . Portanto, NSL generaliza para Aprendizagem de Grafo Neural se os vizinhos forem explicitamente representados por um gráfico, e para Aprendizagem Adversarial se os vizinhos forem implicitamente induzidos por perturbação adversária.
O fluxo de trabalho geral para aprendizagem estruturada neural é ilustrado abaixo. As setas pretas representam o fluxo de trabalho de treinamento convencional e as setas vermelhas representam o novo fluxo de trabalho introduzido pela NSL para aproveitar sinais estruturados. Primeiro, as amostras de treinamento são aumentadas para incluir sinais estruturados. Quando os sinais estruturados não são fornecidos explicitamente, eles podem ser construídos ou induzidos (o último se aplica à aprendizagem adversária). Em seguida, as amostras de treinamento aumentadas (incluindo as amostras originais e seus vizinhos correspondentes) são alimentadas na rede neural para calcular seus embeddings. A distância entre a incorporação de uma amostra e a incorporação de seu vizinho é calculada e usada como a perda do vizinho, que é tratada como um termo de regularização e adicionada à perda final. Para regularização explícita baseada em vizinho, normalmente calculamos a perda do vizinho como a distância entre a incorporação da amostra e a incorporação do vizinho. No entanto, qualquer camada da rede neural pode ser usada para calcular a perda do vizinho. Por outro lado, para regularização induzida baseada em vizinho (adversarial), calculamos a perda do vizinho como a distância entre a previsão de saída do vizinho adversário induzido e o rótulo da verdade fundamental.
Por que usar a NSL?
A NSL traz as seguintes vantagens:
- Maior precisão : os sinais estruturados entre as amostras podem fornecer informações que nem sempre estão disponíveis nas entradas dos recursos; portanto, foi demonstrado que a abordagem de treinamento conjunto (com sinais e recursos estruturados) supera muitos métodos existentes (que dependem apenas de treinamento com recursos) em uma ampla gama de tarefas, como classificação de documentos e classificação de intenção semântica ( Bui et al ., WSDM'18 & Kipf et al., ICLR'17 ).
- Robustez : modelos treinados com exemplos adversários demonstraram ser robustos contra perturbações adversárias projetadas para enganar a previsão ou classificação de um modelo ( Goodfellow et al., ICLR'15 & Miyato et al., ICLR'16 ). Quando o número de amostras de treinamento é pequeno, o treinamento com exemplos adversários também ajuda a melhorar a precisão do modelo ( Tsipras et al., ICLR'19 ).
- São necessários menos dados rotulados : NSL permite que as redes neurais aproveitem dados rotulados e não rotulados, o que estende o paradigma de aprendizagem à aprendizagem semissupervisionada . Especificamente, o NSL permite que a rede treine usando dados rotulados como no ambiente supervisionado e, ao mesmo tempo, leva a rede a aprender representações ocultas semelhantes para as “amostras vizinhas” que podem ou não ter rótulos. Esta técnica tem se mostrado muito promissora para melhorar a precisão do modelo quando a quantidade de dados rotulados é relativamente pequena ( Bui et al., WSDM'18 & Miyato et al., ICLR'16 ).
Tutoriais passo a passo
Para obter experiência prática com aprendizagem estruturada neural, temos tutoriais que cobrem vários cenários onde sinais estruturados podem ser dados, construídos ou induzidos explicitamente. Aqui estão alguns:
Regularização de grafos para classificação de documentos utilizando grafos naturais . Neste tutorial, exploramos o uso da regularização de grafos para classificar documentos que formam um gráfico natural (orgânico).
Regularização de gráficos para classificação de sentimentos usando gráficos sintetizados . Neste tutorial, demonstramos o uso da regularização de gráficos para classificar sentimentos de resenhas de filmes através da construção (sintetização) de sinais estruturados.
Aprendizagem adversária para classificação de imagens . Neste tutorial, exploramos o uso de aprendizagem adversária (onde sinais estruturados são induzidos) para classificar imagens contendo dígitos numéricos.
Mais exemplos e tutoriais podem ser encontrados no diretório de exemplos do nosso repositório GitHub.