O que é uma rede neural?

Uma rede neural é um método de inteligência artificial que ensina computadores a processar dados de uma forma inspirada pelo cérebro humano. É um tipo de processo de machine learning, chamado aprendizado profundo, que usa nós ou neurônios interconectados em uma estrutura em camadas, semelhante ao cérebro humano. A rede neural cria um sistema adaptativo que os computadores usam para aprender com os erros e se aprimorar continuamente. As redes neurais artificiais tentam solucionar problemas complicados, como resumir documentos ou reconhecer rostos com grande precisão.

Por que as redes neurais são importantes?

As redes neurais podem ajudar os computadores a tomar decisões inteligentes com assistência humana limitada. Isso ocorre porque elas aprendem e modelam relacionamentos entre os dados de entrada e de saída complexos e não lineares. Por exemplo, elas podem realizar as tarefas a seguir.

Fazer generalizações e inferências

As redes neurais podem entender dados não estruturados e fazer observações gerais sem receber treinamento explícito. Por exemplo, elas podem reconhecer que duas frases diferentes têm o mesmo significado, como estas:

  • Você pode me explicar como fazer o pagamento?
  • Como eu transfiro o dinheiro?

Uma rede neural sabe que as duas frases significam a mesma coisa. Ela também pode reconhecer que Baxter Road é um local e Baxter Smith é o nome de uma pessoa.

Para que as redes neurais são usadas?

As redes neurais têm vários casos de uso em diferentes setores, como:

  • Diagnóstico médico feito pela classificação de imagens
  • Marketing direcionado pela filtragem de mídia social e análise de dados comportamentais
  • Previsões financeiras feitas pelo processamento de dados históricos de instrumentos financeiros
  • Previsões de demanda de energia e carga elétrica
  • Processo e controle de qualidade
  • Identificação de compostos químicos

Abaixo, mostramos quatro aplicações importantes das redes neurais.

Visão computacional

A visão computacional é a capacidade dos computadores de extrair informações e insights de imagens e vídeos. Com as redes neurais, os computadores podem distinguir e reconhecer imagens de maneira semelhantes aos humanos. A visão computacional tem várias aplicações, como:

  • Reconhecimento visual em carros autônomos para que eles possam reconhecer as placas de trânsito e os outros usuários das vias
  • Moderação de conteúdo para remover automaticamente conteúdos inapropriados ou perigosos de arquivos de vídeos e imagens
  • Reconhecimento facial para identificar rostos e reconhecer atributos como olhos abertos, óculos e barba
  • Rótulo de imagens para identificar logotipos de marcas, roupas, equipamentos de segurança e outros detalhes de imagens

Reconhecimento de voz

As redes neurais podem analisar a fala humana mesmo existindo diversos padrões de fala, tom, altura, idioma e sotaque. Assistentes virtuais como a Amazon Alexa e software de transcrição automática usam o reconhecimento de fala para realizar tarefas como:

  • Ajudar atendentes de centrais de atendimento e classificar chamadas automaticamente
  • Converter conversas clínicas em documentação em tempo real
  • Criar legendas de vídeos e gravações de reuniões com precisão para permitir maior alcance do conteúdo

Processamento de linguagem natural

Processamento de linguagem natural (PLN) é a capacidade de processar textos criados por seres humanos. As redes neurais ajudam os computadores a coletar insights e significados de documentos e dados de texto. O PLN tem vários casos de uso, incluindo as seguintes funções:

  • Chatbots e atendentes virtuais automatizados
  • Organização e classificação automática de dados gravados
  • Análise da inteligência comercial de documentos longos, como e-mails e formulários
  • Indexação de frases essenciais que indicam sentimentos, como comentários positivos e negativos em mídias sociais
  • Resumo de documentos e geração de artigos para um determinado tópico

Mecanismos de recomendação

As redes neurais podem monitorar as atividades do usuário e desenvolver recomendações personalizadas. Também são capazes de analisar todo o comportamento do usuário e descobrir novos produtos ou serviços que podem interessar um usuário específico. Por exemplo, a Curalate, uma startup sediada na Filadélfia, ajuda as marcas a converter publicações de mídias sociais em vendas. As marcas usam o serviço de marcação inteligente de produtos (IPT) da Curalate para automatizar a coleta e curadoria de conteúdo social gerado pelo usuário. A IPT usa as redes neurais para localizar e recomendar automaticamente os produtos relevantes com base na atividade de mídia social do usuário. Os consumidores não precisam buscar em catálogos online para encontrar um produto específico de uma imagem de mídia social. Ao invés disso, podem usar a marcação automática de produtos da Curalate para comprar o produto com facilidade.

