Redes Neuronales

Una red neuronal consta de un conjunto de neuronas artificiales conectadas de una manera concreta y están organizadas en grupos llamados capas, las cuales a su vez están interconectadas secuencialmente. Cada neurona artificial procesa la información recibida y luego emite un resultado que es transformado por medio de una función de activación generando una salida. Durante la fase de entrenamiento de la red neuronal, los parámetros que afectan a la entrada de cada neurona son reajustados con el propósito de adaptar la red a una tarea concreta y lograr mejores predicciones.

Redes Neuronales Convolucionales

Una red neuronal convolucional (CNN o ConvNet) es un tipo de red neuronal artificial (ANN) que consta de múltiples capas. Esta red especialmente diseñada para el reconocimiento y clasificación de imágenes. En las CNN, las primeras capas aprenderán características simples y luego se van especializando hasta llegar a capas más profundas que reconocen rasgos más complejos de las imágenes.

Estructura de las redes neuronales convolucionales

En general, estas redes están estructuradas por tres tipos de capas.

  • Capa convolucional
  • Capa de agrupación (Pooling)
  • Capa clasificadora totalmente conectada

Figura 1. Esquema general de una CNN

Funcion de activacion ReLU

La capa de activación ReLU (Rectified Linear Units) sustituye todos los valores negativos recibidos en la entrada por ceros.

\[ f(u) = max(0,u) \]

Figura 2. Función de activación ReLU

Capa convolucional

La operación convolucional correlaciona de forma cruzada la entrada (imagen) y el filtro (Kernel), luego agrega un sesgo escalar (bias) para producir una salida, mapa de características. La Figura 3 esquematiza la operación de convolución.

Figura 3. Operación de convolución

El siguiente video muestra la operación de convolución sobre imagenes RGB.


Capa de agrupación (Pooling)

La capa pooling se utiliza para la disminución de las dimensiones espaciales (ancho y alto) de los datos de entrada para la siguiente capa convolucional. No obstante, no afecta a la dimensión de profundidad del volumen (número de canales de una imagen). Esta operación trae consigo una pérdida de información. Sin embargo, una merma de este tipo puede ser beneficioso para la red, ya que disminuye el cálculo para las próximas capas y también se reduce el sobreajuste (overfitting) de la red. La Figura 4 muestra la operación de agrupación máxima (Max Pooling).

Figura 4. Operación de Max pooling

El siguiente video muestra la operación de Max pooling.


Capa clasificadora totalmente conectada

Las capas completamente conectadas se usan para calcular los puntajes de las clases que usaremos como salida de la red. Las dimensiones del volumen de salida son 1x1xN, donde N es el número de clases de salida que estamos evaluando. Esta capa tiene una conexión entre todas sus neuronas y con cada neurona de la capa anterior.


Ejemplos y procedimientos

Ejemplo de codigo en MATLAB para definir la arquitectura de la red neuronal convolucional utilizando Deep Learning Toolbox 1.

layers = [
    imageInputLayer([28 28 1])
    
    convolution2dLayer(3,8,'Padding','same')
    batchNormalizationLayer
    reluLayer
    
    maxPooling2dLayer(2,'Stride',2)
    
    convolution2dLayer(3,16,'Padding','same')
    batchNormalizationLayer
    reluLayer
    
    maxPooling2dLayer(2,'Stride',2)
    
    convolution2dLayer(3,32,'Padding','same')
    batchNormalizationLayer
    reluLayer
    
    fullyConnectedLayer(10)
    softmaxLayer
    classificationLayer];

Ademas se presentan los siguientes ejemeplos donde se utilizo las CNN

Clasificación de imágenes en categorías con deep learning

Entrenamiento de una red neuronal profunda para la clasificación de dígitos


Deep-learning will transform every single industry. Healthcare and transportation will be transformed by deep-learning. I want to live in an AI-powered society. When anyone goes to see a doctor, I want AI to help that doctor provide higher quality and lower cost medical service. I want every five-year-old to have a personalised tutor.

Andrew Ng


  1. Deep Learning Toolbox proporciona un marco para diseñar e implementar redes neuronales profundas con algoritmos, modelos previamente entrenados y aplicaciones.↩︎

