Aprendizagem profunda - Deep learning

O aprendizado profundo (também conhecido como aprendizado estruturado profundo ) faz parte de uma família mais ampla de métodos de aprendizado de máquina baseados em redes neurais artificiais com aprendizado de representação . A aprendizagem pode ser supervisionada , semissupervisionada ou não supervisionada .

Arquiteturas de aprendizagem profunda , como redes neurais profundas , redes de crenças profundas , aprendizagem de reforço profundo , redes neurais recorrentes e redes neurais convolucionais foram aplicadas a campos que incluem visão computacional , reconhecimento de fala , processamento de linguagem natural , tradução automática , bioinformática , design de drogas , medicina análise de imagens , 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 redes neurais artificiais (RNAs) foram inspiradas no processamento de informações e nos nós de comunicação distribuída em sistemas biológicos . As RNAs têm várias diferenças em relação aos cérebros biológicos . Especificamente, as redes neurais artificiais tendem a ser estáticas e simbólicas, enquanto o cérebro biológico da maioria dos organismos vivos é dinâmico (plástico) e analógico.

O adjetivo "profundo" no aprendizado profundo se refere ao uso de várias camadas na rede. Trabalhos anteriores mostraram que um perceptron linear não pode ser um classificador universal, mas que uma rede com uma função de ativação não polinomial com uma camada oculta de largura ilimitada pode. O aprendizado profundo é uma variação moderna que se preocupa com um número ilimitado de camadas de tamanho limitado, o que permite a aplicação prática e a implementação otimizada, enquanto mantém a universalidade teórica sob condições moderadas. Na aprendizagem profunda, as camadas também podem ser heterogêneas e se desviarem amplamente dos modelos conexionistas biologicamente informados , por uma questão de eficiência, treinabilidade e compreensibilidade, daí a parte "estruturada".

Definição

Representando Imagens em Múltiplas Camadas de Abstração no Aprendizado Profundo
Representando Imagens em Múltiplas Camadas de Abstração no Aprendizado Profundo

Aprendizado profundo é uma classe de algoritmos de aprendizado de máquina que usa várias camadas para extrair progressivamente recursos de nível superior da entrada bruta. Por exemplo, no processamento de imagem , as camadas inferiores podem identificar as bordas, enquanto as camadas superiores podem identificar os conceitos relevantes para um ser humano, como dígitos, letras ou rostos.

Visão geral

A maioria dos modelos modernos de aprendizado profundo são baseados em redes neurais artificiais , especificamente redes neurais convolucionais (CNN) s, 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 Boltzmann profundo máquinas .

No aprendizado profundo, cada nível aprende a transformar seus dados de entrada em uma representação um pouco mais abstrata e composta. Em um aplicativo de reconhecimento de imagem, a entrada bruta pode ser uma matriz de pixels; a primeira camada representacional pode abstrair os pixels e codificar as bordas; 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 aprendizado profundo pode aprender quais recursos devem ser colocados de maneira ideal em cada nível por conta própria . Isso não elimina completamente a necessidade de ajuste manual; por exemplo, vários números de camadas e tamanhos de camadas podem fornecer diferentes graus de abstração.

A palavra "profundo" em "aprendizado profundo" se refere ao número de camadas por meio das quais os dados são transformados. Mais precisamente, os sistemas de aprendizagem profunda têm uma profundidade substancial do caminho de atribuição de crédito (CAP). O CAP é a cadeia de transformações do insumo ao produto. CAPs descrevem conexões potencialmente causais entre entrada e saída. Para uma rede neural feedforward , a profundidade dos CAPs é 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 CAP é potencialmente ilimitada. Nenhum limite universalmente aceito de profundidade divide o aprendizado superficial do aprendizado profundo, mas a maioria dos pesquisadores concorda que o aprendizado profundo envolve a profundidade do CAP superior a 2. O CAP de profundidade 2 demonstrou ser um aproximador universal no sentido de que pode emular qualquer função . Além disso, mais camadas não aumentam a capacidade do aproximador de função da rede. Modelos profundos (CAP> 2) são capazes de extrair recursos melhores do que modelos superficiais e, portanto, camadas extras ajudam a aprender os recursos de forma eficaz.

As arquiteturas de aprendizado profundo podem ser construídas com um método ambicioso de camada por camada. O aprendizado profundo ajuda a desembaraçar essas abstrações e escolher quais recursos melhoram o desempenho.

Para tarefas de aprendizado supervisionado , os métodos de aprendizado profundo eliminam a engenharia de recursos , traduzindo os dados em representações intermediárias compactas semelhantes aos componentes principais e derivam estruturas em camadas que removem a redundância na representação.

Algoritmos de aprendizado profundo podem ser aplicados a tarefas de aprendizado não supervisionadas. Este é um benefício importante porque os dados não rotulados são mais abundantes do que os dados rotulados. Exemplos de estruturas profundas que podem ser treinadas de maneira não supervisionada são compressores de história neural e redes de crenças profundas .

Interpretações

Redes neurais profundas são geralmente interpretadas em termos do teorema da aproximação universal ou inferência probabilística .

O teorema da aproximação universal clássico 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 sigmóide 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 não limitadas, como a unidade linear retificada.

O teorema da aproximação universal para redes neurais profundas diz respeito à capacidade das redes com largura limitada, mas a profundidade pode crescer. Lu et al. provou que se a largura de uma rede neural profunda com ativação ReLU for estritamente maior do que a dimensão de entrada, a rede pode se aproximar de qualquer função integrável de Lebesgue ; Se a largura for menor ou igual à dimensão de entrada, a rede neural profunda não é um aproximador universal.

A interpretação probabilística deriva do campo do aprendizado de máquina . Apresenta a 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 como regularizador nas 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

Algumas fontes indicam que Frank Rosenblatt desenvolveu e explorou todos os ingredientes básicos dos sistemas de aprendizagem profunda de hoje. Ele o descreveu em seu livro "Princípios de Neurodinâmica: Perceptrons e a Teoria dos Mecanismos do Cérebro", publicado pelo Cornell Aeronautical Laboratory, Inc., Cornell University em 1962.

O primeiro algoritmo geral de aprendizagem funcional para perceptrons supervisionados, profundos, feedforward e multicamadas foi publicado por Alexey Ivakhnenko e Lapa em 1967. Um artigo de 1971 descreveu uma rede profunda com oito camadas treinadas pelo método de grupo de tratamento de dados . Outras arquiteturas de aprendizagem profunda, especificamente aquelas construídas para visão computacional , começaram com o Neocognitron introduzido por Kunihiko Fukushima em 1980.

O termo Deep Learning foi introduzido na comunidade de aprendizado de máquina por Rina Dechter em 1986, e nas redes neurais artificiais por Igor Aizenberg e colegas em 2000, no contexto dos neurônios de limiar booleano .

Em 1989, Yann LeCun et al. aplicou o algoritmo de retropropagação padrão , que existia como o modo reverso de diferenciação automática desde 1970, a uma rede neural profunda com o objetivo de reconhecer códigos postais escritos à mão no correio. Enquanto o algoritmo funcionava, o treinamento demorou 3 dias.

Em 1994, André de Carvalho, juntamente com Mike Fairhurst e David Bisset, publicou resultados experimentais de uma rede neural booleana multicamadas, também conhecida como rede neural sem peso, composta por um módulo de rede neural de extração de características auto-organizadas de 3 camadas ( SOFT) seguido por um módulo de rede neural de classificação multicamadas (GSN), que foram treinados de forma independente. Cada camada no módulo de extração de recursos extraiu recursos com complexidade crescente em relação à camada anterior.

Em 1995, Brendan Frey demonstrou que era possível treinar (em dois dias) uma rede contendo seis camadas totalmente conectadas e várias centenas de unidades ocultas usando o algoritmo vigília-sono , desenvolvido em parceria com Peter Dayan e Hinton . Muitos fatores contribuem para a velocidade lenta, incluindo o problema do gradiente de desaparecimento analisado em 1991 por Sepp Hochreiter .

Desde 1997, Sven Behnke estendeu a abordagem convolucional hierárquica feed-forward na Pirâmide de Abstração Neural por conexões laterais e retrógradas, a fim de incorporar de maneira flexível o contexto nas decisões e resolver iterativamente as ambigüidades locais.

Modelos mais simples que usam recursos artesanais específicos para tarefas, como filtros Gabor e máquinas de vetores de suporte (SVMs) foram uma escolha popular nos anos 1990 e 2000, devido ao custo computacional da rede neural artificial (ANN) e à falta de compreensão de como o o cérebro conecta suas redes biológicas.

Tanto o aprendizado superficial quanto o profundo (por exemplo, redes recorrentes) de RNAs têm sido explorados por muitos anos. Esses métodos nunca superaram a tecnologia do modelo de mistura gaussiana de fabricação interna não uniforme / modelo de Markov Oculto (GMM-HMM) com base em modelos generativos de fala treinados discriminativamente. As principais dificuldades foram analisadas, incluindo diminuição do gradiente e estrutura de correlação temporal fraca em modelos preditivos neurais. Dificuldades adicionais foram a falta de dados de treinamento e capacidade de computação limitada.

A maioria dos pesquisadores de reconhecimento de fala se afastou das redes neurais para buscar a modelagem generativa. Uma exceção foi a SRI International no final dos anos 1990. Financiado pelo governo dos EUA NSA e DARPA , SRI estudou redes neurais profundas em reconhecimento de voz e alto - falante . A equipe de reconhecimento de alto-falante liderada por Larry Heck relatou um sucesso significativo com redes neurais profundas no processamento de fala na avaliação de 1998 do Instituto Nacional de Padrões e Tecnologia de Reconhecimento de Falante. A rede neural profunda SRI foi então implantada no Nuance Verifier, representando a primeira grande aplicação industrial de aprendizado profundo.

O princípio de elevar os recursos "brutos" sobre a otimização artesanal foi explorado pela primeira vez com sucesso na arquitetura do autoencoder profundo no espectrograma "bruto" ou recursos de banco de filtros lineares no final da década de 1990, mostrando sua superioridade sobre os recursos Mel-Cepstral que contêm estágios de transformação fixa de espectrogramas. As características brutas da fala, formas de onda , posteriormente produziram excelentes resultados em larga escala.

Muitos aspectos do reconhecimento de fala foram assumidos por um método de aprendizado profundo denominado memória de longo prazo (LSTM), uma rede neural recorrente publicada por Hochreiter e Schmidhuber em 1997. RNNs LSTM evitam o problema do gradiente de desaparecimento e podem aprender "Aprendizado muito profundo" tarefas que requerem memórias de eventos que aconteceram milhares de passos de tempo discretos antes, o que é importante para a fala. Em 2003, o LSTM começou a se tornar competitivo com os reconhecedores de fala tradicionais em certas tarefas. Mais tarde, foi combinada com a classificação temporal conexionista (CTC) em pilhas de RNNs LSTM. Em 2015, o reconhecimento de voz do Google supostamente experimentou um salto dramático de desempenho de 49% por meio do LSTM treinado pelo CTC, que foi disponibilizado por meio da Pesquisa por voz do Google .

Em 2006, as publicações de Geoff Hinton , Ruslan Salakhutdinov , Osindero e Teh mostraram como uma rede neural feedforward de muitas camadas poderia ser efetivamente pré-treinada uma camada por vez, tratando cada camada por vez como uma máquina de Boltzmann restrita não supervisionada , então ajustá-lo usando backpropagation supervisionado . Os artigos referiam-se ao aprendizado para redes de crenças profundas.

O aprendizado profundo faz parte de sistemas de última geração em várias disciplinas, particularmente em visão computacional e reconhecimento automático de fala (ASR). Os resultados em conjuntos de avaliação comumente usados, como TIMIT (ASR) e MNIST ( classificação de imagem ), bem como uma série de tarefas de reconhecimento de fala de grande vocabulário, têm melhorado continuamente. Redes neurais convolucionais (CNNs) foram substituídas para ASR por CTC para LSTM. mas são mais bem-sucedidos em visão computacional.

O impacto do aprendizado profundo na indústria começou no início dos anos 2000, quando as CNNs já processavam cerca de 10% a 20% de todos os cheques emitidos nos Estados Unidos, de acordo com Yann LeCun. As aplicações industriais de aprendizado profundo para reconhecimento de fala em grande escala começaram por volta de 2010.

O Workshop NIPS de 2009 sobre Aprendizado Profundo para Reconhecimento de Fala foi motivado pelas limitações dos modelos generativos profundos de fala e pela possibilidade de que, com um hardware mais capaz e conjuntos de dados em grande escala, as redes neurais profundas (DNN) se tornem práticas. Acreditava-se que DNNs pré-treinamento usando modelos gerativos de redes de crença profunda (DBN) superariam as principais dificuldades das redes neurais. No entanto, foi descoberto que substituir o pré-treinamento por grandes quantidades de dados de treinamento para retropropagação direta ao usar DNNs com grandes camadas de saída dependentes do contexto produzia taxas de erro drasticamente menores do que o modelo de mistura gaussiana de última geração (GMM ) / Hidden Markov Model (HMM) e também de sistemas baseados em modelos generativos mais avançados. A natureza dos erros de reconhecimento produzidos pelos dois tipos de sistemas era caracteristicamente diferente, oferecendo insights técnicos sobre como integrar o aprendizado profundo no sistema de decodificação de voz em tempo de execução altamente eficiente existente implantado por todos os principais sistemas de reconhecimento de voz. A análise por volta de 2009-2010, contrastando os modelos GMM (e outros modelos de fala generativos) e DNN, estimulou o investimento industrial inicial em aprendizagem profunda para reconhecimento de fala, eventualmente levando ao uso generalizado e dominante nessa indústria. Essa análise foi feita com desempenho comparável (menos de 1,5% na taxa de erro) entre DNNs discriminativos e modelos generativos.

Em 2010, os pesquisadores estenderam o aprendizado profundo do TIMIT para o reconhecimento de voz de grande vocabulário, adotando grandes camadas de saída do DNN com base em estados HMM dependentes do contexto construídos por árvores de decisão .

Os avanços no hardware geraram um interesse renovado no aprendizado profundo. Em 2009, a Nvidia estava envolvida no que foi chamado de “big bang” do aprendizado profundo, “conforme as redes neurais de aprendizado profundo eram treinadas com unidades de processamento gráfico (GPUs) da Nvidia”. Naquele ano, Andrew Ng determinou que as GPUs poderiam aumentar a velocidade dos sistemas de aprendizado profundo em cerca de 100 vezes. Em particular, as GPUs são adequadas para os cálculos de matriz / vetor envolvidos no aprendizado de máquina. As GPUs aceleram os algoritmos de treinamento em ordens de magnitude, reduzindo o tempo de execução de semanas para dias. Além disso, as otimizações de hardware e algoritmo especializadas podem ser usadas para o processamento eficiente de modelos de aprendizado profundo.

Revolução de aprendizagem profunda

Como o aprendizado profundo é um subconjunto do aprendizado de máquina e como o aprendizado de máquina é um subconjunto da inteligência artificial (IA).

Em 2012, uma equipe liderada por George E. Dahl venceu o "Desafio de Atividade Molecular da Merck" usando redes neurais profundas multitarefas para prever o alvo biomolecular de um medicamento. Em 2014, o grupo de Hochreiter usou o aprendizado profundo para detectar efeitos indesejados e tóxicos de produtos químicos ambientais em nutrientes, produtos domésticos e drogas e venceu o "Desafio de Dados Tox21" do NIH , FDA e NCATS .

Impactos adicionais significativos na imagem ou reconhecimento de objeto foram sentidos de 2011 a 2012. Embora CNNs treinados por backpropagationexistissem por décadas, e implementações de GPU de NNs por anos, incluindo CNNs, implementações rápidas de CNNs em GPUs eram necessárias para progredir na visão computacional . Em 2011, essa abordagem alcançou pela primeira vez um desempenho sobre-humano em um concurso de reconhecimento de padrões visuais. Também em 2011, ganhou o concurso de caligrafia chinesa do ICDAR e, em maio de 2012, ganhou o concurso de segmentação de imagens do ISBI. Até 2011, as CNNs não desempenhavam um papel importante nas conferências de visão computacional, mas em junho de 2012, um artigo de Ciresan et al. na conferência principal, o CVPR mostrou como o máximo de CNNs na GPU pode melhorar drasticamente muitos registros de benchmark de visão. Em outubro de 2012, um sistema semelhante por Krizhevsky et al. venceu a competição em grande escala da ImageNet por uma margem significativa sobre os métodos superficiais de aprendizado de máquina. Em novembro de 2012, o sistema de Ciresan et al. Também ganhou o concurso ICPR em análise de grandes imagens médicas para detecção de câncer e, no ano seguinte, também o Grande Desafio MICCAI sobre o mesmo tópico. Em 2013 e 2014, a taxa de erro na tarefa ImageNet usando aprendizado profundo foi reduzida ainda mais, seguindo uma tendência semelhante no reconhecimento de fala em larga escala.

A classificação de imagens foi então estendida para a tarefa mais desafiadora de gerar descrições (legendas) para imagens, geralmente como uma combinação de CNNs e LSTMs.

Alguns pesquisadores afirmam que a vitória do ImageNet em outubro de 2012 ancorou o início de uma "revolução do aprendizado profundo" que transformou a indústria de IA.

Em março de 2019, Yoshua Bengio , Geoffrey Hinton e Yann LeCun receberam o Prêmio Turing por inovações conceituais e de engenharia que tornaram as redes neurais profundas um componente crítico da computação.

Redes neurais

Redes neurais artificiais

Redes neurais artificiais ( RNAs ) ou sistemas conexionistas são sistemas de computação inspirados nas redes neurais biológicas que constituem o cérebro dos animais. Esses sistemas aprendem (melhoram progressivamente sua capacidade) a realizar tarefas considerando exemplos, geralmente sem programação específica para tarefas. Por exemplo, no reconhecimento de imagem, eles podem aprender a identificar imagens que contêm gatos analisando imagens de exemplo que foram marcadas manualmente como "gato" ou "sem gato" e usando os resultados analíticos para identificar gatos em outras imagens. Eles descobriram que a maior parte do uso em aplicativos é difícil de expressar com um algoritmo de computador tradicional usando programação baseada em regras .

Uma RNA é baseada em uma coleção de unidades conectadas chamadas neurônios artificiais (análogos aos neurônios biológicos em um cérebro biológico ). Cada conexão ( sinapse ) entre neurônios pode transmitir um sinal para outro neurônio. O neurônio receptor (pós-sináptico) pode processar o (s) sinal (es) e então sinalizar os neurônios a jusante conectados a ele. Os neurônios podem ter estado, geralmente representado por números reais , normalmente entre 0 e 1. Os neurônios e as sinapses também podem ter um peso que varia à medida que o aprendizado avança, o que pode aumentar ou diminuir a força do sinal que ele envia a jusante.

Normalmente, os neurônios são organizados em camadas. Diferentes camadas podem realizar diferentes tipos de transformações em suas entradas. Os sinais viajam da primeira (entrada) até a última (saída) camada, possivelmente depois de atravessar as camadas várias vezes.

O objetivo original da abordagem da rede neural era resolver problemas da mesma forma que um cérebro humano faria. Com o tempo, a atenção se concentrou em combinar habilidades mentais específicas, levando a desvios da biologia, como retropropagação , ou passar informações na direção reversa e ajustar a rede para refletir essas informações.

As redes neurais têm sido usadas em uma variedade de tarefas, incluindo visão computacional, reconhecimento de fala , tradução automática , filtragem de rede social , jogos de tabuleiro e videogames e diagnóstico médico.

A partir de 2017, as redes neurais normalmente têm alguns milhares a alguns milhões de unidades e milhões de conexões. Apesar desse número ser várias ordens de magnitude menor que o número de neurônios em um cérebro humano, essas redes podem realizar muitas tarefas em um nível além do dos humanos (por exemplo, reconhecer rostos, jogar "Go").

Redes neurais profundas

Uma rede neural profunda (DNN) é uma rede neural artificial (ANN) com várias camadas entre as camadas de entrada e saída. Existem diferentes tipos de redes neurais, mas sempre consistem nos mesmos componentes: neurônios, sinapses, pesos, tendências e funções. Esses componentes funcionam de forma semelhante ao cérebro humano e podem ser treinados como qualquer outro algoritmo de ML.

Por exemplo, um DNN treinado para reconhecer raças de cães examinará a imagem fornecida e calculará a probabilidade de o cão na imagem ser uma determinada raça. O usuário pode revisar os resultados e selecionar quais probabilidades a rede deve exibir (acima de um certo limite, etc.) e retornar o rótulo proposto. Cada manipulação matemática como tal é considerada uma camada, e DNN complexos têm muitas camadas, daí o nome de redes "profundas".

Os DNNs podem modelar relacionamentos não lineares complexos. As arquiteturas DNN geram modelos composicionais em que o objeto é expresso como uma composição em camadas de primitivas . As camadas extras permitem a composição de recursos de camadas inferiores, potencialmente modelando dados complexos com menos unidades do que uma rede rasa de desempenho semelhante. Por exemplo, foi provado que polinômios multivariados esparsos são exponencialmente mais fáceis de aproximar com DNNs do que com redes rasas.

As arquiteturas profundas incluem muitas variantes de algumas abordagens básicas. Cada arquitetura obteve sucesso em domínios específicos. Nem sempre é possível comparar o desempenho de várias arquiteturas, a menos que tenham sido avaliadas nos mesmos conjuntos de dados.

DNNs são tipicamente redes feedforward nas quais os dados fluem da camada de entrada para a camada de saída sem loopback. A princípio, o DNN cria um mapa de neurônios virtuais e atribui valores numéricos aleatórios, ou "pesos", às conexões entre eles. Os pesos e entradas são multiplicados e retornam uma saída entre 0 e 1. Se a rede não reconhecesse com precisão um padrão específico, um algoritmo ajustaria os pesos. Dessa forma, o algoritmo pode tornar certos parâmetros mais influentes, até determinar a manipulação matemática correta para processar totalmente os dados.

Redes neurais recorrentes (RNNs), nas quais os dados podem fluir em qualquer direção, são usadas para aplicações como modelagem de linguagem . A memória de curto prazo longa é particularmente eficaz para esse uso.

Redes neurais profundas convolucionais (CNNs) são usadas na visão computacional. Os CNNs também foram aplicados à modelagem acústica para reconhecimento automático de fala (ASR).

Desafios

Tal como acontece com ANNs, muitos problemas podem surgir com DNNs treinados ingenuamente. Dois problemas comuns são overfitting e tempo de computação.

DNNs são propensos a overfitting devido às camadas adicionadas de abstração, que permitem modelar dependências raras nos dados de treinamento. Métodos de regularização como poda de unidade de Ivakhnenko ou queda de peso ( -regularização) ou esparsidade ( -regularização) podem ser aplicados durante o treinamento para combater o sobreajuste. Alternativamente, a regularização de abandono omite unidades aleatoriamente das camadas ocultas durante o treinamento. Isso ajuda a excluir dependências raras. Finalmente, os dados podem ser aumentados por meio de métodos como recorte e rotação, de modo que conjuntos de treinamento menores possam ser aumentados em tamanho para reduzir as chances de sobreajuste.

