“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:
O que é Aprendizagem Auto-supervisionada?
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:
Para gerar previsões, caso a tarefa sintética corresponda ao propósito principal do modelo. Por exemplo, treinar um modelo de colorização de imagens e utilizá-lo para colorir imagens a preto e branco.
Para partilhar o seu conhecimento (ao partilhar os seus pesos) com um modelo de Aprendizagem Supervisionada com uma tarefa diferente. Por exemplo, treinar um modelo de Autoaprendizagem para detetar se uma imagem está invertida e usar os pesos para inicializar um modelo de deteção de objetos.
Curso
O Espectro do Machine Learning
Se quiser saber mais sobre aprendizagem auto-supervisionada e outros métodos de aprendizagem, consulte este curso.
Na 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.
Resultados de Base
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:
Adição de Desfoque
Rotação de imagem
Desvio de brilho
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.
Blur Addition
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.
Image Rotation
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.
Brightness Deviation
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.
Use Cases
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.
Cuidados de saúde
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).
Real State
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.
Car Dealership
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.
Conclusão
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:
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.