LS0tDQp0aXRsZTogIkFwcmVuZGl6YWplIFByb2Z1bmRvIg0Kc3VidGl0bGU6ICJSZWRlcyBOZXVyb25hbGVzIENvbnZvbHVjaW9uYWxlcyBDTk4iDQphdXRob3I6ICJEaWVnbyBBcm1hbmRvIFNvdGlsIENjYW1hIg0KZGF0ZTogIjIwMjIvMDQvMjgiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgY29kZV9kb3dubG9hZDogVFJVRQ0KLS0tDQoNCg0KIyBSZWRlcyBOZXVyb25hbGVzDQpVbmEgcmVkIG5ldXJvbmFsIGNvbnN0YSBkZSB1biBjb25qdW50byBkZSAqKipuZXVyb25hcyBhcnRpZmljaWFsZXMqKiogY29uZWN0YWRhcyBkZSB1bmEgbWFuZXJhIGNvbmNyZXRhIHkgZXN0w6FuIG9yZ2FuaXphZGFzIGVuIGdydXBvcyBsbGFtYWRvcyBjYXBhcywgbGFzIGN1YWxlcyBhIHN1IHZleiBlc3TDoW4gaW50ZXJjb25lY3RhZGFzIHNlY3VlbmNpYWxtZW50ZS4gQ2FkYSBuZXVyb25hIGFydGlmaWNpYWwgcHJvY2VzYSBsYSBpbmZvcm1hY2nDs24gcmVjaWJpZGEgeSBsdWVnbyBlbWl0ZSB1biByZXN1bHRhZG8gcXVlIGVzIHRyYW5zZm9ybWFkbyBwb3IgbWVkaW8gZGUgdW5hICoqKmZ1bmNpw7NuIGRlIGFjdGl2YWNpw7NuKioqIGdlbmVyYW5kbyB1bmEgc2FsaWRhLiBEdXJhbnRlIGxhIGZhc2UgZGUgZW50cmVuYW1pZW50byBkZSBsYSByZWQgbmV1cm9uYWwsIGxvcyAqKipwYXLDoW1ldHJvcyoqKiBxdWUgYWZlY3RhbiBhIGxhIGVudHJhZGEgZGUgY2FkYSBuZXVyb25hIHNvbiByZWFqdXN0YWRvcyBjb24gZWwgcHJvcMOzc2l0byBkZSBhZGFwdGFyIGxhIHJlZCBhIHVuYSB0YXJlYSBjb25jcmV0YSB5IGxvZ3JhciBtZWpvcmVzIHByZWRpY2Npb25lcy4NCg0KDQojIyBSZWRlcyBOZXVyb25hbGVzIENvbnZvbHVjaW9uYWxlcw0KVW5hIHJlZCBuZXVyb25hbCBjb252b2x1Y2lvbmFsIChDTk4gbyBDb252TmV0KSBlcyB1biB0aXBvIGRlIHJlZCBuZXVyb25hbCBhcnRpZmljaWFsIChBTk4pIHF1ZSBjb25zdGEgZGUgbcO6bHRpcGxlcyBjYXBhcy4gRXN0YSByZWQgZXNwZWNpYWxtZW50ZSBkaXNlw7FhZGEgcGFyYSBlbCByZWNvbm9jaW1pZW50byB5IGNsYXNpZmljYWNpw7NuIGRlIGltw6FnZW5lcy4gRW4gbGFzIENOTiwgbGFzIHByaW1lcmFzIGNhcGFzIGFwcmVuZGVyw6FuIGNhcmFjdGVyw61zdGljYXMgc2ltcGxlcyB5IGx1ZWdvIHNlIHZhbiBlc3BlY2lhbGl6YW5kbyBoYXN0YSBsbGVnYXIgYSBjYXBhcyBtw6FzIHByb2Z1bmRhcyBxdWUgcmVjb25vY2VuIHJhc2dvcyBtw6FzIGNvbXBsZWpvcyBkZSBsYXMgaW3DoWdlbmVzLiANCg0KRXN0cnVjdHVyYSBkZSBsYXMgcmVkZXMgbmV1cm9uYWxlcyBjb252b2x1Y2lvbmFsZXMNCg0KRW4gZ2VuZXJhbCwgZXN0YXMgcmVkZXMgZXN0w6FuIGVzdHJ1Y3R1cmFkYXMgcG9yIHRyZXMgdGlwb3MgZGUgY2FwYXMuDQoNCi0gQ2FwYSBjb252b2x1Y2lvbmFsDQotIENhcGEgZGUgYWdydXBhY2nDs24gKFBvb2xpbmcpDQotIENhcGEgY2xhc2lmaWNhZG9yYSB0b3RhbG1lbnRlIGNvbmVjdGFkYQ0KDQo8Y2VudGVyPg0KIVtdKEVzcXVlbWEgZ2VuZXJsYSBDQ04ucG5nKXt3aWR0aD02MDB9DQoNCioqRmlndXJhIDEqKi4gRXNxdWVtYSBnZW5lcmFsIGRlIHVuYSBDTk4NCjwvY2VudGVyPg0KDQoNCiMjIyMgRnVuY2lvbiBkZSBhY3RpdmFjaW9uIFJlTFUNCg0KTGEgY2FwYSBkZSBhY3RpdmFjacOzbiAqKlJlTFUqKiAoKlJlY3RpZmllZCBMaW5lYXIgVW5pdHMqKSBzdXN0aXR1eWUgdG9kb3MgbG9zIHZhbG9yZXMgbmVnYXRpdm9zIHJlY2liaWRvcyBlbiBsYSBlbnRyYWRhIHBvciBjZXJvcy4NCg0KJCQNCmYodSkgPSBtYXgoMCx1KQ0KJCQNCg0KPGNlbnRlcj4NCiFbXShSZUxVLnBuZyl7d2lkdGg9MzAwfQ0KDQoqKkZpZ3VyYSAyKiouIEZ1bmNpw7NuIGRlIGFjdGl2YWNpw7NuIFJlTFUNCjwvY2VudGVyPg0KDQoqKioNCg0KIyMjIENhcGEgY29udm9sdWNpb25hbA0KDQpMYSBvcGVyYWNpw7NuIGNvbnZvbHVjaW9uYWwgY29ycmVsYWNpb25hIGRlIGZvcm1hIGNydXphZGEgbGEgKmVudHJhZGEqIChpbWFnZW4pIHkgZWwgKmZpbHRybyogKCoqKktlcm5lbCoqKiksIGx1ZWdvIGFncmVnYSB1biBzZXNnbyBlc2NhbGFyICgqKipiaWFzKioqKSBwYXJhIHByb2R1Y2lyIHVuYSBzYWxpZGEsICptYXBhIGRlIGNhcmFjdGVyw61zdGljYXMqLiBMYSBGaWd1cmEgMyBlc3F1ZW1hdGl6YSBsYSBvcGVyYWNpw7NuIGRlIGNvbnZvbHVjacOzbi4NCg0KPGNlbnRlcj4NCg0KIVtdKENvbnZvbHVjaW9uLnBuZyl7d2lkdGg9NjAwfQ0KDQoqKkZpZ3VyYSAzKiouIE9wZXJhY2nDs24gZGUgY29udm9sdWNpw7NuDQoNCjwvY2VudGVyPg0KDQoNCkVsIHNpZ3VpZW50ZSB2aWRlbyBtdWVzdHJhIGxhIG9wZXJhY2nDs24gZGUgY29udm9sdWNpw7NuIHNvYnJlIGltYWdlbmVzIFJHQi4NCg0KPGNlbnRlcj4NCg0KPGlmcmFtZSB3aWR0aD0iNTYwIiBoZWlnaHQ9IjMxNSIgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9LVEJfT0ZvQVFjYyIgZnJhbWVib3JkZXI9IjAiIGFsbG93ZnVsbHNjcmVlbiBkYXRhLWV4dGVybmFsPTE+PC9pZnJhbWU+DQoNCjwvY2VudGVyPg0KDQoqKioNCg0KIyMjIENhcGEgZGUgYWdydXBhY2nDs24gKCpQb29saW5nKikNCg0KTGEgY2FwYSAqcG9vbGluZyogc2UgdXRpbGl6YSBwYXJhIGxhIGRpc21pbnVjacOzbiBkZSBsYXMgZGltZW5zaW9uZXMgZXNwYWNpYWxlcyAoYW5jaG8geSBhbHRvKSBkZSBsb3MgZGF0b3MgZGUgZW50cmFkYSBwYXJhIGxhIHNpZ3VpZW50ZSBjYXBhIGNvbnZvbHVjaW9uYWwuIE5vIG9ic3RhbnRlLCBubyBhZmVjdGEgYSBsYSBkaW1lbnNpw7NuIGRlIHByb2Z1bmRpZGFkIGRlbCB2b2x1bWVuIChuw7ptZXJvIGRlIGNhbmFsZXMgZGUgdW5hIGltYWdlbikuIEVzdGEgb3BlcmFjacOzbiB0cmFlIGNvbnNpZ28gdW5hIHDDqXJkaWRhIGRlIGluZm9ybWFjacOzbi4gU2luIGVtYmFyZ28sIHVuYSBtZXJtYSBkZSBlc3RlIHRpcG8gcHVlZGUgc2VyIGJlbmVmaWNpb3NvIHBhcmEgbGEgcmVkLCB5YSBxdWUgZGlzbWludXllIGVsIGPDoWxjdWxvIHBhcmEgbGFzIHByw7N4aW1hcyBjYXBhcyB5IHRhbWJpw6luIHNlIHJlZHVjZSBlbCBzb2JyZWFqdXN0ZSAoKm92ZXJmaXR0aW5nKikgZGUgbGEgcmVkLiBMYSBGaWd1cmEgNCBtdWVzdHJhIGxhIG9wZXJhY2nDs24gZGUgYWdydXBhY2nDs24gbcOheGltYSAoKk1heCBQb29saW5nKikuDQoNCjxjZW50ZXI+DQoNCiFbXShNYXggcG9vbGluZy5wbmcpe3dpZHRoPTQwMH0NCg0KKipGaWd1cmEgNCoqLiBPcGVyYWNpw7NuIGRlIE1heCBwb29saW5nDQoNCjwvY2VudGVyPg0KDQpFbCBzaWd1aWVudGUgdmlkZW8gbXVlc3RyYSBsYSBvcGVyYWNpw7NuIGRlIE1heCBwb29saW5nLg0KDQo8Y2VudGVyPg0KDQo8aWZyYW1lIHdpZHRoPSI1NjAiIGhlaWdodD0iMzE1IiBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLzhvT2dQVU8tVEJZIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3dmdWxsc2NyZWVuIGRhdGEtZXh0ZXJuYWw9MT48L2lmcmFtZT4NCg0KPC9jZW50ZXI+DQoNCioqKg0KDQojIyMgQ2FwYSBjbGFzaWZpY2Fkb3JhIHRvdGFsbWVudGUgY29uZWN0YWRhDQoNCkxhcyBjYXBhcyBjb21wbGV0YW1lbnRlIGNvbmVjdGFkYXMgc2UgdXNhbiBwYXJhIGNhbGN1bGFyIGxvcyBwdW50YWplcyBkZSBsYXMgY2xhc2VzIHF1ZSB1c2FyZW1vcyBjb21vIHNhbGlkYSBkZSBsYSByZWQuIExhcyBkaW1lbnNpb25lcyBkZWwgdm9sdW1lbiBkZSBzYWxpZGEgc29uICoxeDF4TiosIGRvbmRlICpOKiBlcyBlbCBuw7ptZXJvIGRlIGNsYXNlcyBkZSBzYWxpZGEgcXVlIGVzdGFtb3MgZXZhbHVhbmRvLiBFc3RhIGNhcGEgdGllbmUgdW5hIGNvbmV4acOzbiBlbnRyZSB0b2RhcyBzdXMgbmV1cm9uYXMgeSBjb24gY2FkYSBuZXVyb25hIGRlIGxhIGNhcGEgYW50ZXJpb3IuDQoNCioqKg0KDQoNCiMjIEVqZW1wbG9zIHkgcHJvY2VkaW1pZW50b3MNCg0KDQpFamVtcGxvIGRlIGNvZGlnbyBlbiAqKk1BVExBQioqIHBhcmEgZGVmaW5pciBsYSBhcnF1aXRlY3R1cmEgZGUgbGEgcmVkIG5ldXJvbmFsIGNvbnZvbHVjaW9uYWwgdXRpbGl6YW5kbyAqKkRlZXAgTGVhcm5pbmcgVG9vbGJveCoqIFtecGllX2RlX3BhZ2luYTFdLg0KDQoNCmBgYA0KbGF5ZXJzID0gWw0KICAgIGltYWdlSW5wdXRMYXllcihbMjggMjggMV0pDQogICAgDQogICAgY29udm9sdXRpb24yZExheWVyKDMsOCwnUGFkZGluZycsJ3NhbWUnKQ0KICAgIGJhdGNoTm9ybWFsaXphdGlvbkxheWVyDQogICAgcmVsdUxheWVyDQogICAgDQogICAgbWF4UG9vbGluZzJkTGF5ZXIoMiwnU3RyaWRlJywyKQ0KICAgIA0KICAgIGNvbnZvbHV0aW9uMmRMYXllcigzLDE2LCdQYWRkaW5nJywnc2FtZScpDQogICAgYmF0Y2hOb3JtYWxpemF0aW9uTGF5ZXINCiAgICByZWx1TGF5ZXINCiAgICANCiAgICBtYXhQb29saW5nMmRMYXllcigyLCdTdHJpZGUnLDIpDQogICAgDQogICAgY29udm9sdXRpb24yZExheWVyKDMsMzIsJ1BhZGRpbmcnLCdzYW1lJykNCiAgICBiYXRjaE5vcm1hbGl6YXRpb25MYXllcg0KICAgIHJlbHVMYXllcg0KICAgIA0KICAgIGZ1bGx5Q29ubmVjdGVkTGF5ZXIoMTApDQogICAgc29mdG1heExheWVyDQogICAgY2xhc3NpZmljYXRpb25MYXllcl07DQoNCmBgYA0KQWRlbWFzIHNlIHByZXNlbnRhbiBsb3Mgc2lndWllbnRlcyBlamVtZXBsb3MgZG9uZGUgc2UgdXRpbGl6byBsYXMgQ05ODQoNCltDbGFzaWZpY2FjacOzbiBkZSBpbcOhZ2VuZXMgZW4gY2F0ZWdvcsOtYXMgY29uIGRlZXAgbGVhcm5pbmddKGh0dHBzOi8vbGEubWF0aHdvcmtzLmNvbS9kaXNjb3ZlcnkvY29udm9sdXRpb25hbC1uZXVyYWwtbmV0d29yay1tYXRsYWIuaHRtbCAiQ2xpY2sgYXF1aSIpe3RhcmdldD1fYmxhbmt9DQoNCltFbnRyZW5hbWllbnRvIGRlIHVuYSByZWQgbmV1cm9uYWwgcHJvZnVuZGEgcGFyYSBsYSBjbGFzaWZpY2FjacOzbiBkZSBkw61naXRvc10oaHR0cHM6Ly9sYS5tYXRod29ya3MuY29tL2hlbHAvZGVlcGxlYXJuaW5nL3VnL2NyZWF0ZS1zaW1wbGUtZGVlcC1sZWFybmluZy1uZXR3b3JrLWZvci1jbGFzc2lmaWNhdGlvbi5odG1sICJDbGljayBhcXVpIil7dGFyZ2V0PV9ibGFua30NCg0KKioqDQoNCj5EZWVwLWxlYXJuaW5nIHdpbGwgdHJhbnNmb3JtIGV2ZXJ5IHNpbmdsZSBpbmR1c3RyeS4gSGVhbHRoY2FyZSBhbmQgdHJhbnNwb3J0YXRpb24gd2lsbCBiZSB0cmFuc2Zvcm1lZCBieSBkZWVwLWxlYXJuaW5nLiBJIHdhbnQgdG8gbGl2ZSBpbiBhbiBBSS1wb3dlcmVkIHNvY2lldHkuIFdoZW4gYW55b25lIGdvZXMgdG8gc2VlIGEgZG9jdG9yLCBJIHdhbnQgQUkgdG8gaGVscCB0aGF0IGRvY3RvciBwcm92aWRlIGhpZ2hlciBxdWFsaXR5IGFuZCBsb3dlciBjb3N0IG1lZGljYWwgc2VydmljZS4gSSB3YW50IGV2ZXJ5IGZpdmUteWVhci1vbGQgdG8gaGF2ZSBhIHBlcnNvbmFsaXNlZCB0dXRvci4NCj4NCj4qKkFuZHJldyBOZyoqDQoNCg0KDQojIyBCaWJsaW9ncmFmw61hDQoNCjxodHRwczovL3d3dy5tYXRod29ya3MuY29tL2Rpc2NvdmVyeS9jb252b2x1dGlvbmFsLW5ldXJhbC1uZXR3b3JrLW1hdGxhYi5odG1sPnt0YXJnZXQ9X2JsYW5rfQ0KDQo8aHR0cHM6Ly9kYXRhc2NpZW50ZXN0LmNvbS9lcy9jb252b2x1dGlvbmFsLW5ldXJhbC1uZXR3b3JrLWVzLz57dGFyZ2V0PV9ibGFua30NCg0KDQoNCg0KW15waWVfZGVfcGFnaW5hMV06ICoqRGVlcCBMZWFybmluZyBUb29sYm94IHByb3BvcmNpb25hIHVuIG1hcmNvIHBhcmEgZGlzZcOxYXIgZSBpbXBsZW1lbnRhciByZWRlcyBuZXVyb25hbGVzIHByb2Z1bmRhcyBjb24gYWxnb3JpdG1vcywgbW9kZWxvcyBwcmV2aWFtZW50ZSBlbnRyZW5hZG9zIHkgYXBsaWNhY2lvbmVzLioqDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg==