Softmax Lab hőmérsékletes softmax

A softmax a nyers pontszámokat (logitokat) valószínűségekké alakítja: minden érték pozitív, az összegük pedig 100%. A T hőmérséklet azt szabályozza, hogy az eredmény éles (egy elem dominál) vagy kiegyenlített (mindenki hasonló eséllyel indul) legyen. Hogy miben más a softmax, mint az L1 és az L2 normalizálás, azt a Normalizáló Lab mutatja meg.

$$p_i(T)=\frac{e^{z_i/T}}{\sum_{j} e^{z_j/T}}$$

\(z_i\) az i-edik elem logitja, \(T>0\) a hőmérséklet, az összegzés az aktív elemekre megy. A számlálóban lévő \(e^{z_i/T}\) adja az elem „súlyát”, a nevező ezeket normálja, hogy az összeg 1 legyen.

1. Logitok és hőmérséklet

A logit egy elem nyers pontszáma: minél nagyobb, annál esélyesebb az elem. Húzd a csúszkákat, és próbáld ki a jelölőnégyzetekkel, hogy ki-be kapcsolt elemekkel mi történik. Kis T-nél a legnagyobb pontszámú elem szinte mindent visz, nagy T-nél minden elem közel egyforma esélyű.

Honnan jönnek a logitok egy valódi nyelvi modellben?

Ezen az oldalon a logitokat kézzel adjuk meg, a példák értékei kitalált, szemléltető számok. Egy valódi modellben nincs szópárokról szóló táblázat: egy nagy neurális hálózat számolja ki őket. A mondat addigi részét (a „kontextust”) a hálózat rétegeken át feldolgozza, és a végén a szókincs minden eleméhez (tokenjéhez) ad egy pontszámot, ez a logit. A szókincs tízezres-százezres nagyságrendű, ennyi logitot kapunk, és a softmax ezekből csinál valószínűségeket.

Van-e mögötte statisztika? Közvetve igen. A hálózat paramétereit hatalmas szöveggyűjteményeken tanították úgy, hogy a következő szóra adott valószínűség a valódi szövegben látott szó felé mozduljon (ez a 6. kártya keresztentrópiája, csak óriási léptékben; a részleteket a 6. kártya „Mit jelent a tanulás egy valódi modellben?” blokkjában találod). A modell így megtanulja, milyen szavak szoktak jönni egy ilyen mondatkezdet után, de nem szópárok darabszámát tárolja, hanem mintákat általánosít. Ezért tud értelmes valószínűségeket adni olyan mondatkezdetre is, amely a tanítószövegben pontosan így sosem szerepelt.

Pontosítás: a modellek általában nem egész szavakkal, hanem szódarabokkal (tokenekkel) dolgoznak, ezért egy magyar szó, például az „asztalra”, akár több tokenre is eshet szét. Az itt látott, szavakra bontott példa ezt egyszerűsíti.

2–16 elem adható meg. Elválasztó: szóköz, pontosvessző vagy „, ” (vessző + szóköz); tizedesjel: pont vagy vessző. A tartomány a „Logit-tartomány” választóval állítható; ennél nagyobb értéket beírva automatikusan bővül (legfeljebb ±20-ig). A mező és a csúszkák egymást frissítik; a kikapcsolt elemek állapota megmarad.

Hőmérséklet T1,00

Legalább egy elem mindig aktív marad. A T-csúszka logaritmikus (0,05 és 100 között), mert a legérdekesebb változások kis hőmérsékleten történnek, de nagy T-nél látszik, hogy az eloszlás tényleg szinte teljesen kiegyenlítődik.

2. Valószínűségek

Az oszlopok a softmax kimenetei. A narancssárga a legesélyesebb elem. A szaggatott vonal az egyenletes eloszlás szintje (1/K, ahol K az aktív elemek száma): ha az oszlopok mind erre simulnak, az eloszlás teljesen kiegyenlített.

Entrópia: – Legnagyobb esély: – Aktív elemek: – Mintavételi halmaz: –

Az entrópia az eloszlás bizonytalanságát méri bitben: \(H=-\sum_i p_i\log_2 p_i\). A 0 azt jelenti, hogy biztos a döntés, a \(\log_2 K\) pedig azt, hogy semmi sem dönti el, melyik elem jön. A képlet okát a 4. kártyában magyarázom el.

3. Entrópia a hőmérséklet függvényében

