Os computadores do futuro serão radicalmente diferentes (Computação Analógica)

0
Share
Copy the link

Por centenas de anos, os computadores analógicos foram os mais poderosos na Terra, prevendo ees, marés e guiando armas antiaéreas. Então, com o advento dos transistores de estado sólido, os computadores digitais decolaram. Agora, praticamente todos os computadores que usamos são digitais, mas hoje uma combinação perfeita de fatores está preparando o cenário para um ressurgimento da tecnologia analógica. Este é um computador analógico e conectando esses fios de maneiras específicas, posso programá-lo para resolver uma série de equações diferenciais. Por exemplo, esta configuração me permite simular uma massa amortecida oscilando em uma mola. Então, no osciloscópio, você pode realmente ver a posição da massa ao longo do tempo e eu posso variar o amortecimento, a constante da mola ou a massa. E podemos ver como a amplitude e a duração das oscilações mudam. Agora, o que faz isso ser um computador analógico é que não existem zeros e uns aqui. Em vez disso, há realmente uma tensão que oscila para cima e para baixo, exatamente como uma massa em uma mola. A circuitaria elétrica é uma analogia para o problema físico, apenas acontece muito mais rápido. Agora, se eu mudar as conexões elétricas, posso programar este computador para resolver outras equações diferenciais, como o sistema de Laurents, que é um modelo básico de convecção na atmosfera. O sistema de Laurence é famoso por ser um dos primeiros exemplos de caos. E aqui você pode ver o atrator de Lawrence com sua bela forma de borboleta. E neste computador analógico, eu posso alterar os parâmetros e ver seus efeitos em tempo real. Esses exemplos mostram algumas vantagens dos computadores analógicos. Eles são dispositivos de computação incrivelmente poderosos e podem realizar muitos cálculos rapidamente, além de não consumirem muita energia para isso. Em um computador digital, para somar dois números de 8 bits são necessários cerca de 50 transistores. Enquanto com um computador analógico, você pode somar duas correntes apenas conectando dois fios. Com um computador digital, para multiplicar dois números, você precisa da ordem de 1000 transistores, todos trocando zeros e uns. Enquanto com um computador analógico, você pode passar uma corrente através de um resistor. E então a tensão, através deste resistor será I x R. Então, efetivamente você multiplicou dois números, mas os computadores analógicos também tm suas desvantagens. Por um lado, eles não são dispositivos de computação de uso geral. Quer dizer, não vai rodar o Microsoft Word nessa coisa. E também, como as entradas e saídas são contínuas, eu não consigo inserir valores exatos. Então, se eu tentar repetir o mesmo cálculo, nunca vou obter a mesma resposta exata. Considere também a fabricação de computadores analógicos. Sempre haverá alguma variação no valor exato de componentes como resistores ou capacitores. Como regra geral, você pode esperar um erro de cerca de 1%. Computadores analógicos são poderosos, rápidos e eficientes em termos de energia, mas de uso único, não repetíveis e inexatos. Esses problemas provavelmente são insuperáveis e são as principais razões pelas quais os computadores analógicos caíram em desuso quando os digitais se tornaram viáveis. Eis o motivo do possível retorno dos computadores analógicos. [Música] Tudo começa com a inteligência artificial. Uma máquina foi programada para ver e mover objetos. A Ia não é nova. O termo foi cunhado em 1956. Em 1958, Frank Rosenblat, psicólogo da Universidade de Cornell, construiu o Percepton, projetado para imitar o disparo de neurônios em nossos cérebros. Aqui está o modelo básico de como os neurônios funcionam em nosso cérebro. Um neurônio individual pode disparar ou não. Então seu nível de ativação pode ser representado como um ou zero. A entrada para um neurônio é a saída de um monte de outros neurônios, mas a força dessas conexões entre os neurônios varia, então cada uma pode ser dada um peso diferente. Algumas conexões são excitatórias com pesos positivos, enquanto outras são inibitórias com pesos negativos. E a maneira de descobrir se um neurônio específico dispara é pegar a ativação de cada neurônio de entrada e multiplicar pelo seu peso e então somar tudo isso. Se a soma deles for maior que um certo número chamado de viés, então o neurônio dispara. Mas se for menor que isso, o neurônio não dispara. O Percepttron de Rosenblat recebia como entrada uma imagem de 20x 20 pixels, capturada por 400 células fotosensíveis dispostas em uma grade quadrada. Cada pixel pode ser considerado um neurônio de entrada com sua ativação sendo o brilho do pixel. Embora estritamente falando, a ativação deva ser zero ou um, podemos permitir que ela assuma qualquer valor entre zero e um. Todos esses neurônios estão conectados a um único neurônio de saída, cada um por meio de seu próprio peso ajustável. Para verificar se o neurônio de saída será ativado, multiplique a ativação de cada neurônio pelo seu peso e some tudo. Isso é basicamente um produto escalar de vetores. Se a resposta for maior que o viés, o neurônio é ativado, senão ele não é. O objetivo do Percepton era distinguir de forma confiável entre duas imagens, como um retângulo e um círculo. Por exemplo, o neurônio de saída poderia sempre ser ativado quando apresentado a um círculo, mas nunca a um retângulo. Para isso, o perceptron precisava ser treinado, sendo exposto a diversos círculos e retângulos e tendo seus pesos ajustados adequadamente. Podemos visualizar os pesos como uma imagem, já que existe um peso único para cada pixel da imagem. Inicialmente, Rosenblat definiu todos os pesos como zero. Se a saída do percepton estiver correta, por exemplo, aqui é mostrado um retângulo e o neurônio de saída não dispara, nenhuma alteração é feita nos pesos. Mas se estiver errado, os pesos são ajustados. O algoritmo para atualizá-los é notavelmente simples. O neurônio de saída não disparou quando deveria ao ser mostrado um círculo. Para modificar os pesos, basta adicionar as ativações de entrada aos pesos. Se o neurônio de saída disparar quando não deveria, como aqui quando mostrado um retângulo, então você subtrai as ativações de entrada dos pesos e você continua fazendo isso até que o percepton identifique corretamente todas as imagens de treinamento que foram mostradas. Este algoritmo sempre irá convergir, desde que seja possível mapear as duas categorias em grupos distintos. O percepton era capaz de distinguir entre diferentes formas, como retângulos e triângulos, ou entre diferentes letras. E segundo Rosenblat, ele até conseguia distinguir a diferença entre gatos e cachorros. Ele disse que a máquina era capaz do que equivale a um pensamento original. E a mídia adorou isso. O New York Times chamou o Percepton de embrião de um computador eletrônico, que a Marinha espera que seja capaz de andar, falar, ver, escrever, se reproduzir e ter consciência de sua existência. Depois de treinar com muitos exemplos, ele recebe novos rostos que nunca viu e é capaz de distinguir com sucesso o masculino do feminino. Ele aprendeu. Na realidade, o Percepton era bastante limitado no que podia fazer. Ele não diferenciava cães de gatos. Essas e outras críticas foram levantadas em um livro pelos gigantes do Minsky e Paper em 1969, levando a um período de declínio para as redes neurais artificiais e a IA em geral, conhecido como o primeiro inverno da IA. Rosenblat não sobreviveu a este inverno. Ele se afogou navegando na baía de Chessa Pique em seu 43º aniversário. [Música] O Naveab é um caminhão apto para rodar, modificado para que pesquisadores ou computadores possam controlar o veículo conforme a demanda. Na década de 80, houve um ressurgimento da IA quando pesquisadores da Carneg Melon criaram um dos primeiros carros autônomos. O veículo era dirigido por uma rede neural artificial chamada Alvin. Era similar ao Percepton, mas com uma camada oculta de neurônios artificiais entre a entrada e a saída. Como entrada, Alvin recebia imagens de 30x 32 pixels da estrada à frente. Aqui estou mostrando as como 60 por 64 pixels. Cada neurônio de entrada estava conectado através de um peso ajustável a uma camada oculta de quatro neurônios. Cada um deles estava conectado a 32 neurônios de saída. Então, para ir de uma camada da rede paraa próxima, você realiza uma multiplicação de matrizes, a ativação de entrada vezes os pesos. O neurônio de saída com a maior ativação determina o ângulo de direção. Para treinar a rede neural, um humano dirigiu o veículo fornecendo o ângulo de direção ideal para cada imagem de entrada. Os pesos na rede neural foram ajustados através do treinamento para que a saída do Alvin correspondesse à do motorista humano. O método para ajustar os pesos é chamado de retropropagação, que não será detalhado aqui, mas a série da Welsh Labs sobre o assunto está linkada na descrição. Você pode visualizar os pesos dos quatro neurônios ocultos como imagens novamente. Os pesos são inicialmente aleatórios, mas conforme o treinamento avança, o computador aprende a identificar certos padrões. As marcações da estrada emergem nos pesos. Simultaneamente, o ângulo de direção de saída se funde com ângulo de direção humano. O computador dirigiu o veículo a uma velocidade máxima de cerca de 1 ou 2 km/h. O desempenho foi limitado pela velocidade de multiplicação de matrizes do computador. Apesar desses avanços, as redes neurais artificiais ainda tinham dificuldades com tarefas aparentemente simples, como distinguir gatos de cães. E ninguém sabia se o hardware ou o software era o elo fraco. Então, já tínhamos um bom modelo de inteligência, só faltava mais poder computacional ou nós tínhamos a ideia errada sobre como criar sistemas inteligentes desde o início? Então, a inteligência artificial passou por outra queda nos anos 1990. Em meados dos anos 2000, a maioria dos pesquisadores de IA focava em aprimorar os algoritmos. Mas uma pesquisadora Fei Feile pensou que talvez houvesse um problema diferente. Talvez essas redes neurais artificiais só precisem de mais dados para treinamento. Então ela planejou mapear todo o mundo dos objetos. Entre 2006 e 2009, ela criou o ImageNet, um banco de dados com 1,2 milhão de imagens rotuladas por humanos. Na época, o maior conjunto de dados de imagens rotuladas já feito. De 2010 a 2017, o Imagnetou um concurso anual, o desafio de reconhecimento visual em grande escala, onde programas competiam para detectar e classificar corretamente as imagens. As imagens foram classificadas em 1000 categorias, incluindo 90 raças de cães. Uma rede neural nesta competição teria 1000 neurônios na camada de saída, cada um representando uma categoria de objeto que poderia estar presente na imagem. Se a imagem contém um pastor alemão, então o neurônio de saída correspondente a ele deve ter a maior ativação. Como esperado, foi um desafio difícil. Uma maneira de avaliar o desempenho de uma IA é ver com que frequência as cinco maiores ativações de neurônios não incluem a categoria correta. Essa é a taxa de erro dos cinco primeiros. Em 2010, o melhor desempenho teve uma taxa de erro dos cinco primeiros de 28,2%. significando que em quase 1/3 das vezes a resposta correta não estava entre as cinco principais suposições. Em 2011, a melhor taxa de erro foi de 25,8%, uma melhoria substancial. Porém, no ano seguinte, a rede neural artificial AlexNet da Universidade de Toronto venceu a competição com uma taxa de erro dos cinco primeiros de apenas 16,4%. O diferencial do Alexnet era seu tamanho e profundidade. A rede consistia em oito camadas e, no total, 500.000 neurônios. Para treinar o Alex Net, 60 milhões de pesos e vieses foram cuidadosamente ajustados usando o banco de dados de treinamento. O processamento de uma única imagem exigiu 700 milhões de operações matemáticas devido às grandes multiplicações de matrizes. Portanto, o treinamento foi computacionalmente intensivo. A equipe conseguiu isso ao pioneirismo no uso de GPUs, unidades de processamento gráfico, tradicionalmente usadas para executar imagens em telas. Assim, são especializados em cálculos paralelos velozes. O artigo do Alexnet sobre sua pesquisa possui uma grande fama. Agora foi citado mais de 100.000 1 vezes e identifica a escala da rede neural como chave para o seu sucesso. Leva muitos cálculos para treinar e executar a rede, mas a melhoria no desempenho vale a pena. Com outros, seguindo seu exemplo, a taxa de erro dos cinco primeiros na competição Imednet despencou nos anos seguintes, chegando a 3,6% em 2015. Isso é melhor do que o desempenho humano. A rede neural que alcançou isso tinha 100 camadas de neurônios. Portanto, o futuro é evidente. Haverá uma demanda crescente por redes neurais de maior porte. Isso é um problema por várias razões, sendo uma delas o consumo de energia. Treinar uma rede neural consome eletricidade equivalente a três residências em um ano. Outro problema é o chamado gargalo de Fon Nerman. Quase todos os computadores digitais atuais armazenam dados na memória e os acessam quando precisam através de um barramento. Durante as enormes multiplicações de matrizes exigidas por redes neurais profundas, a maior parte do tempo e energia é gasta buscando os valores de peso em vez de realizar o cálculo em si. Por fim, há as limitações da lei de Moradas, o número de transistores em um chip tem dobrado a cada dois anos aproximadamente. Agora, o tamanho de um transistor se aproxima do tamanho de um átomo. Portanto, há desafios físicos fundamentais para uma maior miniaturização. Esta é a tempestade perfeita para computadores analógicos. Os computadores digitais estão atingindo seus limites. Enquanto isso, as redes neurais estão explodindo em popularidade e muito do que elas fazem se resume a uma única tarefa, a multiplicação de matrizes. O melhor é que as redes neurais não necessitam da precisão dos computadores digitais. Se a rede neural está 96% ou 98% confiante de que a imagem contém um frango, isso não importa. continua sendo um frango. Logo, uma leve variação em componentes ou condições é tolerável. Fui até uma startup de computação analógica no Texas chamada Mythic AI. Aqui eles estão criando chips analógicos para executar redes neurais. E eles me demonstraram vários algoritmos de inteligência artificial. Aí está te pegando. Sim, isso é fascinante. O maior caso de uso é a realidade aumentada e virtual. Se você e seu amigo estão em lugares diferentes, como cada um na própria casa, vocês podem se encontrar no mundo virtual. Então, precisa capturar rapidamente a sua pose e depois renderizá-la no mundo da realidade virtual. Espera, isso é para o metaverso, então? Sim, isso é muito metaverso, né? Igual é uma aplicação muito metaverso. Isso é estimativa de profundidade a partir de apenas uma webcam. Ele está pegando a cena e criando um mapa de calor onde as áreas brilhantes indicam proximidade e as áreas escuras distância. Agora, todos esses algoritmos podem ser executados em computadores digitais, mas aqui a multiplicação de matrizes está realmente ocorrendo no domínio analógico. Para tornar isso possível, a MITIC reutilizou células de armazenamento flash digital. Normalmente essas são usadas como memória para armazenar um um ou um zero. Se você aplicar uma alta tensão positiva ao portão de controle, os elétrons atravessam uma barreira isolante e ficam presos no portão flutuante. Remova a tensão e os elétrons podem permanecer no portão flutuante por décadas, impedindo a célula de conduzir corrente. É assim que você pode armazenar um bit. Você pode ler o valor armazenado aplicando uma pequena tensão. Se houver elétrons no portão flutuante, nenhuma corrente flui representando zero. Se não houver elétrons, a corrente flui representando um. A MICIC planeja utilizar essas células como resistores variáveis em vez de interruptores ligado, desligado. Eles fazem isso colocando um número específico de elétrons em cada portão flutuante em vez de tudo ou nada. Quanto maior o número de elétrons, maior a resistência do canal. Quando você aplica uma pequena voltagem mais tarde, a corrente que flui é igual a V sobre R. Mas também pode-se pensar nisso como voltagem vezes condut, sendo a condutíproco da resistência. Portanto, uma única célula flash pode multiplicar dois valores: voltagem e condut. Para executar uma rede neural artificial, eles primeiro escrevem todos os pesos nas células flash como a condut célula. Eles inserem os valores de ativação como a voltagem nas células. E a corrente resultante é o produto da voltagem e da condutivação vezes o peso. As células são conectadas de tal maneira que a corrente de cada multiplicação se soma, completando a multiplicação da matriz. Então, este é o nosso primeiro produto. Isso pode fazer 25 trilhões de operações matemáticas por segundo. 25 trilhões? Sim, 25 trilhões de operações matemáticas por segundo neste pequeno chip aqui, consumindo cerca de 3 W de energia. Como ele se compara a um chip digital? Os sistemas digitais mais recentes podem fazer de 25 a 100 trilhões de operações por segundo, mas são grandes sistemas de 1000 que emitem de 50 a 100 W de energia. Claro, isso não é uma comparação direta, não é? Não é uma comparação direta. É, para treinar esses algoritmos é necessário um hardware grande como este. Você pode fazer todo tipo de coisa na GPU, mas se você está especificamente fazendo trabalhos de IA e quer implantá-los, você poderia usar isso em vez disso. Você pode imaginá-los em câmeras de segurança, sistemas autônomos, equipamentos de inspeção para fabricação. Cada chip fritulai é inspecionado por uma câmera e os fritos defeituosos são soprados para fora da esteira. Eles estão usando inteligência artificial para identificar quais fritos são bons e ruins. Alguns propuseram o uso de circuitos analógicos em altofalantes inteligentes de casa apenas para ouvir a palavra de ativação, como Alexa ou Siri. Eles usariam menos energia e ligariam os circuitos digitais do dispositivo de forma rápida e confiável, mas ainda enfrentariam desafios no analógico. Para uma das redes populares, haveria 50 sequências de multiplicações de matriz sendo feitas. Se realizadas inteiramente no domínio analógico até chegar à saída, o resultado estaria tão distorcido que não seria útil. Então, converte-se do domínio analógico para o digital, envia-se para o próximo bloco de processamento e converte-se novamente para o domínio analógico, permitindo preservar o sinal. Quando Rosen Blat estava configurando seu perception pela primeira vez, ele utilizou um computador digital IBM. Achando muito lento, ele construiu um computador analógico personalizado completo, com resistores variáveis e pequenos motores para acioná-los. No final, sua ideia de redes neurais acabou sendo correta. Talvez ele estivesse certo sobre o analógico também. Agora, eu não posso dizer se os computadores analógicos decolarão da maneira que os digitais fizeram no século passado, mas eles parecem ser mais adequados para muitas das tarefas que queremos que os computadores realizem hoje. O que é um pouco engraçado porque eu sempre pensei no digital como a maneira ideal de processar informações. Sabe, tudo, desde música a fotos e vídeos, se tornou digital nos últimos 50 anos. Mas talvez em 100 anos olharemos para o digital não como o ponto final da tecnologia da informação, mas como um ponto de partida. Nossos cérebros são digitais no sentido de que um neurônio ou dispara ou não, mas também são analógicos no sentido de que o pensamento ocorre em todos os lugares, tudo de uma vez. Então, talvez o que precisamos para alcançar a verdadeira inteligência artificial, máquinas que pensam como nós, seja o poder do analógico. [Música]

Comments

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *