Introducció
Deep Learning és un subcamp del machine learning que se centra en l'ús de xarxes neuronals profundes per modelar i resoldre problemes complexos. Aquestes xarxes neuronals són inspirades pel funcionament del cervell humà i són capaces d'aprendre representacions jeràrquiques de dades, permetent així la resolució de tasques com el reconeixement d'imatges, el processament del llenguatge natural, la detecció de fraus, entre altres.
Conceptes Clau
Xarxes Neuronals Profundes
- Neuronals: Unitats bàsiques de càlcul que processen dades d'entrada i produeixen una sortida.
- Capes: Les xarxes neuronals estan compostes per múltiples capes de neurones. Les capes poden ser:
- Capa d'entrada: Rep les dades d'entrada.
- Capes ocultes: Processen les dades a través de múltiples nivells d'abstracció.
- Capa de sortida: Produeix el resultat final.
- Profunditat: Es refereix al nombre de capes ocultes en la xarxa. Les xarxes profundes tenen moltes capes ocultes, permetent una major capacitat d'aprenentatge.
Aprenentatge Supervisat i No Supervisat
- Supervisat: La xarxa neuronal aprèn a partir de dades etiquetades, on cada entrada té una sortida desitjada associada.
- No Supervisat: La xarxa aprèn a partir de dades no etiquetades, descobrint estructures ocultes en les dades.
Funció d'Activació
- Les funcions d'activació introdueixen no linealitats en la xarxa, permetent que aprengui relacions complexes entre les dades d'entrada i sortida.
- Exemples comuns inclouen ReLU (Rectified Linear Unit), Sigmoid i Tanh.
Propagació cap Endavant i cap Endarrere
- Propagació cap Endavant: El procés de passar les dades d'entrada a través de la xarxa per obtenir una sortida.
- Propagació cap Endarrere: El procés d'ajustar els pesos de la xarxa per minimitzar l'error entre la sortida predita i la sortida desitjada.
Exemples Pràctics
Reconeixement d'Imatges
- Les xarxes neuronals convolucionals (CNN) són utilitzades per identificar objectes en imatges.
- Exemple: Classificació d'imatges de gats i gossos.
Processament del Llenguatge Natural (PLN)
- Les xarxes neuronals recurrents (RNN) són utilitzades per tasques com la traducció automàtica i la generació de text.
- Exemple: Traducció de textos d'anglès a espanyol.
Detecció de Fraus
- Les xarxes neuronals poden analitzar grans volums de transaccions financeres per identificar patrons sospitosos.
- Exemple: Detecció de transaccions fraudulentes en temps real.
Exercici Pràctic
Exercici 1: Identificació de Funcions d'Activació
Instruccions:
- Llegeix les següents funcions d'activació i identifica quin tipus són (ReLU, Sigmoid, Tanh).
- Explica breument com cada funció d'activació afecta la sortida d'una neurona.
import numpy as np # Funció d'Activació 1 def activation_1(x): return np.maximum(0, x) # Funció d'Activació 2 def activation_2(x): return 1 / (1 + np.exp(-x)) # Funció d'Activació 3 def activation_3(x): return np.tanh(x)
Solució:
- activation_1: ReLU (Rectified Linear Unit)
- La funció ReLU retorna 0 per valors negatius i el mateix valor per valors positius. Això ajuda a introduir no linealitat i permet que la xarxa aprengui relacions complexes.
- activation_2: Sigmoid
- La funció Sigmoid comprimeix els valors d'entrada en un rang entre 0 i 1, fent-la útil per problemes de classificació binària.
- activation_3: Tanh
- La funció Tanh comprimeix els valors d'entrada en un rang entre -1 i 1, centrant les dades al voltant de zero, la qual cosa pot ajudar en la convergència de l'entrenament.
Resum
En aquesta secció, hem introduït el concepte de Deep Learning, destacant les xarxes neuronals profundes i els seus components clau. Hem explorat exemples pràctics d'aplicacions de Deep Learning i hem realitzat un exercici pràctic per identificar diferents funcions d'activació. En el proper tema, explorarem la història i evolució del Deep Learning, proporcionant una visió general de com aquesta tecnologia ha arribat a ser tan influent en l'actualitat.
Curs de Deep Learning
Mòdul 1: Introducció a Deep Learning
- Què és Deep Learning?
- Història i evolució del Deep Learning
- Aplicacions de Deep Learning
- Conceptes bàsics de xarxes neuronals
Mòdul 2: Fonaments de Xarxes Neuronals
- Perceptró i Perceptró Multicapa
- Funció d'activació
- Propagació cap endavant i cap enrere
- Optimització i funció de pèrdua
Mòdul 3: Xarxes Neuronals Convolucionals (CNN)
- Introducció a les CNN
- Capes convolutionals i de pooling
- Arquitectures populars de CNN
- Aplicacions de CNN en reconeixement d'imatges
Mòdul 4: Xarxes Neuronals Recurrentes (RNN)
- Introducció a les RNN
- LSTM i GRU
- Aplicacions de RNN en processament del llenguatge natural
- Seqüències i sèries temporals
Mòdul 5: Tècniques Avançades en Deep Learning
- Xarxes Generatives Adversarials (GAN)
- Autoencoders
- Transfer Learning
- Regularització i tècniques de millora
Mòdul 6: Eines i Frameworks
- Introducció a TensorFlow
- Introducció a PyTorch
- Comparació de frameworks
- Entorns de desenvolupament i recursos addicionals
Mòdul 7: Projectes Pràctics
- Classificació d'imatges amb CNN
- Generació de text amb RNN
- Detecció d'anomalies amb Autoencoders
- Creació d'una GAN per generació d'imatges