Inteligência Artificial
Capítulo Três. Redes Neurais Artificiais
C A P Í T U L O
T R Ê S
Redes Neurais Artificiais
3.1 Introdução
Redes Neurais Artificiais ou simplesmente Redes Neurais (também conhecidas como modelos conexionistas) têm sido, ao longo dos últimos anos uma área da IA de grande desenvolvimento. Redes Neurais podem ser caracterizadas como modelos computacionais com capacidades de adaptar aprender, generalizar, agrupar ou organizar dados, nos quais a estrutura operacional é baseada em processamento paralelo. A origem das pesquisas nesta área data da época em que foi apresentado o modelo computacional de um neurônio biológico por McCulloch e Pitts (1943). Quando Minsky e Papert publicaram o livro Perceptrons em 1969, no qual eles mostraram as deficiências do modelo Perceptron, que possuía um algoritmo de treinamento básico, a maioria dos estudos em redes neurais foram redirecionados e muitos pesquisadores abandonaram a área. Uns poucos continuaram suas pesquisas notadamente Teuvo Kohonen, Stephen Grossberg, James Anderson e Kunihiko Fukushima. O interesse pela área somente ressurgiu depois que alguns resultados teóricos importantes foram atingidos, dentre os quais se destaca o algoritmo de retropropagação (backpropagation) em redes Perceptrons de múltiplas camadas. Hoje, a maioria das universidades tem um grupo de pesquisas em redes neurais dentro dos departamentos de Psicologia Física, Informática, Biologia ou Engenharia.
Neste contexto é realizada uma introdução a Redes Neurais Artificiais
(RNA). O ponto de vista desta abordagem é computacional. Não há preocupações com implicações biológicas, neurológicas etc.
3.2 Conceituação
As redes neurais possuem arquiteturas baseadas em blocos construtivos semelhantes entre si e que realizam o processamento de forma paralela. Neste capítulo discutiremos, primeiramente, estas unidades de processamento e a seguir os tipos de redes e suas diferentes topologias. Posteriormente, serão apresentadas algumas estratégias de aprendizado.
3.2.1 Fundamentação do modelo
Uma rede neural é formada por um conjunto de unidades básicas de processamento que se comunicam enviando informações uma para a outra por meio de determinadas conexões. O componente elementar desse modelo são as unidades de processamento, também chamadas nós, neurônios ou células Essa unidade de processamento é um modelo matemático que possu inspiração no modelo biológico de um neurônio.
3.2.2 Modelo de neurônio biológico
Um sistema nervoso central possui milhões de células nervosas (neurônios) que se interligam entre si, formando uma rede disposta em camadas. Nessas redes são processadas todas as informações referentes a uma determinada funcionalidade, como visão, audição, aprendizado etc. A capacidade de pensar, memorizar e resolver problemas tem levado muitos cientistas a tentar modelar o funcionamento de várias partes do cérebro humano ou de outras entidades biológicas. Diversos pesquisadores de áreas distintas como Psicologia, Neurociências, Computação, Engenharia e Matemática estão
reunindo esforços conjuntos neste sentido. A Figura 3.1 contém uma microfotografia de neurônios humanos.
FIGURA 3.1 Microfotografia de neurônios humanos. Fonte: Science Photo Library Site.
Um neurônio é uma célula nervosa cuja representação básica está ilustrada
na Figura 3.2.
FIGURA 3.2 Ilustração de um neurônio biológico. Fonte: Acervo de conteúdo livre da Wikimedia Foundation.
Os estímulos entram nos neurônios através das sinapses que se conectam
aos dendritos (ramificações de entrada de um neurônio) com axônios de outros neurônios.
As sinapses regulam as quantidades de informações que passam dos
dendritos para a célula nervosa em questão. As informações são então passadas para o somador (corpo celular), que as adiciona e as aplica a um discriminador, onde se determina o nível mínimo de entrada acima do qual o neurônio dispara uma carga elétrica como resposta a um ou mais estímulos Entretanto, se a soma for menor que um determinado limiar, nenhuma informação é propagada para os neurônios vizinhos.
As sinapses têm um papel fundamental na memorização, pois é nelas que
são armazenadas as informações.
Em média, os neurônios mais complexos de um cérebro humano possuem
entre mil e 10 mil sinapses. O cérebro humano possui cerca de 100 bilhões de neurônios, e o número possível de sinapses é de mais de 100 trilhões possibilitando a formação de uma rede neural muito complexa.
3.2.3 Modelo de neurônio artificial
Objetivando simular o comportamento de um neurônio biológico, McCullock e Pitts (1943) propuseram um modelo matemático, cuja representação básica
está ilustrada na Figura 3.3. Neste modelo cada informação de entrada é multiplicada por um número ou peso, sendo devidamente totalizadas (somadas) em um nó ou ponto de soma. Caso a informação resultante exceda certo limiar definido por uma função chamada ativação, é gerada uma resposta na saída do modelo.
FIGURA 3.3 Modelo matemático básico de um neurônio. Fonte: Tafner et al., 1996.
Onde:
3.2.4 Funções de ativação
Outros modelos de neurônio possuem funções de ativação distintas. O pape da função de ativação é determinar a forma e a intensidade de alteração dos valores transmitidos de um neurônio a outro. É preciso quantificar a influência de cada entrada na ativação da unidade. Para isso se define uma função de ativação f na qual uma determinada informação a (t) produz um valor para a i , i ativação da unidade i da rede em questão.
Diferentes tipos de funções de ativação têm sido utilizados, conforme
detalhado a seguir.
3.2.5 Função de ativação limiar
A primeira rede com neurônios artificiais proposta utilizava uma função de
ativação por limiar (Rosenblatt, 1958). O modelo de neurônio usado po Rosenblatt foi o mesmo sugerido por McCulloch-Pitts (1943).
Neste modelo, as unidades são ditas binárias, isto é, suas saídas assumem
normalmente o valor “0” ou “1”. A unidade correspondente responde com uma saída igual a 1 se o valor da entrada líquida for superior a um determinado valor chamado threshold (que na maioria das vezes é zero), caso
contrário, a saída da unidade assume um valor nulo (Figura 3.4).
FIGURA 3.4 Função de ativação limiar.
Em vez dos valores 0 e 1, são utilizados também os limiares −1 e 1. Uma
rede de camada simples utilizando este tipo de unidade é denominada Perceptron Simples.
3.2.6 Função de ativação linear
Em 1972, Kohonen definiu um novo modelo de redes neurais conhecido como Mapa Auto-Organizável de Caracterização que, ao contrário do Perceptron não era limitado a valores binários. Os valores das entradas, dos pesos e das saídas poderiam ser contínuos.
A saída do neurônio neste caso é representada por uma função linear da
forma descrita na Figura 3.5.
FIGURA 3.5 Função de ativação linear.
As redes que usam este tipo de função de ativação apresentam apenas uma
camada de entrada e uma de saída. Tais redes possuem uma série de limitações
quanto ao que são capazes de representar (Hertz et al., 1991).
Não existe nenhuma vantagem de uma rede com mais de duas camadas ou
com conexões do tipo feedback. A capacidade de aprendizado de uma rede de multicamadas (mais de um neurônio) com neurônios, usando este tipo de função de ativação, pode também ser realizada por uma de camadas simples
equivalente (Hertz et al., 1991). Na verdade, uma rede multicamadas que utilize neurônios artificiais com funções de ativação, com algum tipo de não linearidade, tem um potencial de aprendizado muito maior que uma rede com
unidades lineares (Minsky e Paper, 1969). Com unidades não lineares em uma rede com pelo menos uma camada escondida é possível representar algumas associações que não são possíveis de representar com uma rede linear ou uma
camada simples que utilize a mesma função de ativação. Entretanto, Minsky e
Paper (1969) mostraram que não existe um algoritmo que assegure o treinamento desse tipo de rede multicamadas.
3.2.7 Funções de ativação semilineares
Uma das respostas à falta de um algoritmo de treinamento para o tipo de rede
citado é a utilização de redes com unidades semilineares (Hertz et al., 1991) As funções de ativação mais usadas por este tipo de unidades são a função
logística (Figura 3.6) e a tangente hiperbólica. A popularidade dessas funções está ligada ao fato de suas derivadas (necessárias nas etapas de treinamento) poderem ser expressas a partir das próprias funções.
FIGURA 3.6 Função de ativação logística.
Estas funções podem ser expressas pelas equações abaixo, onde a
representa a entrada líquida da unidade.