Salta el contingut
 

Introducció a la Intel·ligència Artificial

Autor: Joan Puigcerver Ibáñez

Correu electrònic: j.puigcerveribanez@edu.gva.es

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Què és la Intel·ligència Artificial?

La Intel·ligència Artificial (IA) consisteix en un programa informàtic capaç d'executar tasques i processos que tradicionalment requerien d'una intel·ligència humana. En molts casos, aquests programes són capaços de realitzar les tasques de forma més eficient i precisa que els humans.

No obstant això, no tots el programes que realitzen tasques de manera eficient que els humans són considerats IA.

Autor desconegut
Figura 1: Meme sobre la IA

Determinar si un ordinador realment es comporta de manera intel·ligent és complex. Hi ha moltes definicions de què és exactament la IA. La més estesa és la de John McCarthy (1995):

Cita

És la ciència i l'enginyeria de fer màquines intel·ligents.

Artificial Intelligence is the science and engineering of making intelligent machines.

Hi ha molts programes que es comporten de manera intel·ligent, però hui en dia es dona molta importància a les següents característiques:

  • Capacitat d'aprenentatge: Les màquines poden aprendre i millorar el seu rendiment (semblant a com ho fem els humans).
  • Autonomia: Les màquines poden prendre decisions i realitzar tasques en entorns complexos sense la intervenció humana.
  • Adaptabilitat: Les màquines poden adaptar-se a nous entorns i situacions.

Exemples d'ús de la IA

Alguns exemples d'ús de la IA més estesos i fins i tot, quotidians són:

  • Reconeixement de veu: utilitzat en assistents virtuals com Siri, Alexa o Google Assistant.
  • Sistemes de recomanació: Sistemes de recomanació que es basen en les preferències de l'usuari i el contingut consumit:
    • Spotify: recomana música basant-se en les cançons que més escoltem.
    • Serveis de distribució audiovisual (Netflix, HBO, ...): recomana sèries i pel·lícules basant-se en les que hem vist.
    • Xarxes socials (Instagram, X, Facebook): recomanen contingut basant-se en les publicacions que més ens agraden (o fins i tot visualitzem!).
  • Processament d'imatges:
    • Aplicacions com Google Photos que permeten cercar imatges per contingut.
    • Reconeixement facial (com en les càmeres dels mòbils).
    • Sistemes de conducció autònoma.
    • Filtratge i classificació d'imatges.
  • Sistemes de traducció automàtica: com Google Translate o SoftCatalà.

IA feble vs IA forta

Imagina't un robot o un ordinador que no sols puga fer tasques específiques, sinó que també pense i entenga el món exactament com el fem nosaltres, els humans. Això es coneix com intel·ligència artificial forta(1), que a dia d'avui, sols existeix en la ciència ficció.

  1. Artificial General Intelligence (AGI)

Aquesta és la IA que veiem en pel·lícules com Ex Machina, Her, Blade Runner o llibres com Jo, Robot i altres d'Isaac Asimov. Aquest tipus de IA és capaç de realitzar qualsevol tasca que un ésser humà puga fer, entenent el món i prenent decisions de manera autònoma.

Image via www.vpnsrus.com
Figura 2: Intel·ligència Artificial Forta

En canvi, la intel·ligència artificial feble(1) és el tipus de IA que coneixem avui en dia. Aquesta és capaç de realitzar tasques específiques de manera molt eficient, però no pot realitzar tasques per a les quals no ha estat dissenyada, és a dir, estan orientades a un objectiu.

  1. Artificial Narrow Intelligence (ANI)
Huawei
Figura 3: Comparació entre IA feble i IA forta

Classificació i conceptes relacionats

VENN diagram of AI, Big Data and Data Science Fraunhofer FOKUS
Figura 4: Relació entre IA, Big Data i Data Science
  • Intel·ligència Artificial (IA): és la ciència i l'enginyeria de fer màquines intel·ligents.
  • Aprenentatge Automàtic (Machine Learning o ML): és una branca de la IA que es basa en la idea que les màquines poden aprendre de les dades per si mateixes.
  • Xarxes Neuronals (Neural Networks o NN): és un model computacional inspirat en el cervell humà que es basa en la interconnexió de neurones artificials.
  • Aprenentatge Profund (Deep Learning): és una branca de l'aprenentatge automàtic que es basa en xarxes neuronals profundes (Deep Neural Networks o DNN).

Altres conceptes relacionats són:

  • Big Data: és la disciplina que es basa en l'anàlisi de grans volums de dades, que poden ser utilitzats —o no—, en sistemes d'IA.
  • Data Science: és la disciplina que es basa en l'anàlisi de dades per a obtenir coneixement i informació útil.

Aprenentatge Automàtic

L'Aprenentatge Automàtic (Machine Learning o ML) és un camp de la IA que es basa en la idea que les màquines poden aprendre de les dades per si mateixes, sense ser programades explícitament per a realitzar una tasca concreta.

Aprenentatge Supervisat

L'Aprenentatge Supervisat (Supervised Learning o SL) és un tipus de ML en el qual l'aprenentatge es basa en un conjunt de dades etiquetades, de les quals es coneix el resultat esperat.

Supervised Learning
Autor desconegut
Figura 5: Aprenentatge Supervisat

Dins del SL, trobem dos principals tipus de problemes: classificació i regressió.

Exemple

En aquest example de classificació, el model ha segut entrenat amb imatges de gats, gossos i gallines, indicant-li al model l'animal (etiqueta) que apareix en cada imatge.

El model aprén a diferenciar entre aquests animals.

Després, el model pot ser utilitzat per a predir l'animal en una imatge que no ha vist abans.

Classificació

En un problema de classificació, el model ha de predir a quina categoria o classe (valors discrets) pertany una observació (imatge, text, etc.).

Durant el procés d'entrenament, el model aprén a diferenciar entre les diferents classes a partir de les dades d'entrenament i les etiquetes associades.

Classificació
Autor desconegut
Figura 6: Classificació
Comparació d'algorismes de classificació
Autor desconegut
Figura 7: Comparació d'algorismes de classificació

Alguns exemples de classificació són:

  • Correu no desitjat: classificar els correus electrònics en spam o no spam.
  • Anàlisi de sentiments: classificar els textos en positius, negatius o neutres respecte a un tema.
  • Classificació d'imatges: classificar les imatges en diferents categories.
    • Imatge mèdica, reconeixement facial, conducció autònoma, ...
  • Reconeixement de veu: classificar les paraules pronunciades en diferents categories.

Regressió

En un problema de regressió, el model ha de predir un valor numèric (valors continus) a partir de les dades d'entrada.

Durant el procés d'entrenament, el model aprén a predir aquest valor numèric a partir de les característiques de les dades d'entrenament.G

Regressió
Autor desconegut
Figura 8: Regressió

Alguns exemples de regressió són:

  • Preu d'una casa: predir el preu d'una casa a partir de les seves característiques (m², nombre d'habitacions, ...).
  • Assegurances, crèdits, hipoteques...: predir el risc associat a un client.
  • Sistemes de recomanació: predir la puntuació que un usuari donarà a un producte o l'interès que tindrà en ell.

Aprenentatge No Supervisat

D'un altre costat, l'Aprenentatge No Supervisat (Unsupervised Learning o UNS) és un tipus de ML en el qual l'aprenentatge es basa en un conjunt de dades sense etiquetar, és a dir, sense saber el resultat esperat.

Unsupervised Learning
Autor desconegut
Figura 9: Aprenentatge No Supervisat

Dins de l'UNS, trobem dos principals tipus de problemes: clustering i reducció de la dimensionalitat.

Clustering

En un problema de clustering, el model ha de dividir les dades en diferents grups o clústers, de manera que les observacions dins d'un mateix clúster siguin similars entre si.

La Figure 9 mostra un exemple de clustering en el qual les dades són dividides tres clústers.

Alguns exemples de clustering són:

  • Segmentació de clients: agrupar els clients en diferents segments segons les seves característiques. Pot ser útil per a personalitzar ofertes, campanyes de màrqueting o recomanació de contingut.

Reducció de la dimensionalitat

En un problema de reducció de la dimensionalitat, el model ha de reduir el nombre de dimensions (característiques) de les dades, mantenint la informació més rellevant.

Aquest tipus de problema és útil per a reduir el temps de càlcul i millorar la precisió dels models.

Reducció de la dimensionalitat
Autor desconegut
Figura 11: Reducció de la dimensionalitat

Alguns exemples de reducció de la dimensionalitat són:

  • Anàlisi de components principals (PCA): reduir el nombre de dimensions d'un conjunt de dades.
  • Visualització de dades: reduir les dades a un nombre menor de dimensions per a visualitzar-les en 2D o 3D.
  • Reducció de soroll: eliminar les característiques menys rellevants o redundants.

Aprenentatge semisupervisat

De vegades, tenim un conjunt de dades on sols algunes de les observacions estan etiquetades.

En aquests casos, podem utilitzar l'Aprenentatge semisupervisat per a combinar les tècniques de SL i UNS.

Semi-supervised Learning
Autor desconegut
Figura 12: Aprenentatge semisupervisat

Aprenentatge per reforçament

L'Aprenentatge per reforçament (Reinforcement Learning o RL) és un tipus de ML en el qual l'aprenentatge es basa en la interacció amb un entorn.

En aquest tipus d'aprenentatge, un agent (robot, cotxe autònom, etc.) ha de prendre decisions per a maximitzar una recompensa a llarg termini. Quan l'agent pren una decisió correcta, rep una recompensa, i quan pren una decisió incorrecta, rep un càstig.

Reinforcement Learning
Autor desconegut
Figura 13: Aprenentatge per reforçament

Aprenentatge per lots

En l'Aprenentatge per lots (Batch Learning), el model és entrenat amb un conjunt de dades fix.

Si volem actualitzar el model amb noves dades, hem de tornar a entrenar-lo des de zero.

Batch Learning
Autor desconegut
Figura 14: Aprenentatge per lots

Aprenentatge en línia

En l'Aprenentatge en línia (Online Learning), el model és entrenat amb dades que arriben en temps real.

Aquest tipus d'aprenentatge és útil quan les dades són massa grans per a ser processades en memòria o quan les dades arriben de manera contínua.

Online Learning
Autor desconegut
Figura 15: Aprenentatge en línia

Aprenentatge basat en models

En l'Aprenentatge basat en models (Model-based Learning), existeix un model (normalment matemàtic/estadístic) que descriu com les dades són transformades en una predicció.

Aquest model és entrenat amb les dades d'entrenament i després utilitzat per a fer prediccions.

Model-based Learning
Autor desconegut
Figura 16: Aprenentatge basat en models

Aprenentatge basat en instàncies

En l'Aprenentatge basat en instàncies (Instance-based Learning), les prediccions es basen en la similitud entre les observacions d'entrenament i les noves observacions.

Aquest tipus d'aprenentatge és útil quan no es pot construir un model matemàtic/estadístic.

Instance-based Learning
Autor desconegut
Figura 17: Aprenentatge basat en instàncies

Prova i validació de models

Una vegada s'ha entrenat un model, és important avaluar la seva precisió i rendiment.

Per a això, es divideixen les dades en dos conjunts: dades d'entrenament i dades de prova.

  • Les dades d'entrenament són utilitzades per a entrenar el model.
  • Les dades de prova són utilitzades per a avaluar el rendiment del model.

Important

És molt important que les dades de prova no hagen segut utilitzades en el procés d'entrenament.

Estem avaluant si el model generalitza bé el problema o no, per tant, el model no ha de conéixer les dades de prova.

Info

Normalment la proporció entre les dades d'entrenament i les dades de prova és de 80%/20% o 70%/30%, respectivament.

Cada tipus de problema té unes mètriques associades per a avaluar la qualitat del model.

Principals problemes de l'Aprenentatge Automàtic

L'Aprenentatge Automàtic és una eina molt potent, però també difícil d'utilitzar perquè siga eficient.

Alguns dels principals problemes són:

  • Quantitat insuficient de dades: per a entrenar un model amb precisió, és necessari un conjunt de dades gran que represente correctament el problema.
  • Dades de baixa qualitat: si les dades tenen errors, valors atípics i soroll, difícilment el model podrà fer prediccions correctes.
  • Dades d'entrenament no representatives: per poder generalitzar correctament el problema, és crucial que les dades d'entrenament representen correctament el problema.

    Si utilitzem un conjunt de dades que no és representatiu, el model no podrà fer prediccions correctes i ens trobarem en un cas de mostra esbiaixada.

A més, és important conéixer els problemes que ens podem trobar en el procés d'entrenament:

  • Sobreajustament (Overfitting): el model s'ajusta massa bé a les dades d'entrenament i no pot generalitzar correctament el problema.

  • Infraajustament (Underfitting): el model no s'ajusta prou bé a les dades d'entrenament i no pot fer prediccions correctes.

Overfitting and Underfitting
Autor desconegut
Figura 16: Sobreajustament i Infraajustament

Mesurant el rendiment del model amb les dades de prova, podem determinar si el model pateix d'aquests problemes:

  • Si el model té un mal rendiment amb les dades d'entrenament i les dades de prova, probablement estiguem davant un cas d'infraajustament.
  • Si el model té un bon rendiment amb les dades d'entrenament i un mal rendiment amb les dades de prova, probablement estiguem davant un cas de sobreajustament.

El moment de parar l'entrenament del model és quan aquest té un bon rendiment amb les dades d'entrenament i la validació de les dades de prova comença a empitjorar.

Overfitting and Underfitting validation
Autor desconegut
Figura 17: Validació Sobreajustament i Infraajustament

Recursos addicionals

Bibliografia

Comentaris