Aprenentatge profund

De Viquipèdia
Dreceres ràpides: navegació, cerca

L’aprenentatge profund (en anglès, deep learning) és una tècnica d’extracció i transformació de noves característiques del processament de la informació, les quals poden ser de forma supervisada o no. Són algoritmes que funcionen en un sistema per capes, simulant el funcionament bàsic del cervell que s’utilitza amb les neurones. És a dir, el conjunt de capes que forma el deep learning representen les neurones del cervell. Aquest mètode va ser promogut als anys 80 per l'investigador japonès Kunihiko Fukushima, el qual va proposar un model neuronal entre cinc i sis capes nomenat “ neocognitró ”. Actualment la definició d’aprenentatge profund és un sinònim modern de les aplicacions de les xarxes neuronals. Hi ha molts sistemes actuals de reconeixement de veu, visió artificial i reconeixements d’imatges que utilitzen aquesta tecnologia.

Definicions[modifica | modifica el codi]

Hi ha diverses definicions que ens permeten obtenir una idea més detallada del que engloba el concepte del Deep Learning.

- Classe de tècniques del Machine Leaning que busquen l'extracció i transformació de les característiques referents al processament de la informació, sigui de forma supervisada o no supervisada.

- Un camp contingut al Machine Learning que es basa en algoritmes per aprendre diversos nivells de representació buscant relacions complexes. Obtenint característiques d'alt nivell i baix nivell, jerarquitzant-les.

- Continuació: les característiques de baix nivell poden ajudar a definir les d'alt nivell. És a dir, tenir en compte que algunes representacions són millors que altres depenent de les tasques que vulguem assolir.

- Nova zona creada per tornar al Machine Learning un dels seus objectius: intel·ligència artificial. Buscant nivells d'abstracció que ens permeten donar sentit a les imatges, sons i text.

Aquitectura de l'aprenentatge profund[modifica | modifica el codi]

L'aprenentatge profund es pot definir com la suma dels següents factors:

Sent DL : Aprenentatge profund (Deep Learning), NN: Xarxa neuronal ( Neuronal Networking), GM: Modelat gràfic ( Graph Modeling), PP: Processament de patrons, SP: Processament de senyals (Signal processing).

Jerarquia de funcions[modifica | modifica el codi]

Són tècniques que reben major quantitat de dades, més capes que es desenvolupen aquestes jerarquies entre la informació que permetran obtenir característiques de forma supervisada i realitzar classificacions.

- Aprendre la jerarquia

- Tot el camí des dels píxels fins a arribar als classificadors.

- Una capa extreu característiques de la sortida de la capa anterior. Capacitar totes les capes de manera conjunta

Punts de vista per funcions d'aprenentatge[modifica | modifica el codi]

Aprenentatge Supervisat[modifica | modifica el codi]

- Aprenentatge d'extrem a extrem de les arquitectures de profunditat amb retropropagació.

- Funciona bé quan les quantitats d'etiquetes és gran.

- Estructura del model és important (per exemple, estructura convolucional)

Aprenentatge no supervisat[modifica | modifica el codi]

- Aprendre estructura estadística o dependències de les dades a partir de dades sense etiqueta

- Formació per capes

- És útil quan la quantitat d'etiquetes no és gran.

Classificació de mètodes d'aprenentatge de funcions[modifica | modifica el codi]

Mètode Supervisat No supervisat
Superficial Suport Vector Machine

Regressió logística

Perceptró (Perceptron)

Denoising Autoencoder

Màquines Restringides Boltzmann

Codificació Sparse

Profund Xarxa neuronal Profunda

Xarxa neuronal convolucional

Xarxa neuronal recurrent

Profund Denoising Autoencoder

Les xarxes de creences profundes

Màquines Profund Boltzmann

Codificació Jeràrquica Sparse

Xarxes Neuronals[modifica | modifica el codi]

