Capítulo 1 : Rede neural artificial
Os sistemas de computação que são modelados a partir das redes neurais biológicas que compõem os cérebros dos animais são conhecidos como redes neurais artificiais, ou ANNs para abreviar. Essas redes são mais frequentemente referidas como redes neurais, ou apenas NNs.
Um ANN é construído sobre uma rede de unidades ou nós interconectados que são referidos como neurônios artificiais. Estes neurónios destinam-se a imitar grosseiramente os neurónios que se encontram num cérebro biológico. Cada conexão, semelhante às sinapses que são encontradas em cérebros reais, tem a capacidade de enviar um sinal para outros neurônios. Um neurônio artificial é aquele que primeiro recebe sinais, depois analisa esses sinais e, em seguida, envia mensagens para outros neurônios aos quais está ligado. O "sinal" em uma conexão é um número real, e a saída de cada neurônio é calculada por alguma função não linear da soma de suas entradas. O "sinal" em uma conexão é referido como o "sinal" na conexão. Bordas são outro nome para as conexões. O peso dos dendritos neuronais e das conexões de borda muitas vezes muda em função da aprendizagem contínua. A intensidade do sinal em uma conexão pode ser aumentada ou diminuída dependendo do peso. É possível que os neurónios tenham um limiar, e que só quando o sinal total exceder esse limiar é que o neurónio enviará um sinal. Na maioria dos casos, grupos de neurônios são organizados em camadas. É possível que cada camada faça alterações exclusivas nos dados que recebe. Os sinais fazem o seu caminho da primeira camada, que é conhecida como a camada de entrada, para a camada final, que é conhecida como a camada de saída, talvez depois de viajar através das camadas mais de uma vez.
O processamento de instâncias, cada uma das quais tem uma "entrada" e uma "saída" conhecidas, permite que as redes neurais aprendam (ou sejam treinadas) criando conexões ponderadas por probabilidade entre as duas, que são então armazenadas dentro da estrutura de dados da própria rede. É assim que as redes neurais aprendem. O processo de treinamento de uma rede neural usando um exemplo existente geralmente envolve o cálculo da diferença entre a saída processada da rede (normalmente uma previsão) e uma saída de destino. Isso é feito para determinar o quão bem a rede aprendeu com o exemplo. É nesta distinção que reside o erro. A rede procederá então aos ajustamentos necessários às suas associações ponderadas de acordo com uma regra de aprendizagem e fazendo uso deste valor de erro. A saída que é gerada pela rede neural como resultado de mudanças sucessivas se tornará progressivamente semelhante à saída pretendida. Após um número suficiente destas alterações, a formação pode terminar em função de condições especificadas após a sua conclusão. Este tipo de aprendizagem é referido como aprendizagem supervisionada.
Estes tipos de sistemas "aprendem" a realizar tarefas pensando em exemplos, na maioria dos casos sem serem programados com regras que sejam relevantes para as próprias atividades. Por exemplo, no reconhecimento de imagens, eles podem aprender a reconhecer imagens que contêm gatos analisando imagens de exemplo que foram rotuladas manualmente como "gato" ou "sem gato" e, em seguida, usando os resultados para reconhecer gatos em outras imagens. Dessa forma, eles aprenderiam a identificar imagens que contêm gatos, analisando imagens que foram rotuladas manualmente como "gato" ou "sem gato". Eles conseguem isso apesar do fato de que eles não têm conhecimento prévio sobre gatos, como o fato de que os gatos têm pelos, caudas, bigodes e rostos que são semelhantes aos gatos. Em vez disso, eles desenvolvem traços de identificação de forma completamente automatizada a partir das instâncias que analisam.
Foram Warren McCulloch e Walter Pitts que fizeram a descoberta de que os perceptrons básicos eram incapazes de processar o circuito exclusivo e que os computadores não tinham a capacidade de processar redes neurais que eram úteis.
Em 1970 foi publicada a abordagem geral para a diferenciação automatizada (AD) de redes ligadas discretas de funções diferenciáveis aninhadas que tinha sido desenvolvida por Seppo Linnainmaa. em termos de critérios como a identificação de sinais de trânsito (IJCNN 2012).
As RNA foram inicialmente concebidas como um esforço para imitar a estrutura do cérebro humano, a fim de resolver problemas que eram difíceis de resolver pelas abordagens algorítmicas tradicionais. Eles rapidamente mudaram seu foco para melhorar os resultados empíricos, desistindo em grande parte dos esforços para se manterem fiéis às origens biológicas de seus produtos. Os neurônios estão ligados uns aos outros em uma variedade de configurações diferentes, o que permite que a saída de alguns neurônios se torne a entrada de outros neurônios. A rede tem a forma de um gráfico que é dirigido e ponderado.
As redes neurais artificiais (RNAs) são compostas por neurônios artificiais, que são essencialmente extraídos de redes neuronais biológicas. Cada neurônio artificial recebe entradas e gera uma única saída que é capaz de ser distribuída para vários neurônios adicionais. Os valores de feição de uma amostra de dados externos, como fotos ou papéis, podem servir como entradas. Alternativamente, as saídas de outros neurônios podem servir nesta capacidade. O trabalho, como identificar um item em uma imagem, é completado pelas saídas dos últimos neurônios de saída da rede neural.
A fim de determinar qual é a saída do neurônio, devemos primeiro calcular a soma ponderada de todas as entradas do neurônio. Esta soma deve ser calculada tendo em conta os pesos das ligações que vão desde as entradas até ao neurónio. Vamos acrescentar um termo tendencioso a este total.
Na aprendizagem profunda, os neurónios estão muitas vezes dispostos em numerosas camadas, uma vez que este tipo de aprendizagem enfatiza a complexidade. Os neurônios em uma camada só podem fazer conexões com outros neurônios na camada imediatamente antes e a camada imediatamente sucedendo-a. A camada que recebe dados do exterior é chamada de camada de entrada. A camada de saída é aquela que gera o produto completo em sua totalidade. Há pelo menos uma e talvez mais camadas secretas entre elas. Há também redes com uma única camada e redes sem camadas. Há potencial para a existência de inúmeros padrões de conexão entre os dois níveis. Eles são capazes de estar "completamente ligados", o que significa que cada neurônio em uma camada é capaz de se conectar a cada neurônio na camada acima dela. Eles podem estar se agrupando, que é quando um grupo de neurônios em uma camada se liga a um único neurônio na camada seguinte, diminuindo assim o número de neurônios nessa camada. O pooling é uma das formas através das quais os neurónios podem comunicar uns com os outros.
Um hiperparâmetro é um tipo de parâmetro constante, cujo valor é determinado antes do início do processo de aprendizagem. O processo de aprendizagem é usado para obter os valores dos parâmetros. A taxa de aprendizagem, o número de camadas ocultas e o tamanho do lote são exemplos de hiperparâmetros. É possível que os valores de alguns hiperparâmetros sejam contingentes aos valores de outros hiperparâmetros. Por exemplo, a espessura de algumas camadas pode mudar dependendo da quantidade total de camadas.
A aprendizagem é o processo em que a rede se adapta para melhor lidar com um trabalho, tendo em consideração as observações de amostragem. A aprendizagem implica fazer ajustes nos pesos (e, em alguns casos, nos limiares) da rede, a fim de obter uma previsão mais precisa. Para tal, é necessário reduzir ao máximo os erros observados. A aprendizagem é considerada completa quando a análise de dados adicionais não ajuda a reduzir a taxa de erro de forma significativa. Mesmo depois de ensinado, a taxa de erro geralmente não se torna completamente zero. Na maioria dos casos, a rede terá de ser modificada se for determinado, após a aprendizagem, que a taxa de erro é demasiado elevada. Na prática, isso é conseguido através da criação de uma função de custo que é então avaliada em intervalos regulares enquanto o sistema está aprendendo. O processo de aprendizagem prosseguirá enquanto a saída do sistema continuar a cair. O custo é tipicamente caracterizado como uma estatística cujo valor só pode ser adivinhado em vez de ser determinado com precisão. Como as saídas são números, a margem de erro entre a saída, que é quase certamente um gato, e a resposta certa, que também é um gato, é bastante pequena quando a taxa de erro é baixa. O objetivo da aprendizagem é reduzir ao máximo o número total de discrepâncias entre as observações. A grande maioria dos modelos de aprendizagem pode ser entendida como uma aplicação direta da teoria da otimização e da estimativa estatística.
A taxa de aprendizagem é o fator que determina a magnitude das ações corretivas que o modelo deve realizar para compensar os erros em cada observação. A ideia de momentum permite ponderar o equilíbrio entre o gradiente e a mudança anterior de tal forma que o ajuste do peso dependa, pelo menos em certa medida, da mudança anterior. Quando o ímpeto está próximo de zero, a ênfase está no gradiente, enquanto quando está perto de um, a ênfase é na mudança mais recente.
Embora seja possível definir uma função de custo conforme necessário, a seleção de uma função de custo é tipicamente guiada pelas propriedades desejáveis da função (como a convexidade) ou pelo fato de que ela emerge do próprio modelo (por exemplo, em um modelo...