Saltar para o conteúdo

Aprendizagem profunda

Origem: Wikipédia, a enciclopédia livre.
(Redirecionado de Deep Learning)

A aprendizagem profunda, do inglês Deep Learning (também conhecida como aprendizado estruturado profundo, aprendizado hierárquico ou aprendizado de máquina profundo) é um ramo de aprendizado de máquina (Machine Learning) baseado em um conjunto de algoritmos que tentam modelar abstrações de alto nível de dados usando um grafo profundo com várias camadas de processamento, compostas de várias transformações lineares e não lineares.[1][2][3][4][5][6][7][8][9]

A aprendizagem profunda é parte de uma família mais abrangente de métodos de aprendizado de máquina baseados na aprendizagem de representações de dados. Uma observação (por exemplo, uma imagem), pode ser representada de várias maneiras, tais como um vetor de valores de intensidade por pixel, ou de uma forma mais abstrata como um conjunto de arestas, regiões com um formato particular, etc. Algumas representações são melhores do que outras para simplificar a tarefa de aprendizagem (por exemplo, reconhecimento facial ou reconhecimento de expressões faciais[10]). Uma das promessas da aprendizagem profunda é a substituição de características feitas manualmente por algoritmos eficientes para a aprendizagem de características supervisionada ou semissupervisionada e extração hierárquica de características.[11]

A pesquisa nesta área tenta fazer representações melhores e criar modelos para aprender essas representações a partir de dados não rotulados em grande escala. Algumas das representações são inspiradas pelos avanços da neurociência e são vagamente baseadas na interpretação do processamento de informações e padrões de comunicação em um sistema nervoso, tais como codificação neural que tenta definir uma relação entre vários estímulos e as respostas neuronais associados no cérebro.[12]

Várias arquiteturas de aprendizagem profunda, tais como redes neurais profundas, redes neurais profundas convolucionais, redes de crenças profundas e redes neurais recorrentes têm sido aplicadas em áreas como visão computacional, reconhecimento automático de fala, processamento de linguagem natural, reconhecimento de áudio e bioinformática, onde elas têm se mostrado capazes de produzir resultados do estado-da-arte em várias tarefas.

Aprendizagem profunda foi caracterizada como a expressão na moda, ou uma recaracterização das redes neurais.[13][14]

A área de aprendizagem profunda tem sido caracterizada de várias maneiras.[15] Por exemplo, em 1986, Rina Dechter introduziu os conceitos de aprendizagem profunda de primeira e segunda ordens no contexto de satisfação de restrições.[15] Posteriormente, a aprendizagem profunda foi caracterizada como uma classe de algoritmos de aprendizagem de máquina que:[2](199–200)

  • usa uma cascata de diversas camadas de unidades de processamento não-linear para a extração e transformação de características. Cada camada sucessiva usa a saída da camada anterior como entrada. Os algoritmos podem ser supervisionados ou não supervisionados e as aplicações incluem a análise de padrões (não supervisionada) e de classificação (supervisionada).
  • são baseados na aprendizagem (supervisionada) de vários níveis de características ou representações dos dados. Características de nível superior são derivadas das características de nível inferior para formar uma representação hierárquica.
  • fazem parte de uma área da aprendizagem de máquina mais ampla que é a aprendizagem de representações de dados.
  • aprendem vários níveis de representações que correspondem a diferentes níveis de abstração; os níveis formam uma hierarquia de conceitos.

Estas definições têm em comum (1) várias camadas e unidades de processamento não linear e (2) a aprendizagem ou representação supervisionada ou não supervisionada de características em cada camada, com as camadas formando uma hierarquia das características de baixo nível para as de alto nível.[2](p200) A composição de uma camada de unidades de processamento não linear usada em um algoritmo de aprendizagem profunda depende no problema a ser resolvido. Camadas que foram usadas em aprendizagem profunda incluem camadas ocultas de uma rede neural artificial e conjuntos de fórmulas proposicionais complicadas.[3] Elas também podem incluir variáveis latentes organizadas em camadas em modelos geradores profundos tais como os nós em redes de crenças profundas e máquinas de Boltzmann profundas.[16]

Algoritmos de aprendizagem profunda transformam suas entradas usando mais camadas do que algoritmos de aprendizagem mais superficial. Em cada camada, o sinal é transformado por uma unidade de processamento, como um neurônio artificial, cujos parâmetros são "aprendidos" por meio de treinamento.[5](p6) Uma cadeia de transformações da entrada até a saída é um caminho de atribuição de crédito (em inglês, abreviado como CAP, credit assignment path). Os CAP descrevem conexões potencialmente causais entre entradas e saídas e podem variar em comprimento. Para uma rede neural de alimentação direta, a profundidade dos CAPs, e, portanto, a profundidade da rede, é o número de camadas ocultas, mais um (a camada de saída também é parametrizado). Para as redes neurais recorrentes, nas quais um sinal pode se propagar por uma camada mais de uma vez, o CAP tem comprimento potencialmente ilimitado. Não há um limite aceito universalmente para distinguir aprendizagem superficial de aprendizagem profunda, mas a maioria dos pesquisadores da área concordam que a aprendizagem profunda tem várias camadas não-lineares (CAP > 2) e Juergen Schmidhuber considera CAP > 10 como aprendizagem muito profunda.[5](p7)

Conceitos fundamentais

[editar | editar código-fonte]

Algoritmos de aprendizagem profunda são baseados em representações distribuídas. A suposição subjacente por trás de representações distribuídas é que os dados observados são gerados pelas interações de fatores organizados em camadas. A aprendizagem profunda inclui a suposição de que essas camadas de fatores correspondem a níveis de abstração ou de composição. Podem ser usadas quantidades e tamanhos de camadas diferentes para fornecer quantidades diferentes de abstração.[4]

A aprendizagem profunda explora essa ideia de fatores explicativos hierárquicos, em que conceitos de nível superior, mais abstratos, são aprendidas a partir dos de nível mais baixo. Muitas vezes essas arquiteturas são construídas com um método ganancioso camada-por-camada. A aprendizagem profunda ajuda a desvendar essas abstrações e a escolher quais características são úteis para a aprendizagem.[4]

Para tarefas de aprendizado supervisionado, os métodos de aprendizagem profunda tornam desnecessária a engenharia de características, convertendo os dados em representações intermediário compactas semelhantes às de componentes principais, e derivam estruturas em camadas que removem redundâncias na representação.[2]

Muitos algoritmos de aprendizagem profunda são aplicados em tarefas de aprendizagem supervisionada. Este é um benefício importante porque dados não rotulados geralmente são mais abundantes do que dados rotulados. Entre os exemplos de estruturas profundas que podem ser treinadas de forma não supervisionada estão compressores de histórias neurais[17] e redes de crença profundas.[4][18]

Interpretações

[editar | editar código-fonte]

Redes neurais profundas geralmente são interpretadas em termos do teorema da aproximação universal[19][20][21][22][23] ou inferência probabilística.[2][3][4][5][18][24]

Interpretação baseada no teorema da aproximação universal

[editar | editar código-fonte]

O teorema da aproximação universal refere-se à capacidade de redes neural de alimentação direta com uma única camada oculta, de tamanho finito, de aproximar funções contínuas.[19][20][21][22][23]

Em 1989, a primeira prova foi publicada por George Cybenko funções de ativação sigmóide[20] e foi generalizada para arquiteturas de alimentação direta multicamada em 1991 por Kurt Hornik.[21]

Interpretação probabilística

[editar | editar código-fonte]

A interpretação probabilística[24] deriva-se da área de aprendizagem de máquina. Ela inclui inferência,[2][3][4][5][18][24] e também conceitos da otimização como treinamento e testes, relacionados à adaptação e generalização, respectivamente. Mais especificamente, a interpretação probabilística considera a não-linearidade da ativação como uma função de distribuição cumulativa.[24] Ver rede de crença profunda. A interpretação probabilística levou à introdução de abandono como regularizador em redes neurais.[25]

A interpretação probabilística foi introduzida e popularizada por Geoff Hinton, Yoshua Bengio, Yann LeCun e Juergen Schmidhuber.

O primeiro algoritmo geral e funcional de aprendizagem para perceptrons multicamadas supervisionados de alimentação direta profunda foi publicado por Ivakhnenko e Lapa em 1965.[26] Um artigo de 1971 já descrevia uma rede profunda com 8 camadas treinada pelo algoritmo do método de grupo para manipulação de dados que ainda é popular no milênio atual.[27] Estas ideias foram implementadas em um sistema de identificação por computador "Alfa", que demonstrou o processo de aprendizagem. Outras arquiteturas de aprendizado profundo funcionais, especificamente aquelas construídas a partir de redes neurais artificiais (ANN), são do tempo do Neocognitron introduzido por Kunihiko Fukushima, em 1980.[28] As próprias ANNs são ainda mais antigas. O desafio era como treinar redes com múltiplas camadas. Em 1989, Yann LeCun et al. foram capazes de aplicar o algoritmo de retropropagação padrão, que esteve em uso como o modo inverso de diferenciação automática desde 1970,[29][30][31][32] em uma rede neural profunda com o propósito de reconhecer códigos de CEP manuscritos em cartas. Apesar do sucesso na aplicação do algoritmo, o tempo para treinar a rede neste conjunto de dados era de aproximadamente 3 dias, tornando-se impraticável para uso geral.[33] Em 1993, o compressor neural de história de Jürgen Schmidhuber[17] implementado como uma pilha não supervisionada de redes neurais recorrentes (RNNs) resolveu uma tarefa de "aprendizagem muito profunda",[5] que requer mais de 1 000 camadas subsequentes em uma RNN desenrolada no tempo.[34] Em 1994, Andre C. P. L. F. de Carvalho, Mike C. Fairhurst e David Bisset, publicaram um artigo com proposta e avalição experimental de uma rede neural booleana, também conhecida por rede neural sem pesos, com várias camadas compondo dois módulos, uma rede auto-organizável para extração de características seguida por uma rede neural para classificação, que eram treinadas de forma independente e sequencial.[35] Em 1995, Brendan Frey demonstrou que era possível treinar uma rede contendo seis camadas totalmente conectadas e várias centenas de unidades ocultas usando o algoritmo wake-sleep, que foi codesenvolvido com Pedro Dayan e Geoffrey Hinton.[36] No Entanto, o treinamento levou dois dias.

Um dos vários fatores que contribuem para a baixa velocidade é o problema da dissipação do gradiente, analisado em 1991, por Sepp Hochreiter.[37][38]

Enquanto em 1991 tais redes neurais eram usadas para reconhecer dígitos isolados manuscritos em 2-D, o reconhecimento de objetos 3-D era feito correspondendo imagens 2-D com um modelo 3-D do objeto feito à mão. Juyang Weng et al. sugeriram que o cérebro humano não usa um modelo 3-D monolítico do objeto, e em 1992, eles publicaram o Cresceptron,,[39][40][41] um método para realizar o reconhecimento de objetos 3-D diretamente a partir de cenas desordenadas. O Cresceptron é uma cascata de camadas semelhantes ao Neocognitron. Mas enquanto o Neocognitron requer que um programador humano junte características à mão, o Cresceptron aprende automaticamente um número aberto de características não supervisionadas em cada camada, em que cada característica é representada por um núcleo de convolução. O Cresceptron também segmentou cada objeto aprendido a partir de uma cena desordenada através de retroanálise ao longo da rede. Max poolling, agora, muitas vezes, adotadas por redes neurais profundas (por exemplo, testes ImageNet), foi usado pela primeira vez no Cresceptron para reduzir a resolução de posição por um fator de (2x2) para 1 através da cascata para uma melhor generalização. Apesar dessas vantagens, os modelos mais simples que usam características feitas à mão específicas de cada tarefa tais como filtros de Gabor e máquinas de vetores de suporte (SVMs) foram uma escolha popular nas décadas de 1990 e 2000, devido ao custo computacional de ANNs na época, e uma grande falta de entendimento de como o cérebro conecta de forma autônoma suas redes biológicas.

Na longa história do reconhecimento de voz, tanto a aprendizagem rasa quanto a aprendizagem profunda de redes neurais artificiais (por exemplo, redes recorrentes) têm sido exploradas por muitos anos.[42][43][44] Mas esses métodos nunca superaram o trabalho manual interno não uniforme do modelo de mistura de Gaussianas/modelo oculto de Markov (GMM-HMM) baseados na tecnologia de modelos geradores de fala treinados de forma discriminada.[45] Algumas das principais dificuldades tem sido analisadas metodologicamente, incluindo a redução do gradiente[37] e fraca estrutura de correlação temporal nos modelos neurais de previsão.[46][47] Outras dificuldades foram a falta de grandes dados para treinamento e um poder de computação mais fraco nas etapas iniciais. Assim, a maioria dos pesquisadores de reconhecimento de voz que compreendiam essas barreiras, afastou-se das redes neurais para perseguir a modelagem geradora. Uma exceção estava no SRI Internacional no final da década de 1990. Financiado pela NSA e a DARPA do governo dos EUA, SRI realizou uma pesquisa sobre redes neurais profundas para o reconhecimento de voz e de falante. A equipe de reconhecimento de falante, liderada por Larry Heck, atingiu o primeiro grande sucesso com redes neurais profundas em processamento de fala, como demonstrado na avaliação do reconhecimento de falante do NIST (Instituto Nacional de Padrões e Tecnologia) em 1998 e, posteriormente, publicado na revista de Comunicação de Voz.[48] Embora o SRI tenha obtido sucesso com redes neurais profundas no reconhecimento de falante, eles não tiveram êxito em demonstrar sucesso semelhante em reconhecimento de fala. Hinton et al. e Deng et al. revisaram parte desta recente história sobre como a sua colaboração uns com os outros e então com colegas de quatro grupos (Universidade de Toronto, Microsoft, Google e IBM) provocou um renascimento das redes neurais de alimentação direta no reconhecimento de fala.[49][50][51][52]

Hoje, no entanto, muitos aspectos do reconhecimento de voz foram tomados por um método de aprendizagem profunda chamado de longa memória de curto prazo (LSTM), uma rede neural recorrente publicada por Sepp Hochreiter & Jürgen Schmidhuber, em 1997.[53] As RNNs LSTM evitam o problema da dissipação do gradiente e podem aprender tarefas de "Aprendizado Muito Profundo"[5] que necessitam de memórias de eventos que aconteceram milhares de pequenos passos de tempo atrás, o que é importante para a fala. Em 2003, LSTM começou a tornar-se competitiva com os reconhecedores de voz tradicionais em determinadas tarefas.[54] Posteriormente, ela foi combinada com CTC[55] em pilhas de RNNs de LSTM.[56] Em 2015, o reconhecimento de voz do Google teria experimentado um salto dramático de desempenho de 49% por meio de LSTM treinada por CTC, que agora está disponível para todos os usuários de smartphones através do Google Voice,[57] e tornou-se uma demonstração da aprendizagem profunda.

