Každý programátor jistě sní o… Programu, který by za něj psal další programy, zatímco on by s nohami nahoře kdesi v tropech popíjel dobře vychlazené pivo a počítal dividendy. Vědci z Microsoft Research se rozhodli, že tento sen promění v realitu. Tedy tak trochu.
Ve své studii DeepCoder : Learning to Write Programs (PDF) se pochlubili experimentem, ve kterém vycvičili strojové učení takovým způsobem, aby samo vygenerovalo program v pseudokódu pro vyřešení zadaného problému.
Neuronová síť si nejprve na základě sady funkcí nastudovala, k čemu každá slouží, vytvořila pravděpodobnostní model, takže když ji pak vědci přeložili zadání:
- Jako vstup máme sadu čísel: -17, -3, 4, 11, 0, -5, -9, 13, 6, 6, -8, 11
- A chceme od tebe tento výstup: -12, -20, -32, -36, -68,
neuronová síť pochopila, že se k němu dostane tak, že nejprve odfiltruje všechna kladná čísla, pak vše znásobí čtyřmi a seřadí.
Když stroj napíše vlastní program pro splnění zadání
Zatím se jedná jen o primitivní výpočetní úlohy, nicméně se jedná o jakousi formu A.I. akcelerace výpočtů, která by se dala využít v nejrůznějších úlohách, kdy A.I. zadáte nějakou otázku, načež ji spočítá, i když nebude mít pevný postup, jak na to.
Pravděpodobnostní model neuronové sítě v akci: Právě se rozhoduje, které základní operace, které zná, se nejpravděpodobněji hodí pro řešení aktuálního problému.
A kdo ví, jednou by si možná analýzou GitHubu a učením mnohem složitějších algoritmů poradila i se zadáním typu:
- Jako vstup použij zdrojové kódy linuxového kernelu
- Jako výstup chci kernel, který nebude obsahovat ani jednu chybu
Třeba se toho ještě dožijeme.