Como as redes neurais funcionam?

O cérebro humano é a inspiração por trás da arquitetura da rede neural. As células do cérebro humano, chamadas de neurônios, formam uma rede altamente interconectada e enviam sinais elétricos entre si para ajudar os seres humanos a processar informações. Da mesma forma, uma rede neural artificial é feita de neurônios artificiais que trabalham juntos para resolver um problema. Os neurônios artificiais são módulos de software chamados de “nós”, e as redes neurais artificiais são programas ou algoritmos de software que, em seu núcleo, usam sistemas de computação para solucionar cálculos matemáticos.

Arquitetura de rede neural simples

Uma rede neural básica tem neurônios artificiais interconectados em três camadas:

Camada de entrada

As informações do mundo externo entram na rede neural artificial pela camada de entrada. Os nós de entrada processam os dados, analisam ou categorizam esses dados e os encaminham para a próxima camada.

Camada oculta

As camadas ocultas usam as entradas da camada de entrada ou de outras camadas ocultas. As redes neurais artificiais podem ter várias camadas ocultas. Cada camada oculta analisa o resultado da camada anterior, processa-o mais um pouco e o encaminha para a próxima camada.

Camada de saída

A camada de saída fornece o resultado final de todos os dados processados pela rede neural artificial. Ela pode ter um ou vários nós. Por exemplo, se tivermos um problema de classificação binária (sim/não), a camada de saída terá um nó de saída, o que fornecerá o resultado como 1 ou 0. Porém, se tivermos um problema de classificação de várias classes, a camada de saída poderá ter mais de um nó de saída.

Arquitetura da rede neural profunda

As redes neurais profundas, ou redes de aprendizado profundo, têm várias camadas ocultas, com milhões de neurônios artificiais interligados. Um número, conhecido como peso, representa as conexões entre um nó e outro. O peso será um número positivo se um nó excitar o outro, ou negativo se um nó reprimir o outro. Os nós com valores de peso maiores têm mais influência nos outros nós.
Teoricamente, as redes neurais profundas podem direcionar qualquer tipo de entrada para qualquer tipo de saída. Porém, elas precisam de muito mais treinamento do que outros métodos de machine learning. Elas precisam de milhões de exemplos de dados de treinamento, enquanto as redes simples talvez precisem de apenas centenas ou milhares.

 

Quais são os tipos de redes neurais?

As redes neurais artificiais podem ser categorizadas com base em como os dados fluem do nó de entrada para o nó de saída. Veja alguns exemplos abaixo:

Redes neurais feedforward

As redes neurais feedforward processam dados em uma direção, do nó de entrada para o nó de saída. Cada nó de uma camada está conectado a todos os nós da próxima camada. Com o passar do tempo, uma rede feedforward usa o processo de feedback para aprimorar as previsões.

Algoritmo de backpropagation

As redes neurais artificiais aprendem continuamente usando encaminhamentos de feedbacks corretivos para aprimorar sua análise preditiva. Pense nos dados fluindo do nó de entrada para o nó de saída por meio de vários caminhos diferentes na rede neural. Somente um caminho é o correto, que direcionará o nó de entrada para o nó de saída correto. Para encontrar esse caminho, a rede neural usa um encaminhamento de feedback, que funciona da seguinte maneira:

  1. Cada nó tem um palpite sobre o próximo nó do caminho.
  2. Ele verifica se o palpite estava correto. Os nós atribuem valores mais altos aos caminhos que levam a palpites mais precisos e valores de peso mais baixo para os caminhos do nó que levam a palpites incorretos.
  3. Para o próximo ponto de dados, os nós fazem uma nova previsão usando caminhos de peso mais alto e, em seguida, repetem a etapa 1.

Redes neurais convolucionais

As camadas ocultas nas redes neurais convolucionais executam funções matemáticas específicas, como resumo ou filtragem, chamadas convoluções. Elas são muito úteis para a classificação das imagens, pois podem extrair recursos relevantes das imagens, que são úteis para o reconhecimento e classificação das imagens. O novo formato é mais fácil de processar sem a perda de recursos que são essenciais para uma boa previsão. Cada camada oculta extrai e processa recursos de imagens diferentes, como bordas, cores e profundidade.

