Aprendizado de máquina e redes neurais - página 54

 

Aula 3.5 — Usando as derivadas da retropropagação



Aula 3.5 — Usando as derivadas da retropropagação [Redes neurais para aprendizado de máquina]

Para aprender eficientemente em redes neurais multicamadas, obter as derivadas de erro para todos os pesos é crucial. No entanto, existem várias outras considerações que precisam ser abordadas para especificar completamente um procedimento de aprendizagem.

Uma dessas considerações é determinar a frequência das atualizações de peso e evitar o overfitting ao usar uma rede grande. O algoritmo de retropropagação calcula eficientemente as derivadas para cada peso com base em um único caso de treinamento, mas não é um algoritmo de aprendizado completo. Para desenvolver um procedimento de aprendizagem adequado, fatores adicionais precisam ser especificados.

Questões de otimização entram em jogo ao utilizar as derivadas de peso para descobrir um conjunto ideal de pesos. Uma questão é com que frequência os pesos devem ser atualizados. Uma abordagem é atualizar os pesos após cada caso de treinamento, resultando em zigue-zague devido à variação das derivadas de erro. No entanto, em média, pequenas alterações de peso podem levar na direção certa. Como alternativa, o treinamento em lote completo envolve passar por todos os dados de treinamento, somando as derivadas de erro de casos individuais e dando um pequeno passo nessa direção. No entanto, essa abordagem pode ser computacionalmente cara, especialmente se os pesos iniciais forem ruins. O aprendizado em minilote oferece um compromisso ao selecionar aleatoriamente uma pequena amostra de casos de treinamento para atualizar os pesos. Isso reduz o ziguezague enquanto ainda é computacionalmente eficiente, tornando-o comumente usado para treinar grandes redes neurais em grandes conjuntos de dados.

Determinar a magnitude das atualizações de peso é outro problema de otimização. Em vez de escolher manualmente uma taxa de aprendizado fixa, geralmente é mais sensato adaptar a taxa de aprendizado. Por exemplo, se o erro oscilar, a taxa de aprendizado pode ser reduzida, ao passo que, se houver progresso constante, a taxa de aprendizado pode ser aumentada. É até possível atribuir diferentes taxas de aprendizado a diferentes conexões na rede para permitir que alguns pesos aprendam mais rapidamente do que outros. Além disso, em vez de seguir estritamente a direção da descida mais íngreme, pode ser benéfico explorar direções alternativas que levem a uma melhor convergência. No entanto, encontrar essas direções alternativas pode ser um desafio.

O segundo conjunto de questões refere-se a quão bem os pesos aprendidos se generalizam para casos não vistos. Os dados de treinamento contêm informações sobre regularidades e dois tipos de ruído. O primeiro tipo são valores-alvo não confiáveis, o que geralmente é uma preocupação menor. O segundo tipo é o erro amostral, onde podem surgir regularidades acidentais devido aos casos específicos de treinamento escolhidos. Os modelos não podem distinguir entre regularidades acidentais e regularidades verdadeiras que generalizam bem. Portanto, os modelos tendem a se ajustar a ambos os tipos de regularidades, levando a uma generalização ruim se o modelo for muito complexo.

Para lidar com o overfitting, várias técnicas foram desenvolvidas para redes neurais e outros modelos. Essas técnicas incluem redução de peso, onde os pesos são mantidos pequenos ou em zero para simplificar o modelo, e compartilhamento de peso, onde muitos pesos têm o mesmo valor para reduzir a complexidade. A parada antecipada envolve o monitoramento de um conjunto de teste falso durante o treinamento e a parada quando o desempenho no conjunto de teste falso começa a se deteriorar. A média do modelo envolve o treinamento de várias redes neurais e a média de suas previsões para reduzir erros. O ajuste bayesiano de redes neurais é uma forma de média de modelo que incorpora princípios bayesianos. Dropout é uma técnica que aumenta a robustez do modelo ao omitir aleatoriamente unidades ocultas durante o treinamento. O pré-treinamento generativo, uma abordagem mais avançada, será discutido posteriormente no curso.

A obtenção de derivadas de erro para todos os pesos em uma rede multicamadas é essencial para um aprendizado eficiente. No entanto, para desenvolver um procedimento de aprendizado completo, outros fatores, como frequência de atualização de peso, prevenção de overfitting, técnicas de otimização e generalização para casos não vistos devem ser considerados e abordados.

