¿Qué es la normalización en el aprendizaje automático?

Normalización, invariantes y generalización.

La normalización es un ejemplo de preprocesamiento de datos para eliminar o reducir la carga del aprendizaje automático (ML) para aprender ciertas invariantes , es decir, cosas que no hacen ninguna diferencia en el significado del símbolo, sino que solo cambian la representación. Aquí, usaré ML para referirme a cualquier método de aprendizaje automático, pero hoy en día a menudo significa redes neuronales de convolución para el procesamiento de imágenes. Agruparé otros tipos de preprocesamiento con normalización además de los de su figura.

Que hay en tu figura

Hay varios tipos de preprocesamiento de imágenes en sus figuras 1–2. En primer lugar, la altura de la “A” se ha reducido de 8 a 6 píxeles, mientras que el ancho se ha reducido de 7 a 5 píxeles. Esto podría llamarse normalización en escala, donde el ML ha sido entrenado para esperar siempre que las letras que se le presentan tengan un tamaño de 6 X 5 píxeles. Este tipo de normalización elimina el requisito del NM para aprender la invariancia de la escala : una “A” es una “A” sin importar cuán grande sea. Además, las líneas se han hecho más delgadas para tener ~ 1 píxel de ancho. Esto a veces se llama esqueletización de un símbolo, ya que reduce el símbolo a un dibujo lineal.

Algunos otros invariantes de OCR útiles a través del preprocesamiento

Aquí hay algunos tipos de transformaciones invariables que se pueden aplicar a las imágenes de letras para OCR de fuentes, algunas de las cuales se ven en sus figuras:

  • Escala, como se discutió anteriormente.
  • Centrado: la “convolución” en las “redes neuronales de convolución” puede controlar esto automáticamente hasta cierto punto, pero otros métodos de LD a menudo pueden beneficiarse del centrado.
  • Rotación: gira la imagen para que las líneas estén casi horizontales.
  • Inclinación: esencialmente, convierta la inclinación de las letras en cursiva a forma estándar
  • Umbral blanco / negro: el umbral para estimar blanco y negro debe ajustarse para un reconocimiento óptimo. Esto puede requerir un umbral variable en toda la página, como la reducción del brillo de la imagen cerca de la encuadernación de un libro en un escáner.
  • Rellene las líneas texturizadas: si el papel es rugoso o, según cómo se haya expuesto la imagen, las partes negras pueden tener motas blancas o las partes blancas pueden tener motas negras. Esto se llama “ruido de sal y pimienta”, y puede controlarse de alguna manera con el filtrado no lineal 2D que simplemente reemplaza los píxeles aislados con la mediana de los píxeles circundantes.
  • Adelgazamiento: las líneas se erosionan al ancho estándar o se reemplazan por anchos de línea estandarizados. Esto ayuda con cosas como negrita vs fuentes estándar.
  • Eliminación de serifas: esto se puede manejar controlando la resolución en los extremos de las letras o erosionando las puntas de manera preferencial.
  • Eliminación de la ligadura: por ejemplo, en inglés, escribir “fi” generalmente empuja las letras “f” e “i” más juntas que el interletraje estándar (espaciado) normalmente usaría.

Los caracteres escritos a mano, como los que se encuentran en MNIST, tienen mucha más variedad de variaciones, pero, cuando sea posible, se reconocerán con mayor precisión si se pueden eliminar estos diversos impedimentos antes de entrenar el LD. Tenga en cuenta que estas normalizaciones no siempre son esenciales, pero tenderán a generalizarse mejor ya que solo las variaciones de los caracteres no manejados por las normalizaciones deben ser manejadas por el ML.

Invariantes en general

Además de estas transformaciones invariantes especiales para OCR, hay una gran cantidad de otros tipos de transformaciones que se pueden usar en el procesamiento de variables en general. Estos pueden incluir:

  • Escala: a menudo, ajusta todas las variables para tener una varianza de 1, pero a veces se usa un estimador más robusto, como el ajuste para tener una MAD de 1. Esto elimina la necesidad de aprender la invariancia de la escala.
  • Centrado: generalmente, establezca la media de una variable en 0, pero en su lugar puede ajustar la mediana para que sea cero. A veces, si se sabe que el rango de las variables es limitado (tal como se extraen de una distribución uniforme), la normalización de centrado puede ser que [matemáticas] \ {min (x), max (x) \} [/ matemáticas] se establecen en [matemáticas] \ {- 1, + 1 \} [/ matemáticas]. Estos eliminan la necesidad de aprender la invariancia de la ubicación .
  • Transformaciones para hacer distribuciones variables más gaussianas, como la transformación Box-Cox, o usar una transformación empírica de gaussianización. La gaussianización empírica es muy flexible, pero tiene dificultades para extrapolar (generalizar) más allá de los datos ya vistos. Estas transformaciones reducen la necesidad de aprender la invariancia de la distribución .
  • Transformaciones para hacer variables no estacionarias más estables. Un ejemplo sería tomar la transformación Freeman-Tukey de datos de conteo, que tiene amplitudes de ruido más grandes para valores variables más grandes. Después de la transformación, los niveles de ruido serán casi independientes de los valores variables y, por lo tanto, serán más fáciles de generalizar. Estos reducen la necesidad de aprender la invariancia sobre la amplitud , o más generalmente la invariancia estadística a lo largo del tiempo .
  • Sphering los datos para eliminar las correlaciones cruzadas variables. Esto reduce la necesidad de aprender la invariancia sobre la dirección variable y, a veces, permite que las direcciones y la información de distancia sean reemplazadas por simplemente distancia.
  • Varios tipos de análisis de componentes, como ICA, SFA, etc. Estos a menudo se pueden usar (especialmente en problemas de dominio del tiempo) para rechazar varios tipos de ruido. Puede pensar en esto como eliminar o reducir la necesidad de ML para aprender invariancia a SNR .

Todas estas técnicas tienen métodos muy eficientes, mientras dejan que el ML se concentre en lo que es bueno: características de aprendizaje e invariantes que no entran fácilmente en ninguna de estas categorías. Juntos, el LD y el preprocesamiento invariable pueden generalizarse mejor para los mismos recursos que el ML solo.

Entonces, la normalización en las estadísticas básicamente significa:
Tengo el conjunto de datos 1 con posibles valores de 0-1000 distribuidos aleatoriamente.
Tengo el conjunto de datos 2 con posibles valores de 0-1 distribuidos aleatoriamente.

Si quiero comparar las distribuciones entre el conjunto de datos 1 y el conjunto de datos 2, normalizaría los datos dividiendo cada valor en el conjunto de datos 1 por 1000 o multiplicando cada valor en el conjunto de datos 2 por 1000. Luego, los 2 conjuntos de datos son comparables y pueden fusionarse.