Os DNNs devem considerar muitos parâmetros de treinamento, como o tamanho (número de camadas e número de unidades por camada), a taxa de aprendizado e os pesos iniciais. Varrer o espaço de parâmetros em busca de parâmetros ótimos pode não ser viável devido ao custo em tempo e recursos computacionais. Vários truques, como batching (computar o gradiente em vários exemplos de treinamento de uma vez em vez de exemplos individuais) aceleram o cálculo. Grandes recursos de processamento de arquiteturas de muitos núcleos (como GPUs ou Intel Xeon Phi) produziram acelerações significativas no treinamento, devido à adequação de tais arquiteturas de processamento para cálculos matriciais e vetoriais.

Alternativamente, os engenheiros podem procurar outros tipos de redes neurais com algoritmos de treinamento mais diretos e convergentes. CMAC ( controlador de articulação do modelo cerebelar ) é um desses tipos de rede neural. Não requer taxas de aprendizagem ou pesos iniciais aleatórios para CMAC. O processo de treinamento pode ser garantido para convergir em uma etapa com um novo lote de dados, e a complexidade computacional do algoritmo de treinamento é linear em relação ao número de neurônios envolvidos.

Hardware

Desde 2010, os avanços nos algoritmos de aprendizado de máquina e no hardware do computador levaram a métodos mais eficientes para treinar redes neurais profundas que contêm muitas camadas de unidades ocultas não lineares e uma camada de saída muito grande. Em 2019, as unidades de processamento gráfico ( GPUs ), muitas vezes com aprimoramentos específicos de IA, substituíram as CPUs como o método dominante de treinamento de IA em nuvem comercial em grande escala. A OpenAI estimou a computação de hardware usada nos maiores projetos de aprendizado profundo de AlexNet (2012) a AlphaZero (2017) e encontrou um aumento de 300.000 vezes na quantidade de computação necessária, com uma linha de tendência de tempo de duplicação de 3,4 meses.

Formulários

Reconhecimento automático de voz

O reconhecimento automático de voz em grande escala é o primeiro e mais convincente caso de sucesso de aprendizagem profunda. Os LSTM RNNs podem aprender tarefas de "Aprendizado Muito Profundo" que envolvem intervalos de vários segundos contendo eventos de fala separados por milhares de intervalos de tempo discretos, onde um intervalo de tempo corresponde a cerca de 10 ms. O LSTM com esquece portas é competitivo com os reconhecedores de fala tradicionais em certas tarefas.

O sucesso inicial no reconhecimento de fala foi baseado em tarefas de reconhecimento de pequena escala baseadas no TIMIT. O conjunto de dados contém 630 falantes de oito dialetos principais do inglês americano , onde cada falante lê 10 frases. Seu pequeno tamanho permite que muitas configurações sejam experimentadas. Mais importante, a tarefa TIMIT diz respeito ao reconhecimento de sequência de telefone, que, ao contrário do reconhecimento de sequência de palavras, permite modelos de linguagem bigram de telefone fracos . Isso permite que a força dos aspectos de modelagem acústica do reconhecimento de voz seja analisada mais facilmente. As taxas de erro listadas abaixo, incluindo esses resultados iniciais e medidas como taxas de erro de telefone percentual (PER), foram resumidas desde 1991.

Método
Taxa de erro percentual do telefone (PER) (%)
RNN inicializado aleatoriamente 26,1
Trifone Bayesiano GMM-HMM 25,6
Modelo de trajetória oculta (gerador) 24,8
DNN de monofone inicializado aleatoriamente 23,4
Monofone DBN-DNN 22,4
Triphone GMM-HMM com treinamento BMMI 21,7
Monofone DBN-DNN no fbank 20,7
DNN convolucional 20,0
DNN convolucional w. Pooling heterogêneo 18,7
Conjunto DNN / CNN / RNN 18,3
LSTM bidirecional 17,8
Rede Hierárquica Convolucional Deep Maxout 16,5

A estreia das DNNs para reconhecimento de alto-falante no final da década de 1990 e reconhecimento de fala por volta de 2009-2011 e da LSTM por volta de 2003-2007 acelerou o progresso em oito áreas principais:

  • Expansão / redução e treinamento e decodificação de DNN acelerado
  • Treinamento discriminativo de sequência
  • Processamento de recursos por modelos profundos com conhecimento sólido dos mecanismos subjacentes
  • Adaptação de DNNs e modelos de profundidade relacionados
  • Multi-tarefa e aprendizagem de transferência por DNNs e modelos de profundidade relacionados
  • CNNs e como projetá-los para melhor explorar o conhecimento do domínio da fala
  • RNN e suas ricas variantes LSTM
  • Outros tipos de modelos profundos, incluindo modelos baseados em tensores e modelos profundos generativos / discriminativos integrados.

Todos os principais sistemas comerciais de reconhecimento de voz (por exemplo, Microsoft Cortana , Xbox , Skype Translator , Amazon Alexa , Google Now , Apple Siri , Baidu e pesquisa de voz iFlyTek e uma variedade de produtos de voz Nuance , etc.) são baseados em aprendizagem profunda.

Reconhecimento de imagem

Um conjunto de avaliação comum para classificação de imagens é o conjunto de dados do banco de dados MNIST. MNIST é composto de dígitos manuscritos e inclui 60.000 exemplos de treinamento e 10.000 exemplos de teste. Assim como o TIMIT, seu tamanho pequeno permite que os usuários testem várias configurações. Uma lista abrangente de resultados neste conjunto está disponível.

O reconhecimento de imagem baseado em aprendizado profundo tornou-se "sobre-humano", produzindo resultados mais precisos do que competidores humanos. Isso ocorreu pela primeira vez em 2011, no reconhecimento de sinais de trânsito, e em 2014, com o reconhecimento de rostos humanos. Ultrapassando o reconhecimento facial no nível humano

Veículos treinados para aprendizado profundo agora interpretam visualizações de câmera de 360 ​​°. Outro exemplo é o Facial Dismorphology Novel Analysis (FDNA), usado para analisar casos de malformação humana conectados a um grande banco de dados de síndromes genéticas.

Processamento de arte visual

Intimamente relacionado ao progresso feito no reconhecimento de imagens, está a aplicação crescente de técnicas de aprendizado profundo em várias tarefas de artes visuais. DNNs provaram ser capazes, por exemplo, de a) identificar o período de estilo de uma dada pintura, b) Transferência de estilo neural  - capturar o estilo de uma determinada obra de arte e aplicá-lo de uma maneira visualmente agradável a uma fotografia ou vídeo arbitrário, e c) geração de imagens impressionantes com base em campos de entrada visual aleatórios.

Processamento de linguagem natural

As redes neurais têm sido usadas para implementar modelos de linguagem desde o início dos anos 2000. LSTM ajudou a melhorar a tradução automática e a modelagem de linguagem.

Outras técnicas importantes neste campo são a amostragem negativa e a incorporação de palavras . A incorporação de palavras, como word2vec , pode ser considerada uma camada representacional em uma arquitetura de aprendizado profundo que transforma uma palavra atômica em uma representação posicional da palavra em relação a outras palavras no conjunto de dados; a posição é representada como um ponto em um espaço vetorial . O uso de incorporação de palavras como uma camada de entrada RNN permite que a rede analise sentenças e frases usando uma gramática de vetor de composição eficaz. Uma gramática de vetor de composição pode ser considerada como uma gramática livre de contexto probabilística (PCFG) implementada por um RNN. Codificadores automáticos recursivos construídos sobre embeddings de palavras podem avaliar a similaridade de frases e detectar paráfrases. As arquiteturas neurais profundas fornecem os melhores resultados para análise de constituintes , análise de sentimento , recuperação de informações, compreensão da linguagem falada, tradução automática, vinculação de entidade contextual, reconhecimento de estilo de escrita, classificação de texto e outros.

Desenvolvimentos recentes generalizam a incorporação de palavras para a incorporação de frases .

O Google Translate (GT) usa uma grande rede ponta a ponta de longa memória de curto prazo (LSTM). O Google Neural Machine Translation (GNMT) usa um método de tradução automática baseado em exemplos em que o sistema "aprende com milhões de exemplos". Ele traduz "frases inteiras de uma vez, em vez de partes. O Google Tradutor oferece suporte a mais de cem idiomas. A rede codifica a" semântica da frase em vez de simplesmente memorizar traduções frase a frase ". GT usa o inglês como intermediário entre a maioria pares de idiomas.

Descoberta de drogas e toxicologia

Uma grande porcentagem de medicamentos candidatos não consegue obter a aprovação regulatória. Essas falhas são causadas por eficácia insuficiente (efeito no alvo), interações indesejadas (efeitos fora do alvo) ou efeitos tóxicos imprevistos . A pesquisa explorou o uso de aprendizagem profunda para prever os alvos biomoleculares , os alvos fora dos alvos e os efeitos tóxicos de produtos químicos ambientais em nutrientes, produtos domésticos e drogas.

AtomNet é um sistema de aprendizado profundo para o design racional de medicamentos com base em estrutura . O AtomNet foi usado para prever novas biomoléculas candidatas a alvos de doenças, como o vírus Ebola e a esclerose múltipla .

Em 2017, redes neurais de gráfico foram usadas pela primeira vez para prever várias propriedades de moléculas em um grande conjunto de dados de toxicologia. Em 2019, redes neurais generativas foram usadas para produzir moléculas que foram validadas experimentalmente em ratos.

Gestão de relacionamento com o cliente

A aprendizagem por reforço profundo tem sido usada para aproximar o valor de possíveis ações de marketing direto , definidas em termos de variáveis RFM . A função de valor estimado mostrou ter uma interpretação natural como valor de vida do cliente .

Sistemas de recomendação

Os sistemas de recomendação têm usado o aprendizado profundo para extrair recursos significativos para um modelo de fator latente para música baseada em conteúdo e recomendações de periódicos. O aprendizado profundo de múltiplas visualizações foi aplicado para aprender as preferências do usuário em vários domínios. O modelo usa uma abordagem híbrida colaborativa e baseada em conteúdo e aprimora as recomendações em várias tarefas.

Bioinformática

Uma RNA autoencoder foi usada em bioinformática , para prever anotações de ontologia gênica e relações de função gênica.

Em informática médica, o aprendizado profundo foi usado para prever a qualidade do sono com base em dados de wearables e previsões de complicações de saúde a partir de dados de registros eletrônicos de saúde .

Análise de imagem médica

Foi demonstrado que o aprendizado profundo produz resultados competitivos em aplicações médicas, como classificação de células cancerosas, detecção de lesões, segmentação de órgãos e aprimoramento de imagens.

Publicidade móvel

Encontrar o público móvel adequado para publicidade móvel é sempre desafiador, uma vez que muitos pontos de dados devem ser considerados e analisados ​​antes que um segmento-alvo possa ser criado e usado na veiculação de anúncios por qualquer servidor de anúncios. O aprendizado profundo tem sido usado para interpretar grandes conjuntos de dados de publicidade de várias dimensões. Muitos pontos de dados são coletados durante o ciclo de solicitação / veiculação / clique de publicidade na Internet. Essas informações podem formar a base do aprendizado de máquina para melhorar a seleção de anúncios.

Restauração de imagem

O aprendizado profundo foi aplicado com sucesso a problemas inversos , como denoising , super-resolução , pintura interna e colorização de filme . Esses aplicativos incluem métodos de aprendizagem, como "Campos de redução para restauração de imagem eficaz", que treina em um conjunto de dados de imagem, e Deep Image Prior , que treina na imagem que precisa ser restaurada.

Detecção de fraude financeira

O aprendizado profundo está sendo aplicado com sucesso à detecção de fraude financeira , detecção de evasão fiscal e combate à lavagem de dinheiro.

Militares

O Departamento de Defesa dos Estados Unidos aplicou o aprendizado profundo para treinar robôs em novas tarefas por meio da observação.

Equações diferenciais parciais

Redes neurais informadas pela física têm sido usadas para resolver equações diferenciais parciais em problemas diretos e inversos de uma maneira orientada por dados. Um exemplo é a reconstrução do fluxo de fluido governado pelas equações de Navier-Stokes . O uso de redes neurais informadas sobre a física não requer a geração de malhas frequentemente cara da qual os métodos CFD convencionais dependem.

Relação com o desenvolvimento cognitivo e cerebral humano

O aprendizado profundo está intimamente relacionado a uma classe de teorias do desenvolvimento do cérebro (especificamente, desenvolvimento neocortical) propostas por neurocientistas cognitivos no início dos anos 1990. Essas teorias de desenvolvimento foram instanciadas em modelos computacionais, tornando-os predecessores dos sistemas de aprendizado profundo. Esses modelos de desenvolvimento compartilham a propriedade de que várias dinâmicas de aprendizagem propostas no cérebro (por exemplo, uma onda de fator de crescimento do nervo ) apóiam a auto-organização de forma análoga às redes neurais utilizadas em modelos de aprendizagem profunda. Como o neocórtex , as redes neurais empregam uma hierarquia de filtros em camadas em que cada camada considera as informações de uma camada anterior (ou do ambiente operacional) e, em seguida, passa sua saída (e possivelmente a entrada original) para outras camadas. Este processo produz uma pilha auto-organizada de transdutores , bem ajustados ao seu ambiente operacional. Uma descrição de 1995 afirmou: "... o cérebro do bebê parece se organizar sob a influência de ondas dos chamados fatores tróficos ... diferentes regiões do cérebro se conectam sequencialmente, com uma camada de tecido amadurecendo antes da outra e assim até que todo o cérebro esteja maduro. "

Uma variedade de abordagens tem sido usada para investigar a plausibilidade dos modelos de aprendizagem profunda de uma perspectiva neurobiológica. Por outro lado, diversas variantes do algoritmo de retropropagação têm sido propostas com o objetivo de aumentar seu realismo de processamento. Outros pesquisadores argumentaram que as formas não supervisionadas de aprendizagem profunda, como aquelas baseadas em modelos gerativos hierárquicos e redes de crenças profundas , podem estar mais próximas da realidade biológica. A esse respeito, modelos de rede neural generativa têm sido relacionados a evidências neurobiológicas sobre o processamento baseado em amostragem no córtex cerebral.

Embora uma comparação sistemática entre a organização do cérebro humano e a codificação neuronal em redes profundas ainda não tenha sido estabelecida, várias analogias foram relatadas. Por exemplo, os cálculos realizados por unidades de aprendizagem profunda podem ser semelhantes aos de neurônios e populações neurais reais. Da mesma forma, as representações desenvolvidas por modelos de aprendizagem profunda são semelhantes às medidas no sistema visual dos primatas, tanto no nível de unidade única quanto no nível da população.

Atividade comercial

O laboratório de IA do Facebook realiza tarefas como marcar automaticamente as fotos carregadas com os nomes das pessoas que estão nelas.

A DeepMind Technologies do Google desenvolveu um sistema capaz de aprender a jogar videogames Atari usando apenas pixels como entrada de dados. Em 2015, eles demonstraram seu sistema AlphaGo , que aprendeu o jogo Go bem o suficiente para vencer um jogador profissional de Go. O Google Translate usa uma rede neural para traduzir entre mais de 100 idiomas.

Em 2015, Blippar demonstrou um aplicativo de realidade aumentada móvel que usa aprendizado profundo para reconhecer objetos em tempo real.

Em 2017, Covariant.ai foi lançado, com foco na integração do aprendizado profundo nas fábricas.

A partir de 2008, pesquisadores da Universidade do Texas em Austin (UT) desenvolveram uma estrutura de aprendizado de máquina chamada Treinamento de um agente manualmente via reforço avaliativo, ou TAMER, que propôs novos métodos para robôs ou programas de computador aprenderem a realizar tarefas interagindo com um instrutor humano. Desenvolvido pela primeira vez como TAMER, um novo algoritmo denominado Deep TAMER foi posteriormente introduzido em 2018 durante uma colaboração entre o Laboratório de Pesquisa do Exército dos EUA (ARL) e pesquisadores da UT. O Deep TAMER usou o aprendizado profundo para fornecer a um robô a capacidade de aprender novas tarefas por meio da observação. Usando Deep TAMER, um robô aprendeu uma tarefa com um treinador humano, assistindo a streams de vídeo ou observando um humano realizar uma tarefa pessoalmente. Mais tarde, o robô praticou a tarefa com a ajuda de algum treinamento do treinador, que forneceu feedback como "bom trabalho" e "mau trabalho".

Críticas e comentários

O aprendizado profundo atraiu críticas e comentários, em alguns casos de fora do campo da ciência da computação.

Teoria

Uma das principais críticas diz respeito à falta de teoria em torno de alguns métodos. O aprendizado nas arquiteturas profundas mais comuns é implementado usando uma descida gradiente bem compreendida. No entanto, a teoria em torno de outros algoritmos, como divergência contrastiva, é menos clara. (por exemplo, ela converge? Em caso afirmativo, com que rapidez? O que está se aproximando?) Os métodos de aprendizado profundo são frequentemente vistos como uma caixa preta , com a maioria das confirmações feitas empiricamente, em vez de teoricamente.

Outros apontam que o aprendizado profundo deve ser visto como um passo em direção à realização de IA forte, não como uma solução abrangente. Apesar do poder dos métodos de aprendizado profundo, eles ainda carecem de muitas das funcionalidades necessárias para atingir esse objetivo inteiramente. O psicólogo de pesquisa Gary Marcus observou:

"Realisticamente, o aprendizado profundo é apenas parte do desafio maior de construir máquinas inteligentes. Essas técnicas carecem de maneiras de representar relações causais (...) não têm maneiras óbvias de realizar inferências lógicas e também estão muito longe de integrar o abstrato conhecimento, como informações sobre o que os objetos são, para que servem e como são normalmente usados. Os sistemas de IA mais poderosos, como o Watson (...) usam técnicas como o aprendizado profundo como apenas um elemento em um conjunto muito complicado de técnicas, variando da técnica estatística de inferência bayesiana ao raciocínio dedutivo . "

