JavaRush /Blogue Java /Random-PT /Redes neurais: o berço da futura IA ou apenas mais uma te...

Redes neurais: o berço da futura IA ou apenas mais uma tendência tecnológica?

Publicado no grupo Random-PT
Nos materiais do JavaRush, já tocamos no tema inteligência artificial (IA), aprendizado de máquina e outras tecnologias relacionadas à IA de uma forma ou de outra. Em particular, já falamos sobre como a inteligência artificial está relacionada à programação em Java , discutimos mitos e histórias de terror sobre IA e, em vários artigos, mencionamos as principais tecnologias usadas nesta área. Redes neurais: o berço da futura IA ou apenas mais uma tendência tecnológica?  - 1Portanto, decidimos que agora é um bom momento para nos aprofundarmos ainda mais no campo da IA ​​e examinarmos mais de perto a tecnologia que realmente fundamenta a IA moderna e o aprendizado de máquina - as redes neurais. A saber: como o conceito de redes neurais se originou originalmente e como essa tecnologia foi transformada em seu estado atual, como as redes neurais artificiais diferem dos neurônios do cérebro humano, se elas realmente sabem aprender e do que são realmente capazes hoje. Redes neurais: o berço da futura IA ou apenas mais uma tendência tecnológica?  - 2

Redes neurais artificiais e o cérebro humano. Mesmo?

Inicialmente, as redes neurais de computador receberam esse nome porque o princípio de seu design se assemelha ao sistema de neurônios do cérebro humano. Assim, o cérebro humano médio inclui mais de 100 milhões de células minúsculas chamadas neurônios. Na verdade, ninguém sabe exatamente quantas dessas células poderiam realmente existir no cérebro humano - as estimativas variam de 50 a 500 bilhões. Cada neurônio consiste em um corpo celular com muitos chamados dendritos (entradas celulares - transmitem informações para a célula ) e um axônio ( saída da célula - transmite informações da célula). Os neurônios são tão pequenos que cerca de cem dessas células podem ser colocadas em uma área de um milímetro quadrado. Dentro de um computador, o equivalente a um neurônio são pequenos dispositivos de comutação chamados transistores. Os mais recentes microprocessadores modernos (computadores de chip único) contêm mais de 30 bilhões de transistores. Mesmo o primeiro microprocessador Pentium, criado há cerca de 20 anos, tinha cerca de 50 milhões de transistores embalados em um circuito integrado com área de apenas 25 mm. Na verdade, dizem os especialistas, é aqui que termina a conexão entre os processadores do computador e os neurônios do cérebro humano, porque, caso contrário, eles são muito diferentes uns dos outros e funcionam de maneira completamente diferente. Os transistores de computador são conectados em circuitos em série relativamente simples, cada um dos quais pode ser conectado a dois ou três outros, enquanto os neurônios no cérebro estão firmemente conectados de maneiras paralelas complexas. Assim, os cientistas calcularam que cada neurônio pode ser conectado a mais de 10 mil de seus vizinhos.

O que é uma rede neural artificial?

Assim, a diferença estrutural mais significativa entre computadores e neurônios no cérebro é como eles funcionam. A ideia básica por trás das redes neurais é simular, ou, se preferir, modelar, de forma simplificada, a operação de muitos neurônios interconectados no cérebro. Isto é o que permite que uma rede neural faça coisas que os microprocessadores comuns não podem fazer, nomeadamente, aprender, reconhecer padrões e tomar decisões com base num princípio semelhante ao do cérebro humano. Porém, é importante enfatizar que, no momento, as redes neurais são uma simples emulação de software do trabalho dos neurônios no cérebro. Redes neurais: o berço da futura IA ou apenas mais uma tendência tecnológica?  -3Uma rede neural típica contém de dezenas a centenas, milhares ou até milhões de neurônios artificiais, chamados de unidades, dispostos em diversas camadas. Algumas dessas unidades, chamadas unidades de entrada, são responsáveis ​​por receber diversas formas de informação do mundo exterior, que a rede neural tentará então aprender, lembrar e processar de outras maneiras. Outras unidades, chamadas unidades de saída, localizadas no lado oposto da rede, são responsáveis ​​pela forma como a rede interage com essas informações. Entre essas duas camadas estão outras unidades que fazem o cálculo e constituem a maior parte da rede neural. A maioria das redes neurais está interconectada, o que significa que cada unidade está conectada a outras unidades em camadas de cada lado. As conexões entre as unidades são representadas por um número chamado peso. O peso em uma rede neural pode ser positivo (se uma unidade ativar outra) ou negativo (se uma unidade suprimir ou enfraquecer outra). Quanto maior o peso, maior a influência de uma unidade sobre a outra. Uma rede neural simples projetada para resolver problemas simples pode incluir apenas três camadas básicas, conforme mostrado na imagem. No entanto, entre as camadas de entrada e de saída pode haver diversas camadas diferentes que executam funções diferentes. Redes neurais com estruturas mais complexas (do que na ilustração acima) são chamadas de redes neurais profundas e geralmente são usadas para resolver problemas complexos. Em teoria, o uso de estrutura profunda permite que uma rede neural mapeie qualquer tipo de dado de entrada para qualquer tipo de dado de saída, tornando-a capaz de resolver qualquer problema. Porém, para isso, a rede neural exigirá um “treinamento” sério e demorado, que consiste em processar milhões e até bilhões de exemplos de informações com as quais a rede precisa para trabalhar. Redes neurais: o berço da futura IA ou apenas mais uma tendência tecnológica?  - 4

