Aprendizado de máquina e redes neurais - página 62

 

As distribuições binomial e de Poisson



As distribuições binomial e de Poisson

O vídeo de Serrano enfoca as distribuições binomial e de Poisson. Ele começa apresentando um cenário-problema: imagine administrar uma loja e observar o número de pessoas entrando ao longo do tempo. Nota-se que, em média, três pessoas entram na loja a cada hora, embora o número real varie. Serrano destaca que a ocorrência de entrada de clientes parece ser aleatória, sem padrões específicos ao longo do dia.

A principal questão abordada no vídeo é a seguinte: dada essa informação, qual a probabilidade de cinco pessoas entrarem na loja na próxima hora? Serrano revela que a resposta é 0,1008, mas passa a explicar como essa probabilidade é calculada usando a distribuição de Poisson.

Antes de se aprofundar na distribuição de Poisson, Serrano apresenta uma distribuição de probabilidade mais simples, conhecida como distribuição binomial. Para ilustrar esse conceito, ele usa a analogia de jogar uma moeda viciada várias vezes. Supondo que a moeda tenha 30% de chance de dar cara e 70% de chance de dar coroa, Serrano realiza experimentos em que a moeda é jogada 10 vezes. Ele demonstra que o número médio de caras obtido converge para o valor esperado, que é o produto da probabilidade de caras e o número de jogadas (0,3 * 10 = 3).

Em seguida, Serrano explora a probabilidade de obter diferentes números de caras ao lançar a moeda 10 vezes. Ele explica que existem 11 resultados possíveis: zero cara, uma cara, duas caras e assim por diante, até dez caras. Serrano então calcula as probabilidades para cada resultado, enfatizando que a maior probabilidade ocorre quando três caras são obtidas. Ele constrói um histograma representando a distribuição binomial, com o número de caras no eixo horizontal e as probabilidades correspondentes no eixo vertical.

Para calcular essas probabilidades, Serrano detalha o processo. Por exemplo, para determinar a probabilidade de zero cara, ele observa que cada lançamento deve resultar em coroa, o que tem uma probabilidade de 0,7. Como as jogadas são eventos independentes, ele multiplica essa probabilidade por ela mesma dez vezes, resultando em uma probabilidade de 0,02825.

Serrano passa a explicar o cálculo da probabilidade de uma cara. Ele primeiro considera o cenário em que apenas o primeiro lançamento resulta em cara (probabilidade de 0,3), enquanto os lançamentos restantes resultam em coroa (probabilidade de 0,7 cada). Isso produz uma probabilidade de 0,321. No entanto, esta é apenas uma possibilidade, então Serrano identifica dez maneiras pelas quais um lançamento pode resultar em cara enquanto o resto resulta em coroa. Ele observa que esses eventos são mutuamente exclusivos e, portanto, suas probabilidades são adicionadas. Consequentemente, a probabilidade de ocorrer uma cara é 10 * 0,3 * 0,7^9 = 0,12106.

Serrano continua esse processo para duas caras, calculando a probabilidade das duas primeiras jogadas resultarem em caras (0,3^2 * 0,7^8 = 0,00519). Ele então determina que existem 45 maneiras de obter duas caras entre dez lançamentos (10, escolha 2). Multiplicando isso pela probabilidade de duas caras para cada cenário, ele obtém a probabilidade geral de duas caras, que é 45 * 0,3^2 * 0,7^8 = 0,12106.

Usando cálculos semelhantes para diferentes números de caras, Serrano fornece as probabilidades para cada resultado. Plotadas em um histograma, essas probabilidades formam a distribuição binomial. Ele explica que, à medida que o número de lançamentos se aproxima do infinito, a distribuição binomial tende a uma distribuição normal devido ao teorema do limite central. No entanto, ele observa que esse tópico será explorado em um vídeo futuro.

Fazendo a transição para a distribuição de Poisson, Serrano introduz o conceito de distribuição de Poisson como uma alternativa à distribuição binomial para situações onde o número de eventos ocorrendo dentro de um intervalo fixo de tempo ou espaço é raro e aleatório. Ele explica que a distribuição de Poisson é particularmente útil quando a taxa média de ocorrência é conhecida, mas o número exato de ocorrências é incerto.

Para ilustrar a aplicação da distribuição de Poisson, Serrano revisita o exemplo de pessoas entrando em uma loja. Ele enfatiza que, em média, três pessoas entram na loja por hora. No entanto, o número real de pessoas que entram em uma hora específica pode variar muito.

Serrano então faz a pergunta: qual é a probabilidade de exatamente cinco pessoas entrarem na loja na próxima hora, dada uma taxa média de três pessoas por hora? Para calcular essa probabilidade usando a distribuição de Poisson, ele utiliza a fórmula:

P(X = k) = (e^(-λ) * λ^k) / k!

Onde P(X = k) representa a probabilidade de exatamente k ocorrências, e é a base do logaritmo natural, λ é a taxa média de ocorrência ek é o número desejado de ocorrências.

Aplicando a fórmula, Serrano insere os valores de λ = 3 (taxa média de três pessoas por hora) ek = 5 (número desejado de ocorrências). Ele explica que e^(-3) representa a probabilidade de ocorrência zero (e^(-3) ≈ 0,0498). Multiplicando isso por λ^k e dividindo por k! (fatorial de 5), ele chega à probabilidade de 0,1008 para exatamente cinco pessoas entrando na loja na próxima hora.

Serrano destaca que a distribuição de Poisson fornece uma aproximação mais precisa quando a taxa média de ocorrência é relativamente alta e o número desejado de ocorrências é relativamente raro. À medida que a taxa média aumenta ou o número desejado se torna mais comum, a distribuição de Poisson torna-se menos precisa e distribuições alternativas podem ser mais adequadas.

Em resumo, o vídeo de Serrano explora os conceitos das distribuições binomial e de Poisson. Ele primeiro introduz a distribuição binomial por meio da analogia de lançar uma moeda viciada várias vezes. Ele calcula as probabilidades de obter diferentes números de caras e constrói um histograma representando a distribuição binomial.

Fazendo a transição para a distribuição de Poisson, Serrano explica sua aplicação em cenários com ocorrências raras e aleatórias, como pessoas entrando em uma loja. Usando a fórmula de distribuição de Poisson, ele calcula a probabilidade de um número específico de ocorrências dada a taxa média. No exemplo, ele determina a probabilidade de ter exatamente cinco pessoas entrando na loja em uma hora com uma taxa média de três pessoas por hora.

Ao explicar essas distribuições de probabilidade e seus cálculos, Serrano fornece aos espectadores uma compreensão mais profunda dos princípios subjacentes aos fenômenos aleatórios e suas probabilidades associadas.

The Binomial and Poisson Distributions
The Binomial and Poisson Distributions
  • 2022.11.08
  • www.youtube.com
If on average, 3 people enter a store every hour, what is the probability that over the next hour, 5 people will enter the store? The answer lies in the Pois...
 

Modelos de Mistura Gaussiana



Modelos de Mistura Gaussiana

Olá, sou Luis Serrano e neste vídeo estarei discutindo Modelos de Mistura Gaussiana (GMMs) e suas aplicações em clustering. GMMs são modelos poderosos e amplamente usados para agrupar dados.

Clustering é uma tarefa comum com vários aplicativos, como classificação de áudio, onde GMMs podem ser usados para distinguir sons diferentes, como instrumentos em uma música ou separar sua voz do ruído de fundo ao interagir com assistentes de voz. Os GMMs também são úteis na classificação de documentos, permitindo a separação de documentos por tópicos, como esportes, ciências e política. Outra aplicação é a segmentação de imagens, onde os GMMs podem ajudar a separar pedestres, sinais de trânsito e outros carros em imagens vistas por carros autônomos.

No agrupamento, pretendemos agrupar pontos de dados que parecem estar agrupados. Algoritmos de agrupamento tradicionais atribuem cada ponto a um único agrupamento. No entanto, os GMMs introduzem o conceito de soft clustering, onde os pontos podem pertencer a vários clusters simultaneamente. Isso é obtido atribuindo probabilidades de pontos ou porcentagens de pertencimento a cada cluster.

O algoritmo GMM consiste em duas etapas principais. A primeira etapa envolve colorir os pontos com base em sua associação com as distribuições Gaussianas. Cada ponto recebe uma cor com base em sua proximidade com os diferentes gaussianos. Esta etapa determina as atribuições de cluster flexível.

O segundo passo é a estimação dos parâmetros Gaussianos dados os pontos. O algoritmo encontra a média, variância e covariância de cada gaussiano que melhor se ajusta aos pontos atribuídos a ele. Esta etapa envolve o cálculo do centro de massa, variâncias e covariâncias, que fornecem informações sobre a forma e orientação da distribuição de dados.

O algoritmo GMM itera entre essas duas etapas, atualizando os parâmetros gaussianos e as atribuições de cluster suave até que a convergência seja alcançada. As gaussianas iniciais podem ser escolhidas aleatoriamente e o algoritmo continua até que haja pouca mudança nas atribuições ou parâmetros.

Ao usar GMMs, podemos efetivamente agrupar conjuntos de dados complexos que contêm clusters que se cruzam ou onde os pontos pertencem a vários clusters. Os GMMs oferecem uma abordagem flexível e probabilística para agrupamento, tornando-os uma ferramenta valiosa em vários campos.

Para uma explicação mais detalhada e exemplos de GMMs, você pode conferir meu vídeo no meu canal, onde me aprofundo na matemática e na implementação do algoritmo. O link para o vídeo pode ser encontrado na seção de comentários.

O algoritmo continua a iterar entre as etapas um e dois até atingir um ponto de convergência em que as alterações se tornam insignificantes. A cada iteração, as cores dos pontos são atualizadas com base no conjunto atual de distribuições gaussianas e novas gaussianas são criadas com base nos pontos coloridos.

À medida que o algoritmo avança, as distribuições gaussianas se adaptam gradualmente aos dados, capturando os clusters subjacentes. As gaussianas representam a distribuição de probabilidade dos pontos de dados pertencentes a um determinado cluster. O algoritmo busca maximizar a verossimilhança dos dados observados dado o modelo de mistura gaussiana.

O resultado final do algoritmo do modelo de mistura gaussiana é um conjunto de gaussianas que representam os clusters nos dados. Cada gaussiano está associado a um cluster específico e fornece informações sobre sua média, variância e covariância. Ao analisar os parâmetros dos gaussianos, podemos obter informações sobre a estrutura e as características dos clusters presentes nos dados.

O algoritmo do modelo de mistura gaussiana é uma ferramenta poderosa para agrupamento suave, onde os pontos de dados podem pertencer a vários agrupamentos simultaneamente. Ele pode lidar com conjuntos de dados complexos com clusters sobrepostos ou padrões não linearmente separáveis. Isso o torna aplicável em vários domínios, como segmentação de imagens, classificação de documentos e classificação de áudio.

O algoritmo do modelo de mistura gaussiana é um processo iterativo que alterna entre colorir os pontos com base nas gaussianas atuais e atualizar as gaussianas com base nos pontos coloridos. Ele converge para uma solução em que os gaussianos representam com precisão os clusters subjacentes nos dados, permitindo agrupamento e análise eficazes.

Gaussian Mixture Models
Gaussian Mixture Models
  • 2020.12.28
  • www.youtube.com
Covariance matrix video: https://youtu.be/WBlnwvjfMtQClustering video: https://youtu.be/QXOkPvFM6NUA friendly description of Gaussian mixture models, a very ...
 

Agrupamento: K-means e Hierárquico



Agrupamento: K-means e Hierárquico

Olá, sou Luis Serrano. Neste vídeo, aprenderemos sobre dois algoritmos de agrupamento importantes: agrupamento k-means e agrupamento hierárquico. Clustering é uma técnica de aprendizado não supervisionado que envolve o agrupamento de dados com base na similaridade. Aplicaremos esses algoritmos a um aplicativo de marketing, especificamente a segmentação de clientes.

Nosso objetivo é dividir a base de clientes em três grupos distintos. Temos dados sobre a idade dos clientes e seu envolvimento com uma determinada página. Ao plotar esses dados, podemos identificar visualmente três clusters ou grupos. O primeiro grupo é composto por pessoas na faixa dos 20 anos com baixo engajamento (2-4 dias por semana). O segundo grupo compreende indivíduos entre 30 e 40 anos com alto engajamento. O terceiro grupo inclui pessoas na faixa dos 50 anos com engajamento muito baixo.

Agora, vamos nos aprofundar no algoritmo de agrupamento k-means. Imagine que somos donos de pizzarias tentando determinar os melhores locais para três pizzarias em uma cidade. Queremos atender nossa clientela com eficiência. Começamos selecionando aleatoriamente três locais e colocando uma pizzaria em cada local. Atribuímos aos clientes a pizzaria mais próxima com base em sua localização.

Em seguida, movemos cada pizzaria para o centro das casas que ela atende. Essa etapa garante que o local seja ideal para atender os clientes ao redor. Repetimos o processo de atribuir clientes à pizzaria mais próxima e mover as pizzarias para os centros até que o algoritmo converja e os clusters se estabilizem.

Determinar o número de clusters pode ser um desafio. Para resolver isso, podemos usar o método do cotovelo. Calculamos o diâmetro de cada agrupamento, que representa a maior distância entre dois pontos da mesma cor. Ao plotar o número de clusters em relação ao diâmetro, podemos identificar um ponto "cotovelo" onde a melhoria se torna menos significativa. Esse ponto de cotovelo indica o número ideal de clusters, que, nesse caso, é três.

Agora, vamos passar para o agrupamento hierárquico. Novamente, nosso objetivo é encontrar clusters no conjunto de dados. Começamos considerando os dois pontos mais próximos e agrupando-os. Em seguida, mesclamos iterativamente os próximos pares mais próximos até decidirmos parar com base em um limite de distância. Esse método resulta em um dendrograma, uma estrutura em forma de árvore que representa os clusters.

Determinar o limite de distância ou o número de clusters pode ser subjetivo. No entanto, uma abordagem alternativa é o método "adicionar e descartar". Traçamos as distâncias entre pares de pontos em um dendrograma e examinamos a altura das linhas curvas. Ao analisar as alturas, podemos tomar uma decisão informada sobre o limite de distância ou o número de clusters.

O agrupamento de K-means e o agrupamento hierárquico são algoritmos valiosos para agrupar dados com base na similaridade. O clustering de K-means envolve o movimento iterativo de centroides para otimizar as atribuições de cluster, enquanto o clustering hierárquico constrói um dendrograma para representar os clusters. O método do cotovelo e o método de adicionar e soltar podem ser usados para determinar o número ideal de clusters ou o limite de distância.

Clustering: K-means and Hierarchical
Clustering: K-means and Hierarchical
  • 2019.01.27
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytA friendly description of K-means clustering ...
 

Análise de Componentes Principais (PCA)



Análise de Componentes Principais (PCA)

Neste vídeo, aprenderemos sobre a Análise de Componentes Principais (PCA), que é uma técnica de redução de dimensionalidade. O PCA é usado para reduzir o número de colunas em um grande conjunto de dados, mantendo o máximo de informações possível. Ao projetar os dados em um espaço de menor dimensão, podemos simplificar o conjunto de dados. Abordaremos várias etapas neste vídeo: projeções de modo, matriz de variância-covariância, autovalores e autovetores e, finalmente, PCA.

Para entender o conceito, vamos considerar o problema de tirar uma foto de um grupo de amigos. Precisamos determinar o melhor ângulo para capturar a imagem. Da mesma forma, na redução de dimensionalidade, queremos capturar a essência dos dados enquanto reduzimos o número de dimensões. Podemos conseguir isso projetando os dados em uma linha ideal que maximiza a dispersão dos pontos. Compararemos diferentes projeções e determinaremos qual fornece a melhor separação entre os pontos.

A redução da dimensionalidade é crucial em cenários onde temos um grande conjunto de dados com inúmeras colunas de difícil processamento. Por exemplo, em um conjunto de dados habitacionais, podemos ter vários recursos, como tamanho, número de cômodos, banheiros, proximidade de escolas e taxa de criminalidade. Ao reduzir as dimensões, podemos combinar recursos relacionados em um único recurso, como combinar tamanho, número de quartos e banheiros em um recurso de tamanho. Isso simplifica o conjunto de dados e captura as informações essenciais.

Vamos nos concentrar em um exemplo em que passamos de duas colunas (número de quartos e tamanho) para uma coluna. Queremos capturar a variação nos dados em um único recurso. Ao projetar os dados em uma linha que melhor represente a dispersão dos pontos, podemos simplificar o conjunto de dados de duas dimensões para uma dimensão. Esse processo pode ser estendido para reduzir as dimensões de cinco para duas, capturando as informações essenciais em um espaço menor.

Para entender conceitos-chave como média e variância, vamos considerar o balanceamento de pesos. A média é o ponto onde os pesos se equilibram e a variância mede a dispersão dos pesos a partir da média. Em um conjunto de dados bidimensional, calculamos as variações nas direções x e y para medir a dispersão dos dados. No entanto, as variações sozinhas podem não capturar as diferenças entre os conjuntos de dados. Introduzimos a covariância, que mede a dispersão e a correlação entre duas variáveis. Ao calcular a covariância, podemos diferenciar conjuntos de dados com variações semelhantes.

Agora, vamos aplicar esses conceitos ao PCA. Começamos centralizando o conjunto de dados na origem, criando uma matriz de covariâncias a partir das variações e covariâncias do conjunto de dados. Essa matriz, comumente denominada Sigma, captura a dispersão e as correlações entre as variáveis. As próximas etapas envolvem autovalores e autovetores, que fornecem informações sobre os principais componentes dos dados. Por fim, aplicamos o PCA para projetar os dados nos componentes principais, reduzindo as dimensões e simplificando o conjunto de dados.

PCA é uma técnica poderosa para redução de dimensionalidade. Ele ajuda a capturar as informações essenciais em um conjunto de dados enquanto reduz o número de dimensões. Ao projetar os dados em uma linha ou espaço ideal, podemos simplificar conjuntos de dados complexos e torná-los mais gerenciáveis.

Principal Component Analysis (PCA)
Principal Component Analysis (PCA)
  • 2019.02.09
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytA conceptual description of principal compone...
 

Como a Netflix recomenda filmes? Fatoração de Matrizes



Como a Netflix recomenda filmes? Fatoração de Matrizes

Os sistemas de recomendação são aplicações altamente fascinantes de aprendizado de máquina amplamente utilizadas por plataformas como YouTube e Netflix. Esses sistemas analisam os dados do usuário e utilizam vários algoritmos para sugerir filmes e vídeos que se alinhem com as preferências dos usuários. Um método popular usado nesses sistemas é chamado de fatoração de matrizes.

Para entender como funciona a fatoração de matrizes, vamos considerar um cenário hipotético no universo Netflix. Temos quatro usuários: Anna, Betty, Carlos e Dana, e cinco filmes: Filme 1, Filme 2, Filme 3, Filme 4 e Filme 5. Os usuários fornecem classificações para os filmes em uma escala de uma a cinco estrelas, e o objetivo é prever essas classificações.

Criamos uma tabela onde as linhas representam os usuários e as colunas representam os filmes. Cada entrada na tabela corresponde à classificação de um usuário para um determinado filme. Por exemplo, se Anna classificar o Filme 5 com quatro de cinco estrelas, registramos essa classificação na tabela na linha de Anna e na coluna do Filme 5.

Agora, vamos considerar a questão de como os humanos se comportam em termos de preferências de filmes. Examinamos três tabelas diferentes para determinar qual é a mais realista. A primeira tabela assume que todos os usuários classificam todos os filmes com uma pontuação de 3, o que não é realista, pois pressupõe que todos tenham as mesmas preferências. A terceira tabela consiste em classificações aleatórias, que também não refletem com precisão o comportamento humano. No entanto, a segunda tabela, que exibe dependências entre linhas e colunas, parece ser a representação mais realista.

Analisando a segunda tabela, observamos dependências como usuários com preferências semelhantes e filmes com avaliações semelhantes. Por exemplo, a primeira e a terceira linhas da tabela são idênticas, indicando que Anna e Carlos têm preferências muito semelhantes. Essa semelhança permite que a Netflix os trate como a mesma pessoa ao fazer recomendações. Também notamos que as colunas 1 e 4 são iguais, sugerindo que o Filme 1 e o Filme 4 podem ser semelhantes em termos de conteúdo ou apelo. Além disso, encontramos uma dependência entre três linhas, onde os valores da segunda e terceira linhas podem ser somados para obter os valores da quarta linha. Essa dependência implica que as preferências de um usuário podem ser derivadas das preferências de outros usuários. Essas dependências, embora nem sempre explicáveis explicitamente, fornecem insights valiosos que podem ser aproveitados em sistemas de recomendação.

Para utilizar essas dependências e fazer previsões de classificação, a fatoração de matrizes entra em ação. A fatoração de matriz envolve a quebra de uma matriz grande e complexa no produto de duas matrizes menores. Nesse caso, a matriz grande representa a tabela de classificação do filme do usuário, enquanto as matrizes menores representam as preferências do usuário e os recursos do filme.

Para encontrar essas duas matrizes menores, apresentamos recursos como comédia e ação para filmes. Cada filme é classificado com base em seu nível de comédia e ação. Da mesma forma, os usuários são associados às suas preferências por esses recursos. O produto escalar é então usado para prever classificações considerando a afinidade de um usuário por determinados recursos e as classificações de recursos de um filme. Por exemplo, se um usuário gosta de comédia, mas não gosta de ação, e um filme tem classificações altas para comédia, mas baixa para ação, o cálculo do produto escalar resultaria em uma classificação alinhada com as preferências do usuário.

Aplicando esse cálculo de produto escalar a cada combinação de usuário-filme, podemos gerar classificações previstas e preencher as entradas que faltam na tabela de classificação. Este processo nos permite expressar a matriz original como um produto das duas matrizes menores, conseguindo a fatoração da matriz.

Vale a pena notar que as dependências que descobrimos anteriormente entre linhas e colunas ainda estão presentes nas matrizes fatoradas. Por exemplo, a semelhança entre Anna e Carlos é refletida na semelhança de suas linhas correspondentes na matriz de características do usuário. Da mesma forma, os filmes com classificações semelhantes exibem similaridade em suas pontuações de recursos na matriz de recursos do filme. Além disso, relações mais complexas podem ser observadas, como a relação entre usuários e filmes por meio de suas preferências compartilhadas por determinados recursos.

Depois de obter as matrizes fatoradas que representam as preferências do usuário e os recursos do filme, podemos aproveitá-las para fazer recomendações personalizadas. Para um determinado usuário, podemos comparar suas preferências na matriz de recursos do usuário com as pontuações de recursos de todos os filmes na matriz de recursos do filme. Ao calcular o produto escalar entre o vetor de preferências do usuário e o vetor de recursos de cada filme, podemos determinar a classificação prevista para esse par usuário-filme. Essas classificações previstas servem como base para recomendar filmes ao usuário.

