?>
La acción addLayer añade una capa a un modelo de Deep Learning. Esta acción forma parte del conjunto de acciones de Deep Learning, que proporciona un superconjunto de herramientas para modelar y puntuar con redes neuronales profundas (DNN), convolucionales (CNN) y recurrentes (RNN). Es fundamental para construir arquitecturas de red capa por capa.
| Parámetro | Descripción |
|---|---|
| layer | Especifica el tipo de capa y los parámetros relacionados para la capa. El valor que especifique para el parámetro 'type' determina los demás parámetros que se aplican. |
| modelTable | Especifica la tabla en memoria que representa el modelo al que se añadirá la capa. |
| name | Especifica un nombre único para la capa. A medida que se añaden capas al modelo, se especifica el nombre de la capa utilizando el parámetro srcLayers. Los nombres de las capas no distinguen entre mayúsculas y minúsculas. |
| nThreads | Especifica el número de hilos a utilizar para la acción. Por defecto, la acción utiliza todos los hilos disponibles. |
| replace | Cuando se establece en True, una capa existente con el mismo nombre es reemplazada por esta nueva capa. |
| sharingWeights | Nombra la capa cuyos pesos serán compartidos con la capa actual. Esto es útil para arquitecturas como las redes siamesas. |
| srcLayers | Especifica los nombres de las capas de origen para esta capa, definiendo las conexiones en el grafo del modelo. |
Antes de añadir capas, primero necesitamos un modelo. El siguiente código utiliza la acción `buildModel` para crear un modelo vacío llamado 'my_model' en la caslib activa. Este modelo servirá como base para los ejemplos de `addLayer`.
1 PROC CAS; 2 DEEPLEARN.buildModel / 3 model={name='my_model', replace=true}; 4 RUN; 5 QUIT;
Este ejemplo muestra cómo añadir una capa de entrada a un modelo de deep learning. La capa de entrada es la primera capa y define las dimensiones de los datos de entrada.
| 1 | PROC CAS; DEEPLEARN.addLayer / model='my_model' layer={type='input', nChannels=3, width=224, height=224, scale=1.0} name='InputLayer'; RUN; QUIT; |
Este ejemplo detalla cómo añadir una capa de convolución que se conecta a una capa de entrada previamente definida ('InputLayer'). Se especifican parámetros clave como el número de filtros, el tamaño del kernel, el paso (stride) y la función de activación.
| 1 | PROC CAS; DEEPLEARN.addLayer / model='my_model' layer={type='convolution', nFilters=64, width=3, height=3, stride=1, act='relu', includeBias=true, init='xavier'} name='Conv1' srcLayers={'InputLayer'}; RUN; QUIT; |
Este ejemplo muestra cómo añadir una capa de agrupación (pooling) de tipo 'MAX' después de una capa convolucional ('Conv1'). Las capas de agrupación se utilizan comúnmente para reducir las dimensiones espaciales de los mapas de características.
| 1 | PROC CAS; DEEPLEARN.addLayer / model='my_model' layer={type='pooling', pool='max', width=2, height=2, stride=2} name='Pool1' srcLayers={'Conv1'}; RUN; QUIT; |
Este ejemplo ilustra cómo añadir una capa totalmente conectada (densa) después de una capa de agrupación ('Pool1'). Estas capas se utilizan típicamente hacia el final de una red para realizar la clasificación.
| 1 | PROC CAS; DEEPLEARN.addLayer / model='my_model' layer={type='fullconnect', n=512, act='relu', dropout=0.5} name='FC1' srcLayers={'Pool1'}; RUN; QUIT; |
Una empresa minorista necesita un modelo de Deep Learning para clasificar automáticamente las imágenes de sus productos (ej. 'camisas', 'pantalones') y así agilizar la gestión d...
Durante la fase de experimentación de un modelo, un científico de datos necesita modificar la arquitectura, por ejemplo, cambiando el número de neuronas en una capa oculta. Este...
Una institución financiera quiere un modelo que verifique si la firma de un cliente es auténtica comparándola con una firma de referencia. Una Red Siamesa es ideal para esto. Es...