🧵🧠 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

Feb 4
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
Apr 20, 2022
Vamos falar de Alan Turing e uma de suas principais contribuições científicas?

Mais um #fatosdacomputação imagem de um jovem alan tur...
Nesse post vamos falar de Alan Turing, famoso cientista da computação e que ficou bastante popular em 2014, com o filme "Jogo da Imitação", inspirado em uma fase de sua vida.
Além da contribuição na quebra da criptografia nazista, Turing foi fundamental no surgimento da Ciência da Computação.
Read 9 tweets
Mar 31, 2022
Talvez algum dia eu comente ou faça um corte elaborando um pensamento de que: "a pior decisão que vc pode tomar na sua vida profissional é se envolver mais do que você dá conta no seu emprego, especialmente no aspecto emocional/expectativa"

Acho que foi o pior erro que cometi
Em meados de 2017, eu tive um burnout grave (mas grave mesmo, de tomar remédio tarja preta, 10 meses de cama e coisas piores) como consequência de um excesso de trabalho exagerado

Eu achava que eu tinha que ser um super-herói, no sentido de resolver tudo e achava que as pessoas
valorizariam esse esforço

Muitos até valorizaram, mas uma grande parcela não achou nada demais ou viu até brecha de cair em cima de mim, exigindo o impossível

Enfim, fiquei doente (e tenho que ser maduro em reconhecer que não foi culpa do meu emprego, mas minha) e oq rolou?
Read 16 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 on Twitter!

:(