Redes Neurais: um pouco de história

Bem, já resolvemos as explicações básicas do que são essencialmente as redes neurais, agora podemos recuar um pouco na teoria e falar sobre a história dessa tecnologia e quando ela apareceu. Isto pode surpreender muitos, mas as redes neurais apareceram na ciência há mais de 70 anos. O conceito foi proposto pela primeira vez em 1944 por Warren McCullough e Walter Pitts, dois pesquisadores da Universidade de Chicago que se mudaram para o Instituto de Tecnologia de Massachusetts em 1952, onde fundaram o primeiro grupo de pesquisa em ciências cognitivas. As redes neurais foram, na verdade, uma importante área de pesquisa tanto na neurociência quanto na ciência da computação até 1969. Ou seja, esta tecnologia, que está na base dos modernos sistemas de inteligência artificial, já tem estado, em termos modernos, na moda há mais de uma década - desde meados dos anos cinquenta até ao final dos anos sessenta. Acredita-se que o “assassino” desse hype foi um livro de autoria de dois cientistas da computação - Marvin Minsky e Seymour Papert - que em seu trabalho revelaram todas as limitações das redes neurais. O fato é que as primeiras redes neurais tinham apenas uma ou duas camadas treináveis. Minsky e Papert mostraram que tais redes simples são matematicamente incapazes de modelar fenômenos complexos do mundo real. Como resultado, o interesse pelas redes neurais como tecnologia foi perdido por muitos anos - ao longo dos anos setenta e primeira metade dos anos oitenta, objetivamente pouca atenção foi dada a elas. O interesse só foi renovado em 1986, com a publicação de um artigo que introduziu o conceito de retropropagação, um método prático para treinar redes neurais profundas. Graças à retropropagação, as redes neurais profundas tornaram-se mais amigáveis ​​do ponto de vista computacional, mas ainda exigiam enormes recursos computacionais para funcionar. E pesquisas nas décadas de 1990 e 2000 mostraram frequentemente que redes neurais complexas não produziam os resultados desejados em termos de eficiência. Como resultado, as redes neurais saíram da onda do hype por um tempo e só retornaram na segunda década da década de 2000, em grande parte devido ao aumento do poder computacional dos chips gráficos, que permitem que as redes neurais profundas funcionem com mais eficiência do que antes. O fenômeno dessa ciclicidade na ciência como um todo é bem explicadoTomaso Poggio, professor do Instituto de Tecnologia de Massachusetts: “Há uma explicação de que as ideias na ciência se espalham da mesma forma que os vírus. Por exemplo, existem cinco ou seis cepas principais do vírus influenza, e cada uma delas reaparece uma vez a cada 25 anos. As pessoas são infectadas, desenvolvem imunidade e ficam protegidas contra infecções durante os próximos 25 anos. E então chega uma nova geração e é novamente infectada com a mesma cepa do vírus. Na ciência, as pessoas se apaixonam pelas ideias e trabalham nelas até a exaustão, tanto que desenvolvem imunidade na forma de cansaço das ideias. E então a ideia volta com outra geração de cientistas.” Dado que as redes neurais e as tecnologias de inteligência artificial ainda são uma tecnologia relativamente nova e subdesenvolvida, é possível que o entusiasmo em torno dela comece em breve a diminuir novamente, apenas para regressar novamente dentro de algumas décadas. Redes neurais: o berço da futura IA ou apenas mais uma tendência tecnológica?  - 5

Como as redes neurais aprendem?

