segunda-feira, 4 de maio de 2015

Inteligência artificial

No primeiro post, "O que é data mining" vimos que data mining é um processo composto por diversas etapas (onde uma destas é aplicar algoritmos complexos em massas de dados) cuja matéria prima são dados e cujo propósito é criar algum tipo de inteligência que vá interagir com estes dados.


Quando falamos de inteligência, estamos dizendo que o "sujeito" deve ter condições de aprender, ou seja, passar por uma determinada experiência e ser capaz de em próximas situações similares, generalizar as mesmas conclusões (decisões) sobre o desfecho da situação. Se "isso" ocorre com A, e B é bastante parecido com B, logo isso deve ocorrer com B com certa probabilidade razoável.

Dito isso, vamos considerar: o processo de criação de inteligência pode ser feito de diversas formas.

A forma mais elementar e clássica é a estatística. A estatística se preocupa em "medir para poder estimar", sendo uma ferramenta que mede a realidade para perceber nesta padrões e significância, uma vez que aprender (que é o que buscamos) depende justamente de como percebemos  os padrões de comportamento da realidade (quando esses existem). Diversos algoritmos estatísticos são aplicados para resolver problemas de inúmeras áreas do conhecimento a cada ano. Exemplos seriam: regressão logística para diagnosticar doenças ou séries temporais para prever vendas de uma marca etc. Modelos estatísticos estão ligados a testes de hipóteses. Testes de hipóteses tratam de situações do tipo: eu moro num bairro X e saio de casa apenas para comprar pão uma vez por dia às 6 da tarde, e eu tenho a impressão de que vejo mais pessoas de roupa social do que pessoas com roupa esporte...mas será que essa maioria que percebo de fato reflete a realidade? ou será que eu apenas tenho essa percepção porque eu saio de casa em horários de hush onde as pessoas estão voltando do trabalho?  Para evitar este tipo de viés, é importante medir aleatoriamente  parte (ou todos) dos casos, para poder concluir se esta "impressão" tem de fato algum significado.
Porém há outras formas de fazer inteligência. Há muitos algoritmos de aprendizado de máquina que revolvem os mesmos problemas que citamos acima resolvidos pela estatística. Os algoritmos de aprendizado de máquina tentam aplicar algum conjunto de regras que em geral se apoiam em conceitos matemáticos para aprender determinada coisa, seja esta descobrir um padrão, fazer uma previsão, tomar uma decisão etc.

Tudo o que faz o "indivíduo pensante" interagir com algum meio, e com ele perceber algo, é uma forma de inteligência, e isso se parece muito com o processo que faz de nós também algoritmos ambulantes. Embora sejamos como humanidade, o que há de melhor no "mercado de redes neurais", nosso cérebro  enfrenta alguns problemas. As vezes tenta ser tão "espertinho" que na busca por novos padrões, ou na tentativa de economizar energia ele "deduz algumas coisas antes de analisar", como um auto complete que às eventualmente escreve coisas absurdas. O cérebro também quer economizar recursos e pegar atalhos, e no final das contas, ficamos sujeitos a muita subjetividade. Porém, quando aplicamos os mesmos conceitos num ambiente onde o erro é medido e controlado, resolvemos problemas que humanos não conseguem em geral com tanta assertividade. E isso tende a se estender para todos os tipos de conteúdos a serem processados, ou seja, todos os tipos de interações existentes atualmente. O que se faz com IA hoje ainda engatinha, mas não há porque pensar que existe qualquer tipo de "limite" pra isso, uma vez que o conceito de aprender em si está provado artificialmente. Por que seria possível aprender alguns padrões e outros não? Se é possível hoje, muito facilmente, um algoritmo aprender a identificar a emoção contida numa expressão facial, por que seria absurdo pensar que este mesmo algoritmo incrementadíssimo pudesse aprender o "inteligência" do processo neural que é o amor? Essa ilusão de que há "um QUE de especial na humanidade" só tende a cair cada vez mais por terra, a cada pesquisa que é publicada na comunidade de IA e áreas correlatas. Até que se prove o contrário,  tudo que pensamos, lembramos e sentimos se resume a um conjunto complexo de conexões neurais, elementos químicos sendo estimulados por impulsos elétricos.

Opiniões à parte, a comunidade acadêmica têm feito sua cria à sua imagem e semelhança (pois nada faria mais sentido que isso a princípio!). Um dos modelos mais famosos de inteligência artificial são as Redes Neurais Artificiais (sobre as quais falamos em um post anterior). E estas, nada mais são do que um modelo matemático bastante simplificado referente ao que se conhece atualmente sobre a dinâmica de funcionamento do cérebro. Basicamente tenta-se simular o processo das sinapses, representando os neurônios e suas conexões como um grafo orientado onde os vértices são os neurônios e as arestas são as ligações entre eles, que permitem a sinapse cuja força se define pelo peso da aresta. Modelos de redes neurais são incríveis, pois são capazes de prever tanto variareis quantitativas quanto qualitativas, e ainda ter N saídas  (N decisões a tomar) sendo analisadas simultaneamente.

Há ainda outras formas de inspiração que vem sendo aplicadas, como  a bio inspiração, onde baseado em comportamentos da natureza, podemos abstrair um processo inteligente. Exemplos: o organização das formigas, dos pássaros, e até fungos!
Dentre os algoritmos bio inspirados estão os Algoritmos Genéticos, que se baseiam nas observações evolucionistas de Darwin, onde soluções (indivíduos compostos por um conjunto de valores numéricos que representam genes de um DNA) "lutam" pra sobreviver, onde a medida de sucesso é realizar uma determinada tarefa, como prever por exemplo, onde essa tarefa é decidida por esse conjunto de valores (DNA).
Desta forma, diversos artigos mostram empiricamente que a teoria da evolução de sustenta, em termos de método pelo menos. Ou seja, é possível do aleatório convergir para o sucesso, seja lá o que o sucesso for, somente pela seleção natural (ou artificial =D). O que importa é haver um ambiente de competição, onde há morte e reprodução. Onde houver morte e reprodução... comprtição haverá inteligência, mesmo que esta seja uma inteligência "codificada na  composição" do indivíduo.

Ironias à parte, é importante termos em mente que não importa se estamos usando estatística, aprendizado de máquina ou qualquer coisa, o que importa é que data mining usa diversas ferramentas com o objetivo de criar algum tipo de inteligência (artificial) a partir dos dados, para interagir com estes de alguma forma que faça sentido, obtendo assim algum conhecimento.



Abraços miningnoobs!








Nenhum comentário:

Postar um comentário