Como treinar as redes neurais?

O treinamento da rede neural é o processo de ensinar uma rede neural a executar uma tarefa. As redes neurais aprendem processando inicialmente vários conjuntos grandes de dados rotulados ou não rotulados. Usando esses exemplos, elas podem então processar entradas desconhecidas com mais precisão.

Aprendizado supervisionado

No aprendizado supervisionado, os cientistas de dados fornecem conjuntos de dados rotulados da rede neural, que oferecem a resposta correta antecipadamente. Por exemplo, um treinamento da rede de aprendizado profundo em reconhecimento facial inicialmente processa milhares de imagens de rostos humanos, com vários termos relacionados à origem étnica, ao país ou às emoções descritas em cada imagem.

A rede neural lentamente constrói um conhecimento desses conjuntos de dados, o que fornece a resposta correta antecipadamente. Depois que a rede for treinada, ela começa a criar palpites sobre a origem étnica ou a emoção da nova imagem de um rosto humano que nunca tinha processado antes.

O que é o aprendizado profundo no contexto das redes neurais?

A inteligência artificial é um campo da ciência da computação que pesquisa métodos que concedem às máquinas a habilidade de executar tarefas que exigem inteligência humana. Machine learning é uma técnica da inteligência artificial que concede aos computadores acesso a grandes conjuntos de dados e os treina para aprender com esses dados. O software de machine learning encontra um modelo nos dados existentes e aplica esses modelos aos novos dados para tomar decisões inteligentes. O aprendizado profundo é um subconjunto de machine learning que usa as redes de aprendizado profundo para processar dados.

Machine learning versus aprendizado profundo

Os métodos tradicionais de machine learning exigem a contribuição humana para que o software de machine learning funcione de forma satisfatória. Um cientista de dados determina manualmente o conjunto de recursos relevantes que o software precisa analisar. Isso limita a habilidade do software, o que torna o trabalho de criação e gerenciamento muito monótono.

Por outro lado, com o aprendizado profundo o cientista de dados fornece apenas dados brutos ao software. A rede de aprendizado profundo deriva o recurso por si mesmo e aprende de forma mais independente. Ela pode analisar conjunto de dados não estruturados, como documentos em texto, identificar quais os atributos dos dados deve priorizar e solucionar problemas mais complexos.

Por exemplo, se você quiser treinar um software de machine learning para identificar uma imagem de um animal doméstico corretamente, você deverá executar estas etapas:

  • Encontre e rotule milhares de imagens de animais domésticos, como cães, gatos, cavalos, hamsters, papagaios etc. manualmente.
  • Informe ao software de machine learning quais os recursos ele deve procurar para identificar a imagem usando eliminação. Por exemplo, ele poderá contar o número de patas, depois verificar o formato dos olhos, das orelhas, o rabo, o pelo, etc.
  • Avalie e altere manualmente os conjuntos de dados para aprimorar a precisão do software. Por exemplo, se seu conjunto de treinamento tiver muitas fotos de gatos pretos, o software identificará corretamente um gato preto, mas não um branco.
  • Porém, no aprendizado profundo, as redes neurais processam todas as imagens e determinam automaticamente que precisam analisar o número de patas e o formato do rosto primeiro, para depois olhar para o rabo e, finalmente identificar o animal na imagem.

O que são os serviços de aprendizado profundo na AWS?

Os serviços de aprendizado profundo da AWS usam o poder da computação em nuvem para que você possa escalar as redes neurais de aprendizado profundo com custos reduzidos e otimizá-los para obter maior velocidade. Você pode também usar os serviços da AWS como estes para gerenciar aplicações de aprendizado profundo específicas:

  • O Amazon Rekognition para adicionar recursos de visão computacional personalizados ou pré-treinados para sua aplicação.
  • O Amazon Transcribe para reconhecer automaticamente e transcrever falas de forma precisa.
  • O Amazon Lex para criar chatbots inteligentes que entendem a intenção, mantêm o contexto da conversa e automatizam tarefas simples em vários idiomas.

Comece a usar as redes neurais de aprendizado profundo na AWS com o Amazon SageMaker e crie, treine e implante modelos em escala de forma rápida e fácil. Você também pode usar as AMIs de aprendizado profundo da AWS para criar ambientes e fluxos de trabalho personalizados para o aprendizado profundo.

Crie uma conta da AWS gratuita para começar agora mesmo!

Próximas etapas da AWS