Em referência adicional à ideia de que a sensibilidade artística pode ser inerente a níveis relativamente baixos da hierarquia cognitiva, uma série publicada de representações gráficas dos estados internos de redes neurais profundas (20-30 camadas) tentando discernir dentro de dados essencialmente aleatórios as imagens em que foram treinados demonstrar uma apelo visual: o aviso de pesquisa original recebeu mais de 1.000 comentários, e foi o assunto do que foi por algum tempo o artigo mais freqüentemente acessados on The Guardian 's website.

Erros

Algumas arquiteturas de aprendizado profundo exibem comportamentos problemáticos, como classificar com segurança imagens irreconhecíveis como pertencentes a uma categoria familiar de imagens comuns e classificar erroneamente perturbações minúsculas de imagens classificadas corretamente. Goertzel formulou a hipótese de que esses comportamentos são devido a limitações em suas representações internas e que essas limitações inibiriam a integração em arquiteturas heterogêneas de inteligência geral artificial (AGI) de múltiplos componentes . Essas questões podem possivelmente ser tratadas por arquiteturas de aprendizado profundo que internamente formam estados homólogos às decomposições de imagem-gramática de entidades e eventos observados. Aprender uma gramática (visual ou linguística) a partir de dados de treinamento seria equivalente a restringir o sistema ao raciocínio de senso comum que opera em conceitos em termos de regras de produção gramaticais e é um objetivo básico tanto da aquisição da linguagem humana quanto da inteligência artificial (IA).

Ameaça cibernética

À medida que o aprendizado profundo passa do laboratório para o mundo, a pesquisa e a experiência mostram que as redes neurais artificiais são vulneráveis ​​a hacks e fraudes. Ao identificar os padrões que esses sistemas usam para funcionar, os invasores podem modificar as entradas das RNAs de forma que a RNA encontre uma correspondência que os observadores humanos não reconheceriam. Por exemplo, um invasor pode fazer mudanças sutis em uma imagem de forma que a RNA encontre uma correspondência, mesmo que a imagem para um humano não se pareça com o alvo de busca. Essa manipulação é chamada de "ataque adversário".

Em 2016, os pesquisadores usaram uma RNA para manipular imagens por tentativa e erro, identificar os pontos focais de outra e, assim, gerar imagens que a enganaram. As imagens modificadas não pareciam diferentes aos olhos humanos. Outro grupo mostrou que impressões de imagens alteradas e então fotografadas com sucesso enganaram um sistema de classificação de imagens. Uma defesa é a busca reversa de imagens, na qual uma possível imagem falsa é enviada a um site como o TinEye, que pode então encontrar outras instâncias dela. Um refinamento é pesquisar usando apenas partes da imagem, para identificar imagens das quais essa parte pode ter sido tirada .

Outro grupo mostrou que certos óculos psicodélicos podiam enganar um sistema de reconhecimento facial fazendo-o pensar que pessoas comuns eram celebridades, permitindo que uma pessoa se fizesse passar por outra. Em 2017, pesquisadores adicionaram adesivos para sinais de parada e fizeram com que uma ANN classificasse incorretamente.

As RNAs podem, entretanto, ser treinadas para detectar tentativas de fraude, levando potencialmente atacantes e defensores a uma corrida armamentista semelhante ao tipo que já define a indústria de defesa contra malware . ANNs foram treinados para derrotar software anti-malware baseado em ANN, atacando repetidamente uma defesa com malware que foi continuamente alterado por um algoritmo genético até enganar o anti-malware, mantendo sua capacidade de danificar o alvo.

Outro grupo demonstrou que certos sons podem fazer o sistema de comando de voz do Google Now abrir um endereço da web específico que baixaria malware.

No “envenenamento de dados”, dados falsos são continuamente contrabandeados para o conjunto de treinamento de um sistema de aprendizado de máquina para evitar que ele alcance o domínio.

Dependência do micro-trabalho humano

A maioria dos sistemas de aprendizado profundo depende de dados de treinamento e verificação que são gerados e / ou anotados por humanos. Tem sido argumentado na filosofia da mídia que não apenas clickwork mal pago (por exemplo, no Amazon Mechanical Turk ) é regularmente implantado para essa finalidade, mas também formas implícitas de microtrabalho humano que muitas vezes não são reconhecidas como tal. O filósofo Rainer Mühlhoff distingue cinco tipos de "captura maquínica" do microtrabalho humano para gerar dados de treinamento: (1) gamificação (a incorporação de tarefas de anotação ou computação no fluxo de um jogo), (2) "captura e rastreamento" (por exemplo CAPTCHAs para reconhecimento de imagem ou rastreamento de cliques nas páginas de resultados de pesquisa do Google ), (3) exploração de motivações sociais (por exemplo, marcar rostos no Facebook para obter imagens faciais rotuladas), (4) mineração de informações (por exemplo, aproveitando dispositivos autônomos quantificados , como rastreadores de atividade ) e (5) clickwork .

Mühlhoff argumenta que na maioria dos aplicativos comerciais de Deep Learning para usuários finais, como o sistema de reconhecimento de rosto do Facebook , a necessidade de dados de treinamento não para depois que uma RNA é treinada. Em vez disso, há uma demanda contínua por dados de verificação gerados por humanos para calibrar e atualizar constantemente a RNA. Para isso, o Facebook introduziu o recurso que, assim que um usuário é automaticamente reconhecido em uma imagem, ele recebe uma notificação. Eles podem escolher se gostam de ser rotulados publicamente na imagem ou dizer ao Facebook que não são eles na imagem. Essa interface de usuário é um mecanismo para gerar "um fluxo constante de dados de verificação" para treinar ainda mais a rede em tempo real. Como Mühlhoff argumenta, o envolvimento de usuários humanos para gerar dados de treinamento e verificação é tão típico para a maioria das aplicações de Deep Learning para usuários finais comerciais que tais sistemas podem ser referidos como "inteligência artificial auxiliada por humanos".

Veja também

Referências

Leitura adicional