Para ilustrar isso, vamos considerar Anna como nossa usuária-alvo. Extraímos as preferências de Anna da matriz de recursos do usuário e as comparamos com as pontuações de recursos de todos os filmes na matriz de recursos do filme. Ao calcular o produto escalar entre o vetor de preferências de Anna e o vetor de recursos de cada filme, obtemos uma lista de classificações previstas para Anna. Quanto maior a classificação prevista, maior a probabilidade de Anna gostar desse filme em particular. Com base nessas classificações previstas, podemos gerar uma lista classificada de recomendações de filmes para Anna.

É importante observar que a precisão dessas recomendações depende da qualidade da fatoração e da representação de atributos. Se o processo de fatoração capturar os padrões e dependências subjacentes nas classificações de filmes do usuário e se os recursos representarem efetivamente as características dos filmes e as preferências do usuário, é mais provável que as recomendações sejam relevantes e alinhadas com os gostos do usuário.

A fatoração de matrizes é apenas uma das muitas técnicas utilizadas em sistemas de recomendação e tem se mostrado eficaz na captura de fatores latentes e na geração de recomendações personalizadas. Plataformas como Netflix e YouTube aproveitam essas técnicas para aprimorar a experiência do usuário, sugerindo conteúdo que os usuários provavelmente gostarão com base em suas interações e preferências anteriores.

A fatoração de matriz é uma abordagem poderosa em sistemas de recomendação que divide uma matriz de classificação de filme do usuário em duas matrizes menores que representam as preferências do usuário e os recursos do filme. Ao capturar dependências e padrões nos dados, permite a geração de previsões precisas e recomendações personalizadas.

How does Netflix recommend movies? Matrix Factorization
How does Netflix recommend movies? Matrix Factorization
  • 2018.09.07
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytA friendly introduction to recommender system...
 

Alocação Latente de Dirichlet (Parte 1 de 2)



Alocação Latente de Dirichlet (Parte 1 de 2)

Olá, sou Luis Serrano, e este é o primeiro de dois vídeos sobre Alocação de Dirichlet Latente (LDA). LDA é um algoritmo usado para classificar documentos em tópicos. Vamos considerar um corpus de documentos, como artigos de notícias, onde cada artigo está associado a um ou mais tópicos. Porém, não conhecemos de antemão os temas, apenas o texto dos artigos. O objetivo é desenvolver um algoritmo que possa categorizar esses documentos em tópicos.

Para ilustrar o conceito, vamos usar um pequeno exemplo com quatro documentos, cada um contendo cinco palavras. Para simplificar, vamos supor que existam apenas quatro palavras possíveis em nosso idioma: "bola", "planeta" (ou "galáxia"), "referendo" e três tópicos possíveis: ciência, política e esportes.

Com base nas palavras dos documentos, podemos atribuir tópicos a cada documento. Por exemplo, o primeiro documento contém as palavras "bola" e "galáxia", o que sugere um tópico esportivo. O segundo documento inclui a palavra "referendo", que indica um tema político. O terceiro documento contém as palavras "planeta" e "galáxia", indicando um tema científico. O quarto documento é ambíguo, mas contém as palavras "planeta" e "galáxia", sugerindo também um tópico científico.

No entanto, essa categorização é baseada em nossa compreensão das palavras como humanos. Já o computador só sabe se as palavras são iguais ou diferentes e se aparecem no mesmo documento. É aqui que entra a Alocação Latente de Dirichlet para ajudar.

O LDA adota uma abordagem geométrica para categorizar documentos em tópicos. Imagine um triângulo com cantos representando os tópicos (ciência, política e esportes). O objetivo é colocar os documentos dentro desse triângulo, próximos aos tópicos correspondentes. Alguns documentos podem estar no limite entre dois tópicos se contiverem palavras relacionadas a ambos os tópicos.

O LDA pode ser pensado como uma máquina que gera documentos. Tem configurações e engrenagens. Ao ajustar as configurações, podemos controlar a saída da máquina. As engrenagens representam o funcionamento interno da máquina. Quando a máquina gera um documento, pode não ser o documento original, mas uma combinação aleatória de palavras.

Para encontrar as melhores configurações para a máquina, executamos várias instâncias dela e comparamos os documentos gerados com os originais. As configurações que resultam em documentos mais próximos dos originais, embora com baixa probabilidade, são consideradas as melhores. A partir dessas configurações, podemos extrair os tópicos.

O projeto da máquina, conforme descrito na literatura, pode parecer complexo à primeira vista. No entanto, se o decompormos, ele consiste em distribuições de Dirichlet (as configurações) e distribuições multinomiais (as engrenagens). Essas distribuições nos ajudam a gerar tópicos e palavras nos documentos.

As distribuições de Dirichlet podem ser imaginadas como distribuições de pontos dentro de uma forma geométrica. Por exemplo, em uma forma triangular, os pontos representam a distribuição de tópicos nos documentos. A distribuição é afetada por parâmetros que controlam se os pontos gravitam em direção aos cantos (tópicos) ou em direção ao centro.

As distribuições multinomiais, por outro lado, representam a distribuição de palavras dentro de cada tópico. Os pontos dentro de uma forma geométrica, como um tetraedro, indicam a combinação de palavras para um determinado tópico.

LDA combina essas distribuições para gerar documentos. A probabilidade de um documento aparecer é calculada por meio de uma fórmula que envolve as configurações e marchas da máquina.

LDA é um algoritmo que ajuda a categorizar documentos em tópicos. Ele usa distribuições geométricas para representar as relações entre documentos, tópicos e palavras. Ajustando as configurações da máquina, podemos gerar documentos muito parecidos com os originais. A partir dessas configurações, podemos extrair os tópicos.

Latent Dirichlet Allocation (Part 1 of 2)
Latent Dirichlet Allocation (Part 1 of 2)
  • 2020.03.18
  • www.youtube.com
Latent Dirichlet Allocation is a powerful machine learning technique used to sort documents by topic. Learn all about it in this video!This is part 1 of a 2 ...
 

Alocação de Dirichlet Latente de Treinamento: Amostragem de Gibbs (Parte 2 de 2)



Alocação de Dirichlet Latente de Treinamento: Amostragem de Gibbs (Parte 2 de 2)

Olá, sou Luis Serrano, e neste vídeo, mostrarei como treinar um modelo Latent Dirichlet Allocation (LDA) usando amostragem de Gibbs. Este vídeo é a segunda parte de uma série de duas partes. No primeiro vídeo, discutimos o que é LDA e exploramos as distribuições de Dirichlet com mais detalhes. No entanto, assistir ao primeiro vídeo não é necessário para entender este.

Vamos fazer uma rápida recapitulação do problema que estamos tentando resolver. Temos uma coleção de documentos, como artigos de notícias, e cada documento pode ser associado a um ou mais tópicos, como ciência, política ou esportes. No entanto, não conhecemos os tópicos dos documentos, apenas o texto dentro deles. Nosso objetivo é agrupar esses artigos por tópicos com base apenas em seu texto usando o LDA.

No vídeo anterior, vimos um exemplo com quatro documentos e um vocabulário limitado composto por quatro palavras: "bola", "planeta", "galáxia" e "referendo". Atribuímos cores (representando temas) a cada palavra e observamos que a maioria dos artigos estava predominantemente associada a um único tema. Também notamos que as palavras tendiam a ser associadas principalmente a um tópico específico.