Ez a görbe azt mutatja, hogyan változik az eloszlás bizonytalansága (entrópiája), ha csak a T-t változtatod, a logitok pedig maradnak. Bal oldalon (kis T) az entrópia közel 0: egy elem biztos nyertes. Jobb oldalon (nagy T) az entrópia a maximumhoz, \(\log_2 K\)-hoz tart, mert minden elem egyformán esélyes. A görbe mindig emelkedik, soha nem csökken. A pont a jelenlegi T-nek felel meg, a szaggatott vízszintes vonal a maximum.

Tengelyek: vízszintesen a T (logaritmikus skála), függőlegesen az entrópia bitben. Ha két logit közel van egymáshoz, a görbe hamarabb emelkedik; ha az egyik elem nagyon kiemelkedik, később.

4. Mi az entrópia, és miért ilyen a képlete?

Az entrópia azt mondja meg, mennyire lepődünk meg átlagosan, ha kihúzunk egy elemet az eloszlásból. A képlet két egyszerű ötletből adódik: először azt kell megmérni, mennyire meglepő egyetlen esemény, aztán ezt kell átlagolni.

Első lépés: egy esemény meglepetése

Ha egy esemény valószínűsége p, a meglepetésére három természetes elvárásunk van. (1) Ami biztos (p = 1), az nem lep meg, tehát a meglepetés 0. (2) Minél valószínűtlenebb valami, annál nagyobb a meglepetés. (3) Két független esemény együttes valószínűsége a két valószínűség szorzata, de a meglepetéseknek összeadódniuk kell. Az a függvény, amely a szorzatot összeggé alakítja, a logaritmus. Ezért:

$$I(p)=\log_2\frac{1}{p}=-\log_2 p$$

A 2-es alapú logaritmus a bit: azt adja meg, hány igen/nem kérdéssel lehetne kitalálni az eseményt. Például p = 1/2 esetén 1 bit (egy érmedobás), p = 1/8 esetén 3 bit, mert nyolc egyformán esélyes lehetőségből három igen/nem kérdéssel választhatunk.

Második lépés: súlyozott átlag

Az i-edik elemet pi valószínűséggel húzzuk, ezért az átlagos meglepetés az egyes meglepetések pi súllyal vett átlaga:

$$H=\sum_i p_i\,\log_2\frac{1}{p_i}=-\sum_i p_i\log_2 p_i$$

Minden tag egy „gyakoriság × meglepetés” szorzat. A mínusz jel csak azért van, mert \(\log_2 p_i\) negatív (a valószínűség legfeljebb 1), az entrópia viszont nem lehet negatív. Ha \(p_i=0\), a tag 0-nak számít (megállapodás: \(0\cdot\log_2 0=0\)), mert egy lehetetlen elem nem járul hozzá a bizonytalansághoz.

Néhány ellenőrző példa
Kapcsolat a hőmérséklettel

Ha növeled a T-t, az eloszlás kiegyenlítődik: a ritka elemek esélye nő, a domináns elemé csökken. Így a meglepetések átlaga, vagyis az entrópia, egyre közelebb kerül a maximumhoz (\(\log_2 K\)). Ha csökkented a T-t, egy elem lesz szinte biztos, és az entrópia 0 felé megy. Ezt mutatja a 3. kártya görbéje.

Az aktuális eloszlásod tagonként

Ez a táblázat élőben mutatja, hogyan áll össze a fenti képlet a jelenlegi beállításaidból. A negyedik oszlop összege az entrópia.

Elemvalószínűség pmeglepetés log₂(1/p)p · meglepetés
Összeg = entrópia H–

Megjegyzés: ha természetes logaritmust (ln) használnánk 2-es alapú helyett, az egység a „nat” lenne, és az értékek csak egy állandó szorzóban térnének el. A bit szemléletesebb, ezért ezt használjuk.

5. Mintavételezés (húzás az eloszlásból)

Minden húzás véletlenszerűen kiválaszt egy elemet a fenti valószínűségek szerint: a 60%-os elemet az esetek kb. 60%-ában húzod. Így választ következő szót egy nyelvi modell is. Kevés húzásnál a hisztogram szabálytalan, sok húzásnál egyre jobban követi az elméleti értéket (a szaggatott jelölőket). A hisztogram nullázódik, ha bármelyik beállítást módosítod, mert akkor már másik eloszlásról van szó.

