Moltes vegades ens preguntem: Com pot funcionar bé la informàtica en un món que no és binari?. La veritat és que és una bona pregunta perquè la lògica en què es basa la informàtica és binària o discreta (els valors són 0 o 1, fred o calor), mentre que el món que ens envolta no ho és perquè tenim valors intermedis. El positiu és que fa temps ja es va pensar en aquest problema i es van trobar dues solucions bastant enginyoses per tal de què un robot pugui viure en un ambient tan complex com el món real. Com se les empesca un robot per moure's en un entorn tan complicat com el nostre?
Lògica difusaLa lògica difusa o
fuzzy logic, també coneguda com a lògica borrosa, la va postular l'enginyer i matemàtic Lotfi A. Zadeh el 1965. Per entendre-ho, imaginem una aixeta. Per un sistema binari l'aigua sortiria freda o calenta, mentre que per a nosaltres l'aigua pot estar freda, temperada tirant a freda, temperada tirant a calenta i calenta. Si cadascun d'aquests estats pot englobar moltes temperatures, com es podria moure el nostre robot en aquest galimaties? Un sistema difús fa servir això d'una manera molt senzilla: Mitjançant conjunts borrosos. Un conjunt borrós és una classe definida per una condició relaxada, això és: una variable pot pertànyer a diferents percentatges a diversos conjunts borrosos. Per simplificar aquesta idea que, a priori, pot semblar confusa, vegem l'exemple de l'aigua de l'aixeta:
A la figura, els conjunts se solapen. Per això podem tenir valors de temperatura que estan dins de diversos conjunts. Imaginem que detectem una temperatura de 15ºC: si veiem la figura, aquesta temperatura toca en una gran proporció el valor temperat, però a més toca en una petita proporció el valor fred. Què faria un sistema intel·ligent per obtenir aigua calenta? suposem que la temperatura toca un 75% el valor temperat i un 25% el valor fred i que el nostre sistema per passar de fred a calent ha de donar una potència mitjana a la caldera per escalfar l'aigua (suposem 2) i en temperat una potència baixa (suposem 1). El resultat seria 2 × 0.25 + 1 × 0.75 = 1.25; per tant, la potència de sortida que hauríem de donar a la caldera hauria de ser de 1,25.
Un avantatge de la lògica difusa és la seva senzillesa, el que dóna lloc a sistemes molt ràpids a l'hora de prendre decisions. Com a desavantatge tenen que és difícil trobar conjunts difusos i regles fiables sense la participació d'un expert humà. Exemples de sistemes que usen lògica difusa els tenim en els aires condicionats. Les rentadores també el fan servir per decidir la quantitat d'aigua necessària i el programa de rentat, l'autofocus de les càmeres fotogràfiques i telèfons mòbils també funcionen així i l'exemple més complex és el Metro de Sendai al Japó.
Mitjançant aquest sistema el nostre robot es mouria en un entorn no binari d'una forma molt ràpida, i no requeriria molta potència de càlcul. Ara bé, imaginem que el nostre robot es va a moure en un univers molt complex que no es pot representar per conjunts borrosos, imaginem que a més el món que l'envolta és canviant. En aquest cas necessitaríem que el nostre robot aprengués a treballar en aquest entorn i que aprengui dels seus encerts per ser cada vegada més eficaç, per això necessitarem que el nostre robot tingui una Xarxa Neuronal Artificial.
Xarxes Neuronals ArtificialsLes xarxes neuronals s'inspiren en el funcionament del sistema nerviós biològic. Una xarxa neuronal és un conjunt d'unitats de procés simples connectades entre si per a la realització d'una tasca complexa. El coneixement de l'entorn està repartit en aquestes unitats elementals i aquesta xarxa és capaç d'aprendre a comportar-se, bé mitjançant un entrenament previ o bé de forma paral·lela al seu funcionament. Per entendre això posem l'exemple d'una persona conduint: abans de poder conduir rep un entrenament previ supervisat per un professor. Un cop entrenat i amb el carnet de conduir, si es troba una situació nova la resol com pot i, si ho aconsegueix amb èxit, aprèn a solucionar la situació, mentre que si s'equivoca corregeix fins a aconseguir fer-ho bé.
Vegem com és una xarxa neuronal:
A la figura podem veure la topologia típica d'una xarxa neuronal, aquesta es compon de diverses neurones en diferents capes. Com s'observa a la figura, cada neurona té una sèrie d'entrades (X1, X2, X3, ..., Xn) i una sortida. També s'aprecia una entrada que diu Wb, anomenada Bías, que s'usa per ajustar la xarxa neuronal i simplificar l'entrenament. El cos de la neurona no és més que una funció matemàtica, les més emprades són les funcions sigmoidals i les gaussianes. L'aprenentatge d'una xarxa neuronal consisteix en donar valor als pesos (W1, W2, W3, ..., Wn a la figura), aquests pesos es multiplicaran amb el valor d'entrada. Quan veiem aquest esquema detectem dos inconvenients:
- No podem garantir que el procés d'aprenentatge sigui correcte: no sabem realment si el nostre robot ha après bé, només sabrem si té molts o pocs encerts.
- No podem extreure el coneixement adquirit per la xarxa neuronal en forma de regles senzilles: realment no sabem què ha après, només sabem el valor d'uns pesos.
Com podem veure, la xarxa neuronal es comporta com una caixa negra: el nostre robot faria la seva feina i s'adaptaria a situacions noves, però no podem saber com ho fa. Perquè s'adapti bé a l'entorn, hem de dissenyar molt bé la xarxa neuronal perquè la capacitat d'adaptació depèn del nombre de neurones localitzades en la capa oculta de la xarxa neuronal (les marcades com I1, I2, I3 a la figura). Si aquest nombre és massa petit, el nostre robot no serà capaç d'aprendre, però si és massa gran perdrà l'habilitat de generalitzar. També, a major quantitat de neurones ocultes hi haurà més connexions entre neurones i, per tant, més pesos que s'han de determinar. Com a conseqüència d'això, es necessitarà més entrenament. Una altra part en què ens hem d'esforçar és a entrenar bé, amb un mal entrenament s'equivocarà molt quan treballi en el seu entorn real i necessitarà més temps per adaptar-se.
Les aplicacions típiques de les xarxes neuronals les podem trobar en diagnòstics mèdics, anàlisi de dades econòmiques, classificació d'imatges, classificació de proteïnes, en alguns videojocs per gestionar el comportament dels adversaris (per exemple el Neuralbot del joc Quake II), etc.
ConclusióDesprés del que hem vist, podem dir que no tot és 0 i 1 en informàtica, hi ha solucions no binàries que s'adapten a la nostra realitat quotidiana. Els sistemes difusos i les xarxes neuronals poden combinar-se i treballar junts, de manera que tindríem un robot que podria sobreviure i fer la seva feina sense problemes. Si després de llegir això us animeu a seguir aprenent sobre Xarxes Neuronals i Sistemes Borrosos, només us demano que feu un robot que buidi el rentaplats i netegi la cuina (si de pas llença les escombraries, us ho agrairia).
Font: NAUKAS