Uno caliente


En circuitos digitales y aprendizaje automático , un one-hot es un grupo de bits entre los cuales las combinaciones legales de valores son solo aquellas con un solo bit alto (1) y todos los demás bajos (0). [1] Una implementación similar en la que todos los bits son '1' excepto un '0' a veces se denomina one-cold . [2] En estadística , las variables ficticias representan una técnica similar para representar datos categóricos .

La codificación one-hot se utiliza a menudo para indicar el estado de una máquina de estado . Cuando se usa código binario o Gray , se necesita un decodificador para determinar el estado. Una máquina de estado de una sola caliente, sin embargo, no necesita un decodificador como la máquina de estado está en el n º estado si y sólo si el n ésimo bit es alta.

Un contador de anillo con 15 estados ordenados secuencialmente es un ejemplo de máquina de estados. Una implementación 'one-hot' tendría 15 chanclasencadenado en serie con la salida Q de cada flip flop conectada a la entrada D del siguiente y la entrada D del primer flip flop conectada a la salida Q del decimoquinto flip flop. El primer flip flop de la cadena representa el primer estado, el segundo representa el segundo estado y así sucesivamente hasta el decimoquinto flip flop que representa el último estado. Al reiniciar la máquina de estado, todos los flip flops se reinician a '0' excepto el primero de la cadena que se establece en '1'. El siguiente borde del reloj que llega a los flip flops avanza el bit "caliente" al segundo flip flop. El bit "caliente" avanza de esta manera hasta el estado 15, después de lo cual la máquina de estado vuelve al primer estado.

Un decodificador de direcciones convierte de código binario o Gray a representación one-hot. Un codificador de prioridad se convierte de representación one-hot a código binario o Gray.

El uso de una implementación one-hot normalmente permite que una máquina de estado se ejecute a una velocidad de reloj más rápida que cualquier otra codificación de esa máquina de estado. [3]

En el procesamiento del lenguaje natural , un vector one-hot es una matriz (vector) 1 ×  N que se utiliza para distinguir cada palabra en un vocabulario de cualquier otra palabra en el vocabulario. El vector consta de ceros en todas las celdas con la excepción de un solo 1 en una celda que se usa de forma única para identificar la palabra. La codificación one-hot garantiza que el aprendizaje automático no asuma que los números más altos son más importantes. Por ejemplo, el valor '8' es mayor que el valor '1', pero eso no hace que '8' sea más importante que '1'. Lo mismo ocurre con las palabras: el valor "risa" no es más importante que "reír".