Introducció

Les xarxes neuronals artificials (ANNs) i el deep learning són tècniques fonamentals en l'aprenentatge automàtic. Aquestes tècniques s'inspiren en la manera en què el cervell humà processa la informació i són capaces d'aprendre i generalitzar a partir de grans quantitats de dades.

Objectius del Tema

  • Comprendre els conceptes bàsics de les xarxes neuronals.
  • Aprendre sobre les arquitectures de xarxes neuronals profundes.
  • Implementar una xarxa neuronal simple utilitzant una biblioteca de deep learning.
  • Conèixer les aplicacions pràctiques del deep learning.

Conceptes Bàsics de les Xarxes Neuronals

Neurona Artificial

Una neurona artificial és la unitat bàsica d'una xarxa neuronal. Es compon de:

  • Entrades (x1, x2, ..., xn): Valors d'entrada.
  • Peses (w1, w2, ..., wn): Coeficients que ponderen les entrades.
  • Funció d'Activació (f): Funció que transforma la suma ponderada de les entrades.
  • Sortida (y): Resultat de la funció d'activació.

Fórmula de la Neurona

\[ y = f\left(\sum_{i=1}^{n} w_i x_i + b\right) \] On \( b \) és el biaix (bias).

Funcions d'Activació

Les funcions d'activació introdueixen no linealitat en el model. Algunes de les més comunes són:

  • Sigmoide: \( f(x) = \frac{1}{1 + e^{-x}} \)
  • ReLU (Rectified Linear Unit): \( f(x) = \max(0, x) \)
  • Tanh: \( f(x) = \tanh(x) \)

Arquitectura de Xarxes Neuronals

Les xarxes neuronals es poden classificar segons la seva arquitectura:

  • Perceptró Multicapa (MLP): Xarxa amb capes d'entrada, ocultes i de sortida.
  • Xarxes Convolucionals (CNN): Utilitzades principalment per a processament d'imatges.
  • Xarxes Recurrentes (RNN): Adequades per a dades seqüencials com text o sèries temporals.

Xarxes Neuronals Profundes (Deep Learning)

Definició

El deep learning fa referència a xarxes neuronals amb múltiples capes ocultes, permetent la modelització de relacions complexes en les dades.

Arquitectures Comunes

  • CNN (Convolutional Neural Networks): Per a tasques de visió per computador.
  • RNN (Recurrent Neural Networks): Per a tasques de processament de seqüències.
  • GAN (Generative Adversarial Networks): Per a generació de dades sintètiques.

Implementació d'una Xarxa Neuronal Simple

Llibreria: TensorFlow/Keras

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

# Definir el model
model = Sequential([
    Dense(64, activation='relu', input_shape=(input_dim,)),
    Dense(64, activation='relu'),
    Dense(1, activation='sigmoid')
])

# Compilar el model
model.compile(optimizer='adam',
              loss='binary_crossentropy',
              metrics=['accuracy'])

# Entrenar el model
model.fit(X_train, y_train, epochs=10, batch_size=32, validation_split=0.2)

Explicació del Codi

  1. Importació de Llibreries: Importem TensorFlow i Keras.
  2. Definició del Model: Utilitzem Sequential per crear una xarxa amb capes seqüencials.
  3. Capas:
    • Dense(64, activation='relu', input_shape=(input_dim,)): Capa densa amb 64 neurones i funció d'activació ReLU.
    • Dense(1, activation='sigmoid'): Capa de sortida amb una neurona i funció d'activació sigmoide.
  4. Compilació: Especificar l'optimitzador, la funció de pèrdua i les mètriques.
  5. Entrenament: Entrenem el model amb les dades d'entrenament.

Aplicacions Pràctiques del Deep Learning

  • Visió per Computador: Reconeixement d'imatges, detecció d'objectes.
  • Processament del Llenguatge Natural (NLP): Traducció automàtica, anàlisi de sentiments.
  • Vehicles Autònoms: Navegació i detecció d'obstacles.
  • Salut: Diagnòstic d'imatges mèdiques, predicció de malalties.

Exercicis Pràctics

Exercici 1: Implementar una Xarxa Neuronal per Classificació de Dígits

Utilitza el conjunt de dades MNIST per entrenar una xarxa neuronal que classifiqui dígits manuscrits.

Pasos:

  1. Carrega el conjunt de dades MNIST.
  2. Preprocessa les dades (normalització).
  3. Defineix i entrena una xarxa neuronal.
  4. Avalua el model.

Exercici 2: Crear una CNN per Classificació d'Imatges

Utilitza el conjunt de dades CIFAR-10 per entrenar una xarxa convolucional que classifiqui imatges en 10 categories.

Pasos:

  1. Carrega el conjunt de dades CIFAR-10.
  2. Preprocessa les dades (normalització i augmentació).
  3. Defineix i entrena una CNN.
  4. Avalua el model.

Resum

En aquest tema, hem explorat els conceptes bàsics de les xarxes neuronals i el deep learning. Hem après sobre les arquitectures de xarxes neuronals profundes i hem implementat una xarxa neuronal simple utilitzant TensorFlow/Keras. Finalment, hem vist algunes aplicacions pràctiques del deep learning i hem proposat exercicis pràctics per reforçar els conceptes apresos.

Preparació per al Següent Tema

En el següent tema, explorarem els Algoritmes de Clustering, una tècnica d'aprenentatge no supervisat per agrupar dades similars.

© Copyright 2024. Tots els drets reservats