De acordo com uma pesquisa,[8] a expressão "aprendizagem profunda" trazida para a comunidade de aprendizagem de máquina por Rina Dechter em 1986,[15] e depois para redes neurais artificiais por Igor Aizenberg e colegas em 2000.[58] Um gráfico do Google Ngram mostra que o uso da expressão ganhou força (realmente decolou) desde 2000.[59] Em 2006, uma plublicação por Geoffrey Hinton e Ruslan Salakhutdinov chamou mais atenção mostrando como redes neurais de alimentação direta poderiam ser pré-treinadas uma camada por vez, tratando cada uma delas como uma máquina de Boltzmann restrita não supervisionada, e então fazendo ajustes finos por meio de propagação reversa supervisionada.[60] Em 1992, Schmidhuber já havia implementado uma ideia bastante similar para o caso mais geral de hierarquias profundas não supervisionadas de redes neurais recorrentes, e também mostrado experimentalmente a sua vantagem na aceleração do aprendizado supervisionado.[17][61]

Desde o seu ressurgimento, a aprendizagem profunda se tornou parte de diversos sistemas de estado da arte em várias disciplinas, particularmente visão computacional e reconhecimento automático de fala (ASR). Os resultados em conjuntos usados frequentemente para avaliação, tais como o TIMIT (ASR) e o MNIST (classificação de imagens), bem como uma gama de tarefas de reconhecimento de fala de grandes vocabulários estão constantemente sendo melhorados com novas aplicações de aprendizagem profunda.[49][62][63] Recentemente, foi mostrado que arquiteturas de aprendizagem profunda na forma de redes neurais de convolução tem obtido praticamente o melhor desempenho;[64][65] no entanto, estas são usadas mais amplamente em visão computacional do que em ASR, e o reconhecimento moderno de fala em larga escala geralmente é baseado em CTC[55] para LSTM.[53][57][66][67][68]

O verdadeiro impacto da aprendizagem profunda na indústria começou, aparentemente, no início da década de 2000, quando as CNNs já processavam um percentual estimado de 10% a 20% de todos os cheques escritos nos EUA, no início da década de 2000, de acordo com Yann LeCun.[69] Aplicações industriais de aprendizagem profunda ao reconhecimento de voz de grande escala começaram por volta de 2010. No final de 2009, Li Deng convidou Geoffrey Hinton para trabalhar com ele e seus colegas na Microsoft Research em Redmond, Washington na aplicação de aprendizagem profunda no reconhecimento de fala. Eles co-organizaram o Workshop NIPS de 2009 em aprendizagem profunda para o reconhecimento de fala. O seminário foi motivado pelas limitações dos modelos geradores de fala profundos, e pela possibilidade de que a era da big-computação e do big-data justificavam testes sérios com redes neurais profundas (DNN). Acreditava-se que o pré-treinamento de DNNs usando modelos geradores de redes de crenças profundas (DBN) iria superar as principais dificuldades das redes neurais encontradas na década de 1990.[51] No entanto, no início desta pesquisa na Microsoft, foi descoberto que, sem pré-treino, mas com o uso de grandes quantidades de dados de treinamento, e, especialmente, DNNs projetadas com igualmente grandes camadas de saída dependentes de contexto, eram produzidas taxas de erro drasticamente menores do que GMM-HMM de estado da arte e também do que sistemas mais avançados de reconhecimento de voz baseados em modelos geradores. Esta constatação foi verificada por vários outros grandes grupos de pesquisa em reconhecimento de fala.[49][70] Além disso, a natureza dos erros de reconhecimento produzidos pelos dois tipos de sistemas se mostrou caracteristicamente diferente,[50][71] oferecendo insights técnicos sobre como integrar a aprendizagem profunda nos sistemas existentes e altamente eficientes de decodificação de fala implantados pelos principais membros da indústria de reconhecimento de fala. A história deste desenvolvimento significativo na aprendizagem profunda tem sido descrito e analisado em livros e artigos recentes.[2][72][73]

Os avanços em hardware também foram importantes no sentido de renovar o interesse na aprendizagem profunda. Em particular, unidades de processamento gráfico (GPUs) poderosas são bastante adequadas para o tipo de manipulação de números e matemática matricial e vetorial envolvidas na aprendizagem de máquina.[74][75] Tem sido mostrado que as GPUs aceleram algoritmos de treinamento em ordens de magnitude, trazendo os tempos de execução de semanas para dias.[76][77]

Redes neurais artificiais

[editar | editar código-fonte]

Alguns dos métodos mais bem sucedidos de aprendizagem profunda envolvem redes neurais artificiais. Redes neurais artificiais são inspiradas pelo modelo biológica de 1959 proposto por David H. Hubel e Torsten Wiesel, ambos premiados com o Nobel, que descobriram que dois tipos de células no córtex visual primário: células simples e células complexas. Muitas redes neurais artificiais podem ser vistas como modelos em cascata[39][40][41][78] de tipos de células inspirados por estas observações biológicas.

Neocognitron de Fukushima introduziu redes neurais convolucionais parcialmente treinadas por aprendizagem não-supervisionada com características direcionadas por humanos no plano neural. Yann LeCun et al. (1989), aplicaram retropropagação supervisionada a estas arquiteturas.[79] Weng et al. (1992) publicaram redes neurais convolucionais Cresceptron[39][40][41] para o reconhecimento de objetos 3-D a partir de imagens de cenas desordenadas e para a segmentação de tais objetos a partir de imagens.