L'aprenentatge profund està format per xarxes neuronals artificials (RNA) formades per un conjunt de neurones artificials interconnectades i diverses capes interrelacionades entre elles, la sortida d'una capa és l'entrada a la següent, amb la qual es poden enviar informació. El nombre de capes intermèdies i el nombre de neurones de cada capa dependrà del tipus d'aplicació que s'utilitzi.

Funcionament[modifica | modifica el codi]

En la capa inicial hi ha una neurona per cada variable amb la qual volem predir la classe. Aquesta neurona rep les dades corresponents d'aquesta variable i ho envia a la superior.

A la capa final hi ha una neurona per cada classe, aquesta agafa senyals de la capa inferior i aplica la probabilitat que pertany a la dada de la classe.

La capa inferior rep les dades i les envia a la segona capa, aquesta converteix les dades en senyals i els envia a la segona capa i així successivament.

Exemple de funcionament red neuronal

Problemes[modifica | modifica el codi]

Les xarxes neuronals presenten diversos problemes: - La quantitat de variables lliure que s'han d'entrenar és molt alta. - La funció objectiu no és convexa en els seus paràmetres, això causa que l'algoritme d'optimització s'estanqui en els seus òptims locals. - El resultat depèn de la inicialització dels paràmetres.

Solucions[modifica | modifica el codi]

Els problemes anteriors es poden solucionar o millorar de la següent manera:

- Utilitzant les Xarxes de convolució Neuronal ( Convolutional Neural Networks), utilitzades per al reconeixement de caràcters.

- Múltiples inicialitzacions de la xarxa.

- Utilització de Màquines de Boltzmann i Deep Belief Networks.

Aprenentatge[modifica | modifica el codi]

L'aprenentatge és essencial per a totes les xarxes neuronals, per tant l'elecció de l'algoritme d'aprenentatge és un punt molt important pel desenvolupament d'una xarxa. Hi ha dos tipus d'aprenentatges, el supervisat i el no supervisat, el primer es proveeix d'una resposta correcta durant el seu entrenament i el segon es caracteritza per no tenir present l'objectiu que ha d'assolir.

Xarxes amb aprenentatge supervisat[modifica | modifica el codi]

L'aprenentatge supervisat es caracteritza per un procés d'aprenentatge realitzat amb un entrenament controlat per un agent extern (supervisor) que determina la resposta que hauria de generar la xarxa a partir d'una entrada concreta. La funció del supervisor és controlar la sortida la xarxa i en el cas que no coincideixi amb la sortida desitjada es procedeix a modificar el pes de les connexions per aconseguir una sortida aproximada a l'esperada.

Procediment[modifica | modifica el codi]

El procediment del mètode amb xarxes de convolució supervisat és el següent:

Entrada: Pixels / Característiques

Capa 1: Filtració + No linealitat

Capa 2: Pooling (posada en comú)

Capa 3: Normalització

Sortida: Característiques

Tipus de xarxes[modifica | modifica el codi]

Aprenentatge per correcció d'error: Consisteix a ajustar el pes de les connexions de la xarxa en funció de l'error comès a la sortida.

Aprenentatge per reforç: Es caracteritza per no indicar donat l'entrenament exactament la sortida que es desitja que proporcioni la xarxa en una determinada entrada.

Aprenentatge estocàstic: Consisteix a realitzar canvis aleatoris al pes de les diferents connexions i avaluar el seu efecte a partir d'un objectiu

Regla del Perceptró

Aprenentatge Supervisat Hebbià

Xarxes amb aprenentatge no supervisat[modifica | modifica el codi]

Aquest tipus de xarxes representa un grau de similitud entre la informació que hi ha a l'entrada i les informacions que s'han anat mostrant durant el procediment. Està format per un conjunt de regles que donen a la xarxa una habilitat per aprendre associacions entre els diversos patrons que es formen en un conjunt. Un cop els patrons es coneixen, es permet que les xarxes realitzin tasques útils de reconeixement de patrons i habilitat per tenir memòria.

Tipus de xarxes[modifica | modifica el codi]

Aprenentatge Hebbià

Aprenentatge competitiu i comparatiu

Supervisat vs No supervisat[modifica | modifica el codi]

  • Model supervisat
    • Funcionen molt bé amb grans quantitats d'etiquetes, per exemple: IMAGEnet.
    • donen importància a l'estructura convolucional.
  • Model no supervisat
    • Funciona bé amb quantitats limitades d'etiquetes.
    • Pot aprofitar una quantitat pràcticament il·limitada de dades sense necessitat d'etiquetatge.

Aplicacions[modifica | modifica el codi]

Deep Belief Network (DBN): models de probabilitat generatius que estan compostos per múltiples capes i variables ocultes.

Boltzmann Machine (BM): xarxa connectada de forma simètrica, implementada amb neurones que tenen com a funció decidir si estan connectades o no.

Restricted Boltzmann Machine (RBM): Tipus especial de BM on no es permet la interrelació entre neurones del mateix tipus.

Deep Neural Network (DNN): perceptró de múltiples capes , diverses d'elles ocultes.

Deep Autoencoders: model discriminatiu DNN que utilitza com a sortida els mateixos valors de l'entrada, es tracta d'un model no supervisat. Quan l'objectiu és eliminar soroll es comporta com un model generatiu.

Deep learning a les empreses[modifica | modifica el codi]

Algunes de les grans companyies tenen un espai en la seva empresa dedicat exclusivament a l'estudi d'aquests mètodes, per exemple Google en els seus sistemes tenen implementades neurones que s'utilitzen per al reconeixement de veu, imatge o el processament de text. L'interès dels gegants tecnològics està precisament en aquests factors. Volen millorar els seus serveis per atraure més ingressos publicitaris, ja que el Deep Learning fa que les màquines siguin superiors als éssers humans.

En els últims cinc anys, companyies com Google, Apple i IBM, han comprat de forma agressiva "startups" i investigadors experts en aquests mètodes. Per als consumidors diaris, això es tradueix en un millor software, capaç d'ordenar fotografies, entendre la nostra veu i traduir textos de llengües estrangeres. Tots aquests mètodes no es basen en la sintaxi, sinó amb la semàntica, una frase pot estar sintàcticament correcta però semànticament no dir res. Per altra banda altres companyies utilitzen estadístiques per aconseguir resultats similars.

Millores de l'article original[modifica | modifica el codi]

Deep Learning (Article original), respecte a l'article original s'ha intentat fer un article entenedor per a tot el públic a diferència de l'original que és molt tècnic, també s'ha donat més importància als dos tipus d'aprenentatge supervisat i no supervisat i s'ha fet una comparació entre ells buscant els avantatges i els defectes de cadascun d'ells. L'article també comenta com està afectant actualment aquesta tecnologia a les grans empreses i perquè la utilitzen.

Vegeu també[modifica | modifica el codi]

Referències[modifica | modifica el codi]

  • Deep learning tutorial slides at ICML 2013
  • Yoshua Bengio, Learning Deep Architectures for AI, Foundations and Trends in Machine Learning, 2(1), pp.1-127, 2009.
  • LeCun, Chopra, Hadsell, Ranzato, Huang: A Tutorial on Energy-Based Learning, in Bakir, G. and Hofman, T. and Schölkopf, B. and Smola, A. and Taskar, B. (Eds),

Predicting Structured Data, MIT Press, 2006

  • Shrager, MH Johnson., "Plasticidad dinámico influye en la aparición de la función en una matriz cortical simple," Redes Neuronales , 9 (7), pp. 1119-1129, 1996
  • T. Sainath et al., "Convolutional neural networks for LVCSR," ICASSP, 2013.

Bibliografia[modifica | modifica el codi]

Enllaços externs[modifica | modifica el codi]