Inteligência Artificial

{accordion_group} {title} Inteligência Artificial {/title} {accordion} {head} Descrição Geral {/head} {content}

Artificial Intelligence

“The rise of powerful AI will be either the best, or the worst thing, ever to happen to humanity.” — Stephen Hawking

Máquinas inteligentes. Nós as usamos e vemos todos os dias, mas não nos apercebemos o quão futuristas são (como em filmes sci-fi). Claro que não temos robôs a realizar tarefas diárias como no Eu, Robô nem o Will Smith a salvar o mundo (ainda), mas a tecnologia que temos hoje em dia é muito impressionante.

Falar com a Alexa, pedir-lhe que toque a nossa canção favorita, estas são coisas que parecem normais hoje em dia mas há alguns anos pareciam impossíveis. Já que falamos nela, A Alexa é praticamente uma personificação daquilo que entendemos por inteligência artificial. A Alexa consegue realizar funções cognitivas tal como os humanos, como perceber, aprender, raciocinar e resolver problemas. Ou nunca lhe contou uma piada? Ou perguntou qual o sentido da vida?

É esse o objetivo da inteligência artificial: simplificar o esforço humano, ajudar a tomar melhores decisões, e melhorar a maneira como resolvemos problemas. Pode ajudá-lo a completar uma tarefa entediante e repetitiva. Também pode ajudar os cientistas a lidar com informação complexa que é impossível de ser tratada por um ser humano ou que demoraria muito tempo para o fazer.

A inteligência artificial está presente em quase todas as indústrias e áreas hoje em dia. Da mobilidade à saúde, da educação ao retalho, o uso de IA aumentou imenso. De acordo com McKinsey, a IA pode automatizar tarefas de previsão, e coletar/processar dados. Nos Estados Unidos, estas atividades representam 51% de todas as atividades na economia, chegando a 2.7 biliões de dólares em salários.