Para resolver esse problema usando LDA, precisamos atribuir tópicos a palavras e documentos. Cada palavra pode ser atribuída a vários tópicos e cada documento também pode ter vários tópicos. Nosso objetivo é encontrar uma atribuição de tópicos a palavras que torne cada documento o mais monocromático possível e cada palavra principalmente monocromática. Dessa forma, podemos agrupar os artigos de maneira eficaz sem depender de definições de palavras ou tópicos.

Agora, vamos resolver esse problema usando a amostragem de Gibbs. Imagine organizar um quarto bagunçado sem saber a posição geral dos objetos. Você só pode confiar em como os objetos devem ser colocados em relação uns aos outros. Da mesma forma, organizaremos as palavras atribuindo cores uma de cada vez, supondo que todas as outras atribuições estejam corretas.

Inicialmente, começamos com uma atribuição aleatória de cores às palavras. Em seguida, melhoramos iterativamente a atribuição, escolhendo aleatoriamente uma palavra e reatribuindo-lhe uma cor com base nas outras atribuições. Por exemplo, se selecionarmos a palavra "bola" e assumirmos que todas as outras atribuições estão corretas, determinamos a melhor cor para "bola" considerando sua prevalência no documento e sua prevalência entre todas as ocorrências da palavra. Multiplicamos as probabilidades associadas a cada cor e escolhemos a cor com o maior resultado.

Repetindo este processo para cada palavra, melhoramos gradualmente a atribuição de cores às palavras, tornando os artigos mais monocromáticos e as palavras maioritariamente monocromáticas. Embora esse algoritmo não garanta a solução perfeita, ele efetivamente resolve o problema sem depender de definições de palavras ou tópicos.

Na parte restante do vídeo, fornecerei mais detalhes sobre como resolver esse problema usando a amostragem de Gibbs. Ao organizar a sala um objeto de cada vez, podemos transformar uma sala bagunçada em uma sala limpa. Da mesma forma, atribuindo cores às palavras uma a uma, podemos efetivamente treinar um modelo LDA usando a amostragem de Gibbs.

Então, vamos continuar com nosso algoritmo de amostragem de Gibbs. Colorimos a palavra "bola" no documento um como vermelho com base na prevalência de palavras vermelhas no documento e na prevalência de coloração vermelha para a palavra "bola" em todos os documentos. Agora, vamos passar para a próxima palavra e repetir o processo.

A próxima palavra é "galáxia" no documento um. Novamente, supondo que todas as outras palavras sejam coloridas corretamente, consideramos as cores azul, verde e vermelho como candidatas à palavra "galáxia". Agora, vamos contar o número de palavras azuis, verdes e vermelhas no documento um. Descobrimos que há uma palavra azul, uma palavra verde e uma palavra vermelha. Como todas as três cores são igualmente representadas, não temos um vencedor claro com base apenas no documento um.

Em seguida, vamos nos concentrar apenas na palavra "galáxia" em todos os documentos. Contando as ocorrências, encontramos duas palavras azuis, duas palavras verdes e duas palavras vermelhas. Novamente, não há uma cor majoritária clara para a palavra "galáxia" em todos os documentos.

Nesse caso, podemos atribuir aleatoriamente uma cor à palavra "galáxia" ou escolher uma cor padrão. Digamos que atribuímos aleatoriamente a cor azul. Agora, atualizamos a cor da palavra "galaxy" no documento um para azul.

Repetimos esse processo para todas as palavras em todos os documentos, considerando seu contexto local e global, e atualizamos suas cores com base na prevalência de cores em cada documento e na prevalência de cores para cada palavra em todos os documentos. Continuamos repetindo as palavras até que tenhamos passado por todas elas várias vezes.

Após várias iterações, convergimos para uma coloração que satisfaça nosso objetivo de tornar cada artigo o mais monocromático possível e cada palavra o mais monocromática possível. Treinamos efetivamente um modelo de alocação de Dirichlet latente (LDA) usando amostragem de Gibbs.

A amostragem de Gibbs é uma técnica que nos permite resolver o problema de atribuir tópicos a documentos sem depender das definições de palavras. Envolve a atualização iterativa das cores das palavras com base na prevalência de cores em cada documento e na prevalência de cores para cada palavra em todos os documentos. Esse processo resulta em uma coloração que representa os tópicos dos documentos, mesmo sem saber o significado das palavras.

Ao usar a amostragem de Gibbs, podemos efetivamente treinar um modelo LDA e agrupar artigos por tópicos com base apenas no conteúdo do texto, sem conhecimento prévio dos tópicos ou significados das palavras. Essa abordagem é particularmente útil em tarefas de processamento de linguagem natural em que o objetivo é descobrir tópicos ou temas latentes em uma coleção de documentos.

Training Latent Dirichlet Allocation: Gibbs Sampling (Part 2 of 2)
Training Latent Dirichlet Allocation: Gibbs Sampling (Part 2 of 2)
  • 2020.03.21
  • www.youtube.com
This is the second of a series of two videos on Latent Dirichlet Allocation (LDA), a powerful technique to sort documents into topics. In this video, we lear...
 

Decomposição de valor singular (SVD) e compactação de imagem



Decomposição de valor singular (SVD) e compactação de imagem

Olá, sou Louis Sorano e neste vídeo vou discutir o conceito de Decomposição de Valor Singular (SVD). SVD envolve rotações e alongamentos que possuem diversas aplicações, como compressão de imagens. Se você estiver interessado, pode encontrar o código do aplicativo no meu repositório do GitHub, cujo link está nos comentários. Além disso, tenho um livro chamado "Rocking Machine Learning" e você pode encontrar o link nos comentários junto com um código de desconto.

Agora vamos mergulhar nas transformações. As transformações podem ser vistas como funções que pegam pontos e os mapeiam para outros pontos. Alongar e compactar são exemplos de transformações que podem ser aplicadas horizontal ou verticalmente a uma imagem. Girar uma imagem em um determinado ângulo é outro tipo de transformação.

Agora, vamos resolver um quebra-cabeça. Você pode transformar o círculo à esquerda na elipse à direita usando apenas rotações, alongamentos/compressões horizontais e verticais? Pause o vídeo e experimente.

Para resolver esse quebra-cabeça, esticamos o círculo horizontalmente, comprimimos-o verticalmente e giramos no sentido anti-horário para obter a elipse desejada.

Vamos passar para um quebra-cabeça mais desafiador. Desta vez, temos que transformar o círculo colorido na elipse colorida preservando as cores. Antes de esticar ou comprimir, precisamos girar o círculo para a orientação correta. Depois disso, podemos aplicar os alongamentos e compressões e depois girar novamente para obter o resultado desejado.

A principal conclusão aqui é que qualquer transformação linear pode ser expressa como uma combinação de rotações e alongamentos. Uma transformação linear pode ser representada por uma matriz, e SVD nos ajuda a decompor uma matriz em três partes: duas matrizes de rotação e uma matriz de escala.

Essas matrizes de rotação e escala podem ser usadas para imitar qualquer transformação linear. As rotações representam rotações por um ângulo, e as matrizes de escala representam alongamentos ou compressões horizontais e verticais. Matrizes com propriedades especiais, como matrizes diagonais, representam transformações de escala.

A equação de decomposição SVD, A = UΣVᴴ, expressa uma matriz A como o produto dessas três matrizes: uma matriz de rotação U, uma matriz de escala Σ e outra matriz de rotação Vᴴ (a transposta adjunta ou conjugada de V). Esta equação nos permite decompor qualquer matriz em suas partes constituintes.

Para encontrar o SVD, existem métodos matemáticos disponíveis, mas também podemos usar ferramentas como Wolfram Alpha ou o pacote NumPy em Python.

