I. Квантові точки — колір із обмеження
🔵Квантові точки — рівняння Бруса та розмірно-залаштовуване випромінювання
Перетягніть повзунок радіуса від 1 до 10 нм і спостерігайте, як світіння точки зсувається від синього до червоного в реальному часі. Показує діаграму зон провідності/валентності, поріг радіуса Бора та пресети матеріалів.
Шматок об'ємного селеніду кадмію помаранчевий. Подрібніть його до кристала розміром 3 нм — і він засяє синьо-зеленим. Подрібніть до 6 нм — і він засяє червоним. Колір не має жодного стосунку до хімічного складу — обидва рази це той самий матеріал. Змінюється ступінь квантового обмеження.
В об'ємному напівпровіднику електрони й дірки існують у неперервних енергетичних зонах, а проміжок між цими зонами — заборонена зона — фіксована властивість кристалічної структури. Але коли ви зменшуєте кристал нижче характерної довжини, яку називають борівським радіусом екситона, електрон і дірку стискають у настільки маленьку «коробку», що квантування кінетичної енергії частинки в ящику стає значущим. Ефективна заборонена зона розширюється. Ширша зона означає фотони вищої енергії при рекомбінації екситона — коротшу довжину хвилі, синіше світло.
Рівняння Бруса відображає цю розмірну залежність через двододанкову поправку поверх об'ємної забороненої зони. Перший доданок — енергія квантового обмеження, що трактує електрон і дірку як незалежні частинки у сферичній потенціальній ямі, зважені за їхніми ефективними масами. Другий доданок — від'ємна кулонівська поправка: електрон і дірка притягуються одне до одного, трохи знижуючи енергію, причому цей ефект масштабується обернено пропорційно радіусу, оскільки обмеження зближує їх.
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 : об'ємна заборонена зона (напр., 1.74 еВ для CdSe)
r : радіус нанокристала (м)
m_e* : ефективна маса електрона (частка від маси вільного електрона)
m_h* : ефективна маса дірки
eps : відносна діелектрична проникність напівпровідника (~10 для CdSe)
Перший доданок : енергія обмеження (розширює зону)
Другий доданок : кулонівська поправка (звужує зону)
lambda_emit = h*c / E_gap(r) (довжина хвилі випромінювання)
Симуляція охоплює пресети CdSe, ZnS, InP та PbS, кожен зі своєю власною об'ємною забороненою зоною, ефективними масами й радіусом Бора. Колір світіння відображається шляхом перетворення довжини хвилі випромінювання в наближене значення sRGB з використанням функцій кольорового узгодження CIE, тож зсув кольору, який ви бачите, фізично обґрунтований, а не просто естетичний. Квантові точки нині комерційно використовуються в дисплеях QLED, зондах медичної візуалізації та сонячних концентраторах саме тому, що пік випромінювання можна розмістити будь-де у видимому й ближньому інфрачервоному спектрі, обираючи розмір частинки.
Борівський радіус екситона a_B = eps * (m_e/mu) * a_0, де mu — зведена маса пари електрон-дірка, а a_0 — борівський радіус водню (0.053 нм). Для CdSe a_B ≈ 5.6 нм — нижче цього радіуса ефекти обмеження стають значущими.
II. Молекулярна самоорганізація — порядок задарма
🧬Молекулярна самоорганізація — ККМ, параметр упаковки та фазова діаграма
Регулюйте геометрію молекули повзунком параметра упаковки й спостерігайте, як система перемикається між міцелами, везикулами, циліндрами й бішарами. Показує поріг ККМ та розподіл розмірів агрегатів.
Життя працює на самоорганізації. Клітинні мембрани, рибосоми, вірусні капсиди — жодне з них не зшите машиною. Вони формуються спонтанно, тому що їхні компоненти сконструйовані (еволюцією) так, щоб бути термодинамічно невигідними як ізольовані молекули й термодинамічно вигідними як організовані агрегати.
Ключові гравці — амфіфіли: молекули з водолюбною (гідрофільною) головою й водоненависною (гідрофобною) хвостовою частиною. У воді вони стоять перед вибором: виставити хвости у воду й заплатити велику ентропійну/ентальпійну ціну, або сховати хвости, агрегуючись. Нижче порогової концентрації, яку називають критичною концентрацією міцелоутворення (ККМ), молекул надто мало для формування стабільних агрегатів, тож вони існують як мономери й адсорбуються на межі повітря-вода, знижуючи поверхневий натяг. Вище ККМ нові молекули переважно приєднуються до агрегатів, а не збільшують концентрацію мономерів — тому поверхневий натяг розчину поверхнево-активної речовини виходить на плато вище ККМ.
Яка геометрія агрегату утворюється, залежить від геометрії молекули, яку відображає безрозмірний параметр упаковки p:
p = v / (a_0 * l_c)
v : об'єм гідрофобного хвоста (хвостів)
a_0 : оптимальна площа головної групи (визначається електростатикою й гідратацією)
l_c : критична довжина ланцюга (приблизно 0.8 * повністю розгорнутого ланцюга)
p < 1/3 : сферичні міцели
1/3 < p < 1/2 : циліндричні міцели (нитчасті)
1/2 < p < 1 : везикули / гнучкі бішари
p ~= 1 : плоскі бішари (клітинні мембрани, ліпідні бішари)
p > 1 : обернені міцели (вода в олії)
Одноланцюгові детергенти з об'ємними головами перебувають приблизно на p ≈ 0.3 і утворюють сферичні міцели — саме такі, що очищують ваш посуд, інкапсулюючи краплі жиру. Фосфоліпіди з двома ланцюгами мають p ≈ 1 і формують плоскі бішари, що складають кожну клітинну мембрану на Землі. Симуляція дозволяє провести p від 0.2 до 1.2 й спостерігати, як морфологія агрегату в комірці грубозернистої молекулярної динаміки перемикається між усіма п'ятьма режимами.
Основна рушійна сила — гідрофобний ефект: не пряма сила притягання між хвостами, а приріст ентропії навколишніх молекул води, коли хвости перестають порушувати їхню мережу водневих зв'язків. Саме тому самоорганізація чутлива до температури: нагрівання послаблює гідрофобну рушійну силу й може розчинити міцели вище точки помутніння.
III. Дерево рішень (CART) — розбиття за домішкою
🌳Дерево рішень — CART, домішка Джині та контроль глибини
Навчіть на 2D-наборі даних, контролюйте максимальну глибину й мінімальний розмір листка. Візуалізує кусково-задану межу рішення, діаграму дерева та стовпчикову діаграму важливості ознак.
Дерево рішень відповідає на питання класифікації, ставлячи послідовність запитань «так/ні» про вхідні ознаки. Кожен внутрішній вузол перевіряє одну ознаку відносно порогового значення; дві гілки розділяють навчальні дані; рекурсія триває, поки листки не стануть достатньо чистими або дерево не стане достатньо глибоким.
Алгоритм CART (Classification And Regression Trees) обирає кожен поділ, мінімізуючи домішку Джині — міру того, наскільки перемішані мітки класів у вузлі. Ідеально чистий вузол (усі одного класу) має Джині = 0. Максимально нечистий вузол (рівні частки класів) має Джині = 1 − 1/K для K класів. У кожному вузлі CART перебирає кожну ознаку й кожне порогове значення в навчальних даних і обирає пару (ознака, поріг), що дає найбільше зважене зменшення домішки Джині в обох дочірніх вузлах.
Gini(вузол) = 1 - sum_k p_k^2
p_k : частка зразків класу k у цьому вузлі
Приріст від поділу = Gini(батько) - (n_L/n)*Gini(ліворуч) - (n_R/n)*Gini(праворуч)
n_L, n_R : кількість зразків у лівому й правому нащадках
n : загальна кількість зразків у батьківському вузлі
Приріст інформації (режим ентропії):
H(вузол) = - sum_k p_k * log2(p_k)
Приріст = H(батько) - (n_L/n)*H(ліворуч) - (n_R/n)*H(праворуч)
Прогноз листка: мажоритарний клас навчальних зразків у цьому листку
Обрізання: зупинитись, якщо depth >= max_depth або n < min_samples_leaf
Симуляція наочно демонструє проблему перенавчання. Дерево, вирощене до максимальної глибини на зашумленому наборі даних, вирізає крихітні острівці навколо кожного викиду — зубчасту, горбисту межу рішення, яка провалиться на нових даних. Обмеження глибини до 3 чи 4 дає грубішу, але значно краще узагальнювану межу. Супутня симуляція випадкового лісу (з devlog #95) показує, як усереднення 50 таких дерев згладжує цю дисперсію.
CART також використовується для регресії (мінімізуючи середньоквадратичну похибку замість Джині), і це базовий алгоритм навчання, на якому будуються ансамблі дерев з градієнтним бустингом на кшталт XGBoost і LightGBM. Вихід важливості ознак дерева CART (виміряний як сумарне зменшення домішки, приписане кожній ознаці) дає інтуїтивне, хоч і зміщене, ранжування того, які вхідні дані мають найбільше значення.
IV. Q-навчання — навчання через дію
🤖Агент Q-навчання — рівняння Беллмана та світ сітки
Спостерігайте, як теплова карта Q-таблиці оновлюється в реальному часі, поки агент досліджує сітку зі стінами, винагородами й штрафами. Регулюйте швидкість навчання, коефіцієнт дисконтування та спад epsilon.
Навчання з підкріпленням — це наука навчання на наслідках. На відміну від навчання з учителем, яке потребує розмічених навчальних даних, агент RL вчиться, пробуючи дії, отримуючи винагороди чи штрафи й відповідно оновлюючи свою поведінку. Q-навчання — один із найстаріших і найелегантніших алгоритмів RL: він доведено збігається до оптимальної політики в табличних середовищах, не потребуючи моделі того, як працює середовище.
Агент підтримує таблицю Q(s, a), що оцінює очікувану загальну дисконтовану винагороду за виконання дії a у стані s з подальшою оптимальною поведінкою. Це функція цінності дії Q*. Після кожного переходу (s, a) → (r, s′) рівняння Беллмана дає цільове значення: негайну винагороду r плюс найкраще можливе майбутнє значення з s′, дисконтоване на γ. Q-значення оновлюється в напрямку цього цільового значення невеликим кроком α.
Ціль Беллмана: y = r + gamma * max_{a'} Q(s', a')
Оновлення TD: Q(s, a) += alpha * [y - Q(s, a)]
alpha : швидкість навчання (напр., 0.1 — менше = повільніше, але стабільніше)
gamma : коефіцієнт дисконтування (0.9 = цінує винагороди за 10 кроків уперед)
r : сигнал винагороди (+1 за ціль, -1 за яму, 0 в інших випадках)
Політика: epsilon-жадібна
з імовірністю epsilon : виконати випадкову дію (дослідження)
з імовірністю 1-epsilon : виконати argmax_a Q(s, a) (використання)
epsilon спадає з кожним епізодом: eps *= decay_rate
Симуляція візуалізує Q-таблицю як теплову карту: кожна клітинка показує максимальне Q-значення серед усіх дій, яке можна тлумачити як «наскільки добре перебувати в цьому стані?». На початку навчання карта однорідна. У міру накопичення досвіду агентом значення поширюються назад від винагороди через беллманівську рекурсію — процес, званий приписуванням заслуг тимчасовою різницею — і теплова карта розвиває градієнт, що вказує на ціль.
ε-жадібна політика розв'язує дилему дослідження-використання найпростішим можливим способом: додає випадковість для дослідження невідомих станів, але здебільшого використовує накопичені знання. Якщо встановити ε занадто високим, агент ніколи не збігається; занадто низьким — застрягає в локальному оптимумі. Симуляція дозволяє безпосередньо спостерігати це напруження, заморожуючи ε на різних значеннях і перевіряючи, чи знаходить агент оптимальний шлях.
Q-навчання є позаполітичним (off-policy): воно оновлюється в напрямку жадібної дії max_a' Q(s', a') незалежно від того, яку дію насправді обрала поведінкова політика. Саме це дозволяє навчатися на дослідницьких траєкторіях без зміщення — ключова теоретична перевага над таким методами «на політиці», як SARSA.