Kā mašīnmācīšanās var palīdzēt cilvēkiem ikdienā

Mūsdienās gandrīz visi ir dzirdējuši par mašīnmācīšanos (Machine learning) vai mākslīgo intelektu (Artificial Intelligence) un ir dzirdēti apgalvojumi, ka tas var būt pielietojams daudzos uzņēmumos un dzīves situācijās. Bet ko īsti tas nozīmē? Kas ir nepieciešams, lai pielietotu mašīnmācīšanos un kādus ieguvumus tā spēj sniegt? Lai ilustrētu mašīnmācīšanās pielietojumu, apskatīsim vienkāršotu piemēru.

Piemērs: Mašīnmācīšanās privātmājas apkurei

Apskatīsim ģimeni, kas dzīvo privātmājā, kurai ir pašai sava apkures sistēma. Māja ir labi nosiltināta, tāpēc labi tur siltumu. Telpās ir uzstādīti digitālie termometri un ir zināms, ka ģimene jūtas labi, ja telpu temperatūra ir 21 grāds. Kā nodrošināt to, ka apkures sistēma ziemā ar pēc iespējas minimālu resursu patēriņu uztur telpās 21 grāda temperatūru? Viens variants būtu apkures sistēmai sildīt, līdz temperatūra istabās sasniedz 21 grādu, taču šāds variants nebūs optimāls, jo apkures sistēmai ir inerce un ja tā izslēgsies pie 21 grāda temperatūras, tad silšana turpināsies un temperatūra turpinās pieaugt.

Viegli saprast, ka optimālais siltuma daudzums, kas jāpievada sistēmai, ir atkarīgs no daudziem parametriem. Tie ir āra temperatūra vai starpība starp vēlamo iekštelpu temperatūru un āra temperatūru, temperatūras prognoze turpmākajām 12 stundām, diennakts laiks un ģimenes paradumi. Varbūt naktī temperatūras samazināšana līdz 19 grādiem palīdz miega komfortam (un ietaupa resursus). Tāpat aizkaru aizvēršana nakts laikā samazina siltuma zudumus. Varbūt ģimenei ir paradums pirms miega vēdināt istabas (īslaicīgi samazina gaisa temperatūru). Varbūt laika prognoze ir pieejama Rīgas centram, bet māja atrodas jūras malā, līdz ar to ziemā tiek prognozēta nepamatoti zema temperatūra.

Kā tikt galā ar visiem šiem dažādajiem parametriem un to ietekmi uz istabas temperatūru? Skaidrs, ka katrai ēkai būs nepieciešams savs risinājums. Te arī parādās mašīnmācīšanās lielais potenciāls, jo tieši tas ir mašīnmācīšanās modeļu uzdevums – aprakstīt šādas sakarības. Mašīnmācīšanās modelis ir datorprogramma, kas pēc noteikta veida datu ievades spēj izdarīt noteikta parametra prognozi.

Kas ir nepieciešams, lai pielietotu mašīnmācīšanos? 

Pirmkārt, tie būs vēsturiskie dati, kas nepieciešami lai apmācītu modeli. Pieņemsim, ka ģimene mājā ir dzīvojusi jau gadu un tajā laikā apkures sistēma ir darbojusies pievadot siltumu pēc kāda cita algoritma. Būs nepieciešami dati par to, cik siltuma ir pievadīts ikkatru stundu un kāda ir bijusi telpu temperatūra visa gada laikā. Tāpat būs nepieciešami vēsturiskie temperatūras prognozes dati un āra temperatūras dati.

Otrkārt, būs nepieciešams mašīnmācīšanās speciālists. Viņš novērtēs vai dati ir kvalitatīvi un sagatavos tos mašīnmācīšanās modelim piemērotā formā. Viņš izveidos modeli un viņam būs jāizdara vairākas izvēles – cik sarežģītu modeli taisīt, un, iespējams, viņš izmantos vairākus modeļa veidus. Tad viņam būs nepieciešams ļoti jaudīgs dators – superdators, lai modeli apmācītu. Modelim būs ievaddati, tas ir apkures pievadītais siltuma daudzums, diennakts laiks, nedēļas dienas, āra temperatūras un temperatūras prognozes. Modelim ir izvaddati – temperatūra istabā. Modelis, pēc apmācīšanas, spēs jebkurām sakarīgām ieejas parametru vērtībām izdot atbilstošas izejas parametru vērtības. Modelis spēj atbildēt uz jautājumu – ja mēs pievadīsim centrālapkures sistēmai noteiktu daudzumu siltuma, zinot, ka āra temperatūra ir -3 grādi un tuvākajās 6 stundās temperatūra samazināsies par 2 grādiem, kāda būs temperatūra istabā? Modelis spēj šo prognozi veikt acumirklī, turklāt tam vairs nav nepieciešams superdators, bet gan parasts dators vai tikai mikrokontrolieris. Mašīnmācīšanās speciālists izmantos vēsturiskos datus lai pārbaudītu cik precīzs ir šis modelis.

Treškārt, ir nepieciešams lai māja varētu šīs prognozes izmantot. Ēkā  esošajām sistēmām, apkurei un ventilācijai, jābūt aprīkotām ar digitālās vadības iespējām, jābūt aktuātoriem, kas atbilstoši signāliem regulē padevi, atver un aizver vārstus.

Apmācītā modeļa pielietojums

Kas notiks tālāk? Tālāk darbs būs nākamajai datorprogrammai, kas izmantos apmācīto mašīnmācīšanās modeli lai optimizētu centrālapkures darbību. Optimizācijas datorprogrammai (pretstatā mašīnmācīšanās modeļa apmācībai) vajag maz datorjaudas un to var veikt uz parasta mājas datora. Optimizācijas datorprogramma darbosies uz datora vai mikrokontroliera, kas būs saistīts ar centrālapkures iekārtu un tā darbosies katru stundu.

Optimizācijas datorprogramma, izmantojot apmācīto modeli, pateiks, cik tieši apkures sistēmai ir jāpievada siltums, lai temperatūra būtu 21 grāds. Vienkāršoti runājot, process ir šāds: optimizācijas programma vaicā mašīnmācīšanās modelim, kas notiks, ja centrālapkures režīms tiks palielināts par vienu iedaļu. Modelis atbild, ka tad istabās temperatūra būs 20 grādi. Optimizācijas programma saka, ka tas neder un prasa modelim, kas notiks, ja centrālapkures režīms tiks palielināts par divām iedaļām. Modelis, atbild, ka tad istabās temperatūra būs 22 grādi. No tā optimizācijas programma izlemj, ka vajag apkures režīmu palielināt par pusotru iedaļu.

Rezultāts

Aprakstītā sistēma spēs nodrošināt to, ka istabās temperatūra daudz neatšķiras no 21 grāda, bez cilvēka iejaukšanās un nodrošinot minimālo iespējamo enerģijas patēriņu šī mērķa sasniegšanai, taču tas ir tikai vienkāršots piemērs principa demonstrācijai. Mašīnmācīšanās modeļi spēj tikt galā ar daudz sarežģītākiem uzdevumiem, kuriem ir lielāks ieejas parametru skaits, kuri spēj piedāvāt nevis tikai vienu istabas temperatūru, bet temperatūru katrai istabai atsevišķi vai termisko komfortu raksturojošas temperatūras starpības istabā . Ieejas un izejas parametri var būt jebkādi fizikālie parametri, kurus vien ir iespējams izmērīt, un kur pastāv kaut kāda cēloņsakarība.