Mi a célja a top-k és a top-p szűrésnek? Magas hőmérsékleten, vagy ha az eloszlás lapos, a sok kis valószínűségű elem együtt is jelentős eséllyel kerülhet sorra, és ilyenkor jön elő a különös, értelmetlen szó. A szűrők ezt védik ki: a húzás előtt kihagyják a „farkat”, vagyis a legvalószínűtlenebb elemeket, a megmaradtak valószínűségét pedig újranormálják, hogy az összegük megint 100% legyen. A kimaradó elemek szürkék a valószínűségi diagramon.

  • Top-k: mindig pontosan a k legvalószínűbb elemet tartja meg. Egyszerű, de nem alkalmazkodik: ha a modell biztos (egy elem 95%), a k = 5 még mindig négy felesleges elemet enged be, ha bizonytalan, a k = 5 jó elemeket vág le.
  • Top-p (nucleus): az elemeket valószínűség szerint csökkenő sorrendbe rendezi, majd a legvalószínűbbtől kezdve addig veszi sorra őket, amíg az összegük el nem éri a p értéket (p = 0,9 jelentése: 90%). Ami ezen a ponton túl van, vagyis a sorrend végén álló, legkisebb valószínűségű elemek, azok kimaradnak. Ez a legkisebb olyan halmaz, amelynek az együttes valószínűsége legalább p. A megtartott halmaz mérete így az eloszláshoz igazodik: biztos esetben 1–2 elem, bizonytalan esetben sok.

Példa (T = 1, p = 0,9): az „A macska felugrott a …” példában 4 elem marad, mert az első három együtt 88,8%, ez még nem éri el a 90%-ot, ezért a negyedik is bekerül. A „Magyarország fővárosa …” példában csak 1 elem marad, mert a Budapest önmagában 94%. Töltsd be a két példát, és állítsd a top-p csúszkát 0,9-re; a „Mintavételi halmaz” mutatja, hány elem maradt.

Húzások száma: 0

A fenti sor az utolsó húzások sorozata. Kis T-nél szinte csak egy betű (név) ismétlődik (kiszámítható), nagy T-nél vegyes (változatos, de kevésbé célirányos).

6. Keresztentrópia és tanítás

Eddig azt láttuk, hogyan lesz a logitokból valószínűség. A modellek a logitokat nem kézzel állítják be, mint te a csúszkákkal, hanem tanulják: olyan példákból, ahol a helyes választ ismerjük. Ez a kártya egyetlen példán mutatja meg, hogyan megy ez, lépésről lépésre. Közben minden számot látsz, és te is állíthatod őket.

1. A helyes válasz és a cél. Tanításkor van egy példa, amelyre tudjuk a jó választ. Például az „A macska felugrott a …” mondat folytatása a szövegben az „asztalra” volt. A modell minden szóra adott egy valószínűséget, és azt akarjuk megmérni, mennyire volt jó. Az alábbi menüben kijelölöd a helyes elemet. A cél az, hogy a helyes elem kapjon 100%-ot, a többi 0%-ot. Ezt y-nal jelöljük: a helyes elemre y = 1, a többire y = 0.

2. A veszteség: hány pontot ér a hiba? Kell egy szám, ami megmondja, mennyire rossz a modell erre a példára. Ezt veszteségnek (loss) hívják, és minél kisebb, annál jobb. Nem kell újat kitalálni: a 4. kártyán már van mérőszám arra, mennyire lep meg egy esemény, ez a meglepetés, −log₂ p. A veszteség ugyanez, a helyes válaszra: mennyire lepődik meg a modell azon, ami valójában a jó válasz volt?

$$L=-\log_2 p_{\text{helyes}}$$
A modell szerint a helyes elem valószínűségeVeszteség
100%0 bit (egyáltalán nem lep meg)
50%1 bit
25%2 bit
10%3,32 bit
1%6,64 bit

Tehát a veszteség 0, ha a modell teljesen biztos a helyes válaszban, és gyorsan nő, ha a helyest alig tartotta lehetségesnek. Ezt a mennyiséget nevezik keresztentrópiának. A cél csak a helyes elemnél nem nulla (y = 1), ezért a teljes képletből csak a helyes elem tagja marad meg, ez a fenti egyszerű alak.

