Spotlight #64 – Kwanty, nanotechnologia i AI: nauka stojąca za naszymi najnowszymi symulacjami

Cztery symulacje z fali 98 znajdują się na froncie współczesnej nauki: świecące nanokryształy półprzewodnikowe, których kolor można dostroić zmieniając ich rozmiar, amfifilowe molekuły, które spontanicznie organizują się w błony komórkowe, drzewo uczenia maszynowego, które kroi przestrzeń danych na decyzje, oraz agent uczenia ze wzmocnieniem, który samodzielnie uczy się nawigować metodą prób i błędów. Ten spotlight zagląda pod maskę każdej z nich.

I. Kropki kwantowe — kolor z uwięzienia

🔵

Kropki kwantowe — równanie Brusa i emisja strojona rozmiarem

Przeciągnij suwak promienia od 1 do 10 nm i obserwuj, jak świecenie kropki zmienia się z niebieskiego na czerwony w czasie rzeczywistym. Pokazuje diagram pasm przewodnictwa/walencyjnego, próg promienia Bohra i gotowe presety materiałów.

Kawałek objętościowego selenku kadmu jest pomarańczowy. Zmielony do kryształu o rozmiarze 3 nm zaczyna świecić niebiesko-zielono. Zmielony do 6 nm — czerwono. Kolor nie ma nic wspólnego ze składem chemicznym — kryształ jest tym samym materiałem w obu przypadkach. Zmienia się stopień uwięzienia kwantowego.

W objętościowym półprzewodniku elektrony i dziury istnieją w ciągłych pasmach energetycznych, a przerwa między tymi pasmami — przerwa energetyczna — jest stałą właściwością struktury krystalicznej. Ale gdy kryształ kurczy się poniżej charakterystycznej długości zwanej promieniem Bohra ekscytonu, elektron i dziura zostają wciśnięte w tak małe pudełko, że kwantowanie ich energii kinetycznej — jak w modelu cząstki w pudełku — staje się znaczące. Efektywna przerwa energetyczna się poszerza. Szersza przerwa oznacza fotony o wyższej energii emitowane przy rekombinacji ekscytonu — krótszą długość fali, bardziej niebieskie światło.

Równanie Brusa ujmuje tę zależność od rozmiaru w dwuskładnikowej poprawce nałożonej na objętościową przerwę energetyczną. Pierwszy składnik to energia uwięzienia kwantowego, traktująca elektron i dziurę jako niezależne cząstki w sferycznej studni potencjału, ważone ich masami efektywnymi. Drugi składnik to ujemna poprawka kulombowska — elektron i dziura przyciągają się nawzajem, nieznacznie obniżając energię, przy czym efekt ten skaluje się odwrotnie proporcjonalnie do promienia, ponieważ uwięzienie zbliża je do siebie.

E_gap(r) = E_bulk + h^2/(8r^2) * (1/m_e* + 1/m_h*) - 1.8 * e^2/(4*pi*eps*eps_0*r)

  E_bulk : objętościowa przerwa energetyczna (np. 1.74 eV dla CdSe)
  r      : promień nanokryształu (m)
  m_e*   : efektywna masa elektronu (ułamek masy swobodnego elektronu)
  m_h*   : efektywna masa dziury
  eps    : względna przenikalność elektryczna półprzewodnika (~10 dla CdSe)
  Pierwszy składnik : energia uwięzienia (poszerza przerwę)
  Drugi składnik     : poprawka kulombowska (zwęża przerwę)

lambda_emit = h*c / E_gap(r)     (długość fali emisji)

Symulacja obejmuje presety CdSe, ZnS, InP i PbS, każdy z własną objętościową przerwą energetyczną, masami efektywnymi i promieniem Bohra. Wyświetlany kolor świecenia jest odwzorowany z długości fali emisji na przybliżoną wartość sRGB przy użyciu funkcji dopasowania barw CIE, więc zmiana koloru, którą widzisz, jest fizycznie uzasadniona, a nie tylko estetyczna. Kropki kwantowe są dziś komercyjnie wykorzystywane w wyświetlaczach QLED, sondach obrazowania medycznego i koncentratorach słonecznych, właśnie dlatego, że pik emisji można umieścić w dowolnym miejscu widma widzialnego i bliskiej podczerwieni, dobierając rozmiar cząstki.

Promień Bohra ekscytonu a_B = eps * (m_e/mu) * a_0, gdzie mu jest masą zredukowaną pary elektron-dziura, a a_0 to promień Bohra wodoru (0,053 nm). Dla CdSe a_B ≈ 5,6 nm — poniżej tego promienia efekty uwięzienia stają się znaczące.

II. Samoorganizacja molekularna — porządek za darmo

🧬

Samoorganizacja molekularna — CMC, parametr upakowania i diagram fazowy

Reguluj geometrię molekuły suwakiem parametru upakowania i obserwuj, jak system przełącza się między micelami, pęcherzykami, cylindrami i dwuwarstwami. Pokazuje próg CMC oraz rozkład wielkości agregatów.

