🧵🧠 Você sabe como uma rede neural artificial (RNA) funciona? Quer entender por que elas são tão importantes?

Vou tentar explicar nessa superthread sobre #inteligenciaartificial, vem comigo!
RNAs são inspiradas no cérebro humano.

Assim como o cérebro biológico tem o neurônio, as RNAs também possuem neurônios artificiais

Ainda que existam algumas semelhanças, não se enganem: redes neurais biológicas e as redes neurais artificiais são profundamente diferentes print de um livro, colocand...
Uma RNA pode ser entendida como uma função f(x) = y, tal que, pra qualquer x, a rede diz o y esperado

RNAs permitem que seu x seja praticamente qualquer coisa

Por exemplo, se x forem os pixels de uma imagem, o y pode ser a indicação de qual objeto está alí (por ex., um gato) imagem de um gato detectado
Mais exemplos:

-Se x contiver o áudio de uma pessoa falando, y pode ser a transcrição do q foi dito
-Se x forem dados de um paciente, o y pode ser o diagnóstico de uma doença
-Se x forem os dados de sensores de um carro autônomo, y pode ser as decisões de direção tomadas
Para que uma RNA seja capaz de dizer o y esperado a partir de um conjunto x, precisamos realizar algo que chamamos de treinamento

O processo é simples: apresentamos uma série de exemplos para que a RNA saiba tomar a decisão correta

Vamos ilustrar isso com cachorros e gatos
Vamos criar uma RNA capaz de dizer automaticamente se uma foto é de cachorro ou gato

A 1º coisa que fazemos é criar uma pastinha no computador contendo apenas fotos de gatos.

Similarmente, criamos outra pasta contendo apenas cachorros.

Esse é a primeira etapa do treinamento
Fazendo uma analogia, é como se um aluno estivesse estudando para uma prova (respectivamente, uma RNA realizando treinamento)

Verificamos continuamente se a RNA "acertou um exercício" (adivinhou se é gato ou cachorro), corrigindo-a sistematicamente até não errar mais
Vamos pra um exemplo de RNA processando uma foto

Imagine que a primeira foto contendo gato está sendo lida pela rede neural

Para a explicação ficar mais simples, suponha que cada imagem é de 2x2 (apenas 4 pixels)

Tudo começa na camada de entrada (a 1º, de cima pra baixo)👇 Imagine uma série de grupos...
No exemplo que mostrei, a camada de entrada apenas informa o x (a cor de cada pixel) para cada neurônio artificial da 1º camada oculta

É na camada oculta que o processamento é feito, vou explicar melhor recorte da camada de entrad...
Cada neurônio da cam. oculta recebe os pixels da primeira imagem de gato

Além dos pixels recebidos, cada neurônio contém pesos, que são valores associados as setinhas verdes. Como são 4 pixels, então cada neurônio da 1º camada oculta contém 4 pesos

A "mágica" acontece nos pesos
Os pesos fazem o aprendizado acontecer.

O objetivo do treinamento é descobrir os pesos certos para que a rede neural determine corretamente o que é um cachorro ou gato

Quando a rede inicia seu treinamento, os pesos costumam ser valores sorteados ou "chutados"
Cada neurônio recebe os pixels e usa seus pesos, fazendo a seguinte conta:

z = pixel1 * peso1 + pixel2 * peso2 + pixel3 * peso3 + pixel4 * peso4

O que ele faz com esse z? Depende do neurônio usado na RNA em questão
Um neurônio simples faz o seguinte: aplica z em uma função que "transforma" ele em um número entre 0 e 1

Se esse z transformado for igual ou maior do que 0,5, então o neurônio "dispara" (é como se informasse "sim" para os neurônios da camada seguinte). Do contrário, não faz nada
Agora consideremos a camada seguinte.

Cada neurônio da segunda camada oculta recebe os "sim" e "não" de cada neurônio da 1º camada (ou seja, se "dispararam" ou não)

Com essa informação, cada neurônio da camada 2 fará algo parecido com o cálculo que expliquei antes Image
Eles farão a "continha" de multiplicação e soma de cada valor recebido (que nesse exemplos, é 0 se não houve disparo, e 1 se houve disparo) com seus pesos

Novamente, dependendo do valor (se for maior ou igual a 0,5), os neurônios "disparam" ou não pra última camada, a de saída
Na camada de saída, verificamos se nossa RNA acertou ou errou (se estimou corretamente se é cachorro ou gato)

