Service Quality Improvement: An AI-Powered Roadmap
Ago 3, 2026 in Guia: Como fazer
Drive service quality improvement with a practical roadmap covering KPIs, AI automation, change management, and measurement for lasting results.
Não é membro? Registe-se agora
Como construir modelos de Machine Learning personalizados
Paulo Maia em 17.02.2021
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

Mergulhe nos conceitos básicos de Machine Learning com o nosso curso.
Saber maisComo 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.
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.
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.
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.
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.
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.
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.
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.

Para dominar mais estratégias de machine learning, consulte o nosso curso.
Saber mais
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.
Marcar uma reunião com Rafael Cavalheiro
Conhece o Rafael Saber maisGosta desta história?
Ofertas especiais, últimas notícias e conteúdo de qualidade na sua caixa de entrada.
Ago 3, 2026 in Guia: Como fazer
Drive service quality improvement with a practical roadmap covering KPIs, AI automation, change management, and measurement for lasting results.
Jul 27, 2026 in Guia: Como fazer
Follow a step-by-step Generative AI Implementation roadmap to align resources, integrate models, and secure strong ROI in your enterprise projects.
Jul 20, 2026 in Guia: Explicação
Master data quality management techniques. Learn to profile, cleanse, & validate data for better decisions & AI readiness.
| 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. |