Quem somos?

Grupo Turing
Grupo Turing
Published in
6 min readMar 1, 2018

Quem sabe você tenha nos visto durante a Campus Party (que foi muito incrível btw, esperamos poder aparecer lá de novo!) ou você tenha acabado de entrar na tão sonhada Poli (meus parabéns!) ou talvez você tenha apenas se perdido se aventurando pela vasta internet e acabou aqui… na página de quem somos do grupo mais legal de todos os tempos: O Grupo Turing!

Ah… como eu amo a internet…

Mas e aí, quem somos? Nós gostamos de nos definir na frase:

Somos o Grupo de extensão que estuda, aplica e dissemina Inteligência Artificial na USP

E como que isso funciona? É bem simples:

  • Tem gente que gosta de ver os assuntos na teoria e entender na raiz a solução dos problemas, como os algoritmos funcionam, como cada hiper-parâmetro afeta no desempenho daquela rede neural,… Essas pessoas se identificam bastante com a parte do ‘estuda’ naquela frase, ou melhor com o nossa área de P&D
  • Já tem gente que gosta de fazer tudo na prática ver o código rodando, gerando resultados, ver aquele algoritmo genético aprendendo a jogar Tetris sozinho na tela do computador. Essas pessoas estão bem na parte de ‘aplica’ da nossa frase, ou melhor do nossa área de Projetos
  • Além disso tem gente que gosta de explicar tudo que aprendeu e tudo que fez pro mundo. Pra essas pessoas a parte ‘dissemina’ é a que chama mais atenção, ou melhor o nossa área de Comunidade
  • Achou que tinha acabado? Errou! Tá vendo aquela vírgula e aquele ‘e’ no meio da frase? Se não fosse por aqueles conectores aquela frase não ia ficar completa. Como a graxa do motor é a área de Estratégia para o grupo que auxilia e dá suporte para que tudo ocorra de maneira fluída e lisa
  • De novo achou que tinha acabado de novo, né? Essa área também é mais de suporte e para manter o grupo funcionando sem dor de cabeça temos a nossa área Financeira

Agora que você já sabe como as nossas áreas atuam, tá na hora de conhecer o que nós estudamos. O campo de Inteligência Artificial é muuiiiiito grande, então uma decisão sábia nossa foi, em 2018, começar a trabalhar o conceito de ‘expertises’. Expertises são focos dentro de IA que nós desejamos dominar e ficar extremamente experientes, desenvolvendo novas aplicações e artigos! É possível que essas expertises mudem ao longo do tempo, mas para esse começo de ano elas são:

• Visão Computacional

Você já parou pra pensar, como que é possível um computador saber que numa foto tem um passarinho? Ou um avião? Veja bem, normalmente a única informação que a máquina tem são as cores, dividas em RGB, de cada um dos pixels que formam aquela imagem. É muito difícil dizer que num agrupamento de pixels azuis escuros e vermelhos no meio de azul claro é um passarinho, ou o Super-Homem… Por um bom tempo as técnicas mais avançadas dependiam de especialistas criando condições e tentando determinar nos mínimos detalhes o que definia um objeto/corpo numa imagem (“ah se de um pixel pra outro mudou drasticamente a composição RGB, é bem provável que seja o contorno de alguma coisa”, “hm, se tiver um ângulo de 90º é provável que seja algo não orgânico”, …).

“Eu, Super-Man? Claro que sim!” — disse o papagaio (fonte: Unsplash)

Mas isso mudou. Fei-Fei Li, a diretora do laboratório de Visão Computacional e do laboratório de Inteligência Artificial de Stanford, foi uma das pioneiras da ideia de se utilizar uma grande quantidade de dados para treinar um algoritmo para identificar objetos, um dos algoritmos predominantes nessa área é a de Redes Neurais Convolucionais (um tipo de Machine Learning). Só para você ter uma ideia, a precisão na classificação de imagens era de aproximadamente 75% em 2012 com as técnicas tradicionais e foi para mais de 95% em 2017 utilizando os novos algoritmos.

Aproveita aí e veja só um dos nossos projetos nessa área.

• Aprendizado por Reforço

Imagine que você tenha sido colocado numa sala escura… beeem escura e que você não saiba nada sobre ela. Você tem uma tarefa: sair da sala. E agora? Você anda um pouco pra frente e de repente recebe um bolo na sua mão. Você decide dar um passo para trás e puff o bolo some. Você dá dois passos pra frente e agora dois pedaços de bolo aparecem, um em cada mão. Confuso você da um passo para esquerda, nada acontece. Mais confuso ainda você dá dois passos para direita e de novo, nada acontece. A partir dai, o que você faz? É bem provável que você vá para frente, mas assim, é só um chute… Essa é a ideia do funcionamento de um aprendizado por reforço.

Fica a dica…

Você tem um agente e quer que ele aprenda a realizar uma determinada tarefa. Para cada ação tomada em um determinado estado você dá uma recompensa (positiva ou negativa) para o agente. É importante ressaltar que essa ação leva o agente para um novo estado e que talvez repetir a mesma ação não seja a melhor escolha. Lembrando que quem modela qual será a recompensa para cada ação ainda é você. E se o agente não gostasse de bolo?(tudo bem que isso nunca vai acontecer quando você estiver programando, mas você entendeu o ponto, hehe) Dependendo do seu problema e da sua modelagem de estados, ações e recompensas a performance do agente pode variar drasticamente.

• Processamento de Linguagem Natural

Do mesmo modo que imagens são representadas essencialmente por pixels, palavras não são muito diferentes, ao invés de pixels temos caracteres, que no final são a mesma coisa, um monte de 0’s e 1’s um do lado do outro armazenados na memória do seu computador. Nessa área temos um projeto muito interessante: passar numa competição chamada Winograd Schema Challenge. Não sei se você já ouviu falar no Teste de Turing, mas se não ouviu aqui vai a história curta: Alan Turing (é, sim é daí que vem o nome do nosso grupo!) propôs que para determinar se uma máquina é realmente inteligente ou não, ela deveria passar no Teste de Turing. O teste é: você coloca uma pessoa para conversar num chat e do outro lado terá uma máquina conversando, se a pessoa não desconfiar, pronto a sua máquina pode ser considerada inteligente. Simples, não é mesmo? Simples e falho infelizmente… mas vamos dar um desconto, Alan propôs esse teste em 1950 quando não existiam nem 20 computadores no mundo inteiro. Talvez você já tenha escutado sobre um suposto chatbot (Eugene Goostman) que passou no teste de Turing alguns anos atrás e é… ele enganou alguns jurados… mas ele se utilizava de artifícios como fingir ser uma criança ucraniana de 13 anos que não falava muito bem inglês. É claro! Como parecer mais humano, senão errando? Acontece que programar um computador para errar propositalmente afim de enganar algumas pessoas não parece ser o caminho para avançar com a tecnologia.

Admire a beleza do chatbot que “passou” no teste de turing

Para isso que vem o Winograd Schema Challenge, nele o desafio é um pouco mais complexo. Dada uma frase do gênero: “A garrafa não coube na mochila, porque era muito grande”. A máquina deve ser capaz de respoder a pergunta: O que era muito grande? A garrafa ou a mochila? Para nós é fácil descobrir que a resposta correta é a garrafa. Mas para o computador essa pergunta é especialmente complexa, pois tanto a garrafa como a mochila podem ser grandes, é necessário ter algum conhecimento de mundo para saber que X não cabe em Y, porque X é maior que Y.

Mas esse é o fim?!

Claro que não! Essa foi só uma introdução básica dos nossos campos de expertise e alguns dos projetos que planejamos atacar nesse ano! Se você não quer que esse seja o fim não esqueça de seguir nossa página no Facebook e a nossa publicação no Medium pra ficar sabendo mais sobre IA e sobre o nosso progresso!

--

--

Grupo Turing
Grupo Turing

Somos um grupo de extensão da Escola Politécnica da Universidade de São Paulo. Nós estudamos, aplicamos e disseminamos tópicos sobre Inteligência Artificial