O neurônio da camada de saída aplica uma função parecida ao z que calculamos, com uma diferença... se o valor final for maior ou igual a 0,5 , é gato. Se não, é cachorro Image
Se nesse primeiro exemplo, a rede tiver acertado e inferido que é gato (ainda que por acaso), tá tudo bem, tudo certo

Agora, se a decisão tomada é de que a foto tinha um cachorro, obviamente, houve um erro
Em caso de erro, precisamos ajustar os pesos dos neurônios ao longo de todas as camadas da RNA, para que da próxima vez, classifique certo

Isso é feito por um procedimento de Retropropagação (Backpropagation), desenvolvido pelo Geoffrey Hinton (o "padrinho" da IA moderna) imagem de geoffrey hintonPublished: 09 October 1986 ...
É difícil explicar a retropropagação sem muita matemática, mas a intuição é simples

Fazemos o caminho "inverso", até retornar a camada de entrada

A cada passo, "mudamos" os pesos para que, da próxima vez, os neurônios certos sejam disparados e a classificação se torne correta
"Lucas, que bruxaria é essa? Como ele vai saber quais pesos devem ser mudados e para quais valores?"

Pois então, isso é puro cálculo diferencial. Em resumo, é como se tivéssemos uma "bússola"

Não sabemos o valor exato que devemos mudar todos os nossos pesos de nossa RNA
Por meio do cálculo, só sabemos que determinados pesos devem "subir" um pouquinho ou "diminuir" um pouco (olhamos nossa "bússola" para os pesos dos neurônios)

Eu falo desse procedimento aqui em detalhe (se chama método do gradiente)

Vamos entender melhor com uma analogia completa. O treinamento de uma Rede Neural é como um grande escritório

As primeiras camadas ocultas contém funcionários de "baixo escalão". À medida que avançamos, encontramos subgerentes, gerentes, diretores, até chegar no CEO ilustração de uma rede neur...
Os funcionários de "baixo" escalão (1º camada oculta) recebem os pixels de cachorro e de gato e, dependendo das cores de pixels encontrados e seus pesos, eles "informam um relatório" para seus subgerentes
Dependendo das informações recebidas pelos subgerentes e seus pesos, eles vão analisar e "informar novos relatórios" aos gerentes e assim sucessivamente

É como se esses relatórios de gerentes resumissem os relatórios dos funcionários de baixo escalão
Esse processo se repete até que o CEO receba os relatórios resumidos de todos, que será usado para tomar a decisão final: se é cachorro ou gato

Se acertar, ok! Chefe feliz!

Se errar, o CEO vai "dar um esporro de trás pra frente", que será recebido por todos os funcionários
Todo mundo recebe um "esporro didático" que será usado para ajustar seus pesos internos e não errar na próxima

Esse procedimento "pra frente" (analisar os dados e enviar relatórios até chegar no chefe) e "pra trás" (ouvir o esporro e se corrigir) é repetido a exaustão
Após milhares de tentativas e fotos, a tendência é que cada funcionário e gerente (os neurônios) ajustem seus pesos de forma a não errar mais

Nessa situação, é o fim do treinamento. A expectativa agora é que, pra qualquer foto de gato e cachorro, ele não erre
Assim, nossa RNA consegue "generalizar", ou seja, por meio de exemplos de fotos e cachorros, ela passa a acertar se é cachorro ou gato para fotos que nunca viu antes!

Enfim, tem muito mais coisas... mas acho que exagerei na thread e é um bom ponto para terminar.
Esse exemplo é bem simples e desconsidera uma série de coisas... mas para uma introdução, é um bom ponto de partida

Tem um vídeo do meu canal em que eu implemento basicamente isso, uma RNA capaz de diferenciar gatos e cachorros por imagem

Se vocês tiverem gostado, não deixem de acompanhar minha playlist de RNAs do meu canal!

Desde 2020, estou tentando implementar RNAs de todos os tipos usando Python e Tensorflow

Continuam saindo vídeos até hoje (a conta-gotas, confesso)

youtube.com/playlist?list=…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Lucas (Universo Discreto) 👨‍💻

Lucas (Universo Discreto) 👨‍💻 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @1iversoDiscreto

Jan 5
Para tentar furar um pouco a bolha, vou fazer uma thread explicando os conceitos mais básicos em IA

Por exemplo, qual a diferença entre IA, Ciência de Dados, Machine Learning, Deep Learning...?

