Glossário

Rede Neural Convolucional (CNN)

Descobre como as Redes Neuronais Convolucionais (CNNs) revolucionam a visão computacional, potenciando a IA nos cuidados de saúde, carros autónomos e muito mais.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

Uma rede neural convolucional (CNN) é um tipo de modelo de aprendizagem profunda particularmente adequado para analisar dados visuais, como imagens e vídeos. Ao contrário das redes neurais tradicionais, as CNNs são concebidas para aprender automaticamente e de forma adaptativa hierarquias espaciais de caraterísticas a partir de dados de entrada. Isto é conseguido através de camadas que executam operações matemáticas, como a convolução, para detetar padrões como arestas, texturas e formas mais complexas. As CNNs revolucionaram o campo da visão computacional (CV), permitindo avanços significativos na forma como as máquinas interpretam e compreendem a informação visual.

Componentes principais e funcionalidade

As CNNs são compostas por vários tipos de camadas, cada uma com um objetivo distinto no processamento de dados visuais:

  • Camadas convolucionais: Estas camadas utilizam filtros para analisar a imagem de entrada e criar mapas de caraterísticas que realçam padrões específicos. Cada filtro é responsável pela deteção de uma caraterística específica, como uma aresta vertical ou uma curva. Para uma compreensão mais aprofundada do processo de convolução, podes explorar a convolução.
  • Camadas de pooling: Normalmente utilizadas após as camadas convolucionais, as camadas de pooling reduzem as dimensões espaciais dos mapas de caraterísticas, diminuindo a carga computacional e ajudando a evitar o sobreajuste. Os tipos comuns incluem pooling máximo e pooling médio.
  • Função de ativação: As funções de ativação introduzem a não-linearidade na rede, permitindo que ela aprenda padrões complexos. Escolhas populares incluem ReLU (Unidade Linear Retificada) e suas variantes, como Leaky ReLU.
  • Camadas totalmente conectadas: Estas camadas ligam todos os neurónios da camada anterior à seguinte, à semelhança das redes neuronais tradicionais. Normalmente, são colocadas no final da rede e são responsáveis pela classificação ou previsão final com base nas caraterísticas extraídas pelas camadas convolucionais.
  • Camadas de abandono: Estas camadas ajudam a evitar o sobreajuste, definindo aleatoriamente uma fração de unidades de entrada para 0 em cada atualização durante o tempo de treino, o que ajuda a evitar o sobreajuste.

Principais diferenças em relação a outras redes neurais

Embora todas as redes neuronais partilhem o conceito básico de nós interligados, as CNN diferem significativamente de outros tipos, como as Redes Neuronais Recorrentes (RNN) ou as redes feedforward básicas:

  • Hierarquia espacial: As CNNs são excelentes na captura de hierarquias espaciais nos dados, o que é crucial para a análise de imagens e vídeos. As RNNs, por outro lado, são projetadas para dados seqüenciais, o que as torna mais adequadas para tarefas como processamento de linguagem natural (PNL) e análise de séries temporais.
  • Partilha de parâmetros: Nas CNNs, os filtros são partilhados no espaço de entrada, reduzindo significativamente o número de parâmetros em comparação com as redes totalmente ligadas. Isto não só torna as CNNs mais eficientes, como também as ajuda a generalizar melhor as tarefas visuais.
  • Campos receptivos locais: Os neurónios nas CNNs estão ligados apenas a uma região local da entrada, conhecida como campo recetivo, o que lhes permite detetar padrões locais de forma eficaz. Isto contrasta com as redes totalmente ligadas, em que cada neurónio está ligado a todos os neurónios da camada anterior.

Aplicações no mundo real

As CNNs têm demonstrado capacidades notáveis em vários domínios. Eis dois exemplos concretos das suas aplicações no mundo real:

  1. Análise de imagens médicas: As CNNs são amplamente utilizadas na área da saúde para analisar imagens médicas, como radiografias, tomografias computadorizadas e ressonâncias magnéticas. Conseguem detetar anomalias, classificar doenças e segmentar órgãos com elevada precisão. Por exemplo, as CNNs podem identificar tumores, fracturas e outras condições, ajudando os médicos no diagnóstico e no planeamento do tratamento. A capacidade das CNNs para aprender padrões complexos a partir de imagens torna-as inestimáveis para melhorar os resultados dos pacientes. Lê mais sobre a IA nos cuidados de saúde.
  2. Veículos autónomos: Os carros autónomos dependem fortemente das CNNs para deteção de objectos, segmentação de imagens e compreensão de cenas. As CNNs processam dados visuais de câmaras para identificar peões, outros veículos, sinais de trânsito e limites de estradas. Esta informação é crucial para tomar decisões de condução em tempo real, garantindo a segurança e a eficiência dos veículos autónomos. Sabe mais sobre a IA em carros autónomos.

Ferramentas e estruturas

O desenvolvimento e a implementação de CNNs são facilitados por várias ferramentas e estruturas que fornecem camadas pré-construídas, algoritmos de otimização e aceleração de hardware:

  • PyTorch: Uma estrutura de aprendizagem profunda de código aberto conhecida pela sua flexibilidade e facilidade de utilização. PyTorch permite gráficos de computação dinâmicos, tornando-o popular entre investigadores e programadores.
  • TensorFlow: Desenvolvido por Google, TensorFlow é outra estrutura amplamente utilizada que suporta ambientes de investigação e produção. Oferece um ecossistema abrangente de ferramentas, bibliotecas e recursos da comunidade.
  • Keras: Uma biblioteca de redes neurais de fácil utilização que pode ser executada em cima de TensorFlow ou PyTorch. Keras simplifica o processo de construção e treinamento de modelos de aprendizagem profunda.
  • Ultralytics YOLO: A primeira vez que utiliza "YOLO", Ultralytics YOLO são modelos de deteção de objectos de última geração que tiram partido das arquitecturas CNN para atingir uma elevada precisão e velocidade. Estes modelos estão disponíveis através do Ultralytics HUB, que fornece ferramentas para treinar, implementar e gerir modelos de forma eficiente.

Ao compreender os meandros das CNNs, os utilizadores podem apreciar melhor a sua importância no avanço da IA e da aprendizagem automática. Estas redes continuam a impulsionar a inovação em todas as indústrias, tornando-as uma pedra angular das aplicações modernas de visão por computador.

Lê tudo