Życie działa dzięki samoorganizacji. Błony komórkowe, rybosomy, kapsydy wirusowe — żadne z nich nie zostało zszyte przez maszynę. Powstają samorzutnie, ponieważ ich składniki są zaprojektowane (przez ewolucję) tak, aby jako izolowane molekuły były termodynamicznie niekorzystne, a jako zorganizowane agregaty — termodynamicznie korzystne.

Kluczowymi graczami są amfifile: molekuły z głową kochającą wodę (hydrofilową) i ogonem nienawidzącym wody (hydrofobowym). W wodzie stają przed wyborem: wystawić ogony na kontakt z wodą i zapłacić dużą cenę entropową/entalpową, albo ukryć ogony, agregując się. Poniżej progowego stężenia zwanego krytycznym stężeniem micelizacji (CMC) molekuł jest za mało, by utworzyć stabilne agregaty, więc istnieją jako monomery i adsorbują się na granicy powietrze-woda, obniżając napięcie powierzchniowe. Powyżej CMC nowe molekuły preferencyjnie dołączają do agregatów zamiast zwiększać stężenie monomerów — dlatego napięcie powierzchniowe roztworu surfaktantu osiąga plateau powyżej CMC.

To, jaka geometria agregatu powstaje, zależy od geometrii molekuły, ujętej w bezwymiarowym parametrze upakowania p:

p = v / (a_0 * l_c)

  v   : objętość ogona (ogonów) hydrofobowego
  a_0 : optymalna powierzchnia grupy głowowej (ustalana przez elektrostatykę i hydratację)
  l_c : krytyczna długość łańcucha (mniej więcej 0,8 * w pełni rozciągniętego łańcucha)

p < 1/3       : micele sferyczne
1/3 < p < 1/2 : micele cylindryczne (robakowate)
1/2 < p < 1   : pęcherzyki / elastyczne dwuwarstwy
p ~= 1        : płaskie dwuwarstwy (błony komórkowe, dwuwarstwy lipidowe)
p > 1         : micele odwrócone (woda w oleju)

Jednołańcuchowe detergenty z dużymi głowami mieszczą się w okolicach p ≈ 0,3 i tworzą micele sferyczne — te same, które czyszczą naczynia, enkapsulując kropelki tłuszczu. Fosfolipidy z dwoma łańcuchami mają p ≈ 1 i tworzą płaskie dwuwarstwy będące podstawą każdej błony komórkowej na Ziemi. Symulacja pozwala przesuwać p od 0,2 do 1,2 i obserwować, jak morfologia agregatu w komórce zgrubnie ziarnistej dynamiki molekularnej przełącza się między wszystkimi pięcioma reżimami.

Podstawową siłą napędową jest efekt hydrofobowy — nie bezpośrednia siła przyciągania między ogonami, lecz wzrost entropii otaczających cząsteczek wody, gdy ogony przestają zaburzać ich sieć wiązań wodorowych. Dlatego samoorganizacja jest wrażliwa na temperaturę: ogrzewanie osłabia hydrofobową siłę napędową i może rozpuścić micele powyżej punktu zmętnienia.

III. Drzewo decyzyjne (CART) — podział według nieczystości

🌳

Drzewo decyzyjne — CART, nieczystość Giniego i kontrola głębokości

Trenuj na 2D-zbiorze danych, kontroluj maksymalną głębokość i minimalny rozmiar liścia. Wizualizuje kawałkami zdefiniowaną granicę decyzyjną, diagram drzewa i wykres słupkowy ważności cech.

Drzewo decyzyjne odpowiada na pytanie klasyfikacyjne, zadając sekwencję pytań tak/nie dotyczących cech wejściowych. Każdy węzeł wewnętrzny testuje jedną cechę względem progu; dwie gałęzie dzielą dane treningowe; rekurencja trwa, aż liście staną się wystarczająco czyste lub drzewo osiągnie wystarczającą głębokość.

Algorytm CART (Classification And Regression Trees) wybiera każdy podział, minimalizując nieczystość Giniego — miarę tego, jak bardzo pomieszane są etykiety klas w węźle. Węzeł idealnie czysty (wszystko jednej klasy) ma Gini = 0. Węzeł maksymalnie nieczysty (równe proporcje klas) ma Gini = 1 − 1/K dla K klas. W każdym węźle CART sprawdza każdą cechę i każdą wartość progową w danych treningowych, po czym wybiera parę (cecha, próg), która daje największą ważoną redukcję nieczystości Giniego w obu węzłach potomnych.

Gini(węzeł) = 1 - sum_k p_k^2
  p_k : ułamek próbek klasy k w tym węźle

Zysk z podziału = Gini(rodzic) - (n_L/n)*Gini(lewy) - (n_R/n)*Gini(prawy)
  n_L, n_R : liczba próbek w lewym i prawym dziecku
  n        : łączna liczba próbek w węźle rodzica

Zysk informacji (tryb entropii):
  H(węzeł) = - sum_k p_k * log2(p_k)
  Zysk     = H(rodzic) - (n_L/n)*H(lewy) - (n_R/n)*H(prawy)

Predykcja liścia: klasa dominująca wśród próbek treningowych w tym liściu
Przycinanie: zatrzymaj, jeśli depth >= max_depth lub n < min_samples_leaf

Symulacja żywo ilustruje problem przeuczenia. Drzewo wyhodowane do maksymalnej głębokości na zaszumionym zbiorze danych wycina maleńkie wysepki wokół każdego wartościowego odstającego punktu — postrzępioną, nierówną granicę decyzyjną, która zawiedzie na nowych danych. Ograniczenie głębokości do 3 lub 4 daje grubszą, ale znacznie lepiej generalizującą się granicę. Towarzysząca symulacja lasu losowego (z devlogu #95) pokazuje, jak uśrednienie 50 takich drzew wygładza tę wariancję.

CART jest też wykorzystywane do regresji (minimalizując błąd średniokwadratowy zamiast Giniego) i stanowi bazowy algorytm uczący, na którym opierają się zespoły drzew wzmacnianych gradientowo, takie jak XGBoost i LightGBM. Wynik ważności cech drzewa CART (mierzony jako łączna redukcja nieczystości przypisana każdej cesze) daje intuicyjny, choć obciążony, ranking tego, które dane wejściowe mają największe znaczenie.

IV. Uczenie Q — nauka przez działanie

🤖

Agent uczenia Q — równanie Bellmana i świat siatki

Obserwuj, jak mapa cieplna tabeli Q aktualizuje się w czasie rzeczywistym, gdy agent eksploruje siatkę ze ścianami, nagrodami i karami. Reguluj współczynnik uczenia, współczynnik dyskontowania i zanik epsilon.

Uczenie ze wzmocnieniem to nauka o uczeniu się na podstawie konsekwencji. W przeciwieństwie do uczenia nadzorowanego, które potrzebuje oznaczonych danych treningowych, agent RL uczy się, próbując działań, otrzymując nagrody lub kary i odpowiednio aktualizując swoje zachowanie. Uczenie Q to jeden z najstarszych i najbardziej eleganckich algorytmów RL — jego zbieżność do optymalnej polityki w środowiskach tabelarycznych jest dowiedziona, bez potrzeby posiadania modelu działania środowiska.

Agent utrzymuje tabelę Q(s, a) szacującą oczekiwaną łączną zdyskontowaną nagrodę za wykonanie działania a w stanie s, a następnie postępowanie optymalnie. To jest funkcja wartości działania Q*. Po każdym przejściu (s, a) → (r, s′) równanie Bellmana daje wartość docelową: natychmiastową nagrodę r plus najlepszą możliwą przyszłą wartość z s′, zdyskontowaną przez γ. Wartość Q jest aktualizowana w kierunku tego celu małym krokiem α.

Cel Bellmana:  y = r + gamma * max_{a'} Q(s', a')

Aktualizacja TD:  Q(s, a) += alpha * [y - Q(s, a)]
  alpha  : współczynnik uczenia (np. 0,1 -- mniejszy = wolniejszy, ale stabilniejszy)
  gamma  : współczynnik dyskontowania (0,9 = ceni nagrody odległe o 10 kroków)
  r      : sygnał nagrody (+1 za cel, -1 za pułapkę, 0 w innym przypadku)

Polityka:  epsilon-zachłanna
  z prawdopodobieństwem epsilon : wykonaj losowe działanie (eksploracja)
  z prawdopodobieństwem 1-epsilon : wykonaj argmax_a Q(s, a) (eksploatacja)
  epsilon zanika co epizod: eps *= decay_rate

Symulacja wizualizuje tabelę Q jako mapę cieplną: każda komórka pokazuje maksymalną wartość Q spośród wszystkich działań, którą można interpretować jako „jak dobrze jest znajdować się w tym stanie?”. Na wczesnym etapie treningu mapa jest jednolita. W miarę gromadzenia doświadczenia przez agenta wartości propagują się wstecz od nagrody poprzez rekurencję Bellmana — proces zwany przypisywaniem zasługi różnicą czasową — a mapa cieplna rozwija gradient wskazujący cel.

Polityka ε-zachłanna rozwiązuje dylemat eksploracja-eksploatacja w najprostszy możliwy sposób: wstrzykuje losowość, aby eksplorować nieznane stany, ale przez większość czasu wykorzystuje zgromadzoną wiedzę. Ustawienie ε zbyt wysoko sprawia, że agent nigdy się nie zbiega; zbyt nisko — utyka w lokalnym optimum. Symulacja pozwala bezpośrednio zaobserwować to napięcie, zamrażając ε na różnych wartościach i sprawdzając, czy agent znajduje optymalną ścieżkę.

Uczenie Q jest algorytmem off-policy: aktualizuje się w kierunku zachłannego działania max_a' Q(s', a') niezależnie od tego, jakie działanie faktycznie wybrała polityka zachowania. To właśnie umożliwia uczenie się z trajektorii eksploracyjnych bez obciążenia — kluczowa przewaga teoretyczna nad metodami on-policy, takimi jak SARSA.

← Devlog #96: Fala 98 Spotlight #65: Sport, robotyka i grafika →