Že jsou naše AI školení skutečnosti o něco víc než o „povídání o umělé inteligenci“, je vidět z následující případové studie. Naším cílem je, aby si tým z každého kurzu a workshopu odnesl něco, co se dá hned používat v jejich práci. Skvělou ukázkou je program, který jsme vyvinuli během série školení práce s umělou inteligencí ve Výzkumném a šlechtitelském ústacu ovocnářském v Holovousech.
Nšlo jen o sadu slidů, ale konkrétní nástroj: výpočetní model, který vědcům pomáhá vybírat vhodné rodičovské kombinace třešní, šetří čas a zpřehledňuje rozhodování. Tento postup je základem pro marker-assisted selection (MAS), kde se nehledí jen na fenotyp, ale matematicky se modeluje pravděpodobnost přenosu konkrétních alel.
Šlechtitelský tým má desítky až stovky odrůd, pro každou detailní genotyp a představu o tom, které molekulární markery jsou žádoucí. Jakmile ale počet odrůd stoupne, počet možných křížení se rychle dostane na desítek a klidně i stovek tisíc kombinací. Ruční výběr už pak není jen nepohodlný, ale prakticky nerealizovatelný, pokud má mít oporu v datech a nejen v intuici.
Cílem projektu tedy bylo postavit model, který dokáže každé možné křížení dvou odrůd číselně ohodnotit z genetického hlediska – tak, aby šlechtitel dostal seřazený seznam variant, měl pod kontrolou, jak se skóre počítá, a zároveň bylo možné tento model v další fázi napojit na učení se z reálných dat.
Z čeho model vychází
Vstupem jsou genotypová data jednotlivých odrůd. Pro každý marker je genotyp zapsaný ve formátu „0|0“, „0|1“, „1|0“, „1|1“. Hodnota „1“ reprezentuje příznivou alelu, „0“ nepříznivou. Markery jsou rozdělené do dvou skupin souvisejících s určitými vlastnostmi výsledného plodu a pro každý marker existuje váha, která říká, jak moc daný marker přispívá k výsledné vlastnosti.
Alela označuje variantu jednoho genu. Každý gen se na chromozomu vyskytuje v určité pozici a může existovat v různých verzích, které nesou mírně odlišnou informaci. Právě tyto jednotlivé verze se nazývají alely. Plod má obvykle dvě alely téhož genu, jednu od matky a jednu od otce. Pokud jsou obě stejné, říká se tomu homozygot. Pokud jsou rozdílné, jde o heterozygota.
To, co jsme postavili, není tabulka „když je 1|1, přičti X bodů“. Využíváme Mendelovskou segregaci alel, takže algoritmus počítá, co se stane v potomstvu F1 (= první generace potomků – první Filiální generace), ne jen to, jak vypadají rodiče. Každý genotyp u rodiče převádíme na pravděpodobnost, s jakou předá potomstvu „dobrou“ alelu. Homozygot 0|0 předává v gametách vždy 0 (pravděpodobnost „jedničky“ je 0), heterozygot 0|1 zhruba půl na půl (0,5) a homozygot 1|1 vždy 1. Tím dostaneme pro každý marker a každou odrůdu jednoduché číslo p(1) mezi 0 a 1.
Když spojíme dva rodiče, skládáme tyto pravděpodobnosti dohromady: počítáme, jak často v F1 vznikne potomstvo se dvěma příznivými alelami, jak často se smíšeným genotypem a jak často se dvěma nepříznivými alelami. To děláme samostatně pro každý marker. Výsledek není hrubý odhad, ale detailní pravděpodobnostní rozdělení genotypů u potomků.
Skórování křížení
Genetická realita je pak stlačena do pár čísel, se kterými lze pracovat. U každého markeru mají tři možné genotypové situace v potomstvu různé „hodnoty“: potomci se dvěma příznivými alelami dostávají plné hodnocení, heterozygoti střední, potomci se dvěma nepříznivými alelami nulové. Z pravděpodobností jednotlivých genotypů se spočítá očekávaná hodnota pro daný marker. Tato hodnota se vynásobí vahou markeru a sečte přes všechny markery spojené s vlastnostmi plodu.
Výsledkem pro každé křížení je sada čísel:
- souhrnné skóre pro jednotlivé vlastnosti postavené na očekávané kvalitě F1,
- varianty těchto skóre zaměřené víc na „fixaci“ (preferují kombinace, kde je vysoká šance na zafixování příznivých genotypů),
- souhrnný index, který kombinuje sledované vlastnosti podle zadaných vah.
Celý výpočet kombinuje efektivní generování kombinací s vektorovými operacemi nad genotypy. Pro n odrůd a m markerů má výpočet řádově složitost n²·m. To znamená, že i pro desítky odrůd projde model všechny dvojice rodičů během několika sekund, což je pro šlechtitele prakticky okamžitá odezva.
Od skriptu k nástroji, který se dá používat každý den
Samotný skript v Pythonu funguje jako výpočetní jádro. To ale nestačí, pokud má výsledek sloužit v běžné praxi, ne jen jako jednorázová analýza. Na model jsme proto navázali dvě vrstvy: export do tabulkového formátu (Excel) a lehké aplikační rozhraní.
Excelový výstup není jen syrový seznam desítek tisíc řádků. Nad hodnotami pro jednotlivé valstnosti a souhrnný index aplikujeme barevné škály tzv. „heatmapu“. šlechtitel tak nemusí číst čísla, ale vidí, kde jsou skutečné špičky a kde jen průměr. Tím se analytický výsledek stává vizuálním nástrojem.
Další krok je webová aplikace, která nad stejnými daty umožňuje interaktivní práci. Uživatel si vybere konkrétní odrůdu jako potenciálního rodiče a nástroj mu okamžitě vrátí seznam jejích nejvhodnějších partnerů. Tabulka není omezená na jedno skóre, ale ukazuje rozpad na příspěvek pro jednotlivé vlastnosti, odhad „fixace“ a odhad průměrné úrovně potomstva. Odrůdy lze filtrovat podle minimální hodnoty indexu, počtu zobrazených kandidátů a dalších parametrů. Díky tomu se model nestaví proti šlechtitelské intuici, ale doplňuje ji – šlechtitel dostane kandidátní seznam a pak si expertně vybírá, s čím bude dál pracovat v poli.
Technicky je jádro implementované v Pythonu pomocí knihoven NumPy a pandas, aplikační vrstvy stojí na Streamlitu a openpyxl. Jde o kombinaci genetického modelu, algoritmického návrhu a datového inženýrství. Zároveň zůstává vše transparentní: každé číslo lze zpětně vysvětlit a zkontrolovat.
Jaký typ „inteligence“ tady vlastně je
Je fér přiznat, že samotný model, jak běží dnes, není strojové učení (AI). Neučí se z dat, nemá neurální síť ani jiné adaptivní jádro. Je to čistý pravděpodobnostní výpočetní model, který využívá Mendelovské dědičnosti a vážené agregace. Hodnota řešení není v buzzwordech, ale v tom, jak dobře a jednoduše propojuje genetický přístup šlechtitelů s výpočetní kapacitou.
Současně jsme ale model navrhli tak, aby na něj šlo navázat případné AI modely. Váhy markerů, které dnes přicházejí z genetických analýz a expertních odhadů, lze v budoucnu nahradit vrstvou, která je odhaduje z reálných dat o potomstvu. Jakmile bude k dispozici dost pozorování (genotyp + fenotyp u potomků z různých křížení), může nastoupit regresní nebo bayesovský model, případně vhodně zvolený algoritmus strojového učení. Ten bude hledat vztah mezi genotypem a fenotypem a váhy markerů aktualizovat tak, aby co nejlépe odpovídaly skutečně naměřeným výsledkům ve vašich podmínkách.
Současná verze tedy stojí někde mezi klasickou kvantitativní genetikou a plně datově řízeným přístupem. Odstraňuje hrubou mechanickou práci (přepočítávání kombinací, sledování markerů, ruční vážení) a standardizuje genetickou část rozhodování. Zároveň vytváří čisté, strukturované rozhraní, na které lze časem připojit adaptivní vrstvu, pokud se rozhodnete do sběru a využití dat investovat.
Co to v praxi dělá se šlechtitelskou prací
Z pohledu šlechtitele se změnilo několik zásadních věcí. Místo toho, aby ručně procházel možné kombinace rodičů, má k dispozici nástroj, který systematicky ohodnotí všechny dvojice odrůd, seřadí je podle geneticky definovaného indexu a vizuálně vyznačí kombinace, které stojí za pozornost. Může pracovat s desetitisíci křížení, ale v praxi se dívá jen na úzký výběr těch nejlepších, u kterých navíc vidí, odkud jejich výhoda pochází – jestli táhnou především markery spojené s konkrétní vlastností, nebo jestli jde o kombinovaný přínos více vlastností.
Pro nás tohle není jen další „AI demo“, ale ukázka toho, jak lze s pomocí výpočetní matematiky a solidního návrhu algoritmu převést šlechtitelskou expertízu do nástroje, který škáluje. A zároveň jde o prostor, kam má smysl přidávat další vrstvy analýzy – v okamžiku, kdy datasety dorostou do velikosti, kde se strojové učení stane přirozeným dalším krokem, ne samoúčelnou nálepkou.