Guilherme Friol e Fabiano J.Morita Nishio – Dez, 2017
Neste momento da Humanidade em que tudo acontece e evolui a velocidades inimagináveis, a Inteligência Artificial deixou de ser uma promessa e já nos cerca de formas que até mesmo os especialistas da área se surpreendem.
Não é preciso ser um profissional de tecnologia para conviver com o termo. O assunto é tópico em todos os meios de comunicação com as mais variadas abordagens, desde matérias polêmicas, geralmente rasas e cheias de suposições, até demonstrações encantadoras dos resultados alcançados por competentes pesquisadores espalhados pelo mundo.
O fato é que estamos expostos à Inteligência Artificial há algum tempo e, no geral, somos bastante ajudados pelos algoritmos: seja para escolher a próxima série ou filme, para fazer a próxima compra online, no caminho a ser percorrido com ajuda de seu app de navegação preferido ou simplesmente fazendo uma pergunta para a Siri, Cortana ou Google Assistant – apenas para citar alguns exemplos.
Mas o propósito deste artigo não é fazer mais uma demonstração dos avanços da Inteligência Artificial, nem entrar nas polêmicas sobre os impactos da tecnologia. Se seu interesse o fez chegar até aqui, é porque você busca referências sobre a disciplina e, neste caso, o que é e como funciona o Deep Learning.
A Anatomia da Inteligência Artificial (ref: Terence Lee – Techinasia)
Um sistema AI (Artificial Intelligence) é, basicamente, composto por 5 áreas:
1. Percepção: Assim como nós, o computador precisa de inputs para perceber o mundo. Nós temos os 5 sentidos, o computador utiliza sensores (ex.: câmeras e microfones) e bancos de dados para ter referências do ambiente
2. Processamento de Linguagem Natural: Além dos sentidos, o computador precisa ter a capacidade de interpretar comandos sejam falados ou escritos.
3. Representação do conhecimento: Uma vez que o computador tem os inputs, é necessário que ele tenha um meio de traduzir a informação para o código a ser processado.
4. Lógica: Com dados coletados e conceitos definidos, o sistema pode usar as informações para resolver problemas logicamente. Um exemplo bem difundido é o jogo de Xadrez no qual o computador monitora os movimentos no tabuleiro e retorna com uma jogada adequada.
5. Planejamento e Navegação: Para ser realmente similar à inteligência humana, a inteligência artificial não deve apenas emular o raciocínio humano, mas navegar o mundo tridimensional e existir entre nós, como os veículos autônomos que nos servirão em um futuro breve mas devem ser exaustivamente testados e aprimorados, já que uma falha pode custar vidas.
A estes conceitos, primeiramente descritos em 1956 nas Conferências de Darthmouth, soma-se o contexto atual e a convergência de alguns fatores que provocaram ou viabilizaram esse crescimento exponencial da Inteligência Artificial:
· Lei de Moore – o poder de processamento dos chips chegou a um nível que proporcionou viabilidade técnica e econômica.
· Big Data – o volume de informações disponíveis e capturáveis há muito superou a capacidade humana de retenção e análise, tornando essencial ter um sistema que processe e encontre padrões que ajudem a tomada de decisão.
· Investimento das grandes corporações – Estes fatores somados não só despertaram o interesse dos grandes investidores, como possibilitaram novos modelos de negócio, produtos e empregos que até então eram impensáveis.
O que é DEEP LEARNING?
Um dos assuntos mais comentados no campo da Inteligência Artificial, principalmente por conta dos significativos avanços demonstrados nos últimos anos (talvez meses seja um período de tempo mais adequado para referenciar a curva de evolução) o Deep Learning é uma classe de algoritmos de aprendizagem não supervisionados que utiliza redes neurais de múltiplas camadas para alcançar os surpreendentes resultados que testemunhamos.
Um dos exemplos mais utilizados e altamente disponível para ilustrar o conceito é o reconhecimento de imagens, parte do conceito de Machine Vision. Neste tipo de aplicação, através do agrupamento de pixels e inputs massivos de imagens de referência, o sistema é capaz de reconhecer padrões e, então, distinguir objetos, como um ser humano de um animal, então reconhecer que o animal é um cachorro e, quanto mais informações recebe, pode até reconhecer a raça do cachorro em questão.
Este tipo de aplicação é de altíssima utilidade, por exemplo, no controle de qualidade em uma linha de produção, no monitoramento de áreas cuja segurança é crítica ou simplesmente ajudá-lo a encontrar um arquivo de imagem adequado no Google Images.
O que compõe um sistema DEEP LEARNING?
Para trabalhar com Deep Learning é necessário um computador com alto poder de processamento, uma forma de input de dados, uma base de dados, conhecimento em programação (Python, Cuda ou C++), conhecimentos em cálculo, álgebra, estatística, ciência da computação, economia e neurociência ou, ao menos, um software especificamente projetado para o tipo de pesquisa a ser desenvolvida (o que não te livra do pré-requisito de ter familiaridade com as disciplinas citadas).
Vamos por partes:
· Poder computacional: tudo depende do volume de dados, o tipo de informação, o tempo disponível e o nível de complexidade da resposta esperada. Se você é um gamer dedicado, é muito provável que você já tenha essa máquina.
Para começar, considere ter ao menos:
o Uma GPU boa o suficiente (4 ou + GB)
o Uma CPU atual
o 4 GB de RAM
Para demandas corporativas mais elaboradas, com volumes massivos de dados, tenha ciência de que o poder computacional necessário será muito mais do que uma máquina de última geração. É possível que o projeto demande um cluster com centenas de corese transformar a sua jornada em uma empreitada de alto investimento.
Para tanto, esteja seguro de que tem o parceiro certo para orienta-lo na elaboração do projeto e evitar que você perca tempo e dinheiro.
Também existe a opção de alugar horas de processamento através de alguns fornecedores especializados.
· Linguagens de programação e Bibliotecas:
Existem diversos softwares (e bibliotecas) prontos para certos tipos de aplicação.
Basicamente, todos os softwares são baseados e uma das seguintes linguagens:
o Python
o Cuda (NVIDIA)
o C++
Consulte uma lista abrangente de softwares e as linguagens em que são baseadas aqui. (https://en.wikipedia.org/wiki/Comparison_of_deep_learning_software)
· Escolha seu caminho:
Deep Learning vem sendo aplicado nos mais diversos campos do conhecimento e, para começar, é preciso que você entenda o tipo de aplicação que quer desenvolver. Abaixo, listamos alguns exemplos:
o Machine ou Computer Vision (ex.: reconhecimento facial, processamento de imagens)
o Processamento de linguagem (ex.: Chatbots, reconhecimento de fala)
o Toxicologia e desenvolvimento de drogas para doenças ou agentes específicos
o Monitoramento da saúde (qualidade de vida através de inputs de wearable devices)
o Relacionamento com o cliente (CRM)
o Publicidade personalizada
o Análise de varejo, comportamento de compra
o Pesquisas em Geologia, Biologia, Física, Química, Meteorologia, Astronomia, Design, Sociologia, Economia…
· GO DEEP!
DEEP LEARNING ainda é um campo de conhecimento pouco explorado e aplicado.
Não se restrinja a apenas um projeto: explore os problemas, adquira habilidades, aplique e teste seu conhecimento, ponha suas ideias em prática, construa coisas novas, participe dos fóruns e comunidades e siga os pesquisadores mais proeminentes.
Este artigo é apenas uma introdução ao assunto. Existem muitas informações disponíveis e amplamente difundidas, as quais você encontrará navegando na web.
Em breve divulgaremos novos conteúdos relacionados, bem como ilustraremos melhor alguns exemplos de aplicações de Inteligência Artificial no Brasil e no mundo, inclusive os projetos que pudemos ter o prazer de participar.
Siga-nos e compartilhe.