Bit és nat. A logaritmus alapját szabadon választhatjuk. A 2-es alappal bitet kapunk (a 4. kártyán ezt használtuk), a természetes alappal (e ≈ 2,718, jele ln) natot. Ugyanaz a mennyiség, csak más mértékegységben, mint a méter és a láb: 1 nat = 1/ln 2 ≈ 1,443 bit, és 1 bit = ln 2 ≈ 0,693 nat. A gépi tanulásban a nat a szokásos, mert a természetes logaritmus deriváltja a legegyszerűbb, így a tanítás képlete tisztább (lásd lent). A kártya mindkettőt kiírja; a bit azért az elsődleges, hogy illeszkedjen az entrópiához.

3. A tanítási lépés: hogyan javítunk? A cél, hogy a veszteség csökkenjen, vagyis a helyes elem valószínűsége nőjön. A valószínűségeket a logitok szabják meg, ezért a logitokat módosítjuk: a helyes elemét felfelé, a többiét lefelé toljuk. Hogy mennyivel? Annyival, amennyire a modell eltér a céltól. Az i-edik elemnél a hiba: pi − yi, vagyis a modell valószínűsége mínusz a cél.

  • A helyes elemnél p − 1 negatív (még hiányzik belőle 1 − p), ezért a logitja nő.
  • A többinél p − 0 = p pozitív (kaptak valószínűséget, pedig nem helyesek), ezért a logitjuk csökken, annál inkább, minél nagyobb valószínűséget kaptak.
$$z_i \;\leftarrow\; z_i-\eta\,(p_i-y_i)$$

Itt η (éta) a tanulási ráta, a lépés nagysága: kicsi η óvatos és lassú, nagy η gyors, de túl nagynál a lépés túllőhet. A formula T = 1 esetén igaz; más hőmérsékletnél a lépés még el van osztva T-vel, mert a softmax a z/T értéket látja (a kártya ezt is számolja). Mivel a hiba minden lépés után kisebb, a lépések is egyre kisebbek: a tanulás magától lelassul, ahogy közeledik a célhoz.

Honnan jön a (p − y)? (levezetés, ha érdekel)

Legyen T = 1, és számoljunk natban. A softmax miatt phelyes = ezhelyes / Σj ezj, így a veszteség:

$$L=-\ln p_{\text{helyes}}=-z_{\text{helyes}}+\ln\sum_j e^{z_j}$$

Deriváljuk ezt zi szerint, vagyis nézzük meg, hogyan változik L, ha az i-edik logitot egy kicsit megváltoztatjuk. Az első tagból −1 jön, ha i a helyes elem, különben 0 (ez éppen −yi). A második tag deriváltja ezi / Σj ezj, ami éppen pi. Összesen:

$$\frac{\partial L}{\partial z_i}=p_i-y_i$$

Ez a lejtés iránya: ha a logitot az ellenkező irányba toljuk, a veszteség csökken. Ez a lépésszabály alapja. Más T-nél z helyett z/T szerepel, ezért a derivált 1/T-szeres. A levezetés a természetes logaritmussal a legtisztább, ezért használnak a gépi tanulásban natot.

Mit jelent a „tanulás” egy valódi modellben, és mit tárol el?

Mit tárol a modell? Egy neurális hálózat nagyon sok számból áll, ezeket paramétereknek (súlyoknak) hívják; a mai nagy modelleknél milliárdos nagyságrendűek. Ezek határozzák meg, hogy egy mondatkezdetből milyen logitok lesznek. A modell „tudása” kizárólag ez a számhalmaz. Nincs benne eltárolt szövegarchívum, szópár-táblázat vagy szabálylista: a tanítás után nem a szövegek maradnak meg, hanem az a beállítás, amely a szövegekre jól tippel.

Hogyan megy a tanítás?

  1. Veszünk egy valódi szövegrészletet, például „A macska felugrott az asztalra”, és eltakarjuk a következő szót.
  2. A hálózat az aktuális paramétereivel logitokat számol a mondat addigi részéből, a softmax pedig valószínűségeket csinál belőlük.
  3. Megnézzük, mekkora valószínűséget adott a valódi szóra („asztalra”). Ebből lesz a veszteség, ugyanúgy, ahogy fent: L = −log phelyes.
  4. Minden paramétert egy kicsit úgy mozdítunk el, hogy ugyanerre a példára a veszteség kisebb legyen.
  5. Ezt a szöveggyűjtemény milliárdnyi részletére megismételjük.

