Pré-treinamento em rede neural convolucional profunda?

Respostas:

39

Não sei se isso responde exatamente à sua pergunta, mas pelo que entendi o motivo pelo qual você não vê as pessoas pré-treinando ( quero dizer isso em um sentido de pré-treinamento não supervisionado), convém é porque houve várias inovações no treinamento puramente supervisionado que tornaram desnecessário o pré-treinamento não supervisionado (por enquanto, quem sabe que problemas e questões o futuro trará?).

Uma das principais inovações foi afastar-se das unidades de ativação sigmoidal (sigmóide, tanh), que podem saturar / ter regiões de curvatura quase plana e, portanto, muito pouco gradiente é propagado para trás, de modo que o aprendizado é incrivelmente lento, se não completamente interrompido, para todos os objetivos práticos e propósitos. No artigo de Glorot, Bordes e Bengio, as Redes Neurais do Retificador Esparso Profundo usaram unidades lineares retificadas (ReLUs) como funções de ativação em vez das unidades sigmoidais tradicionais. As ReLUs têm o seguinte formato: . Observe que eles são ilimitados e, para a parte positiva, têm gradiente constante 1.f(x)=max(0,x)

O artigo de Glorot, Bordes e Bengio usou ReLUs para perceptrons multicamadas e não redes Conv. Um artigo anterior Qual é a melhor arquitetura de vários estágios para reconhecimento de objetos de Jarret e outros do grupo da Universidade de Nova York de Yann LeCun usou não-linearidades de retificação, mas para as unidades sigmoidais, para que tivessem funções de ativação da forma f(x)=|tanh(x)|, etc. Ambos os artigos observaram que o uso de não linearidades retificadoras parece fechar grande parte da lacuna entre métodos puramente supervisionados e métodos pré-treinados não supervisionados.

Outra inovação é que descobrimos inicializações muito melhores para redes profundas. Usando a idéia de padronizar a variação entre as camadas de uma rede, boas regras práticas foram estabelecidas ao longo dos anos. Uma das primeiras e mais populares foi Glorot e Bengio, Entendendo a dificuldade de treinar redes profundas de feedforward, que forneceram uma maneira de inicializar redes profundas sob uma hipótese de ativação linear e, posteriormente, aprofundando os retificadorespor um grupo de membros da equipe de Pesquisa da Microsoft que modifica a inicialização de peso de Glorot e Bengio para explicar as não-linearidades retificadoras. A inicialização do peso é importante para redes extremamente profundas. Para uma rede de convecção de 30 camadas, a inicialização do peso MSR teve um desempenho muito melhor que a inicialização do peso Glorot. Lembre-se de que o artigo Glorot foi lançado em 2010 e o artigo MSR em 2015.

Não tenho certeza se o documento da ImageNet Classification with Deep Convolutional Neural Networks de Alex Krizhevsky, Ilya Sutskever e Geoff Hinton foi o primeiro a usar ReLUs para redes de convenção, mas teve o maior impacto. Neste artigo, vemos que as ReLUs para redes de convívio aceleram o aprendizado, conforme evidenciado por um de seus gráficos CIFAR-10, que mostra que as redes de convenção ReLU podem obter taxas de erro de treinamento mais baixas mais rapidamente do que as redes não-ReLU. Essas ReLUs não sofrem com os problemas sigmoidais de gradiente / saturação que desaparecem e podem ser usadas para treinar redes muito mais profundas. Uma das outras grandes inovações tem sido o uso do treinamento Dropout, uma técnica de injeção estocástica de ruídos ou média de modelos (dependendo do seu ponto de vista), que nos permite treinar redes neurais maiores e mais profundas por mais tempo, sem se adaptar demais.

E a inovação da rede de convenção continuou em um ritmo avassalador, quase todos os métodos usando ReLUs (ou alguma modificação como PReLUs da Microsoft Research), Dropout e treinamento puramente supervisionado (SGD + Momentum, possivelmente algumas técnicas de taxa de aprendizado adaptável como RMSProp ou ADAGrad )

Então, a partir de agora, muitas das redes de alto desempenho parecem ser de natureza puramente supervisionada. Isso não quer dizer que o pré-treinamento não supervisionado ou o uso de técnicas não supervisionadas possam não ser importantes no futuro. Mas algumas redes de comunicação incrivelmente profundas foram treinadas, alcançaram ou superaram o desempenho no nível humano em conjuntos de dados muito ricos, apenas usando treinamento supervisionado. Na verdade, acredito que a última submissão da Microsoft Research ao concurso ImageNet 2015 tenha 150 camadas. Isso não é um erro de digitação. 150

Se você deseja usar pré-treinamento não supervisionado para redes de convenção, acho que seria melhor encontrar uma tarefa em que o treinamento supervisionado "padrão" de redes de convenção não tenha um desempenho tão bom e tente pré-treinamento não supervisionado.

