Buscar

APS Fundamentos da computação

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Faculdades Metropolitanas Unidas
FMU
Matheus Enrique Castro Silva
Caio Marques de Souza
Victor Alfano de Souza Castro
Victor Akira Sakamoto
Samuel Simão de Souza
Atividade Prática Supervisionada
São Paulo
2019
Matheus Enrique Castro Silva
Caio Marques de Souza
Victor Alfano de Souza Castro
Victor Akira Sakamoto
Samuel Simão de Souza
Atividade Prática Supervisionada
Trabalho realizado para a disciplina de Fundamentos da Computação no curso de Ciências da Computação como requisitos para obtenção de nota. 
 
 Orientadora: Milkes Yone
São Paulo
2019
“Quando tudo parecer dar errado em sua vida, 
lembre-se que o avião decola contra o vento, 
e não a favor dele.”
(Henry Ford)
Resumo
A computação cognitiva é uma área da tecnologia que vem sendo explorada em diversos ramos do mercado. As técnicas que a compõe, viabilizam que sistemas informatizados aprendam utilizando linguagem natural, gerando hipóteses contextualizadas baseadas em evidências. Diferentemente da computação convencional, que segue instruções e regras pré-estabelecidas, a computação cognitiva analisa situações dinâmicas e dados mutáveis, sendo capazes de raciocinar e inferir soluções. Os sistemas cognitivos, capazes de analisar grandes quantidades de dados e informações, interagem naturalmente com as pessoas, ampliando o que os seres humanos ou máquinas podem fazer sozinhos, formando uma espécie de inteligência integrada. Como consequência ajudam especialistas a tomarem decisões mais acuradas, analisam e desenvolvem novas possibilidades aos problemas até então insolúveis e, futuramente, serão capazes de decidir sem intervenção humana. Este artigo tem por objetivo expor a situação atual das pesquisas, estudos e desenvolvimento da computação cognitiva. Apesar de incipiente, o assunto é bastante promissor uma vez que o processo de obtenção de inteligência por humanos é exponencialmente mais rápido e mais aprofundado, com o auxílio da tecnologia. Para realizar esse estudo foi utilizado o método de revisão bibliográfica e servirá de referência para futuras pesquisas de campo. O resultado obtido foi a precipitação do processo de aquisição de conhecimento com o uso da tecnologia cognitiva, possibilitando a tomada de decisões em um menor intervalo de tempo e com maior acurácia. 
Palavras-chave: Computação Cognitiva, Sistemas Cognitivos, Computação.
Sumário
Introdução	5
Definição de cognição	6
Computação Cognitiva	6
Definição de sistemas cognitivos computacionais	7
Tato:	8
Visão:	8
Som:	9
Olfato:	9
Paladar:	9
Sistemas Cognitivos Computacionais	10
– Engajamento:	10
– Decisão:	10
– Descoberta	10
Desenvolvimento e aplicação da tecnologia cognitiva	12
– Adaptável	13
– Interativo	13
– Iterativo e com estado	13
– Contextual	13
Os benefícios da computação cognitiva	14
O futuro com a computação cognitiva	15
UCB-bot: um exemplo de aplicação de computação cognitiva	16
A capacidade da computação cognitiva	19
Desenvolvimento do mercado de soluções cognitivas e de IA	19
O que é IA ou Inteligência Artificial	20
Inteligência Artificial Limita (ANI)	21
– Máquinas Reativas:	22
– Memória Limitada:	22
Inteligência Artificial Geral (AGI)	23
– Máquinas Cientes:	23
– Máquinas Autoconscientes:	24
Superinteligência (ASI)	25
As aplicações da computação cognitiva	26
Inteligência Artificial do Bradesco	28
O estado atual de AI	29
Diferença entre machine learning e inteligência artificial	29
Machine Learning	30
Como funciona?	30
Aprendizagem Supervisionada	30
Aprendizagem Não-supervisionada	30
Aprendizagem Semi-supervisionada	31
Aprendizagem por Reforço	31
Mas a máquina consegue aprender?	31
Algoritmos de Aprendizagem de Máquina Comumente Utilizados	32
Regressão e Classificação Linear	32
Regressão Logistica	33
Árvores de Decisão	33
K-médias	34
Principal component analysis (PCA)	34
Qual a importância do machine learning?	35
Como o Machine Learning pode ser utilizado na vida real?	36
Machine learning e Big Data	37
O que é Big Data	37
Big Data e machine learning em conjunto	37
Análise preditiva	37
Previsão de demanda	38
Sistemas de recomendação	38
Precificação dinâmica	39
Mas e o deep learning?	39
Deep Learning	39
Como deep learning funciona?	40
Como funciona o Deep Learning na prática?	41
Algumas aplicações	42
Visão computacional;	42
Reconhecimento da falae NLP;	42
Healthcare;	42
Sistemas de Recomendação;	42
Detecção de fraudes;	42
Análise de sentimento em vídeo;	42
Deep Learning usado para Implementar Machine Learning	43
Graças ao Deep Learning, IA tem um Futuro Brilhante	44
Qual a diferença entre Machine Learning e Deep Learning?	45
Machine Learning: Modelagem Preditiva em Ação	45
Deep Learning: Uma Mente Própria	46
Conclusão	47
Referências	50
Introdução
A ciência cognitiva baseia-se em um sofisticado sistema de informação e computação, no qual crenças, sentimentos e lembranças são armazenados em bancos de dados no cérebro, segundo padrões pré-estabelecidos de armazenamento (Maroldi, 2006). Com isso, processos de pensamento, inteligência, criatividade, emoção e julgamento poderiam ser obtidos utilizando materiais como chips de silício, por exemplo. Para isso, a disciplina emergente de computação cognitiva requer a conexão entre ciências da vida, ciências sociais, engenharia, ciências físicas e matemáticas e ciências humanas. Para sua implementação, computação cognitiva está envolvida em identificar e aplicar uma sequência lógica de transformações, segundo eventos probabilísticos, aleatórios, causais, ou outros, em um conjunto finito de dados, a informação. Entretanto, dificuldades para seu desenvolvimento estão relacionadas à construção de um modelo tão avançado e estável para combinação de dados quanto o cérebro humano (Maroldi, 2006). É importante revisar o que já existe atualmente em termos de pesquisas em computação cognitiva, pois, a partir de 2010, todos os campos do conhecimento humano passaram a sentir os efeitos do acumulo de dados e informações. Esse dilúvio de dados, denominado big data, pioneiramente apresentado por Cukier (2010), em relatório publicado no periódico britânico The Economist, cria um desafio para a comunidade empresarial e os cientistas de dados. Os desafios passam pela criação de novas tecnologias que permitam o armazenamento e processamento de grandes volumes de dados não estruturados e semiestruturados que irão subsidiar mudanças no processo de tomada de decisão. Por meio da computação cognitiva, será possível traduzir de forma confiável linguagem não estruturada para formatos de bancos de dados estruturados. Neste sentido, ela irá contribuir para suprir as lacunas presentes das limitações cognitivas humanas. Com o objetivo de identificar o estado atual de pesquisas em computação cognitiva e direções para o desenvolvimento de novos estudos no campo da administração, foram revisados os artigos, dissertações e testes e outros tipos de estudos disponíveis das bases de dados ProQuest, Scopus e Web of Science. A seguir iremos explicar os dados apresentados nessa introdução.
Definição de cognição
Cognição é a capacidade de processar informações e transformá-las em conhecimento, com base em um conjunto de habilidades mentais e/ou cerebrais como a percepção, a atenção, a associação, a imaginação, o juízo, o raciocínio e a memória. Essas informações a serem processadas estão disponíveis no meio em que vivemos.
De modo geral, podemos dizer que a cognição humana é a interpretação que o cérebro faz de todas as informações captadas pelos cinco sentidos, e a conversão dessa interpretação para a nossa forma interna de ser; Mas e a cognição das maquinas? No início da computação, os computadores eram capazes de efetuar cálculos, evoluindo para a utilização de sistemas programáveis (como conhecemos hoje) e o próximo passo será a utilização de computadores para o processamento de informações e tomadas de decisões baseadas em aprendizado de experiências anteriores, semelhante ao funcionamento do nosso cérebro. Os sistemas estão
se tornando capazes de compreender a linguagem natural dos humanos, como a voz, texto, imagem e outros dados considerados desestruturados. O surgimento do sistema cognitivo veio para marcar uma nova era na computação, porque, diferente do modelo defasado com informações pouco aproveitadas, o computador equipado por algoritmos de aprendizados resulta em uma tecnologia capaz de interpretar esses dados, gerando lógicas e intuições a partir da estruturação e cruzamento da informação.
Computação Cognitiva
O conceito é relativamente novo, mas ditará as mudanças tecnológicas em um futuro próximo. Computação cognitiva trata-se da capacidade de computadores pensarem (quase) como seres humanos.
Existe uma diferença sutil entre inteligência artificial, aprendizagem de máquina e computação cognitiva. A Inteligência Artificial (ou AI) tem o objetivo de fazer com que as máquinas executem tarefas que nós, humanos, desejamos delegar a outros, seja por complexidade, volume ou mesmo comodidade. Temos como exemplo os robôs em fábricas que executam tarefas de maneira autônoma. No caso da aprendizagem de máquina é a programação que permite às máquinas melhorarem a compreensão de dados e, em cima disso, fazer previsões com base em padrões e modelos matemáticos.
Já a computação cognitiva é uma tecnologia que ajuda os sistemas a interpretar dados. Isso porque, a partir do ano 2000, o volume de diferentes tipos de dados cresceu exponencialmente, e isso envolve áudio, imagens e outros dados estruturados e não estruturados. Essa grande massa de informação passou a ser um problema a partir do momento que se fez necessário distinguir ambiguidades, problemas mais complexos e dinâmicos. Ainda, entender relações específicas de determinadas áreas de conhecimento e aprender a resolver problemas sozinhos. 
Definição de sistemas cognitivos computacionais
Alan Turing, em sua pesquisa denominada Computing Machinery and Intelligence (1950 apud Saracevic, 1996), questiona: Podem as máquinas pensar? A evolução da ciência cognitiva e o consequente desenvolvimento da computação cognitiva tem como objetivo responder tal questionamento. Os estudos dos processos cognitivos abordam uma série de processos, entre eles entender, pensar, lembrar, tomar decisões e muitos outros. Estes podem ser interpretados de acordo com as funcionalidades, em especial do cérebro, mas também do corpo como um todo. (CARVALHO 2012).
 Foi publicado no IBM Research, um texto que descreve a colaboração entre o humano e os computadores na velocidade do pensamento. Os sistemas cognitivos não são formados unicamente, ou ao menos em sua maioria, por uma única mente humana. Estes são distribuidos entre ambientes, pessoas e artefatos. Desde modo, entendemos como um sistema cognitivo toda a integração entre o ambiente, pessoas e máquinas.
 Segundo BURIOL(2007) os modelos de sistemas cognitivos computacionais devem analisar e retornar as várias dimensões, seja elas individuais ou coletivas, e interagir com o mundo exterior.
A ideia é que nos próximos anos sejam desenvolvidas funções capazes de reproduzir os nossos sentidos e que possamos experimentá-los com realismo através da tecnologia.
Estas capacidades nos tornarão mais conscientes e produtivos, nos permitindo a enxergar através de imagens complexas, identificar melhor os sons e acompanhar informações em maior ritmo de processamento. Ajudando-nos a resolver desafios mais complexos, aumentando a nossa percepção acerca de aspectos que nos são naturalmente invisíveis e que através deste aumento possamos tomar decisões mais precisas e assertivas.
Pesquisadores de todo o mundo estão colaborando com avanços relacionados às estas técnicas que ajudarão os computadores a interpretar e entender o mundo em sua volta. Estima-se que os computadores terão percepções similares as dos nossos olhos, braços, bocas, narinas e ouvidos. Estas previsões estão relacionadas aos nossos 5 sentidos: tato, visão, som, cheiro e paladar. 
Tato:
Através de dispositivos tecnológicos sentiremos sensações similares as que sentimos ao tocar um objeto fisicamente, sentindo a sua textura, formato e outras características sensíveis ao toque.
A tecnologia aplicada neste caso é a tecnologia sensível Háptica, que é a ciência designada ao toque, dedicada a estudar e a simular a pressão, a textura, a vibração e outras sensações biológicas relacionadas com o toque.
No ramo tecnológico ela já é usada através de vibrações em aeronaves, em consoles de vídeo games, em simuladores, e recentemente nos celulares, tabletes e computadores através da resposta tátil da tela.
Com a finalidade de aumentar esta interação os cientistas estão desenvolvendo aplicativos através de infravermelho e pressão, para simular o toque.
Visão:
Os sistemas reconhecerão o conteúdo de uma imagem similar com que nós as vemos e as interpretamos. Eles as transformarão em dados significativos, viabilizando a sua interpretação através da leitura de cada pixel.
Os sistemas serão capazes de analisar cores, padrões, texturas, extraindo estas informações de registros visuais. Pesquisas apontam que será uma revolução na área da medicina, pois os sistemas serão treinados na busca de anomalias nos exames através de imagens, auxiliando os médicos a detectarem anomalias muito sutis ou quase imperceptíveis, trazendo maior velocidade e precisão nos diagnósticos.
Som:
Os sistemas detectarão os elementos do som, como suas vibrações, frequências e ondas sonoras. Estes elementos serão interpretados e medidos para detectar possíveis perigos, semelhante ao cérebro humano. Partindo destas detecções o sistema formará conclusões baseadas em conhecimentos registrados anteriormente, pois terá a capacidade de reconhecer padrões de sons.
Estes sons detectados através de sensores “escutarão” e medirão os movimentos que serão usados nos alertas de possíveis perigos, como por exemplo, na previsão de desastres naturais. Identificarão conversas analisando sua tonalidade e hesitação, podendo ser muito útil na interação com diferentes culturas, na identificação do nível de stress e até mesmo na interpretação da fala dos bebês através de sistemas mais sofisticados.
Olfato:
Com o avanço da tecnologia relacionado a sensores e os sistemas cognitivos, serão utilizados sensores que aprenderão continuamente. Adaptados a dados coletados terão a capacidade de detectar futuras doenças, analisar odores, biomarcadores e moléculas da respiração de uma pessoa podendo auxiliar no diagnóstico de pacientes.
Esta tecnologia também será usada na agricultura para analisar as condições do solo através do cheiro, identificando suas condições para o cultivo de determinados tipos de alimentos. Estes sensores medirão dados em lugares que não seríamos capazes de medi-los. Identificarão problemas como poluição ajudando os órgãos públicos a identificar problemas potenciais antes que saiam do controle.
Paladar:
Está sendo desenvolvido um sistema de computação que efetivamente experimentará sabores e será usado na criação de receitas inovadoras e mais saborosas.
Ele detalhará para os chefs de cozinha os ingredientes a nível molecular e os unirá com químicas de compostos alimentares, além disso, também fará a unificação com os sabores e cheiros que as pessoas mais preferem.
Este sistema nos ajudará a comer de uma forma mais saudável criando combinações muito saborosas que nos farão desejar os alimentos mais nutritivos. Isso será possível através de um algoritmo que examinará os elementos químicos que estas combinações possuem criando combinações muito mais saborosas ao nosso paladar. 
Auxiliará também as pessoas com restrições alimentares desenvolvendo combinações saborosas e nutritivas sem que haja os alimentos restritos na sua dieta.
Com todas estas inovações tecnológicas o desafio é tornar a tecnologia onipresente e interconectada às nossas experiências diárias, nos trazendo mais contexto e assertividade nas tomadas de decisões, nos tornando capazes de identificar problemas futuros fazendo com que a tecnologia seja disseminada em nosso dia a dia.
Sistemas
Cognitivos Computacionais
Foram identificadas três tipos de capacidades para sistemas cognitivos. Eles não são mutuamente exclusivos, mas podem tirar proveito de mais de um. As três áreas são:
– Engajamento: esses sistemas mudam fundamentalmente a forma como os seres humanos e os sistemas interagem e ampliam significativamente as capacidades dos seres humanos, aproveitando a capacidade das pessoas de fornecer assistência especializada e de entender. Esses sistemas fornecem assistência especializada, desenvolvendo insights de domínio profundo e apresentando a informação de forma oportuna, natural e utilizável. Aqui, os sistemas cognitivos desempenham o papel de assistente, embora um que seja incansável, possam consumir grandes quantidades de informações estruturadas e desestruturadas, pode conciliar dados ambíguos e até mesmo contraditórios, e pode aprender.
– Decisão: estes sistemas possuem capacidades de tomada de decisão. As decisões tomadas pelos sistemas cognitivos são baseadas em evidências e evoluem continuamente com base em novas informações, resultados e ações. Atualmente, os sistemas de computação cognitiva realizam mais como conselheiros sugerindo um conjunto de opções para usuários humanos, que finalmente tomam as decisões finais. Para isso, os sistemas contam com valores de confiança – um valor quantitativo que representa o mérito de uma decisão depois de avaliar múltiplas opções – para ajudar os usuários a fazer a melhor escolha possível, incluindo por que uma recomendação específica foi feita.
– Descoberta: esses sistemas podem descobrir insights que talvez nem possam ser descobertos pelos seres humanos mais brilhantes. A descoberta envolve a obtenção de informações e conexões e a compreensão das enormes quantidades de informações disponíveis em todo o mundo. Com volumes cada vez maiores de dados, existe uma clara necessidade de sistemas que ajudem a explorar a informação de forma mais eficaz do que os humanos, por sua conta. Enquanto ainda nos estágios iniciais, algumas capacidades de descoberta já surgiram e as propostas de valor para futuras aplicações são convincentes. Os avanços nesta área de capacidade foram feitos em domínios específicos, como pesquisas médicas, onde existem quantidades robustas de informações.
Para desenvolver essa nova evolução da computação, foi preciso criar não somente a linguagem de programação, mas também um conjunto de hardware e um novo paradigma na codificação, resumindo, uma nova arquitetura de computação baseada em uma rede neural. Pela IBM temos o processador TrueNorth, um processador inspirado no cérebro humano, com uma capacidade de 46 bilhões de operações sinápticas por segundo.
 A Intel tem também planeja criar um processador inspirado no cérebro humano para utilização na nova era da computação cognitiva, mas sem data prevista para o lançamento, e já pensando no futuro, a empresa disponibiliza cursos e ferramentas, para que interessados, possam se iniciar na era cognitiva, oferecendo cursos e ferramentas de programação em inteligência artificial e computação cognitiva no site de e-learning da empresa, o Intel Academy e Nervana. Os cursos oferecidos são de Machine Learning, Deep Learning e Rede Neural em conjunto com o Framework Neon para o desenvolvimento de aplicações de Inteligência Artificial e Computação Cognitiva.
Juntamente com estas duas empresas podemos citar também a HP, que atualmente oferece mais de 60 APIs, incluindo análise de texto, reconhecimento de imagem, reconhecimento de fala, análise preditiva e pesquisa.
Estas empresas, mesmo não utilizando o mesmo nome para a computação cognitiva, no ano de 2014 se reuniram com outras grandes empresas do setor de tecnologia para criar um consórcio internacional de pesquisa e desenvolvimento na área de computação cognitiva, seu endereço eletrônico é www.cognitivecomputingconsortium.com.
No estado atual em que se encontra essa tecnologia, muitas aplicações são desconhecidas e novas utilidades surgem a qualquer momento, isso pode estar acontecendo nesse exato momento enquanto você lê este artigo.
A criação de um computador que se iguale e supere o cérebro humano ainda não foi criado, mas a computação cognitiva é um grande passo nesse caminho.
Baylor College of Medicine, uma das principais universidades em ciências da saúde, está constantemente buscando abordagens inovadoras para avançar e acelerar a pesquisa médica. O tempo necessário para os profissionais de pesquisa para testar hipóteses e formular conclusões atualmente varia de dias para anos. Um pesquisador típico lê cerca de 23 artigos científicos por mês, tornando humanamente impossível acompanhar o crescente corpo científico de material disponível. 
Biólogos e cientistas de dados da Baylor estão usando um sistema de computação cognitiva alimentado pela Watson em seu Baylor Knowledge Integration Toolkit para acelerar a pesquisa do câncer, desbloquear padrões e fazer descobertas com maior precisão para melhorar os planos de diagnóstico e tratamento.
Desenvolvimento e aplicação da tecnologia cognitiva
Maroldi (2006) afirma em uma divulgação científica que em meados da década de 90, muitos autores como Clancey (1995) questionavam a maneira como eram conduzidos os estudos referentes ao desenvolvimento da computação cognitiva e inteligência artificial. Negligenciava-se e minimizava-se a importância de modelos teóricos de áreas intrínsecas à cognição humana como filosofia, psicologia e neurociência, em prol de aspectos tecnológicos.
O desejo de reproduzir o comportamento da mente humana sem utilizar-se dos mecanismos que a formam estava presente. O’Brien (2004 apud Cardoso, 2004) detalha em um organograma as aplicações diversas provenientes da ciência cognitiva: sistemas especialistas, sistemas de aprendizagem, lógica difusa, algorítimos genéticos, redes neurais e agentes inteligentes. Os sistemas de computação cognitiva redefinem a natureza da relação entre as pessoas e seu ambiente digital cada vez mais penetrante. Eles podem desempenhar o papel de assistente ou treinador para o usuário, e eles podem agir de forma praticamente autônoma em muitas situações de resolução de problemas. Os limites dos processos e domínios que esses sistemas afetarão são ainda elásticos e emergentes. Sua saída pode ser prescritiva, sugestiva, instrutiva ou simplesmente divertida.
Para alcançar esse novo nível de computação, os sistemas cognitivos devem ser:
– Adaptável
Eles devem aprender à medida que a informação muda, e as metas e os requisitos evoluem. Eles devem resolver a ambiguidade e tolerar a imprevisibilidade. Eles devem ser projetados para alimentar dados dinâmicos em tempo real ou perto de tempo real.
– Interativo
Eles devem interagir facilmente com os usuários para que esses usuários possam definir suas necessidades confortavelmente. Eles também podem interagir com outros processadores, dispositivos e serviços em nuvem, bem como com pessoas.
– Iterativo e com estado
Eles devem auxiliar na definição de um problema, fazendo perguntas ou encontrando entradas de fontes adicionais se uma declaração de problema for ambígua ou incompleta. Eles devem “lembrar” as interações anteriores em um processo e retornar informações adequadas para a aplicação específica nesse momento
– Contextual
Eles devem entender, identificar e extrair elementos contextuais como significado, sintaxe, tempo, localização, domínio apropriado, regulamentos, perfil do usuário, processo, tarefa e objetivo. Eles podem recorrer a múltiplas fontes de informação, incluindo informações digitais estruturadas e não estruturadas, bem como entradas sensoriais (visual, gestual, auditiva ou com sensor).
Os sistemas cognitivos diferem das aplicações de computação atuais na medida em que ultrapassam tabulações e cálculos com base em regras e programas pré-configurados. Embora sejam capazes de computação básica, eles também podem inferir e até mesmo razões com base em objetivos amplos.
Além desses princípios, os sistemas de computação cognitiva podem ser estendidos para incluir ferramentas e tecnologias
adicionais. Eles podem integrar ou alavancar sistemas de informação existentes e adicionar interfaces e ferramentas específicas de domínio ou tarefa conforme necessários.
Muitas das aplicações de hoje (por exemplo, pesquisa, comércio eletrônico, eDiscovery) exibem alguns desses recursos, mas é raro encontrar todos eles totalmente integrados e interativos.
Os sistemas cognitivos coexistirão com sistemas legados no futuro indefinido. Muitos sistemas cognitivos basear-se-ão nos recursos de TI atuais. Mas a ambição e o alcance da computação cognitiva são fundamentalmente diferentes. Deixando o modelo de computador como aparelho por trás, procura trazer a computação para uma parceria mais estreita e fundamental em empreendimentos humanos.
Segundo (REYNOLDS, 2017) os últimos meses (2017), trouxe uma onda de notícias sem precedentes sobre o impacto da computação cognitiva e a IA terá sobre tudo, da saúde de nossa economia, da segurança do nosso país, da segurança de nossas redes, da maneira como compramos e vendemos coisas, A condição de nossa própria saúde, e lista tende a crescer conforme o mercado for assimilando o impacto dessa inovação tecnológica.
Os benefícios da computação cognitiva
Os recursos de computação cognitiva incluem interfaces de linguagem natural que possibilitam aos usuários interagirem com o aplicativo usando linguagem comum e capacidade de monitorar milhares de sensores incorporados ao meio ambiente para entender mudanças em tempo real.
Menos exclusiva entre as aplicações cognitivas (mas ainda importante na sua compreensão) é a sua capacidade de “ler” dados não estruturados de todos os tipos, que vão desde chamadas telefônicas, e-mails e artigos científicos, até revistas técnicas, com o objetivo de varrer bancos de dados para analisar e extrair padrões.
É preciso ter em mente que a computação cognitiva está disponível na nuvem e pode ser disponibilizada em quase qualquer mídia que as pessoas utilizem. Assim, podemos explorar aplicações cognitivas em smartphones, por meio de painéis automáticos ou em assistentes digitais.
Também podemos disponibilizar aplicativos cognitivos por meio de chips incorporados em dispositivos — imagine, por exemplo, uma máquina de escritório que possa conversar com seu usuário e ajudá-lo a diagnosticar qualquer problema encontrado.
No futuro próximo, se desejarmos, quase qualquer artefato poderá conversar conosco e ajudar-nos a pensar sobre os problemas que enfrentamos.
O futuro com a computação cognitiva
A computação cognitiva desempenhará um papel fundamental no futuro de suas organizações, com infinitas possibilidades para melhorar os processos e funções de negócios.
Embora o investimento seja esperado para produzir vantagens competitivas significativas, os executivos ​​estão priorizando sua aplicação em funções comerciais específicas, incluindo tecnologia da informação, vendas, segurança da informação e inovação.
A maioria das empresas quer usar a computação cognitiva para oferecer suporte a planejamento, desenvolvimento e teste mais rápidos e eficientes de softwares corporativos, a fim de permitir maior agilidade e design de soluções aceleradas, ao mesmo tempo em que melhora a eficiência de seus serviços ao cliente.
A expansão das capacidades de gerenciamento de contas do cliente, o aumento das oportunidades de vendas e a melhoria da eficiência do gerenciamento também são vistos como prioridades.
Essas mesmas ferramentas podem fornecer informações sobre como os funcionários se envolvem de forma mais eficaz, ajudando a selecionar as melhores tecnologias para cada tarefa e cada indivíduo e auxiliando na construção de um ambiente de trabalho contínuo.
Imagine, nesse sentido, ter um assistente inteligente com conhecimentos registrados acerca de sua profissão e de dados do seu ambiente, ajudando a informar suas decisões e descrevendo probabilidades para sua variedade de opções em relação a uma determinada tarefa. O local de trabalho do futuro será projetado para garantir o acesso onipresente, personalizado e seguro a novas capacidades cognitivas e analíticas emergentes.
Os sistemas cognitivos aprenderão continuamente a melhor maneira de se envolver com os usuários e aumentar a produtividade e fornecerão a capacidade de visualizar e usar, mais eficazmente, grandes quantidades de dados, tratados e analisados ​​por uma tarefa única e um usuário único. Além disso, eles estarão abertos às novas plataformas, aplicativos ou dispositivos que possamos precisar para fazer nossos trabalhos no futuro.
UCB-bot: um exemplo de aplicação de computação cognitiva
O UCB-bot é uma aplicação do tipo chatbot que foi desenvolvida consumindo APIs do IBM Watson. A imagem a seguir mostra a tela inicial do UCB-bot, onde há uma descrição da Dra. Sibi, que é a mascote que irá interagir com os usuários.
(devido a uma falta de qualidade a imagem não pode ser ampliada então não é possível ler a interface do UCB-bot)
 
(fonte: http://www.iiisci.org/journal/CV$/risci/pdfs/CA272IN17.pdf)
Inicialmente, foi identificado um problema real dos estudantes da Universidade Católica de Brasília, que são informações sobre os benefícios que a Instituição oferece para eles. Os benefícios incluídos na aplicação foram:
- financiamento pelo FIES;
- descontos e bolsas parciais ou totais;
- bolsa social;
- descontos de pontualidade e familiar;
- financiamentos estudantis;
- bolsas PROUNI.
Na aplicação do CBL foi identificada a grande ideia: criar uma solução que possibilite aos alunos esclarecimento de dúvidas em tempo real, ou seja, 24 horas por dia e sete dias por semana. Para identificar o desafio foram levantadas as seguintes questões essenciais:
- como sanar a dúvida dos estudantes utilizando recursos online;
- como oferecer informações de maneira simples para estudantes;
- como melhorar o atendimento aos estudantes.
A partir da resposta a essas questões foi definido o seguinte desafio: desenvolver uma aplicação que possibilite os alunos a interagir com um chatbot para esclarecer dúvidas e desafogar os canais de atendimento disponíveis na UCB. A equipe de desenvolvimento contou com a orientação de equipe de técnicos da Universidade, que têm conhecimento dos processos de atendimento incluídos na aplicação. Para orientar o desenvolvimento e a delimitação do escopo do aplicativo foram levantadas as seguintes questões guia:
- existe alguma aplicação semelhante à proposta;
- qual o público alvo (público interno ou externo à UCB);
- qual a quantidade de questões que serão propostas para treinar o chatbot;
- como o chatbot será treinado;
- quais são as dúvidas mais frequentes dos usuários sobre o tema descrito;
- o que é preciso para responder de forma satisfatória;
- qual o tempo gasto por um atendente humano para esclarecer as demandas de um usuário;
- como será armazenado o histórico de cada conversa;
- há necessidade de disponibilizar o histórico da conversa para o usuário;
- o usuário poderá visualizar o histórico da conversa;
 - como será a forma de divulgação para que mais usuários a utilize; 
- o usuário terá que realizar o cadastro para utilizar o sistema;
 - como será feita a pesquisa de satisfação do usuário; 
- é preciso identificar o nível de sentimento da conversa;
 - como identificar o nível de sentimento da conversa; 
- existe alguma necessidade de usar um mascote no chatbot; 
- como tratar perguntas fora do contexto; 
- será necessário gerar algum relatório para análise futura;
 - qual será o nome do chatbot; 
- qual número de pessoas atendidas diariamente e mensalmente;
 - existe uma estimativa em relação ao número de pessoas atendidas e a quantas entram na homepage da UCB periodicamente;
 - onde a aplicação será hospedada;
 - quais os custos envolvidos na hospedagem e no consumo das APIs;
 - qual o limite de acesso simultâneo;
 - como será prestado o suporte; 
- apos o término da etapa de desenvolvimento quem ficará responsável pela aplicação. 
(fonte: http://www.iiisci.org/journal/CV$/risci/pdfs/CA272IN17.pdf)
A imagem apresenta a tela de diálogo com a Dra Sibi. Ao ser feita uma pergunta sobre um dos assuntos pertinentes ao chatbot, a resposta é apresenta em seguida. Todo o diálogo da interação ficará disponível para o usuário.
A capacidade da computação cognitiva
As empresas e as organizações do setor público progrediram em termos de uso de enormes quantidades de dados internos e externos para assumirem uma posição de risco mais preventiva. No entanto, os métodos tradicionais de análise tornaram-se cada vez mais incapazes de lidar com esse volume de dados.
Em vez disso, as capacidades cognitivas — incluindo a mineração de dados, a aprendizagem de máquinas e o processamento de linguagem natural — suportam as análises tradicionais e são aplicadas contra esses densos conjuntos de dados para ajudarem a encontrar indicadores de riscos conhecidos e desconhecidos.
Essas novas capacidades não se limitam a detectar riscos. A análise cognitiva permite às empresas aproveitar rapidamente informações não estruturadas, personalizar serviços e reduzir a subjetividade na tomada de decisões.
Os setores em que essa abordagem de dados é útil são cuidados de saúde, varejo e até litígios, de modo que os computadores são “treinados” para descobrir informações específicas em milhões de documentos legais e realizar qualquer tradução de linguagem global necessária.
Desenvolvimento do mercado de soluções cognitivas e de IA
A previsão - apresentada no último estudo de mercado feito pela IDC - para a adoção de sistemas cognitivos e tecnologias de inteligência artificial em todas as indústrias, mostra um crescimento nas receitas mundiais de US$ 8 bilhões em 2016 para US$ 47 bi em 2020. Os mercados para essas soluções vão experienciar uma taxa de crescimento anual composto de 55,1% entre 2016 e 2020. Segundo David Schubmehl, diretor de pesquisa da IDC, os desenvolvedores de software e organizações de usuários finais já começaram o processo de incorporação e implantação cognitiva ou inteligência artificial em quase todos os tipos de aplicativo corporativo ou processos. A habilidade para reconhecer e responder a fluxos de dados permite que esses sistemas automatizem uma variedade de funções. As aplicações com o maior número de investimentos em 2016 são agentes automatizados de atendimento ao cliente, sistemas de gestão de qualidade e de recomendações, sistemas de diagnósticos e tratamentos e sistemas de análises de fraudes e investigações. Os casos de uso com o crescimento de receita mais rápidos esperados nos próximos cinco anos serão Segurança pública e resposta de emergência, 
Pesquisa e desenvolvimento farmacêutico, Sistemas de diagnósticos e tratamentos, Sistemas de gestão de qualidade e de recomendações e Gestão de frotas. Para a IDC, as indústrias que apresentarão o maior crescimento de receita em tecnologias cognitivas no período de 2016-2020 serão a Healthcare e Fabricação, uma taxa de crescimento anual composto de 69,3% e 61,4%, respectivamente. A área de educação e de fabricação de processos também experimentarão um crescimento significativo ao longo do período previsto.
O que é IA ou Inteligência Artificial
A inteligência artificial é um ramo de pesquisa da ciência da computação que busca, através de símbolos computacionais, construir mecanismos e/ou dispositivos que simulem a capacidade do ser humano de pensar, resolver problemas, ou seja, de ser inteligente. O estudo e desenvolvimento desse ramo de pesquisa tiveram início na Segunda Guerra Mundial. 
Os principais idealizadores foram os seguintes cientistas: Hebert Simon, Allen Newell, Jonh McCarthy e vários outros, que com objetivos em comum tinham a intenção de criar um “ser” que simulasse a vida do ser humano.
O estudo da A.I. iniciou-se nos anos 50 com os cientistas Hebert Simon, Allen Newell, esses foram os pioneiros ao criarem o primeiro laboratório de inteligência artificial na Universidade de Carnegie Mellon.
O desejo de construir máquinas capazes de reproduzir a capacidade humana de pensar e agir vem de muitos anos. Tal fato pode ser comprovado através da existência de máquinas autônomas e também através de personagens místicos, como é o caso do Frankenstein (personagem da escritora Mary Shelley).
Com a evolução computacional a inteligência artificial ganhou mais força, tendo em vista que o seu desenvolvimento possibilitou um grande avanço na análise computacional, podendo a máquina chegar a fazer análise e síntese da voz humana. No início os estudos sobre A.I. buscavam apenas uma forma de reproduzir a capacidade humana de pensar, mas assim como todas as pesquisas que evoluem, com essa não foi diferente. 
Percebendo que esse ramo da ciência tinha muito mais a ser descoberto, os pesquisadores e cientistas abraçaram a idéia de fazer com que uma máquina pudesse reproduzir não só a capacidade de um ser humano pensar como também a capacidade de sentir, de ter criatividade, e de ter auto-aperfeiçoamento e uso da linguagem. Filmes como “O Homem bicentenário” e “A.I. (Inteligência Artificial)” mostram claramente a vontade da máquina de se tornar ser humano, de querer se manifestar, poder ter e sentir tudo o que os humanos têm e sentem.
O progresso na principal área dessa pesquisa, que é a de fazer uma inteligência similar à do ser humano, é lento. Porém, os estudos nessa área têm surtido efeito em várias outras áreas, como o planejamento automatizado e escalonamento, jogos, programas de diagnóstico médico, controle autônomo, robótica e outras mais.
Esse ramo de pesquisa é muito conflitante, pois existem os que apóiam as pesquisas e a idéia da máquina ter vida própria, como também existe o lado dos que não apóiam a idéia. Para muitos a existência de máquinas com o poder de pensar, sentir e até ter a capacidade de realizar atividades humanas é um fato inconcebível.
Inteligência Artificial Limita (ANI)
Conhecida também como “IA Fraca” (Weak AI), é o tipo mais básico de IA, que se especializa em apenas uma área. Esses sistemas inteligentes são capazes de lidar com uma quantidade imensa de dados e fazer cálculos complexos muito rapidamente, mas somente com um único objetivo – é o tipo de inteligência artificial que consegue vencer um campeão de xadrez, mas é a única coisa que ela faz. Se você pedir para ela fazer qualquer outra coisa, como por exemplo, filtrar spam ou jogar damas, ela não saberá.
(fonte: https://www.hipercultura.com/avancos-da-inteligencia-artificial/)
O mesmo acontece com sistemas de IA em carros autônomos, IA de reconhecimento facial etc. – são aplicações extremamente focadas, direcionadas para terem o máximo de performance com apenas um objetivo. Esse é o tipo de inteligência artificial que temos disponível hoje (que se utiliza de diversos métodos e algoritmos, como Redes Neurais, Deep Learning etc., como veremos mais à frente). 
No entanto, ainda dentro dessa categoria (ANI), temos uma subdivisão importante, referente ao nível de consciência que a IA pode ter:
– Máquinas Reativas: essa é a classe mais simples de sistemas de IA: são puramente reativos, e não têm habilidades para criar memórias e nem utilizar experiências passadas para fundamentar a decisão atual. Um exemplo disso é o Deep Blue da IBM, supercomputador de xadrez que derrotou um dos maiores campeões de todos os tempos, Garry Kasparov, em 1997, ou o AlphaGO da DeepMind Google, que derrotou, em 2015, os campeões europeus de GO, o jogo mais complexo já inventado.
– Memória Limitada: essa classe contém máquinas que conseguem olhar para o passado (memória) para fundamentar a decisão atual. Os carros autônomos já fazem um pouco disso atualmente: eles observam a velocidade e a direção dos outros carros para decidir o que fazer, e isso não pode ser feito em apenas um momento, pois requer identificação de objetos específicos e seu monitoramento ao longo do tempo.
Inteligência Artificial Geral (AGI)
Conhecida também como “IA forte” (Strong AI) ou “IA nível humano” (Human Level AI), refere-se a um computador que é tão inteligente quanto um humano, em um leque enorme de habilidades
(e não apenas em uma) – é uma máquina com a mesma capacidade intelectual de um ser humano, podendo realizar qualquer atividade inteligente que o homem domine. Esse é o tipo de IA que passaria facilmente no Teste de Turing, mas é muito mais difícil de criar do que as IA do tipo ANI (inteligência artificial limitada) – ainda não chegamos lá. Já existem computadores que exibem muitas dessas capacidades (criatividade computacional, razão automatizada, sistema de suporte a decisões, robôs, computação evolucionária, agentes inteligentes), mas não ainda nos níveis humanos.
Em termos de consciência, as AGI são máquinas que se relacionam com a Teoria da Mente, que é a habilidade de atribuir estados mentais (crenças, intenções, desejos, fingimento, conhecimento etc.) para si mesmo e para os outros, e compreender que os outros têm crenças, desejos, intenções e perspectivas que são diferentes das nossas:
– Máquinas Cientes: classe de mentes computacionais que não apenas “enxergam” o mundo (criam representações), mas também conseguem “perceber” outros agentes ou entidades – elas compreendem que as pessoas, criaturas e objetos no mundo podem ter pensamentos e emoções que precisam ser consideradas para ajustar o seu próprio comportamento (ciência). 
Essas habilidades são essenciais para permitirem interações sociais, e é a partir delas que os humanos formaram sociedades – seria muito difícil, ou mesmo impossível, trabalharmos juntos sem compreender as motivações e intenções uns dos outros, e sem considerar o que o outro sabe sobre si e o ambiente.
(fonte:http://www.luispellegrini.com.br/inteligencia-artificial-quem-tem-medo-desse-bicho-papao/)
– Máquinas Autoconscientes: essa classe de sistemas de IA vai além na Teoria da Mente e possui “autoconsciência”. Em outras palavras, elas têm consciência não só sobre o seu exterior, mas também sobre si mesmas. Essa é uma diferença grande em relação a ter ciência apenas do que está do lado de fora – seres autoconscientes conhecem os seus estados internos, e são capazes de prever os sentimentos dos outros. Por exemplo, nós pressupomos que alguém que está chorando está triste porque, quando estamos tristes, nós choramos. Da mesma forma que a inteligência, a consciência é algo difícil de se definir, mas que conseguimos facilmente reconhecer.
Quão longe estamos de ter uma IA no nível humano convivendo conosco? Bem, previsões são complicadas pois, normalmente, não se tem a visão do topo da escada até que se suba degrau por degrau – mas os indícios do ritmo de evolução nos ajudam a ver de modo vago, mas com bastante importância, para onde estamos indo. O cientista Ray Kurzweil previu que um computador venceria um humano no xadrez até o ano 2000, e isso aconteceu em 1997.
Ele prevê que um computador passará o teste de Turing até 2029. Independentemente de quando isso acontecerá, daqui 10 ou 50 anos, penso que o mais importante é sabermos que isso acontecerá, e pavimentarmos o nosso caminho, subindo a escada da evolução com isso em mente.
Superinteligência (ASI)
O termo “superinteligência” foi definido pelo filósofo sueco Nick Bostrom (2003, p. 12-17) como “um intelecto que é muito mais inteligente do que o melhor cérebro humano em praticamente todas as áreas, incluindo criatividade científica, conhecimentos gerais e habilidades sociais”. A superinteligência artificial abrange um leque que varia desde um computador que é um pouco mais inteligente que um humano até o computador que é milhões de vezes mais inteligente em todas as capacidades intelectuais do que um humano.
É sobre esse tipo hipotético de inteligência artificial que se concentram as principais discussões hoje, pois é dessa área que vêm as promessas mais promissoras e assustadoras para o futuro da humanidade: a imortalidade ou a extinção humanas.
(fonte:https://vignette.wikia.nocookie.net/universocinematograficomarvel/images/b/b0/JuARaVeInSy.png/revision/latest?cb=20150919150102&path-prefix=pt)
J.A.R.V.I.S, assistente superinteligente do Homem de Ferro, Marvel Comics.
Se você mergulhar fundo, perceberia que a IA começou a melhorar os seres humanos em várias tarefas. Como detectar câncer melhor do que oncologistas ou traduzir línguas ou bater o campeão mundial Go (Damas Chinesas). 
Essas conquistas estão estabelecendo o tom para o futuro. Um futuro onde ciborgues e super-humanos inteligentes não são apenas parte de filmes de ficção científica.
Isto é chamado de Super Inteligência Artificial, onde o conhecimento de uma máquina supera o do humano. Pense em Jarvis ou Ultron da Marvel ou Exterminador de Arnold Schwarzenegger.
Ao contrário da crença popular, a ASI está longe da realidade. De fato, pode levar algo entre 15 e 20 anos (melhor cenário) a séculos para alcançá-lo! Neste artigo, estaremos olhando para o caminho para alcançar a ASI, alguns projetos interessantes atuais e os perigos que a ASI possui.
Para entender todos os pontos acima, precisamos investigar por que há um boom súbito na IA e qual é o estado atual da pesquisa da IA. Vamos pular para isso imediatamente.
As aplicações da computação cognitiva
Hoje, a computação cognitiva afeta todas as áreas de nossas vidas, desde viagens, esportes e entretenimento, até fitness, saúde e bem-estar, incluindo a saúde de nossos animais de estimação.
No momento, as aplicações de computação cognitiva podem fornecer interfaces superiores que permitem que os sistemas informáticos interajam com clientes ou funcionários, com a internet ou com bancos de dados.
As aplicações, uma vez treinadas, podem conversar com pessoas, usando linguagem comum, fazendo perguntas e, depois, fornecendo respostas ou recomendações. Da mesma forma, uma vez que as aplicações estão incorporadas a peças ou produtos, esses itens podem ser rastreados em tempo real e demonstrar como funciona sua cadeia de suprimentos ou estoque.
As aplicações cognitivas são boas em buscas rápidas de grandes quantidades de dados, mesmo em formatos não estruturados, e podem monitorar feeds de notícias de TV, analisar intercâmbios de e-mail, pesquisar sites ou ler documentos para obter informações atualizadas.
Nos casos mais dinâmicos, os sistemas de simulação de campo de batalha podem empregar satélites para rastrear sensores embutidos em tanques, caminhões, navios ou mesmo pessoal militar e podem usar esses dados para criar mapas que digam aos comandantes exatamente onde seus recursos estão em um determinado momento.
Além de simplesmente identificar fatos, os sistemas cognitivos podem usar redes em nuvem para analisar enormes quantidades de dados rapidamente, identificar padrões de desenvolvimento e prever ou projetar o que provavelmente acontecerá no futuro próximo.
E, à medida que esses sistemas são usados, eles aprendem e melhoram a qualidade de suas previsões.
Como exemplo, o banco Bradesco fez uma parceria com a IBM para que o Watson possa responder dúvidas para gerentes de agências por meio de um chat interno e, no futuro, ajudar os clientes. A Under Armour também utiliza o Watson para interpretar dados para orientar usuários.
(fonte:https://helabs.com/blog/computacao-cognitiva-o-primor-em-analise-de-dados-e-interacao-com-clientes/)
Inteligência Artificial do Bradesco
A BIA é a inteligência artificial do banco Bradesco. Um chatbot desenvolvido para oferecer atendimento imediato as respostas dos clientes. Criada a partir da plataforma de computação cognitiva Watson em parceria com a IBM, a inteligência artificial utilizada na BIA funciona com base no comportamento do usuário. A ideia é que a BIA consiga solucionar dúvidas e problemas comuns dos clientes da forma mais natural possível, facilitando a experiência de uso, 24 horas por dia, 7 dias por semana. Mas como a BIA funciona? A assistente virtual do aplicativo Bradesco funciona por meio da computação cognitiva, de forma muito simples e intuitiva. Assim como as assistentes do Android, iOS e Microsoft, para que a BIA interaja com o usuário, basta que o usuário faça perguntas e forneça informações sobre sua vida financeira, e porque
não, pessoal também. Depois de acessar o aplicativo do Bradesco, um campo de busca aparecerá solicitando ao cliente que ele digite ou fale com a BIA. Em seguida, basta clicar no espaço para habilitar o contato e pronto, já será possível utilizar a inteligência artificial. 
Por meio da computação cognitiva, o usuário interage com a BIA para que ela consiga aprender quais são suas necessidades e consiga até mesmo antecipá-las. O processo de aprendizado e interação acontece em tempo real e de forma mútua. Quanto mais informações o cliente passar para a BIA, mais ela saberá sobre ele, e conseguirá antecipar seus desejos. Por meio do chatbot é possível tirar dúvidas, como saber a cotação do dólar, ou até mesmo realizar serviços transacionais, como, por exemplo, pagamento de contas via boleto, transferências bancárias, verificar extratos, faturas pendentes, entre outras possibilidades.
(fonte: https://inteligencia.rockcontent.com/bia-bradesco/)
O estado atual de AI
No entanto, a IA em seu estado atual está longe de ser superinteligente. Suponhamos que, se um ciborgue inteligente do futuro girar o tempo e chegar à atual São Francisco para encontrar seus predecessores, sentiria pena da primitividade deles. Imagine encontrar neandertais da África Ocidental dezenas de milênios atrás.
A verdade é que a maioria dos modelos de IA é capaz de fazer uma coisa sozinha. Se você empregar um programa que traduza idiomas para converter fala em texto, ele falhará miseravelmente. Os humanos, por outro lado, podem fazer uma infinidade de tarefas. Um humano pode traduzir o inglês para o espanhol e converter a fala em texto com facilidade. É por isso que Superinteligência Artificial é coisa de um futuro distante. A ASI deveria ser capaz de fazer café enquanto cantarolava uma música de Elton John e escrevia cartões postais de Natal para todos os seus amigos ciborgues.
Existem alguns novos projetos e modelos em IA que estão começando a executar um conjunto de tarefas diferentes simultaneamente, como Aprendizado Multitarefa e Aprendizagem por Transferência. No entanto, esses algoritmos têm melhor desempenho apenas quando o conjunto de tarefas está intimamente relacionado. Como encontrar o sentimento de uma peça de texto e extrair entidades nomeadas dela.
Diferença entre machine learning e inteligência artificial
Vamos começar esclarecendo um detalhe que causa confusão: muita gente pensa que machine learning e inteligência artificial significam a mesma coisa, mas não é bem assim. Na verdade, a inteligência artificial é um conceito amplo que inclui o aprendizado de máquina como um dos seus recursos.
Mas, então, o que é inteligência artificial? Há várias definições para a ideia. Uma que é bastante aceita é a de que a inteligência artificial consiste em mecanismos computacionais que se baseiam no comportamento humano para resolver problemas. Em outras palavras, a tecnologia faz o computador “pensar” como uma pessoa para executar tarefas.
É verdade que essa é uma explicação simplista, afinal, um sistema inteligente não precisa, necessariamente, ser algo próximo do raciocínio humano. De todo modo, não deixa de existir alguma lógica aí. Nós, humanos, somos capazes de analisar dados, encontrar padrões ou tendências neles, de fazer análises mais apuradas a partir daí e, então, utilizar as conclusões para tomar decisões. De certo modo, a inteligência artificial segue esse mesmo princípio.
Machine Learning
O aprendizado de máquina (em inglês, machine learning) é um método de análise de dados que automatiza a construção de modelos analíticos. É um ramo da inteligência artificial baseado na ideia de que sistemas podem aprender com dados, identificar padrões e tomar decisões com o mínimo de intervenção humana.
Como funciona?
Basicamente, os algoritmos utilizam análises estatísticas aprimoradas sobre os dados que recebem, resultando em respostas e previsões mais precisas. O Machine Learning permite que as aplicações de software se tornem mais “inteligentes” e preditivas, sem que seja necessário programá-las com frequência para que elas “aprendam”.
Primeiramente, devemos distinguir 4 tipos de tarefas de aprendizagem de máquina:
1. aprendizagem supervisionada
2. aprendizagem não-supervisionada
3. aprendizagem semi-supervisionada
4. aprendizagem por reforço
Aprendizagem Supervisionada
Aprendizagem supervisionada é a tarefa de encontrar uma função a partir de dados de treinamento rotulados. O objetivo é encontrar os parâmetros ótimos que ajustem um modelo que possa prever rótulos desconhecidos em outros objetos (o conjunto de teste). Se o rótulo é um número real, a tarefa chama-se regressão. Se o rótulo vem de um conjunto finito e não ordenado, então a tarefa chama-se classificação.
Aprendizagem Não-supervisionada
Na aprendizagem não-supervisionada temos menos informação sobre os objetos, em particular, o conjunto de treinamento não é rotulado. 
O nosso objetivo, neste contexto, é observar algumas similaridades entre os objetos e incluí-los em grupos apropriados. Alguns objetos podem diferir largamente de todos os grupos e, deste modo, podemos assumir que estes objetos são anomalias.
Aprendizagem Semi-supervisionada
A aprendizagem semi-supervisionada inclui ambos os problemas discutidos antiormente: ela usa dados rotulados e não-rotulados. Esta é uma grande oportunidade para quem não pode bancar o preço de rotular seus dados. Este método permite-nos melhorar significativamente a acurácia, pois permite utilizar dados não rotulados juntamente com uma pequena quantidade de dados rotulados.
Aprendizagem por Reforço
Aprendizagem por reforço é diferente de todas as tarefas anteriores porque não há conjunto de treinamento, rotulado ou não. Aprendizagem por reforço é uma área de aprendizagem de máquina que investiga como agentes de software devem agir em determinados ambientes de modo a maximizar alguma noção de recompensa cumulativa.
Imagine que você é um robô em um lugar desconhecido. Você pode realizar atividades e receber recompensas do ambiente pelas atividades realizadas. Após cada ação seu comportamento ficará mais complexo e inteligente, ou seja, você está treinando para se comportar de modo mais efetivo a cada instante. Em biologia, isto é chamado de adaptação ao ambiente natural.
Mas a máquina consegue aprender?
Aprendizado de Máquina é um método de análise de dados que automatiza o desenvolvimento de modelos analíticos. É possível utilizar algoritmos para coletar dados e aprender com os dados, levando em consideração todo o histórico para então fazer uma determinação ou predição sobre alguma coisa ou situação do mundo real. O que acontece é que o computador aprende através de técnicas que utilizam algoritmos computacionais. Os algoritmos trabalham com certa base de dados, então conseguem aprender através de treinamento e prever situações com a experiência adquirida com aqueles dados. O mais interessante é que os algoritmos começam a trabalhar de certa forma autônoma, retornando resultados para que nem foram programados, ou seja, começam a ter insights sobre algo específico.
Atualmente não é difícil encontrar históricos da utilização do Aprendizado de Máquina na vida real. Exemplos de que realmente a máquina aprende com dados e treinamento. Posso citar os carros autônomos do Google, que dirigem sozinhos (não começaram a dirigir do nada, eles aprenderam a dirigir sem a intervenção humana), as ofertas e recomendações online da Netflix, Facebook, Amazon e outras redes sociais e lojas virtuais, detecção de fraudes automáticas em cartões de créditos e contas bancárias, e até uma rede neural que é capaz de sonhar. Sim, esse último exemplo é uma rede neural do Google, que foi ensinada a reconhecer imagens e, enquanto aprende, os responsáveis do projeto dizem que a IA consegue produzir novas imagens.
Algoritmos de Aprendizagem de Máquina Comumente Utilizados
Agora que temos uma certa intuição sobre os tipos de tarefas de aprendizagem de máquina, vamos explorar os algoritmos mais populares com suas aplicações no mundo real.
Regressão e Classificação
Linear
Estes talvez sejam os algoritmos mais simples em aprendizagem de máquina. Você dispõe de características (ou atributos) x1, x2, …, xn sobre objetos (matriz A) e os seus rótulos (vetor b). O objetivo é encontrar um conjunto de pesos e viés ótimo para estas características de acordo com alguma função de custo, como por exemplo MSE (mean squared error) ou MAE (mean absolute error) para regressão. No caso de MSE há uma equação matemática do método quadrados mínimos:
Na prática é mais fácil otimizar com o método da descida do gradiente (gradient descent), que é muito mais eficiente computacionalmente. Apesar de sua simplicidade, este algoritmo funciona muito bem quando se tem milhares de características, por exemplo, bag of words ou n-grams em análise de texto. Algoritmos mais complexos sofrem de sobreajuste (overfitting) quando se tem muitas características em conjuntos de dados pequenos, ao passo que regressão linear provê qualidade razoável.
Para prevenir o sobreajuste, normalmente utilizamos técnicas de regularização, tais como LASSO e Ridge. A ideia é adicionar a soma dos módulos dos pesos e soma dos quadrados dos pesos, respectivamente, à função de custo.
Regressão Logistica
Apesar do seu nome, este é um algoritmo de classificação e não um método de regressão. A regressão logística realiza classificação binária, portanto os rótulos de saída são dicotômicos. Vamos definir P(y=1 | x ) como a probabilidade condicionada de que a saida y é 1 quando dado como entrada um vetor de características x. Os coeficientes w são os pesos do modelo que serão encontrados pelo algoritmo.
Este algoritmo calcula a probabilidade do objeto pertencer a cada classe. Por isso, a função de custo pode ser a diferença entre a probabilidade predita e o rótulo 0 ou 1, e calcular a média para todos os objetos como fizemos na regressão linear. Esta função de custo é conhecida como média das entropias cruzadas (average of cross-entropies):
Seja y o vetor de resposta corretas, 0 ou 1, e y_pred o vetor de respostas preditas. Se y é igual a 0, então o primeiro termo da soma é 0 e o segundo termo representa a classe 0. Quanto mais próximo de zero, mais proximo de 1 será este termo devido ao logaritmo. O mesmo raciocínio se aplica quando y for igual a 1.
Por que a regressão logística é tão interessante? Ela recebe uma combinação linear de características e aplica uma função não linear (sigmoid) a ela, de modo que é uma instância bem pequena de uma rede neural!
Árvores de Decisão
Outro algoritmo popular e fácil de compreender é o Árvores de Decisão. O resultado é fácil de visualizar e o seu processamento requer uma abordagem sistemática e bem documentada.
A ideia deste algoritmo é simples. Em cada nodo escolhemos o melhor valor entre todas as características e todos os pontos possíveis de corte (split). Cada corte é selecionado de tal modo que maximize alguma função. Em árvores para classificação, utiliza-se entropia cruzada (cross entropy) e Gini index. Em árvores para regressão minimiza-se a soma dos erros quadrados entre a valor predito e o valor dos pontos que caem naquela região.
Este procedimento é definido recursivamente para cada nodo e encerra quando encontramos um critério de parada, como por exemplo, número mínimo de folhas em um nodo ou a altura máxima da árvore. Uma árvore sozinha é utilizada muito raramente, mas em combinação com muitas outras elas formam algoritmos muito eficientes tais como Florestas Aleatórias ou Gradient Tree Boosting.
K-médias
Algumas vezes não se sabe os rótulos dos objetos e o nosso objetivo é atribuir rótulos aos objetos. Esta tarefa é denominada análise de agrupamento (clustering).
Suponha que você deseja dividir todos os objetos em k grupos. Você pode selecionar k pontos aleatoriamente do seu conjunto de dados e nomeá-los centros de grupos. Os grupos de objetos são definidos por sua proximidade com algum centro de grupo. Então, os centros dos grupos são atualizados e o processo se repete até que haja convergência.
K-médias é a técnica de agrupamento mais simples, mas também apresenta desvantagens. Primeiro, você deve saber de antemão quantos grupos deve haver e geralmente é isto que não sabemos. Segundo, os resultados dependem dos pontos inicialmente escolhidos e o algoritmo não garante que iremos alcançar um mínimo global da função objetivo que o k-médias tenta otimizar. Há uma grande quantidade de métodos de agrupamento com vantagens e desvantagens.
Principal component analysis (PCA)
Você já se preparou para uma avaliação difícil em poucas horas? Você não tem como lembrar de toda a informação, mas você quer maximizar a informação que você pode lembrar no tempo disponível, como por exemplo, tentar aprender primeiro os teoremas que são mais frequentes em avaliações anteriores.
Análise de Componentes Principais (principal component analysis, PCA) é baseado na mesma ideia. Este algoritmo provê redução de dimensionalidade. Algumas vezes você tem uma grande quantidade de características, provavelmente muito correlacionadas entre si, e os modelos podem facilmente serem sobreajustados em um grande conjunto de dados. Neste cenário, aplica-se PCA.
PCA calcula a projeção dos dados em algum vetor que maximize a variação dos dados e perca a menor quantidade de informação possível. Surpreendentemente, estes vetores são os autovetores da matriz de correlação das características de um conjunto de dados.
O algoritmo é definido pelos seguintes passos:
· Calcule a matriz de correlação das colunas de características (atributos) e encontre os autovetores desta matriz.
· Calcule a projeção de todas as características nos autovetores encontrados no passo anterior.
Novas características são coordenadas de uma projeção e seu número depende do número de autovetores, com os quais você calcula a projeção.
Qual a importância do machine learning?
O interesse renovado no aprendizado de máquina se deve aos mesmos fatores que tornaram a mineração de dados e a análise Bayesiana mais populares do que nunca: coisas como os crescentes volume e variedade de dados disponíveis, o processamento computacional mais barato e poderoso, o armazenamento de dados acessível etc.
Tudo isso significa que é possível produzir, rápida e automaticamente, modelos capazes de analisar dados maiores e mais complexos, e entregar resultados mais rápidos e precisos – mesmo em grande escala. E ao construir modelos precisos, uma organização tem mais chances de identificar oportunidades lucrativas – ou de evitar riscos desconhecidos.
Como o Machine Learning pode ser utilizado na vida real?
Você provavelmente já fez uma compra online e depois passou os dias seguintes recebendo anúncios relacionados a sua compra, não é mesmo? Essa é uma aplicação simples de Machine Learning, os algoritmos aprendem sobre suas preferências para personalizar a entrega de anúncios.
Mas a tecnologia pode ser utilizada para muito mais, especialmente quando pensamos nos benefícios do usuário final. A possibilidade de previsão da Aprendizagem de Máquina permite detectar fraudes, ameaças de segurança de rede e realizar rotinas de manutenção preditiva.
No case do Burger King, apresentado durante o SAP Forum Brasil este ano, tivemos uma amostra de como essa tecnologia está ajudando a prevenir incêndios e a perda de alimentos na cozinha dos restaurantes. A rede, que conta com mais de 500 lojas e serve centenas de milhares de lanches diariamente, tinha o grande desafio de estabelecer um sistema de manutenção de seu equipamento sem que isso parasse o trabalho na cozinha.
Os freezers não podem parar de funcionar, pois se isso acontece muito alimento é desperdiçado. Como o hambúrguer é grelhado no fogo no momento do preparo, garantir que os equipamentos estejam funcionando corretamente é também uma forma de prevenir um possível incêndio no restaurante. A melhor forma de manter os equipamentos sempre funcionando é com a manutenção preditiva, possível graças ao Machine Learning e outras tecnologias.
No showcase Vitrine Inteligente, também apresentado no SAP Forum Brasil,
os visitantes puderam conferir na prática como a Aprendizagem de Máquina pode auxiliar o varejo e criar uma experiência de compra muito superior ao consumidor.
Utilizando Machine Learning, a SAP desenvolveu uma solução de recomendação de produtos que transforma vitrines em auxiliares inteligentes de venda e de administração. Quando o cliente para diante da loja, uma câmera capta sua imagem e identifica algumas características relevantes, como tipo físico, idade, sexo, informações sobre a roupa que ele está usando e até o humor. Com essas informações, o sistema utiliza a tecnologia para fazer sugestões de compra apresentadas em uma tela, aliando combinações disponíveis com o gosto do consumidor.
Machine learning e Big Data
Nos últimos tempos, o mundo empresarial tem testemunhado a união de ferramentas de Big Data e machine learning, a fim de se possibilitar uma atuação ainda mais estratégica das empresas por meio do investimento em tecnologia. Na prática, essa combinação, que reúne aprendizado de máquina e o processamento de grandes quantidades de dados, é capaz de trazer uma série de benefícios para as organizações.
O que é Big Data
Big Data é um termo usado no ramo da Tecnologia da Informação que se refere ao grande conjunto de dados (estruturados e não estruturados) que estão presentes nos negócios. Mais que isso, a expressão é usada para descrever o processo de análise, processamento e emprego estratégico dos dados existentes. Assim, mais importante que a quantidade de dados é o que as companhias fazem com essas informações complexas — podendo ser usadas para gerar insights e basear decisões estratégicas das organizações, por exemplo.
Basicamente, quanto melhor é o processamento dos dados, mais certeiras se tornam as tomadas de decisões das empresas. Somado a isso, o Big Data permite aumentar a eficiência operacional, reduzir custos e evitar riscos, entre outras diversas vantagens.
Big Data e machine learning em conjunto
Análise preditiva
No famoso livro O poder do hábito, de Charles Duhigg, é apresentado o caso da Target, segunda maior rede de varejo dos EUA. Usando Big Data e machine learning, a empresa conseguiu encontrar um padrão de itens que suas clientes adquiriam quando estavam grávidas — desde hidratantes até suplementos.
A partir daí, a marca passou a identificar as consumidoras que seriam mães, oferecendo produtos específicos e cupons de desconto relacionados a esse momento de compra, incluindo carrinhos de bebê, fraldas, loções sem cheiro e assim por diante. A tecnologia se tornou tão precisa que a organização passou a ser capaz de descobrir até mesmo o mês da gestação, acertando em cheio as necessidades das compradoras.
Esse processo é a chamada análise preditiva, um dos usos mais comuns da combinação de Big Data e machine learning. Essa análise consiste no uso de dados e técnicas de aprendizado de máquina para determinar a probabilidade de futuros resultados com base nas informações obtidas no passado.
Previsão de demanda
Uma boa previsão de demanda ajuda qualquer empresa a vender mais nas épocas de pico, assim como a evitar prejuízos e desperdícios em períodos de baixa. Porém, nem sempre é fácil fazer uma projeção da procura pelos produtos da marca. Para que essas previsões sejam corretas, é necessário contar com um grande volume de dados e com o aprendizado a partir do histórico da própria empresa e do mercado.
Justamente por isso, a combinação de Big Data e machine learning é extremamente útil para trazer confiança e clareza às decisões de negócios. Com base no processamento de dados, uma companhia pode realizar antecipações de demandas considerando diversos fatores financeiros, econômicos e mercadológicos.
Um exemplo de marca que apostou nessa estratégia foi a Nestlé, maior empresa de alimentos e bebidas do mundo. Ao lançar mão das tecnologias em questão, a companhia conseguiu melhorar em 9% a acuracidade da sua previsão de demanda.
Sistemas de recomendação
Você já navegou pelo site da Amazon ou pela plataforma da Netflix? Se sim, deve ter percebido que essas marcas são especialistas em fazer boas recomendações a seus clientes, seja de produtos, livros, séries ou filmes. Isso acontece porque elas sabem aplicar machine learning e Big Data em conjunto no dia a dia.
Na prática, recomendações personalizadas garantem aumentos do ticket médio, da fidelização e do valor de tempo de vida dos clientes, além de uma redução nas taxas de cancelamento de serviços. Para você ter uma ideia, a Netflix estima que seu mecanismo de recomendação, que sugere filmes e séries para os usuários, gera 1 bilhão de dólares de receita por ano.
O que mecanismos de recomendação tão eficientes fazem é cruzar grandes quantidades de dados para prever a probabilidade que cada cliente tem de comprar um item ou de gostar de um conteúdo. A partir daí, o sistema faz sugestões ao usuário, melhorando sua experiência e aumentando o engajamento.
Precificação dinâmica
A precificação dinâmica é uma estratégia que consiste em variar os preços de produtos e serviços para ampliar ao máximo a rentabilidade da empresa. Por meio dessa tática, é possível gerar descontos ou baixar valores para incentivar o fechamento de compras, assim como aumentar o preço em certos casos para expandir a margem de lucro.
Os preços flexíveis são baseados em diversos fatores, como o nível de interesse do cliente, a demanda no momento da compra ou o envolvimento do consumidor com uma campanha de marketing em específico. A partir da união de Big Data e machine learning, é possível realizar esses cálculos de forma automática, ganhando inteligência estratégica e agilidade.
Alguns exemplos de organizações que usam esse tipo de abordagem são as companhias aéreas e os serviços de viagens, incluindo hospedagem e aluguel de carros. Ao implementar com sucesso as ferramentas de precificação dinâmica, essas empresas conseguem maximizar suas receitas e ainda satisfazer os consumidores.
Mas e o deep learning?
Há várias abordagens para o machine learning. Uma bastante conhecida é chamada de deep learning ou aprendizagem profunda. Nela, grandes quantidades de dados são tratadas a partir de várias camadas de redes neurais artificiais (algoritmos inspirados na estrutura de neurônios do cérebro) que resolvem problemas muito complexos, como reconhecimento de objetos em imagens.
Deep Learning
Falando de uma forma bem simples de entender, Deep Learning (aprendizagem profunda, em português) é um tema emergente dentro do campo da Inteligência Artificial. Uma subcategoria de aprendizado de máquina que diz respeito a oportunidades de aprendizagem profundas com o uso de redes neurais para melhorar as coisas, tais como reconhecimento de fala, visão computacional e processamento de linguagem natural. Isso está rapidamente se tornando um dos mais estudados e procurados campos dentro da ciência da computação moderna.
Dito de outra forma, é um termo que cobre uma abordagem específica para a construção e formação de redes neurais. As redes neurais têm sido desenvolvidas e aprimoradas desde a década de 1950 e estão se tornando cada vez mais promissoras — aplicáveis para diversos fins, sobretudo no meio corporativo e indústrias de segmentos, como saúde, educação e e-commerce, entre outras.
O Deep Learning é a tecnologia base para ferramentas como o Google Translate (Google Tradutor) e a Cortana (assistente personalizado da Microsoft), por exemplo. Em suma, com enorme quantidade de poder computacional, as máquinas podem agora reconhecer objetos e traduzir voz em tempo real. O Deep Learning, portanto, torna finalmente a Inteligência Artificial de fato inteligente e aplicável.
Como deep learning funciona?
O deep learning transforma o modo como você pensa sobre a representação dos problemas que você quer resolver com analytics. Ele deixa de dizer ao computador como resolver o problema e passa a treinar o computador para resolver o problema sozinho.
Uma abordagem tradicional para analytics é utilizar os dados em mãos para desenvolver recursos que criam novas variáveis, então selecionar
um modelo analítico e, finalmente, estimar os parâmetros (ou as incógnitas) desse modelo. Essas técnicas podem produzir sistemas preditivos que não difundem bem, uma vez que a integridade e a exatidão dependem da qualidade do modelo e de suas características. Por exemplo, se você desenvolver um modelo com engenharia de recursos para prevenir fraudes, você deve começar com um conjunto de variáveis que, provavelmente, derivarão um modelo usando transformações de dados. Imagine que seu modelo pode chegar a depender de 30.000 variáveis, de modo que você deve moldá-lo, descobrir quais variáveis são significativas e quais não são, e assim por diante. Porém, adicionar mais dados exige que você faça tudo novamente.
A nova abordagem com deep learning consiste em substituir a formulação e a especificação do modelo por caracterizações hierárquicas (ou camadas) que aprendem a reconhecer as características latentes dos dados nas regularidades em camadas.
A mudança de paradigma do deep learning é a transição da engenharia de recursos para a representação de recursos.A promessa do deep learning é concretizar sistemas preditivos que se difundem e se adaptam bem, melhoram continuamente à medida que novos dados são adicionados e são mais dinâmicos do que sistemas preditivos baseados em regras de negócios. Você não mais adapta um modelo, você o treina.
Como funciona o Deep Learning na prática?
Tecnicamente falando, o Deep Learning faz o “treinamento” de um modelo computacional para que ele possa decifrar a linguagem natural. O modelo relaciona termos e palavras para inferir significado, uma vez que é alimentado com grandes quantidades de dados.
Em geral, as máquinas já são previamente “ensinadas” a ler os documentos e podem responder a questões colocadas sobre o seu conteúdo, mas as suas bases de conhecimento normalmente estão limitadas pelo tamanho dos arquivos. Como a quantidade de algorítimos online não para de crescer, a abordagem Deep Learning vem para fazer com que os sistemas possam fazer uso de um maior número de linguagem natural, concedendo-lhe uma compreensão mais profunda de temas universais.
Tradicionalmente, a qualidade dos algoritmos depende muito da representação dos dados em certas características (as chamadas features). Assim, Feature Engineering e pré-processamento consomem grande parte dos esforços dos especialistas e são específicos para cada domínio — na análise de imagens, por exemplo, é comum fazer o pré-processamento com algoritmos de detecção de fronteiras (os chamados edges) para facilitar a identificação de objetos.
Já os algoritmos do tipo Deep Learning têm uma abordagem inovadora, pois dispensam grande parte desse pré-processamento e geram automaticamente propriedades invariantes em suas camadas hierárquicas de representação.
Ao usar métodos baseados em Deep Learning, cientistas de dados, engenheiros e desenvolvedores de softwares têm conseguido ótimos resultados em diferentes aplicações (visão computacional, reconhecimento de voz e processamento de linguagem, especialmente). Usando várias camadas de processamento de dados não lineares, eles conseguem obter uma representação complexa e abstrata dos dados de forma hierárquica.
Dados sensoriais (pixels de imagens, por exemplo) são alimentados a uma primeira camada, sendo que a saída de cada uma delas torna-se a entrada da camada seguinte. Logo, o empilhamento de várias faixas desses “neurônios” é a ideia básica dos algoritmos do tipo Deep Learning.
Algumas aplicações
As aplicações são tão diversas que chega a ser difícil separar as “mais importantes”. Embora DL seja um técnica de proposito geral, as áreas que mais avançaram no estado da arte são:
Visão computacional;
Como reconhecimento de objetos, segmentação semântica, descrição de cenário, etc. A aplicação mais direta disso tudo em conjunto são os carros autônomos.
Reconhecimento da falae NLP;
É notável a melhoria nos assistentes pessoais como Cortana, Siri e Google Now nos últimos anos. E isso graças ao uso do DL.
Healthcare;
Um capítulo a parte nos avanços alcançados com DL foi na área da saúde, especificamente no disgnóstico por imagens.
Outras áreas. Como DL é um grupo de métodos de propósito geral, qualquer problema clássico de Machine Learning pode ser resolvido com DL. Ex:
Sistemas de Recomendação;
Filmes, livros e músicas baseadas em comportamento. A Netflix, Amazon e o Spotify utilizam bastante em suas plataformas.
Detecção de fraudes;
Muito comum nas Fintech como Nubank.
Análise de sentimento em vídeo;
Texto ou imagem. Muito utilizado para monitoramento de marca em redes sociais.
Deep Learning usado para Implementar Machine Learning
Outra abordagem em forma de algoritmo do início do movimento de machine learning, Redes Neurais Artificias, surgiram e desapareceram através das décadas. Rede neurais são inspiradas pelo nosso entendimento da biologia do nosso cérebro -- todas as interconexões entre neurônios. Mas, diferente de um cérebro biológico onde qualquer neurônio pode se conectar com qualquer outro neurônio dentro de uma certa distância física, essas redes neurais artificiais tem camadas discretas, conexões e direções de propagação de dados.
Você pode, por exemplo, pegar uma imagem, cortar ela em uma pilha de pequenos pedaços que são recebidos pela primeira camada da rede neural. Na primeira camada neurônios individuais, então passam os dados para uma segunda camada. A segunda camada faz o seu trabalho, e assim por diante, até que a camada final produza a saída.
Cada neurônio atribui um peso para os dados que entram — o quão correto ou incorreto ele é relativo a tarefa que está sendo executada. A saída final é então determinada pelo total desses pesos. Tome como exemplo a nossa placa de pare. Atributos de uma foto de uma placa de pare são cortados e examinados pelos neurônios — o seu formato octogonal, a sua cor vermelha, as suas letras distintas, o tamanho comum para placas de trânsito e o seu movimento (ou falta dele). O trabalho da rede neural é concluir se a imagem é de uma placa de pare ou não. Ela traz um “vetor de probabilidade”, que é um valor calculado a partir dos pesos atribuídos a imagem. Em nosso exemplo o sistema pode estar 87% confiante que a imagem é de uma placa de pare, 7% confiante que é uma placa de limite de velocidade e 5% que é um gato preso em uma árvore, e assim por diante — a arquitetura da rede então diz para a rede neural se está certo ou não.
Mesmo esse exemplo está indo a frente, porque até recentemente redes neurais eram evitadas pela comunidade pesquisadora de IA. Elas estavam presentes desde o início de IA, e haviam produzido muito pouco no sentido de “inteligência”. O problema era que mesmo a rede neural mais básica exigia muito computacionalmente, então era uma abordagem nem um pouco prática. Ainda assim, um grupo de pesquisa pequeno liderado por Geoffrey Hinton na Universidade de Toronto se manteve firme, finalmente conseguindo paralelizar os algoritmos para supercomputadores executa-los e provar o conceito, mas só quando GPUs foram incumbidos da tarefa que a promessa foi cumprida.
Se voltarmos para nosso exemplo da placa de pare, as chances são de que enquanto a rede está sendo ajustada ou “treinada”, está produzindo respostas erradas — recorrentemente. Ela precisa de treino. A rede precisa ver centenas de milhares, até milhões de imagens, até os pesos de cada informação recebida pelos neurônios estarem tão precisamente calibrados que conseguem responder de forma correta praticamente toda vez — com neblina ou sem neblina, com sol ou chuva. É nesse ponto que a rede neural aprendeu como que uma placa de pare se parece; ou a rosto de sua mãe no caso do Facebook; ou um gato, que é o que Andrew Ng fez na Google em 2012.
O grande avanço de Ng foi de pegar essas redes neurais, e essencialmente faze-las grandes, aumentar as camadas e os neurônios, e então alimentá-las com um nível massivo de dados para que fossem treinadas. No caso de Ng, eram imagens de 10 milhões de vídeos do YouTube. Ng colocou a palavra “deep” no deep learning, que descreve

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?