automation potention
Potencial de automatização de acordo com o McKinsey Global institute (https://www.mckinsey.com)

À medida que os processos são transformados pela automatização de atividades individuais, as pessoas vão começar a realizar atividades que complementam o trabalho que as máquinas fazem, e vice versa.

Se estamos a viver no futuro agora, o que ainda nos espera no futuro? Talvez estejamos mais próximos do Eu, Robô e do Ex Machina do que pensamos.

{/content} {/accordion} {/accordion_group}

{accordion_group} {title} Visão Computacional {/title} {accordion} {head}Tarefas Comuns{/head} {content}

Deteção e Classificação de Objetos

A visão computacional funciona em três passos básicos: adquirir uma imagem, processá-la e entendê-la. Imagens, até em grupos grandes, podem ser entendidas em tempo real através de vídeos, fotos e tecnologia 3D para análise. Depois, modelos de aprendizagem profunda automatizam, mas os modelos são muitas vezes treinados ao primeiramente serem inundados com milhares de imagens pré-identificadas. O último passo é o interpretativo, em que um objeto é identificado ou classificado.

Deteção Facial

O seu objetivo é encontrar caras em fotos, reconhecê-las quase instantaneamente e depois realizar a ação que lhe é pedida, como por exemplo permitir acesso a um utilizador aprovado. Começa por aprender um grupo de características simples de cada face, que em conjunto tornam a classificação mais fácil. Depois, os modelos são organizados numa hierarquia de crescente complexidade.

Reconhecimento Facial

Existem duas abordagens de reconhecimento facial que permitem a sua utilização: métodos beaseados em características que utilizam filtros pré-definidos para encontrar e detetar caras, e métodos baseados em imagens que aprendem holisticamente como extrair caras de uma imagem inteira.

Deteção de Movimento

Para ser realizado, segue alguns passos: O primeiro é a segmentação do vídeo em frames, duas imagens (A & B) que são tiradas de seguida e convertidas em nível de cinza. Os próximos passos são a identificação de diferenças entre estas imagens em nível de cinza e, se for detetada uma diferença significativa entre estas imagens A & B, pode-se concluir que ocorreu algum movimento.

{/content} {/accordion}

{accordion} {head} Alguns Conceitos {/head} {content}

Rede Neural Convolucional

A rede neural convolucional é uma das principais componentes das aplicações de visão computacional. Ela é excelente na captura de padrões em espaços multidimensionais. Qualquer rede neural convolucional é composta por uma ou mais camadas convolucionais, que contêm vários filtros. Cada filtro tem valores diferentes e extrai características diferentes da imagem carregada. Ao entrar mais profundamente na rede, as camadas detetam objetos mais complexos como carros, árvores ou pessoas.

Aprendizagem Profunda

A aprendizagem profunda é um subconjunto de machine learning baseado em redes neurais artificiais. O processo de aprendizagem é profundo porque a estrutura de redes neurais artificiais consiste em consiste em múltiplas camadas de entrada, saída e camadas ocultas. Cada camada contém unidades que transformam dados de entrada em informação que a seguinte camada pode usar para uma tarefa de previsão. Graças a esta estrutura, uma máquina pode aprender através do seu processamento de dados.

Kernel

Baseado no conceito fundamental da definição de similaridades entre objetos, o método Kernel permite a previsão de propriedades de novos objetos baseado em propriedades de objetos já conhecidos ou na identificação de subespaços ou subgrupos comuns em coletas de dados que de outra forma seriam pouco estruturadas.

Pooling

A maior parte das redes neurais convolucionais utiliza camadas de pooling para manter as partes mais importantes e reduzir gradualmente o tamanho dos dados. Para além disso, as camadas de pooling permitem às redes neurais convolucionais generalizar as suas capacidades e ser menos sensíveis ao deslocamento de objetos em imagens.

Padding

O Padding extende a área em que uma rede neural convolucional processa uma imagem. Adicionar padding a uma imagem processada por uma rede neural convolucional permite uma análise mais precisa das imagens.

{/content} {/accordion} {/accordion_group}

{accordion_group} {title} Processamento de Linguagem Natural {/title} {accordion} {head}Tarefas Comuns{/head} {content}

Reconhecimento de Fala

A Siri da Apple, a Alexa da Amazon e chatbots são exemplos reais de este tipo de aplicação. Elas utilizam reconhecimento de fala ou de texto para reconhecer padrões em comandos de voz e linguagem natural para responder de forma apropriada com comentários úteis.

Análise de Sentimentos

Em negócios, a análise de sentimentos revela insights de dados ocultos provenientes de canais de social media. A análise de sentimentos identifica emoções em textos e classifica opiniões como positivas, negativas ou neutras acerca de produtos, promoções e informação sobre eventos. Por exemplo, poderia analisar em tempo real tweets que mencionam a sua marca e detetar de forma imediata comentários de consumidores zangados.

Deteção de Língua

Consegue detetar a língua, o que é uma solução para muitas aplicações IA e linguistas computacionais. É muito usada em dispositivos electrónicos como telemóveis, computadores, e também em robôs. Para além disso, a deteção de língua ajuda a identificar documentos com várias línguas.

Transcrição (speech-to-text)

O objetivo deste sistema é extrair, caracterizar e reconhecer informação sobre a fala. Também conhecido como STT, recebe os dados de áudio and e depois tenta identificar padrões e chegar a uma conclusão em texto. Um dos aspectos positivos seria as taxas de precisão superiores a 96% e consultas de pesquisa típicas com uma latência de apenas 50 milissegundos.

Tradução

Quando traduz uma frase no Google Translate, está a usar o processamento de linguagem natural. A tradução entre línguas é mais complexa do que uma simples tradução literal palavra a palavra. Ela requere gramática e contexto para que se possa entender perfeitamente uma frase. O processamento de linguagem natural aborda isso ao processar o texto na sequência de entrada e mapeá-lo com a linguagem para traduzi-lo instantaneamente.

Síntese de Fala (Text-to-Speech)

O sistema Text To Speech (TTS) tem como objetivo converter a linguagem natural em fala. Tem tido um grande desenvolvimento nos últimos anos. O Google Assistant e a Cortana da Microsoft são dispositivos smart que exemplificam uma forma de TTS. Outra forma de TTS é a automatização de conteúdo áudio em notícias.

Classificação de Texto

Um outro exemplo seria a classificação de texto, que ajuda a organizar texto não estruturado em categorias e automatiza o processo de etiquetagem de solicitações de suporte recebidos e roteamento automático para a pessoa certa. Para empresas, é uma ótima maneira de obter insights em relação ao feedback dos clientes.

{/content} {/accordion}

{accordion} {head}Alguns Conceitos {/head} {content}

Ambiguidade

Ambiguidade, por definição, é texto que pode ter múltiplas interpretações alternativas. Em sistemas IA, existem diferentes formas relevantes de fazer processamento de linguagem natural, como lexical, sintática e semântica. to NLP such as Lexical, Syntactic and Semantic. Metonímia e metáfora são outros exemplos. Ao processo de lidar com a ambiguidade dá-se o nome de desambiguação.

Sinonímia

Pode-se resolver como um problema em dois passos: geração de candidatos e deteção de sinónimos. No primeiro, dado uma palavra, serão gerados todos os possíveis candidatos que poderiam ser sinónimos para a palavra. O segundo passo pode ser resolvido como um problema clássico de aprendizagem supervisionada.

Tokenização

É uma tarefa comum no processamento de linguagem natural. É o processo em que se parte um texto em pequenas unidades chamadas tokens. Um token pode ser uma palavra, parte de uma palavra ou apenas caracteres como acontece com a pontuação. Por isso, a tokenização pode ser classificada em 3 tipos – palavra, caracter, e subpalavra (caracteres n-grama).

Bag of words

Uma bag of words (saco de palavras), é a forma mais simples de representação textual em números. Chama-se assim porque qualquer informação sobre a ordem ou estrutura das palavras no documento é descartada. Este modelo só se preocupa em ver se palavras conhecidas estão no documento, e não em ver onde estão.

Embedding

As abordagens de machine learning para o processamento de linguagem natural exigem que as palavras sejam expressas na forma de vetores, frequentemente com dezenas ou centenas de dimensões. Isto contrasta com as milhares ou milhões de dimensões necessárias para representações de palavras dispersas. Em muitos casos, a representação vetorial de entidades complexas além das palavras é necessária para determinadas tarefas, como vetores para Frase, Parágrafo e Documentos.

{/content} {/accordion} {/accordion_group}