Ao contrário da modelagem de linguagem natural, parece difícil encontrar uma tarefa não supervisionada que ajude uma tarefa supervisionada correspondente quando se trata de dados de imagem. Mas se você procurar na Internet o suficiente, verá alguns dos pioneiros do aprendizado profundo (Yoshua Bengio, Yann LeCun, para citar alguns) falar sobre a importância que eles acham que o aprendizado não supervisionado é e será.

Indie AI
fonte
1
Vi no tutorial de Stanford na ConvNet que existe um pré-treinamento em redes neurais convolucionais. aqui está o link: cs231n.github.io/transfer-learning São diferentes? desde que eles estão realmente fazendo a mesma coisa, certo?
Rika
2
Ei, me desculpe pela resposta tardia. A transferência de aprendizado é feita muito. Ele é usado para evitar a tarefa tediosa de treinar do zero e, em vez disso, usar recursos treinados em um grande conjunto de dados como o ImageNet, e, em vez disso, treinamos apenas um classificador sobre esses recursos. Atualizei minha resposta para especificar que hoje em dia você não vê muitos treinamentos não supervisionados , o que não é o mesmo que transferir aprendizado. Obrigado pelo comentário.
AI independente
+1. Resposta muito boa. O que sinto falta é de alguma discussão ou comentário sobre se o que você está dizendo (ou seja, que não há necessidade de pré-treinar) se aplica especificamente a redes neurais convolucionais (se sim, por quê?) Ou a quaisquer redes profundas, incluindo convolucionais.
ameba diz Restabelecer Monica 16/05
14

Como pode ser entendido pelas respostas acima, o pré-treinamento foi 'modelado' quando várias coisas aconteceram. No entanto, eu quero destilar minha compreensão disso:

  1. Há muito tempo, em 2010, todos se preocupavam com o pré-treinamento. Aqui está um ótimo artigo sobre o assunto que eu não vi mencionado.
  2. Um pouco antes de Alex Krizhevsky, Ilya Sutskever e Geoff Hinton publicarem seu trabalho imagenet, as pessoas ainda acreditavam que os recursos eram importantes, mas estavam concentrados principalmente no aprendizado não supervisionado e no aprendizado autodidata para fabricá-los.
  3. Não é difícil perceber por que - os blocos de construção das redes neurais da época não eram tão robustos e convergiam muito lentamente para recursos úteis. Muitas vezes eles até falharam espetacularmente. O pré-treinamento foi útil quando você tinha dados amplos, poderia obter uma boa inicialização do SGD.
  4. Quando a relu foi criada, as redes convergiram mais rapidamente. Quando relu com vazamento e soluções mais recentes foram apresentadas, as redes neurais se tornaram máquinas mais robustas quando se trata de convergir para um resultado viável. Eu recomendo que você jogue com uma excelente demonstração de redes neurais que esse talentoso pesquisador escreveu . Você verá o que estou falando.
  5. Chegando ao nosso ponto principal, isso não quer dizer que alguma forma de pré-treinamento não seja importante no aprendizado profundo. Para obter resultados de última geração, é necessário realizar um pré-processamento dos dados (ZCA, por exemplo) e escolher adequadamente os pesos iniciais - este é um artigo muito bom sobre o assunto .

Como você vê, o pré-treinamento mudou de forma para pré-processamento e inicialização de pesos, mas permaneceu em função e ficou mais elegante.

Como nota final, o aprendizado de máquina está muito na moda. Pessoalmente, aposto como Andrew Ng que o aprendizado não supervisionado e autodidata será dominante no futuro, portanto, não faça disso uma religião :)

rhadar
fonte
13

Existem alguns documentos, mas não tanto quanto codificadores automáticos ou RBMs. Eu acho que o motivo é a linha do tempo da NN. RBM empilhado e autoencoder são introduzidos em 2006 e 2007 , respectivamente. Após o emprego da ReLU em 2009, o aprendizado não supervisionado é parcialmente abandonado (quando há dados suficientes para aprender no aprendizado supervisionado direto). Embora a rede Convolution (ou LeNet) tenha sido inventada em 1989 , ela não pôde ser treinada como estrutura profunda até 2012, após a popularização do aprendizado supervisionado direto com a ReLU. Acho que os pesquisadores o treinaram principalmente usando o aprendizado supervisionado direto.

yasin.yazici
fonte
Então, você concorda que ainda não existe um pré-treinamento em rede neural convolucional profunda?
RockTheStar 29/07
4
@RockTheStar não, existem mas não tanto quanto os dois anteriores. research.microsoft.com/pubs/200804/CNN-Interspeech2013_pub.pdf esta pesquisa foi usada. Aqui está uma pequena citação; "Observamos que o pré-treinamento melhora tanto o DNN quanto a CNN, exceto a CNN no TIMIT, onde o pré-treinamento não ajudou. Em geral, a melhoria relativa do uso de pré-treinamento para o CNN é menor do que no DNN".
Yasin.yazici