No aprendizado de máquina, a aprendizagem profunda se concentra na utilização de redes neurais multicamadas para executar tarefas como classificação, regressão e aprendizagem de representação. O campo se inspira na neurociência biológica e é centrado em empilhar neurônios artificiais em camadas e "treiná-los" para processar dados. O adjetivo "profunda" se refere ao uso de múltiplas camadas (variando de três a várias centenas ou milhares) na rede. Os métodos usados podem ser supervisionados, semissupervisionados ou não serem supervisionados.
Algumas arquiteturas comuns de redes de aprendizagem profunds incluem redes totalmente conectadas, redes de crenças profundas, redes neurais recorrentes, redes neurais convolucionais, redes adversárias generativas, transformadoras e campos de radiância neural. Essas arquiteturas foram aplicadas a campos como visão computacional, reconhecimento de fala, processamento de linguagem natural, tradução automática, bioinformática, design de medicamentos, análise de imagens médicas, ciência do clima, inspeção de materiais e programas de jogos de tabuleiro, onde produziram resultados comparáveis e, em alguns casos, superando o desempenho de especialistas humanos.
As primeiras formas de redes neurais foram inspiradas pelo processamento de informações e nós de comunicação distribuídos em sistemas biológicos, particularmente o cérebro humano. No entanto, as redes neurais atuais não pretendem modelar a função cerebral dos organismos e são geralmente vistas como modelos de baixa qualidade para esse propósito.
Visão geral A maioria dos modelos modernos de aprendizagem profunda são baseados em redes neurais multicamadas, como redes neurais convolucionais e transformadoras, embora também possam incluir fórmulas proposicionais ou variáveis latentes organizadas em camadas em modelos generativos profundos, como os nós em redes de crenças profundas e máquinas de Boltzmann profundas.
Fundamentalmente, a aprendizagem profunda se refere a uma classe de algoritmos de aprendizado de máquina em que uma hierarquia de camadas é usada para transformar dados de entrada em uma representação progressivamente mais abstrata e composta. Por exemplo, em um modelo de reconhecimento de imagem, a entrada bruta pode ser uma imagem (representada como um tensor de pixels). A primeira camada representacional pode tentar identificar formas básicas, como linhas e círculos, a segunda camada pode compor e codificar arranjos de bordas, a terceira camada pode codificar um nariz e olhos, e a quarta camada pode reconhecer que a imagem contém um rosto.
É importante ressaltar que um processo de aprendizagem profunda pode aprender quais recursos posicionar de forma ideal em qual nível por conta própria. Antes da aprendizagem profunda, as técnicas de aprendizado de máquina frequentemente envolviam engenharia de recursos feita à mão para transformar os dados em uma representação mais adequada para um algoritmo de classificação operar. Na abordagem de aprendizagem profunda, os recursos não são feitos à mão e o modelo descobre representações úteis de recursos a partir dos dados automaticamente. Isso não elimina a necessidade de ajuste manual; por exemplo, números variados de camadas e tamanhos de camadas podem fornecer diferentes graus de abstração.
A palavra "profunda" em "aprendizagem profunda" se refere ao número de camadas através das quais os dados são transformados. Mais precisamente, os sistemas de aprendizagem profunda têm uma profundidade substancial de caminho de atribuição de crédito (CAP). O caminho de atribuição de crédito é a sequência de transformações de entrada para saída. Os caminhos de atribuição de crédito descrevem conexões potencialmente causais entre entrada e saída. Para uma rede neural feedforward, a profundidade dos caminhos de atribuição de crédito é a da rede e é o número de camadas ocultas mais uma (já que a camada de saída também é parametrizada). Para redes neurais recorrentes, nas quais um sinal pode se propagar através de uma camada mais de uma vez, a profundidade do caminho de atribuição de crédito é potencialmente ilimitada. Nenhum limite universalmente acordado de profundidade divide a aprendizagem superficial da aprendizagem profunda, mas a maioria dos pesquisadores concorda que a aprendizagem profunda envolve profundidade de caminho de atribuição de crédito maior que dois. O caminho de atribuição de crédito de profundidade dois demonstrou ser um aproximador universal no sentido de que pode emular qualquer função. Além disso, mais camadas não aumentam a capacidade de aproximação de função da rede. Modelos profundos (caminho de atribuição de crédito maior que dois) conseguem extrair melhores características do que modelos superficiais e, portanto, camadas extras ajudam a aprender as características de forma eficaz.
Arquiteturas de aprendizagem profunda podem ser construídas com um método ganancioso camada por camada. A aprendizagem profunda ajuda a desembaraçar essas abstrações e escolher quais recursos melhoram o desempenho.
Algoritmos de aprendizagem profunda podem ser aplicados a tarefas de aprendizado que não são supervisionadas. Este é um benefício importante porque dados que não são rotulados são mais abundantes do que os dados rotulados. Exemplos de estruturas profundas que podem ser treinadas de maneira que não é supervisionada são redes de crenças profundas.
O termo aprendizagem profunda foi introduzido na comunidade de aprendizado de máquina por Rina Dechter em 1986,Rina Dechter (1986). Learning while searching in constraint-satisfaction problems (em inglês). University of California, Computer Science Department, Cognitive Systems Laboratory.Online e nas redes neurais artificiais por Igor Aizenberg e colegas em 2000, no contexto de neurônios de limiar booleano.Co-evolving recurrent neurons learn deep memory POMDPs (em inglês). Proc. GECCO, Washington, D. C., pp. 1795–1802, ACM Press, New York, NY, USA, 2005. Embora a história de seu surgimento seja aparentemente mais complicada.
Interpretações Redes neurais profundas são geralmente interpretadas em termos do teorema da aproximação universalLu, Z., Pu, H., Wang, F., Hu, Z., & Wang, L. (2017). The Expressive Power of Neural Networks: A View from the Width (em inglês) . Neural Information Processing Systems, 6231-6239. ou da inferência probabilística.
O teorema clássico da aproximação universal diz respeito à capacidade das redes neurais feedforward com uma única camada oculta de tamanho finito para aproximar funções contínuas. Em 1989, a primeira prova foi publicada por George Cybenko para funções de ativação sigmoides e foi generalizada para arquiteturas multicamadas feed-forward em 1991 por Kurt Hornik. Trabalhos recentes também mostraram que a aproximação universal também é válida para funções de ativação que não são limitadas, como a unidade linear retificada (ReLU) de Kunihiko Fukushima.
O teorema da aproximação universal para redes neurais profundas diz respeito à capacidade de redes com largura limitada, mas a profundidade pode crescer. Lu et al. provaram que se a largura de uma rede neural profunda com ativação de unidade linear retificada (ReLU) for estritamente maior do que a dimensão de entrada, então a rede pode aproximar qualquer função integrável de Lebesgue; se a largura for menor ou igual à dimensão de entrada, então uma rede neural profunda não é um aproximador universal.
A interpretação probabilística deriva do campo do aprendizado de máquina. Ela apresenta inferência, bem como os conceitos de otimização de treinamento e teste, relacionados ao ajuste e generalização, respectivamente. Mais especificamente, a interpretação probabilística considera a não linearidade de ativação como uma função de distribuição cumulativa. A interpretação probabilística levou à introdução do abandono (dropout) ou da diluição como regularizador em redes neurais. A interpretação probabilística foi introduzida por pesquisadores como Hopfield, Widrow, e Narendra e popularizada em pesquisas como a de Bishop.
História Antes de 1980 Existem dois tipos de redes neurais artificiais (ANNs): redes neurais feedforward (FNNs) ou perceptrons multicamadas (MLPs) e redes neurais recorrentes (RNNs). As redes neurais recorrentes têm ciclos em suas estruturas de conectividade, as redes neurais feedforward não. Na década de 1920, Wilhelm Lenz e Ernst Ising criaram o modelo de Ising que é essencialmente uma arquitetura de rede neural recorrente que não é de aprendizagem consistindo de elementos de limiar semelhantes a neurônios. Em 1972, Shun'ichi Amari tornou essa arquitetura adaptável. Sua rede neural recorrente de aprendizagem foi republicada por John Hopfield em 1982. Outras redes neurais recorrentes anteriores foram publicadas por Kaoru Nakano em 1971. Já em 1948, Alan Turing produziu um trabalho sobre "Maquinário Inteligente" que não foi publicado em sua vida, contendo "ideias relacionadas a redes neurais recorrentes de aprendizagem e evolução artificiais".
Frank Rosenblatt (1958) propôs a perceptron, uma perceptron multicamadas com 3 camadas: uma camada de entrada, uma camada oculta com pesos aleatórios que não aprendiam e uma camada de saída. Mais tarde, ele publicou um livro em 1962 que também introduziu experimentos de computador e variantes, incluindo uma versão com perceptrons de quatro camadas "com redes pré-terminais adaptativas" onde as duas últimas camadas aprenderam pesos (aqui ele dá créditos a H. D. Block e B. W. Knight). O livro cita uma rede anterior de R. D. Joseph (1960) "funcionalmente equivalente a uma variação" deste sistema de quatro camadas (o livro menciona Joseph mais de 30 vezes). Joseph deve, portanto, ser considerado o criador das perceptrons multicamadas adaptativas com unidades ocultas de aprendizagem próprias? Infelizmente, o algoritmo de aprendizagem não era funcional e caiu no esquecimento.
O primeiro algoritmo de aprendizagem profunda funcional foi o método de manipulação de dados de grupo, um método para treinar redes neurais profundas arbitrariamente, publicado por Alexey Ivakhnenko e Lapa em 1965. Eles o consideraram uma forma de regressão polinomial, ou uma generalização da perceptron de Rosenblatt para lidar com relacionamentos mais complexos, que não são lineares, e hierárquicos. Um artigo de 1971 descreveu uma rede profunda com oito camadas treinada por este método, que é baseado no treinamento de camada por camada por meio de análise de regressão. Unidades ocultas supérfluas são podadas usando um conjunto de validação separado. Como as funções de ativação dos nós são polinômios de Kolmogorov e Gabor, essas também foram as primeiras redes profundas com "portas" ou unidades multiplicativas.
A primeira perceptron multicamadas de aprendizagem profunda treinada por descida de gradiente estocástica foi publicada em 1967 por Shun'ichi Amari. Em experimentos de computador conduzidos pelo aluno de Amari, Saito, uma perceptron multicamadas de cinco camadas com duas camadas modificáveis aprendeu representações internas para classificar classes de padrões que não são separáveis linearmente. Desenvolvimentos subsequentes em ajustes de hiperparâmetros e hardware fizeram da descida de gradiente estocástica de ponta a ponta a técnica de treinamento dominante atualmente.
Em 1969, Kunihiko Fukushima introduziu a função de ativação de ReLU (unidade linear retificada). A retificadora se tornou a função de ativação mais popular para aprendizagem profunda.
As arquiteturas de aprendizagem profunda para redes neurais convolucionais (CNNs) com camadas convolucionais e camadas de redução de amostragem começaram com a Neocognitron introduzida por Kunihiko Fukushima em 1979, embora não ter sido treinada por retropropagação.