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
Uma visão geral do auto-supervisionamento em visão computacional
Paulo Maia em 23 de fev. de 2022
“Quanto mais vejo, menos sei” pode ser um ditado, mas não se aplica a modelos de IA. É bem sabido que o desempenho de uma rede neuronal artificial depende muito do volume e da diversidade dos dados que foram apresentados ao modelo. Isto acontece porque expor os modelos à diversidade ajuda-os a selecionar características relevantes e a mitigar potenciais preconceitos, ou seja, a compreender os objetos de estudo e a executar melhor as suas tarefas.
A obtenção de dados para alimentar tais modelos pode parecer trivial, pois os dados estão por todo o lado. No entanto, o acesso a dados bem estruturados, rotulados, livres de direitos de autor e não privados ainda é um problema para a maioria dos cientistas de dados.
Para superar isto, peritos em IA desenvolveram várias abordagens para otimizar o processo de aprendizagem, em particular, arquiteturas inteligentes para modelos de Aprendizagem Auto-Supervisionada.
Neste artigo do blogue, (re)apresentamos-lhe o Self-Supervised Learning, juntamente com uma das nossas estratégias favoritas – Modelos siameses – e possíveis aplicações. Se quiser aprender ainda mais sobre Self Supervised Learning e outras técnicas de Machine Learning, inscreva-se no nosso curso online:
A Aprendizagem Supervisionada é uma abordagem de aprendizagem automática que recebe dados de entrada juntamente com um objetivo específico e visa aprender os padrões dos dados e a função de transformação que converte a entrada na saída. Do outro lado da moeda, temos a Aprendizagem Não Supervisionada, que é um método que não necessita de um objetivo para cumprir a sua missão, uma vez que visa principalmente encontrar padrões nas distribuições dos dados.
De seguida, temos o Self Supervised Learning, que é um método de Unsupervised Learning visto que utiliza dados não rotulados e tem a particularidade de criar rótulos sintéticos para se comportar como um modelo de Supervised Learning.
Estes rótulos podem ser criados aplicando transformações triviais aos dados. Aqui ficam alguns exemplos:
|
Objetivo |
Transformação |
Etiqueta Sintética |
|
Quantificar a rotação de imagem |
Rotação aleatória |
Ângulo de rotação |
|
Avaliar a Qualidade dos Dados |
Inserção de valores aleatórios num dataframe |
Bandeira binária para dados corrompidos |
|
Colorização de Imagem |
RGB para preto e branco |
Imagem RGB |
Os modelos de autoaprendizagem podem ser utilizados de duas maneiras diferentes:

