Nos bons velhos tempos, trabalhar como engenheiro de aprendizagem automática significava dedicar 95% do tempo à engenharia de características e 5% ao treino de modelos com as características extraídas. Este era um processo que exigia muito trabalho manual e era demorado, o que normalmente levava a provas de conceito pouco flexíveis, que dificilmente podiam ser adaptadas a novos contextos. Felizmente, o Aprendizagem Profunda veio em socorro e, agora, utilizando grandes quantidades de dados e um pré-processamento simples dos mesmos, é possível treinar algoritmos que produzem previsões melhores do que as abordagens clássicas.
Para entender melhor como isto foi um divisor de águas, apresentamos o seguinte exemplo. Imagine que tem de criar um modelo para identificar a espécie de planta com base numa fotografia de uma folha. Usando a metodologia antiga, as tarefas de visão computacional que precisa de aplicar para extrair características relevantes parecem uma lista interminável: remoção de fundo, aplicação de filtros para deteção de contornos, aplicação de filtros para características texturais, cálculo de distribuições de cor, cálculo da forma do recorte da folha, deteção, máscara e extração de características das nervuras da folha, etc. Após a aplicação do pré-processamento, estas características estariam prontas para alimentar o seu classificador. Para obter as características corretas e um classificador preciso, precisaria de semanas ou mesmo meses de trabalho intensivo.
Hoje em dia, para obter resultados iguais ou até melhores, basta usar uma Rede Neural Convolucional pré-treinada e ajustá-la com as suas imagens e rótulos. Este processo pode ser feito numa única tarde.
O Deep Learning trouxe-nos uma nova era tecnológica, de facto. Com um pequeno esforço, podemos construir modelos que superam o desempenho humano, e a palavra-chave para o fazer é dados. Mas e se tivermos apenas alguns milhares de pontos de dados? E se os nossos dados não forem uma representação justa da população? E se o conhecimento humano sobre o negócio for maior do que os nossos dados? Nesse caso, é hora de incorporar o conhecimento de domínio nas nossas Redes Neuronais Profundas (DNN)!
Ao incorporar conhecimento de domínio, encontramos um ponto médio onde compreendemos o negócio, compreendemos a tecnologia e elevamos a tecnologia ao negócio, em vez de simplificar o negócio para se adequar à tecnologia.
Kelwin Fernandes
Curso
Os Fundamentos do Aprendizagem Automática
Mergulhe nos conceitos básicos de Machine Learning com o nosso curso.
Como já sabemos, quanto mais dados tivermos, melhor será o desempenho das Redes Neuronais Densas (DNNs). Isto acontece porque não estamos a explicar às nossas DNNs como devem aprender as coisas; elas simplesmente fazem as suas inferências a partir do que veem.
Por exemplo, se quisermos treinar um modelo para detetar gatos, não dizemos ao modelo para procurar um mamífero pequeno com quatro patas, bigodes, cauda comprida, orelhas pontiagudas e com ou sem pelo. Em vez disso, mostramos fotografias de diferentes gatos e o modelo começa a aprender como é um gato. No entanto, se apenas mostrarmos fotografias de gatos pretos ou de gatos sentados num sofá, o nosso modelo poderá “pensar” que essas características são relevantes para detetar um gato e não será capaz de detetar gatos quando essas condições não estiverem presentes.
Neste exemplo, queremos construir um modelo invariante à cor, ao fundo, à pose do gato e a quaisquer outras condições que não sejam relevantes para a tarefa de deteção de gatos, utilizando pequenas quantidades de dados. Uma forma de o fazer é através da utilização de Aumento de Dados.
Com Data Augmentation, podemos usar a mesma imagem repetidamente, aplicando transformações aleatórias ou específicas que não comprometem a tarefa. Desta forma, se quisermos construir um modelo invariante a certas condições, devemos manipular essas condições nos dados originais para criar novos pontos de dados.
Usando o exemplo de deteção de gatos, para tornar o nosso modelo invariante, poderíamos aplicar diferentes transformações a imagens, por exemplo, zoom out, distorção, rotação, manipulação de contraste, manipulação de brilho e manipulação de fundo (subtraindo o fundo original e usando-o como um ecrã azul para novos contextos). Com estas transformações, é mais fácil para o modelo aprender o que é relevante e o que não é.
O que não fazer? Lembre-se, Aumentar Dados é relevante para fornecer algum Conhecimento de Domínio ao modelo, portanto, seja inteligente ao aplicá-lo. Não aplique transformações aleatórias apenas para aumentar o número de pontos de dados. Em vez disso, certifique-se de que as transformações que está a aplicar façam sentido dentro do seu domínio. Por exemplo, quando estiver a aplicar zoom às suas imagens, não aplique zoom em excesso, pois poderá remover o seu gato da imagem. Também não aplique zoom em excesso, pois acabará com alguns pixels a representar o seu gato.
Para além de Data Augmentation, pode também usar Aumento de Saída. Esta abordagem consiste em usar dados aumentados como entrada e a previsão média desses dados como saída. Desta forma, a previsão final não está condicionada às variâncias de entrada.
Adicionar Invariâncias com Redes Neuronais Profundas Adaptadas
Outra forma de adicionar invariâncias a modelos DNN é manipulando a própria Rede Neural, o que pode ser feito utilizando diferentes abordagens. Neste artigo, apresentamos 3 exemplos de adaptação de DNN através da manipulação da função de perda, kernels e arquiteturas.
Manipulação da Função de Perda
A função de perda é usada para penalizar o modelo quando ele se desvia do alvo. Neste caso, o nosso objetivo é obter previsões precisas e invariantes. Portanto, podemos usar a função de perda a nosso favor penalizando as variâncias. Por exemplo, usar uma função de perda desta forma (f(x) – f(ax+b))^2, onde x é o valor da característica, ajuda o modelo a ser invariante a transformações lineares.
Manipulação de Kernels
Na secção anterior, vimos que podemos adicionar invariâncias a iluminação e contraste com Aumento de Dados. Outra forma de adicionar estas invariâncias é aplicando normalização local. Podemos fazer isto pré-processando ou manipulando alguns kernels de CNN para realizarem normalização local e congelando essa(s) camada(s) durante o treino.
Arquiteturas Personalizadas
Uma invariância difícil de adicionar em CNNs está relacionada com pose. Uma representação 2D de um objeto 3D está sempre associada a uma pose, ou seja, a uma translação e uma rotação. Este conceito não é novo para o cérebro humano, que é capaz de desconstruir uma representação 2D e compará-la com objetos no mundo real (3D). De facto, o nosso cérebro está tão habituado a realizar Gráficos Inversos que até se deixa enganar por ilusões óticas.
Pelo contrário, as CNNs não conseguem fazer estas associações espaciais, visto que parte dessa informação se perde com o max pooling. Para superar este problema, Geoffrey Hinton criou uma arquitetura de CNN inovadora onde os neurónios são substituídos por cápsulas, criando o conceito de Redes de Cápsulas.
Em resumo, as cápsulas realizam complexas computações internas e encapsulam o resultado em formato vetorial. Este vetor tem uma direção e um comprimento; o comprimento representa a probabilidade de uma determinada entidade estar presente e a direção representa as características do espaço, incluindo pose, iluminação e deformação.
Atualmente, o custo computacional para treinar uma Rede de Cápsulas é demasiado elevado para computadores pessoais, mas fique atento e continue a procurar arquiteturas que melhor se adequem às suas necessidades.
Adicionar Invariâncias de Grupo
Em alguns casos, poderá ter variâncias relacionadas com alguns grupos (raça, género, idade, país). A associação do ponto de dados a um (ou mais) destes grupos pode ser irrelevante para o seu modelo ou mesmo injusta. Para evitar isso, uma opção é realizar um Voto Médio abordagem que assegura a invariância de grupo. Pode também consultar a nossa apresentação sobre Justiça na IA para mais sugestões.
Como mostra a imagem acima, este método consiste em duas partes. Em primeiro lugar, treina-se um modelo diferente para cada grupo e, em seguida, calcula-se a previsão média para obter o resultado final.
Desta forma, temos modelos variantes combinados para computar uma previsão invariante.
Remover Invariâncias
Nas secções anteriores, vimos como adicionar invarianza às DNN. Contudo, existe uma invarianza que já vem integrada nas CNNs, devido à sua arquitetura: a invarianza à translação. Esta característica pode ser útil para um grande número de tarefas. No entanto, em alguns casos, é relevante saber a posição do objeto em relação à imagem.
Por exemplo, na colposcopia, cada imagem é centrada no colo do útero, ou.
Para evitar que os kernels convolucionais ignorem a informação posicional, podemos passar essa informação para as CNNs como canais adicionais. Por exemplo, adicionar 3 canais extra onde cada pixel assumiria o valor da sua linha, da sua coluna e da sua distância ao centro, respetivamente.
Forçar Comportamento Monótono
Neste ponto, já vimos como adicionar invariâncias às DNNs e como removê-las a nosso favor. Nesta secção, veremos como manipular as variâncias do modelo.
Em alguns problemas, temos conhecimento de domínio suficiente para saber o que esperar quando uma determinada característica é modificada. Por exemplo, na previsão de vendas, quando mais nada muda, é seguro assumir que uma diminuição de preço levará a um aumento nas vendas.
Contudo, nos dados do mundo real, existe mais do que uma única variável a ser modificada, o que torna mais difícil para o algoritmo aprender essas correlações esperadas. Por exemplo, no setor da hotelaria, durante a época alta, normalmente tanto os preços como as vendas aumentam. Não obstante, não existe aqui uma relação de causa e efeito. Neste caso, ambos os efeitos são causados pelo aumento da procura.
Para ajudar o modelo a compreender melhor estas correlações, podemos forçá-lo a ter um Comportamento Monótono. Wilson Silva, et al. propuseram uma metodologia eficaz e intuitiva para o fazer num papel com a nossa colaboração. A sua abordagem consiste em dividir as características monotónicas das características não restritas e fazê-las seguir dois fluxos diferentes, como mostrado na figura abaixo. Um fluxo é concebido para características não restritas e consiste numa DNN convencional. O segundo fluxo, concebido para características monotónicas, consiste numa DNN onde os pesos foram forçados a ser positivos. No final, os dois fluxos independentes concatenam-se para dar a saída final.
Voltando ao exemplo anterior, com esta abordagem, é possível garantir que um aumento de preço influenciará sempre negativamente a previsão de vendas, independentemente da estação ou de exceções nos dados do comboio.
Tem cuidado ao utilizar esta técnica! Lembra-te de que estás a transmitir Conhecimento de Domínio; não forces um comportamento monotónico se não tiveres 100% a certeza do efeito das características.
Curso
O Espectro do Machine Learning
Para dominar mais estratégias de machine learning, consulte o nosso curso.
O Deep learning revolucionou a inteligência artificial? Sim! É agora mais fácil obter melhores previsões com menos esforço? Também sim! É possível para um macaco treinar uma DNN? Alguns podem responder “sim” a esta pergunta, mas essa não é a nossa opinião. As DNNs nunca devem ser tratadas como caixas pretas; em vez disso, devemos entender o que realmente está a acontecer dentro delas para tirar o máximo proveito delas.
Além disso, nunca subestime a inteligência humana e o conhecimento específico! Combine-os com os seus modelos para os melhorar e a si mesmo.
Se for um programador, não se esqueça de experimentar isto em casa!
Se pretender integrar o Conhecimento de Domínio e as abordagens anteriores não se adequam ao seu problema, ligue-nos e encontraremos uma solução em conjunto.
Ofertas especiais, últimas notícias e conteúdo de qualidade na sua caixa de entrada.
Registar publicação única
Artigos recomendados
Article
Desbloqueie o Crescimento com a Previsão do Valor do Tempo de Vida do Cliente
13 de julho de 2026 in
Guia: Explicação
Desbloqueie crescimento real com a previsão do valor do tempo de vida do cliente. Aprenda modelos chave, necessidades de dados e roteiros de implementação para resultados estratégicos.
Estratégia de Transformação Empresarial: O Seu Guia para 2026
7 de julho de 2026 in
Guia: Explicação
Domine a sua estratégia de transformação empresarial com o nosso guia de 2026. Aprenda a executar roteiros de IA, evitar armadilhas e impulsionar o crescimento.
Um Guia Estratégico para IA Generativa para Transformação Empresarial
1 de julho de 2026 in
Guia: Explicação
Desbloqueie o crescimento real com o nosso guia de IA generativa para transformação empresarial. Aprenda a construir um roteiro, a encontrar casos de uso de alto valor e a medir o retorno do investimento em IA.
Utilizamos cookies no nosso website para lhe proporcionar a experiência mais relevante, lembrando as suas preferências e visitas repetidas. Ao clicar em “Aceitar Tudo”, concorda com a utilização de TODOS os cookies. No entanto, pode visitar as "Definições de Cookies" para fornecer um consentimento controlado.
Este website utiliza cookies para melhorar a sua experiência enquanto navega no website. Desses, os cookies categorizados como necessários são armazenados no seu navegador, pois são essenciais para o funcionamento das funcionalidades básicas do website. Também utilizamos cookies de terceiros que nos ajudam a analisar e compreender como utiliza este website. Estes cookies serão armazenados no seu navegador apenas com o seu consentimento. Tem também a opção de recusar estes cookies. No entanto, a recusa de alguns destes cookies pode afetar a sua experiência de navegação.
Os cookies necessários são absolutamente essenciais para que o website funcione corretamente. Estes cookies garantem funcionalidades básicas e recursos de segurança do website, de forma anónima.
Bolacha
Duração
Descrição
cookielawinfo-checkbox-analiticas
11 meses
Este cookie é definido pelo plugin de Consentimento de Cookies do RGPD. O cookie é usado para armazenar o consentimento do utilizador para os cookies na categoria "Análise".
---
O seu texto é uma etiqueta ou nome de campo, provavelmente de um sistema de gestão de cookies ou de um formulário web, e não uma frase completa que necessite de tradução contextual.
No entanto, se o objectivo for manter a clareza e a funcionalidade para um utilizador de língua portuguesa, sugiro a seguinte tradução e explicação:
**"Checkbox Funcional"**
**Explicação:**
* **Checkbox:** Refere-se ao elemento gráfico de marcação (uma caixa que pode ser seleccionada ou desmarcada).
* **Funcional:** Indica que esta caixa de seleção está relacionada com funcionalidades essenciais do website, como o login, a gestão do carrinho de compras ou outras características que tornam o site utilizável.
Se esta etiqueta pertencer a um contexto onde se refere especificamente a cookies, a tradução poderia ser ajustada para ter mais clareza:
**"Aceitação de Cookies Funcionais"**
ou
**"Cookies Essenciais (Funcionais)"**
Esta última opção é comum em avisos de cookies para indicar que estes são estritamente necessários para o funcionamento do site.
---
11 meses
O cookie é definido pelo consentimento de cookies GDPR para registar o consentimento do utilizador para os cookies na categoria "Funcional".
cookielawinfo-checkbox-necessary
11 meses
Este cookie é definido pelo plugin GDPR Cookie Consent. O cookie é usado para armazenar o consentimento do utilizador para os cookies na categoria "Necessário".
cookielawinfo-checkbox-outros
11 meses
Este cookie é definido pelo plugin GDPR Cookie Consent. O cookie é usado para armazenar o consentimento do utilizador para os cookies na categoria "Outros".
checkbox-performance-cookielawinfo
11 meses
Este cookie é definido pelo plugin GDPR Cookie Consent. O cookie é usado para armazenar o consentimento do utilizador para os cookies na categoria "Desempenho".
política_de_cookies_visualizada
11 meses
O cookie é definido pelo plugin GDPR Cookie Consent e é utilizado para armazenar se o utilizador consentiu ou não com a utilização de cookies. Não armazena quaisquer dados pessoais.
Os cookies funcionais ajudam a realizar certas funcionalidades como partilhar o conteúdo do website em plataformas de redes sociais, recolher feedback e outras funcionalidades de terceiros.
Os cookies de desempenho são usados para compreender e analisar os principais índices de desempenho do website, o que ajuda a proporcionar uma melhor experiência ao utilizador para os visitantes.
Os cookies analíticos são usados para entender como os visitantes interagem com o website. Estes cookies ajudam a fornecer informações sobre métricas como o número de visitantes, taxa de rejeição, fonte de tráfego, etc.
Os cookies de publicidade são usados para fornecer aos visitantes anúncios relevantes e campanhas de marketing. Estes cookies rastreiam os visitantes em diferentes websites e recolhem informações para fornecer anúncios personalizados.