Segue a thread para entender! 🧵 #universodiscreto
Começamos nossa jornada pela IA, que é 'a área da computação que estuda como resolver problemas que tipicamente requerem a inteligência humana'

Ou seja, dentro da IA, estudamos os métodos (para simplificar, pense em algoritmos) que resolvem esses problemas
"Lucas, poderia dar exemplos desses problemas?"

Jogar jogos como xadrez, diagnóstico médico, reconhecimento de imagem ou fala, tradução automática, detecção de fraudes financeiras, pilotar veículos, prevenção de desastres...

Basicamente tudo que um humano resolveria
Read 28 tweets
Jul 2, 2023
O Castanhari fala 🗣️ e o que a gente faz?

Checamos 🔍

Vamos conferir tudo de errado que ele disse agora? 🧵
🗣️: "Imagine que o ChatGPT tenha, chutando, uns 155 de QI e o Einstein tinha 160"

Eu sei que é uma analogia, mas mesmo pensando como metáfora, essa afirmação não faz sentido algum
Não faz sentido algum tentar comparar um modelo de linguagem com a inteligência humana

Um modelo de linguagem, como é o caso do que o ChatGPT se baseia, é um "completador de texto", um gerador de palavras

Não tem raciocínio, não tem reflexão e nem cognição no sentido humano
Read 24 tweets
Jun 28, 2023
Já que não vou sossegar enquanto não fizer isso... vamos ver esse corte e ir comentando ao longo da thread

De repente, esses comentários se tornarão a base para um vídeo sobre o assunto 🧵

Deixarei os artigos científicos usados como base ao final https://t.co/iTXZqUCKmU
Rápido disclaimer: só assisti o corte. Dessa forma, é possível que alguém fale: "mas no vídeo completo ele aborda esse ponto que vc abordou pipipi popopo"

Não é minha culpa: se postaram o corte separado, vai ter gente que só assistirá ao corte. Então vou opinar apenas nele
"Os caras não fazem a menor ideia de como essa p***a funciona"

Sabem sim. O princípio da IA considerada estado da arte (Redes Neurais Artificiais) é dos anos 50. Uma área com 70 anos de livros, artigos... É ofensivo falar que os especialistas não entendem como modelos funcionam
Read 41 tweets
Feb 4, 2023
Usos interessantes pra ChatGPT: A Thread! logo da chatgpt
Antes de começar, disclaimer rápido: ChatGPT não é 100% confiável

No entanto, vão surgir outros chatbots similares e essa tecnologia vai evoluir. Assim, é importante começar a se habituar e usá-la para se tornar mais produtivo no cotidiano

Mas lembre-se, ela ainda erra muito!
Outro ponto: nunca se satisfaça com a primeira resposta, especialmente se ela não estiver boa

Lembre-se que você sempre pode incluir mais informações no seu pedido, até ficar satisfeito.

Aprender com os usos que outras pessoas estão fazendo na Internet é bem importante!
Read 22 tweets
Apr 22, 2022
Vai ter #fatosdacomputação hoje sim!

Sabia que a base do algoritmo do GPS foi inventada por um programador cansado enquanto ajudava a noiva a fazer compras?

Conheça essa história aqui 👇 #universodiscreto imagem de dijkstra, um homem magro de óculos, grisalho e de
Edsger Dijkstra é um famoso cientista da computação neerlandês (da região popularmente conhecida como Holanda) e que deu inúmeras contribuições para a Ciência da Computação existir como é hoje.
No entanto, seu trabalho mais conhecido é o "Algoritmo de Dijkstra", um jeito de calcular o caminho de menor distância entre dois pontos conectados por "estradas".
Read 10 tweets
Apr 21, 2022
Ontem tivemos Turing e hoje é a vez da Ada no #fatosdacomputação do #universodiscreto!

Pra fugir do clichê do primeiro algoritmo, você sabia que a Ada já apareceu em um episódio de Doctor Who? foto de uma jovem atriz com visual próximo aos 20 anos e ve
Mais especificamente, Ada apareceu no episódio "Spyfall, Parte 2" da décima segunda temporada de Doctor Who.
É um pouco difícil explicar o que acontece no episódio sem acompanhar a série, mas o mesmo também conta com a aparição de Charles Babbage, mentor de Ada e provavelmente o idealizador do computador de propósito geral como conhecemos hoje.
Read 8 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(