Intel·ligència artificial avançada Codi:  M1.204    :  6
Consulta de les dades generals   Descripció   Informació prèvia a la matrícula   Objectius i competències   Continguts   Consulta dels recursos d'aprenentatge de la UOC per a l'assignatura   Informació addicional sobre els recursos d'aprenentatge i eines de suport   Informacions sobre l'avaluació a la UOC   Consulta del model d'avaluació  
Aquest és el pla docent de l'assignatura per al segon semestre del curs 2023-2024. Podeu consultar si l'assignatura s'ofereix aquest semestre a l'espai del campus Més UOC / La universitat / Plans d'estudis). Un cop comenci la docència, heu de consultar-lo a l'aula. El pla docent pot estar subjecte a canvis.

La motivació principal d'aquesta assignatura és la de donar a conèixer l'aprenentatge automàtic i com es situa dins del camp de la Intel·ligència Artificial.

A Intel·ligència Artificial (Grau en Enginyeria Informàtica) es va donar una visió general de la Intel·ligència Artificial i es varen presentar alguns dels mètodes i tècniques anomenats clàssics, com son la resolució de problemes i cerca i els sistemes basats en el coneixement, també es varen veure tècniques més avançades com son les xarxes neurals i el raonament aproximat. A l'assignatura d'Aprenentatge computacional es van introduir els problemes de l'aprenentatge (supervisat i no supervisat) i sistemes multi agent. En aquesta assignatura s'aprofundirà en problemes avançats d'aprenentatge, introduint els sistemes d'extracció de característiques, els sistemes no lineals basats en Kernels, els processos d'optimització o les tècniques d'aprenentatge profund,  sempre des d'una vessant pràctica tocant exemples de problemes reals.

Amunt

És recomanable haver cursat les assignatures d'Intel·ligència Artificial i Aprenentatge Computacional del grau en Enginyeria Informàtica.  També és molt recomanable haver superat l'assignatura de prácitques de programació o equivalent en algun programa d'informàtica. Si vé l'assignatura no està pensada per a tenir una alta càrrega de programació, es donaran per sabuts els conceptes més bàsics d'algorísmica.

Amunt

Les competències generals del Màster que es posen de manifest en aquesta assignatura són

  1. Capacitat per a projectar, calcular i dissenyar productes, processos i instal·lacions en tots els àmbits de l'enginyeria en informàtica.
  2. Capacitat per al modelat matemàtic, càlcul i simulació en centres tecnològics i d'enginyeria d'empresa, particularment en tasques d'investigació, desenvolupament i innovació en tots els àmbits relacionats amb l'enginyeria en informàtica
  3. Capacitat per a l'aplicació dels coneixments adquirits i de solucionar problemes en entorns nous o poc coneguts dins de contextes més amplis i multidisciplinars, essent capaços d'integrar aquests coneixements.
  4. Posseir habilitats per  a l'aprenentatge continuat, autodirigit i autònom.
  5. Capacitat per a modelar, disenyar, definir l'arquitectura, implantar, gestionar, operar, administrar y mantenir aplicacions, xarxes, sistemes, serveis i continguts informàtics.
  6. Capacitat per assegurar, gestionar, auditar i certificar la qualitat dels desenvolupaments, processos, sistemes, serveis, aplicacions i productes informàtics.
  7. Capacitat per a comprendre y poder aplicar coneixements avançats de computació d'altes prestacions i mètodes numèrics o computacionals a problemes d'enginyeria.

Les competències específiques d'aquesta assingatura són:

  1. Entendre que és l'aprenentatge automàtic en el context de la Intel·ligència Artificial
  2. Distingir entre els diferents tipus i mètodes d'aprenentatge
  3. Conèixer els diferents mètodes d'extracció de característiques sobre un conjunt de dades donat
  4. Conèixer els diferents paradigmes de classificació i els sues punts forts i febles.
  5. Saber avaluar els algorismes de classificació i extreure'n conclusions de la seva eficiència, permetent seleccionar els més adients en cada cas.
  6. Aplicar les tècniques estudiades a un cas concret

Amunt

En aquesta assignatura els continguts s'han estructurat en dos mòduls.

En el primer mòdul es dona una visió general de l'aprenentatge dins de la Intel·ligència Artificial. En principi es fa la distinció entre algorismes dedicats a l'agrupació (clustering) i recomanació d'informació, els algorismes d'extracció i selecció de característiques, els algorismes de classificació, els mètodes d'optimització i les tècniques d'aprenentatge profund.  La distinció entre aprenentatge supervisat i no supervisat es inherent al capítols de clustering i classificació, tot i que es també present en el capítol d'extracció de característiques.

El segon mòdul, molt més breu,  està dedicat a l'aprenentatge del llenguatge Python. Es pretén introduir a l'estudiant en algunes (de les moltes) característiques que té aquest llenguatge, de cara a una millor comprensió dels mòduls de teoria, i poder realitzar pràctiques de forma autònoma.

A continuació es dóna el contingut  detallat de cadascun d'aquests mòduls.

1. Introducció a la Intel·ligència Artificial (IA)
1.1. Neurones i transistors
1.2. Breu història de
la IA
1.3. Àmbits d'aplicació


2. Recomanadors i agrupaments
2.1. Mètriques i mesures de similitud
2.1.1. Exemple d'aplicació
2.1.2. Distància euclidiana
2.1.3. Correlació de Pearson
2.2. Sistemes recomanadors
2.2.1. Conceptes generals
2.2.2. La biblioteca Surprise
2.2.3. Veïns més propers
2.2.4. Descomposició en valors singulars

2.2.5. Conclusions
2.3. Algorismes d'agrupament (clustering)
2.3.1. Exemple d'aplicació
2.3.2. Conceptes generals
2.3.3. Agrupament jeràrquic. Dendrogrames
2.3.4. k-mitjans (k-means)
2.3.5. c-mitjans difús (Fuzzy c-means)
2.3.6. Agrupament espectral (Spectral Clustering)
2.3.7. Recomanadors basats en models


3. Extracció i selecció d'atributs
3.1. Tècniques de factorització matricial
3.1.1. Descomposició en valors singulars (SVD)
3.1.2. Anàlisi de components principals (PCA)
3.1.3. Anàlisi de components independents (ICA)
3.1.4. Factorització de matrius no-negatives (NMF)
3.2. Discriminació de dades en classes
3.2.1. Anàlisi de discriminants lineals (LDA)
3.3. Visualització de dades mutidimensionals
3.3.1. Escalament multidimensional (MDS)


4. Classificació
4.1. Introducció
4.1.1. Categorització de textos
4.1.2. Aprenentatge automàtic per classificació
4.1.3. Tipologia d'algorismes per classificació
4.2. Mètodes basats en models probabilístics
4.2.1. Naïve Bayes
4.2.2. Màxima Entropia
4.3. Mètodes basats en distàncies
4.3.1. KNN
4.3.2. Classificador lineal basat en distàncies
4.3.3. Clustering dins de classes
4.4. Mètodes basats en regles
4.4.1. Arbres de decisió
4.4.2. AdaBoost
4.5. Classificadors lineals i mètodes basats en Kernels
4.5.1. Classificador lineal basat en producte escalar
4.5.2. Classificador lineal amb Kernel
4.5.3. Kernels per a tractament de textos
4.5.4. Màquines de vectors de suport
4.6. Protocols de test
4.6.1. Protocols de validació
4.6.2. Mesures d'avaluació
4.6.3. Tests estadístics
4.6.4. Comparativa de classificadors


5. Optimització
5.1. Introducció
5.1.1. Tipologia dels mètodes d'optimització
5.1.2. Característiques dels metaheurístics d'optimització
5.2. Optimització mitjançant multiplicadors de Lagrange
5.2.1. Descripció del mètode
5.2.2. Exemple d'aplicació
5.2.3. Anàlisi del mètode
5.3. Descens de gradients
5.3.1. Presentació de la idea
5.3.2. Exemple d'aplicació
5.3.3. Qüestions addicionals
5.4. Salt de valls

5.4.1. Descripció del mètode

5.4.2. Exemple d'aplicació

5.4.3. Anàlisi del mètode 
5.5. Algorismes genètics
5.5.1. Descripció del mètode
5.5.2. Ampliacions i millores
5.5.3. Exemples d'aplicació
5.5.4. Recopilació d'estadístiques
5.5.5. Problemes combinatoris

5.5.6. Problemes amb restriccions

5.5.7. Anàlisi del mètode
5.6. Colònies de formigues
5.6.1. Descripció del mètode
5.6.2. Exemple d'aplicació
5.6.3. Anàlisi del mètode
5.6.4. Codi font en Python
5.7. Optimització amb eixams de partícules
5.7.1. Descripció del mètode
5.7.2. Exemple d'aplicació
5.7.3. Anàlisi del mètode
5.7.4. Codi font en Python
5.8. Cerca tabú.
5.8.1. Descripció del mètode
5.8.2. Exemple d'aplicació
5.8.3. Anàlisi del mètode
5.8.4. Codi font en Python

 

6. Aprenentatge profund
6.1. Introducció

6.1.1. Assoliments recents

6.1.2. Causes

6.1.3. Arquitectures

6.1.4. Biblioteques

6.2. Xarxes neuronals

6.2.1. Components d'una xarxa neuronal

6.2.2. Funcions d'activació

6.2.3. Entrenament d'una xarxa neuronal

6.2.4. Problemes d'aprenentatge

6.2.5. Algunes solucions

6.2.6. Aprenentatge profund

6.3. Perceptró multicapa

6.3.1. Idea

6.3.2. Exemple d'MLP

6.4. Classificació d'imatges amb xarxes neuronals convolucionals (CNN)

6.4.1. Implementació de les CNN a Python utilitzant les llibreries Keras

6.5. Xarxes recurrents

6.5.1. Idea

6.5.2. Programació

6.6. Altres arquitectures

6.6.1. Autocodificadors

6.6.2. Aprenentatge per reforç

6.6.3. Sistemes generadors

 

7. Annex: conceptes bàsics d'estadística

Amunt

Classification Framework with Naïve Bayes Audiovisual
Support Vector Machines using Python and scikit-learn Audiovisual
User-defined kernels for SVMs using scikit-learns Audiovisual
Data Clustering with k-Means Audiovisual
Distances, similarities and normalization of data. Audiovisual
Optimization with simulated annealing and genetic algorithms Audiovisual
Introducción a la programación en Python Audiovisual
Inteligencia artificial en Python Audiovisual
Principal component Analysis (PCA) Audiovisual
La Librería matplotlib en Python Audiovisual
MovieLens-data Web
Codi font. Exemples materials Web
Intel·ligència artificial avançada PDF
Xarxes neuronals: fonaments i intuïcions (Notebook) Codi font
Neuronal networks examples (Notebook) Codi font
Python: introducció al llenguatge de programació Audiovisual
Ús de Google Colaboratory per a Machine Learning Audiovisual

Amunt

L'assignatura es compon dels mòduls didàctics en suport paper, que contenen exercicis d'autoavaluació amb solucions i activitats diverses.

Aquest material es complementarà amb aquell que els consultors posin a l'abast dels estudiants a l'aula de l'assignatura.

Es preveu també la creació d'una aula de laboratori per a resoldre els dubtes corresponents al llenguatge Python

Amunt

A la UOC, l'avaluació generalment és virtual. S'estructura entorn de l'avaluació contínua, que inclou diferents activitats o reptes; l'avaluació final, que es porta a terme mitjançant proves o exàmens, i el treball final de la titulació.

Les activitats o proves d'avaluació poden ser escrites i/o audiovisuals, amb preguntes aleatòries, proves orals síncrones o asíncrones, etc., d'acord amb el que decideixi cada equip docent. Els treballs finals representen el tancament d'un procés formatiu que implica la realització d'un treball original i tutoritzat que té com a objectiu demostrar l'adquisició competencial feta al llarg del programa.

Per verificar la identitat de l'estudiant i l'autoria de les proves d'avaluació, la UOC es reserva la potestat d'aplicar diferents sistemes de reconeixement de la identitat i de detecció del plagi. Amb aquest objectiu, la UOC pot dur a terme enregistrament audiovisual o fer servir mètodes o tècniques de supervisió durant l'execució de qualsevol activitat acadèmica.

Així mateix, la UOC pot exigir a l'estudiant l'ús de dispositius electrònics (micròfons, càmeres o altres eines) o programari específic durant l'avaluació. És responsabilitat de l'estudiant assegurar que aquests dispositius funcionen correctament.

El procés d'avaluació es fonamenta en el treball personal de l'estudiant i pressuposa l'autenticitat de l'autoria i l'originalitat de les activitats acadèmiques. Al web sobre integritat acadèmica i plagi de la UOC hi ha més informació respecte d'aquesta qüestió.

La manca d'autenticitat en l'autoria o d'originalitat de les proves d'avaluació; la còpia o el plagi; la suplantació d'identitat; l'acceptació o l'obtenció de qualsevol activitat acadèmica a canvi d'una contraprestació o no; la col·laboració, l'encobriment o l'afavoriment de la còpia, o l'ús de material, programari o dispositius no autoritzats en el pla docent o l'enunciat de l'activitat acadèmica, inclosa la intel·ligència artificial i la traducció automàtica, entre altres, són conductes irregulars en l'avaluació que poden tenir conseqüències acadèmiques i disciplinàries greus.

Aquestes conductes irregulars poden comportar el suspens (D/0) en les activitats avaluables que es defineixin en el pla docent -incloses les proves finals- o en la qualificació final de l'assignatura, sigui perquè s'han utilitzat materials, programari o dispositius no autoritzats durant les proves (com l'ús d'intel·ligència artificial no permesa, xarxes socials o cercadors d'informació a internet), perquè s'han copiat fragments de text d'una font externa (internet, apunts, llibres, articles, treballs o proves d'altres estudiants, etc.) sense la citació corresponent, per la compravenda d'activitats acadèmiques, o perquè s'ha dut a terme qualsevol altra conducta irregular.

Així mateix, i d'acord amb la normativa acadèmica, les conductes irregulars en l'avaluació també poden donar lloc a la incoació d'un procediment disciplinari i a l'aplicació, si escau, de la sanció que correspongui, de conformitat amb el que estableix la normativa de convivència de la UOC.

En el marc del procés d'avaluació, la UOC es reserva la potestat de:

  • Sol·licitar a l'estudiant que acrediti la seva identitat segons el que estableix la normativa acadèmica.
  • Sol·licitar a l'estudiant que acrediti l'autoria del seu treball al llarg de tot el procés d'avaluació, tant en l'avaluació contínua com en l'avaluació final, per mitjà d'una entrevista oral síncrona, que pot ser objecte d'enregistrament audiovisual, o pels mitjans que estableixi la Universitat. Aquests mitjans tenen l'objectiu de verificar els coneixements i les competències que garanteixin la identitat de l'estudiant. Si no és possible garantir que l'estudiant és l'autor de la prova, aquesta pot ser qualificada amb una D, en el cas de l'avaluació contínua, o amb un suspens, en el cas de l'avaluació final.

Intel·ligència artificial en el marc de l'avaluació

La UOC reconeix el valor i el potencial de la intel·ligència artificial (IA) en l'àmbit educatiu, alhora que posa de manifest els riscos que comporta si no s'utilitza de manera ètica, crítica i responsable. En aquest sentit, en cada activitat d'avaluació s'informarà l'estudiantat sobre les eines i els recursos d'IA que es poden utilitzar i en quines condicions. Per la seva banda, l'estudiantat es compromet a seguir les indicacions de la UOC a l'hora de dur a terme les activitats d'avaluació i de citar les eines utilitzades i, concretament, a identificar els textos o les imatges generats per sistemes d'IA, els quals no podrà presentar com si fossin propis.

Amb relació a fer servir o no la IA per resoldre una activitat, l'enunciat de les activitats d'avaluació indica les limitacions en l'ús d'aquestes eines. Cal tenir en compte que fer-les servir de manera inadequada, com ara en activitats en què no estan permeses o no citar-les en les activitats en què sí que ho estan, es pot considerar una conducta irregular en l'avaluació. En cas de dubte, es recomana que, abans de lliurar l'activitat, es faci arribar una consulta al professorat col·laborador de l'aula.

Amunt

L'assignatura només es pot aprovar amb el seguiment i la superació de l'avaluació contínua (AC). La qualificació final de l'assignatura és la nota obtinguda a l'AC.

 

Amunt