A decomposição SVD ajuda na redução de dimensionalidade e na simplificação de matrizes. Analisando a matriz de escala Σ, podemos entender as características da transformação. Um fator de escala grande indica alongamento, enquanto um fator pequeno indica compressão. Se um fator de escala se torna zero, a transformação se torna degenerada e pode comprimir todo o plano em uma linha.

Ao modificar a matriz de escala, podemos compactar uma matriz de classificação mais alta em uma matriz de classificação mais baixa, reduzindo efetivamente a quantidade de informações necessárias para representar a matriz original. Essa compressão é obtida expressando a matriz como o produto de duas matrizes menores. No entanto, nem todas as matrizes podem ser compactadas dessa maneira.

A Decomposição de Valor Singular (SVD) é uma ferramenta poderosa que nos permite dividir uma matriz em rotações e alongamentos. Esta decomposição tem aplicações em vários campos, incluindo compressão de imagens e redução de dimensionalidade.

Singular Value Decomposition (SVD) and Image Compression
Singular Value Decomposition (SVD) and Image Compression
  • 2020.09.08
  • www.youtube.com
Github repo: http://www.github.com/luisguiserrano/singular_value_decompositionGrokking Machine Learning Book:https://www.manning.com/books/grokking-machine-l...
 

A revolução da IA | Fórum Global de Toronto 2019



A revolução da IA | Fórum Global de Toronto 2019 | Quinta-feira, 5 de setembro |

Se alguém nesta sala acredita que eu estava um pouco intimidado antes de concordar em fazer esta entrevista, eles estariam corretos. No entanto, vamos deixar isso de lado e nos concentrar em ter uma discussão produtiva. Meu objetivo é que todos saiam daqui com uma compreensão maior do que quando chegaram. Então, vamos começar.

Para fornecer algum contexto, o Prêmio Turing foi concedido recentemente a mim e a meu colega por nosso trabalho em redes neurais e aprendizado profundo. Achei que seria útil se Jeff pudesse explicar o que é aprendizado profundo e o que são redes neurais.

Cerca de sessenta anos atrás, havia duas ideias principais sobre a criação de sistemas inteligentes. Uma abordagem era baseada na lógica e envolvia o processamento de sequências de símbolos usando regras de inferência. A outra abordagem foi inspirada na estrutura do cérebro, onde uma rede de células cerebrais interconectadas aprendeu e se adaptou. Esses dois paradigmas eram bastante diferentes e, por muito tempo, a abordagem da rede neural lutou para fornecer resultados satisfatórios. A falta de progresso foi devido à disponibilidade limitada de dados e poder computacional.

No entanto, no início deste século, testemunhamos uma mudança significativa. Com o crescimento exponencial dos dados e do poder de computação, os sistemas que aprenderam com exemplos tornaram-se altamente eficazes. Em vez de programar tarefas específicas, criamos grandes redes de células cerebrais simuladas e ajustamos as forças de conexão entre elas para alcançar o comportamento desejado. Ao fornecer dados de entrada e a saída correta correspondente, a rede aprendeu a generalizar e fazer previsões precisas. Essa abordagem, conhecida como aprendizado profundo, revolucionou o reconhecimento de fala, reconhecimento de imagem, tradução automática e várias outras tarefas.

Embora o aprendizado profundo seja inspirado no cérebro, é importante observar que os detalhes de como ele funciona diferem significativamente. Ele opera em um nível abstrato, imitando a capacidade do cérebro de aprender com exemplos e adaptar os pontos fortes da conexão.

Agora, deixe-me explicar por que o aprendizado é tão crucial e por que a abordagem tradicional de IA baseada em símbolos e regras não funcionou. Existe uma vasta quantidade de conhecimento que possuímos, mas não podemos explicar ou programar facilmente em computadores. Por exemplo, sabemos reconhecer objetos como um copo d'água, mas transferir esse conhecimento para computadores é um desafio. Nossa compreensão de muitos aspectos da cognição humana não é facilmente dissecada ou traduzida em instruções explícitas para máquinas. Da mesma forma, não podemos explicar certas coisas a outra pessoa porque não temos acesso consciente a esse conhecimento oculto em nossos cérebros.

Para fornecer aos computadores esse conhecimento, aprender com os dados é fundamental. Assim como as crianças aprendem com suas experiências, os computadores podem adquirir conhecimento treinando em grandes quantidades de dados. Essa abordagem é a que mais se aproxima de emular a maneira como nosso cérebro funciona, embora não seja uma réplica exata. Portanto, a capacidade de aprender com os dados é um aspecto fundamental da IA e do aprendizado de máquina.

Com relação aos nossos antecedentes, embora inicialmente tenha estudado psicologia cognitiva, não obtive muito sucesso nesse campo. Na verdade, fui inspirado a explorar outros caminhos porque as ideias propostas pelos psicólogos cognitivos pareciam inadequadas e impraticáveis para a criação de sistemas inteligentes.

Agora, vamos abordar a perseverança exigida na pesquisa científica e por que continuamos apesar de inicialmente desconsiderados. Para ter sucesso na pesquisa, é preciso estar disposto a trilhar caminhos não convencionais. A pesquisa é sobre exploração e descoberta, muitas vezes envolvendo ideias que outros podem achar implausíveis. Requer autoconfiança, disposição para assumir riscos e capacidade de perseguir o que os outros ignoram. Nossa abordagem à IA inicialmente não foi levada a sério, mas tínhamos confiança em nossas ideias e estávamos dispostos a persegui-las, levando a avanços no aprendizado profundo.

Seguindo em frente, você perguntou sobre iniciativas empolgantes em que o aprendizado profundo está sendo aplicado. As aplicações são diversas, desde abordar a mudança climática, melhorando a eficiência de painéis solares, captura de carbono e baterias, até melhorar o uso de eletricidade por meio de uma melhor previsão e utilização mais eficiente de fontes de energia renováveis. O aprendizado profundo também é amplamente utilizado pelas empresas para aprimorar as interações com os clientes, como em mecanismos de pesquisa, recomendações, publicidade personalizada e assistentes virtuais. Também está sendo aplicado na área da saúde para diagnosticar doenças, analisar imagens médicas e descobrir novos candidatos a medicamentos. No campo dos veículos autônomos, o aprendizado profundo desempenha um papel crucial na percepção, na tomada de decisões e nos sistemas de controle, tornando o transporte mais seguro e eficiente.

Outra área empolgante é o processamento de linguagem natural, em que modelos de aprendizado profundo são usados para entender e gerar a linguagem humana. Isso levou a avanços significativos em tradução automática, chatbots, assistentes de voz e análise de sentimentos. O aprendizado profundo também está sendo utilizado no campo financeiro para detecção de fraudes, avaliação de risco e negociação de alta frequência.

Além disso, o aprendizado profundo está avançando na pesquisa e exploração científica. Ele está ajudando a analisar grandes conjuntos de dados em áreas como astronomia, genômica e física de partículas, levando a novas descobertas e insights. O aprendizado profundo está sendo usado até mesmo em aplicações criativas, como geração de arte, música e literatura.

Apesar do progresso notável, o aprendizado profundo ainda enfrenta desafios. Uma preocupação significativa é a dependência de grandes quantidades de dados rotulados para treinamento. Adquirir e anotar tais conjuntos de dados pode ser demorado e caro. Os pesquisadores estão explorando ativamente métodos para melhorar a eficiência e tornar o aprendizado profundo mais eficiente em termos de dados.

Outro desafio é a interpretabilidade dos modelos de aprendizado profundo. Devido à sua complexidade, pode ser difícil entender por que um modelo de aprendizado profundo tomou uma decisão ou previsão específica. Essa falta de transparência levanta preocupações éticas e legais, principalmente em domínios delicados como saúde e justiça criminal. Os pesquisadores estão se esforçando para desenvolver técnicas que melhorem a interpretabilidade e estabeleçam confiança em sistemas de aprendizado profundo.

