}

Xenes, neuronas e computadores

2015/01/01 Azkune Galparsoro, Gorka - Ikertzailea eta irakasleaEuskal Herriko Unibertsitateko Informatika Fakultatea Iturria: Elhuyar aldizkaria

Pensar e aprender. Si quixésemos destacar dúas características do ser humano, quizais estas sexan na súa maioría. É sorprendente a evolución que pode conseguir un bebé recentemente nacido co paso do tempo e co poder do seu cerebro, con este proceso continuo de aprendizaxe. Na actualidade, con todo, ambas as características tamén están presentes nas máquinas. Grazas á intelixencia artificial, as nosas máquinas son cada vez máis intelixentes e teñen capacidade de aprender. Pero como o fan?
Ed. computerworld.hm

A natureza como fonte de inspiración

Concepto de intelixencia artificial XX. Apareceu entre nós cara a mediados do século XX. Nos seus inicios empézase a traballar coa intelixencia simbólica e os problemas de procura. Un bo exemplo foron os xogadores artificiais de xadrez. O prestixioso computador de IBM, Deep Blue, foi o que máis éxito obtivo ao imporse en 1997 ao prestixioso xogador de xadrez Gary Kasparov.

Estas máquinas, con todo, non parecían a intelixencia do home. Eran capaces de facer moi ben una cousa concreta, pero non outra. Non estudaban, non eran capaces de xeneralizar o seu coñecemento e, se cambiaban lixeiramente as regras do xogo, non podían reaccionar. Por iso, os investigadores traballaron novos camiños e traballaron nun novo campo da intelixencia artificial: a aprendizaxe automática.

Neste artigo non analizaremos na súa totalidade a aprendizaxe automática. Penetrarémonos nun área concreta pero atractiva: algoritmos inspirados na natureza e aprendizaxe. Achegarémonos a un proceso moi parecido ao modo de aprender humano, combinando redes neuronais e algoritmos xenéticos.

Redes neuronais

O noso cerebro está formado por neuronas, una pila de neuronas interconectadas. Pero si só analizamos una destas neuronas sorprenderanos a súa sinxeleza. Desde o punto de vista da información, as neuronas reciben una serie de datos de entrada en forma de sinal eléctrico e expulsan outro sinal (Figura 1). Por tanto, a capacidade de procesamiento do noso cerebro baséase na interacción destas neuronas simples.

Na mente desta idea, non parece moi difícil construír redes neuronais artificiais. E non é difícil. As primeiras redes neuronais artificiais desenvolvéronse entre os anos 40 e 60 do século pasado. Con todo, o seu potencial non quedou patente até finais dos 80. Actualmente, as redes neuronais pódense atopar en once aplicacións.

As redes neuronais son un conxunto de neuronas que converten algunhas entradas de datos en saídas de datos. Como se pode observar na figura 2, as redes neuronais organízanse en capas: capa de entrada, capa oculta (pódense ocultar tantas capas como se desexe) e capa de saída. Cada capa está formada por neuronas (rolos da figura) e todas as neuronas dunha capa están conectadas ás neuronas da seguinte capa. Así é a estrutura dunha rede neuronal convencional. Ten en conta que poden existir redes de todo tipo paira cumprir diferentes obxectivos. Por exemplo, algunhas redes conectan as neuronas da capa de saída coas capas ocultas para que a rede teña memoria. Pero, de momento, imos deixar de lado estruturas complexas.

As entradas de cada neurona son números. Cando estes números chegan a unha neurona, multiplícanse por outros números chamados pesos e súmanse a continuación todos os resultados. Esta suma será a saída da neurona. Como se ve, o que fai cada neurona é moi sinxelo. Pero toda a rede, conectando todas as neuronas, é capaz de implementar calquera función matemática. Este é o poder da rede. O que acabamos de dicir pode demostrarse matematicamente, pero iso está fóra dos obxectivos deste artigo.

Fluxo de información nunha neurona (Figura 1. Ilustrador: alila/350RF) e rede neuronal típica (Figura 2). As redes neuronais son un conxunto de neuronas que converten algunhas entradas de datos en saídas de datos.

Por tanto, no comportamento dunha rede neuronal cobran especial importancia a súa estrutura (número de capas e natureza das conexións) e o peso de cada neurona. Paira realizar operacións sinxelas basta cunha pequena rede na que se fixan facilmente todos os pesos e determínase a estrutura adecuada. Con todo, as aplicacións complexas requiren de grandes redes nas que é practicamente imposible determinar manualmente todos os pesos de cada neurona. Por iso, é imprescindible que a propia rede neuronal estableza os valores destes pesos mediante un proceso automático. Este proceso denomínase aprendizaxe automática e pode levar a cabo de diversas formas. Nós aquí veremos a aprendizaxe por reforzo. Paira iso, en primeiro lugar, debemos analizar os algoritmos xenéticos.

Algoritmos xenéticos

A teoría da evolución de Darwin ensinounos como se produce a evolución dos seres vivos. Os que mellor se adaptan ao medio ambiente son os que teñen máis posibilidades de fecundarse e a fecundación combina as características dos pais e abre o camiño á nova xeración. Mediante a combinación das características dos individuos que mellor se adaptan, de xeración en xeración, nacen mellores individuos. Os algoritmos xenéticos utilizan estas ideas paira optimizar problemas complexos.

Analicemos este problema. Un viaxeiro quere visitar n cidades, pero non de calquera xeito. Paira aforrar diñeiro, quere facer o camiño máis curto que pasa por estas n cidades (figura 3). Tendo en conta que sabemos as distancias entre todas as cidades, como podemos planificar a viaxe? Parece sinxelo: calculemos todas as ordes de visita das cidades, sumemos as distancias e tomemos o máis pequeno. Esta solución é correcta, pero cando n é un gran número de cidades, un computador tarda moitísimo en atopar a solución. Por tanto, non é una solución práctica.

Os algoritmos xenéticos poden traballar ben co problema do viaxeiro. Como? Primeiro créase a xeración inicial e créanse unhas combinacións aleatorias de n cidades. Estas combinacións aleatorias denomínanse individuos. Calcúlase a distancia percorrida por cada individuo, quedando o algoritmo cuns poucos que proporcionan as distancias máis pequenas paira cruzalo. No caso das cidades, por exemplo, podemos combinar as primeiras n/2 cidades dun individuo coas n/2 da segunda e crear un novo individuo de n cidades. Os individuos resultantes das cruces forman una segunda xeración.

Figura . O problema do viaxeiro estadounidense e una posible solución. Analicemos este problema. Un viaxeiro quere visitar n cidades, pero non de calquera xeito. Paira aforrar diñeiro, quere facer o camiño máis curto que pasa por estas cidades. Tendo en conta que sabemos as distancias entre todas as cidades, como podemos planificar a viaxe?

Outro factor importante é a mutación. Do mesmo xeito que na natureza, os novos individuos poden nacer con mutacións. No noso caso, o intercambio entre dúas cidades en posicións aleatorias pode igualarse a unha mutación. A mutación é rara pero ten una función moi importante paira atopar individuos máis adecuados.

A medida que o algoritmo xera novas xeracións, os individuos achegan mellores solucións. Ao final, aínda que non sempre é posible atopar una solución óptima, o mellor individuo queda moi preto do óptimo. Así que en pouco tempo pode atopar una solución moi boa. Non é sorprendente?

Aprendizaxe por reforzo

Agora vén o máis bonito. Imaxinemos que temos un robot que se pode mover en calquera dirección. Nós queremos mostrar que cando dicimos “dereita” imos á dereita e cando dicimos “esquerda” movémonos á esquerda. Paira iso pomos un micrófono que detecta a nosa voz. O sinal que xera o micrófono é a entrada dunha rede neuronal. A saída refírese aos sinais dos motores que serven paira mover o robot (figura 4).

Figura . Exemplo de aprendizaxe por reforzo. Daremos ao robot una orde “dereita” ou “esquerda” e dependendo do movemento que realice porémoslle una nota do 1 ao 10.

O obxectivo do robot é obter os pesos das neuronas que forman a rede neuronal para que faga ben o que dixemos. Entre todos os posibles valores de todos os pesos existen solucións que responden o estímulo vocal cun movemento adecuado. Paira iso utilizaremos a aprendizaxe por reforzo. Daremos ao robot una orde “dereita” ou “esquerda” e dependendo do movemento que realice porémoslle una nota do 1 ao 10. Se di “dereita” e móvese á esquerda porémoslle 1. Pero si móvese cara adiante facéndoo un pouco á dereita, igual lle pomos un 5. Claro, cando se move á dereita, terá un 10!

O proceso de aprendizaxe funciona como: en primeiro lugar, o algoritmo xenético selecciona solucións aleatorias, é dicir, pesos específicos da rede neuronal. Executa estas solucións e detecta as mellores en función do premio recibido. Cruza os mellores pisos, ás veces aplica a mutación e volve probar coa nova xeración. Cos novos premios recibidos crearase una nova xeración que permitirá atopar una solución cos premios máis potentes paira todas as ordes de voz.

Estes experimentos xa se realizaron e comprobouse que esta técnica funciona. Pero iso non é maxia, senón matemáticas. ?Realmente estase producindo un proceso iterativo de procura dos parámetros máis adecuados dunha función non lineal. Na nosa opinión, buscamos os pesos da rede neuronal nun proceso de optimización no que o obxectivo é maximizar o premio obtido.

Paira terminar

A aprendizaxe por reforzo baséase en procesos de aprendizaxe de seres humanos e animais. Ademais, aquí mostramos como desenvolver este proceso utilizando redes neuronais e algoritmos xenéticos. Ambos teñen a súa base na natureza. É fascinante ver que podemos capacitar ás máquinas paira aprender. Quizá sexa máis fascinante saber que esa capacidade de aprender conseguímola imitando procesos que teñen lugar na propia natureza, o que demostra a profundidade do coñecemento da natureza que adquirimos a través da ciencia durante moitos anos. Puidemos combinar psicoloxía, bioloxía, neurociencias, matemáticas e informática para que as máquinas aprendan.

Actualmente temos varios exemplos de máquinas capaces de aprender. Cando compramos en rede e valoramos os produtos, automaticamente recibimos novos consellos porque os sistemas que están detrás aprenden de nós. A buscadores web tamén utilizan a aprendizaxe paira ofrecer procuras personalizadas. A través da cámara podemos coñecer as caras, conducir os coches de forma autónoma e pór moitos exemplos do éxito da aprendizaxe e a intelixencia artificial.

O camiño segue sendo longo. Só empezamos. Aínda que a intelixencia artificial e a aprendizaxe automática han evolucionada moito, aínda estamos lonxe do que un ser humano pode facer. Pero avanzamos.

Bibliografía

Russell, S. J. Norvig, P., Canny, J. F. Malik, J. M. Edwards, D. D. Artificial intelligence: a modern approach.(Vol. 74). Englewood Cliffs: Prensa hall. (1995).
Bishop, C. M.:Neural networks for pattern recognition. Oxford university press. (1995).
Glodberg, D. R. Genetic algorithms in search, optimization, and machine learning.Addion wesley. (1989).
Melanie, M.: An introduction to genetic algorithms.Cambridge, Massachusetts London, England, Fifth printing, 3. (1999).
Newborn, M.; Newborn, M.: Kasparov vs. Deep Blue: Computer chess comes of age. Springer-Verlag New York, Inc. (1997).
Sutton, R. S.; Barto, A. P.: Reinforcement learning: An introduction (Vol. 1, Non. 1). Cambridge: MIT press. (1998).
Lin, L. J.Reinforcement learning for robots using neural networks (Non. CMU-CS-93-103). Carnegie-Mellon Univ Pittsburgh PA School of Computer Science. (1993).
Belas, F., Duro, R. J. Faiña, A., Souto, D.: Multilevel darwinist brain (mdb): Artificial evolution in a cognitive architecture for real robots. Autonomous Mental Development, IEEE Transactions on, 2(4), 340-354. (2010).
 

"Esta entrada #CulturaCientífica 3. Participa no festival"