Múltiplas Facetas de Inteligência Artificial e Machine Learning
Pósgraduação unicinos. Olá, bemvindos ao podcast da disciplina múltiplas facetas de inteligência artificial e machine learning. Eu sou o professor Gabriel Ramos, e no podcast de hoje, sem rótulos e sem limites, vamos falar de cases de aprendizado não supervisionado. Antes de mais nada então, é importante a gente lembrar o contexto, né lembrese dentro do aprendizado de máquina tem mais de tipo de aprendizado possível no aprendizado supervisionado que a gente estava vendo antes os dados são rotulados então a gente utiliza conjunto de dados já com a resposta que a gente esperaria pra cada entrada que a gente tem agora no aprendizado não supervisionado a gente continua tendo dados só que agora a gente não tem mais os rótulos e lembrese da importância desses rótulos né porque eles é que permitiam a gente comparasse a saída do modelo, com a saída esperada, né? Então tendo essa, comparação essa essa forma de comparar as duas coisas, a gente podia, ajustar o modelo, pra que ele produzisse né?
Speaker 1:Resultados mais parecidos com o esperado. Agora no aprendizado não supervisionado como a gente não tem mais esse sinal, né de de de feedback que nos permite fazer o ajuste na direção que a gente quer, a gente vai, ainda se precisa aprender alguma coisa, tá? Só que, as tarefas que a gente resolve aqui são, pouco diferentes, tá? Então em vez de trabalhar com tarefas como, classificação, regressão, segmentação, detecção de objetos, entre as várias outras que a gente viu, a gente vai trabalhar com tarefas como por exemplo, a a clusterização, né, o aprendizado generativo, a detecção de anomalias, uma série de outras coisas que a gente pode utilizar, tá? Aqui a gente vai falar de duas em particular, que são a clusterização, e o aprendizado generativo.
Speaker 1:Mas eu quero só lembrar brevemente também como é como é que são as outras, né? Né? Então, uma delas é a redução de dimensionalidade, a redução de dimensionalidade é uma tarefa na qual a gente vai aprender, seguindo o princípio de aprendizado não se perdeu nada né? A gente vai aprender o padrão intrínseco dos dados e a partir desse padrão a gente vai identificar quais são as características mais relevantes dentro daquele padrão então até que a gente não faz isso de forma manual tá os modelos durante o processo de treinamento vão adquirir essa habilidade por conta própria né utilizando claro o processo de treinamento adequado então por exemplo vamos supor que a gente tenha ali motor de carro né a gente quer saber por exemplo quando que o motor vai vai ter de repente algum problema sei lá de repente a pessoa não trocou o óleo de repente deu problema nas velas sei lá alguma coisa tá então vamos supor que não estafão como essas vai chegar ponto que o motor tende a apresentar padrão diferente por exemplo da vibração ou da temperatura, então o carro começa a aquecer mais, ele começa a vibrar mais ou fazer mais barulho né, então nesse tipo de situação, a detecção de anomalias seria a tarefa na qual a gente aprende o padrão do carro em operação normal, e, finalmente, sempre que forem detectados, né?
Speaker 1:Ou foram observados padrões diferentes, a gente vai conseguir, verificar que o modelo não consegue, reconhecer eles adequadamente. Então isso vai ser uma anomalia, tá? Então esse é uso. Outro uso é a redução de dimensionalidade, no qual a gente vai pegar, dados que muitas vezes, né, podem ter, muitas né? Padurancialmente muito complexos.
Speaker 1:E a gente ainda quer tomar decisão, decisões adequadas com eles, né? Então na redução de mencionaridade a gente pode projetar essas features, num espaço com menos dimensões ou seja de repente combinar features esparsas em features mais simples e e densas ou de repente combinar features parecidas em uma coisa só né então tentar reduzir a quantidade de dimensões que a gente tem ali tá essa é a redução de dimensionaridade então são algumas das tarefas que a gente pode resolver aqui tá mas como eu falei hoje nosso foco é ver alguns cases de clusterização e de aprendizado generativo Começando com o primeiro. Então o que que é a a clusterização? Tá? A clusterização, é uma tarefa na qual, a partir do conjunto de dados que a gente tem, a gente vai querer encontrar, agrupamento né?
Speaker 1:Outra forma a gente vai querer agrupar esses dados. E esse agrupamento vai ser com base na semelhança que os dados têm entre si, tá? Então, a gente pode usar alguma métrica específica, que nos dê essa noção de proximidade dos dados, e daí a partir disso, a gente, pode encontrar os grupos né, que melhor descrevem esses dados. A gente até viu né, exemplo de algoritmo pra isso, né que é o camédias camédias ele trabalha com a noção de centroids né a gente define uma quantidade de centroids e daí cada amostra do conjunto de dados vai ser atribuído ao centro mais próximo a gente vai ajustando né então, os centroids aos a região central mesmo do do dos seus grupos e esse processo se repete durante o funcionamento desse tipo de abordagem né como eu falei a gente quer encontrar agrupamento né que traga dados com uma boa bom nível de similaridade entre si então dito isso a gente pode pensar alguns exemplos deles é por exemplo no marketing né o marketing é uma área que se beneficia muito da segmentação por exemplo de clientes tá então vamos pensar que a gente tenha que fazer de repente uma campanha de marketing não tão genérica tá?
Speaker 1:Uma que seja mais voltada pra públicos específicos, tá? Então, por que que isso é importante né? A gente sabe que, pra chamar atenção do cliente, a gente tem que trazer alguma coisa que seja, do seu interesse, tá? E clientes podem ter interesses muito diferentes, tá? Seja porque eles têm faixas etárias diferentes, ou poderes aquisitivo diferentes ou graus de escolaridade diferente, né?
Speaker 1:Enfim, ou momentos de vida diferente, né? De repente, gostos musicais diferentes, então são todos os fatores que né, podem ser utilizados pra gente encontrar formas de atrair a atenção dos nossos clientes né, nessa etapa de segmentação, tem várias coisas que a gente pode fazer, a gente pode usar cada uma dessas abordagens que eu mencionei, cada uma dessas perspectivas, como sendo fator importante pra segmentação, né? Então dado isso, o os algoritmos de clusterização, né? Poderiam ser treinados, a partir de conjunto de dados de clientes. Então que dados que a gente deveria ter, ou pra cada cliente que features a gente deveria coletar.
Speaker 1:Então vamos considerar o caso, onde a gente quer, vender por exemplo, vai ser qualquer coisa, né? A gente inventa o que a gente quiser, mas vamos supor que a gente queira vender pacotes de viagem, tem várias coisas que a gente pode utilizar, né? Como importantes ali pra decidir, que pacote oferecer pra cada cliente né então vamos pensar que a gente vai ter uma campanha de marketing que vai ser voltada ali pra, de repente o público mais jovem, que de repente conseguiu juntar uma grana pra ir pra Disney, uma boa grana na verdade pra ir pra Disney, enfim quer ir lá aproveitar os parques e tudo mais, então é público que é bem diverso claro, mas a gente sabe que né predominantemente vão ser pessoas, mais jovens né que, né, tem mais energia pra, né, ficar o dia inteiro, cagando bastante né, ver aqueles brinquedos que às vezes são pouco mais radicais né, que não se preocupam em, ir pra país, onde não falem o seu idioma né, e também que né, tem pouco mais dinheiro pra gastar. Agora vou pensar com outro tipo de campanha que a gente pode ofertar, é de viagens por exemplo pras nossas belas praias do nordeste né, é público que pode ser diferente ali no sentido, em vários sentidos tá, então deles é, sei lá a pessoa não quer ir tão longe, porque é uma viagem bem mais longe a gente ir até outro país do que e até o nosso né, outra possibilidade é a questão do custo né então geralmente e pra algumas praias aqui do nosso país mesmo porque no nordeste vai ser pouco mais em conta do que ir pros estados unidos né outra possibilidade questão do idioma né aí o pessoal vai falar o mesmo idioma que a gente aqui tem vários hotéis né que vão perto do dia que a pessoa fique tranquila né na beira da praia sem gastar muita energia às vezes se quiser descansar ou tem também atividades mais radicais pros que preferem né?
Speaker 1:Mas tem essa esse lado mais calmo também, né? Então, os dois públicos eles, se sobrepõem bastante, né? Mas, tem algumas diferenças das duas propostas né? Então uma pra pessoa quer se divertir em forma mais intensa e outra uma pessoa que talvez queira relaxar mais, numa pessoa quer se dispõe a gastar mais, no outro talvez nem tanto né? Não a pessoa tem que né, talvez vão falar inglês mas pelo menos, né se dá o direito de estar no lugar que as pessoas não entendem direito e no outro já não precisa Então essas diferentes possibilidades né sendo levadas em consideração para fazer essa tarefa de segmentação envolveriam a gente coletar uma série de features né então algumas delas são features demográficas né então como por exemplo, a idade da pessoa, o sexo dela, blog escolaridade, aonde ela mora, né, e uma série de outras coisas, se a pessoa é casada ou não né, Outras coisas que a gente pode coletar ali também, né então se a gente sabe por exemplo, uma série de coisas que a gente pode pensar, mas por exemplo, viagens que a pessoa já fez, né?
Speaker 1:Lugares onde a pessoa gosta de comer, preferências da pessoa entre sei lá, entre praia e montanha, que que a pessoa prefere? Entre pra uma festa ou ou ir pra pra lugar relaxar, o que que a pessoa prefere né? Entre outras coisas, são features que a gente consegue né às vezes através de questionário, ou às vezes até, olhando as redes sociais das pessoas, nossos clientes, né, que permitirem, a gente consegue obter. Então, obter todas essas informações, a gente pode encontrar, então, a relação que pessoas têm entre si, com base nos critérios que são importantes pra aquelas duas campanhas publicitárias que Eu mencionei no contexto de uma viagem. Então essa que é a essência da clusterização.
Speaker 1:É a gente entender como que features né como que padrões podem ser extraídos a partir de conjuntos diferentes de features, e como que, a gente pode então usar isso pra, diferenciar os clientes entre si, tá? Então isso é muito utilizado, né, nessa questão de segmentação de clientes, mas naturalmente, a tarefa de consolidação não é usada só pra isso, ela é usada em várias outras áreas né, de fato é uma das tarefas de aprendizado nosso supervisionado mais conhecida porque não é da área da computação, não é da área de ar, né, então a gente vê aplicações também na parte de finanças, né? Se a gente quiser identificar padrões de investimento, tentar identificar investimentos com padrões muito parecidos entre si, seja pra gente poder ter uma carteira muito uniforme ou até mesmo pra, né, botar todas as, todos os ovos na mesma cesta e ter uma cesta mais diversificada, né? Na biologia, a gente pode utilizar isso por exemplo, pra ajudar a gente a fazer classificação de espécies, né, ou pra tentar encontrar padrões que as espécies têm, de de semelhança entre si né? Entre outras coisas, tá?
Speaker 1:Então a tarefa de cluster envolve, né? Várias possibilidades aí. Vale destacar que nem sempre vai ter apenas algoritmo, o algoritmo né, camédias como como nossa ferramenta aqui, vocês podem utilizar aliás várias outras abordagens né, o algoritmo camédias é bom ponto de partida, mas quem puder trabalhar ou precisar de algoritmos mais rugos pra tarefas mais pode considerar outras abordagens como modelos baseados em ou mesmo o algoritmo de todos eles são disponíveis da mesma forma que o em ferramentas livres aí pra todo mundo poder utilizar. Tá? Então, você põe pequeno resumo das possibilidades dentro da clusterização.
Speaker 1:Falando de outra possibilidade agora, que é o aprendizado generativo. Que que é o aprendizado generativo? Tá, por que que tem nome diferente? As outras formas de aprendizado que a gente tinha visto até então, né? Esse principalmente dessa parte de redes orais tá?
Speaker 1:Eram modelos discriminrativos, no sentido de que eles permitiam, que a gente identificasse as diferenças, entre os dados, né? Que a gente conseguisse, por exemplo, separar uma classe da outra, né? Fazer uma regressão, coisas do gênero. Modelos degenerativos por outro lado, eles são voltados pra entender o padrão dos dados, novamente sem rótulos, mas não só entender o padrão pra tomar uma decisão, mas aprender o padrão é é meio que a finalidade aqui né, a ideia é a gente conseguir aprender esse padrão pra poder descrever os dados, e a partir não pela descrição em si mas pra ter essa habilidade pra conseguir a partir disso gerar dados novos de forma sintética mas que sejam muito parecidos com os dados reais uma das primeiras abordagens bemsucedidas desse tipo de de aprendizado né nos últimos anos dentro do contexto de de redes neurais principalmente são as redes do tipo, a gente chama de. Então essas redes, elas seguem esse princípio, como que eu mencionei, tá?
Speaker 1:E uma das primeiras aplicações onde isso funcionou foi para geração de rostos sintéticos. Então como que isso funciona? Eu vou dar intuição na verdade eu vou explicar matematicamente porque enfim, podcast não é o caminho para isso né? Mas como que seria então uma a intuição por trás de modelo generativo? Pensa em que eu quero aprender, né, essa tarefa né, quero gerar o rostos, sintéticos, Pra gerar o rosto sintético, tá, uma das formas que eu poderia fazer, tá, é ir lá e chamar alguns especialistas, em fisionomia, né?
Speaker 1:Essa parte toda de anatomia também né? E, pedi pra eles me, indicarem, né? Quais seriam as que eu preciso pra diferenciar rosto do outro, né? Pra caracterizar corretamente qualquer rosto possível, tá? Essas pessoas fariam estudo e iam identificar, o número de vítimas que fosse tá?
Speaker 1:Mas vamos supor que, sei lá, de repente, a largura de cada olho, a altura de cada olho, nem sempre são iguais né? Então a largura é a altura de cada olho, a distância que eles têm entre si, de repente sei lá, a inclinação do olho, tipo, passar outras coisas também, mesma coisa pro nariz, né? A altura, largura do nariz, né? Então ela tem que o nariz ele não é totalmente reto né? Então ele tem sessões que são mais larga que outras, então a gente pode pegar cada uma dessas sessões é uma feature diferente, né?
Speaker 1:Mesma coisa pra boca né então a largura o formato do lado superior do lado inferior né que mais tonalidade de pele questão de a forma como tem os poros da pele se eles são mais visíveis ou menos de repente o 0 quão, o quão refletivo a pele é, né, pros olhos, a cor deles, né, como que é a aquela parte branca do olho, se ela é bem branca ou se ela tem, né, alguns vasos sanguíneos, e por aí vai, pra sobrancelhas, pra pra todo, todos os elementos que descrevem o rosto tá? Então cada uma dessas dá uma feature diferente. Então a gente consegue aqui só nesses poucos minutos que a gente falou, enumerar ali, tranquilamente dezenas de features né? Se não centenas, ou até milhares de features diferentes tá? Mas assumindo que a gente tem uma lista de features necessárias pra ter uma pelo rosto de uma pessoa, vamos supor que passo seguinte seria, a partir dessa definição dos especialistas, a gente vai pegar então, de repente sei lá, bilhão de imagens de rostos diferentes, né?
Speaker 1:De pessoas diferentes, tá? E daí a gente vai lá e bota uma equipe gigante de pessoas pra ficar, por muito tempo até conseguir completar a tarefa de, medir cada uma dessas diversas features, do rosto de uma pessoa, então pra cada foto que a pessoa vê, né, pra cada rosto que a pessoa vê ali, vai ter que medir a largura do olho, a altura do olho, do nariz, textura da pele, a cor da pele, e por aí vai todas aquelas features que a gente falou ali, né? A matéria falou longa, mas vamos supor que isso vai ser que isso seja né, em algum momento completado. Depois de tempo, que que a gente pode fazer? Olhando todas essas, features diferentes, a gente vai ter uma distribuição né, de sobre cada uma, mas distribuição nada mais é do que uma descrição matemática né perdão, uma distribuição nada mais é do que uma descrição matemática, dos valores possíveis que podem acontecer ali, seja isso uma distribuição normal ou alguma coisa mais complexa, mas tendo essa distribuição, a gente consegue então, saber qual que é o padrão esperado né?
Speaker 1:O que que poderia acontecer ali, em cada uma daquelas fitness, e inclusive, a relação que elas têm entre si, né? A gente sabe que alguns valores de, algumas combinações de valores, vão ser mais comuns pra pra pra alguns biotipos de pessoas do que pra outros né, então eu usei tudo, também é codificado de alguma forma. Mas, apreendido então esse padrão, o que que a gente pode fazer pra gerar rosto sintético? A gente poderia gerar número aleatório, condizente com cada uma dessas variáveis, cada uma dessas features, né então seguindo as distribuições, então cada uma dessas features vai ter uma média desvio padrão nosso modo né naturalmente é pouco mais complexo do que isso mas a gente gerando então números aleatórias que sigam esses padrões de cada uma das features a gente vai ter então a descrição de rosto real, na verdade vai ser sintético né, mas ele vai imitar muito bem o padrão real, porque a gente né, tem aqueles aquelas distribuições, que foram obtidas a partir de grande volume de de exemplos né, então a partir do momento que a gente consegue fazer isso tá, A gente pode pegar essa descrição que a gente gerou de forma sintética, e passar pra uma rede neural que vai traduzir isso para uma imagem, né?
Speaker 1:Então é mais ou menos isso, que o modelo generativo faz pra produzir aprender o padrão de rostos, aí ele vai aprender o padrão desses dados é que vai ser uma representação latente e daí depois combinando essa representação latente com processo aleatório vai gerar dados de forma aleatória né de que esses dados e esses dados então alimentar uma rede na Europa que vai gerar a imagem do rosto, vai ser uma imagem sintética, tá? Por que que essas rendas, redes conseguem aprender esse padrão, porque elas na verdade são compostas por mais de uma rede, né? Falando das gans, são redes que vão que terão uma rede capaz de gerar os dados sintéticos, e outra que é capaz de discernir dado, dados que são reais dos que são sintéticos, as duas redes elas vão competir entre si, então enquanto uma quer ser melhor pra distinguir o que é real do que não é, a outra quer enganar mais aquela rede ali, pra ela ser menos capaz de distinguir o que é real do que é falso. E nesse processo, a rede que tenta enganar essa, né? Ou seja, aquela que está tentando gerar então, os russos sintéticos ela vai, sendo ajustada pra produzir rostos cada vez melhores, tá?
Speaker 1:Então é assim que funciona uma rede do tipo Gana, tá? E isso, tem poder muito grande né, e gera, pode gerar muito valor pra pra nossa sociedade, porque a gente consegue, então hoje, gerar rostos sintéticos, a gente consegue gerar, basicamente qualquer tipo de imagem sinteticamente né, e vocês têm visto hoje em dia então vários modelos que seguem princípios parecidos, não é exatamente iguais mais parecidos né então como o Odolli, como o Midjourney, o são modelos que geram imagens a partir de descrições tá? De novo, é mais complexo do que o Magan que eu escrevi pra vocês, mas ainda assim segue mecanismos parecidos, então onde que a gente pode aplicar isso daqui, afinal de contas? A gente pode aplicar por exemplo, né vamos pensar no no caso específico, geração, por exemplo da criação gráfica ou de repente mesmo arquitetura né, então a gente pode utilizar esse tipo de abordagem pra gerar por exemplo uma planta, de apartamento, né então vamos supor que a gente está fazendo o projeto de apartamento e a gente quer dizer olha gera uma uma planta de apartamento aí de de sei lá de noventa metros quadrados com dois dormitórios com suíte que tem uma sacada que se estende em toda a lateral do apartamento e que de repente a cozinha e a sala de de de jantar estão integradas, é que tem uma lareira em tal lugar, sabe, esse tipo de procedimento então fornecer uma série de características, e o modelo gera pra nós, tá?
Speaker 1:Então aqui a gente já está convidando, os princípios de geração de imagens como de uma gama, com modelos mais complexos né por exemplo, o Dolly e o sebo de Fusion tá? Então, notem o poder disso né? A gente poder ter auxílio nesse processo criativo, né? A gente vê isso também, na geração de imagens de coisas aleatórias né? Então imaginem que eu quero explicar conceito muito complexo né pra alguém, eu posso me fazer de de de, posso utilizar imagens né, que ajudem a expressar essa ideia, nem sempre a gente consegue né, explicar exatamente essas ideias pra pessoa que está nos ouvindo, mas se a gente gerar algumas imagens, a gente pode né ter alguma ideia, facilitar a absorção de alguns conceitos, pelo nosso espectador.
Speaker 1:A gente pode utilizar esse mesmo tipo de aprendizado generativo também pra outros contextos né, como por exemplo pra geração de música, pra geração de textos né, e cada vez mais abordagens que a gente está vendo nosso dia a dia, tá? Aliás, o poder de geração de dados, de geração de amostras realistas, gera também uma série de preocupações né, então a gente vê cada vez mais hoje, legislações né regulamentações, sendo criadas pra ajudar a proteger as pessoas né de coisas que são geradas de forma sintética, mas bastante realista, né e deixando tudo transparente né? Não tem problema a gente utilizar esse tipo de abordagem enquanto as pessoas que vão estar recebendo aquele conteúdo estiverem cientes né do que, do processo por trás. Então gente, nesse podcast a gente falou sobre aprendizado não supervisionado, né? Vimos algumas possibilidades interessantes aqui dentro, e algumas aplicações também.
Speaker 1:Com isso eu espero que vocês estejam aptos agora a procurar outras aplicações que sejam no seu interesse, e consigam trilhar o seu caminho aí né? Trezentos eventualmente esse tipo de abordagem pro na realidade de vocês. Espero que tenham gostado, não deixem de se aprofundar nesses temas através dos demais hubs, hub visual, hub leitura, nos vemos então no nosso próximo podcast, Bons estudos e até a próxima. Pósgraduação unicinos.