Vou mostrar-vos uma coisa.
(Vídeo) Menina: Isto é um gato sentado numa cama.
O rapaz está a fazer festas ao elefante.
Isso são pessoas a ir para um avião.
É um grande avião.
Fei-Fei Li: Esta é uma criança de 3 anos
a descrever o que vê num conjunto de fotografias.
Ela poderá ter ainda muito para aprender neste mundo,
mas já é especialista numa tarefa muito importante:
dar sentido ao que vê.
A nossa sociedade está mais avançada do que nunca.
Enviamos pessoas para a lua, fazemos telefones que falam connosco
ou personalizamos estações de rádio que apenas tocam música de que gostamos.
No entanto, as nossas máquinas e computadores mais avançados
ainda têm dificuldade em realizar esta tarefa.
Por isso estou aqui hoje, para vos dar um relato
sobre os últimos avanços do nosso trabalho em visão computacional,
uma das tecnologias mais inovadoras e potencialmente mais revolucionárias
da ciência informática.
É verdade que já temos protótipos de carros que conduzem sozinhos,
mas sem visão inteligente, eles não conseguem distinguir
entre um saco de papel amarrotado, que o carro pode atropelar,
e uma pedra do mesmo tamanho, que deve ser evitada.
Criámos fabulosas câmaras de megapixéis,
mas não conseguimos devolver a visão a pessoas cegas.
Os drones conseguem voar sobre uma área extensa de terra,
mas não têm a tecnologia de visualização
necessária para detetar alterações nas florestas tropicais
Temos câmaras de segurança por todo o lado,
mas elas não nos alertam quando uma criança se está a afogar numa piscina.
As fotografias e os vídeos estão a tornar-se
parte integrante da vida em todo o mundo.
São gerados a um ritmo muito mais rápido do que qualquer ser humano,
ou equipas de seres humanos poderiam esperar ver.
Nós estamos neste momento a contribuir para este fenómeno, com este evento TED.
No entanto, até o software mais avançado tem ainda dificuldades em compreender
e gerir uma quantidade de dados tão grande.
Por outras palavras, enquanto sociedade,
nós somos bastante cegos,
porque as nossas máquinas mais inteligentes ainda são cegas.
"Porque é isto tão difícil?" poderão perguntar.
As câmaras fotográficas tiram fotografias como esta,
convertendo luzes numa tabela com números,
conhecidos como pixéis,
mas são apenas números sem vida.
Por si só não têm significado.
Pela mesma razão que ouvir não é o mesmo que escutar,
tirar fotografias não é o mesmo que ver,
e por ver entenda-se compreender.
Na verdade, a Mãe Natureza precisou de 540 milhões de anos de trabalho duro
para realizar esta tarefa.
Muito desse esforço
foi para o desenvolvimento do mecanismo de processamento visual do cérebro,
e não para os olhos.
Portanto, a visão começa nos olhos,
mas onde realmente acontece é no cérebro.
Há já 15 anos, desde o meu doutoramento em Caltech,
e depois como diretora do laboratório Stanford's Vision,
tenho trabalhado com os meus mentores, colaboradores e estudantes
para ensinar os computadores a ver.
A nossa área de investigação chama-se
visão computacional e aprendizagem automática.
Faz parte do campo mais geral da inteligência artificial.
Em ultima análise, queremos ensinar as máquinas a ver, tal como nós vemos:
nomear objetos, identificar pessoas, inferir a geometria 3D das coisas,
entender relações, emoções, ações e intenções.
Todos imaginamos e criamos histórias sobre pessoas, lugares e objetos
mal lhes deitamos a vista em cima.
O primeiro passo para este objetivo é ensinar um computador a ver objetos,
os blocos de construção do mundo visual.
Na sua forma mais simples, imaginem este processo de ensinar os computadores
como o ato de lhes mostrar imagens de um dado objeto
para treino, por exemplo gatos,
e conceber um modelo que aprende a partir dessas imagens para treino.
Quão difícil será fazer isto?
Afinal de contas, um gato não é mais que um conjunto de formas e cores,
e foi o que fizemos nos primeiros tempos da modelação de objetos.
Dizíamos ao algoritmo do computador, em linguagem matemática,
que um gato tem uma face redonda, um corpo volumoso,
duas orelhas pontiagudas, uma cauda comprida,
e esse modelo parecia bem assim.
Mas o que acontece com este gato?
(Risos)
Está todo enrolado.
Agora vamos ter de adicionar outra forma e perspetiva ao modelo.
E se os gatos estiverem escondidos?
E quanto a estes gatos patetas?
Agora compreendem o meu problema.
Até mesmo algo tão simples quanto um animal doméstico
pode ter um número infinito de variações relativamente ao modelo
e estamos a falar de um único objeto.
Então, há cerca de oito anos,
uma observação muito simples e profunda mudou a minha forma de pensar.
Ninguém diz a uma criança como se vê,
especialmente nos primeiros anos de vida.
As crianças aprendem isso através de experiências e exemplos da vida real.
Se considerarmos os olhos de uma criança
como duas máquinas fotográficas biológicas,
elas tiram uma fotografia a cada 200 millisegundos aproximadamente,
o tempo médio que demora um movimento ocular.
Assim, aos três anos, uma criança terá visto centenas de milhões de imagens
do mundo real.
São imensos exemplos para treino.
Deste modo, em vez de me focar apenas em algoritmos cada vez melhores,
a minha ideia foi treinar os algoritmos com o mesmo tipo de dados
que uma criança recebe através das suas experiências,
tanto em quantidade como qualidade.
Depois de percebermos isto,
sabíamos que teríamos de reunir um conjunto de dados
com muito mais imagens do que alguma vez tínhamos tido,
talvez mesmo milhares de vezes mais.
Juntamente com o Professor Kai Li na Universidade de Princeton,
iniciámos o projeto ImageNet, em 2007.
Felizmente, não precisámos de montar uma câmara na cabeça
e esperar vários anos.
Recorremos à Internet,
o maior tesouro de imagens que o Homem alguma vez criou.
Descarregámos cerca de mil milhões de imagens
e utilizámos tecnologias de contribuição voluntária,
como a plataforma Amazon Mechanical Turk,
para nos ajudar a rotular essas imagens.
No seu auge, o ImageNet era um dos maiores empregadores
da Amazon Mechanical Turk.
No total, quase 50 mil trabalhadores
de 167 países de todo o mundo
ajudaram-nos a limpar, ordenar e rotular
cerca de mil milhões de imagens candidatas.
Foi quanto custou captar
uma fração de todas as imagens
que uma criança vê nos seus primeiros anos de desenvolvimento.
Em retrospetiva, esta ideia de usar grandes volumes de dados
para treinar algoritmos em computadores pode hoje parecer óbvia,
mas em 2007 não era assim tão óbvia.
Estivemos sozinhos neste percurso durante algum tempo.
Alguns colegas amáveis aconselharam-me a fazer algo mais útil no meu mandato,
e estávamos constantemente a lutar por financiamento para a investigação.
Uma vez até disse, a brincar, aos meus alunos
que ia reabrir a minha loja de limpeza a seco,
para financiar o ImageNet.
Afinal de contas, foi assim que eu financiei
os meus estudos na universidade.
E assim continuámos o trabalho.
Em 2009, o ImageNet disponibilizou
uma base de dado com 15 milhões de imagens
ao longo de 22 mil classes de objetos e coisas,
organizados por palavras inglesas de uso comum.
Tanto em quantidade como em qualidade,
tratou-se de uma escala sem precedentes.
Como exemplo disto temos, no caso dos gatos,
mais de 62 mil gatos
de todos os tipos e em variadas poses,
assim como todas as espécies de gatos domésticos e selvagens.
Estávamos muito entusiasmados por termos construído o ImageNet
e queríamos que toda a pesquisa mundial pudesse beneficiar dele,
por isso, à boa maneira do TED, disponibilizámos toda a base de dados
para a comunidade de pesquisa mundial, gratuitamente.
(Aplausos)
Agora que já temos os dados para alimentar o cérebro do nosso computador,
estamos prontos para voltar a trabalhar nos algoritmos.
Como se veio a perceber, a riqueza de informações fornecidas pelo ImageNet
era perfeita para uma classe particular de algoritmos de aprendizagem automática
designada por "rede neural convoluta",
lançada por Kunihiko Fukushima, Geoff Hinton e Yann LeCun,
nos anos 70 e 80.
À semelhança do cérebro,
formado por milhares de milhões de neurónios altamente ligados,
uma operação unitária básica numa rede neural
é idêntica a um nodo de neurónios.
Esse nodo recebe e envia informações
de outros nodos e para outros nodos.
Além disso, essas centenas de milhares ou mesmo milhões de nodos
estão organizados em camadas hierárquicas,
à semelhança do que se passa no cérebro.
Numa rede neural típica que usamos,
para treinar o modelo de reconhecimento de objetos
existem 24 milhões de nodos,
140 milhões de parâmetros
e 15 mil milhões de ligações.
É um modelo enorme.
Abastecido pelos imensos dados do ImageNet
dos CPUs e GPUs modernos para treinar um modelo tão pesado quanto este,
a rede neural convoluta
floresceu de um modo que ninguém esperava.
Tornou-se na arquitetura vencedora
para a geração de resultados sensacionais no reconhecimento de objetos.
Aqui temos um computador a dizer-nos
que esta imagem tem um gato
e a localização do gato na imagem.
É claro que há mais coisas além de gatos,
e assim temos aqui um algoritmo de computador a dizer-nos
que a imagem contém um rapaz e um ursinho de peluche,
um cão, uma pessoa e um pequeno papagaio ao fundo,
ou uma imagem com muitos elementos,
tais como um homem, um "skate", grades, um poste de iluminação, etc.
Por vezes, quando o computador não está seguro do que vê,
ensinámo-lo a ser suficientemente inteligente
para nos dar uma resposta segura em vez de se comprometer demasiado,
tal como nós faríamos.
Mas outras vezes o nosso algoritmo é brilhante a dizer exatamente
quais são os objetos na imagem,
como a marca, o modelo e o ano de fabrico dos carros.
Aplicámos este algoritmo a milhões de imagens do Google Street View
a centenas de cidades norte-americanas
e aprendemos algo muito interessante:
primeiro, confirmou a sabedoria comum
que diz que os preços dos carros estão fortemente correlacionados
com os rendimentos familiares.
Mas, surpreendentemente, os preços dos carros também estão correlacionados
com as taxas de criminalidade em cidades,
ou padrões de votação por código postal.
Mas esperem. É mesmo assim?
O computador já conseguiu mesmo igualar ou até ultrapassar as capacidades humanas?
Vamos com calma.
Até agora, apenas ensinámos o computador a ver objetos.
Isto é o equivalente a uma criança que aprende a pronunciar alguns nomes.
É um feito incrível,
mas é apenas o primeiro passo.
As crianças atingem rapidamente um novo marco no seu desenvolvimento,
começando a comunicar com frases.
Ou seja, em vez de dizer que há um gato na imagem,
já ouvimos a menina dizer-nos que é um gato deitado numa cama.
Para ensinar um computador a gerar frases a partir de uma imagem,
é agora preciso que o casamento
entre o volume de dados e a aprendizagem automática
dê mais um passo.
Agora, o computador terá que aprender, não só a partir de imagens,
como também frases naturais da linguagem
geradas pelos seres humanos.
Tal como o cérebro integra a visão e a linguagem,
nós desenvolvemos um modelo que relaciona partes de coisas visuais,
tais como fragmentos visuais,
com palavras e expressões em frases.
Há cerca de 4 meses,
conseguimos finalmente conjugar tudo isto
e produzir um dos primeiros modelos de visão computacional
capaz de gerar uma frase semelhante à gerada por um ser humano,
quando vê uma imagem pela primeira vez.
Agora, estou pronta para vos mostrar o que o computador diz
quando vê a imagem
que a menina viu no início desta palestra.
(Vídeo) Computador: Um homem está ao pé de um elefante.
Um avião de grande porte poisado na pista de um aeroporto.
FFL: Claro que ainda estamos a trabalhar arduamente para melhorar os algoritmos,
e o computador ainda tem muito que aprender.
(Aplausos)
O computador ainda faz erros.
(Vídeo) Computador: Um gato deitado numa cama num cobertor.
FFL: Claro que, depois de ver muitos gatos,
ele pensa que tudo é um gato.
(Video) Computador: Um menino segura um taco de basebol.
(Risos)
FFL: Ou, se o computador nunca viu uma escova de dentes,
confunde-a com um taco de basebol.
(Vídeo) Computador: Um homem a cavalo desce uma rua ao pé de um edifício.
(Risos)
FFL: Não ensinámos aos computadores a disciplina de Introdução à Arte.
(Vídeo) Computador: Uma zebra num relvado.
FFL: Também não aprenderam ainda a apreciar o esplendor da natureza,
como vocês e eu fazemos.
Portanto, tem sido um longo percurso.
Ir dos zero aos três anos foi difícil.
O verdadeiro desafio será ir dos três anos aos treze e para além disso.
Vou mostrar-vos novamente esta imagem do rapaz e do bolo.
Até agora, ensinámos o computador a ver objetos
ou mesmo a contar-nos uma pequena história quando vê uma imagem.
(Vídeo) Computador: Uma pessoa sentada à mesa com um bolo.
FFL: Mas há muito mais nesta imagem
do que somente uma pessoa e um bolo.
O que o computador não consegue ver é que se trata de um bolo italiano especial
que só se serve durante a Páscoa.
O rapaz está a usar a sua T-shirt preferida
que o pai lhe ofereceu após uma viagem a Sydney.
Tanto eu como vocês conseguimos ver como o rapaz está feliz
e o que se passa exatamente na sua mente nesse momento.
Este é o meu filho Leo.
Na minha busca pela inteligência visual,
penso frequentemente no Leo
e no mundo em que ele viverá no futuro.
Quando as máquinas conseguirem ver,
médicos e enfermeiros irão ter um par adicional de olhos incansáveis
para os ajudar a diagnosticar e cuidar dos seus doentes.
Os automóveis irão andar na estrada de modo mais inteligente e seguro.
Os robôs, não apenas os seres humanos,
irão ajudar-nos a enfrentar
zonas de catástrofe, salvando feridos e encarcerados.
Iremos descobrir novas espécies, melhores materiais,
e explorar limites nunca antes vistos com a ajuda de máquinas.
Pouco a pouco, estamos a dar às máquinas a capacidade de ver.
Primeiro, ensinamo-las a ver.
Depois, elas ajudam-nos a ver melhor.
Pela primeira vez, os olhos humanos não estarão sozinhos
na exploração e compreensão do nosso mundo.
Iremos usar máquinas não somente pela sua inteligência,
mas também para colaborar com elas
de formas que ainda não conseguimos imaginar.
Esta é a minha missão:
dar inteligência visual aos computadores
e criar um futuro melhor para o Leo e para o mundo.
Obrigada.
(Aplausos)