Loading AI tools
área da aprendizagem de máquina Da Wikipédia, a enciclopédia livre
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]
As referências deste artigo necessitam de formatação. (Junho de 2021) |
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.[carece de fontes] 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)
Estas definições tem 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)
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]
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]
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 multi-camada em 1991 por Kurt Hornik.[21]
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 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 nos 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 resurgimento, 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]
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.
|doi=
(ajuda)Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.