Vés al contingut

One-hot

De la Viquipèdia, l'enciclopèdia lliure
Decimal Binari Unari One-hot
0 000 00000000 00000001
1 001 00000001 00000010
2 010 00000011 00000100
3 011 00000111 00001000
4 100 00001111 00010000
5 101 00011111 00100000
6 110 00111111 01000000
7 111 01111111 10000000

En circuits digitals i aprenentatge automàtic, un one-hot és un grup de bits entre els quals les combinacions legals de valors són només les que tenen un únic bit alt (1) i tots els altres baixos (0).[1] Una implementació similar en la qual tots els bits són "1" excepte un "0" de vegades s'anomena one-cold.[2] En estadística, les variables simulades representen una tècnica similar per representar dades categòriques.

Aplicacions

[modifica]

Circuits digitals

[modifica]

La codificació one-hot s'utilitza sovint per indicar l'estat d'una màquina d'estats o autòmat finit. Quan s'utilitza el sistema binari, es necessita un descodificador per determinar l'estat. Tanmateix, una màquina d'estat d'un sol calent no necessita un descodificador, ja que la màquina d'estat es troba en l'estat n -è si, i només si, l' enè bit és alt.

Un comptador d'anell amb 15 estats ordenats seqüencialment és un exemple de màquina d'estats. Una implementació "one-hot" tindria 15 biestables encadenades en sèrie amb la sortida Q de cada xancleta connectada a l'entrada D de la següent i l'entrada D de la primera xancleta connectada a la sortida Q de la xancleta 15.. La primera xancleta de la cadena representa el primer estat, la segona representa el segon estat, i així successivament fins a la 15a xancleta, que representa l'últim estat. Quan es reinicia la màquina d'estats, totes les xancletes es reinicien a "0", excepte la primera de la cadena, que està establerta a "1". La vora del rellotge següent que arriba a les xancletes avança el bit "calent" a la segona xancleta. El bit "calent" avança d'aquesta manera fins al 15è estat, després del qual la màquina d'estats torna al primer estat.

Un descodificador d'adreces converteix de representació binària a una representació calenta. Un codificador de prioritat es converteix de representació en calent a binari.[3]

Comparació amb altres mètodes de codificació

[modifica]
Avantatges
[modifica]
  • Determinar l'estat té un cost baix i constant d'accedir a un biestable
  • Canviar d'estat té el cost constant d'accedir a dues xancletes
  • Fàcil de dissenyar i modificar
  • Fàcil de detectar estats il·legals
  • Aprofita les abundants xancletes d'una FPGA
  • L'ús d'una implementació única permet que una màquina d'estat funcioni a una velocitat de rellotge més ràpida que qualsevol altra codificació d'aquesta màquina d'estat
Inconvenients
[modifica]
  • Requereix més xancletes que altres codificacions, cosa que fa que no sigui pràctic per a dispositius PAL
  • Molts dels estats són il·legals[4]

Processament del llenguatge natural

[modifica]

En el processament del llenguatge natural, un vector one-hot és un 1 × N matriu (vector) utilitzada per distingir cada paraula d'un vocabulari de totes les altres paraules del vocabulari. El vector consta de 0 a totes les cel·les amb l'excepció d'un únic 1 en una cel·la que s'utilitza de manera única per identificar la paraula. La codificació única garanteix que l'aprenentatge automàtic no assumeixi que els nombres més alts siguin més importants. Per exemple, el valor "8" és més gran que el valor "1", però això no fa que "8" sigui més important que "1". El mateix passa amb les paraules: el valor "riure" no és més important que "riure".

Aprenentatge automàtic i estadístiques

[modifica]

Codificació d'etiquetes

Nom de l'aliment # categòric Calories
Poma 1 95
Pollastre 2 231
Bròquil 3 50

En l'aprenentatge automàtic, la codificació única és un mètode que s'utilitza amb freqüència per tractar dades categòriques. Com que molts models d'aprenentatge automàtic necessiten que les seves variables d'entrada siguin numèriques, les variables categòriques s'han de transformar a la part de preprocessament.[5]


Codificació one-hot

Poma Pollastre Bròquil Calories
1 0 0 95
0 1 0 231
0 0 1 50


Referències

[modifica]
  1. Harris, David and Harris, Sarah. Digital design and computer architecture (en anglès). 2nd. San Francisco, Calif.: Morgan Kaufmann, 7 August 2012, p. 129. ISBN 978-0-12-394424-5. 
  2. Harrag, Fouzi; Gueliani, Selmene Event Extraction Based on Deep Learning in Food Hazard Arabic Texts, 2020. arXiv: 2008.05014.
  3. «Data Science in 5 Minutes: What is One Hot Encoding?» (en anglès). [Consulta: 4 febrer 2025].
  4. Cohen, Ben. Real Chip Design and Verification Using Verilog and VHDL (en anglès). Palos Verdes Peninsula, CA, US: VhdlCohen Publishing, 2002, p. 48. ISBN 0-9705394-2-8. 
  5. «One Hot Encoding in Machine Learning» (en anglès americà), 12-06-2019. [Consulta: 4 febrer 2025].