Lecture 3.5 — Using the derivatives from backpropagation [Neural Networks for Machine Learning]
Lecture 3.5 — Using the derivatives from backpropagation [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Aula 4.1 — Aprendendo a prever a próxima palavra



Aula 4.1 — Aprendendo a prever a próxima palavra [Redes neurais para aprendizado de máquina]

Os próximos vídeos se concentrarão na utilização do algoritmo de retropropagação para aprender o significado de uma palavra por meio da representação de recursos. Nesta introdução, começaremos com um caso simples da década de 1980 para ilustrar como as informações relacionais podem ser transformadas em vetores de recursos usando retropropagação.

O caso envolve duas árvores genealógicas, uma inglesa e outra italiana, com estruturas semelhantes. Ao expressar as informações nessas árvores genealógicas como proposições usando relacionamentos específicos (por exemplo, filho, filha, pai, mãe), podemos ver a tarefa de aprender essas informações relacionais como encontrar regularidades dentro de um conjunto de triplos.

Em vez de procurar regras simbólicas, podemos empregar uma rede neural para capturar essas informações, prevendo o terceiro termo de um triplo a partir dos dois primeiros termos. A arquitetura da rede consiste em múltiplas camadas projetadas para aprender representações interessantes. Codificamos as informações usando uma representação neutra, garantindo que todas as pessoas sejam tratadas como entidades distintas.

A rede aprende treinando em um conjunto de proposições, ajustando gradualmente os pesos usando retropropagação. Podemos examinar a camada oculta responsável pela codificação de uma pessoa para entender as representações aprendidas. Diferentes unidades nesta camada revelam características como nacionalidade, geração e ramo da árvore genealógica da pessoa.

Esses recursos são úteis para prever a pessoa de saída, pois capturam regularidades no domínio. A rede descobre autonomamente esses recursos sem nenhuma orientação explícita. A camada intermediária da rede combina os recursos da pessoa de entrada e os recursos de relacionamento para prever os recursos da pessoa de saída.

O desempenho da rede pode ser avaliado testando-o em triplos incompletos e observando o quão bem ele generaliza. Com dados de treinamento limitados, ele atinge uma boa taxa de precisão para uma escolha de 24 vias. Se treinado em um conjunto de dados maior, ele pode generalizar a partir de uma fração menor dos dados.

Embora o exemplo apresentado aqui seja uma caixa de brinquedos, na prática podemos aplicar técnicas semelhantes a bancos de dados contendo milhões de fatos relacionais. Ao treinar uma rede para descobrir representações vetoriais de entidades e relacionamentos, podemos efetivamente limpar e validar o banco de dados.

Em vez de prever o terceiro termo a partir dos dois primeiros, também podemos estimar a probabilidade de correção de um fato usando vários termos. Essa abordagem requer exemplos de fatos corretos e incorretos para treinamento.

Ao empregar backpropagation e redes neurais, podemos aprender representações significativas de informações relacionais e fazer previsões ou avaliar a plausibilidade dos fatos em um banco de dados.

Treinar uma rede neural para estimar a probabilidade de correção de um fato requer um conjunto de dados contendo uma variedade de fatos corretos e uma fonte confiável de fatos incorretos. Apresentando a rede com exemplos corretos e encorajando alta produção, e expondo-a a exemplos incorretos e encorajando baixa produção, ela pode aprender a distinguir entre fatos plausíveis e implausíveis.

Essa abordagem fornece uma ferramenta poderosa para limpar bancos de dados. A rede pode sinalizar fatos potencialmente incorretos ou suspeitos, permitindo investigação e verificação adicionais. Por exemplo, se o banco de dados afirma que Bach nasceu em 1902, a rede pode identificar isso como altamente implausível com base nas relações e outros fatos relacionados que aprendeu.

Com os avanços no poder do computador e a disponibilidade de vastos bancos de dados contendo milhões de fatos relacionais, a aplicação de redes neurais para descobrir representações vetoriais de características tornou-se mais prática. Aproveitando a capacidade das redes neurais para aprender padrões e relacionamentos complexos, podemos obter insights valiosos e fazer previsões com base nas representações aprendidas.

Vale a pena notar que o exemplo discutido aqui foi realizado na década de 1980 como uma demonstração das capacidades de retropropagação e redes neurais. Desde então, o campo fez progressos significativos e os pesquisadores aplicaram técnicas semelhantes a vários domínios, incluindo processamento de linguagem natural, visão computacional e sistemas de recomendação.

Em conclusão, utilizar o algoritmo de retropropagação e redes neurais para aprender representações de recursos a partir de informações relacionais fornece uma abordagem poderosa para entender e fazer previsões com base em conjuntos de dados complexos. Ao treinar a rede em exemplos de fatos corretos e incorretos, podemos aproveitar suas capacidades para validar e melhorar a qualidade dos bancos de dados, tornando-os mais confiáveis e úteis para diversas aplicações.

Lecture 4.1 — Learning to predict the next word [Neural Networks for Machine Learning]
Lecture 4.1 — Learning to predict the next word [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Aula 4.2 — Um breve desvio para a ciência cognitiva



Aula 4.2 — Um breve desvio para a ciência cognitiva [Redes neurais para aprendizado de máquina]

Na ciência cognitiva, há um longo debate sobre a relação entre representações vetoriais de características e representações relacionais de conceitos. Este debate não é de grande interesse para os engenheiros, então eles podem pular esta discussão.

A teoria dos recursos postula que os conceitos são definidos por um conjunto de recursos semânticos, o que é útil para explicar as semelhanças entre os conceitos e para o aprendizado de máquina. Por outro lado, a teoria estruturalista defende que o significado de um conceito reside em suas relações com outros conceitos, favorecendo uma representação gráfica relacional.

Na década de 1970, Marvin Minsky usou as limitações dos perceptrons para argumentar a favor de representações gráficas relacionais. No entanto, ambos os lados do debate são considerados incorretos porque veem as teorias como rivais quando podem realmente ser integradas.

As redes neurais podem implementar grafos relacionais usando vetores de características semânticas. No caso de aprender árvores genealógicas, a rede neural passa as informações adiante sem regras explícitas de inferência. A resposta é intuitivamente óbvia para a rede devido à influência de microcaracterísticas probabilísticas e suas interações.

Enquanto regras explícitas são usadas para o raciocínio consciente, muito do nosso senso comum e raciocínio analógico envolve "apenas ver" a resposta sem etapas intervenientes conscientes. Mesmo no raciocínio consciente, é necessário encontrar uma maneira de identificar rapidamente as regras aplicáveis para evitar a regressão infinita.

A implementação de um gráfico relacional em uma rede neural não é tão simples quanto atribuir neurônios a nós do gráfico e conexões a relacionamentos binários. Diferentes tipos de relacionamentos e relacionamentos ternários representam desafios. O método preciso para implementar o conhecimento relacional em uma rede neural ainda é incerto, mas é provável que vários neurônios estejam envolvidos na representação de cada conceito, formando uma representação distribuída onde existem mapeamentos muitos-para-muitos entre conceitos e neurônios.

Em uma representação distribuída, vários neurônios provavelmente são usados para representar cada conceito, e cada neurônio pode estar envolvido na representação de vários conceitos. Essa abordagem, conhecida como representação distribuída, permite uma codificação mais flexível e eficiente do conhecimento conceitual em redes neurais.

No entanto, os detalhes específicos da implementação de como representar o conhecimento relacional em uma rede neural ainda estão sob investigação. A suposição de que um neurônio corresponde a um nó no grafo relacional e as conexões representam relações binárias não é suficiente. Os relacionamentos vêm em diferentes tipos e sabores, e as conexões neurais só têm força, faltando a capacidade de capturar diversos tipos de relacionamento.

Além disso, relacionamentos ternários, como "A está entre B e C", também precisam ser considerados. A abordagem ideal para integrar o conhecimento relacional em uma rede neural ainda é incerta, e pesquisas em andamento visam enfrentar esse desafio.

No entanto, a evidência sugere que uma representação distribuída está envolvida na representação de conceitos das redes neurais. Essa abordagem permite a flexibilidade e a capacidade de lidar com vários conceitos e seus relacionamentos, abrindo caminho para uma modelagem e compreensão cognitivas mais sofisticadas no campo da ciência cognitiva.

Lecture 4.2 — A brief diversion into cognitive science [Neural Networks for Machine Learning]
Lecture 4.2 — A brief diversion into cognitive science [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Aula 4.3 — A função de saída softmax [Redes neurais para aprendizado de máquina]



Aula 4.3 — A função de saída softmax [Redes neurais para aprendizado de máquina]

Agora, vamos nos aprofundar no tópico da função de saída softmax. A função softmax é uma técnica usada para garantir que as saídas de uma rede neural somem um, permitindo que elas representem uma distribuição de probabilidade entre alternativas mutuamente exclusivas.

Antes de continuarmos discutindo como os vetores de características são aprendidos para representar palavras, vamos fazer uma digressão técnica. Até agora, usamos a medida do erro quadrático como critério de treinamento para redes neurais, o que é adequado para neurônios lineares. No entanto, a medida de erro quadrado tem suas limitações.

Por exemplo, se a saída desejada for 1, mas a saída real de um neurônio for extremamente próxima de zero, haverá muito pouco gradiente disponível para facilitar as atualizações de peso. Isso ocorre porque a inclinação da saída do neurônio é quase horizontal, resultando em ajustes de peso lentos, apesar de um erro significativo.

Além disso, ao atribuir probabilidades a rótulos de classe mutuamente exclusivos, é crucial que a saída seja somada a um. Uma resposta como atribuir probabilidade de três quartos tanto para a Classe A quanto para a Classe B não faz sentido. Portanto, precisamos fornecer à rede o conhecimento de que essas alternativas são mutuamente exclusivas.

Para resolver esses problemas, precisamos de uma função de custo diferente que possa lidar adequadamente com classes mutuamente exclusivas. A função softmax nos permite atingir esse objetivo. É uma versão contínua da função máxima, garantindo que as saídas do grupo softmax representem uma distribuição de probabilidade.

No grupo softmax, cada unidade recebe uma entrada acumulada, denominada logit, da camada abaixo. A saída de cada unidade, denotada como yi, depende não apenas de seu próprio logit, mas também dos logits acumulados por outras unidades do grupo softmax. Matematicamente, a saída do i-ésimo neurônio é calculada usando a equação e^zi dividida pela soma da mesma quantidade para todos os neurônios no grupo softmax.

Essa equação softmax garante que a soma de todos os yi seja igual a um, representando uma distribuição de probabilidade. Além disso, os valores de yi situam-se entre zero e um, reforçando a representação de alternativas mutuamente exclusivas como uma distribuição de probabilidade.

A derivada da função softmax tem uma forma simples, semelhante à unidade logística, tornando-a conveniente para cálculos. A derivada da saída em relação à entrada de um neurônio individual no grupo softmax é dada por yi vezes (1 - yi).

Determinar a função de custo apropriada ao usar um grupo softmax para saídas é crucial. A probabilidade logarítmica negativa da resposta correta, também conhecida como função de custo de entropia cruzada, é comumente usada. Esta função de custo visa maximizar a probabilidade logarítmica de fornecer a resposta correta.

Para calcular a função de custo de entropia cruzada, somamos todas as respostas possíveis, atribuindo um valor de zero às respostas erradas e um valor de um à resposta correta. Calculando a probabilidade de log negativo, obtemos o custo associado à resposta correta.

Uma das principais vantagens da função de custo de entropia cruzada é seu grande gradiente quando o valor alvo é 1 e a saída é próxima de zero. Mesmo pequenas mudanças na saída melhoram significativamente o valor da função de custo. Por exemplo, um valor de um em um milhão é consideravelmente melhor do que um valor de um em um bilhão, mesmo que a diferença seja mínima.

Para ilustrar ainda mais esse ponto, imagine fazer uma aposta com base na crença de que a resposta é uma em um milhão ou uma em um bilhão. Apostar com probabilidade de um em um milhão e errar resultaria na perda de um milhão de dólares. Por outro lado, se a resposta fosse uma em um bilhão, a mesma aposta levaria à perda de um bilhão de dólares.

Essa propriedade da função de custo de entropia cruzada garante uma derivada íngreme quando a resposta é significativamente incorreta, o que equilibra a planicidade da alteração da saída à medida que a entrada muda. Ao multiplicar esses fatores, obtemos a derivada da função de custo de entropia cruzada em relação ao logit que entra na unidade de saída i. A regra da cadeia é empregada para este cálculo.

A derivada da função de custo em relação à produção de uma unidade, multiplicada pela derivada da produção em relação ao logit zi, resulta na produção real menos a produção pretendida. A inclinação dessa diferença é um ou menos um quando as saídas e os alvos são significativamente diferentes, e a inclinação é próxima de zero somente quando eles são quase idênticos, indicando que uma resposta correta está sendo produzida.

A função de saída softmax é utilizada para garantir que as saídas de uma rede neural representem uma distribuição de probabilidade entre alternativas mutuamente exclusivas. Ao empregar a equação softmax, as saídas são restritas a somar um, indicando probabilidades para diferentes classes.

No entanto, usar a medida de erro quadrado como uma função de custo para treinar redes neurais tem desvantagens, como ajustes de peso lentos quando a saída desejada está longe da saída real. Para resolver esse problema, a função de custo de entropia cruzada é introduzida. Ele calcula a probabilidade logarítmica negativa da resposta correta e produz um gradiente maior quando o valor alvo é 1 e a saída está próxima de zero. Essa propriedade permite um aprendizado mais eficiente e evita atribuir probabilidades iguais a alternativas mutuamente exclusivas.

A função softmax, juntamente com a função de custo de entropia cruzada, fornece uma combinação poderosa para treinar redes neurais para produzir saídas probabilísticas. Ao ajustar os pesos e vieses por meio de retropropagação e descida de gradiente estocástico, a rede pode aprender a fazer previsões precisas e representar relacionamentos complexos entre os dados.

É importante observar que esses conceitos e técnicas formam a base do treinamento de redes neurais e são aplicáveis em vários domínios, incluindo processamento de linguagem natural, visão computacional e reconhecimento de padrões. Pesquisas e avanços contínuos nessas áreas contribuem para melhorar o desempenho e as capacidades das redes neurais na solução de problemas do mundo real.

Lecture 4.3 — The softmax output function [Neural Networks for Machine Learning]
Lecture 4.3 — The softmax output function [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Aula 4.4 — Modelos de linguagem neuroprobabilística



Aula 4.4 — Modelos de linguagem neuroprobabilística [Redes neurais para aprendizado de máquina]

Neste vídeo, exploramos uma aplicação prática de vetores de recursos que representam palavras, especificamente em sistemas de reconhecimento de fala. Ter uma boa compreensão do que alguém pode dizer a seguir é crucial para reconhecer com precisão os sons que eles fazem.

O reconhecimento de fala enfrenta desafios na identificação de fonemas com precisão, especialmente em fala ruidosa, onde a entrada acústica é muitas vezes ambígua e várias palavras podem se ajustar ao sinal igualmente bem. No entanto, geralmente não percebemos essa ambigüidade porque contamos com o significado do enunciado para ouvir as palavras corretas. Esse processo inconsciente de reconhecer a fala destaca a necessidade de reconhecedores de fala para prever as próximas palavras prováveis.

Felizmente, as palavras podem ser previstas de forma eficaz sem compreender totalmente o conteúdo falado. O método do trigrama é uma abordagem padrão para prever as probabilidades de diferentes palavras que podem vir a seguir. Envolve contar as frequências de palavras triplas em um grande corpus de texto e usar essas frequências para estimar as probabilidades relativas da próxima palavra dadas as duas palavras anteriores.

O método do trigrama tem sido uma abordagem de ponta até recentemente, pois fornece probabilidades com base em duas palavras anteriores. O uso de contextos maiores resultaria em uma explosão de possibilidades e, principalmente, em contagens zero. Nos casos em que o contexto não é visto, como "pizza de dinossauro", o modelo recorre a previsões de palavras individuais. É importante não atribuir probabilidades zero apenas porque um exemplo não foi encontrado antes.

No entanto, o modelo trigrama ignora informações valiosas que podem ajudar a prever a próxima palavra. Por exemplo, entender as semelhanças entre palavras como "gato" e "cachorro" ou "esmagado" e "achatado" pode aumentar a precisão da previsão. Para superar essa limitação, as palavras precisam ser transformadas em vetores de características que capturem suas características semânticas e sintáticas. Ao usar as características das palavras anteriores, um contexto maior (por exemplo, 10 palavras anteriores) pode ser utilizado para previsão.

Joshua Bengio foi pioneiro nessa abordagem usando redes neurais, e seu modelo inicial se assemelha à rede de árvores genealógicas, mas aplicado à modelagem de linguagem com mais complexidade. Ao inserir o índice de uma palavra e propagar a atividade por meio de camadas ocultas, a rede pode aprender representações distribuídas de palavras como vetores de recursos. Esses vetores são então usados para prever as probabilidades de várias palavras usando uma camada de saída softmax.

Uma melhoria adicional é o uso de conexões de camada de salto que conectam diretamente as palavras de entrada às palavras de saída. As palavras de entrada individuais contêm informações valiosas sobre palavras de saída em potencial. O modelo de Bengio inicialmente teve um desempenho um pouco pior do que os trigramas, mas mostrou-se promissor quando combinado com trigramas.

Desde o trabalho de Bengio, os modelos de linguagem que usam vetores de recursos para palavras melhoraram significativamente e superaram os modelos de trigramas. No entanto, surge um desafio ao lidar com um grande número de palavras de saída, pois a camada de saída softmax pode exigir um número considerável de pesos (por exemplo, centenas de milhares). O overfitting pode ocorrer se a última camada oculta for muito grande, mas reduzir seu tamanho leva à previsão precisa de um grande número de probabilidades.

No próximo vídeo, exploraremos abordagens alternativas para lidar com o grande número de palavras de saída, considerando que tanto grandes quanto pequenas probabilidades são relevantes para sistemas de reconhecimento de fala.

Lecture 4.4 — Neuro-probabilistic language models [Neural Networks for Machine Learning]
Lecture 4.4 — Neuro-probabilistic language models [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Aula 4.5 — Lidando com muitos resultados possíveis



Aula 4.5 — Lidando com muitas saídas possíveis [Redes neurais para aprendizado de máquina]

Neste vídeo, exploraremos diferentes abordagens para evitar a necessidade de um número excessivo de unidades de saída em um softmax ao lidar com um vocabulário grande. Em vez de ter centenas de milhares de unidades de saída para obter probabilidades de palavras, podemos usar arquiteturas alternativas.

Uma abordagem é uma arquitetura serial, onde inserimos palavras de contexto e uma palavra candidata. Ao percorrer a rede, geramos uma pontuação que indica a adequação da palavra candidata naquele contexto. Essa abordagem requer a execução da rede várias vezes, mas a maioria dos cálculos só precisa ser feita uma vez. Podemos reutilizar as mesmas entradas do contexto para diferentes palavras candidatas, e a única parte que precisa ser recalculada são as entradas específicas da palavra candidata e a saída da pontuação final.

Para aprender nesta arquitetura serial, calculamos pontuações para cada palavra candidata e aplicamos uma função softmax para obter probabilidades de palavras. Ao comparar as probabilidades das palavras com suas probabilidades de destino (geralmente uma para a palavra correta e zero para as outras), podemos derivar derivadas da área de entropia cruzada. Esses derivados orientam os ajustes de peso para aumentar a pontuação para a palavra candidata correta e diminuir as pontuações para rivais de alto escalão. Para otimizar a eficiência, podemos considerar um conjunto menor de palavras candidatas sugeridas por outro preditor em vez de avaliar todas as possíveis candidatas.

Outro método para evitar um grande softmax é organizar as palavras em uma estrutura de árvore binária. Isso envolve organizar todas as palavras como folhas na árvore e usar o contexto das palavras anteriores para gerar um vetor de previsão. Comparando esse vetor com um vetor aprendido para cada nó da árvore, podemos determinar a probabilidade de pegar o ramo direito ou esquerdo. Percorrendo recursivamente a árvore, podemos chegar à palavra-alvo. Durante o aprendizado, precisamos apenas considerar os nós ao longo do caminho correto, reduzindo significativamente a carga computacional.

Uma abordagem diferente para o aprendizado de vetores de características de palavras é aproveitar o contexto passado e futuro. Usando uma janela de palavras, colocamos a palavra correta ou uma palavra aleatória no meio da janela. Ao treinar uma rede neural para produzir pontuações altas para a palavra correta e pontuações baixas para palavras aleatórias, podemos aprender vetores de recursos que capturam distinções semânticas. Esses vetores de recursos são úteis para várias tarefas de processamento de linguagem natural.

Para visualizar os vetores de recursos aprendidos, podemos exibi-los em um mapa bidimensional usando técnicas como t-SNE. Essa visualização ajuda a identificar palavras e grupos semelhantes, fornecendo informações sobre o entendimento da rede neural sobre os significados das palavras. Os vetores aprendidos podem revelar relações e distinções semânticas, demonstrando o poder da informação contextual na determinação dos significados das palavras.

Aqui está outro exemplo da representação de mapa bidimensional de vetores de recursos aprendidos. Nesta seção do mapa, podemos observar um agrupamento de palavras relacionadas a jogos. Palavras como partidas, jogos, corridas, jogadores, times e clubes são agrupadas, indicando sua semelhança de significado. Além disso, identifica os elementos associados aos jogos, incluindo prêmios, taças, taças, medalhas e outras recompensas. A capacidade da rede neural de capturar essas relações semânticas permite inferir que, se uma palavra é adequada para um contexto específico, outras palavras dentro do mesmo cluster provavelmente também serão apropriadas.

Passando para outra parte do mapa, encontramos um cluster dedicado a lugares. No topo, encontramos vários estados dos EUA, seguidos por cidades, predominantemente aquelas localizadas na América do Norte. Além disso, o mapa exibe outras cidades e países, demonstrando o entendimento da rede neural sobre as relações geográficas. Por exemplo, conecta Cambridge com Toronto, Detroit e Ontário, todos pertencentes ao Canadá de língua inglesa, enquanto agrupa Quebec com Berlim e Paris, associando-o ao Canadá de língua francesa. Da mesma forma, sugere uma semelhança entre o Iraque e o Vietnã.

Vamos explorar outro exemplo no mapa. Esta seção se concentra em advérbios, apresentando palavras como provável, provavelmente, possivelmente e talvez, que compartilham significados semelhantes. Da mesma forma, identifica as semelhanças semânticas entre inteiramente, completamente, totalmente e muito. Além disso, reconhece outros padrões de similaridade, como qual e aquilo, quem e o quê, e como, se e por quê.

O aspecto fascinante desses vetores de recursos aprendidos é que eles capturam nuances semânticas sutis apenas analisando sequências de palavras da Wikipedia, sem nenhuma orientação explícita. Esta informação contextual desempenha um papel crucial na compreensão dos significados das palavras. De fato, algumas teorias sugerem que é um dos principais mecanismos pelos quais adquirimos a semântica das palavras.

Em conclusão, essas diferentes abordagens para lidar com grandes vocabulários e aprender representações de palavras oferecem alternativas eficientes à arquitetura tradicional do softmax. Ao alavancar arquiteturas seriais, estruturas de árvore ou informações contextuais, as redes neurais podem gerar representações de palavras significativas e semelhantes. Essas representações são valiosas em várias tarefas de processamento de linguagem natural, mostrando a capacidade da rede de capturar relações semânticas e distinções entre palavras.

Lecture 4.5 — Dealing with many possible outputs [Neural Networks for Machine Learning]
Lecture 4.5 — Dealing with many possible outputs [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 5.1 — Por que o reconhecimento de objetos é difícil



Aula 5.1 — Por que o reconhecimento de objetos é difícil [Redes neurais para aprendizado de máquina]

Reconhecer objetos em cenas reais apresenta vários desafios que muitas vezes são negligenciados devido à nossa proficiência inata nessa tarefa. A conversão de intensidades de pixel em rótulos de objetos é um processo complexo que envolve várias dificuldades. Um grande obstáculo é segmentar o objeto de seus arredores, já que não temos as pistas de movimento e estéreo disponíveis no mundo real. Essa ausência torna difícil determinar quais partes pertencem ao mesmo objeto. Além disso, os objetos podem ser parcialmente ocultos por outros objetos, complicando ainda mais o processo de reconhecimento. Curiosamente, nossas habilidades visuais excepcionais muitas vezes mascaram esses problemas.

Outro desafio significativo no reconhecimento de objetos decorre da influência da iluminação nas intensidades dos pixels. A intensidade de um pixel não depende apenas do próprio objeto, mas também das condições de iluminação. Por exemplo, uma superfície preta sob luz forte produz pixels mais intensos em comparação com uma superfície branca sob iluminação fraca. Para reconhecer um objeto, devemos converter essas intensidades variáveis de pixel em rótulos de classe, mas essas variações podem ocorrer devido a fatores não relacionados à natureza ou identidade do objeto.

Os objetos também podem sofrer deformações, o que aumenta a complexidade do reconhecimento. Mesmo para objetos relativamente simples, como dígitos manuscritos, existe uma grande variedade de formas associadas ao mesmo nome. Por exemplo, o numeral "2" pode aparecer em itálico com uma cúspide ou ter um loop maior e uma forma mais arredondada. Além disso, a classe de um objeto geralmente é definida por sua função e não por sua aparência visual. Considere as cadeiras, onde existem inúmeras variações, desde poltronas até designs modernos com estrutura de aço e costas de madeira. As características visuais por si só podem não ser suficientes para determinar a classe.

Variações de ponto de vista agravam ainda mais as dificuldades de reconhecimento de objetos. A capacidade de reconhecer um objeto tridimensional de várias perspectivas cria alterações de imagem que os métodos convencionais de aprendizado de máquina lutam para lidar. As informações sobre um objeto podem mudar em diferentes pixels quando o objeto se move enquanto nosso olhar permanece fixo. Essa transferência de informações entre dimensões de entrada, geralmente correspondendo a pixels em tarefas visuais, não é comumente encontrada no aprendizado de máquina. Abordar esse problema, geralmente chamado de "salto de dimensão", é crucial para melhorar a precisão do reconhecimento. Uma abordagem sistemática para resolver este problema é altamente desejável.

Em resumo, reconhecer objetos em cenas reais envolve inúmeros desafios. Superar essas dificuldades requer abordar questões relacionadas à segmentação, variações de iluminação, oclusão, deformações, mudanças de ponto de vista e definição semântica de objetos. O desenvolvimento de métodos robustos e sistemáticos que levem em consideração esses fatores aumentará a precisão e a confiabilidade dos sistemas de reconhecimento de objetos.

Lecture 5.1 — Why object recognition is difficult [Neural Networks for Machine Learning]
Lecture 5.1 — Why object recognition is difficult [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 5.2 — Alcançando a invariância do ponto de vista



Aula 5.2 — Alcançando a invariância do ponto de vista [Redes neurais para aprendizado de máquina]

Neste vídeo, vou me aprofundar no conceito de invariância do ponto de vista e explorar várias abordagens para enfrentar esse desafio no reconhecimento de objetos. As variações do ponto de vista representam um obstáculo significativo porque cada vez que visualizamos um objeto, ele aparece em pixels diferentes, tornando o reconhecimento do objeto diferente da maioria das tarefas de aprendizado de máquina. Apesar de nossa aptidão natural para essa tarefa, ainda não encontramos soluções amplamente aceitas em engenharia ou psicologia.

A primeira abordagem sugere o uso de recursos invariantes redundantes. Esses recursos devem ser capazes de suportar transformações como translação, rotação e dimensionamento. Por exemplo, um par de linhas aproximadamente paralelas com um ponto vermelho entre elas foi proposto como uma característica invariante usada por filhotes de gaivotas para identificar onde bicar em busca de comida. Ao empregar um grande conjunto de recursos invariantes, podemos reuni-los de forma única em um objeto ou imagem sem representar explicitamente as relações entre os recursos.

No entanto, o desafio surge ao lidar com tarefas de reconhecimento. A extração de recursos de vários objetos pode resultar em recursos compostos de partes de diferentes objetos, levando a informações enganosas para reconhecimento. Assim, torna-se crucial evitar formar feições de partes de objetos diferentes.

Outra abordagem, denominada "normalização criteriosa", envolve colocar uma caixa ao redor do objeto. Ao definir um referencial dentro desta caixa, podemos descrever as características do objeto em relação a ele, alcançando a invariância. Assumindo que o objeto é uma forma rígida, esta abordagem efetivamente elimina o impacto das mudanças de ponto de vista, mitigando o problema de salto de dimensão. A caixa não precisa necessariamente ser retangular; pode levar em conta translação, rotação, escala, cisalhamento e alongamento. No entanto, selecionar a caixa apropriada apresenta desafios devido a possíveis erros de segmentação, oclusão e orientações incomuns. Determinar a caixa correta depende de nosso conhecimento da forma do objeto, criando um problema do ovo e da galinha: precisamos reconhecer a forma para acertar a caixa, mas precisamos da caixa correta para reconhecer a forma.

Uma abordagem de normalização de força bruta envolve o uso de imagens verticais bem segmentadas durante o treinamento para definir criteriosamente caixas ao redor dos objetos. Durante o teste, ao lidar com imagens desordenadas, todas as caixas possíveis em várias posições e escalas são exploradas. Essa abordagem é comumente usada em visão computacional para tarefas como detectar rostos ou números de casas em imagens não segmentadas. No entanto, é mais eficiente quando o reconhecedor pode lidar com alguma variação de posição e escala, permitindo o uso de uma grade grosseira para tentar caixas diferentes.

A invariância do ponto de vista é um desafio significativo no reconhecimento de objetos. Abordagens como o uso de recursos invariantes, normalização criteriosa com caixas delimitadoras e ajuda de normalização de força bruta na mitigação dos efeitos das variações do ponto de vista. No entanto, selecionar recursos apropriados, determinar a caixa correta e lidar com posições e escalas variadas continuam sendo esforços de pesquisa em andamento no campo da visão computacional.

Lecture 5.2 — Achieving viewpoint invariance [Neural Networks for Machine Learning]
Lecture 5.2 — Achieving viewpoint invariance [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 5.3 — Redes convolucionais para reconhecimento de dígitos



Aula 5.3 — Redes convolucionais para reconhecimento de dígitos [Redes neurais para aprendizado de máquina]

Neste vídeo, discutimos redes neurais convolucionais (CNNs) e sua aplicação no reconhecimento de dígitos manuscritos. As CNNs foram um grande sucesso na década de 1980, particularmente as redes convolucionais profundas de Yan LeCun, que se destacaram no reconhecimento de caligrafia e foram implementadas na prática. Essas redes estavam entre as poucas redes neurais profundas daquela época que podiam ser treinadas nos computadores disponíveis e funcionar excepcionalmente bem.

As CNNs são construídas com base no conceito de recursos replicados. Como os objetos podem aparecer em diferentes posições dentro de uma imagem, um detector de recursos útil em um local provavelmente será útil em outro lugar. Para aproveitar essa ideia, várias cópias do mesmo detector de recursos são criadas em diferentes posições na imagem. Esses detectores de recursos replicados compartilham pesos, reduzindo significativamente o número de parâmetros que precisam ser aprendidos. Por exemplo, três detectores replicados com 27 pixels requerem apenas nove pesos diferentes.

Nas CNNs, vários mapas de recursos, cada um consistindo em recursos replicados, são empregados. Esses recursos replicados são restritos a serem idênticos em vários locais, enquanto diferentes mapas aprendem a detectar diferentes recursos. Essa abordagem permite que diferentes tipos de recursos representem cada patch de imagem, aprimorando os recursos de reconhecimento. Os recursos replicados se alinham bem com a retropropagação, pois é fácil treiná-los usando esse algoritmo. A retropropagação pode ser modificada para incorporar restrições lineares entre os pesos, garantindo que os detectores de recursos replicados sejam aprendidos de forma eficaz.

Muitas vezes há confusão em relação às conquistas dos detectores de recursos replicados. Embora alguns afirmem que alcançam a invariância de tradução, isso não é totalmente preciso. As características replicadas atingem a equivalência, não a invariância, nas atividades dos neurônios. Por exemplo, quando uma imagem é traduzida, os neurônios ativados também mudam de acordo. No entanto, o conhecimento capturado por recursos replicados é invariante. Se um recurso é conhecido por ser detectado em um local, ele pode ser detectado em outro. Para introduzir alguma invariância translacional, as saídas dos detectores de recursos replicados podem ser agrupadas, calculando a média ou tomando o máximo dos detectores vizinhos. No entanto, informações espaciais precisas podem ser perdidas por meio desse processo de agrupamento, afetando tarefas que dependem de relacionamentos espaciais precisos.

Jan Lecun e seus colaboradores demonstraram o poder das CNNs no reconhecimento de dígitos manuscritos, alcançando resultados impressionantes com sua arquitetura LeNet-5. O LeNet-5 compreendia várias camadas ocultas e mapas de recursos, juntamente com o agrupamento entre as camadas. Ele podia lidar com caracteres sobrepostos e não exigia segmentação antes da entrada. A metodologia de treinamento empregou uma abordagem de sistema completo, gerando códigos postais como saída de pixels de entrada. O treinamento foi realizado usando um método semelhante à margem máxima, mesmo antes de sua introdução formal. O LeNet-5 provou ser altamente valioso na leitura de cheques na América do Norte.

Injetar conhecimento prévio em aprendizado de máquina, especificamente redes neurais, pode ser feito por meio de design de rede, conectividade local, restrições de peso ou atividades neurais apropriadas. Essa abordagem influencia a rede em direção a uma abordagem específica de solução de problemas. Outro método é gerar dados de treinamento sintéticos com base no conhecimento prévio, o que fornece à rede mais exemplos para aprender. À medida que os computadores se tornam mais rápidos, a última abordagem torna-se cada vez mais viável. Ele permite que a otimização descubra maneiras eficazes de utilizar redes multicamadas, potencialmente alcançando soluções superiores sem a compreensão completa dos mecanismos subjacentes.

Usando dados sintéticos, vários avanços foram feitos no reconhecimento de dígitos manuscritos. Ao combinar truques como gerar dados sintéticos, treinar grandes redes em unidades de processamento gráfico (GPUs) e criar modelos de consenso, melhorias significativas foram alcançadas. Por exemplo, um grupo liderado por Jurgen Schmidhuber na Suíça reduziu a taxa de erro para aproximadamente 25 erros, provavelmente se aproximando da taxa de erro humano. Avaliar o desempenho de diferentes modelos requer considerar quais erros eles cometem, em vez de confiar apenas em métricas numéricas. Testes estatísticos como o teste de McNemar fornecem mais sensibilidade ao analisar erros específicos, permitindo uma melhor avaliação da superioridade do modelo.

Portanto, ao comparar modelos com base em suas taxas de erro, é importante considerar os erros específicos que eles cometem e realizar testes estatísticos como o teste de McNemar para determinar se as diferenças são estatisticamente significativas. Simplesmente observar as taxas de erro gerais pode não fornecer informações suficientes para fazer um julgamento confiável.

O trabalho do grupo de Jurgen Schmidhuber na Suíça mostrou a eficácia da injeção de conhecimento por meio de dados sintéticos. Eles colocam um esforço significativo na geração de dados sintéticos instrutivos, transformando casos de treinamento reais para criar exemplos de treinamento adicionais. Ao treinar uma grande rede com muitas unidades por camada e muitas camadas em uma unidade de processamento gráfico (GPU), eles conseguiram aproveitar o poder computacional e evitar o overfitting.

Sua abordagem combinou três técnicas principais: geração de dados sintéticos, treinamento de uma grande rede em uma GPU e uso de um método de consenso com vários modelos para determinar a previsão final. Por meio dessa abordagem, eles alcançaram resultados impressionantes, reduzindo a taxa de erro para cerca de 25 erros, o que é comparável à taxa de erro humano.

Uma questão interessante surge quando comparamos modelos com diferentes taxas de erro: como determinamos se um modelo com 30 erros é significativamente melhor do que um modelo com 40 erros? Surpreendentemente, depende dos erros específicos cometidos por cada modelo. Apenas olhar para os números não é suficiente. O teste de McNemar, um teste estatístico que foca nos erros específicos, oferece maior sensibilidade na comparação de modelos.

Por exemplo, considerando uma tabela 2x2, podemos examinar os casos em que um modelo acerta enquanto o outro erra. Analisando as proporções desses casos, podemos determinar a significância das diferenças entre os modelos. Em alguns casos, um modelo pode ter uma taxa de erro menor, mas ter um desempenho pior nas instâncias específicas em que o outro modelo é bem-sucedido, tornando a comparação menos significativa.

Portanto, ao avaliar e comparar modelos, é crucial considerar tanto as taxas de erro quanto os erros específicos cometidos. Testes estatísticos como o teste de McNemar podem fornecer informações mais precisas sobre as diferenças de desempenho entre os modelos. Isso nos ajuda a tomar decisões informadas sobre a seleção e melhoria do modelo.

Além de considerar taxas de erro e erros específicos, há outros fatores a serem considerados ao avaliar e comparar modelos.

  1. Qualidade e quantidade de dados: a qualidade e a quantidade de dados de treinamento podem ter um impacto significativo no desempenho do modelo. Modelos treinados em conjuntos de dados grandes, diversos e representativos tendem a generalizar melhor. É importante garantir que os dados usados para treinamento e avaliação reflitam com precisão os cenários do mundo real que o modelo encontrará.

  2. Recursos computacionais: Os recursos computacionais necessários para treinar e implantar um modelo são considerações essenciais. Alguns modelos podem exigir grande capacidade computacional, como GPUs de alto desempenho ou hardware especializado, o que pode afetar sua praticidade e escalabilidade.

  3. Interpretabilidade: dependendo da aplicação, a interpretabilidade das previsões do modelo pode ser crucial. Alguns modelos, como redes neurais profundas, são frequentemente considerados caixas pretas, tornando difícil entender o raciocínio por trás de suas decisões. Em contraste, outros modelos, como árvores de decisão ou modelos lineares, oferecem mais interpretabilidade. A escolha do modelo deve estar alinhada com os requisitos do problema e das partes interessadas.

  4. Robustez e generalização: o desempenho de um modelo deve ser avaliado não apenas nos dados de treinamento, mas também em dados não vistos para avaliar sua capacidade de generalização. Um modelo robusto deve funcionar bem em diversas amostras de dados e ser resistente a ruídos, outliers e ataques adversários.

  5. Escalabilidade e eficiência: dependendo dos requisitos do aplicativo, escalabilidade e eficiência do modelo são considerações importantes. Modelos que podem processar com eficiência grandes quantidades de dados ou fazer previsões em tempo real podem ser preferidos em determinados cenários.

  6. Considerações éticas: É essencial considerar as implicações éticas ao selecionar e implantar modelos. O viés nos dados ou nas previsões do modelo, justiça, privacidade e preocupações de segurança devem ser levados em consideração para garantir o uso responsável e equitativo dos sistemas de IA.

  7. Feedback do usuário e experiência no domínio: coletar feedback de usuários finais e especialistas no domínio pode fornecer informações valiosas sobre o desempenho e a adequação de um modelo. Suas informações podem ajudar a identificar áreas específicas para melhoria ou descobrir limitações que podem não ser capturadas por métricas de avaliação automatizadas.

Ao considerar esses fatores, além das taxas de erro e erros específicos, podemos tomar decisões mais abrangentes e informadas ao avaliar e comparar modelos.

Lecture 5.3 — Convolutional nets for digit recognition [Neural Networks for Machine Learning]
Lecture 5.3 — Convolutional nets for digit recognition [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Aula 5.4 — Redes convolucionais para reconhecimento de objetos



Aula 5.4 — Redes convolucionais para reconhecimento de objetos [Redes neurais para aprendizado de máquina]

A questão de saber se as redes desenvolvidas para reconhecer dígitos manuscritos poderiam ser ampliadas para reconhecer objetos em imagens coloridas de alta resolução sempre foi um tópico de especulação. Foi considerada uma tarefa desafiadora devido a vários fatores, como lidar com cenas desordenadas, segmentação, ponto de vista 3D, vários objetos e variações de iluminação. No passado, os pesquisadores se concentraram em melhorar a capacidade das redes de reconhecer dígitos manuscritos, o que levou alguns a duvidar da generalização de suas descobertas para imagens coloridas reais.

Para responder a essa questão, foi realizada uma competição recente chamada ImageNet, na qual sistemas de visão computacional foram testados em um subconjunto de 1,2 milhão de imagens coloridas de alta resolução. A tarefa era rotular corretamente as imagens com mil classes diferentes. Os sistemas podiam fazer cinco previsões e eram consideradas corretas se uma das previsões correspondesse ao rótulo atribuído por uma pessoa. Além disso, havia uma tarefa de localização em que os sistemas deveriam colocar uma caixa ao redor do objeto reconhecido.

Os principais grupos de visão computacional de várias instituições participaram da competição, empregando sistemas complexos de vários estágios que combinavam estágios iniciais ajustados à mão com algoritmos de aprendizado no estágio superior. No entanto, a tarefa se mostrou bastante desafiadora, com taxas de erro variando de 26% a 27% para os melhores sistemas. Em contraste, a rede neural profunda de Alex Krizhevsky alcançou uma taxa de erro significativamente menor de 16%.

A rede de Alex Krizhevsky, baseada em redes neurais convolucionais profundas, utilizou sete camadas ocultas e unidades lineares retificadas como funções de ativação. A rede empregou normalização competitiva dentro de uma camada para lidar com variações de intensidade. Várias técnicas foram usadas para melhorar a generalização, incluindo aumento de dados com transformações, como downsampling e reflexões, e o uso de regularização de dropout nas camadas superiores. A rede foi treinada em hardware poderoso, especificamente processadores gráficos Nvidia GTX 580.

Os resultados da competição mostraram que a rede de Alex Krizhevsky superou outros sistemas de visão computacional por uma margem substancial. Seu sucesso demonstrou o potencial das redes neurais profundas para o reconhecimento de objetos em imagens coloridas reais. Essas redes podem aproveitar o conhecimento prévio e lidar com conjuntos de dados e cálculos em larga escala. O uso de hardware eficiente e a possibilidade de distribuir redes em vários núcleos aprimoram ainda mais suas capacidades. Consequentemente, espera-se que as redes neurais profundas continuem avançando e se tornem a abordagem padrão para o reconhecimento de objetos em imagens estáticas.

Da mesma forma, as redes neurais profundas mostraram desempenho impressionante em vários outros domínios. Por exemplo, eles foram bem-sucedidos em tarefas de processamento de linguagem natural, como tradução de idiomas, análise de sentimentos e resposta a perguntas. Nessas tarefas, as redes aprendem a entender a semântica e o contexto do texto, capacitando-as a gerar respostas precisas e significativas.

Além disso, redes neurais profundas também foram aplicadas ao reconhecimento de fala, onde superaram os métodos tradicionais. Ao aprender com grandes quantidades de dados de fala rotulados, essas redes podem efetivamente reconhecer e transcrever palavras faladas com alta precisão.

No campo da saúde, as redes neurais profundas demonstraram capacidades notáveis na análise de imagens médicas. Eles podem ajudar no diagnóstico de doenças a partir de imagens médicas, como raios-X, ressonâncias magnéticas e tomografias computadorizadas. Ao aprender com uma vasta coleção de imagens médicas rotuladas, essas redes podem detectar anormalidades, tumores e outras condições médicas com um nível de precisão comparável a especialistas humanos.

O sucesso das redes neurais profundas pode ser atribuído à sua capacidade de aprender automaticamente representações hierárquicas de dados. Ao extrair progressivamente recursos em vários níveis de abstração, essas redes podem capturar padrões e relacionamentos complexos nos dados. Esse processo de aprendizado de recursos, combinado com a disponibilidade de grandes conjuntos de dados e poderosos recursos computacionais, abriu caminho para avanços significativos em vários domínios.

Em conclusão, as redes neurais profundas provaram ser altamente eficazes em uma ampla gama de tarefas, incluindo reconhecimento de objetos, processamento de linguagem natural, reconhecimento de fala e análise de imagens médicas. Sua capacidade de aprender com grandes conjuntos de dados e extrair automaticamente representações significativas revolucionou muitos campos. À medida que os recursos computacionais continuam a melhorar, podemos esperar conquistas ainda mais impressionantes e avanços adicionais nas capacidades das redes neurais profundas.

Lecture 5.4 — Convolutional nets for object recognition [Neural Networks for Machine Learning]
Lecture 5.4 — Convolutional nets for object recognition [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...