Az egyes lépések nagyon kicsik, de a végére a paraméterek olyan beállítást vesznek fel, amely sok különböző mondatkezdetre jól működik.

Miben más ez, mint a fenti kártya? Itt a logitokat közvetlenül módosítod, és csak 6 számot kell megtanulni, egyetlen példára. Egy valódi modellben a logitokat a paraméterek számolják ki a mondatkezdetből. A hibajel (a fenti (p − y) jellegű mennyiség) ezért visszafelé végigmegy a hálózaton, és a paramétereket módosítja, nem a logitokat közvetlenül. Egy paraméter sok különböző mondatkezdetnél is közrejátszik, ezért egy példa javítása másokra is hat. A modellnek olyan beállítást kell találnia, amely sok példára együtt jó. Ettől lesz belőle általánosítás: nem a konkrét mondatokat jegyzi meg, hanem a mintákat.

Fontos pontosítás: a modell nem emlékszik szóról szóra a tanítószövegekre. Ritkán megtörténhet, hogy egy nagyon gyakran előforduló szövegrészletet többé-kevésbé szó szerint megtanul, de ez nem a cél, hanem a tanítás mellékhatása.

Próbáld ki.

  1. Töltsd be az 1. kártyán az „A macska felugrott a …” példát (T = 1), a helyes elem legyen az „asztalra”.
  2. Nézd a veszteséget: kb. 1,18 bit, mert a modell az „asztalra” szóra 44%-ot adott.
  3. Nyomd meg egyszer a „Tanítási lépés” gombot: az „asztalra” valószínűsége nő, a veszteség csökken.
  4. Nyomd meg a ×100 gombot: a veszteség majdnem nulla, a görbe lelassul, mert a hiba (és a lépés) egyre kisebb.
  5. Állítsd a helyes elemet „holdra”-ra, és nézd meg a táblázatot: a modell nagyot téved (0,4%), a veszteség nagy (kb. 7,8 bit), és a lépések kezdetben nagyok.
Veszteség L (minél kisebb, annál jobb): – p(helyes): – Lépések: 0

Elemp (a modell)y (cél)hiba: (p − y) / TMi történik a logittal

Figyeld meg: minél biztosabb a modell a helyes elemben, annál kisebb a gradiens, vagyis a tanulás magától lelassul. Ha a helyes elem valószínűsége kicsi, nagy a veszteség és nagy a lépés. Állítsd át a hőmérsékletet vagy a tanulási rátát, és nézd meg, hogyan változik a tanulás üteme.

7. Kalibráció: mennyire hihetünk a modell magabiztosságának?

Egy osztályozó modell nemcsak választ ad, hanem azt is, hogy mennyire biztos benne: ez a softmax valószínűsége. Ha a modell azt mondja, „90%-ig biztos vagyok”, joggal várjuk, hogy az ilyen válaszainak kb. 90%-a tényleg helyes. Ha ez teljesül, a modell kalibrált. Egy hasonlat: ha az időjárás-előrejelző 70%-os esőesélyt mond, akkor az ilyen napok kb. 70%-ában tényleg esnie kell.

A probléma. A mai nagy neurális hálók gyakran túl magabiztosak: például 99%-ot adnak olyan válaszokra, amelyek csak 80%-ban helyesek (ezt Guo és társai mutatták meg 2017-ben). Ennek egyik oka a tanítás: a 6. kártyán láttad, hogy a tanítás addig tolja a helyes elem logitját, amíg a valószínűsége majdnem 100% lesz, és a logitok így „túl hangosak” lesznek.

A megoldás: hőmérséklet-skálázás. Ugyanaz a T, mint az 1. kártyán: a logitokat elosztjuk T-vel. Egyetlen számot kell megkeresni, mégpedig olyat, amely a veszteséget (a 6. kártya keresztentrópiáját) egy külön, tanításhoz nem használt adatsoron a legkisebbre viszi. T > 1 a magabiztosságot csökkenti. Fontos: az osztással a logitok sorrendje nem változik, tehát a legvalószínűbb elem ugyanaz marad, a pontosság nem változik, csak a modell magabiztossága lesz őszintébb.