Se quiser saber mais sobre aprendizagem auto-supervisionada e outros métodos de aprendizagem, consulte este curso.
Saber maisNa NILG.AI, uma das nossas arquiteturas de modelo favoritas é a Redes Siamese. Os modelos siameses são compostos por uma arquitetura de modelo com dois (ou mais) ramos, onde cada um deles recebe uma entrada diferente. Os pesos dos ramos podem ser partilhados ou não e, na camada final do modelo, as saídas dos ramos são comparadas.
Abaixo pode ver um exemplo de arquitetura para uma rede siamesa aplicada a imagens, que implementámos para lhe demonstrar a utilidade destes modelos:
Este modelo tem dois ramos que partilham pesos. Cada ramo é composto por um codificador (modelo CNN para extração de características) e um bloco de camadas totalmente ligadas. A saída dos dois ramos é então combinada para calcular a função de perda.
Para alimentar o modelo, implementámos um gerador de dados que recebe uma imagem como entrada, aplica uma transformação definida pelo utilizador e retorna as duas imagens transformadas juntamente com um alvo sintético. A função de transformação é definida na inicialização do modelo, mas a magnitude da transformação deve ser um valor aleatório que se encaixe no intervalo fornecido. Por exemplo, para ensinar um modelo a aprender a orientação dos objetos, pode ser passada uma função de rotação juntamente com o intervalo de ângulos possíveis. O gerador de dados selecionará dois ângulos aleatórios do intervalo fornecido e rodará a imagem de entrada considerando esses ângulos, criando duas imagens transformadas diferentes. O gerador compara os dois ângulos: se o ângulo da primeira transformação for superior ao ângulo da segunda transformação, o rótulo sintético é definido como 1, caso contrário, o rótulo é definido como 0. No final, o gerador produz as duas imagens transformadas e o rótulo sintético correspondente.
Como um exercício exploratório, NILG.AI desenvolvida várias funções de transformação e treinado um modelo com um conjunto de dados muito pequeno (menos de 100 amostras) de imagens aleatoriamente recolhidas de Unsplash. As transformações triviais incluíam:
A arquitetura do modelo siamês foi adaptada a cada função de transformação, criando três modelos diferentes. Um único ramo treinado do modelo siamês foi então usado para calcular as previsões em imagens únicas e estes são os resultados observados.
Note: The predictions correspond to the output of the last fully connected layer of the branch. These values should be interpreted as proxies of the magnitude of the transformations. To use these outputs as predictions of the real value of the transformation, e.g. rotation angle, the output should be calibrated.
For the blur addition, we applied a gaussian blur filter with fixed window size and a variable sigma value. To test the model performance, we applied blur addition with different values of sigma to the same image and extracted the predictions from the model. In the image below, we can observe that the model output increases with the sigma, being able to distinguish the intensity of the transformation.
In the second test phase, we repeated the transformations in each image of the test set and extracted the correlation between the model output and the sigma. This model has a 95,5% correlation with the ground truth, having the potential to be used as a blur detector.
Finally, we extracted the predictions for the original images of the test set, presenting some examples in the grid below. Since we were dealing with high-quality images, the model returned low values for blur detection (usually lower than -6.4), except for the image with the coffee filter which contains a significant background blur.
We repeated the same test for the rotation model, this time changing the angle value, getting the results below.
The correlation value for this model was 0.37, which is understandable considering the difficulty of the task. Recognizing if an object is tilted and identifying the correspondent angle implies prior knowledge of the object itself, which is hard to teach to a model with a set of only 100 images representing different objects. Therefore, to use this model as a rotation corrector, we might need to use a lot more data or put more constraints on the image selection, e.g. select images of interior decoration, only.
Since this task requires a higher knowledge of the objects, it can also be used as a secondary task of a multitask learning model. This strategy can help the model to better learn the features of the objects of interest avoiding extra labeling costs.
The same analysis was made for the brightness model. For this example, the transformation relies on manipulating the value (V) on the HSV color representation by adding a random number. When testing the model for the same transformed image, we can observe that the predicted target increases with the added value.
Analyzing the performance of the model for the overall test set, we can confirm the correlation between the model outputs and the ground truth since the correlation rate is around 77,5%. This model can be used for brightness correction or image quality assessment. In the next section, you will see some practical examples of where to use these models.
Once again, the model predictions were extracted for the original images (shown below). These predictions are also eloquent since the model returned positive values for the brightest images and negative values for the darkest ones, in particular, the coffee filter and the bridge pictures.

Self Supervised learning can be very useful to pre-train encoders to be used by other models or to be used as an extra task, making the final model more robust. However, there’s also a lot of potential for these models to be used directly as predictors, and here are a few examples of where to use them.
Image quality assessment for medical imaging – trivial models like a blur, brightness, and crop detectors help can assess image quality in real-time, being useful to select the sample to be analyzed (by another model or by an expert).
Image standardization in the website – brighter and more colorful images are more attractive to prospects and, taking pictures in poor lighting conditions can influence the propensity of engagement with the image. With a brightness model as the one proposed above, it is possible to assess this feature and correct it automatically.
Similar to the previous use case, the pictures that show the product (the car, in this case) may influence the propensity of a user to become a buyer. Trivial computer vision models like brightness quantifiers and blur detectors can be used to filter which images have enough quality to be published on the website.
As we saw in this post, you don’t always need a large dataset to build a model that meets the needs of your business.
If you’re interested in making your company’s decisions data-driven but you’re not sure you have a data structure prepared for that, contact us at [email protected], and let’s discuss some ideas!
If you want to learn more about it, enroll to our course:
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. |