Uma necessidade óbvia para o reconhecimento de objetos 3-D em geral é uma menor invariância a deslocamentos e tolerância à deformação. O max-pooling parece ter sido proposto pela primeira vez por Cresceptron[39][40] para permitir que a rede tolerasse de pequenas a grandes deformações de uma forma hierárquica, ao mesmo tempo em que é utilizada a convolução. O max-pooling ajuda, mas não garante, invariância a deslocamentos no nível dos pixels.[41]

Com o advento do algoritmo de retropropagação baseado na diferenciação automática,[29][31][32][80][81][82][82][83][84][85] muitos pesquisadores tentaram treinar redes neurais artificiais profundas supervisionadas a partir do zero, inicialmente com pouco sucesso. A tese de Sepp Hochreiter de 1991[37][38] identificou formalmente o motivo para esta falha como o problema da dissipação do gradiente, que afeta redes de alimentação direta de muitas camadas e redes neurais recorrentes. Redes recorrentes são treinadas desdobrando-as em redes de alimentação direta muito profundas, em que uma nova camada é criada para cada passo de tempo de uma seqüência de entrada processada pela rede. Conforme os erros se propagam de camada para camada, eles diminuem exponencialmente com o número de camadas, impedindo o ajuste dos pesos dos neurônio, que são baseados nesses erros.

Para superar este problema, foram propostos vários métodos. Um deles é a hierarquia de vários níveis de redes de Jürgen Schmidhuber (1992), pré-treinada nível por nível por aprendizagem não supervisionado, ajustada por retropropagação.[17] Aqui, cada nível aprende uma representação compactada das observações que alimentam o próximo nível.

Sven Behnke, em 2003, baseou-se apenas no sinal do gradiente (Rprop) ao treinar a sua Pirâmide de Abstração Neural[86] para resolver problemas como a reconstrução de imagens e a localização de faces.

Bibliotecas de software

[editar | editar código-fonte]
  • Caffe — Um framework de aprendizagem profunda especializado em reconhecimento de imagem.
  • Deeplearning4j — Uma biblioteca de código aberto[87] para aprendizagem profunda escrita para Java/C++ com LSTMs e redes convolucionais, suportada por Skymind. Ela fornece paralelização com Spark em CPUs e GPUs.
  • Gensim — Um conjunto de ferramentas para processamento de linguagem natural implementado na linguagem de programação Python.
  • Keras — um framework de aprendizagem profunda de código aberto para a linguagem de programação Python.
  • Microsoft CNTK (Computational Network Toolkit) — conjunto de ferramentas de código-aberto[88] da Microsoft para aprendizagem profunda, para Windows e Linux. ela fornece paralelização com CPUs e GPUs através de servidores múltiplos.[89]
  • OpenNN — Uma biblioteca de código aberto em C++ que implementa redes neurais profundas e fornece paralelização com CPUs.
  • TensorFlow — biblioteca de código aberto do Google para o aprendizado de máquina em C++ e Python com APIs para ambas. Ela fornece paralelização com CPUs e GPUs.[90]
  • Theano — Uma biblioteca de código aberto para aprendizado de máquina para a linguagem Python, suportada pela Universidade de Montreal e o time de Yoshua Bengio.
  • Torch — Uma biblioteca de software de código aberto para aprendizado de máquina baseada na linguagem de programação Lua e usada pelo Facebook.

Referências

  1. Ian Goodfellow, Yoshua Bengio, and Aaron Courville (2016). Deep Learning. MIT Press. Online
  2. a b c d e f g Deng, L.; Yu, D. (2014). «Deep Learning: Methods and Applications» (PDF). Foundations and Trends in Signal Processing. 7 (3-4): 1–199. doi:10.1561/2000000039 
  3. a b c d Bengio, Yoshua (2009). «Learning Deep Architectures for AI» (PDF). Foundations and Trends in Machine Learning. 2 (1): 1–127. doi:10.1561/2200000006. Consultado em 17 de outubro de 2016. Arquivado do original (PDF) em 4 de março de 2016 
  4. a b c d e f Bengio, Y.; Courville, A.; Vincent, P. (2013). «Representation Learning: A Review and New Perspectives». IEEE Transactions on Pattern Analysis and Machine Intelligence. 35 (8): 1798–1828. arXiv:1206.5538Acessível livremente. doi:10.1109/tpami.2013.50 
  5. a b c d e f g Schmidhuber, J. (2015). «Deep Learning in Neural Networks: An Overview». Neural Networks. 61: 85–117. arXiv:1404.7828Acessível livremente. doi:10.1016/j.neunet.2014.09.003 
  6. Bengio, Yoshua; LeCun, Yann; Hinton, Geoffrey (2015). «Deep Learning». Nature. 521: 436–444. doi:10.1038/nature14539 
  7. Deep Machine Learning – A New Frontier in Artificial Intelligence Research – a survey paper by Itamar Arel, Derek C. Rose, and Thomas P. Karnowski. IEEE Computational Intelligence Magazine, 2013
  8. a b Schmidhuber, Jürgen (2015). «Deep Learning». Scholarpedia. 10 (11): 32832. doi:10.4249/scholarpedia.32832 
  9. Carlos E. Perez. «A Pattern Language for Deep Learning» 
  10. Glauner, P. (2015). Deep Convolutional Neural Networks for Smile Recognition (MSc Thesis). Imperial College London, Department of Computing. arXiv:1508.06535Acessível livremente 
  11. Song, H.A.; Lee, S. Y. (2013). «Hierarchical Representation Using NMF». Neural Information Processing. Col: Lectures Notes in Computer Sciences. 8226. [S.l.]: Springer Berlin Heidelberg. pp. 466–473. ISBN 978-3-642-42053-5. doi:10.1007/978-3-642-42054-2_58 
  12. Olshausen, B. A. (1996). «Emergence of simple-cell receptive field properties by learning a sparse code for natural images». Nature. 381 (6583): 607–609. doi:10.1038/381607a0 
  13. Collobert, R. (abril de 2011). Deep Learning for Efficient Discriminative Parsing. VideoLectures.net. Em cena em 7min 45s 
  14. Gomes, L. (20 de outubro de 2014). «Machine-Learning Maestro Michael Jordan on the Delusions of Big Data and Other Huge Engineering Efforts». IEEE Spectrum 
  15. a b c Rina Dechter (1986). Learning while searching in constraint-satisfaction problems. University of California, Computer Science Department, Cognitive Systems Laboratory.Online
  16. «Deep Learning AI For Subject Lines». KickerDaily. 20 de outubro de 2022 
  17. a b c d J. Schmidhuber., "Learning complex, extended sequences using the principle of history compression," Neural Computation, 4, pp. 234–242, 1992.
  18. a b c Hinton, G.E. «Deep belief networks». Scholarpedia. 4 (5): 5947. doi:10.4249/scholarpedia.5947 
  19. a b Balázs Csanád Csáji. Approximation with Artificial Neural Networks; Faculty of Sciences; Eötvös Loránd University, Hungary
  20. a b c Cybenko (1989). «Approximations by superpositions of sigmoidal functions» (PDF). Mathematics of Control, Signals, and Systems. 2 (4): 303–314. doi:10.1007/bf02551274. Consultado em 17 de outubro de 2016. Arquivado do original (PDF) em 10 de outubro de 2015 
  21. a b c Hornik, Kurt (1991). «Approximation Capabilities of Multilayer Feedforward Networks». Neural Networks. 4 (2): 251–257. doi:10.1016/0893-6080(91)90009-t 
  22. a b Haykin, Simon (1998). Neural Networks: A Comprehensive Foundation, Volume 2, Prentice Hall. ISBN 0-13-273350-1.
  23. a b Hassoun, M. (1995) Fundamentals of Artificial Neural Networks MIT Press, p. 48
  24. a b c d Murphy, K.P. (2012) Machine learning: a probabilistic perspective MIT Press
  25. Hinton, G. E.; Srivastava, N.; Krizhevsky, A.; Sutskever, I.; Salakhutdinov, R.R. (2012). «Improving neural networks by preventing co-adaptation of feature detectors». arXiv:1207.0580Acessível livremente [math.LG] 
  26. Ivakhnenko, Alexey (1965). Cybernetic Predicting Devices. Kiev: Naukova Dumka 
  27. Ivakhnenko, Alexey (1971). «Polynomial theory of complex systems». IEEE Transactions on Systems, Man and Cybernetics (4): 364–378 
  28. Fukushima, K. (1980). «Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position». Biol. Cybern. 36: 193–202. doi:10.1007/bf00344251 
  29. a b Seppo Linnainmaa (1970). The representation of the cumulative rounding error of an algorithm as a Taylor expansion of the local rounding errors. Master's Thesis (in Finnish), Univ. Helsinki, 6-7.
  30. Griewank, Andreas (2012). Who Invented the Reverse Mode of Differentiation?. Optimization Stories, Documenta Matematica, Extra Volume ISMP (2012), 389-400.
  31. a b P. Werbos., "Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences," PhD thesis, Harvard University, 1974.
  32. a b Paul Werbos (1982). Applications of advances in nonlinear sensitivity analysis. In System modeling and optimization (pp. 762-770). Springer Berlin Heidelberg. Online
  33. LeCun et al., "Backpropagation Applied to Handwritten Zip Code Recognition," Neural Computation, 1, pp. 541–551, 1989.
  34. Jürgen Schmidhuber (1993). Habilitation thesis, TUM, 1993. Page 150 ff demonstrates credit assignment across the equivalent of 1,200 layers in an unfolded RNN. Online
  35. de Carvalho, A. C. P. L. F.; Fairhurst, M. C.; Bisset, D. L. (1994). «An integrated Boolean neural network for pattern classification». Pattern Recognition Letters. doi:10.1016/0167-8655(94)90009-4 
  36. Hinton, Geoffrey E.; Dayan, Peter; Frey, Brendan J.; Neal, Radford (26 de maio de 1995). «The wake-sleep algorithm for unsupervised neural networks». Science. 268 (5214): 1158–1161. doi:10.1126/science.7761831 
  37. a b c S. Hochreiter., "Untersuchungen zu dynamischen neuronalen Netzen," Diploma thesis. Institut f. Informatik, Technische Univ. Munich. Advisor: J. Schmidhuber, 1991.
  38. a b S. Hochreiter et al., "Gradient flow in recurrent nets: the difficulty of learning long-term dependencies," In S. C. Kremer and J. F. Kolen, editors, A Field Guide to Dynamical Recurrent Neural Networks. IEEE Press, 2001.
  39. a b c d J. Weng, N. Ahuja and T. S. Huang, "Cresceptron: a self-organizing neural network which grows adaptively," Proc. International Joint Conference on Neural Networks, Baltimore, Maryland, vol I, pp. 576-581, June, 1992.
  40. a b c d J. Weng, N. Ahuja and T. S. Huang, "Learning recognition and segmentation of 3-D objects from 2-D images," Proc. 4th International Conf. Computer Vision, Berlin, Germany, pp. 121-128, May, 1993.
  41. a b c d J. Weng, N. Ahuja and T. S. Huang, "Learning recognition and segmentation using the Cresceptron," International Journal of Computer Vision, vol. 25, no. 2, pp. 105-139, Nov. 1997.
  42. Morgan, Bourlard, Renals, Cohen, Franco (1993) "Hybrid neural network/hidden Markov model systems for continuous speech recognition. ICASSP/IJPRAI"
  43. T. Robinson. (1992) A real-time recurrent error propagation network word recognition system, ICASSP.
  44. Waibel, Hanazawa, Hinton, Shikano, Lang. (1989) "Phoneme recognition using time-delay neural networks. IEEE Transactions on Acoustics, Speech and Signal Processing."
  45. Baker, J.; Deng, Li; Glass, Jim; Khudanpur, S.; Lee, C.-H.; Morgan, N.; O'Shaughnessy, D. (2009). «Research Developments and Directions in Speech Recognition and Understanding, Part 1». IEEE Signal Processing Magazine. 26 (3): 75–80. doi:10.1109/msp.2009.932166 
  46. Y. Bengio (1991). "Artificial Neural Networks and their Application to Speech/Sequence Recognition," Ph.D. thesis, McGill University, Canada.
  47. Deng, L.; Hassanein, K.; Elmasry, M. (1994). «Analysis of correlation structure for a neural predictive model with applications to speech recognition». Neural Networks. 7 (2): 331–339. doi:10.1016/0893-6080(94)90027-2 
  48. Heck, L.; Konig, Y.; Sonmez, M.; Weintraub, M. (2000). «Robustness to Telephone Handset Distortion in Speaker Recognition by Discriminative Feature Design». Speech Communication. 31 (2): 181–192. doi:10.1016/s0167-6393(99)00077-1 
  49. a b c Hinton, G.; Deng, L.; Yu, D.; Dahl, G.; Mohamed, A.; Jaitly, N.; Senior, A.; Vanhoucke, V.; Nguyen, P.; Sainath, T.; Kingsbury, B. (2012). «Deep Neural Networks for Acoustic Modeling in Speech Recognition --- The shared views of four research groups». IEEE Signal Processing Magazine. 29 (6): 82–97. doi:10.1109/msp.2012.2205597 
  50. a b Deng, L.; Hinton, G.; Kingsbury, B. (2013). «New types of deep neural network learning for speech recognition and related applications: An overview (ICASSP)» 
  51. a b Keynote talk: Recent Developments in Deep Neural Networks. ICASSP, 2013 (by Geoff Hinton).
  52. Keynote talk: "Achievements and Challenges of Deep Learning - From Speech Analysis and Recognition To Language and Multimodal Processing," Interspeech, September 2014.
  53. a b Hochreiter, Sepp; and Schmidhuber, Jürgen; Long Short-Term Memory, Neural Computation, 9(8):1735–1780, 1997
  54. Alex Graves, Douglas Eck, Nicole Beringer, and Jürgen Schmidhuber (2003). Biologically Plausible Speech Recognition with LSTM Neural Nets. 1st Intl. Workshop on Biologically Inspired Approaches to Advanced Information Technology, Bio-ADIT 2004, Lausanne, Switzerland, p. 175-184, 2004. Online
  55. a b Alex Graves, Santiago Fernandez, Faustino Gomez, and Jürgen Schmidhuber (2006). Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural nets. Proceedings of ICML’06, pp. 369–376.
  56. Santiago Fernandez, Alex Graves, and Jürgen Schmidhuber (2007). An application of recurrent neural networks to discriminative keyword spotting. Proceedings of ICANN (2), pp. 220–229.
  57. a b Haşim Sak, Andrew Senior, Kanishka Rao, Françoise Beaufays and Johan Schalkwyk (September 2015): Google voice search: faster and more accurate.
  58. Igor Aizenberg, Naum N. Aizenberg, Joos P.L. Vandewalle (2000). Multi-Valued and Universal Binary Neurons: Theory, Learning and Applications. Springer Science & Business Media.
  59. Google Ngram chart of the usage of the expression "deep learning" posted by Jürgen Schmidhuber (2015) Online
  60. G. E. Hinton., "Learning multiple layers of representation," Trends in Cognitive Sciences, 11, pp. 428–434, 2007.
  61. J. Schmidhuber., "My First Deep Learning System of 1991 + Deep Learning Timeline 1962–2013." Online
  62. Deng, Li; Hinton, Geoffrey; Kingsbury, Brian (1 de maio de 2013). «New types of deep neural network learning for speech recognition and related applications: An overview» (em inglês). Consultado em 10 de outubro de 2024 
  63. L. Deng et al. Recent Advances in Deep Learning for Speech Research at Microsoft, ICASSP, 2013.
  64. L. Deng, O. Abdel-Hamid, and D. Yu, A deep convolutional neural network using heterogeneous pooling for trading acoustic invariance with phonetic confusion, ICASSP, 2013.
  65. T. Sainath et al., "Convolutional neural networks for LVCSR," ICASSP, 2013.
  66. Hasim Sak and Andrew Senior and Francoise Beaufays (2014). Long Short-Term Memory recurrent neural network architectures for large scale acoustic modeling. Proceedings of Interspeech 2014.
  67. Xiangang Li, Xihong Wu (2015). Constructing Long Short-Term Memory based Deep Recurrent Neural Networks for Large Vocabulary Speech Recognition arXiv:1410.4281
  68. Heiga Zen and Hasim Sak (2015). Unidirectional Long Short-Term Memory Recurrent Neural Network with Recurrent Output Layer for Low-Latency Speech Synthesis. In Proceedings of ICASSP, pp. 4470-4474.
  69. Yann LeCun (2016). Slides on Deep Learning Online
  70. D. Yu, L. Deng, G. Li, and F. Seide (2011). "Discriminative pretraining of deep neural networks," U.S. Patent Filing.
  71. NIPS Workshop: Deep Learning for Speech Recognition and Related Applications, Whistler, BC, Canada, Dec. 2009 (Organizers: Li Deng, Geoff Hinton, D. Yu).
  72. Yu, D.; Deng, L. (2014). «Automatic Speech Recognition: A Deep Learning Approach (Publisher: Springer)» 
  73. kexugit (28 de agosto de 2023). «Archived MSDN and TechNet Blogs». learn.microsoft.com (em inglês). Consultado em 10 de outubro de 2024 
  74. Oh, K.-S.; Jung, K. (2004). «GPU implementation of neural networks». Pattern Recognition. 37 (6): 1311–1314. doi:10.1016/j.patcog.2004.01.013 
  75. Chellapilla, K., Puri, S., and Simard, P. (2006). High performance convolutional neural networks for document processing. International Workshop on Frontiers in Handwriting Recognition.
  76. D. C. Ciresan et al., "Deep Big Simple Neural Nets for Handwritten Digit Recognition," Neural Computation, 22, pp. 3207–3220, 2010.
  77. R. Raina, A. Madhavan, A. Ng., "Large-scale Deep Unsupervised Learning using Graphics Processors," Proc. 26th Int. Conf. on Machine Learning, 2009.
  78. Riesenhuber, M; Poggio, T (1999). «Hierarchical models of object recognition in cortex». Nature Neuroscience. 2 (11): 1019–1025. doi:10.1038/14819 
  79. Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, L. D. Jackel. 1989 Backpropagation Applied to Handwritten Zip Code Recognition. Neural Computation, 1(4):541–551.
  80. Griewank, Andreas and Walther, A.. Principles and Techniques of Algorithmic Differentiation, Second Edition. SIAM, 2008.
  81. Henry J. Kelley (1960). Gradient theory of optimal flight paths. Ars Journal, 30(10), 947-954. Online
  82. a b Arthur E. Bryson (1961, April). A gradient method for optimizing multi-stage allocation processes. In Proceedings of the Harvard Univ. Symposium on digital computers and their applications.
  83. Stuart Dreyfus (1973). The computational solution of optimal control problems with time lag. IEEE Transactions on Automatic Control, 18(4):383–385.
  84. Rumelhart, D. E., Hinton, G. E. & Williams, R. J. , "Learning representations by back-propagating errors" nature, 1974.
  85. Stuart Dreyfus (1990). Artificial Neural Networks, Back Propagation and the Kelley-Bryson Gradient Procedure. J. Guidance, Control and Dynamics, 1990.
  86. Sven Behnke (2003). Hierarchical Neural Networks for Image Interpretation. (PDF). Col: Lecture Notes in Computer Science. 2766. [S.l.]: Springer 
  87. Deeplearning4j on Github
  88. CNTK no Github
  89. cntk.ai
  90. Dean, Jeff; Monga, Rajat; et al. (9 de novembro de 2015). «TensorFlow: Large-scale machine learning on heterogeneous systems» (PDF). TensorFlow.org. Consultado em 10 de novembro de 2015 

Ligações externas

[editar | editar código-fonte]

Leitura complementar

[editar | editar código-fonte]