Xiaocha do Templo de Aofei Relatório Qubit | Número público QbitAI
Você se atreve a imaginar uma rede neural sem multiplicação? Seja uma operação de neurônio único ou uma operação de convolução, é inevitável usar a multiplicação.
No entanto, a multiplicação consome muito mais recursos de hardware do que a adição. Se você não usar a multiplicação, todas as adições deverão aumentar a velocidade do cálculo.
No final do ano passado, pesquisadores da Universidade de Pequim, do Ark Lab da Huawei Noah e do Pengcheng Lab colocaram em prática essa idéia e propuseram uma rede neural que utiliza apenas AdderNet (Rede Adder). O primeiro é um estagiário da Huawei Noah's Ark e atualmente estuda em Bosan III na Universidade de Pequim.
Hoje, este artigo foi incluído no CVPR 2020 (Oral) e o código fonte oficial também está aberto no GitHub. Os alunos interessados podem experimentar.
O núcleo da rede do somador é: Substitua a distância euclidiana pela distância L1 .
A distância L1 é a soma do valor absoluto da diferença de coordenadas entre dois pontos, portanto todo o processo não envolve multiplicação.
Sob essa nova definição, a operação derivada parcial usada na retropropagação também se tornou um método de subtração. O processo de otimização da descida do gradiente também é chamado Symbol SGD (SignSGD).
Sob a nova definição da rede de somadores, a distribuição espacial dos vetores de características também é muito diferente da CNN.
Então, qual é o efeito real do AdderNet?
Na tarefa de classificação de imagens do CIFAR-10, o AdderNet melhorou bastante o desempenho da rede neural aditiva BNN proposta por Bengio et al., E esteve próxima dos resultados da CNN tradicional.
O AdderNet oficial é baseado em Python3 e PyTorch.
Primeiro prepare o conjunto de dados do ImageNet de acordo com a documentação oficial do PyTorch, execute o programa para avaliar seu efeito no conjunto de verificação:
python test.py - caminho_do_dados 'caminho / para / imagenet_root /'O AdderNet pode atingir a precisão Top 1 de 74,9% e a precisão Top 5 de 91,7% no conjunto de dados ImageNet.
Ou faça o download do conjunto de dados CIFAR-10 para o local e teste seu efeito no CIFAR-10
python test.py - dataet cifar10 - modelos_dir models / ResNet20-AdderNet.pth - data_dir 'path / to / cifar10_root /'No entanto, a AdderNet ainda precisa treinar sozinha, e o funcionário disse que lançará o modelo pré-treinado em breve.
O autor disse na página inicial do projeto que, como o AdderNet é implementado com um filtro de adição, a velocidade do raciocínio é lenta e precisa ser escrita em CUDA para aumentar a velocidade.
Isso ainda está distante da intenção original do autor de aumentar a velocidade das operações da rede neural.
Mas o autor deste artigo disse que continuará adicionando pesquisas em redes neurais e publicando mais resultados.Vamos aguardar ansiosamente o novo progresso dessa pesquisa.
O artigo da AdderNet é chamado Chen Hanting Formado no Departamento de Matemática da Universidade de Tongji, atualmente estuda um Ph.D. na Escola de Ciência da Informação e Tecnologia da Universidade de Pequim e também é estagiário no Laboratório de Arca da Huawei Noah.
Nos primeiros três anos de estudos de mestrado e doutorado, ele publicou 5 trabalhos como um trabalho, um dos quais "Aprendizagem sem dados de redes de estudantes" foi incluído no ICCV 2019, e esteve envolvido em muitos trabalhos e também foi incluído no NeuroIPS, IJCAI , ICML e outro top serão incluídos.
Código fonte: https://github.com/huawei-noah/AdderNet
Endereço da tese: https://arxiv.org/abs/1912.13200
- Terminar -
Qubit QbitAI · Assinatura de título
Siga-nos e conheça as últimas tendências tecnológicas