Por fim, garantir a justiça e evitar vieses nos modelos de aprendizagem profunda é uma preocupação constante. Os vieses presentes nos dados de treinamento podem levar a previsões tendenciosas e resultados injustos. Esforços estão sendo feitos para desenvolver algoritmos justos e imparciais, juntamente com diretrizes e regulamentos para abordar essas questões.

O aprendizado profundo revolucionou a inteligência artificial, permitindo que as máquinas aprendam com os dados e façam previsões precisas. Ele encontrou aplicações em diversos campos e tem o potencial de impulsionar novos avanços na ciência, tecnologia e sociedade. No entanto, desafios como requisitos de dados, interpretabilidade e justiça devem ser abordados para garantir o uso responsável e benéfico do aprendizado profundo no futuro.

The AI Revolution | Toronto Global Forum 2019 | Thursday, September 5 |
The AI Revolution | Toronto Global Forum 2019 | Thursday, September 5 |
  • 2019.09.05
  • www.youtube.com
Presented by DBRSPART 1THE AI REVOLUTIONSpeakers: Geoffrey Hinton, Chief Scientific Advisor, Vector Institute; Vice-President and Engineering Fellow, Google;...
 

Entrevista completa: "Padrinho da inteligência artificial" fala sobre o impacto e o potencial da IA



Entrevista completa: "Padrinho da inteligência artificial" fala sobre o impacto e o potencial da IA

Neste momento atual em IA e aprendizado de máquina, é visto como um momento crucial. O sucesso do ChatGPT, um grande modelo de linguagem, demonstrou as capacidades impressionantes desses modelos. O público em geral tornou-se mais consciente do potencial da IA, principalmente depois que a Microsoft lançou seu próprio modelo de linguagem. Essa repentina conscientização do público surpreendeu a muitos, embora pesquisadores e grandes empresas estejam cientes desses avanços há anos.

Quando perguntados sobre sua experiência inicial com o ChatGPT, a resposta não foi de espanto. O usuário já havia usado modelos semelhantes antes, como GPT-2 e um modelo do Google que poderia explicar o humor das piadas em linguagem natural. Embora o ChatGPT não os tenha surpreendido muito, o GPT-2 deixou uma forte impressão. No entanto, a reação do público aos recursos do ChatGPT os surpreendeu, pois se tornou o fenômeno de crescimento mais rápido na IA.

A conversa mudou para a história da IA, com duas escolas distintas de pensamento. A IA convencional focava no raciocínio e na lógica, enquanto as redes neurais, a área de interesse do usuário, estudavam os aspectos biológicos do cérebro. Apesar de estar à frente da curva em redes neurais, convencer os outros de seu potencial na década de 1980 foi um desafio. O usuário acredita que as redes neurais não funcionavam de maneira ideal naquela época devido ao poder de computação e aos conjuntos de dados limitados. No entanto, os principais pesquisadores de IA descartaram isso como uma desculpa para suas deficiências.

O principal interesse do usuário está em entender como o cérebro funciona, em vez de apenas criar IA. Embora as implementações de IA bem-sucedidas possam levar a concessões e reconhecimento, seu objetivo é obter insights sobre o cérebro. Eles acreditam que as atuais redes neurais artificiais usadas na IA divergem de como o cérebro realmente funciona. O usuário expressou sua opinião de que o processo de aprendizado do cérebro difere da técnica de retropropagação amplamente usada em IA.

A discussão se aprofundou nas limitações da comunicação humana em comparação com os modelos de IA. Embora os humanos possam comunicar ideias complexas por meio da linguagem natural, eles são limitados pela velocidade com que podem transmitir informações. Por outro lado, os modelos de IA podem processar grandes quantidades de dados em vários computadores, permitindo que acumulem conhecimento além da compreensão humana. No entanto, os humanos ainda se destacam no raciocínio, extraindo conhecimento de conjuntos de dados limitados e realizando tarefas que exigem compreensão inata.

A conversa tocou nos primeiros trabalhos do usuário em modelagem de linguagem em 1986, onde eles desenvolveram um modelo que previa a última palavra em uma frase. Embora o modelo se mostrasse promissor, ele era limitado pelo poder de computação disponível e pelos conjuntos de dados da época. O usuário acredita que, se tivesse acesso ao poder de computação e aos conjuntos de dados disponíveis hoje, o desempenho do modelo teria sido significativamente melhorado.

Na década de 1990, as redes neurais enfrentaram desafios, pois outras técnicas de aprendizado pareciam mais promissoras e tinham teorias matemáticas mais fortes. A IA mainstream perdeu o interesse em redes neurais, exceto na psicologia, onde os pesquisadores viram seu potencial na compreensão do aprendizado humano. Os anos 2000 marcaram uma virada quando técnicas de aprendizado profundo, incluindo pré-treinamento e modelos generativos, foram desenvolvidas, permitindo que redes neurais com múltiplas camadas aprendessem tarefas complexas.

Dois marcos significativos ocorreram em 2012. Em primeiro lugar, a pesquisa do usuário de 2009, que melhorou o reconhecimento de fala usando redes neurais profundas, foi disseminada para os principais laboratórios de reconhecimento de fala. Isso levou a avanços significativos na tecnologia de reconhecimento de fala, incluindo a implantação do Google de redes neurais profundas no Android, rivalizando com os recursos do Siri. Em segundo lugar, dois alunos do usuário desenvolveram um sistema de reconhecimento de objetos que superou os métodos anteriores. Este sistema utilizou detectores de recursos e representações hierárquicas para identificar objetos em imagens.

Para explicar a diferença entre sua abordagem e os métodos anteriores, o usuário forneceu uma analogia usando o reconhecimento de pássaros em imagens. Abordagens tradicionais exigiam detectores de recursos artesanais em diferentes níveis, começando pelas bordas básicas e progredindo para componentes de objetos mais complexos. Em contraste, redes neurais profundas usando backpropagation inicializadas, não seriam capazes de dizer como ajustar os pesos para aumentar a probabilidade de prever o pássaro na próxima vez. Mas se acontecer de prever o pássaro, então você pode ajustar os pesos de tal forma que a saída seja mais parecida com o pássaro da próxima vez. Portanto, você ajustaria os pesos com base na diferença entre a saída prevista e a saída desejada e continuaria fazendo isso para muitos exemplos até que o modelo melhorasse no reconhecimento de pássaros.

A ideia é que, ajustando os pesos com base no erro entre a saída prevista e a saída desejada, você possa melhorar gradualmente a capacidade do modelo de reconhecer pássaros. Esse processo é repetido para milhões ou até bilhões de imagens, permitindo que o modelo aprenda com uma vasta quantidade de dados e torne-se altamente preciso em suas previsões.

Essa abordagem, conhecida como backpropagation, revolucionou o campo das redes neurais na década de 1980 e continua sendo uma técnica fundamental no aprendizado profundo hoje. No entanto, apesar de seu sucesso em alcançar resultados impressionantes, ainda há debates e pesquisas em andamento sobre se a retropropagação é um modelo preciso de como o cérebro realmente aprende.

Alguns pesquisadores argumentam que o processo de aprendizado do cérebro pode envolver mecanismos e princípios adicionais que não são totalmente capturados pela retropropagação. Eles sugerem que nossa compreensão de como o cérebro funciona ainda é incompleta e pode haver abordagens alternativas para a construção de sistemas de IA que se alinhem mais de perto com os processos do cérebro.

No entanto, os modelos de aprendizado profundo, alimentados por retropropagação e outras técnicas, fizeram avanços significativos em vários domínios, incluindo reconhecimento de imagem e fala, processamento de linguagem natural e até jogos. Esses modelos demonstraram capacidades notáveis e chamaram a atenção e o entusiasmo de pesquisadores e do público em geral.

