Estrategias de Etiquetado y Codificación One-Hot para el Reconocimiento de Modulaciones en RML2018

Análisis Estructural del Conjunto de Datos RML2018

En el ámbito del aprendizaje automático aplicado a las radiofrecuencias, la arquitectura de las etiquetas condiciona directamente la capacidad de generalización de los modelos. El dataset RML2018.01a se ha consolidado como un estándar en la investigación de señales de RF. Su configuración tridimensional abarca 2,555,904 instancias, donde cada una contiene 1024 muestras temporales con componentes en fase (I) y en cuadratura (Q), resultando en un tensor de dimensiones (2555904, 1024, 2).

Las características fundamentales de esta colección incluyen:

  • 24 esquemas de modulación: Abarca desde esquemas básicos como OOK hasta modulaciones de alta densidad como 256QAM.
  • 26 niveles de relación señal-ruido (SNR): Distribuidos entre -20dB y 30dB con incrementos de 2dB, replicando condiciones de canal realistas.
  • Distribución uniforme: Se garantizan exactamente 4096 ejemplares por cada combinación de modulación y SNR.

El sistema de etiquetado se organiza en tres componentes matriciales:

  1. Matriz X: Datos brutos de la señal con forma (2555904×1024×2).
  2. Matriz Y: Identificadores de modulación (2555904×24) representados mediante vectores one-hot.
  3. Matriz Z: Valores continuos de SNR (2555904×1).

Justificación de la Codificación One-Hot en RF

La transformación de variables categóricas a representaciones binarias unarias (One-Hot) facilita la interpretación por parte de los algoritmos de optimización. Para las 24 clases de modulación, se genera un vector de 24 dimensiones donde únicamnete la posición corresopndiente a la clase verdadera toma el valor de 1.

Método de Codificación Ventajas Desventajas Caso de Uso Ideal
One-Hot Elimina jerarquías numéricas artificiales Incrementa la dimensionalidad Categorías sin orden inherente
Entera (Label Encoding) Eficiencia en memoria Introduce relaciones ordinales falsas Variables ordinales
Embeddings Compresión dimensional Requiere entrenamiento previo Espacios de alta cardinalidad

En el contexto de la clasificación de modulaciones, este enfoque ofrece beneficios críticos:

  • Independencia ordinal: Esquemas como BPSK y QPSK no poseen una relación de magnitud; asignarles enteros consecutivos induciría a error a la red neuronal.
  • Sinergia con Softmax: La salida de la red se alinea perfectamente con la función de activación final para generar distribuciones de probabilidad.
  • Estabilidad en el descenso de gradiente: Se previenen desequilibrios en la magnitud de las actualizaciones de los pesos.

A continuación, se muestra una implementación alternativa para generar estas representaciones:

import numpy as np

# Mapeo de esquemas de modulación a índices
esquemas_rf = ['OOK', '4ASK', '8ASK', 'BPSK', 'QPSK', '8PSK', '16PSK']
lookup_dict = {scheme: idx for idx, scheme in enumerate(esquemas_rf)}

def generar_vector_binario(etiqueta_texto, total_clases):
    """Convierte una etiqueta de texto en su representación one-hot."""
    vector = np.zeros(total_clases, dtype=np.float32)
    idx = lookup_dict.get(etiqueta_texto, -1)
    if idx != -1:
        vector[idx] = 1.0
    return vector

Impacto del Etiquetado en la Precisión del Modelo

La configuración de las etiquetas debe reflejar la complejidad intrínseca de los datos. En señales de radio, la dificultad de clasificación está intrínsecamente ligada al nivel de ruido:

  • Entornos hostiles (-20dB a 0dB): La energía del ruido domina, ocultando las firmas espectrales.
  • Transición (0dB a 10dB): Emergen patrones parciales, pero persisten ambigüedades entre familias de modulación.
  • Canales limpios (>10dB): Las características de la constelación son evidentes, facilitando la convergencia.

El análisis de las matrices de confusión revela pares de clases que comparten similitudes geométricas en el plano complejo:

Conflictos frecuentes:
- BPSK vs QPSK (similitud en proyecciones de fase)
- 8PSK vs 16PSK (densidad angular comparable)
- 16QAM vs 32QAM (superposición de amplitudes)

Para mitigar estos errores, se pueden aplicar las siguientes arquitecturas de etiquetado:

  1. Jerarquías de clases: Entrenar primero un clasificador de familias (ej. PSK vs QAM) y luego sub-clasificadores específicos.
  2. Espacios métricos: Forzar a la red a aprender representaciones latentes donde las clases confundibles mantengan distancias controladas.
  3. Curriculum Learning: Iniciar el entrenamiento con muestras de alto SNR y degradar progresivamente la calidad de la señal.

Técnicas de Optimización de Etiquetas en la Práctica

La experiencia empírica con RML2018 sugiere ajustes específicos para maximizar el rendimiento:

Reducción del espacio de clases
Eliminar modulaciones con tasas de error intrínsecamente altas o redundantes puede mejorar la métrica global. Un subconjunto optimizado podría definirse así:

# Subconjunto de modulaciones de alta relevancia
clases_filtradas = {
    'OOK', '4ASK', '8ASK', 'BPSK', 'QPSK', '8PSK', '32PSK',
    '16APSK', '32APSK', '64APSK', '16QAM', 'AM-SSB-WC', 
    'AM-DSB-WC', 'AM-DSB-SC', 'FM', 'GMSK', 'OQPSK'
}
# Filtrado del dataset basado en intersección de conjuntos
dataset_optimizado = [m for m in dataset_original if m['label'] in clases_filtradas]

Gestión de la Relación Señal-Ruido

  • Investigación: Mantener el espectro completo para evaluar la robustez extrema.
  • Despliegue: Acotar el rango a valores operativos (ej. 2dB a 30dB).

Corrección de desequilibrios
Cualquier técnica de remuestreo (SMOTE, undersampling aleatorio o data augmentation en el dominio de la frecuencia) debe aplicarse estrictamente sobre la partición de entrenamiento, preservando la distribución original en el conjunto de validación.

Evolución de las Representaciones de Salida

Más allá de los vectores binarios rígidos, la investigación actual incorpora regularizaciones y arquitecturas avanzadas:

Suavizado de Etiquetas (Label Smoothing)
Reemplazar los objetivos deterministas (1.0) por distribuciones de probabilidad suavizadas previene el sobreajuste y mejora la calibración de la red:

def aplicar_suavizado(matriz_y, epsilon=0.1):
    """Distribuye la probabilidad restante entre las clases incorrectas."""
    num_categorias = matriz_y.shape[1]
    matriz_suavizada = matriz_y * (1.0 - epsilon) + (epsilon / num_categorias)
    return matriz_suavizada

Funciones de Pérdida por Contraste
En lugar de optimizar únicamente la entropía cruzada, se penaliza la distancia entre representaciones de la misma clase:

import tensorflow.keras.backend as K

def perdida_contrastiva_personalizada(y_real, y_predicha, umbral=1.5):
    """Calcula la pérdida contrastiva con un margen ajustable."""
    distancias_cuadraticas = K.square(y_predicha)
    margenes_activos = K.square(K.maximum(umbral - y_predicha, 0.0))
    costo = y_real * distancias_cuadraticas + (1.0 - y_real) * margenes_activos
    return K.mean(costo)

Predicción Conjunta (Multitarea)
Estimar simultáneamente la modulación y el nivel de ruido permite que las capas convolucionales extraigan características compartidas, actuando como un regularizador implícito:

from tensorflow.keras.layers import Input, Conv1D, Flatten, Dense
from tensorflow.keras.models import Model

# Definición de la topología de doble salida
sensores_iq = Input(shape=(1024, 2), name='entrada_rf')
capa_oculta = Conv1D(128, kernel_size=5, activation='elu')(sensores_iq)
vector_plano = Flatten()(capa_oculta)

# Ramas de predicción
probabilidades_mod = Dense(24, activation='softmax', name='clasificador_mod')(vector_plano)
estimacion_snr = Dense(1, activation='linear', name='regresor_snr')(vector_plano)

red_hibrida = Model(inputs=sensores_iq, outputs=[probabilidades_mod, estimacion_snr])

La integración de objetivos auxiliares, como la regresión de SNR, ha demostrado incrementos de hasta un 5% en la exactitud global, especialmente en los regímenes de baja relación señal-ruido, consolidando el diseño multidimensional de etiquetas como un pilar en el procesamiento moderno de señales.

Etiquetas: RML2018 One-Hot Encoding Modulation Recognition Signal Processing Label Smoothing

Publicado el 10-2 11:35