Data Talk #176: Aneta Furmanová (FEL, ČVUT)
epizoda#176 | vyšlo | délka | 507 poslechů | permalink | mp3
V nové epizodě Data Talk jsme si s Anetou Furmanovou povídali o tom, jak smysluplně využívat strojové učení ve vědě – a kde naráží limity black-box modelů. Aneta přiblížila svět akustiky od sonických krystalů až po reálné problémy s hlukem a vibracemi a ukázala, proč je důležité rozumět fyzikálním principům za daty. Velkou část jsme věnovali interpretovatelnému ML a symbolické regresi jako cestě k objevování rovnic místo pouhých predikcí. Došlo i na praktické zkušenosti s PySR a práci s omezeným množstvím dat. Pokud řešíte, kdy (ne)použít neuronky a jak dostat z dat víc než jen číslo, tahle epizoda stojí za poslech.
Strojový přepis
Dobrý den, moje jméno je Jirka Vicherek a vítám vás u dalšího dílu podcastu Datatalk. Mou dnešní vzácnou hostkou je Aneta Furmanová, doktorandka na Fakultě elektrotechnické ČVUT v oboru akustiky a výherkyně soutěže o nejlepší diplomovou práci v IT – IT Spy 2025. Ahoj, Aneto. Ahoj.
Dnes se podíváme na obor akustiky a zaměříme se na výhody interpretovatelných modelů. To jsou témata, o kterých budeme mluvit. Důvodem je diplomová práce, se kterou Aneta vyhrála IT Spy 2025, a která se jmenuje Modelování vlastností pásové struktury sonických krystalů pomocí strojového učení. Celý název je přesně takový. Moc se na to těším.
Začněme ale na začátku. Co tě přivedlo na Fakultu elektrotechnickou a co tě pak dovelo k oboru akustiky?
Já jsem začala studovat obor lékařská elektronika a bioinformatika, který mě velmi zaujal, protože zahrnuje spojení jak elektroniky a techniky, tak medicíny. Původně mě zajímaly neurovědy. Během bakalářského studia jsem ale dostala nabídku dělat bakalářskou práci ve skupině zaměřené na akustiku, což mě začalo opravdu bavit.
Tehdy bylo tématem například akustická černá díra, což zní možná trochu jako klimatizace a větrání, ale ve skutečnosti se jednalo o zařízení, které na konci odstraňuje ozvěny – tedy anechoický prostor, bez žádného echa a ruchu. Ten zvuk tam nemá zpětně žádný odraz. Pro mě bylo opravdu příjemné mít na pozadí hluboké tóny, které nejsou rušivé.
Díky bakalářské práci jsem měla první publikaci na konferenci. Tahle konference byla pro mě velmi motivační, protože ukázala, jak široké téma akustiky je. Člověk tam slyšel o podmořské akustice, využití echolokace, chování velryb, pak klasická témata jako elektroakustika, mikrofony, prostorové odhlučnění budov, ale také například detekci osteoporózy pomocí poklepávání na kost.
Zdá se mi, že o akustice se v běžném veřejném prostoru nemluví tolik jako třeba o podmořském prostředí, což je paradox. Měli bychom o akustice slyšet mnohem více.
Určitě ano, akustika má vliv na náš well-being, tedy jak člověk existuje a v jakém prostředí může fungovat. Akustika je poslední dobou čím dál více zmiňována, například nedávno světovoumu povědomí pomohla akce v Praze v lednu, kde se diskutovalo o tom, kolik hluku nás během dne obtěžuje. Po lednu to sice trochu utichlo, ale téma je rozhodně důležité.
Takže tvá láska k akustice vznikla skrze konferenci a rozmanitost témat od velryb až po průmyslové využití?
Ano, přesně tak.
Co byl pak další krok?
Na diplomové práci jsem začala pracovat na trochu jiném tématu – na studiu sonických krystalů. Sonické krystaly jsou v podstatě fluida, či fyzikální struktury obdobné pásovým strukturám elektronů v krystalech. V elektronových krystalech existují pásy, kde elektrony nemohou existovat. Stejné to platí u sonických krystalů, ale místo elektronů se to týká frekvencí zvuku. Na určitých frekvencích zvuk v sonickém krystalu nemůže existovat.
To je způsobeno tzv. Braggovým rozptylem, což znamená, že se vzájemně ruší vlny, takže zvuk v určitém frekvenčním pásmu zaniká – vzniká zakázaný pás, kterým zvuk neprochází, což lze přirovnat k tlumení.
Aby si to člověk lépe představil – klasické protihlukové bariéry podél dálnic jsou většinou pevné a nepropustné. To může být problém, protože při uzavřených bariérách se na silnicích mohou tvořit zácpy a spaliny se nemohou odvádět pryč. Řidiči tam pak mohou mít potíže, protože vzduch se špatně vyměňuje.
Alternativou jsou propustné zvukové bariéry, které mohou být tvořené sonickými krystaly. Tým vědců ve Španělsku a Portugalsku na tom pracuje. Sonické krystaly tvoří 1 až 5 řad sloupů, kde záleží na jejich uspořádání a materiálu. Zvuk, který narazí na sloup, se odrazí a potká zvukovou vlnu od jiného sloupu, a tyto vlny se navzájem ruší, takže na druhé straně téměř neslyšíte, že tam dálnice je, přičemž vzduch může volně procházet.
Kdyby nastala nouzová situace a lidé by museli utíkat, nemuseli by hledat nejbližší bezpečnostní východ, protože by mohli volně projít mezi těmi sloupy.
O sonických krystalech slyším poprvé. Jsou to skutečné krystaly na molekulární úrovni, nebo je to jen označení principu?
Je to jen označení principu. Vlastně jde o krystalové struktury, ovšem mnohem větší, protože se týkají vlnových délek. U elektronů nebo fotonů jsou tyto struktury miniaturní – v řádu mikrometrů či menších. U zvuku jsou vlnové délky mnohem delší – hluboké a rušivé tóny, které zkoušíme tlumit, mají vlnovou délku v řádu metrů. Proto i struktury sonických krystalů musejí být v řádu metrů nebo podle cílových frekvencí.
Mohu ty sonické krystaly vidět už dnes? Dáváš příklad dálnic, ale je to zatím jen výzkum?
Momentálně se na tom pracuje jako na výzkumném projektu. Já se nepodílím na implementaci, ale týmy stále měří, jak nejlépe udělat struktury, které nejefektivněji zachytí zvuk.
Nicméně myslím, že už na několika místech byly sonické krystaly aplikovány v praxi. Na internetu lze najít fotografie těchto konstrukcí postavených kolem dálnic. Některé týmy vytvářejí i tzv. „origami“ sonické krystaly, které lze přestavovat a měnit konfiguraci podle potřeby.
Poprvé byl takto otestován sonický krystal na soše od Sebilsempery v Madridu. Socha stojí dodnes, ačkoliv autor o fenoménu, který vytvořil, nevěděl. Vědci zjistili, že některé frekvence skrz tuto konstrukci neprocházejí, což potvrdilo přítomnost zakázaných pásů.
Autor sochy zjistil, že když u ní stojí, slyší výrazně méně okolního hluku, například větru. Pro mě je to fascinující, že postavil první sonický krystal prakticky „náhodou“.
Co tě osobně vedlo k práci na sonických krystalech? Vybral ti to vedoucí, nebo to byla tvoje volba?
Vedoucí mi nabídl několik témat, a já si pak vybírala podle toho, co mě zaujalo a co v dané době bylo aktuální. Já jsem věděla, že chci práci propojit se strojovým učením, protože mě toto téma bavilo. Nepřemýšlela jsem moc nad tím, co konkrétně studovat, ale lákalo mě používat metodiku strojového učení a práci s velkými daty.
Úkolem bylo propojit geometrii sonického krystalu, tedy to, jak se liší struktura vlnovodů a periodických buněk, s frekvenčními vlastnostmi, tedy přenosností zvuku a šířkou zakázaných pásem. Cílem bylo lépe porozumět tomu, jak geometrie ovlivňuje přenos a tím být schopni navrhovat a vylepšovat nové konstrukce.
Velkou otázkou byla metodika přístupu. Na jedné straně byla geometrie, na druhé hodnoty přenosu – například šířka zakázaných pásem, jejich umístění či disperzní křivka, která tyto informace zahrnuje.
První, co by člověka napadlo, je použít neuronové sítě, tedy jednoduché propojení vstupů a výstupů. To je skvělé například v průmyslových aplikacích, kde máš konkrétní zařízení a testuješ, zda funguje správně, aby se předcházelo katastrofám – například, jestli jsou správně umístěné lopatky turbíny.
My jsme ale chtěli něco víc než jen „black box“ model, který síť vytvoří. Potřebovali jsme interpretovatelný model, se kterým můžeme dále pracovat.
Zatímco neuronové sítě jsou častou volbou, my jsme se inspirovali fyzikálně informovaným strojovým učením. Tento přístup představuje Steve Brunton z University of Washington, který má velmi kvalitní materiály a videa na YouTube. On ukazuje, jak využít strojové učení k fyzikálním problémům a propojit fyzikální rovnice s učením modelu.
Práce na mé diplomové práci vycházela z těchto materiálů a přístupů. Použili jsme tzv. kandidátní knihovnu funkcí – například sinusy, kosinusy, polynomy – a cílem bylo pomocí regrese vybrat, které funkce v modelu opravdu hrají roli a které jsou zbytečné.
Podle principu Ockhamovy břitvy jsme hledali nejjednodušší model, tedy co nejvíce řídký a nepřekomplikovaný.
Použili jsme metodu, která má i podmínky na vyřazování funkcí s minimálním vlivem. Místo neurčitých vah, které se mezi kandidátními členy možná dělí, metoda vyřadí funkce, které nehrají významnou roli – ty jsou nulovány a model tak zůstává co nejjednodušší.
Tento přístup dobře fungoval, když jsme měli pouze dva geometrické parametry. Zjistili jsme, že s těmito parametry lze dostatečně ovládat přenos zvuku a šířku zakázaných pásem.
Jaké konkrétní parametry to byly?
Parametry definovaly průřez. Konkrétně jsme parametrizovali průřez v dvou dimenzích pomocí funkce – například sinus na druhou. Parametry byly amplituda a vychýlení siluety průřezu.
Zjistili jsme však, že s těmito parametry nedokážeme dobře otevírat a zavírat mezery (gapy) a designovat lepší řešení.
Tímto končí text, který jste poslala. Pokud chcete, mohu pokračovat nebo něco upřesnit.
Vymyslíme nějaké předatelné obdélníkové krystaly. A tak jsme šli po jiném modelu, kde jsme měli dva geometrické parametry, ale byli jsme schopni relativně dostatečně dobře ovládat ty přenosy, vlastně tu šířku toho pásma, kde se to tlumí.
A splajn, jo, jo, jo, to kubický splajn. Já už se na to teďka rok nesahala, takže jsem zapomněla detaily. To jsem fakt v detailu, myslím si, že jestli jsou tři lidé, co jsou schopni tě na tom nachytat, tak je to dobré. Ten kubický splajn znamená, že se vlastně hýbaly hodnoty těch kubických splajnů, že jsme měli jako zafixovaný začátek a konec, že to musí být křivka, vlastně že první derivace toho profilu musí být nulová, aby se na sebe ty body mohly napojovat bez skoku. Podmínka byla, aby ta generovaná křivka byla hladká, a pak jsme měli vlastně dva body, které mohly libovolně hýbat, a tudíž jako čtyři parametry. To jsme měli jako generátor profilu.
Ve chvíli, kdy jsme měli čtyři parametry, tak takováhle kandidátní řešení narostla hrozně moc. A to vlastně stopčilo znázornění. Navíc tam došlo k tomu, že my tvoříme tu kandidátní křivku nějak, ale existuje spousta dalších alternativ, co bychom tam mohli dát. Typu kombinací jiných krátkosinusů, kombinací těch parametrů mezi sebou, a dělat v tom mocitovou vlastnost by znamenalo vlastně vylistovat všechny, které tam potenciálně mohou být, a už by to nebylo na nízkoúrovňový search, to už by bylo horké. A v tu chvíli jsme se…
Možná ještě proč… Co je ta variabilita? Chápu, že jste to chtěli podchytit všechno, ale nevím, jak si to představit v tom reálném světě. Co znamená všechno? Že ten zvuk jde z jiné strany? To už jste podchytili v tom předchozím kroku, že ten zvuk jde z jedné strany na druhou. Ale teď byla otázka, jak třeba široké je to pásmo, na čem závisí šířka toho pásma, kdy ten zvuk nepropustí. A teď je to lineární závislost na těch parametrech, závisí to na všech čtyřech geometrických parametrech, závisí to jenom na jednom, závisí to na jejich kombinaci, závisí to na kombinaci dvou z nich, tří z nich, je ta kombinace lineární, je ta kombinace kvadratická, je to třeba jen jeden člen, nebo je to jenom třetí. A teď vlastně je spousta variant, jak kombinovat ty geometrické parametry mezi sebou, a vylezl z toho nějaký výsledek, kudy jde šířka toho pásma, kde to nepropustí zvuk.
Máme tohle vyřešené v jiné doméně než sousonických krystalech? To jsou pak už jiné struktury a bude to tam fungovat jinak, takže myslím si, že oni to tam mohou mít nějak vyřešené, to přeměření.
Ok, ok. My jsme měli samozřejmě nějaký počáteční odhad na základě znalostí fyziky v okolí, ale stále jsme přesně nevěděli dost na to, abychom si řekli: dali jsme tam opravdu všechny členy a neexistuje šance, že by tam byl nějaký, který nám unikl. Protože pokud nám nějaký unikl, tak to znamená, že se budou snahat ty členy nějak nahradit nějakými, a to by bylo jakési bastlení z různých variant, ale vlastně by nám tam chyběla podstatná složka.
Takže jsme potřebovali něco, co by tady značilo vlastně supervizovaný přístup, abychom se mohli zbavit toho, že uděláme během stavby chybu, ale aby se tam nezanášel náš vlastní bias v tom, co si myslíme o tom, a vlastně to třeba nemuselo být úplně pravda. Potřebovali jsme něco, co zvládne fungovat nesupervizovaně, dejme tomu fakt jenom na základě parametrů, a na výstupu nám to dá třeba šířku toho pásma.
Našli jsme symbolickou regresi, což je regresní model na predikování, a to vyšlo těsně předtím, než jsem začala dělat diplomovou práci, takže to bylo super. Je to knihovna PySIR, Pyšlen symbolická regrese od Malce Cranmera, a je to postavené na tom, že si vlastně vezmeme ty výrazy prezentovat jako stromy, jako grafy, a ty stromy mezi sebou můžeme mutovat. Je to postavené na genetických algoritmech, evolučních algoritmech, ty stromy výrazů se vlastně mutují mezi sebou, nebo tam dochází k prořezávání, a potom …
To znamená, že jako v těch optimalizacích se vlastně optimalizují koeficienty, ať už jako násobky v těch stromech. To jsme použili a docela to fungovalo dobře.
No a teď mne trochu ztratíš, když se podívám na tu knihovnu, tak zaprvé chápu symbolickou regresi – je hodně lineární, dává ti rovnice o velké šířce, není to omezené, nesvazuje tě to v jednom řešení nebo jednom pohledu, je to svobodnější, vlastně můžeš z toho dostat něco hodně jiného.
Jo, ještě se chytám, ještě to nežeru moc. Jo, jo, přesně tak.
Super. A teď ta knihovna do toho vnáší nějaký genetický algoritmus, což znamená, že z těch výsledků to promíchá, některé se vyruší z dvou dobrých kandidátů nebo dobých rovnic, vznikne třetí, která je lepší než ty dvě, a tak pokračuje. A výhoda je, že na konci nedostaneš jenom jednu rovnici, ale celou řadu rovnic, jejichž seznam je seřazený od nejkratších rovnic, kdy ty stromy jsou nejmenší – třeba s jedním uzlem –, ale zároveň jsou nejpřesnější, až po komplikovanější výrazy, které jsou velmi přesné, a pak odsudé.
Hele, já chci interpretovat, já jenom to chci.
No a když se na to podíváme, co by z toho vylezlo? Nebo úplně konkrétně – ten jednoduchý, ale méně přesný, byl to jeden řádek? Byl to jeden řádek, všechny ty rovnice byly vlastně jenom jeden řádek a šlo spíš o to, kolik členů tam třeba je.
Nějaký jednodušší vysvětlení, že ta první, ta takzvaně klíčová pro šířku pásma, těch bandgapů, kde je propouští, záleží na takzvané frekvenci, na tom, kolik objemu těch buněk ubereme nebo přidáme. To souvisí hned v literatuře, a vlastně ještě studie, které to potvrdily, že kombinace těch parametrů ve vzorci vedla k tomu, že ano, záleží na objemu.
Pak u dalších bandgapů třeba vyšlo, že záleží na tom, jak vlastně lokalizujeme tu geometrii – že když bychom měli vlnku, bude posunutá na jednu stranu, a tím pádem bude ten bandgap širší nebo užší.
A v tu chvíli to byl nějaký maximum, minimum funkcí a těch parametrů, a pak vlastně nezávisle od tohohle. No a zase v tomto konkrétním případě, jak jsi určovala, která z těch rovnic je ideální kandidát?
Myslím, že hodnoty těch lossů tvoří takovou Pareto křivku. Takže člověk většinou bere to, co je v lokti té Pareto křivky, protože ví, že tam je nejlepší trade-off.
A pak člověk vybírá, kterou rovnici mu přijde fyzikálně smysluplná, ze které by dělal další analýzy, které by pořád dobře popisovaly systém.
Co jsem zapomněla říct, je, že do symbolické regrese můžeš implementovat i vlastní loss funkce. Takže pokud víš o systému něco navíc, než jen analyzovat statisticky na základě jiných vzdáleností mezi targetem a predikcí, tak my jsme věděli, že pokud do toho pošleš vlnu zleva a vlnu zprava, musí být symetrické.
Takže jsme to implementovali do téhle funkce jako symetrii, aby už automaticky nevyhazovala projekci věcí, u kterých by ty rovnice tu symetrii nenaplňovaly.
Proto jsem musela každou rovnici probrat, zda splňuje fyzikální vlastnosti, které potřebujeme, aby splňovala, a pokud ne, vyškrkla jsem ji.
Pak vzniklo menší množství rovnic, které tyto požadavky splňovaly, a s těmi jsme teprve pracovali.
Říkali jsme si, že můžeme mít i fyzikálně informované loss funkce, což nám hodně pomohlo, ale zároveň nám to uznávalo před zpracováním, co dává smysl, a neukazovalo nám výsledky, které by byly fyzikálně nesmyslné.
Když o tom mluvíš, začínám chápat, proč dát na to black box a neuronovou síť byste vlastně přišli o značnou část toho know-how, výzkumu a těch insightů.
Ta nejjednodušší rovnice vám potvrdila některé věci, které už byly popsané, a ve složitějších byly nové objevy.
Určitě, protože my jsme tušili jen u prvního bandgapu, že záleží na objemu, ale o zbytku jsme nevěděli nic, jak to má být.
Lidé to do té doby řešili tak, že měli analytickou rovnici k popisu systému a řešili numericky.
I optimalizace znamenaly, že když člověk řešil rovnice a zjistil, že návrh není dost dobrý, navrhl jiné parametry a musel to znovu přepočítat.
Byla to taková lupa, když člověk chtěl zjistit, jaký vliv mají jednotlivé parametry.
My jsme ale dostali rovnice, které popisují třeba šířku bandgapu, což předtím neznali.
Na základě toho můžeme vydat návrh, který je krátkým gradientním sestupem nebo obyčejným sestupem, numericky jsme schopni navrhnout, když máme zadanou šířku pásma a střed pásma, dvě řešení.
Z těchto poznatků bylo mnoho nových věcí, které jsme do té doby nevěděli.
Některé věci potvrdily naše předchozí znalosti, některé přinesly nové, které odhalily, jak ten systém funguje.
Takže už nejde jen o měření vstupů a výstupů, ale o chytřejší transformaci systému, s hlubší znalostí o jeho fungování.
Díky tomu o systému lépe přemýšlíš a víš, jak ho navrhovat, nejen analyzovat stávající model.
Samozřejmě, fyzikálně informované loss funkce nejsou záležitostí jen simulací; teď je trend používat je v celém machine learningu.
Pokud se člověk nezabývá vizí, například, jde o to, že dokáže do množin funkcí implementovat to, co už o systému ví, a ne jen o tvorbu datasetů nebo transformaci souřadnic.
Toto lze udělat i u neuronových sítí, my jsme to dělali v lepším pojetí.
Pak jsem dělala krátkou práci na výpočet v prostoru v jakusických krystalech, teď na tom děláme review, kde lze do loss funkce zadrátovat parciální diferenciální rovnici popisující systém, a neuronku trénovat i bez dat.
Neuronka se pak na základě lossu snaží predikovat a nepotřebuje ground truth.
Samozřejmě jsou další možnosti výzkumu, tento směr velmi rychle postupuje.
Jakmile jdeme do takového projektu, je složité sledovat, co kde fungovalo, výsledky jsou spekulativní, těžko vysvětlitelné, i u diferenciálních rovnic se zkouší vše možné.
Ale tipuju, že na úrovni publikovatelných výsledků tento trik fungoval a bude fungovat i pro nás, což otevírá spoustu možností.
Bylo to těžké a přicházelo se s tím, že když máme hodně dat a rovnice výkon nezvládnou, protože je toho moc, pak jsme dělali i práci na Hamiltonovské kompozici, což je oddělení pole s tokem, kdy potřebujeme oddělit, co dělá přidaný zvuk.
Tady potřebujeme zrychlit výpočty. Když jsme začali s Pythonem, třeba o autech, tocích a turbínkách, tak jsme zrychlili některé mezivýpočty aproximací a využívali fyzikálně informované loss funkce.
Říkala jsem, že neuronové sítě potřebují hodně dat, ale u symbolické regrese to není potřeba tolik.
Třeba tu diplomovou jsem dělala na nějakých řekněme 200 vzorcích, což pro neuronové sítě je málo.
Teď máme ve výzkumu hemoglobinových parametrů a biofyziky jen data u 60 pacientů, a neuronka by z toho vůbec nic neudělala, pokud má třeba 23 a 3 neurony.
Ale symbolická regrese to zvládne i na malých datech.
Takže symbolická regrese nám neříká jen novinky o slunečních krystalech, ale i o krvi a proudění krve.
Přesně tak. Téma je na zpracování plus minus dvě hodiny a nastavení, kdy mají cévy už příliš natíkat, a kdy by se měly začít případně vyškrabávat, byť to je stále ve vývoji, ale již značně pokročilé.
Symbolická regrese je skvělá tím, že v tom algoritmu, jak mi psal Matouš Frekuli z Kijivy, je to super user friendly. Je to napsané v Pythonu, aby bylo přístupné komukoliv, protože Python je jeden z nejpoužívanějších jazyků zejména ve vědě, kde se počítá a porovnává spousta věcí.
Já například teď používám Python právě jako nástroj, i když mu moc nerozumím, což je dobře, protože je to dostupné.
Je to jeden z nejrozšířenějších jazyků, a v tom je i pohodlné implementovat, i když to není nejrychlejší.
Ale v symbolické regresi je trochu problém rychlosti, abychom dostali výsledky, proto ten mechanismus je v Julii, která je v amerických městech oblíbená a umožňuje dělat celou symbolickou regresi v Julii, je to rychlejší.
Ty už jezdíš na Julii? My zatím píšeme jen loss funkce, ale ještě se to moc nepoužívá, ale chceme se přesunout.
Mám pocit, že Python zabil Julii. Byla doba, kdy byla Julia považována za next big thing, ale akademická i komerční sféra si nyní vybírají Python.
Myslím si, že to je i generační věc, protože Julia má potenciál, ale protože je nová, tak před dvěma, třemi lety chyběla…
(rozprava končí)
Chybělo mnoho knihoven a balíčků, a člověk, když z toho vědeckého světa potřeboval rychle něco začít dělat, neměl vlastně čas na to.
Teď…
Tak já budu asi učit takovou novou mládež, takže to převládlo a zvítězila myšlenka, že budu dělat to, co jsem dělala doteďka, ale je to zajímavá alternativa, pokud máte třeba čas se tomu věnovat, chcete to zkusit a chcete se naučit psát to efektivně. Mám pocit, že v tvorbě exportu k nově dostupným algoritmům jsme schopni ten čas zvrhnout.
Jo, asi záleží na oboru. To stoprocentně. Ještě ty jsi mluvila o tom, jak tě knihovna, která řeší symbolickou regresi nebo posouvá symbolickou regresi, znova řekni ten název, prosím.
Pyser, symbolická regrese, Pyser.
Pyser, jak ti vlastně dalo to řešení a zachránilo tě? Máš nějakou představu, jak bys to řešila bez ní?
No, bez ní asi… Co byla jako nejlepší alternativa? Nejsem si jistá, protože symbolickou regresi jsem si představovala nějaký evoluční algoritmus, což je vlastně – já bych řekla – možná jízda, to je jako gradientní sestup (gradient descent), protože konverguje matematicky, adaptivní gradientní sestup (adaptive gradient descent) strategii, kterou jsem využívala už v bakalářce, takže jsem s tím byla obeznámena. Tu si vlastně nějak nedotažilo na něco, co bych chtěla někde, ale asi bychom se museli hrát s těmi parametry, aby se to dalo zvládnout počítat.
Jinak je zajímavé, že nejen tahle knihovna existuje – symbolická regrese – ale jsou i nějaké implementace, ideálně takové, že člověk má před sebou celou neuronovou síť a symbolická regrese se sedá modifikovaná v podobě těch aktivačních funkcí. Člověk tam má třeba nějakou exponenciálu, polynomy a podobně, a pak vlastně převede ty váhy na svou rovnici, nebo váhy trénuje přímo na rovnici.
A funguje to? Jakože se propíše ten insight, co vytvořila neuronová síť, do váhy parametrů té rovnice?
Jo, člověk vlastně natrénuje neuronovou síť, má tam nějaké váhy, pak se podívá, tady u tohoto neuronu, který pak prochází něčím, mám takovouhle váhu, což znamená, že tím, že je ta váha velká, by tady ty výrazy měly nějak přispívat do výsledné rovnice. Ale nějak jsem to blíže nestudovala, protože jsem pak našla tu knihovnu.
Jak jsem právě řekla, ta knihovna není nová, symbolická regrese je téma už od 70. a 80. let, tehdy už bylo toto slavné, akorát problém byl, že neexistovaly uzavřené PLC (programovatelné logické řadiče). A tím, že PLC nebyly v posledních zhruba deseti letech tak známé ve vědecké komunitě, tak knihovna Pyser dělá řešení tak, aby to bylo open source, aby to mohl každý využívat, bylo to dostupné a aby výsledky byly dobře porovnatelné mezi všemi, aby byly stejné, reprodukovatelné.
Někdo to dříve platil za plnou verzi, a nemyslím si, že bychom se dostali do nějakého placeného softwaru na symbolickou regresi.
To mi dává úžasný náboj.
Je nějaká jiná věc, knihovna, kterou bys chtěla vidět v open source a která by vám v akademii, ve fyzice nebo dokonce v akustice, zpříjemnila život, protože vlastně platíte za nějakou knihovnu zabalenou do softwaru?
To teď asi vůbec nevím. Můžu říct, že místo těch metod, těch alternativních – nejenže jsou alternativy v akustice – jsou i alternativy ve fyzice. Třeba ve fyzice máme kupříkladu Synapsi, která je alternativa k ZENU. Ve fyzice máme kupříkladu SYL. A člověk si může naklikat, nebo naprogramovat funkce, v tom SYLu si může definovat program, co chce, aby tam běželo. Nevím, kdo tam je, že to je nějaké klikací GUI, kterým to nakliká každý, ale docela se to přibližuje implementaci, a pak už využívá SYL.
Akorát to ještě není úplné, třeba všechny rovnice v tom SYLu jsou vlastní, ale je to fajn, zkoušela jsem to a líbí se mi to.
Super, tak držím palce a moc chci, ať je víc open source ve vědě a ať věda není blokována něčím tímhle.
Jak pokračuje tvůj výzkum? Jak uzavřela tuto diplomovou práci?
Kde máš nějaké informace?
Na tu diplomovou práci navázala Šístojenka se svojí bakalářkou, kdy přeformulovala ten problém, aby se dal vyřešit jako Monte Carlo, aby to bylo jen pro laskavý zvuk, ale aby to byl elastický model vibrace. Takže to byl model vibrace, z užitkové membrány to bylo vidět, a přeformulovala ty elastické elementy a potom…
Promiň, teď zase, kde končí zvuk a kde začíná vibrace?
Vibrace znamená, že ty vlny jsou elastické, šíří se trochu materiálem. Můj táz byl o šíření vzduchem, a druhý zaměření bylo na elastické vlivy v materiálu, kdy se šíří ne vzduchem, ale nějakým konkrétním materiálem, který má určitou hmotu a další parametry.
A pak, protože jsem už měla pokrytý symojskore (?), už mi nestačila informace, kterou mám v symoj, aby to bylo jen pro laskavý zvuk, ale aby to byl elastický model membrány. Takže šlo o elastický model membrány z užitkové membrány a přeformulovat jako elastické elementy a potom…
A pokud to chápu správně, ty víš, kde říznout šum, zlepšíš výpočet, zjednodušíš ho, aniž bys přišla o signál. A zároveň, i když získáš jednodušší výpočet, už z toho seznamu rovnic víš, kde hledat, co má být vstup, aby ty rovnice byly co nejlepší.
Na tom nyní pracuješ?
Hledáš rovnice pro čtverečky v mikrofonech, abychom měli model celého mikrofonu, mohli experimentovat a virtuálně říci, jak vyrobit lepší mikrofony?
To asi nevymyslím úplně lepší mikrofony, ale aby člověk dokázal odfiltrovat jevy, které u malých levnějších mikrofonů vznikají a které bychom nechtěli, aby se tyto jevy daly predikovat a korigovat výsledky pomocí této metody.
To je přiblížení, protože akustika není moje doména.
Tvoje doména jsou symbolické regrese, což je skvělé. Pokračuješ v akademii?
Vlastně jsem teď začala doktorát v září, který je na čtyři roky, a pak se uvidí.
Mám velkou radost, že jsi byla u nás v podcastu. Moc bych si přála víc vědců a vědkyň a dalších lidí z akademie v podcastu, protože mi to přijde fascinující a to je základ.
Držím moc palce s doktorátem, ať ho projdeš bez problémů, protože akademické prostředí není vždy jednoduché a nenabízí většinou ani dobré finanční ohodnocení. Bylo by fajn, kdyby lidé ve vědě a výzkumu více vydrželi. A věřím, že už za čtyři roky nebo i dříve se o tebe budou zajímat, protože to, co jsi tady dneska vyprávěla o přístupu a myšlení, je úžasné.
Děkuju moc, mám z toho velkou radost. A víc tvých kolegů i kolegyň z akademie, klidně i z akustiky, díky, že jsi nás takto obohatila. Už vím, co jsou sonické krystaly.
Děkuji za pozvání. Jenom pro posluchače bych chtěla doporučit, pokud je zajímá více fyzika, tak si na stránce fyzikální středky najít přednášky nejnovějších fyzikálních informací, třeba o odlanových sítích a symbolické regresi. Určitě to stojí za to.
A minimálně se podívejte na IT Spies, protože Anetina diplomová práce není jen jeden zajímavý příklad nového výzkumu a použití IT a strojového učení, je tam více fascinujících příběhů a metod.
Děkujeme moc za poslech a ať vás provází data.
Děkujeme, že jste doposlouchali až sem, a díky také našim stálým partnerům a členům Data Talk klubu. Těmi jsou SASka, TV Nova, Direct Technologies, GoodData, Myton, Colors of Data, Beastreet, Flow, Carl Data Company a Intex. Díky moc za podporu a nechť vás provází data.