À medida que navegamos neste momento atual em IA e aprendizado de máquina, fica claro que grandes modelos de linguagem como o ChatGPT demonstraram o potencial dessas tecnologias. Eles podem executar tarefas impressionantes, gerar conteúdo criativo e fornecer informações valiosas. No entanto, ainda há muito a aprender e explorar em termos de como a IA pode imitar melhor a inteligência e a compreensão humanas.

À medida que os pesquisadores continuam a investigar os mistérios do cérebro e refinar as técnicas de IA, podemos antecipar novas descobertas e avanços. O futuro da IA é muito promissor, mas também levanta questões importantes sobre ética, privacidade e desenvolvimento e implantação responsáveis dessas tecnologias poderosas.

Em termos de inteligência biológica, o cérebro de cada indivíduo é único e a transferência de conhecimento entre indivíduos depende da linguagem. Por outro lado, nos modelos atuais de IA, como redes neurais, modelos idênticos são executados em computadores diferentes e podem compartilhar forças de conexão, permitindo que compartilhem bilhões de números. Esse compartilhamento de forças de conexão permite que eles reconheçam diferentes objetos. Por exemplo, um modelo pode aprender a reconhecer gatos enquanto outro pode aprender a reconhecer pássaros, e eles podem trocar suas forças de conexão para realizar ambas as tarefas. No entanto, esse compartilhamento só é possível em computadores digitais, pois é um desafio fazer com que diferentes cérebros biológicos se comportem de maneira idêntica e compartilhem conexões.

A razão pela qual não podemos ficar com computadores digitais é devido ao seu alto consumo de energia. Embora os requisitos de energia tenham diminuído à medida que os chips melhoram, é necessário executar um computador digital em alta potência para cálculos precisos. No entanto, se executarmos sistemas com potência mais baixa, semelhante à forma como o cérebro opera com 30 watts, podemos permitir algum ruído e adaptar o sistema para funcionar de forma eficaz. A adaptabilidade do cérebro para diminuir a potência permite que ele funcione mesmo sem requisitos precisos de energia. Em contraste, grandes sistemas de IA exigem uma potência muito maior, como um megawatt, pois consistem em várias cópias do mesmo modelo. Essa grande diferença nos requisitos de energia, aproximadamente um fator de mil, sugere que haverá uma fase em que o treinamento ocorrerá em computadores digitais, seguido pela execução dos modelos treinados em sistemas de baixa potência.

O impacto generalizado dessa tecnologia é difícil de identificar em uma área específica. Espera-se que permeie vários aspectos de nossas vidas. Modelos como o ChatGPT já estão se tornando onipresentes. Por exemplo, o Google usa redes neurais para aprimorar os resultados de pesquisa e estamos passando por uma fase em que chatbots como o ChatGPT estão se tornando mais comuns. No entanto, esses modelos de linguagem, embora capazes de gerar texto, carecem de uma verdadeira compreensão da verdade. Eles são treinados em dados inconsistentes e visam prever a próxima frase que alguém pode dizer na web. Consequentemente, eles misturam diferentes opiniões para modelar várias respostas potenciais. Isso difere dos humanos que lutam por uma visão de mundo consistente, especialmente quando se trata de agir no mundo.

Seguindo em frente, o desenvolvimento de sistemas de IA precisa enfrentar o desafio de entender diferentes perspectivas e acomodar várias visões de mundo. No entanto, isso apresenta um dilema, pois há casos em que existe verdade objetiva, como a Terra não ser plana. Equilibrar a acomodação de diferentes pontos de vista com o reconhecimento da verdade objetiva representa um desafio significativo. Determinar quem decide o que é considerado "ruim" ou ofensivo também é uma questão em aberto. Embora empresas como Google e Microsoft sejam cautelosas em sua abordagem, navegar nesses desafios exigirá debate público, regulamentação e consideração cuidadosa de como esses sistemas são treinados, rotulados e apresentados.

O potencial rápido avanço da tecnologia de IA levanta preocupações sobre suas implicações. Anteriormente, esperava-se que a IA de uso geral levasse várias décadas para se desenvolver. No entanto, alguns agora acreditam que isso pode acontecer nos próximos 20 anos ou até antes. O medo decorre das ações e decisões desconhecidas que um sistema muito mais inteligente do que os humanos pode tomar. Garantir que os sistemas de IA sirvam como ferramentas sinérgicas que ajudam a humanidade, em vez de representar uma ameaça, requer atenção cuidadosa aos fatores políticos e econômicos. O cenário político desempenha um papel crucial e permanece incerto se todas as nações e líderes abordarão o desenvolvimento da IA com responsabilidade. Isso levanta preocupações sobre perigos potenciais e a necessidade de governança e cooperação internacional para estabelecer diretrizes e acordos.

Uma preocupação significativa refere-se à aplicação militar da IA, particularmente armas autônomas. A ideia de substituir soldados por soldados controlados por IA levanta questões éticas. Desenvolver soldados autônomos requer dar a eles a capacidade de criar submetas para atingir seus objetivos, o que levanta preocupações sobre o problema de alinhamento. Como podemos ter certeza de que os subobjetivos criados por esses sistemas se alinharão aos valores humanos e não resultarão em ações prejudiciais?

Em algum nível, essa afirmação é verdadeira. Esses grandes modelos de linguagem, como o Chat GPT, dependem de padrões estatísticos e dados existentes para gerar respostas. Eles não possuem verdadeira compreensão ou consciência como os humanos. No entanto, seus recursos vão além do simples preenchimento automático.

Esses modelos foram treinados em grandes quantidades de dados de texto, permitindo que aprendam padrões, gramática e contexto. Eles podem gerar respostas coerentes e contextualmente relevantes com base nas informações que recebem. Eles podem até imitar o estilo e o tom de fontes ou indivíduos específicos.

Além disso, esses modelos têm a capacidade de generalizar e extrapolar a partir das informações que aprenderam. Eles podem responder a perguntas, fornecer explicações, participar de conversas e até gerar conteúdo criativo, como histórias ou poemas. Eles podem entender e responder a uma ampla gama de tópicos e fornecer informações úteis.

No entanto, é importante observar que esses modelos têm limitações. Às vezes, eles podem produzir respostas incorretas ou tendenciosas porque aprendem com os dados com os quais são treinados, que podem conter vieses ou imprecisões. Eles carecem de raciocínio de bom senso e compreensão profunda do mundo. Eles também lutam com perguntas ambíguas ou sutis e às vezes podem fornecer respostas enganosas ou sem sentido.

Para superar essas limitações, a pesquisa e o desenvolvimento contínuos estão focados em melhorar as capacidades desses modelos. O objetivo é melhorar sua compreensão, raciocínio e capacidade de se envolver em conversas mais significativas e precisas. Além disso, esforços estão sendo feitos para abordar as implicações éticas e sociais dessas tecnologias, como transparência, mitigação de viés e implantação responsável.

Embora esses grandes modelos de linguagem tenham feito avanços significativos no processamento de linguagem natural, eles ainda estão longe de alcançar a verdadeira inteligência e compreensão em nível humano. São ferramentas que podem auxiliar e aumentar a inteligência humana, mas devem ser usadas com cautela e considerando suas limitações e potencial impacto.

Full interview: "Godfather of artificial intelligence" talks impact and potential of AI
Full interview: "Godfather of artificial intelligence" talks impact and potential of AI
  • 2023.03.25
  • www.youtube.com
Geoffrey Hinton is considered a godfather of artificial intelligence, having championed machine learning decades before it became mainstream. As chatbots lik...
Razão: