Prévia do material em texto
INTELIGÊNCIA ARTIFICIAL E COMPUTAÇÃO UBÍQUA Edilson Rodrigues 2 SUMÁRIO 1 INTRODUÇÃO GERAL À COMPUTAÇÃO UBÍQUA ...................................... 3 2 INTRODUÇÃO À INTERNET DAS COISAS - IOT ........................................ 17 3 CONECTIVIDADE .................................................................................... 31 4 INTRODUÇÃO À INTELIGÊNCIA ARTIFICIAL ............................................ 43 5 APRENDIZAGEM DE MÁQUINA .............................................................. 57 6 TÉCNICAS AVANÇADAS DE IA ................................................................ 70 3 1 INTRODUÇÃO GERAL À COMPUTAÇÃO UBÍQUA Apresentação Neste bloco você será apresentado aos conceitos de computação ubíqua e como ela está relacionada a indústria 4.0. Nos dias atuais, com o avanço de tecnologias como computação móvel, armazenamento em nuvem, internet das coisas e até mesmo a internet 5G, a computação está cada vez mais presente em nosso cotidiano, mesmo sem percebermos. Ela também se manifesta nos aplicativos de compras e entregas, nas rotas e mapas com GPS e até nas nossas informações que são passadas aos provedores de serviços sem que nós percebamos. Hoje, provedores como o Google obtêm nossos dados de localização, preferências musicais, entre outros, para nos fornecer serviços e produtos especializados. Saindo do âmbito pessoal, todos esses conceitos podem ser aplicados também à indústria 4.0. Atualmente, temos máquinas e sensores ligados a serviços em nuvem, que recebem e processam esses dados, dando retorno em tempo real aos diretores e gerentes, podendo sugerir paradas estratégicas de manutenção, anomalias no processo produtivo e até mesmo aprendendo a melhor forma de produzir determinado produto. Tudo isso só é possível graças ao conceito de computação ubíqua, que é o assunto abordado nesse bloco. 4 1.1 Principais Conceitos O conceito de Computação Ubíqua envolve a ideia de que os computadores podem estar em toda a parte para auxiliar os seres humanos em suas tarefas, sem que estes tenham consciência desse fato. Isso se deve, não só ao tamanho do dispositivo, mas também à capacidade de processamento das informações. Por exemplo, tarefas que, até poucos anos atrás, eram feitas de forma manual, como adicionar um evento em uma agenda ou escolher um filme para assistir, hoje já são feitas de forma automática e imperceptível. Nós só nos damos conta dessa dependência quando nos falta o acesso ao serviço. Antes da popularização da internet, o processamento das informações era feito localmente, ou no máximo por redes internas de computadores. Com o advento da internet, criou-se uma rede muito grande, a nível mundial, e as informações passaram a ser processadas de forma distribuída. Hoje, por exemplo, não sabemos o local exato onde nossas informações sobre preferências musicais estão sendo processadas, para que o aplicativo possa nos sugerir as músicas que mais gostamos. E isso pouco importa. O que interessa hoje é estarmos conectados e com acesso a esse processamento. O termo Computação Ubíqua foi definido no final dos anos 80 por Mark Weiser, que acreditava que a computação não estava restrita a um único computador, mas sim em diversos conectados entre si. Esse termo está relacionado com outros dois termos: • A computação pervasiva está relacionado com o conceito de que os meios de processamento da computação estão distribuídos nos ambientes de forma explícita ou implícita; • A computação móvel se refere à capacidade dos sistemas computacionais serem portáteis, podendo ser transportados e conectados aos serviços de rede e Internet. Assim, a computação ubíqua explora o melhor dos dois mundos: as capacidades de distribuição nos ambientes de forma implícita e a portabilidade dos sistemas computacionais. 5 Figura 1.1 – A relação da computação ubíqua com a pervasiva e a móvel A computação ubíqua está assentada sobres três princípios básicos: • A descentralização diz que o poder computacional deve ser distribuído entre as máquinas clientes e não centralizadas em um único servidor. Com a computação pervasiva, a responsabilidade está distribuída entre diversos tipos de equipamentos, tendo cada um suas funções específicas. Cada um dos componentes é autônomo e contribui em um ambiente computacional heterogêneo, estabelecendo uma rede de cooperação; • A diversificação diz respeito à capacidade da computação pervasiva em variar os dispositivos em vez de obter um computador de propósito geral. Assim, na computação ubíqua, que incorpora esse conceito, o processamento pode ser feito, por exemplo, em PCs, smartphones, smartwatch, entre outros. A principal dificuldade desse princípio é como administrar essas diversas plataformas e criar aplicações homogêneas entre elas; • A conectividade é o princípio que diz que os dispositivos presentes em um sistema ubíquo devem estar conectados entre si. A conexão pode ser dos mais variados tipos: internet, cabo, redes sem fio, entre outros. Devido ao princípio da diversificação, a conectividade entre os dispositivos deve ser padronizada, pois há uma diversidade de sistemas operacionais, de capacidade de armazenamento e de processamento. Assim, a indústria da tecnologia criou diversos padrões para o intercâmbio de informações: desde frameworks de desenvolvimento de softwares multiplataforma até protocolos de envios de 6 mensagens, como FTP ou TCP/IP. Assim, um mesmo sistema pode ser acessado tanto de um PC quanto de um smartphone, por exemplo. 1.2 As Revoluções Industriais Antes de entrarmos no assunto de Indústria 4.0, vamos abordar a parte histórica das revoluções industriais. A Primeira Revolução Industrial se deu em meados do século XVIII na Inglaterra e teve como grande marco a substituição da mão-de-obra humana por máquinas. Destacadamente, o setor têxtil foi o mais beneficiado pela adoção da máquina de fiar e do tear mecânico. Já a Segunda Revolução Industrial teve por base o uso da ciência como forma de se maximizar lucro e produção. Ao contrário da Primeira, ela não ficou restrita a um único país e teve laços nos Estados Unidos, Japão e Europa. Além da utilização da ciência como premissa, essa segunda fase substituiu também a fonte de energia: sai o vapor, entra petróleo e energia elétrica. Ademais, foi introduzido no processo produtivo o conceito de produção em massa, inaugurado por Henry Ford. Esse conceito, denominado Fordismo, consistia em transportar as peças até os operários através de esteiras rolantes, criando assim uma linha de produção. Em paralelo, Frederick Taylor também criou um modelo de racionalização de produção, chamado Taylorismo, que consistia em estudar as ações dos operários com o intuito de identificar os especialistas para cada área da linha produtiva. A Terceira Revolução Industrial, também conhecida como Revolução Tecno-Científica, ocorreu no início do século XX e teve como característica a introdução da eletrônica e da informática no processo produtivo. Paulatinamente, a ideia de produção em massa foi sendo substituída pela produção orientada por estoques, em pequenos lotes, de acordo com a demanda. Os produtos em si passaram a ter maior valor agregado pois incorporavam as descobertas tecnológicas e todo o seu custo de pesquisa e desenvolvimento. Assim, surgiram a microeletrônica, a informática e robótica, que foram fatores preponderantes para que essa terceira fase pudesse ocorrer. 7 A microeletrônica tem seu marco histórico no ano de 1947 com a invenção do transistor, que substituiria com sucesso as válvulas termiônicas e os relés eletromecânicos. A partir de 1950, esse componente passou a ser comercializado e é encontrado em circuitos eletrônicos até os diasatuais. Já a informática (ou computação) teve seu marco histórico em 1946 com a criação do primeiro computador digital eletrônico, chamado ENIAC. A computação era feita através de válvulas e apresentou um grande avanço à época, principalmente na área militar. A partir do advento do transistor, os computadores foram ficando cada vez menores e mais baratos, e passaram a fazer parte do mundo corporativo e da indústria, até finalmente chegarem às residências, tornando-se equipamentos de uso pessoal. Por fim, a robótica teve um papel importante na substituição do homem por máquinas em tarefas repetitivas e nocivas à saúde e segurança. Além disso, com a adoção de robôs, houve um aumento significativo na produtividade, na melhoria de qualidade e redução de custos. A Quarta Revolução Industrial é o momento que estamos vivenciando atualmente. Na verdade, há uma transição entre a terceira revolução e os dias atuais. Isso se dá devido ao fato de estarmos vivenciando a era da inteligência artificial, da internet das coisas e da nanotecnologia. Se, nas duas primeiras, o foco estava na fonte de energia (vapor, elétrica, petróleo) e a terceira em eletrônica e informática, a quarta revolução está baseada em dados e informações. Assim, o processo produtivo de hoje está direcionado à troca de dados e informações entre os diversos atores envolvidos: clientes, fornecedores, vendedores e funcionários. Podemos dizer, então, que o mote da Indústria 4.0 é a conectividade, isso porque tudo que envolva o processo de produção deve estar interconectado: do fornecedor ao cliente, passando pelos sistemas, máquinas, logística, estoque, entre outros. 8 Figura 1.2 – Indústria 4.0 Os idealizadores da Indústria 4.0 definem um termo chamado sistemas cyber-físico, onde há uma integração entre o mundo digital e virtual com o mundo físico. Assim, um caminhão de entrega ou uma máquina que produz peças automotivas estão interligadas através de um ambiente virtual, enviando e recebendo informações. Com o decorrer do tempo, a inteligência estará não só nos meios de produção como também nos produtos. Através da internet das coisas e do 5G, o mundo que se desenha em um futuro médio- próximo será um ambiente onde pessoas, empresas e produtos estarão conectados de forma pervasiva e móvel. Voltando ao processo fabril, a tendência é que as fábricas sejam inteligentes e as máquinas, dotadas de inteligência artificial e alta capacidade de troca de informações, possam funcionar de forma autônoma, com pouca ou nenhuma interferência humana. 1.3 A Indústria 4.0 O termo Indústria 4.0 foi cunhado no ano de 2011 na Alemanha, como parte de um processo estratégico para o aumento da produtividade através de inovações e alta tecnologia. Um conglomerado de organizações alemãs definiu, em 2013, uma série de diretrizes para a Indústria 4.0, a saber: 1. Normalização e referência arquitetural – Refere-se a como a Indústria 4.0 integrará diferentes tipos de negócios em rede, com padronização, referência e modelo, especificando as características técnicas do projeto. 9 2. Infraestrutura de comunicação para o setor industrial – Faz-se necessária para se obter a melhor forma de troca de informação entre os sistemas. Para tanto, deve haver sistemas de comunicação em banda larga, para que a indústria se comunique de forma rápida e eficiente com o restante do mundo. 3. Segurança da informação – Devido ao fato de os equipamentos estarem conectados em rede, deverá haver políticas de segurança consistentes para evitar acessos não autorizados e violação das informações. 4. Reorganização do trabalho – Os processos são monitorados em tempo real e podem ser alterados devido a decisões gerenciais. Os operários podem tomar decisões e não somente repetir operações. 5. Regulamentação – Todos os negócios e processos devem estar de acordo com as leis. O direito intelectual e a confiabilidade dos dados devem ser garantidos. 6. Utilização eficiente dos recursos – Na Indústria 4.0 é necessário a alocação eficiente de recursos para reduzir custos e melhorar o uso de energia e matéria- prima, alinhado também às políticas de preservação do meio-ambiente. Além das diretrizes supracitadas, a Indústria 4.0 está relacionada a dois outros importantes conceitos: Um sistema cyber-físico (Cyber-Physical Systems ou CPS) visa integrar e coordenar elementos computacionais e físicos, unindo a capacidade de atuação do mundo físico e a inteligência disponível nos sistemas informatizados. Com isso, os sistemas físicos passam a ser dotados de novos recursos, como, por exemplo, a tomada de decisões. Assim, uma geladeira (mundo físico) pode tomar a decisão de efetuar uma compra baseada nas preferências do seu proprietário. Desta forma, em um CPS, todas as operações passam a ser monitoradas, controladas e integradas por núcleos de computação e comunicação. Portanto, um CPS é um conjunto de máquinas inteligentes, sistemas de armazenamento e dispositivos de produção que são capazes de realizar trocas de informações de forma autônoma. 10 Uma Smart Factory é um CPS de manufatura que integra objetos físicos, como máquinas, esteiras transportadoras e produtos com os sistemas de informação de gerenciamento de produção e planejamento de recursos. Esses sistemas são conhecidos pelas siglas MES e ERP. A Smart Factory é uma das bases da Indústria 4.0, pois integra sistemas de fabricação interconectados e processos produtivos inteligentes. Para que ela possa ser implementada, é necessário que os objetos envolvidos sejam inteligentes e deve haver suporte para análise de dados em grande quantidade. Com os objetos inteligentes, a Smart Factory pode se reconfigurar dinamicamente, alcançando assim uma alta flexibilidade no processo produtivo. Além disso, com o advento de uma capacidade de análise massiva de dados, poderá ser feito um feedback e coordenação de forma global, gerando assim uma alta eficiência. Ao contrário da ideia do Fordismo, uma Smart Factory pode produzir produtos personalizados e em pequenos lotes, mas com grande eficiência e lucratividade. Assim, uma fábrica inteligente deve possuir as seguintes características: • Produção massiva – O processo deve atender aos requisitos de produção, incluindo as especificações do cliente, permitindo alterações tardias; • Flexibilidade – Aspectos como qualidade, tempo, custo e meio-ambiente devem ser levados em consideração; • Criação de novos serviços – Por meio da internet das coisas, pode-se ofertar serviços antes e após a compra; • Monitoramento remoto – Com a internet das coisas e integração de sistemas, fornecedores e clientes podem monitorar o processo produtivo; • Manutenção proativa – Coletar dados de desempenho e monitorar a produção permite uma melhor previsibilidade de manutenções. 11 1.4 Os pilares da Indústria 4.0 A Indústria 4.0 possui nove pilares, como mostrado na figura a seguir: Figura 1.3 – Os nove pilares da Indústria 4.0 A seguir, veja uma breve explanação sobre cada um deles. 1. Internet das coisas (IoT) – O conceito fundamental por trás da IoT é fazer com que objetos possam se conectar à internet. A variedade desses objetos pode ser grande e as aplicações são as mais diversas possíveis. Por exemplo, é possível conectar desde sensores industriais até eletrodomésticos à internet, e, por meio do envio de dados, é possível acompanhar suas informações através de smartphones. Com isso, tarefas mais simples, como uma geladeira efetuar compras de alimento automaticamente, ou mais elaboradas, como a capacidade de realizar a manutenção preditiva de uma máquina, podem ser realizadas através da IoT. 12 2. Big Data – Pode ser definido como o conjunto de ferramentas e tecnologias para armazenamento e processamento de grande volume de informações. Elas podem serretiradas de diversas fontes como redes sociais, sensores industriais (pela IoT), banco de dados diversos, GPS, transações bancárias, entre outras. Assim, o Big Data está assentado sobre os três “V”: volume, velocidade e variedade. O volume está relacionado à quantidade de dados que são gerados; a velocidade se refere a como os dados trafegam pela internet; e a variedade é o termo utilizado para definir os diversos formatos em que esses dados são gerados. Portanto, um bom sistema de Big Data deve ser capaz de processar, armazenar e lidar com diversas fontes de dados em grandes quantidades. 3. Robôs – Inicialmente, os robôs foram projetados para realizarem tarefas repetitivas que requeriam precisão. Eles possuíam programação fixa e qualquer mudança no processo causaria uma parada para reprogramação. Na Indústria 4.0, a robótica passou a ser autônoma, isto é, os robôs são capazes de perceber o ambiente e aprender novas funções. 4. Manufatura Aditiva – Esse conceito está ligado à capacidade da empresa em buscar novos negócios, oferecendo produtos personalizados e com preços reduzidos. Com a tecnologia da impressão 3D, a personalização de produtos passou a ser mais barata e eficiente, pois uma mesma máquina é capaz de produzir diferentes modelos sem alterar o processo produtivo. 5. Computação em Nuvem – É o termo utilizado para se referir aos serviços de informática disponíveis pela internet. Por exemplo, o acesso a arquivos e aplicativos podem ser feitos diretamente do navegador, sem a necessidade de baixá-los ou instalá-los no computador. Isso barateia o processo, pois as empresas não precisam manter Data Centers próprios e contratam serviços especializados, como Microsoft, Google ou Amazon. 13 6. Segurança da Informação – Devido ao fato de vários atores estarem envolvidos no processo produtivo, e conectados entre si, a Indústria 4.0 precisa garantir que a troca de informações entre esses atores possa ocorrer de forma segura, evitando vazamentos e exposição indevida de dados. 7. Simulação – Por meio de ferramentas de virtualização, é possível simular e criar cópias virtuais de máquinas e até mesmo de linhas de produção inteiras. A ideia é simular em laboratório todas as operações e trocas de sinais que uma determinada máquina iria fazer em ambiente real. Com isso, diminui-se o custo de testes e a lógica do software pode ser testada em ambiente simulado, acarretando menos tempo e maios precisão. 8. Realidade Aumentada – A definição de RA é a integração de ambientes virtuais e reais em tempo real, com o auxílio de equipamentos como smartphones, câmeras e óculos de realidade virtual. Para nós, o seu principal objetivo é inserir e capacitar o funcionário no processo produtivo, pois ele terá, ao mesmo tempo, o contato com a máquina física e informações virtuais sobre ela. 9. Integração de Sistemas – Existe a necessidade de conectar todo o chão de fábrica com o meio coorporativo. Assim, os sistemas de gerenciamento e controle passam a ser integrados com os sistemas produtivos, possibilitando ao gestor saber, com precisão, informações em tempo real, tais como produtividade e manutenções programadas. Além disso, toda a cadeia produtiva estará integrada, desde a logística e fornecedores até o cliente final. 14 1.5 Tecnologias da Indústria 4.0 Como vimos, a Indústria 4.0 mudou completamente o processo produtivo, introduzindo novas tecnologias que podem ser divididas em três sistemas: físico, digital e biológico. A seguir, abordaremos cada uma dessas inovações tecnológicas. A primeira se refere às tecnologias de sistemas digitais, tais como IoT, Blockchain e Plataformas Digitais. A IoT, como visto anteriormente, é a capacidade de objetos estarem conectados à internet, trocando informações entre si. Ela é uma evolução dos processos de automação industrial, que anteriormente eram feitos através de código de barras e etiquetas de rádio frequência. Assim, com a IoT, uma máquina ou produto pode enviar informações em tempo real sobre seu estado. Entre os principais benefícios da utilização da IoT, destacamos os seguintes: • Aumento da eficiência de recursos e energia (o ar-condicionado pode desligar sozinho dependendo da temperatura ambiente); • Aumento da produtividade (manutenção remota e programada); • Melhoria na qualidade de vida (sensores de saúde, como pressão e glicose); • Segurança (monitoramento de problemas na aviação); • Gestão (integração de toda a cadeia de suprimentos). Embora a internet tenha trazido muitas inovações, a grande questão que restou foi como efetuar transações financeiras de forma segura. Assim, em meados dos anos 2000, surgiu a primeira moeda digital, denominada Bitcoin. A grande inovação é que essas criptomoedas não são emitidas por Banco Central de países e seguem as regras de cálculo distribuído através de protocolos de Blockchain. Desta forma, a integridade dos dados trocados está garantida, e a negociação é ponto-a-ponto, sem a necessidade de interferência de terceiros, como os bancos. Essas carteiras virtuais, chamadas de Blockchain, permitem às empresas e as pessoas o envio e recebimento de dinheiro, sem a necessidade de intermediários, como bancos ou operadoras de cartão de crédito. 15 Por fim, as plataformas digitais mudaram completamente a forma de consumo. As redes sociais e os aplicativos de entrega rápida, de transporte, de aluguel de imóveis, entre outros influenciam como as empresas e pessoas compram e vendem seus produtos. Assim, a Indústria 4.0 passa a ser uma intermediação entre o mundo físico de produção ao mundo conectado dos ambientes virtuais. As tecnologias do sistema físico são aquelas que agem diretamente sobre máquinas e produtos. As mais comuns são Inteligência Artificial (IA), Robótica, Materiais Modernos, Veículos Autônomos e Impressão 3D. Com a IA, as máquinas adquiriram a capacidade perceber o ambiente e tomar decisões autônomas. Além disso, algoritmos sofisticados de aprendizagem possibilitaram a adoção da IA em quase todos os ramos do cotidiano, tais como sistemas de recomendações, veículos autônomos e diagnósticos médicos inteligentes. Em parceria com a robótica, a IA trouxe os sistemas robóticos inteligentes, que auxiliam na manufatura, na aviação (drones) e robôs humanoides, como os assistentes pessoais. Outro aspecto relevante em relação aos sistemas físicos são os novos materiais que prometem revolucionar todo o processo produtivo. Eles são os supercondutores, o grafeno e os nano materiais. Por fim, os sistemas de impressão 3D compostos pela modelagem tridimensional e a impressão em si, permitem as empresas personalizarem seus produtos sem aumentar necessariamente o custo. As tecnologias do sistema biológico vão desde as biotecnologias, como bactérias que produzem resinas, cosméticos e medicamentos; passando por sistemas que interagem com os humanos de forma emotiva, como os objetos vestíveis (óculos, relógios). Assim, a junção de tecnologias desses três sistemas possibilitou que a Indústria 4.0 passasse a ser interligada em todas as suas áreas, como a produção, venda e pós-vendas. 16 Conclusão Neste Bloco nós vimos os conceitos básicos sobre computação ubíqua e como ela está presente no dia a dia e no processo produtivo. Além disso, vimos as origens e evoluções do processo de fabricação através das revoluções industriais. Por fim, foi abordado o que é a Indústria 4.0, seus conceitos, pilares e tecnologias. REFERÊNCIAS ADELSTEIN, F. et al. Fundamentals of Mobile and Pervasive Computing. 1. ed. New York: McGraw-Hill, 2004. LYYTINEN, K.; YOO, Y. Issues and Challenges in Ubiquitous Computing. Communications of the ACM, v. 45, n. 12, dez. 2002. SCHWAB, K. A quarta revolução industrial. São Paulo: Edipro, 2016.17 2 INTRODUÇÃO À INTERNET DAS COISAS - IOT Apresentação Neste bloco você será apresentado aos conceitos de Internet das Coisas (IoT) e os seus principais dispositivos. Ao fim, você verá um estudo de caso real de desenvolvimento de um sistema utilizando a IoT. A Internet das Coisas é responsável atualmente pela integração, por meio de sensores, de dispositivos, máquinas e produtos aos sistemas computacionais. Assim, é possível enviar dados de uma máquina, tais como quantidade produzida, horas gastas, entre outros, diretamente ao sistema computacional de uma empresa. Em posse desses dados, é possível analisá-los e processá-los para tomar as decisões. Essa tecnologia não se restringe apenas às indústrias, mas pode ser aplicada em qualquer área. Por exemplo, você pode ter, em sua casa, um eletrodoméstico inteligente, tal como uma geladeira ou ar-condicionado, que realiza tarefas autônomas baseadas em dados obtidos pela IoT. Assim, sua geladeira poderá efetuar compras sozinha ou o seu ar-condicionado ligar e ajustar a temperatura de acordo com as preferências de seu proprietário. Tudo isso só se tornou possível com a IoT, que é o assunto abordado nesse bloco. 2.1 História e Conceitos Básicos Ainda não há consenso, mas o termo IoT parece ter surgido em 1997, quando Kevin Ashton desenvolvia um trabalho para a empresa Procter and Gamble com etiquetas de rádio frequência (RFID) com o objetivo de gerenciar cadeias de suprimento. Em 1999, ele se juntou a um grupo de pesquisadores do MIT, em um consórcio denominado Auto- ID Center. 18 No início eram apenas tags de RFID e, atualmente há todo um ecossistema por trás, empregando diversos dispositivos. Estima-se que, até 2030, mais de um trilhão de dispositivos estejam conectados à Internet. Até os anos 2000, os dispositivos conectados à internet eram apenas os computadores em seus variados tamanhos. No fim dessa mesma década, com a chegada dos smartphones, esses passaram a se conectar de forma ativa à Internet, em um cenário que perdurou até 2012. Neste ano, o interesse e o número de publicações e patentes sobre IoT começou a se destacar e desde então esse número tem aumentado exponencialmente. Uma vez que aumentou o interesse sobre esse assunto, é de se esperar que o impacto dessa tecnologia nos diversos segmentos da sociedade também possa ser considerável. Desta forma, setores industriais, empresariais, de saúde e de consumo estão utilizando a IoT em uma escala bastante razoável e modificando a forma de construção de seus produtos. Segundo a pesquisa “The Internet of Things: Mapping Value Beyond the Hype, McKinsey and Company 2015”, até 2020 a IoT teve impacto em 4% do PIB global. A tendência é que esse número cresça ainda mais, destacando o papel e o potencial que a IoT terá em nossas vidas. Explicada a importância do tema, vamos introduzir alguns conceitos sobre a IoT. Em primeiro lugar, devemos separa-la dos dispositivos que naturalmente são conectados à Internet, tais como PCs, smartphones, roteadores, servidores, infraestrutura de TI, impressoras e scanners. O escopo da IoT é essencialmente os dispositivos que não teriam um acesso natural à Internet e que possuem pouca ou nenhuma capacidade de comunicação e processamento computacional. Assim, um dispositivo, para ser considerado parte da IoT, deve ser capaz de hospedar software e hardware de conexão à Internet, um protocolo de rede tal como 802.3 e não ser um dispositivo naturalmente conectado, como os elencados acima. Além disso, diversos sensores não possuem a capacidade de se conectarem diretamente a Internet, sendo necessário dispositivos denominados gateway. Em outras palavras, os sensores são conectados aos gateways por meio de redes locais, como Bluetooh, RS232 ou outros padrões, e os gateways se conectam a internet. 19 Portanto, a IoT se refere aos dispositivos que não são naturalmente conectados à internet e que são dotados de capacidade e protocolo de conexão à internet ou aos gateways que reúnem os sensores que não possuem tal capacidade. 2.2 Arquitetura O início do processo de IoT se dá pelos sensores mais simples, que tem por função converter grandezas físicas analógicas, tais como temperatura, pressão, entre outros, em sinais digitais. Esses dados digitais percorrem redes com ou sem fio até chegarem a um data center ou a uma nuvem, ficando disponíveis para o processamento. Quando temos milhares ou até milhões desses sensores conectados à internet, enviando informações em tempo real, nós temos toda a força e potencial da IoT. Para que uma solução IoT possa ser implementada, é necessário a utilização de alguns componentes. Dentre eles, destacamos os seguintes: • Sensores, atuadores e sistemas físicos – São os dispositivos necessários para interagir com os sistemas físicos, tanto para a coleta de dados quanto a alteração de estado. Os sensores são responsáveis por fornecer informações do sistema físico, como a temperatura de uma sala ou câmera de reconhecimento facial. Os atuadores são responsáveis por alterar o estado do sistema, tal como ligar/desligar ou movimentar um braço robótico. Desta forma, os sensores funcionam como entrada para as soluções IoT e seus dados podem ser lidos, processados e armazenados. Os atuadores, por sua vez, funcionam na outra ponta, tendo a função de executar ações físicas após o processamento e tomada de decisão. Por exemplo, um sensor de temperatura em uma granja envia informações em tempo real a um sistema. Conforme a variação dessa temperatura, é necessário ligar ou desligar o sistema de refrigeração e aquecimento. Tarefa essa executada por um atuador do tipo liga / desliga; • Sistema de comunicação de sensores – Geralmente baseado em redes locais, de baixa potência e alcance, como o Bluetooth; 20 • Redes LAN – Para comunicação ponto-a-ponto, tal como o envio de dados entre filiais; • Redes WAN – Provedores de redes celular, satélite ou banda larga para envio e recebimento de informações. Alguns provedores de serviço já possuem protocolos específicos para IoT. Mas esses dados podem utilizar o protocolo HTTP tranquilamente; • Roteadores e gateways – Para a concentração e direcionamento dos dados fornecidos pelos sensores; • Computação de borda – Distribuição do processamento em nuvens ou data centers mais próximos da fonte de dados. Isso é utilizado para diminuir a latência em sistemas de tempo real; • Nuvem – Infraestrutura de serviço para armazenamento e processamento de dados utilizando a internet; • Análise de Dados – À medida que os dados em grande escala são enviados para a nuvem, são necessárias técnicas para lidar com seu grande volume. Além disso, é preciso ter algoritmos de aprendizado de máquina e análise de dados para processar essas informações e possibilitar tomada de decisões; • Segurança – Uma solução IoT deve ser segura de ponta a ponta, desde os sensores até os sistemas de comunicação. Ademais, a arquitetura de um sistema IoT pode ser dividida conceitualmente em cinco camadas, como veremos a seguir: • Camada de percepção – Possui os elementos base da IoT, como os sensores e atuadores; • Camada de conexão – Envia os dados coletados na camada de percepção para a camada de middleware, utilizando redes com fio ou sem fio, ou tecnologias como Bluetooth; 21 • Camada de middleware – Trabalha com os dados coletados e enviados pelas camadas de percepção e conexão e fornece uma interface de acesso a eles pelas camadas superiores; • Camada de aplicação – Responsável pelo gerenciamento global do sistema através do envio e recebimento dos dados para os dispositivos e usuários; • Camada de negócio – Responsável pela visualização dos dados enviados pela camada de aplicação. Fonte: Andrade et al., 2018. Figura 2.1 – Camadas da IoT 22 2.3 DispositivosUma transação em um sistema IoT começa ou termina por meio de um evento, como um dado enviado por um sensor ou um atuador entrando em operação. Esses eventos, em sua maioria, estão ligados a sistemas físicos, necessitando assim de energia para seu funcionamento. Um dispositivo IoT é também chamado de endpoint dentro de um sistema e é a fonte de dados. Ele é dotado de um conjunto de sensores que transforma grandezas analógicas em digitais e deve ser adequado ao propósito do sistema. Nesta seção abordaremos o conceito de sensor, que é a base da IoT. Os sensores podem ser de diversos tipos e propósito. Destacamos alguns deles: • Sensor de temperatura – São os mais comuns e estão presentes em diversas aplicações, tais como termostatos inteligentes (dispositivos que ligam / desligam um equipamento de acordo com sua temperatura), galpões de logística a frio, refrigeradores industriais, estações meteorológicas, motores, automóveis, entre outros; • Sensores de efeito Hall – utilizam o efeito Hall, que é a diferença de tensão em um campo magnético, para medir grandezas físicas. Essa diferença de tensão é ocasionada por uma corrente elétrica que pode anular ou não o campo magnético. Assim, esses sensores são utilizados em aplicações que devem medir a corrente em um sistema. Entre suas aplicações estão a detecção de posição; a atuação como magnetômetros (sensor de campo magnético); e como interruptores. Suas aplicações podem ser detecção de nível de água, velocidade de rotação de motores, entre outros; • Sensores fotoelétricos – São sensores capazes de detectar a quantidade de luz presente em um ambiente e possuem uma gama de aplicações em IoT. Podemos mencionar como exemplo, sua utilidade em sistemas de segurança, iluminação pública, interruptores inteligentes etc.; 23 • Sensores PIR (infravermelho) – Possuem materiais que regem à radiação infravermelha e ao calor. São utilizados principalmente em sistemas de segurança, com feixes infravermelhos, e detecção de corpos quentes; • Sensores LiDAR – Medem a distância de um alvo por meio da reflexão do pulso de laser nesse alvo. Além disso, são capazes de detectar qualquer coisa que interrompa esse feixe de laser. Assim, possuem uma ampla gama de aplicação em variados setores. Eles podem analisar gases, atmosfera, formação de nuvens, velocidade de objetos em movimento, entre outros; • Sensores micro eletromecânicos – São sensores que possuem microestruturas mecânicas interligadas com controles eletrônicos. Por serem mecânicas, elas podem sofrer alterações em sua forma, impactando no sinal elétrico emitido. É nesse tipo de sensor que está a aposta do crescimento da IoT, pois estão presentes em acelerômetros, giroscópios, pedômetros, microfones, detecção de vibrações, pressão etc.; • Sistemas de visão – Ao contrário dos sensores acima, os sistemas de visão são mais complexos e envolvem óptica (lentes) e sensores para a captação de luz. Em conjunto, eles fornecem imagens em resolução e são utilizados em sistemas de reconhecimento facial, cidades inteligentes, entre outros. Por fim, é interessante abordarmos o conceito de fusão de sensores. Por exemplo, um sensor de temperatura detecta a variação de temperatura sem analisar o contexto. Esse mesmo sensor, em conjunto com sensores de movimento e detecção de luz, pode fornecer uma visão geral mais ampla do ambiente. Por exemplo, a temperatura aumentou devido ao sol ou ao acúmulo de pessoas no ambiente? Assim, a tomada de decisão é facilitada quando temos essa fusão de sensores. Nos sistemas atuais de IoT, essa técnica é muito utilizada e pode ser feita de duas formas: • Centralizada – Os sensores enviam os dados individualmente e são combinados na nuvem; 24 • Descentralizada – Onde os dados são combinados nos próprios sensores (uma grandeza x combinada com uma grandeza y gera uma grandeza z). 2.4 Internet Industrial das Coisas - IIoT A IIoT é uma variação da IoT e se aplica em ambientes industriais, como parte da Indústria 4.0. Assim, o termo está relacionado as indústrias de manufatura e surge como um processo de criação de valores nos processos industriais, cadeia de suprimentos e produtos e serviços. O objetivo da IIoT está em transformar ou transportar produtos ou materiais bem como as máquinas ou equipamentos utilizados nesses processos. A IoT, em um contexto industrial, atua em três áreas específicas, que são: 1. Coleta de dados de produção – Esses dados são os mais utilizados na indústria, pois estão relacionados diretamente ao processo de produção, que geralmente é interno à empresa. São obtidos por meio de sensores inseridos nas máquinas e equipamentos e trazem um retrato de todo o processo, facilitando assim a rastreabilidade. Informações como quantidade produzida, horário, lote de matéria prima, entre outros, estão disponíveis mais facilmente com a IIoT. 2. Coleta de dados de não-produção – Normalmente, a detecção de dados para as operações industriais é eficiente. Entretanto, os dados de manutenção, controle de qualidade e estoque de materiais não são coletados de forma tão eficaz. Nesse sentido, a IoT ajuda a tornar o processo mais eficiente, tornando esses dados mais acessíveis, mesmo que eles estejam em fornecedores ou terceiros. Esses dados, em conjunto com os dados de produção, ajudam a integrar toda a fábrica, criando um ecossistema robusto. Por exemplo, se temos os dados de quantas peças uma máquina produziu e o nível de vibração do motor, podemos programar uma parada para manutenção preventiva dessa máquina antes que ela fique inoperante, acarretando grandes prejuízos a empresa. 25 3. Coleta de dados de produto – Uma grande dificuldade enfrentada pelas indústrias é obter dados do produto e do processo relacionado ao produto na medida em que ele se movimenta dentro do seu ciclo de vida. Os poucos dados disponíveis ainda podem estar fragmentados nos bancos de dados dos fornecedores, fabricantes, distribuidores etc. Um sistema de IIoT onde os dados do produto são coletados e vinculados a uma entidade física durante o seu ciclo de vida é o ideal para monitorar esse produto onde quer que esteja. Em conjunto, esses três tipos de dados coletados fornecem uma maneira de obter melhor visibilidade sobre as operações e os ativos da empresa, podendo até servir de base para tomada de decisões. Essa integração entre sensores; middleware; sistemas de gestão e armazenamento; e computação em nuvem permite que haja um método de transformação dos processos operacionais através do feedback obtido pela análise desses dados. Assim, o negócio como um todo torna-se mais eficiente, reduzindo tempo de paradas não planejadas e consequentemente aumentando os lucros. 2.5 Casos de Uso Além das aplicações industriais vistas acima, a IoT pode ser aplicada em diversas outras áreas: • Consumidor – Dispositivos baseados no consumidor foram um dos primeiros segmentos a adotar a IoT. A ideia surgiu nos anos 1990, quando alunos de uma universidade conectaram uma cafeteira elétrica à internet. Atualmente o conceito de casa inteligente está bastante difundido, com milhares de residências possuindo termostatos inteligentes, lâmpadas Hue e assistentes pessoais como a Alexa. Todos esses componentes estão interligados entre si e conectados à internet, permitindo ao consumidor controlar toda sua casa através de aplicativos no smartphone onde quer que estejam. Além disso, temos também a IoT presente na tecnologia vestível, isto é, equipamentos tais como óculos ou relógios que fornecem dados sobre o corpo em tempo real. Assim, a IoT do consumidor está presente em alguns casos: 26 ➢ Gadgets domésticos – Luzes inteligentes, controle de acesso, irrigação, segurança e termostatos inteligentes; ➢ Vestíveis – Rastreadores de saúde e movimento, roupas inteligentes; ➢ Pets– Localização de animais, automação de comida e portas para animais. • Comércio – Essa categoria está ligada com qualquer espaço onde o comércio com o consumidor seja realizado, podendo ser o varejo, finanças, marketing, lazer e hospitalidade. O setor de varejo é o que está mais avançado, e já há supermercados inteligentes, onde prateleiras e carrinho de compras estão conectados ao sistema, permitindo um melhor controle no fluxo de estoque e pagamento. Assim, na área de comércio temos alguns casos de uso da IoT: ➢ Publicidade direcionada – Detecção do cliente por proximidade, oferecendo produtos personalizados; ➢ Sinalização – Monitoramento de chegadas e saídas para controle de tráfego; ➢ Rastreamento de ativos – Controle de estoque, controle de perdas e otimização de cadeias de suprimento; ➢ Armazenamento a frio – Análise de produtos perecíveis e análise de fornecimento de alimentos; ➢ Seguro – Análise de risco de motoristas, seguros de ativos; ➢ Sinalização digital – Locais de entretenimento como shows, parques e museus, possuindo sinalização inteligente baseada na coleta de dados dos frequentadores. • Saúde – Juntamente com os setores industrial e de logística, o segmento de saúde é o que mais utiliza IoT. Há uma grande preocupação em reduzir custos de saúde e melhorar a qualidade de vida das pessoas nos países mais desenvolvidos. 27 Nesse ponto, a IoT auxilia no monitoramento remoto dos pacientes, fornecendo dados para que as ferramentas de análise de dados possam diagnosticar doenças e prescrever medicamentos. Estima-se que há, atualmente, 500 milhões de equipamentos de saúde vestíveis utilizados no mundo inteiro. As informações sobre saúde são críticas e devem estar disponíveis no padrão 24/7 (24 horas, sete dias por semana) e podem estar tanto nas residências quanto em hospitais ou até mesmo em ambulâncias. Assim, temos uma gama de aplicações de IoT na saúde: ➢ Atendimento domiciliar; ➢ Modelos de saúde preditivos e preventivos; ➢ Rastreamento de idosos; ➢ Equipamentos hospitalares; ➢ Rastreamento de insumos hospitalares; ➢ Rastreamento de drogas e medicamentos; ➢ Indicador de queda do paciente. • Transporte e logística – Atualmente é o segmento que mais demanda aplicações de IoT. Está presente em dispositivos de rastreamento de produtos, veículos autônomos, indicadores de manutenção preventiva de veículos, otimização de frotas e itinerários de trens e ônibus. Hoje-em-dia, um veículo é fabricado com cerca de 100 sensores, mas a medida em que forem ganhando autonomia, esse número tende a crescer, pois eles estarão interligados com outros veículos e até com as rodovias. Assim, as principais aplicações de IoT em transporte e logística são: ➢ Rastreamento de frota; ➢ Planejamento de rotas; ➢ Manutenção preventiva de veículos; 28 ➢ Rastreamento de entregas de produtos. • Agricultura e meio ambiente – A IoT no segmento agrícola e ambiental está presente na saúde do gado, análise de solo, previsão climática, uso eficiente de água, entre outros. Com o aumento da demanda mundial por alimentos, o setor agrícola empregará muito mais tecnologia para a otimização da produção, incluindo a IoT. Experiências bem-sucedidas, como iluminação inteligente em granjas, mostraram que, com o uso de IoT, há uma tendência na queda de custos no processo de produção de alimentos. Assim, a IoT está sendo usada no segmento agrícola das seguintes maneiras: ➢ Técnicas inteligentes de irrigação e fertilização; ➢ Iluminação inteligente em aviários; ➢ Saúde do gado; ➢ Rastreamento de produtos; ➢ Manutenção preventiva de máquinas agrícolas; ➢ Mapeamento de solo; ➢ Rastreamento da cadeia de suplementos; ➢ Robotização da agricultura; ➢ Monitoramento de desastres naturais. • Energia – Trata-se, ainda, de um recurso bem escasso e de alto custo e, portanto, faz sentido monitorar a produção ou controlar o seu gasto. Muitas fontes de energia estão localizadas em ambientes hostis, como florestas, desertos e até mesmo as usinas nucleares. Dessa forma, a IoT pode auxiliar tanto no controle de consumo, com medidores inteligentes, quanto nas fontes geradoras de energia. Assim, a IoT pode ser empregada no campo de energia das seguintes formas: 29 ➢ Análise de plataformas de petróleo; ➢ Monitoramento remoto de painéis solares; ➢ Análise de risco em usinas nucleares; ➢ Medidores inteligentes de eletricidade, água e gás. • Smart City – O termo “Cidade Inteligente” é utilizado para indicar uma conexão entre cidadãos, veículos e infraestrutura urbana. Essas conexões estão presentes em câmeras de segurança, monitoramento de lixeiras, temperatura, nível de poluição, vagas de estacionamento. Para dar um exemplo prático desse conceito, com o monitoramento de lixeiras é possível reduzir custos com o transporte de lixo e eliminar os maus odores. • Militar e governamental – Os governos têm grande interesse na utilização de IoT, principalmente em questões como emissão de carbono. Com os sensores, é possível mediar a quantidade de CO2 emitido e traçar políticas para a neutralização. Assim, a IoT está sendo utilizada nas seguintes funções dentro da área militar e governamental: ➢ Detecção de ameaças terroristas; ➢ Produção de bombas de sensores lançadas em campos de batalha para monitorar tropas inimigas; ➢ Rastreamento de ativos governamentais; ➢ Rastreamento de tropas; ➢ Monitoramento de represas e barragens. 30 Conclusão Neste bloco vimos os principais conceitos sobre IoT e sua aplicabilidade. Foram abordados desde sua história e conceitos básicos até sua aplicabilidade em ambientes reais, passando pela arquitetura e os tipos de dispositivos. Também foi apresentado como a IoT pode ser utilizada na Indústria 4.0. REFERÊNCIAS ANDRADE, L. Soft-iot platform in fog of things. In: WebMedia 18: Proceedings of the24th Brazilian Symposium on Multimedia and the Web, 2018, New York. Anais eletrônicos […] New York: ACM, 2018. P. 23-27. GILCHRIST, A. Industry 4.0: The Industrial Internet of Things. 1 ed. New York: Apress, 2016. LEA, P. IoT and Edge Computing for Architects: Implementing edge and IoT systems from sensors to clouds with communication systems, analytics, and security. 2 ed. [S.I.]: Packt Publishing, 2020. 31 3 CONECTIVIDADE Apresentação Os dispositivos e sensores de IoT são também chamados de sensores de borda, pois estão nas fronteiras, fazendo a ponte entre o sistema físico e o sistema de IoT. Esses dispositivos de borda se comunicam com a Internet de duas formas: • A primeira, com acesso direto a nuvem, possui, em si, recursos de hardware e software para a conexão; • A segunda é a formação de clusters de sensores que enviam seus dados aos gateways por meio de protocolos de comunicação, como Bluetooth ou infravermelho. Desta forma, esses gateways são os responsáveis pelo envio dos dados à Internet, em um processo conhecido como computação de borda. Assim, nesse bloco, vamos entender os principais conceitos de computação de borda e os protocolos de comunicação e conectividade dos sensores. 3.1 Definições Os sistemas de borda podem ser considerados como extensões de sistemas de computação baseados em Data Centers corporativos, estando sob o controle e segurança desses. São também sistemas de computação essencialmente remotos e estão associados a conceitos de computação em nuvem, sistemas embarcados e segurança. Os sistemas de borda são formados por duas camadas de componentes: • Borda-próxima – Faz o intercâmbio entre a nuvem e a borda distante e geralmente seus componentes coexistem com os elementos de rede WAN, podendo ser colocados até em torres de telefonia celular. A camada de borda- próxima pode ainda hospedar serviços computacionalmente complexos; 32 •Borda-distante (ou ponta) – São os dispositivos que se comunicam com os sensores e a nuvem (por meio da borda-próxima). Essa camada está mais próxima aos usuários ou sistemas de sensores e se comportam como gateways. São exemplos desses componentes os hubs e roteadores. Conectar um sensor a um computador não é computação de borda. Para que isso ocorra, é necessário que esse sensor envie dados para a nuvem. Eles podem estar mais próximos ou mais distantes da nuvem e, quanto mais distante, mais limitados são seus recursos, sendo necessário a utilização de endpoints. Por exemplo, um sensor que se comunica por Bluetooth com uma central que, por sua vez, envia os dados a um computador e, por fim, é enviado para a borda. Quando falamos em computação de borda, temos alguns outros conceitos relacionados: • Computação em névoa (Fog) – Trata-se de uma arquitetura que abrange os serviços em nuvem, os dispositivos de borda e datas centers, trabalhando como se fossem um único dispositivo; • Computação de borda de acesso múltiplo (MEC) – Trata-se de um protocolo que permite que dispositivos de baixa latência, alta largura de banda e tempo real possam existir na borda. Os serviços de streaming e jogos on-line se utilizam desses dispositivos; • Cloudlet – Trata-se de um serviço de nuvem de pequena escala, geralmente baseado em data center local. São utilizados em arquiteturas cliente-servidor cujas aplicações demandam uso intensivo de recursos computacionais. 3.2 Plataformas O desafio maior para a computação de borda é fazer o gerenciamento remoto dos dispositivos que estão na borda. Atualmente, é possível criar o próprio modelo de borda, mas já há estruturas comerciais prontas disponíveis para uso. Essas estruturas se baseiam no conceito de virtualização, que é criar máquinas virtuais para a execução dos softwares. Nos dois casos, o sistema deve ter as seguintes características: 33 • Robustez – O sistema deve ser capaz de receber as imagens (cópia de uma máquina) e executar o software presente nela; • Controle – Ter uma nuvem ou uma central que controle o processo; • Responsividade – O sistema deverá fornecer informações sobre o sucesso ou falha na criação de imagens. Com isso, o sistema de borda precisa trabalhar com o conceito de virtualização que é um processo que pode ser feito diretamente no hardware, onde a abstração é realizada por meio de um elemento chamado hypervisor, que é responsável por gerenciar uma ou mais máquinas virtuais no processador, oferecendo uma replicação virtual de hardware para vários sistemas operacionais virtuais. Os hypervisors podem ser de duas categorias: • Tipo 1 – São executados em servidores bare metal (servidores dedicados que não possuem virtualização). Podemos mencionar como exemplo o Microsoft HyperV; • Tipo 2 – Possuem sistemas operacionais próprios. Podemos citar como exemplo o Microsoft Virtual PC. Uma outra forma de virtualização é a para-virtualização. Nesse caso há uma camada intermediária, denominada camada de abstração de hardware que trabalham com elementos conhecidos como drivers que estão vinculados a um hypervisor e acessam o hardware por meio hyperchamadas. Isso dá ao sistema operacional da máquina virtual um melhor desempenho e uma melhor capacidade de comunicação com o hypervisor. Uma terceira forma é conhecida como contêiner. Nesse caso, a abstração é feita por aplicativo e não há nem hypervisor nem sistema operacional convidado (aquele presente na máquina virtual). Em vez disso, um contêiner necessita apenas do sistema operacional do servidor para fornecer os serviços básicos. 34 Assim, os gerenciadores de contêineres oferecem segurança igual a uma máquina virtual e são mais eficientes, pois não necessitam de sistemas operacionais convidados e são capazes de efetuar mudanças nos recursos do servidor em tempo de execução. Por exemplo, se um contêiner necessitar de mais memória em um determinado momento, o gerenciador pode fazer isso em tempo de execução. Nesse ponto devemos lembrar que os sensores e dispositivos de borda possuem recursos computacionais limitados. Então, a virtualização tradicional não é a mais indicada nesses casos, pois requer sistemas operacionais convidados e, consequentemente, mais recursos computacionais. Assim, a abordagem de contêineres é a mais indicada quando se trata de computação de borda. Além disso, um contêiner é muito versátil, pois pode ser implantado em qualquer ambiente e em qualquer sistema operacional hospedeiro. Desta forma, a arquitetura de um contêiner é composta de duas partes: • O contêiner em si, que é a instanciação da imagem do contêiner e pode haver várias dessas instâncias no servidor; • A imagem do contêiner, que é o conjunto de arquivos que definem o pacote (bibliotecas, engines e tudo o que é necessário) do contêiner. Por exemplo, podemos ter um sensor monitorando alguma informação em campo para criar sua imagem em um contêiner, possibilitando que essas informações sejam processadas. Portanto, a função da computação de borda, através de contêineres, dentro de um sistema IoT, é prover uma interface para que os dados coletados por sensores desprovidos de capacidade computacional possam ser armazenados e processados. Atualmente, existem diversas plataformas comerciais que realizam a computação de borda. Destacamos: • Docker – Trata-se de uma plataforma mais genérica, servindo para qualquer tipo de aplicação; 35 • Azure IoT – Dedica-se a sistemas de IoT, oferecendo ferramentas e serviços próprios para a internet das coisas. 3.3 Rede e Roteamento de borda Na IoT, equipamentos como gateways e roteadores desempenham um papel fundamental. Tendo em vista que a função principal da computação de borda é conectar, rotear e gerenciar redes que permitem um controle avançado entre um data center e os dispositivos de borda, a computação de borda requer redes que sejam robustas, autônomas e livre de falhas. Assim, os roteadores e gateways assumem o papel de realizar a conexão de redes que não são baseadas em IP (Bluetooth, por exemplo) em redes baseada em IP (5G, por exemplo). A borda é a região onde os dados dos sensores e redes locais, conhecidas como redes PAN, são agregados juntamente com as conexões de saída para a nuvem através da Internet. Em outras palavras, a borda reúne os sensores ou redes de sensores e as conexões para a nuvem. Essa camada de borda é necessária, pois, muitas das vezes, os dispositivos de IoT não possuem protocolo de comunicação com a internet. Portanto, um bom dimensionamento de serviços de roteamento é necessário para que os dados possam se movimentar da borda ou para a borda. O roteamento é o direcionamento dos dados entre os clientes e redes. Na maioria dos casos, ele é feito sobre o protocolo TCP/IP. Com isso, a função básica de um roteador é conectar e direcionar os pacotes entre os nós da rede. Um dos processos mais importantes e mais críticos da computação de borda é a ponte entre as redes locais (PAN) não IP e as redes WAN (internet) baseada em IP. Por exemplo, há muitas aplicações que captam os dados de sensores via Bluetooth e precisam enviá-los para a nuvem via 5G. Assim, para se realizar essa conversão, são necessários vários componentes de hardware, como rádios e drivers de comunicação, e que tanto os hardwares das redes PAN quanto da WAN estejam instalados no computador de borda. O processo ocorre por meio de eventos. 36 Por exemplo, quando a rede PAN envia um pacote de dados (como uma mensagem Bluetooth), é disparado um evento e, se esse for qualificado, uma dessas ações poderá ocorrer: • Ignorado – O pacote foi analisado sob um conjunto de regras e rejeitado por falta de autenticidade ou por gerenciamento de energia; • Em cache – O pacote é armazenado localmente na memória RAM ou em disco.Isso é utilizado quando a comunicação não é confiável ou quando é necessário a inserção de metadados no pacote, como data de envio/recebimento; • Transmitido – O pacote é embalado em um protocolo de saída (em geral HTTP) e enviado por uma rede confiável e segura para um serviço autenticado de nuvem. Embora isso possa parecer um processo simples, a lógica envolvida dentro desse sistema de controle é que torna a borda uma tecnologia muito poderosa. Isso porque há mecanismos de regras, aprendizagem de máquina, gerenciamento de energia e análises envolvidos durante todo o processo. Por exemplo, podemos ter um dispositivo de borda conectado ao computador via USB. Então, o lado não IP dessa ponte, ou seja, a conexão USB, é controlado por um aplicativo roteador de borda, na medida em que os pacotes coletados são enviados pela rede. Esse aplicativo executa a inicialização e vinculação de rede que são necessários para conectar os dois segmentos dessa ponte (lado não IP e o lado IP). Além disso, o aplicativo de roteamento tem por função filtrar com base em regras, armazenar em cache e tomar a decisão de enviar os pacotes para a internet, podendo ter o auxílio de algoritmos e tecnologias sofisticadas para realizar tais tarefas. Determinados roteadores de borda de IoT devem possuir meios de gerenciamento de failover (redundância e tolerância a falhas), principalmente aqueles que trabalham com veículos em movimento e aplicativos críticos, como atendimento aos pacientes de um hospital. Assim, o roteador de borda deve garantir que, quando a rede primária cair, uma rede secundária entrará automaticamente em ação. 37 Por exemplo, uma empresa de logística que atua em todo o Brasil poderá ter diversos cartões SIM de diversas operadoras funcionando em seus caminhões. Assim, quando um caminhão entrar em uma área de sombra para uma operadora celular, uma outra é selecionada automaticamente. Um outro exemplo clássico é um dispositivo ligado primariamente ao Wi-Fi e a uma rede celular como forma secundária. O importante é que o roteador deve garantir que o failover (troca de rede) possa ser contínuo e automático, sem perda de dados e com baixo impacto na latência. Em algumas situações é necessário que alguns dispositivos de IoT tenham um canal dedicado e isolado para o seu gerenciamento. Isso é chamado de Gerenciamento Fora de Banda (OOBM, na sigla em inglês), e é importante para se garantir o acesso remoto caso os sistemas primários estejam off-line. Assim, o engenheiro do sistema IoT deverá ter em mente quais são os dispositivos que estarão cobertos pelo OOBM. Por exemplo, um dispositivo ligado a transações financeiras com OOBM dará ao gerente de TI a capacidade de reiniciá-lo ou reprogramá- lo, mesmo se o caminho principal for interrompido (um ataque de malware, por exemplo). Para tanto, o OOBM deve ser adjunto e isolado do sistema principal. Assim, uma borda bem projetada, com aplicativos roteadores inteligentes, com suporte a failover e OOBM é peça fundamental para o sucesso de um sistema de IoT. 3.4 Protocolos de Comunicação Como vimos, os dispositivos de IoT enviam seus dados por meio de redes de comunicação e esses dados são empacotados e transmitidos da borda para a nuvem também através de redes. Cada uma dessas redes possui seus protocolos de comunicação. Assim, o objetivo dessa seção é apresentar os principais protocolos e, para tanto, vamos dividi-los em duas partes: os baseados em IP e os não baseados em IP. 38 Geralmente os sensores não possuem acesso direto à internet. Assim, é necessário que eles se comuniquem com a borda por meio de redes de área pessoal (PAN), que são redes de pequeno alcance e potência e podem ser por cabo ou sem fio (WPAN). As conexões industriais atualmente são feitas, geralmente, através de redes WPAN. Um dos principais meios de comunicação WPAN é o Bluetooth, que é uma tecnologia de conectividade sem fio de baixa potência e utilizada principalmente em smartphones, videogames e sensores industriais. Ele é composto por duas tecnologias sem fio (BR e LE), e os agentes (ou nós) da comunicação podem ser: • Os anunciantes que são os dispositivos que enviam os pacotes; • Os scanners que são aqueles que recebem os pacotes, mas sem a intenção de se conectar; • Os iniciadores que são os dispositivos que querem formar uma conexão. Assim, esses nós são responsáveis por dois eventos em uma rede Bluetooth: • Publicidade – Quando um dispositivo deseja parear ou retransmitir uma mensagem; • Conexão – Emparelhamento entre um dispositivo e um hospedeiro. Para se formar uma conexão Bluetooth, é necessário que os dois dispositivos estejam emparelhados, isto é, compartilhando de um mesmo canal de comunicação. Assim, o dispositivo anunciante envia uma mensagem e o iniciador poderá solicitar uma conexão, cabendo ao anunciante aceitar ou não. Se houver conexão, o evento de publicidade é encerrado e o iniciador passa a ser o mestre (master) e o anunciante o escravo (slave). Essas conexões recebem o nome de piconet e, após os dados serem transmitidos e o evento de conexão se encerrar, um novo canal poderá ser escolhido para o par (master/slave) de dispositivos, utilizando assim uma nova frequência. Por fim, uma piconet suporta até sete slaves, significando que um dispositivo pode se conectar com até outros 7 ao mesmo tempo. 39 As redes WPAN normalmente não adotam protocolos de comunicação baseados em internet (IP), não sendo possível conectá-las diretamente à internet, sendo necessário que se façam adaptações nessas redes para que isso se torne possível. Porém, no caso da IoT e com a computação de borda, essas adaptações não são necessárias, bastando colocar um gateway ou roteador que faça a conversão entre os protocolos. Entretanto, há casos na IoT em que é interessante que os dispositivos se comuniquem via TCP/IP (distância entre os sensores e a borda é um fator preponderante). Assim, veremos a seguir uma breve explicação sobre o que é o TCP/IP. Como visto, após a saída dos dados dos sensores de uma WPAN, tudo o que existe é feito por meio de TCP/IP, pois o IP é a forma padrão de comunicação, por diversos motivos: • Ubiquidade – Todos os sistemas operacionais têm suporte ao IP e podem ser executados em diversos tipos de mídia: fibra óptica, cabos de cobre, satélites, redes de celulares etc. Portanto, o IP é quem especifica a forma exata de como deve ser a comunicação; • Longevidade – O protocolo foi criado em 1974 e o padrão IPv4 em 1978 e está em funcionamento até hoje (apesar do padrão IPv6 ser o mais atual); • Escalabilidade – O padrão IPv6 é capaz de fornecer endereços de conexão para bilhões de dispositivos simultaneamente; • Confiabilidade – Em uma rede IP os pacotes de dados não estão conectados entre si, sendo tratados de forma independente. A tentativa de entrega dos pacotes é feita por exaustão, ou seja, são analisadas e testadas todas as rotas possíveis; • Capacidade de gerenciamento – Existem diversas ferramentas disponíveis para gerenciar redes e dispositivos IP. Podemos mencionar como exemplo instrumentos de modelagem, diagnóstico, construção, dimensionamento e manutenção as redes. 40 Por fim, temos o protocolo 6LoWPAN, que é uma forma de trazer o endereçamento IP para dispositivos com recursos limitados. Trata-se de um protocolo aberto que está disponível para qualquer pessoa utilizar. Ele pode ser acoplado com outros protocolos de WPAN, como o Bluetooth. Assim, com o 6LoWPAN os sensores podem se comunicar diretamente com redes IP, tornando esse protocolo uma alternativa bastante viável com o crescimento da IoT. Uma outra forma de comunicação destinada a dispositivos IoT é o ZigBee. Ele é um padrão de comunicação sem fio, semelhante ao Bluetooth, com baixa latência e consumo de energia. Surgiu como alternativa paradispositivos que não necessitam de altas taxas de dados e que focam no consumo de energia. 3.5 Protocolos para IoT Tradicionalmente, em um sistema cliente/servidor, a troca de informações entre as máquinas cliente e servidor é realizada seguindo o protocolo HTTP, que é bem estabelecido e confiável. O problema é que esse protocolo foi projetado para computadores de propósito geral. Em IoT, os dispositivos podem ser muito restritos, remotos e com largura de banda limitada. Desta forma requerem protocolos que sejam mais eficientes, seguros e escalonáveis. Assim, alguns protocolos mais leves estão sendo utilizados para a IoT. A seguir, veremos alguns deles: O primeiro é o MQTT, que é um protocolo sobre TCP/IP para troca de mensagens entre sensores e pequenos dispositivos, bastante leve otimizado para o uso da banda de rede. Ele faz uso do padrão publicador/subscritor em que um dispositivo da rede que deseja receber uma informação precisa solicitar (subscreve) a um outro dispositivo da rede que faz o gerenciamento das publicações e subscrições (o broker). 41 Os dispositivos que desejam publicar informações na rede também o fazem por meio do broker, sendo esse então um dispositivo intermediário entre os publicadores e os subscritores. O broker centraliza as comunicações, permitindo um desacoplamento entre os dispositivos, algo que não é possível em arquiteturas cliente/servidor (como o HTTP), possibilitando uma redução no uso da banda e uma melhor eficiência na troca de informações. A Figura 3.1 mostra o esquema de um publicador/subscritor: Fonte: BAHIA, 2018. Figura 3.1 – A atuação do broker No MQTT, as mensagens são identificadas através de tópicos (semelhante ao conceito de URI no HTTP). Os dispositivos da rede podem enviar diversos tópicos ao broker e os subscritores podem selecionar quais tópicos querem subscrever. Por exemplo, em uma organização com várias filiais, há diversos sensores de vibração para verificar o funcionamento dos motores das máquinas. Assim, cada sensor publica suas informações no broker, e podemos ter aplicações clientes que subscrevem as informações específicas de um conjunto de sensores de uma determinada filial. Como vimos nas seções anteriores, os sensores não são preparados para trabalhar com o protocolo de transporte TCP/IP, o que inviabilizaria o uso do MQTT. Assim, foi criado o protocolo MQTT-SN que é específico para rede de sensores e depende de uma camada de transporte (normalmente TCP) que faça a entrega dos pacotes de forma sequencial. 42 Ele aproveita todas as vantagens do MQTT e pode operar sobre qualquer protocolo de transporte: Bluetooth, ZigBee, UDP (utilizado em serviços de streaming), comunicação cabeada, entre outros. Há, também um outro protocolo denominado CoAP, que é bastante utilizado em IoT residencial. Assim como o HTTP, o CoAP é baseado em requisição-resposta, ou seja, as máquinas cliente e servidor enviam e recebem mensagens sem a necessidade de intermediários, como no publicador-subscritor. A diferença é que o CoAP é baseado em transporte UPD e não TCP. Sabidamente, o UDP é um protocolo mais leve, pois os elementos que desejam trocar informações não precisam se conectar. Assim, os sensores de IoT, por possuírem recursos limitados, se adaptam melhor ao UDP. Conclusão Neste bloco foram abordados temas sobre conectividade para a IoT. Em primeiro lugar, foram introduzidos os conceitos básicos e, logo após, as plataformas existentes para a virtualização de máquinas. Depois, foi apresentado o assunto de computação de borda, seu funcionamento e formas de roteamento. Em seguida, foram discutidos os protocolos de rede baseados em IP e os não baseados em IP, além da forma como esses dois tipos de rede podem atuar em conjunto. Por fim, foram descritos alguns protocolos de troca de mensagens mais utilizados com IoT. Com isso, há uma visão geral de como os sensores e dispositivos de IoT podem enviar e receber informações para a borda e para a nuvem. REFERÊNCIAS BAHIA, J. G. Um mecanismo de provisionamento de serviços com controle de demanda para a internet das coisas. Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa de Engenharia. Rio de Janeiro: UFRJ, 2018. LEA, P. IoT and Edge Computing for Architects: Implementing edge and IoT systems from sensors to clouds with communication systems, analytics, and security. 2 ed. [S.I.]: Packt Publishing, 2020. 43 4 INTRODUÇÃO À INTELIGÊNCIA ARTIFICIAL Apresentação Para quem não está na área, a Inteligência Artificial (IA) pode soar como uma capacidade que as máquinas possuem de realizar tarefas que os humanos normalmente não conseguiriam. Isso traz uma certa “glamourização” da IA toda vez que uma nova tecnologia ou um novo equipamento surge, deixando espaços até para teorias da conspiração. Mas saindo desse ambiente midiático, perguntamos: o que é Inteligência Artificial? A resposta não é tão simples, mas parte do princípio de que um sistema inteligente é aquele no qual a máquina é dotada da habilidade de aprender, interagindo com o ambiente em que está inserida, seja percebendo as informações ou realizando ações que modifiquem o estado do ambiente. Por exemplo, uma máquina jogadora de xadrez pode ser inteligente, uma vez que ele percebe as ações do ambiente (as jogadas do oponente) e interage com ele, propondo novas jogadas, além da capacidade de aprender a escolher a melhor jogada. Assim, o objetivo desse bloco é apresentar os pilares históricos da IA, suas aplicações e uma abordagem sobre sistemas inteligentes. Também será discutido quais as perspectivas de futuro para a IA e como essa tecnologia impactou no processo de produção e sua ligação com a Indústria 4.0. 4.1 História da IA A IA é uma área da tecnologia bastante ampla que inclui diversas outras subáreas: processamento de linguagem natural (PLN), visão computacional, robótica, lógica, entre outros. Inicialmente, ela estava estritamente ligada à ciência da computação, mas já extrapolou essa fronteira, estando hoje ligada com outras áreas do conhecimento, como psicologia, ciência cognitiva, sociologia, linguística etc. 44 No princípio, a IA estava preocupada em automatização. Em outras palavras, aprender habilidades repetitivas executadas somente por meio da prática e memorização como, por exemplo, o encaixe de uma peça em um veículo na linha de produção. Com sua evolução, ela já não está mais preocupada com tarefas repetitivas, mas com partes mais complexas do pensamento humano: tomada de decisão, criatividade, intuição, senso comum, sentimentos e emoções. Antes, o que era uma ameaça apenas para os empregos na indústria manufatureira, passou a ser um forte concorrente para os humanos em várias áreas. Por exemplo, hoje temos sistemas inteligentes que escrevem textos, criam imagens, dão sugestões de ingredientes em uma receita, entre outras coisas surpreendentes. Mas como não é possível mudar a realidade, cabe a nós entendermos e tirarmos proveito dessa tecnologia. Antes de nos aprofundarmos nos conceitos, vamos entender como surgiu a IA. As primeiras menções a sistemas robotizados e artificiais remontam da Grécia antiga. Porém, o conceito de IA moderna surgiu nos anos 1950, introduzida por Alan Turing. Nessa época, os esforços se concentravam em lógica e matemática e acreditava-se que o ser inteligente era aquele capaz de resolver problemas algébricos. Em meados dos anos 1960 houve uma mudança de pensamento, com uma certa euforia, acreditava-se que a IA seria capaz de replicar o cérebro humano. Todos os esforços foram concentrados nessa linha, até que, em meados de 1970, houve uma conclusão que replicar a mente humana não seria tarefa tão simples e com isso os investimentos diminuíram. Por volta de 1987, houve um consenso no meio científico de que a inteligênciase dava mais pelo conhecimento acumulado do que por habilidades específicas (quociente de inteligência). Assim, os investimentos passaram a ser focados na construção de banco de dados de conhecimentos e passou-se a acreditar que a IA, em poucas décadas, seria semelhante a mente humana. 45 Durante seis anos (1987-1993), houve um período de estagnação nas pesquisas, muito em função da descrença de que a IA poderia se assemelhar ao ser humano. Mas a verdade é que os recursos computacionais eram limitados. Assim, em 1993, entramos na terceira era da IA, onde a capacidade do hardware passou a aumentar exponencialmente, tendo seu grande marco em 1997, quando o computador Deep Blue derrotou o campeão mundial de xadrez. Assim, a partir da década de 2010, abandonou-se, a princípio, a ideia de uma mente humana artificial e passou-se a focar em um outro elemento: dados! Com a entrada de conceitos como IoT e Big Data, aliados a uma melhor infraestrutura de comunicação, a IA começou a se espalhar em diversas áreas e não mais restrita a ambientes acadêmicos e computacionais. Assim, tecnologias como assistentes pessoais (Alexa e Siri); sistemas de recomendações (Youtube e Netflix); publicidade direcionada; carros autônomos; sistemas de conversação; robôs inteligentes; entre outros, começaram a ser desenvolvidos. Com isso, a IA deixou de ser meramente um sistema de resolver problemas algébricos e passou a estar continuamente em nosso cotidiano. Atualmente a IA está mais focada no aprendizado do que em executar tarefas repetitivas. Para tanto, tecnologias que coletam e processam dados, como IoT e Big Data, são fundamentais. O que podemos esperar da IA, em breve, é a busca por uma autonomia, onde máquinas ficarão cada vez mais independentes dos seres humanos, podendo aprender e decidir por conta própria e, em um futuro um pouco mais distante, poderão ter a sua própria consciência. 46 4.2 Sistemas Inteligentes O objetivo de um sistema de Inteligência Artificial é replicar as habilidades humanas. Para tanto, os cientistas abordam cada habilidade humana de forma individual (ao contrário do que se pensava nos anos 1960, quando se buscava um modelo geral de mente artificial). Dentre essas habilidades estão as cognitivas (pensar, raciocinar, perceber, aprender, detectar padrões, tomar decisões, agir, resolver problemas, planejar e memorizar) e as relacionadas às linguagens. Assim, um sistema inteligente é aquele que vai tentar realizar essas habilidades de uma forma muito próxima a de um ser humano. Um sistema inteligente pode ser avaliado em relação a sua capacidade de inteligência. Para tanto, a medida de inteligência de um sistema é determinada pelo teste de Turing, desenvolvido por Alan Turing em 1950, e que consiste em determinar se uma máquina age racionalmente de acordo com um conjunto de regras. Esse teste é realizado por meio de um modelo computacional chamado máquina de Turing, proposto pelo mesmo homem em 1936, que diz que nenhum sistema tem maior capacidade do que uma máquina de Turing. Em outras palavras, tudo que um sistema faz pode ser feito nesse modelo teórico proposto por Turing. Portanto, ao desenvolver um sistema inteligente, este pode ser testado nesse modelo teórico para se determinar se a sua construção é realmente viável. Em linhas gerais, após o teste, é feito uma etapa de otimização, na qual verificamos se o tempo que o sistema leva para resolver um determinado problema é viável. Por exemplo, um sistema que tem por objetivo descodificar um código criptografado é possível pelo teste de Turing, mas a sua construção pode ser impraticável, pois poderia demorar séculos para conseguir a descodificação. Uma das tarefas mais corriqueiras para sistemas inteligentes é a previsão. Tentar antecipar eventos futuros é uma característica inerente ao ser humano e muito útil para a tomada de decisões. Por exemplo, antes de viajarmos é comum olharmos a previsão do tempo para decidirmos qual tipo de roupa levar. 47 Assim, os sistemas de previsão auxiliam na tomada de decisão de uma organização. Podemos mencionar como exemplo os esforços para prever a demanda de consumo ou a variação da taxa cambial. Esses sistemas funcionam basicamente coletando dados e tirando conclusões sobre eles por meio de agentes racionais (conjunto de regras pré-determinadas). Por exemplo, uma empresa que deseja projetar a demanda de vendas de seus produtos no mês de dezembro pode contar com dados passados, como as vendas em anos anteriores, e os atuais, como a taxa de desemprego, salário médio do público-alvo, taxa de inflação etc. Como você já dever ter visto, sistemas preditivos não são totalmente precisos e trabalham com probabilidades (alta probabilidade de chuva nos próximos dias, baixa probabilidade da queda da taxa de inflação no próximo ano). Isso ocorre, pois, a IA ainda é uma área nova e tem muito a ser explorada, e a tendência é que os sistemas preditivos fiquem cada vez mais precisos no futuro. Um outro tipo de sistema inteligente diz respeito a aqueles que aprendem. Ele é denominado Machine Learning (ML) e visa capacitar as máquinas para agir de forma independente e inteligente. Ao contrário de agentes racionais que possuem regras e instruções pré-estabelecidas, os sistemas de aprendizagem trabalham com grandes conjuntos de dados não relacionados entre si e tiram conclusões sobre esses conjuntos. Por exemplo, podemos ter um sistema que coleta informações sobre os clientes de uma determinada região e verifica as características de consumo deles, oferecendo propagandas específicas para cada um. Atualmente, sistemas de ML ainda apresentam falhas, pois necessitam de grande quantidade de dados. Em um futuro próximo, isso tende a diminuir, pois tecnologias como 5G e IoT vão possibilitar um aumento substancial na quantidade de dados coletados. Um terceiro tipo de sistemas inteligentes são os sistemas criativos que, basicamente, combinam dois outros sistemas de IA, um para aprender e o outro para detectar falhas. 48 Podemos criar, por exemplo, um sistema inteligente de composição de músicas clássicas. O primeiro passo seria esse sistema aprender como os grandes músicos compunham suas melodias e o segundo é verificar a se a melodia criada é compatível com os parâmetros desejados. Atualmente, as aplicações de sistemas criativos estão focadas em gerar imagens estáticas e em movimento por meio de aprendizagem de máquina, e são conhecidas como deep fake. Por fim, grandes empresas como o Google estão focadas em desenvolver um novo tipo de sistema inteligente: os sistemas dominantes (Master IA) ou IA generalizada que seriam capazes de executar todas as habilidades humanas de forma eficiente, ou seja, executar tudo o que um ser humano é capaz e de forma muito mais otimizada. A IA generalizada é um tema que gera muitos debates e preocupações, pois os críticos temem que um sistema capaz de replicar o comportamento humano de uma forma muito mais eficiente poderia se tornar tão poderoso a ponto de dominar a humanidade. Por outro lado, os defensores da Master IA dizem que seria mais uma ferramenta a serviço da humanidade e possibilitaria que, por exemplo, um mesmo robô detectasse uma doença, sugerisse o tratamento, realizasse uma cirurgia e acompanhasse o reestabelecimento do paciente de forma eficiente e livre de falhas. 4.3 Aplicações práticas Nesta seção vamos destacar três aplicações práticas da IA. A primeira delas são os chamados chatbots, que são robôs automatizados que criam conversas virtuais por meio de texto ou fala (ou ambos) de maneira semelhante aos humanos e que podem realizar tarefas específicas com base em regras e parâmetros. Por exemplo, uma empresa de cartão de crédito pode ter um chatbot de atendimento ao cliente que se comunica por meiode aplicativos de texto, podendo realizar ações pré-determinadas (emitir o saldo da fatura; verificar o limite de compra; tirar a segunda via do boleto; entre outros). As empresas estão optando por esses sistemas, pois podem substituir atendentes humanos, que geram custos, por atendentes virtuais que criam empatia com o seu público. 49 Um sistema de chatbot geralmente não possui interface própria e são disponibilizados em outros aplicativos (WhatsApp, por exemplo). Eles possuem as seguintes características: • Camada de aplicação – Conjunto de instruções e regras. Por exemplo, o que fazer se for recebida a palavra bom-dia; • Interface de programação (API) – Vinculação do chatbot aos aplicativos. Por exemplo, adicionar um chatbot a um site de e-commerce; • Interface do usuário – Área disponível para que o usuário possa fornecer as informações que deseja e as respostas obtidas. Essa interface pode ser própria ou obtida de outro aplicativo; • Banco de dados – Armazena dados de clientes, produtos, transações etc. Os chatbot podem ser empregados simplesmente para executar tarefas automatizadas ou podem ser acompanhados de sistemas de processamento de linguagem natural capazes de detectar não somente o que foi escrito como também a intenção. Para dar um exemplo, pode-se identificar se há um discurso de ódio na comunicação ou qual é o sentimento do cliente no momento da conversa (raiva, insatisfação, gratidão, entre outros). Uma segunda aplicação prática da IA está no campo da robótica. Um robô é um sistema físico que realiza uma ou mais ações com diferentes graus de autonomia. Os sistemas robóticos começaram a ser utilizados em indústrias manufatureiras em substituição à mão de obra humana. Com o advento da Inteligência Artificial, a robótica ganhou uma nova perspectiva e a previsão é que, em breve, os robôs inteligentes possam estar em todos os segmentos da economia e não mais restritos ao ambiente industrial. Assim, robôs dotados de IA estão sendo desenvolvidos para setores como hotelaria, varejo, transporte, medicina, alimentação, entre outros. 50 Esses robôs podem ou não ser humanoides, ou seja, projetados para imitar as características físicas dos humanos, como o andar e falar. Por exemplo, podemos ter um robô humanoide na recepção do hotel que nos auxilie no check-in e no transporte de bagagem e até mesmo um robô que realize cirurgias de retirada de tumores. Observe que robótica e IA são conceitos distintos. Podemos ter robôs projetados especificamente para uma tarefa automatizada e repetitiva, que não necessita aprender, tomar decisões ou prever informações. Uma terceira aplicação para a IA que destacamos nesta seção é o reconhecimento de fala. Sistemas inteligentes que tem por objetivo a comunicação com humanos são dotados de capacidade entender e criar falas. Assim, há um grande esforço por parte dos cientistas para o aprimoramento desses sistemas, pois entender e falar de forma natural é uma tarefa difícil para um computador, devido a uma grande variedade de idiomas, dialetos e sotaques. Além disso, questões linguísticas como figuras de linguagem, polissemia e homônimos dificultam ainda mais essa tarefa. 4.4 A Inteligência Artificial na Indústria Ao longo da história, a humanidade assistiu a ascensão e a queda de civilizações, impérios e mais atualmente de grandes organizações empresariais. O motivo quase sempre está ligado a invenção de novas tecnologias. Por exemplo, a máquina a vapor possibilitou a Inglaterra se tornar uma potência mundial e o computador pessoal possibilitou a criação da gigante Microsoft. A indústria também passou por grandes transformações como consequência da revolução industrial. Elas incluem desde a forma de produção até a de gerenciamento. Nesta seção abordaremos qual é o impacto da IA nos mais diversos segmentos da indústria. Na indústria agropecuária, por exemplo, já existem sistemas inteligentes que monitoram a qualidade de flores e plantas em tempo real. Sensores enviam os dados das plantas para um módulo de software e esses são comparados com padrões esperados para detectarem infestação de pragas ou necessidade de irrigação. 51 Outras aplicações da IA na agroindústria envolvem detecção de doenças em animais e plantações; controle inteligente de temperatura em estufas e criadouros; prescrição individual de medicamentos e rações; melhora da matriz genética do gado, entre outras. Como exemplo prático, podemos mencionar uma granja que tem um sistema inteligente para controle de iluminação e temperatura que verifica dados como temperatura externa, umidade do ar, idade dos animais e ajustam automaticamente os sistemas de iluminação e ventilação e fazem projeções futuras de gasto de energia. Assim, a Indústria 4.0 está totalmente dependente de um conjunto de tecnologias que se aplicam a todo o processo produtivo, desde a aquisição da matéria-prima até a entrega final do produto. E uma dessas tecnologias pode ser definida como IA Industrial. Em linhas gerais, a IA Industrial é qualquer aplicação de inteligência artificial aplicada no ambiente físico, operações ou sistemas de empresa com o objetivo de monitorar, controlar ou otimizar as operações, aumentando a eficiência e desempenho. Ela pode ser aplicada tanto na fabricação de produtos como na cadeia de suprimentos e gerenciamento de armazéns e estoque e são divididas entre monitoramento, controle e otimização. 1. Monitoramento – Nas indústrias, o monitoramento é uma atividade importante para medir o desempenho dos sistemas, buscando identificar e prever falhas e outras situações que possam interferir no processo produtivo. Assim, utilizando aprendizagem de máquina, modelos podem ser treinados com base nos dados fornecidos e podem ser consultados para prever os estados futuros dos sistemas. A IA em monitoramento pode ser vista em aplicações como: a. Controle de qualidade – Ao contrário dos métodos tradicionais de amostragem, sistemas de controle de qualidade dotados de inteligência podem inspecionar todos os itens produzidos, garantindo uma melhor qualidade. Geralmente são sistemas baseados em visão, com câmeras e sensores, e verificam os mais variados atributos do produto (geometria, tolerâncias, acabamento, cor, textura, embalagem etc.). 52 b. Detecção de falhas – A IA pode ser utilizada para detecção, previsão e diagnóstico de falhas durante o processo. Essa tarefa, quando atribuída a humanos, pode ser lenta e imprecisa, ocasionando atrasos e até mesmo não conformidades. Sistemas inteligentes, por outro lado, conseguem analisar os dados com mais rapidez e eficiência e, através de reconhecimento de padrões, identificar anomalias no processo, prevendo e isolando possíveis falhas. c. Manutenção preditiva – A IA pode ajudar a escalonar paradas técnicas para a manutenção das máquinas antes que elas quebrem, evitando interrupções repentinas que resultam em enormes prejuízos. d. Estoque – Sistemas de visão computacional permitem um maior controle de estoques nas prateleiras, sem a necessidade de um operador humano dar entrada ou baixa em um item no sistema. e. Gestão da cadeia de suprimentos – Como muitas das empresas são transnacionais, possuindo plantas e fornecedores em diversas partes do mundo, o gerenciamento dos fornecedores é uma tarefa complexa. Assim, a IA pode prever distúrbios no suprimento de forma antecipada, emitindo alertas para toda a cadeia. Por exemplo, podemos ter sistemas que monitoram feeds de notícias para identificar desastres naturais, eventos climáticos, acidentes e outros eventos globais que possam interferir no suprimento de matérias-primas. 2. Otimização – A função principal de sistemas inteligentes de otimização é efetuar planejamento. Mais do que monitorar um sistema, otimizar é estabelecer planos e metas para se chegara um estado desejado. Assim, dentro dessas características, destacamos: a. Planejamento de processos – O processo de produção de um produto pode ter uma sequência complexa e ordenada de etapas, que vão desde o setup das máquinas, passando pela escolha das ferramentas, melhor 53 horário de produção, aproveitamento de matéria-prima etc. Assim, sistemas de planejamento inteligentes podem analisar todas essas variáveis e fornecer um mapa detalhado do processo de produção de um item. b. Logística antecipada – Consiste em prever a demanda de um determinado produto. Sistemas inteligentes podem produzir planos de aquisições e sinalizar as intenções para toda a cadeia de suprimentos. c. Design de produto – Os designers podem contar com ferramentas inteligentes no processo criativo, que levam em consideração a preferência dos consumidores, tendências de moda e especificações físicas da matéria-prima que levam a produtos otimizados e agradáveis aos seus consumidores. d. Localização de instalações – Por meio da aprendizagem de máquina, é possível ter sistemas que melhor adequam instalações físicas, como estações de energia, armazéns, centro de distribuições, distribuição de máquinas dentro de uma fábrica e até mesmo semicondutores em chip de telefone celular. 3. Controle e automação – Sistemas de controle e automação formam o núcleo de qualquer indústria moderna. Um dos focos da Indústria 4.0 é unir a automação com a IA através de: a. Robótica. b. Veículos autônomos. c. Sistemas de HVAC (ventilação e climatização). d. Gerenciamento de energia. 54 Com isso, sistemas de automação inteligentes podem atuar diretamente no processo produtivo, com robôs inteligentes e em atividades acessórias. Por exemplo, uma fábrica inteligente poderá contar com empilhadeiras autônomas que transportam os produtos até as prateleiras ou ainda com sistemas inteligentes de HVAC, que ajustam a temperatura e climatização de acordo com o item que estiver sendo produzidos ou podem prever a demanda de energia para a fábrica nos próximos 3 meses. 4.5 O futuro da IA Apesar de termos avanços surpreendentes no campo da IA, há muito o quer ser feito. A primeira tarefa é melhorar a comunicação entre máquinas e humanos. Assim, uma grande tarefa dos cientistas é estabelecer métodos e algoritmos que possam identificar questões semânticas e melhorar a comunicação no sentido da IA para com os humanos. Questões linguísticas de simples entendimento ainda são atividades complexas para as máquinas. Por exemplo, o teste Winograd, que consiste em frases do tipo “a medalha não coube na caixa porque ela é pequena” ainda não tem um algoritmo capaz de responder com precisão a pergunta: o pronome ela se refere a medalha ou a caixa? Nitidamente qualquer humano responderia caixa. Assim, questões linguísticas que envolvem o sentido das palavras ainda são tarefas complexas para as máquinas. Uma outra área que tem atraído bastante atenção dos pesquisadores é a inserção de pessoas não especialistas no mundo da programação. Atualmente, escrever um programa de computador é tarefa apenas para programadores. Nesse sentido, há dois caminhos que a IA está buscando: o primeiro é desenvolver sistemas inteligentes que permitam qualquer pessoa escrever seus algoritmos (são chamados de No Code) e o segundo caminho, um tanto mais complexo, é criar sistemas inteligentes que criam sistemas inteligentes. Pode parecer meio abstrato, mas a ideia aqui é criar sistemas que identifiquem padrões de programação e permitam que usuários comuns solicitem seus próprios programas apenas com base na descrição de funcionamento. Seria algo como: “crie um sistema inteligente para monitorar o motor do meu carro”. 55 Um outro ponto que está demandando bastante atenção é a interação entre inteligências artificiais. Os sistemas multiagentes, ou seja, aqueles formados por 2 ou mais agentes inteligentes já são uma realidade. Apesar disso, ainda há muito o que se aprimorar. Por exemplo, hoje já temos sistemas inteligentes de enxames de drones que se coordenam entre si, distribuindo tarefas e objetivos de forma autônoma. Mas o grande desafio é colocar esses sistemas em ambientes que também sofrem interferências humanas. Para exemplificar, o primeiro veículo autônomo foi criado há mais de trinta anos, mas, até o momento, ainda não há uma utilização em larga escala. Para tanto, é necessário que tudo o que envolva esses veículos também sejam inteligentes: estradas, sistemas de sinalização, sistemas de localização, entre outros. Além disso, um sistema autônomo de trânsito deve prever comportamentos humanos inesperados, como um pedestre atravessando fora da faixa. Uma outra perspectiva de futuro para a IA são os sistemas de segurança cibernéticos. Hoje, já existem sistemas inteligentes que preveem fraudes e invasões, mas a grande preocupação dos cientistas hoje é saber se os dados utilizados para o aprendizado de máquina não foram manipulados por um código malicioso, levando a máquina a aprender de forma errada e ocasionar grandes prejuízos e até mesmo catástrofes (imagine um sistema militar aprendendo de forma errada). Por fim, um objetivo um pouco mais distante do que os exemplos acima, é o desenvolvimento de sistemas de IA que possuam sua própria consciência. Os cientistas estão estudando o funcionamento do cérebro em questões de memória e afetividade para que possam replicar nas máquinas. Eles buscam entender como nos lembramos de cheiros e gostos de nossa infância quando vemos alguma foto, por exemplo. Ou o porquê de haver uma mudança em nosso sistema nervoso quando vemos um objeto ou pessoa atraente. Ao responder essas questões, será possível dotar as máquinas desses sentimentos para que elas possuam sua própria consciência. Mas isso ainda é um futuro muito distante. 56 Conclusão Neste bloco vimos os conceitos básicos sobre a IA, bem como a sua história. Também foram abordados os três tipos de sistemas inteligentes: preditivo, de aprendizagem e criativo. Além disso, foram vistas algumas aplicações práticas da IA, como chatbot, reconhecimento de fala e as aplicações da IA na Indústria 4.0. Por fim, foram apresentados tópicos que estão sendo discutidos e pesquisados na IA e que serão trazidos a nossa realidade em breve. REFERÊNCIAS BÉCUE, A.; PRAÇA, I.; GAMA, J. Artificial intelligence, cyber-threats and Industry 4.0: challenges and opportunities. Artif. Intell. ver., N. 54, pag. 3849–3886, 2021. NEIL, C. Artificial Intelligence: 4 books in 1: AI For Beginners + AI For Business + Machine Learning For Beginners + Machine Learning And Artificial Intelligence. [S.L.]: Alicex, 2020. 57 5 APRENDIZAGEM DE MÁQUINA Apresentação O aprendizado de máquina, ou Machine Learning (ML), em inglês, é um dos tipos de inteligência artificial que permite que o computador possa aprender comportamentos sem a intervenção humana. Essa técnica possibilita às máquinas executar instruções sem necessariamente haver um código explícito que as indique. Além disso, a ML é dinâmica e permite que tais instruções sejam modificadas quando houver novos dados inseridos. Os algoritmos de ML agem de forma a encontrar padrões em conjuntos de dados e podem ser de dois tipos: • Supervisionado – Utiliza o aprendizado obtido anteriormente em um novo conjunto de dados; • Não-supervisionado – Pode inferir sobre um conjunto de dados. Para exemplificar, quando reagimos a uma postagem nas redes sociais ou pesquisamos um produto em um sistema de busca, a ML buscará padrões em nossos dados, por meio de análises estatísticas e preditivas, e passará a sugerir conteúdos ou produtos semelhantes. Devido à grande importância que a ML passou a ter nos últimos anos e da grande quantidade de dados disponíveis na Internet,o interesse pelo aprendizado dessa tecnologia também tem aumentado. Assim, nesse Bloco, abordaremos conceitos básicos de aprendizado de máquina, bem como os principais algoritmos e exemplos de aplicações nas diversas áreas de conhecimento. 58 5.1 Introdução O termo aprendizado de máquina foi proposto em 1959 e se referia à capacidade de um computador executar instruções (aprender) sem passar por programação. Em linhas gerais, a ML é o conjunto de técnicas e algoritmos que visam resolver problemas insolúveis por meio de programação convencional. Por exemplo, classificar uma imagem de animal entre cachorro ou gato seria impossível utilizando algoritmos tradicionais. Basicamente, os algoritmos de ML aprendem com dados rotulados e, quanto maior for esse conjunto de dados, maior é a precisão. Para que possamos classificar imagens entre gatos e cachorros, precisamos de um grande conjunto de imagens rotuladas em “gato” e “cachorro” para que a máquina possa extrair padrões de gatos e cachorros e poder classificar as futuras imagens. Os algoritmos de ML conseguem resultados melhores do que as regras estabelecidas por humanos, pois incorporam pontos específicos em um conjunto de dados, sem o viés humano. Voltando ao exemplo das imagens de cães e gatos, características essenciais para que um humano possa classificar (latir, miar, presença de pelos, tamanho etc.) podem ser irrelevantes para o algoritmo. Sendo assim, os dados possuem grande relevância na ML, pois os algoritmos procuram descobrir propriedades e padrões presentes nesses dados e, consequentemente, a quantidade e qualidade dos dados são fatores essenciais para a aprendizagem de máquina. Assim, para a implementação de um modelo de aprendizagem de máquina, é necessário observar os seguintes aspectos: 1. Definir o escopo do sistema, tendo em mente o conhecimento prévio e experiência disponível. 2. Realizar o pré-processamento e limpeza dos dados para que esses possam ter uma alta qualidade. Essa etapa costuma ser a mais crítica e demorada do projeto. 3. Selecionar adequadamente o modelo de aprendizagem. 4. Consolidar e implementar o conhecimento obtido. 59 Os tipos de aprendizado de máquina são variados. A seguir, apresentamos os principais deles: • Aprendizado supervisionado – Trata-se do tipo mais comum de ML e se baseia em funções que mapeiam os dados brutos nas saídas desejadas. Para tanto, os dados de exemplo ou treinamento são rotulados com a saída esperada. As entradas podem ser em um formato matricial ou de imagem e os algoritmos fazem aproximações para detectar padrões e agrupar as saídas. O aprendizado supervisionado possui duas abordagens mais comuns: ➢ Classificação – O algoritmo tem por objetivo agrupar os dados em categorias e as saídas estão restritas a um número fixo de valores. Por exemplo, classificar se uma imagem é de um determinado grupo ou não; ➢ Regressão – Trabalha com saídas com ampla faixa de valores como, por exemplo, determinar a cor de um objeto. Em ambos os casos, os dados são divididos em dois subconjuntos: treinamento e teste. O primeiro é utilizado para que a máquina possa efetivamente aprender os padrões e o segundo para medir a precisão (acurácia) do sistema. • Aprendizado não-supervisionado – Diferentemente do aprendizado supervisionado, os dados não são rotulados e não possuem classificação específica. A ideia é agrupa-los em clusters (processo conhecido como clusterização) baseado nas semelhanças entre os dados: ➢ Por exemplo, podemos ter um conjunto de dados de uma determinada flor, como tamanho das pétalas e das cepas, e desejamos agrupá-las de acordo com esses dados. Note que não há nenhum rótulo. Assim, o algoritmo vai criar os clusters e agrupar as informações de acordo com as semelhanças. 60 Um outro ponto a se destacar é o esquema de recompensa. Como podemos avaliar a precisão de um algoritmo não-supervisionado? Atribuindo pontuações positivas em caso de acerto e negativas caso contrário: ➢ Por exemplo, em um jogo de xadrez, o algoritmo não-supervisionado será avaliado de acordo com o sucesso de suas jogadas. Aplicações como sistemas de recomendação utilizam uma abordagem mista. Em outras palavras, tentam agrupar as sugestões de acordo com as preferências do usuário e são pontuadas caso o usuário clique em um determinado link. 5.2 Algoritmos e Regressão Linear As principais aplicações de IA, como reconhecimento de imagem, fala, tradutores, sistemas de diagnósticos, entre outros utilizam o aprendizado de máquina. Ao contrário dos algoritmos tradicionais, onde os mesmos dados possuem saídas iguais, os algoritmos de aprendizagem de máquina precisam ser treinados, isto é, os dados precisam ser ponderados de acordo com determinadas regras. Esse processo de ponderar ou refinar o algoritmo geralmente está presente e é muito útil em tarefas muito repetitivas. Neste caso, o algoritmo é treinado para ler os dados com a maior precisão possível. Por exemplo, em sistemas que calculam a probabilidade de compra em lojas de e-commerce, os dados relevantes e que indicam possibilidade de compra (como tempo gasto na página, movimento do mouse ou busca por produtos semelhantes) são coletados e depois é verificado se a compra ocorreu de fato. A seguir, a própria IA refina esses dados para o cálculo da próxima probabilidade, dando maior ou menor peso para os fatores: será que passar muito tempo na página indica compra? Esse tipo de questão vai sendo ajustada caso a caso, e o processo é conhecido como treinamento. 61 Tão importante quanto a quantidade de dados é a sua qualidade. Dados corrompidos, imprecisos, errados ou desatualizados afetem consideravelmente o desempenho da IA. Por exemplo, se um sistema de diagnóstico de uma determinada doença obtiver apenas os dados de uma única categoria da população, a IA poderá fornecer resultados não condizentes com a realidade. Assim, para se utilizar um algoritmo de ML, é necessário que os dados representem uma totalidade, e que o resultado possa ser aplicado em diferentes situações. A seguir temos os principais algoritmos utilizados em aprendizado de máquina: • Regressão Linear – A regressão linear é um algoritmo que pode ser utilizado em aprendizado supervisionado. Essa técnica é baseada no conceito de variáveis dependentes e independentes: ➢ A variável independente é aquela passada para o modelo e influencia no valor a ser encontrado; ➢ A variável dependente é aquela que se deseja encontrar o valor. Por exemplo, se desejamos prever as vendas de um produto em um determinado mês, vendas seria a variável dependente e o mês a independente. Assim, a regressão linear olha para dados passados para prever o futuro. Ademais, ela pode ser simples, com uma variável dependente, ou múltipla, com mais de uma variável dependente. A forma de representação da regressão é dada em formato de gráfico, conforme a figura a seguir, onde à esquerda temos uma regressão simples e à direita uma múltipla com três variáveis: 62 Fonte: JO, 2017. Figura 5.1 – Regressão linear simples e múltipla O modelo de regressão linear pode ser utilizado em qualquer situação em que as variáveis são valores contínuos. Assim, essa técnica é muito utilizada para prever demanda de produto, valor de seguro, dados sobre a população de um país (total de habitantes, expectativa de vida, entre outros). O objetivo da regressão linear é encontrar uma reta que possa minimizar a diferença entre o valor real para o modelo. Na imagem à esquerda da figura 5.1 vemos a reta traçada, que é a estimativa do modelo, e os pontos azuis são os dados reais. Observe que existe uma diferença entre a reta (estimativa) e o valor real (os pontos). Essa diferença é chamada de erro e é muito importante fazer o seu cálculo, pois isso dará a medidade confiabilidade do modelo. Uma das medidas mais importantes para verificar o erro e saber se a variabilidade entre o estimado e o real é explicada é chamada de coeficiente de determinação (𝑹𝟐). Quanto mais próximo de 1 melhor, pois significa que a variabilidade foi explicada e que a estimativa é boa. Assim, para que o valor de 𝑹𝟐 seja próximo de 1 é importante selecionar corretamente as variáveis independentes para que elas possam ter correlação entre si. Essa correlação pode ser empírica (o desenvolvedor é quem determina) ou calculada. 63 5.3 Outros algoritmos • Regressão Logística – Esse método é utilizado quando se deseja resolver problemas de classificação binária, ou seja, quando a resposta deve ser uma de duas opções (por exemplo, se o aluno foi aprovado ou reprovado). Assim como na regressão linear, temos dois tipos de variáveis: explicativas e de resposta. Por exemplo, se o modelo quer descobrir se o aluno foi aprovado ou não, as horas de estudo e as notas são as explicativas e aprovado/reprovado é a variável de resposta. Há três tipos de regressão logística: ➢ Binária – A variável de resposta possui apenas dois valores; ➢ Multinomial – Variável de resposta admite 3 ou mais valores; ➢ Ordinal – É uma multinomial onde a ordem das opções importa (Por exemplo, classificar um restaurante com notas de 1 a 5). A regressão logística é utilizada em problemas que necessitam de uma resposta binária e não de um quantitativo. Por exemplo, um sistema de previsão meteorológica utiliza a regressão logística para dizer se vai chover amanhã ou classificar em chuva forte, média ou fraca. Já a regressão linear indicaria a quantidade de chuva, em milímetros, que pode cair amanhã. • Árvores de decisão – Trata-se de uma técnica supervisionada que consiste em inferir respostas indutivamente. Assim, um conjunto de dados previamente classificados é utilizado para treinamento e posteriormente outros exemplos são classificados com base nessa árvore. As árvores de decisão não são um algoritmo em si, mas uma técnica de aprendizagem. Para construí-la, é necessário algum algoritmo, como o ID3. O exemplo a seguir mostra o uso dessa técnica: Foram analisadas 4 características (temperatura, vento, humidade e aspecto) sobre o clima durante um período de dias, e estes foram classificados como aptos ou não para práticas esportivas, conforme a figura abaixo: 64 Fonte: ÁRVORES, [S.D]. Figura 5.2 – Árvores de decisão Assim, dado um conjunto de características, é possível inferir se o dia está propício ou não para a prática esportiva. Esse tipo de modelo é muito utilizado em casos em que há diversas características a serem analisadas: diagnóstico médico, risco de seguros, análise de crédito, entre outros. • SVM (support-vector Machine) – Trata-se de um conjunto de técnicas de aprendizado supervisionado utilizado para análise de regressão e classificação. É um classificador binário que agrupa os dados de entrada em duas classes, não probabilístico. É uma técnica que permite o tratamento de outliers (os dados de entrada que estão distantes dos padrões) e deve ser utilizado em conjuntos não muito grande de dados, pois consome muito processamento e recursos computacionais. A figura a seguir mostra um exemplo dos dados classificados por um SVM: 65 Fonte: SHOUVAL, 2012. Figura 5.3 – Exemplo de Máquina de Vetor de Suporte (SVM) 5.4 Naïve Bayes Trata-se de um algoritmo classificador multinomial (que permite mais do que duas saídas), um dos mais utilizados em aprendizagem de máquina. Esse modelo é probabilístico, ou seja, utiliza probabilidades para classificar os dados em classes pré- definidas. Ele é baseado no Teorema de Bayes e é conhecido também como classificador ingênuo. O teorema é dado pela fórmula a seguir: 𝑷(𝑨 |𝑩) = 𝑷(𝑩 |𝑨) × 𝑷(𝑨) 𝑷(𝑩) Onde: • P (A | B) é a probabilidade do evento A ocorrer; • P (B | A) é a probabilidade de B acontecer, dado que A já ocorreu; • P (A) é a probabilidade de A ocorrer; • P (B) é a probabilidade de B acontecer. O Naïve Bayes é utilizado em aplicações que envolvam classificação de texto (como detectar spam), diagnósticos médicos, entre outros. Para exemplificar, vamos analisar como funciona um classificador de spam contido em navegadores web, baseado no classificador ingênuo. A primeira etapa do algoritmo é criar um banco de dados de palavras obtidas de e-mails válidos e e-mails de spam (essa técnica é de aprendizado supervisionado, e, portanto, requer dados de treinamento). A probabilidade é calculada por meio da frequência em que a palavra (ou expressão) ocorre em eventos de spam e de não spam. Por exemplo, foram analisados 4000 e-mails spam e 500 e-mails legítimos. A expressão “dinheiro fácil” foi encontrada 500 vezes no spam e apenas 5 vezes em e-mails legítimos. Então a probabilidade de “dinheiro fácil” ser spam é calculada pelo Teorema de Bayes: 66 𝟓𝟎𝟎 ÷ 𝟒𝟎𝟎𝟎 (𝟓 ÷ 𝟓𝟎𝟎) + (𝟓𝟎𝟎 ÷ 𝟒𝟎𝟎𝟎) = 𝟎. 𝟗𝟐𝟔 Assim, a probabilidade de um novo e-mail contendo a expressão dinheiro fácil ser classificado como spam é bem alta: mais de 90%. Mas além de criar um banco de dados com palavras suspeitas, é necessário também uma base não suspeita, para evitar falsos positivos (neste exemplo, um e-mail legítimo classificado como spam). Assim, pense no caso de um e-mail legítimo contendo a seguinte frase: “não acredite em promessas, não existe dinheiro fácil”, poderia gerar um falso positivo. Portanto, com as duas bases feitas, o filtro de spam é utilizado com a contagem de palavras mais relevantes para spam e classificado de acordo com um limite pré-estabelecido. 5.5 Aplicações Entre os principais usos e benefícios da aprendizagem de máquina, destaca-se: • Tomada de decisões – A aprendizagem de máquina auxilia as empresas na tomada de decisões, pois transforma dados brutos em conhecimentos e informações úteis. Assim, essas informações inteligentes podem ser usadas nos processos da organização, auxiliando-a a gerenciar as atividades operacionais, antecipando e respondendo as demandas e medindo o grau de satisfação das expectativas de negócio pré-definidas. Portanto, a capacidade de tomar decisões em frações de tempo atualmente é condição essencial para que as empresas cumpram seus objetivos e possuam diferenciais em relação à concorrência. • Automação de tarefas – A aprendizagem de máquina é uma técnica muito importante para a automação de tarefas manuais. A automatização de tarefas já é desejada desde os tempos da primeira revolução industrial e foi sendo aprimorada com o tempo. Agora, com a inteligência artificial e aprendizagem de máquina, a forma de automação mudou. Os algoritmos focam em problemas específicos, permitindo mudanças e resolução de problemas em tempo real. Assim, o que, em outros tempos, demorava até anos para ser mapeado e automatizado, hoje, pode ser feito muito mais rapidamente. Além disso, a 67 automação extrapolou os limites industriais e passou a ser utilizada também em outros setores, como o de serviços. • Segurança de rede – A conectividade trouxe benefícios inegáveis para a humanidade, mas, por outro lado, os dados e informações ficaram mais expostos e vulneráveis. Com isso, estar conectado apresenta riscos à nossa integridade, seja por falhas nas redes ou ataques criminosos. A aprendizagem de máquina está sendo utilizada para prever essas falhas com antecedência e detectar possíveis ameaças cibernéticas. Os algoritmos monitoram, em tempo real, o fluxo da rede, e percebem qualquer anomalia instantaneamente. Além disso, eles são programados para se auto treinarem, de acordo com os perfis dos usuários e das características das ameaças e podem se adaptar com facilidade aos sistemas de segurança cibernética. • Iniciativas de negócios – Tradicionalmente, os processosde automação estavam restritos às grandes corporações, restando aos pequenos negócios buscarem alternativas e nichos de mercado. Com a aprendizagem de máquina, as pequenas empresas também tiveram acesso aos processos de automação (embora em quantidade menor) e puderam melhorar ou até mesmo criar negócios. Por exemplo, a plataforma AirBnB revolucionou o setor de hospedagem e hotelaria. Obviamente as grandes redes hoteleiras continuam ativas, porém a plataforma deu uma nova forma para os usuários se hospedarem. Tudo isso com auxílio da IA, que permitiu à plataforma gerenciar de forma eficiente todos os seus usuários, oferecendo serviços personalizados e aumentando o grau de satisfação do cliente. • Gerenciamento de despesas – Com a IA, as empresas puderam ter uma melhor visão de seus custos e despesas, podendo automatizar ou até eliminar tarefas que eram dispendiosas. Por exemplo, empresas de serviços com grande quantidade de clientes (como telefonia ou TV a cabo) possuíam grandes dificuldades de gerenciamento e suporte aos seus clientes. Com isso, era necessário manter enormes departamentos de atendimento ao cliente, arcando 68 com custos de treinamento, equipamentos e manutenção. Com os chatbots inteligentes, essas empresas puderam diminuir seus departamentos de suporte e conseguiram, além de diminuir custos, melhorar a satisfação de seus clientes. • Previsão de comportamento – Uma das características dos algoritmos de ML é que eles estão sempre aprendendo. Assim, eles conseguem interagir com os mais diversos tipos e níveis de clientes, aprendendo seus padrões e comportamentos. Com isso, a aprendizagem de máquina pode prever, por exemplo, o comportamento de compra de um cliente e oferecer produtos direcionados. • Processos de baixo nível – Muitas tarefas que são realizadas em baixo nível são feitas de formas manuais e um erro cometido nessa etapa pode se propagar por todos os níveis da organização, podendo levá-la a tomar decisões errôneas. Por exemplo, a tarefa de entrada de dados em um sistema realizada de forma manual pode ser suscetível a erros. Com isso, um dado incorreto pode levar a decisões erradas. Assim, a aprendizagem de máquina tem auxiliado nessas tarefas, para que os erros sejam eliminados, garantindo a confiabilidade dos dados. • Modelos financeiros – O setor financeiro é um dos grandes responsáveis pela propagação da aprendizagem de máquina. Antes, tarefas como análise de crédito e prevenção de fraudes financeiras eram feitas de forma manual e, portanto, com muitas falhas. Com a ML, os padrões de compras e pagamentos dos clientes são analisados de forma mais precisa, possibilitando ao setor financeiro uma maior compreensão dos seus clientes. Além disso, a aprendizagem de máquina pode auxiliar as empresas a gerenciar melhor seus fluxos de caixa e possibilitar, por exemplo, uma melhor negociação de concessão de crédito. Além dessas aplicações, muitas outras estão disponíveis nos mais variados setores como medicina, esporte, bolsa de valores, tráfego aéreo e muito mais. Hoje, a aprendizagem de máquina se expandiu e está presente em nosso cotidiano. 69 Conclusão Nesse bloco foi abordado o tema aprendizagem de máquina, com suas características e tipos. Apresentou-se os conceitos iniciais e fatos históricos, bem como uma introdução aos principais algoritmos de regressão e classificação. Por fim, diversas áreas de aplicação foram discutidas, mostrando a importância da ML atualmente. REFERÊNCIAS ÁRVORES de decisão. GFBioinfo. Lisboa: [S.D.]. Disponível em: https://bit.ly/3B8NWFG. Acesso em: 1 set. 2022. JO, M. Multiple Linear Regression. Marcelojo. [S.L.], 23 out. 2017. Disponível em: http://marcelojo.org/multiple-linear-regression/. Acesso em: 1 set. 2022. NEIL, C. Artificial Intelligence: 4 books in 1: AI For Beginners + AI For Business + Machine Learning For Beginners + Machine Learning And Artificial Intelligence. [S.L.]: Alicex, 2020. SHOUVAL, R. Exemplo de máquina de vetor de suporte. Wikimedia Commons, 2012. Disponível em: https://bit.ly/3Bgrmel. Acesso em: 1 set. 2022. http://marcelojo.org/multiple-linear-regression/ 70 6 TÉCNICAS AVANÇADAS DE IA Apresentação A inteligência artificial se baseia em processar dados para extrair conhecimento sobre eles. Diversas técnicas de aprendizados supervisionado e não supervisionado são utilizadas para isso. Desde algoritmos mais simples, como a regressão linear até algoritmos extremamente sofisticados, como a aprendizagem profunda e as redes neurais. Mas antes de processar esses dados, é necessário coletá-los. A tarefa de coletar e preparar os dados não é simples, pois o seu volume é consideravelmente grande, tanto que os softwares tradicionais de banco de dados não conseguem processá-los. Assim, frameworks de processamento de dados em grande escala foram desenvolvidos para que os algoritmos de aprendizagem de máquina pudessem realizar suas tarefas com mais eficiência. Esse conceito de gerenciamento de dados em grande escala recebeu o nome de Big Data. Esse é um dos assuntos que vamos abordar nesse bloco. Além disso, será apresentado também técnicas mais elaboradas de IA, como a Deep Learning e redes neurais. 6.1 Deep Learning A aprendizagem profunda, ou Deep Learning (DL), é o estado da arte em inteligência artificial. Empresas como a Meta e o Google tem dedicado grandes recursos para o desenvolvimento dessa técnica. Em linhas gerais, a DL funciona mapeando algo do mundo real em recursos mais complexos que são entendíveis pelo computador. Por exemplo, se você quiser que o computador interprete uma figura contendo um vaso de flor como sendo realmente um vaso de flor e não um conjunto de pixels, você deverá estabelecer uma forma de extrair características relevantes do vaso de flor e mapeá-las em pixels, linhas, curvas etc. E essa é a tarefa da DL! 71 As técnicas de aprendizagem profunda são baseadas em redes neurais artificiais, que são algoritmos que simulam o comportamento do cérebro. Para entender o conceito de rede neural (NN, do inglês Neural Network), vamos conhecer como funciona um cérebro. Tecnicamente, o cérebro pode ser considerado um computador, pois é capaz de processar informações, e atua de forma não-linear e paralela. Ademais, possui a capacidade de organizar os neurônios para que estes tenham alguns comportamentos, como reconhecer padrões e controle motor, executados de forma muito rápida. Assim, uma NN é um sistema que simula as ligações entre neurônios para realizar tais tarefas artificialmente. Uma rede neural é constituída de camadas de nós (os neurônios artificiais) que recebem um determinado peso. Por exemplo, uma rede que visa classificar imagens poderá atribuir valores (pesos) a cada pixel de uma imagem de entrada. Além disso, na etapa de treinamento, as saídas devem ser rotuladas com o valor desejado. Assim, para treinar uma rede neural que classifique imagens, é necessário que haja um conjunto prévio de imagens rotuladas com o padrão de resposta esperado. Sempre que a rede não atingir a resposta esperada, uma mensagem de erro é transmitida para as camadas de nós, e os pesos são ajustados. As redes neurais trabalham tanto com modelos supervisionados quanto com modelos não supervisionados. No primeiro caso, é utilizado um conjunto de dados de treinamento com suas saídas rotuladas e, quando a rede for testada com dados semelhantes, ela será capaz de encontrar uma resposta precisa. Nos modelos não supervisionados, o dado a ser processado é fornecido para as camadas de entrada e saída, e as camadas internas é que realizam o processamento. A imagem a seguir ilustra uma rede neural: 72 Fonte: OLIVEIRA et al., 2010. Figura 6.1 – Rede neural O termo “profunda” vem do fato de que as redes neurais utilizadaspara a DL são constituídas de muitas camadas intermediárias (150 em média). Um dos modelos mais comuns de redes neurais para DL é a convolucional (CNN). Esse tipo de rede é ideal para o processamento de dados bidimensionais (imagens, por exemplo). A principal vantagem da CNN é que ela é capaz de extrair recursos da entrada automaticamente, sem a interferência humana. Assim, um conjunto de dados de treinamento é fornecido para a CNN é ela aprende a extrair os dados relevantes, sendo muito utilizadas em aplicações que precisam classificar objetos (reconhecimento de rostos, objetos em uma cena, entre outros). Pelo fato de uma CNN possuir muitas camadas internas, ela pode identificar características específicas em cada uma das camadas. Por exemplo, a primeira detecta cores, e a última poderá observar os objetos no fundo da imagem. 73 Assim, na CNN cada camada oculta funciona como um filtro (matrizes numéricas bidimensionais) que identifica padrões e diminui a dimensão dos dados originais. Essas etapas de filtragem recebem o nome de convolução e são sumarizadas até a convolução mais profunda da rede. Após essas etapas, os dados são inseridos em uma rede neural simples para que sejam classificados. Portanto, em um classificador de rostos, a CNN utiliza as primeiras camadas para reconhecer curvas e bordas; em seguida, essas informações de curvas e bordas são utilizadas para reconhecer boca, nariz, olhos e orelhas. Nas camadas profundas, a CNN então reconhece o rosto inteiro. Por fim, a rede neural simples (FFN) classifica se o dado é ou não um rosto. A imagem a seguir traz um exemplo de uma CNN, onde os nós laranja formam a camada de entrada, os nós lilás são as convoluções, os nós verdes a FFN e os vermelhos são as saídas. Fonte: TCH, 2017. Figura 6.2 – Convolutional Neural Network (CNN) 74 6.2 Outros tipos de NN Diversos outros tipos de redes neurais podem ser utilizados. A seguir, destacamos algumas delas: • Perceptron – As redes perceptron ou FFN são os tipos mais simples de redes neurais. Elas são compostas de neurônios que propagam a informação de forma linear desde a entrada até a saída. Cada neurônio possui uma operação matemática, denominada função de ativação, do tipo 𝑾𝒙 + 𝒃, onde W é o peso, x é a informação e o b é o parâmetro bias (desvio); Devido ao fato de que os neurônios trabalham somente com informações vindas das camadas anteriores, são chamadas de redes atemporais, e são utilizadas em tarefas em que os dados não possuem relação temporal com a saída esperada como, por exemplo, um sistema de diagnóstico médico; • Redes recorrentes (RNN) – Esse tipo de rede utiliza informações da camada anterior e dos dados processados na camada atual para propagar suas informações pela rede, criando um vínculo temporal. São utilizadas em aplicações onde a relação de tempo é importante, como previsão meteorológica; • Auto-Encoder (AE) – São redes neurais específicas para a compressão de dados. Suas camadas ocultas são menores do que a entrada, e a saída é uma cópia da entrada. Assim, elas conseguem representar a mesma informação em uma dimensão reduzida. São utilizadas em aplicações que precisam comprimir dados (serviços de streaming, por exemplo) ou como auxiliar em outras redes neurais. Um outro tipo de decodificador é o VAE, onde os dados são comprimidos e reconstruídos de forma probabilística, ou seja, suas camadas ocultas utilizam probabilidades para comprimir os dados; 75 • Cadeias de Markov (MC) – Nem sempre são consideradas redes neurais, mas também trabalham com camadas de nós. Como ela não contém memória (ou seja, não tem a informação do que aconteceu nas camadas anteriores), o próximo estado depende somente do atual. São utilizadas em aplicações que fazem uso das probabilidades para determinar se uma informação será ou não replicada no próximo estado, como por exemplo análise de mutação viral; • Máquina de Boltzmann (BM) – Similares as cadeias de Markov, mas com a diferença que seus nós possuem funções de ativação e são todos interconectados de forma circular. Nesse modelo, alguns nós são determinados para entrada (e no fim do processamento se tornam saída) e outros estão ocultos. São utilizados em aplicações onde se deve manter o equilíbrio entre entrada e saída como, por exemplo, um veículo autônomo, onde as informações externas são captadas e o automóvel é ajustado de acordo com elas. Possui uma forma variável, denominada Máquina de Boltzmann restrita (RBM), onde os nós não são circulares e não estão interconectados; • Rede de crença profunda (DBN) – Trata-se de um conjunto de redes VAE e RBM e suas camadas ocultas utilizam uma estratégia gulosa de processamento, isto é, cada camada busca a melhor solução para aquele momento, sem considerar a melhor solução global. Como envolve dados probabilísticos, essas redes podem gerar novos dados na saída, e são utilizadas tanto como classificadores quanto para gerar novas informações (como um gerador de texto); • Redes deconvolucionais (DN) – Fazem o processo inverso das redes convolucionais, ou seja, partem de um conjunto reduzido de dados e adicionam elementos nesses dados, gerando novas informações. São utilizadas em geradores de imagem, como aplicativos de retrato falado; 76 • Rede adversarial generativa (GAN) – Essas redes funcionam como um par de redes neurais: uma generativa, que cria conteúdo baseados nas informações originais; e uma adversarial, que julga o conteúdo criado pela rede generativa. Sempre que esse conteúdo não é admitido pela adversarial, a generativa se ajusta para melhorar a informação gerada, possibilitando assim a criação de conteúdos inéditos. São utilizadas, por exemplo, em aplicações artísticas, como um compositor de música clássica; • Máquinas de estado líquido (LSM) – São redes neurais onde os neurônios possuem funções de memória e limite. Assim, eles guardam as informações até atingirem um limite, e daí disparam sua informação pela rede. Além disso, as conexões entre neurônios são aleatórias, simulando alguns processos cerebrais. São utilizadas em aplicações de reconhecimento de fala e visão computacional; • Redes de Kohonen (KN) – Também chamada de mapa auto organizável, é uma rede que utiliza aprendizado competitivo e sem supervisão. Os neurônios são inicializados com valores aleatórios e os dados de entrada são comparados a esses valores, através de métricas preestabelecidas. As conexões mais similares são fortalecidas (conceito de competitividade) e os neurônios são ajustados para representarem os dados originais. Ao fim do treinamento, esses dados podem ser agrupados de acordo com sua similaridade. São utilizadas em aplicações que não são supervisionadas como, por exemplo, detecção de falhas em uma máquina; • Rede de atenção (AN) – São redes com uma arquitetura complexa e possuem estrutura de memória. Um mecanismo de atenção define o grau de importância que a informação que está na memória recebe a cada passo do treinamento. São utilizadas como substitutas de redes recorrentes, pois conseguem manter memória sem a necessidade de recorrência. Com isso, são mais rápidas e o seu processamento pode ser paralelo (processar mais do que uma informação ao mesmo tempo). São utilizados em modelos de processamento de linguagem natural, e se mostraram muito eficientes em tarefas complexas como identificar sentimentos e responder perguntas. 77 6.3 Big Data Big Data é a técnica de processar dados em grande volume, na ordem de giga, tera e até petabytes. Com a introdução de grandes data centers na década de 1970, o volume de dados passou a aumentar exponencialmente. Nos anos 1990, o termo Big Data foi introduzido para representar esse volume de dados, pois a capacidade dos softwares à época em processaresses dados não era o suficiente. Assim, novos sistemas de banco de dados tiveram que ser criados para o armazenamento de dados e os softwares precisaram ser reescritos para poder lidar com o volume maciço de informações. Uma das premissas do Big Data é chamada de 3 V`s: • Volume – Refere-se à quantidade de dados disponíveis. Aplicações em Big Data processam grandes quantidades de dados que, por muitas das vezes, não são estruturados e não possuem valores conhecidos. Vão desde feeds de redes sociais até cliques de mouse ou dados de sensores; • Velocidade – Aplicações de Big Data devem transmitir seus dados em velocidades compatíveis. Muitas aplicações funcionam em tempo real, portanto devem possuir estruturas de transmissão massiva de dados em alta velocidade; • Variedade – Os dados não são estruturados e partem de diversas fontes. Logo, os sistemas de armazenamento devem ser preparados para armazenar esses dados. Atualmente o Big Data é essencial para as organizações de tecnologia, pois muito de seus valores são obtidos através de dados. A partir da década passada, os recursos computacionais e de armazenamento tiveram seus custos muito reduzidos, devido as inovações tecnológicas. Além disso, com o advento de internet por satélite ou 5G, a transmissão desses dados passou a ser mais veloz. Assim, processar grandes quantidades de dados passou a ser mais fácil, rápido e barato, tornando o Big Data uma das tecnologias mais importantes. 78 Hoje, o Big Data associado com IoT e aprendizagem de máquina produz quantidade enorme de dados e são utilizados nos mais variados segmentos: • Desenvolvimento de produtos – As indústrias estão utilizando Big Data para prever a demanda de novos produtos, baseado em dados coletados dos clientes. Assim, uma empresa pode detectar nas redes sociais um determinado padrão de consumo e desenvolver produtos específicos; • Manutenção preditiva – Dados de sensores, como temperatura, ou dados de log podem ser importantes na detecção de falhas mecânicas. Em comum, esses dados não são estruturados. Logo, o Big Data tem sido utilizado na tarefa de prover paradas estratégicas para a manutenção dos equipamentos; • Detecção de fraude – Com a disponibilidade e processamento de grandes volumes de dados, o Big Data auxilia na detecção de anomalias nos dados, indicando possíveis fraudes ou ameaças; • IA – Algoritmos de aprendizagem de máquina demandam muitos dados para que possam ser treinados. Assim, aplicações de Big Data entregam esses dados de forma rápida e eficiente. O Big Data funciona por meio de um processo conhecido por ETL, que é a extração, transformação e carregamento dos dados. • O processo de extração (E) consiste em ferramentas que se comunicam com as fontes de dados para adquirir esses dados e inseri-los nos sistemas de destino. Por exemplo, temos as APIs que extraem dados das redes sociais; • O processo de transformação de dados (T) é constituído de várias etapas (padronização, limpeza e qualidade). Como os dados são oriundos de diversas fontes, é necessário que eles sejam padronizados para o sistema de origem, além da verificação de sua qualidade, ou seja, se estão aptos para análise; 79 • Por fim, o processo de carregamento (L, de Load em inglês) consiste em transmitir os dados da área intermediária (staging) até os Data Warehouse, que são os locais finais de armazenamento. 6.4 Análise de Dados e Hadoop Após a etapa de coleta dos dados, é hora de utilizar esses dados para produzir informações úteis. Assim, a área da tecnologia que foca em transformar dados em informações é chamada de Análise de Dados ou Data Analytics (DA). A DA ganhou importância no ano de 2008, quando foi lançado o Hadoop que é uma plataforma open source para gerenciar os componentes de armazenamento e processamento de dados para Big Data, e ganhou notoriedade pois é uma ferramenta versátil e permite a análise de dados sob demanda. O Hadoop foi projetado incialmente para ser um mecanismo de busca na web, mas sofreu forte concorrência do Google e o projeto foi alterado para armazenamento e processamento de dados. O Hadoop é constituído de quatro modelos de ferramenta: • Hadoop Common, para casos mais básicos; • HDFS, para armazenamento distribuído dos dados; • MapReduce, para o processamento e filtro dos dados; • YARN, para gerenciar os recursos e agendamento de tarefas. O Hadoop, por ter uma estrutura distribuída, pode ser escalonado em diversas máquinas e com isso ele é capaz de processar conjuntos de dados de qualquer tamanho e escalonáveis. As dificuldades de se armazenar grandes volumes de dados residem no fato de que os recursos e o hardware para suportar a carga de dados é bastante custoso. Com o Hadoop, os hardwares podem ser menos potentes, pois o software é preparado para grandes cargas, além de poder ser distribuído em diversas máquinas. 80 Um outro diferencial dessa ferramenta está na forma de armazenamento. Anteriormente os dados eram armazenados em Data Warehouses (DW), que são grandes conjuntos de dados organizados de acordo com o tipo das informações. Como esses dados eram estruturados, eles precisavam ser analisados previamente para ser possível armazená-los e recuperá-los posteriormente. Os DW são eficientes para recuperar informações, porém o processo de análise e armazenamento é lento e custoso. Em contrapartida, os Data Lakes (DL) trabalham com grandes repositórios de dados não estruturados, que não são analisados previamente se haverá utilidade ou não em um futuro. Com isso, o hardware utilizado pelo Hadoop pode possuir menor poder de processamento. Um dos motivos para o grande aumento no armazenamento de dados pode ser encontrado na IoT. Em meados dos anos 2000, a quantidade de dados armazenados em um espaço de 24 horas é gerada em 3 minutos nos dias de hoje. Isso acontece devido ao fato de que muitos aparelhos, como smartphone e eletrodomésticos, além de sensores industriais, estarem conectados à internet. A tendência é de crescimento, pois outros setores, como agropecuária, meio ambiente e automação residencial estão utilizando dos benefícios da IoT. Assim, aplicações de internet das coisas utilizam, em sua grande maioria, o Hadoop para processar e armazenar dados. Portanto, os benefícios de se utilizar Hadoop podem ser resumidos em: • Escalabilidade e desempenho – Permite análise de dados da ordem de peta bytes; • Confiabilidade – O Hadoop possui prevenção de falhas nos nós do cluster computacional (um cluster é um conjunto de computadores distribuídos trabalhando em conjunto); • Flexibilidade – não há a necessidade de estruturar os dados para armazená-los; 81 • Baixo custo – Trata-se de um software de código aberto que executa em hardwares de baixo custo. 6.5 Ferramentas para DA Atualmente há diversas ferramentas para se trabalhar com Data Analytics. Para cada tipo de análise, pode ser utilizado um conjunto de ferramentas específicas. Na DA existem 4 tipos de análise: • Análise descritiva – Trata-se do tipo que demanda menor esforço e busca dar respostas sobre o que se passou. Para esse tipo de análise, ferramentas gráficas de visualização de dados (como gráficos) são as mais utilizadas. Assim, essa análise mostra informações como o quanto se vendeu em um determinado período ou a frequência de uma determinada informação; • Análise diagnóstica – Esse tipo de análise busca não o que aconteceu, mas sim o porquê aconteceu. Com isso, ferramentas de análise regressiva são utilizadas para identificar o motivo de uma anomalia ou falha; • Análise preditiva – Trata-se do tipo que busca prever novos eventos. Geralmente estão associadas com ferramentas de aprendizado de máquina que detectam padrões e tendências; • Análise prescritiva – Trata-se do tipo de maior complexidade, pois busca entendernão somente o que acontecerá no futuro, mas como a organização pode mudar o que vai acontecer. Para tanto, são utilizadas técnicas avançadas de IA e aprendizagem de máquina. Portanto, as análises trabalham com as perspectivas de buscar o que aconteceu, o porquê aconteceu, o que acontecerá e como alterar o que acontecerá. Assim, diversas plataformas são utilizadas, além do Hadoop, para Big Data e DA: • Apache Spark – Software para agendamento de tarefas e transmissão automatizada de dados que funciona cerca de 100 vezes mais rápido que o módulo de transmissão do Hadoop; 82 • Apache Storm – Plataforma para transmissão em tempo real de dados que funciona de forma distribuída; • Apache Cassandra – Trata-se de um banco de dados distribuído projetado para armazenamento massivo de dados estruturados; • RapidMiner – Plataforma que fornece serviços de aprendizagem de máquina, análise preditiva e aprendizagem profunda; • MongoDB – Banco de dados não relacional que fornece respostas em tempo real; • Linguagem R – É uma linguagem de programação utilizada para análise de dados e que é compatível com todos os sistemas operacionais, servidores de banco de dados e ferramentas como Hadoop e Spark; • Neo4j – Banco de dados para grandes volumes de dados gráficos, como imagens. Conclusão Neste bloco foram abordados temas como o aprendizado profundo através de redes neurais e o conceito de redes neurais convolucionais. Além disso, foram introduzidos outros tipos de redes neurais mais comuns e exemplos de aplicações. Depois foram discutidos como grandes volumes de dados podem ser processados e armazenados através do conceito de Big Data e Data Analytics, bem como as principais ferramentas utilizadas para essas tarefas. 83 REFERÊNCIAS HAYKIN, S. Redes neurais: Princípios e Práticas. 2 ed. Porto Alegre: Bookman, 2000. NEIL, C. Artificial Intelligence: 4 books in 1: AI For Beginners + AI For Business + Machine Learning For Beginners + Machine Learning And Artificial Intelligence. [S.L.]: Alicex, 2020. OLIVEIRA, A. C. S.; SOUZA, A. A.; WILLIAN, S. L.; GONÇALVES, R. G. Ciênc. agrotec., Lavras, v. 34, n. 2, p. 279-284, mar./abr., 2010. TCH, A. The mostly complete chart of Neural Networks, explained. Towards Data Science, 2017.