Az ábra olvasása (megbízhatósági diagram). A modell válaszait magabiztosság szerint tíz sávba soroljuk. A vízszintes tengely a magabiztosság, a függőleges a tényleges pontosság: az adott sávban a válaszok hányad része volt helyes. Az átló a tökéletes kalibráció. Az oszlop az átló alatt: a modell túl magabiztos. Az oszlop felett: túl óvatos. A vastag vonal a sáv átlagos magabiztossága, a színes sáv a kettő különbsége.

$$\text{ECE}=\sum_{b}\frac{n_b}{N}\,\bigl|\,\text{pontosság}_b-\text{magabiztosság}_b\,\bigr|$$

Az ECE (várható kalibrációs hiba) egyetlen számba sűríti az ábrát: a sávonkénti eltérések átlaga, ahol minden sáv annyit számít, ahány minta esett bele (nb a sáv mintaszáma, N az összes minta). Minél kisebb, annál jobb; 0 a tökéletes.

Fontos: az adatok itt szimulációból jönnek (2000 minta, 5 osztály, rögzített véletlen maggal), nem valódi képosztályozóból. A szimulált modell „belső tudása” pontos, csak a logitjai a-szorosan túlzottak. a = 1 esetén a modell eleve kalibrált, nagyobb a-nál egyre túlzóbb.

Az oszlopok alatti szám azt mutatja, hány minta esett az adott magabiztossági sávba.

MutatóT = 1 (eredeti)Beállított TOptimális T

Próbáld ki.

  1. Hagyd T = 1-en és a = 2,5-en: a modell átlagosan a válaszok kb. 84%-ában hiszi magát biztosnak, de csak kb. 66%-ban helyes. Az oszlopok az átló alatt vannak, a színes sávok a különbséget mutatják.
  2. Nyomd meg az „Optimális T keresése” gombot: T kb. 2,4 lesz (közel az a = 2,5 értékhez), a sávok szinte eltűnnek, az ECE kb. 1%.
  3. Nézd meg a táblát: a pontosság nem változott, csak a magabiztosság és a veszteség.
  4. Húzd a T-t 1 alá: a modell még magabiztosabb, a kalibráció még rosszabb.
  5. Állítsd a-t 1-re: a modell eleve jól kalibrált, és az optimális T is kb. 1.

8. Két hőmérséklet egymás mellett

Az 1. kártyán egyetlen hőmérséklettel dolgoztál. Itt ugyanazt a logit-készletet (az 1. kártya elemeit és értékeit) két különböző hőmérséklettel nézed egyszerre. Így közvetlenül látod, mit változtat a T: az oszlopok hossza változik, a sorrend nem. Minden elemhez két oszlop tartozik: a kék a T1, a narancs a T2 szerinti valószínűség.

  • Kicsi T élesít: a legnagyobb pontszámú elem felé tolja a valószínűséget. Ha T tart a nullához, egyetlen elem kap majdnem 100%-ot.
  • Nagy T simít: az elemek valószínűsége közelít egymáshoz. Ha T nagyon nagy, mindenki közel egyformán esélyes (1/K).
  • A sorrend nem változik: ha egy elem pontszáma nagyobb a másikénál, a valószínűsége is nagyobb, bármelyik T mellett.

Miért van ez így? Két elem valószínűségének aránya:

$$\frac{p_i}{p_j}=\frac{e^{z_i/T}}{e^{z_j/T}}=e^{(z_i-z_j)/T}$$

A közös nevező kiesik, tehát az arány csak a pontszámok különbségétől és T-től függ. Kis T mellett a kitevő nagy, ezért a különbség felerősödik. Nagy T mellett a kitevő nullához közelít, az arány 1-hez, vagyis az elemek egyformának látszanak.

Entrópia, T1: – Entrópia, T2: –

Elemp (T1)p (T2)Különbség (százalékpont)

Próbáld ki.

  1. Töltsd be az 1. kártyán az „A macska felugrott a …” példát. Az „asztalra” valószínűsége T1 = 0,5 mellett kb. 64%, T2 = 2 mellett kb. 31%. Ugyanazok a logitok, csak a hőmérséklet más.
  2. Húzd T2-t a legnagyobb értékre: az oszlopok szinte egyforma hosszúak lesznek, az entrópia a maximum közelébe ér.
  3. Húzd T1-et a legkisebb értékre: egyetlen oszlop majdnem 100%, az entrópia közel nulla.
  4. Figyeld meg, hogy az elemek sorrendje közben nem változik, csak az arányok.
  5. A „Felcserélés” gombbal megcserélheted a két hőmérsékletet.