Normalmente, as informações passam por uma rede neural de duas maneiras. Quando a rede está apenas aprendendo ou já em execução após o treinamento, padrões de informação entram nela através de unidades de entrada, que lançam camadas de unidades ocultas, que por sua vez entram em unidades de saída. Essa estrutura geral é chamada de rede feedforward. Nem todas as unidades funcionam ao mesmo tempo. Cada unidade recebe dados das unidades à esquerda e os multiplica pelo peso das conexões pelas quais passa. Cada unidade soma todos os dados que recebe desta forma e, no tipo de rede mais simples, se a soma ultrapassar um determinado limite, a unidade ativa as demais unidades às quais está conectada (as da direita). Um dos pontos-chave que permite que qualquer rede neural aprenda é o feedback. Assim como uma criança precisa ser criada por um adulto que lhe diga o que é bom e o que é ruim, as redes neurais precisam de feedback e orientação. Eles usam uma abordagem de treinamento chamada backpropagation . Neste método, a rede compara a saída que produz com a saída que deveria produzir e usa a diferença entre esses dois fatores para alterar o peso das conexões entre as unidades da rede, desde unidades de saída, passando por unidades intermediárias até unidades de entrada - isto é, vice-versa. Com o tempo, a retropropagação força a rede a aprender, reduzindo a diferença entre a saída real e a estimada até o ponto em que elas correspondem exatamente. Redes neurais: o berço da futura IA ou apenas mais uma tendência tecnológica?  - 6

Como funcionam as redes neurais e onde são usadas?

E, finalmente, vejamos um exemplo de como funciona essa rede neural. Uma vez que a rede neural tenha exemplos suficientes de dados para treinar, ela chega a um ponto em que o usuário pode alimentá-la com dados completamente novos que a rede nunca processou antes e obter deles o resultado desejado. Por exemplo, digamos que você treine sua rede neural para detectar uma arma quando ela aparecer em algum lugar à vista de uma câmera de segurança. Você treina a rede mostrando centenas, milhares e dezenas de milhares de imagens de diferentes tipos de armas, como pistolas e rifles. Em algum momento, você carrega uma imagem de um novo tipo de arma que não foi mostrada a ela antes, por exemplo, uma arma. Como resultado, a rede identifica com sucesso esse objeto como uma arma com base em uma série de critérios básicos, como formato geral, presença de cabo e coronha, presença de gatilho e assim por diante. Ou seja, a rede neural determina a arma na imagem com base em uma série de padrões “aprendidos”. Ao mesmo tempo, é claro, isso não significa que a rede neural possa visualizar novos dados e tomar decisões de forma independente, como as pessoas fazem. Ele recebe todas as informações na forma de código binário, e cada uma das unidades de entrada (informações na rede) pode estar em apenas duas posições: ligada ou desligada. Assim, se você, usando o mesmo exemplo, treinar uma rede neural para encontrar armas, a informação passará por um conjunto de unidades de entrada que respondem a perguntas básicas do tipo “sim/não”. Por exemplo, como: o objeto possui gatilho?; tem focinho?; o item é feito de metal?; seu formato corresponde ao de uma pistola? Assim, para uma arma, a resposta da rede seria: “sim, sim, sim, não” ou “1110” em código binário. É claro que em um sistema real haveria muito mais questões desse tipo, mas a essência permanece a mesma: a rede neural recebe dados na forma de um código binário e com sua ajuda aprende a distinguir as informações necessárias das desnecessárias. Agora, conhecendo o mecanismo básico da rede neural, é fácil imaginar como essa tecnologia é usada hoje para resolver diversos problemas. Por exemplo, um exemplo clássico é o uso de redes neurais para prevenir fraudes bancárias - quando o sistema aprende a localizar de forma independente e bloquear instantaneamente as transferências que, por um motivo ou outro, parecem suspeitas. Ou, por exemplo, o uso de redes neurais para o piloto automático básico de carros ou aviões: quando as unidades de entrada recebem informações de diferentes sistemas de controle e as unidades de saída ajustam o modo de pilotagem de acordo com um determinado curso.

conclusões

Agora você vê que uma rede neural é uma tecnologia relativamente simples, em geral, que realmente leva os computadores e sistemas de computador um passo à frente, mais perto das pessoas. Por outro lado, também é óbvio que as redes neurais ainda não são tão complexas e eficientes como o cérebro humano. Portanto, sejamos gratos por todos termos nascido com uma rede neural avançada embutida em nossos cérebros e usemos essa riqueza natural com mais frequência, por exemplo, para aprendizado e autoaperfeiçoamento.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION