Machine learning anlayışı

Əvvəlcə terminologiya:

  • Artificial Intelligence - [artifişal intelicens] - süni intellekt
  • Machine learning - [məşin lörnin] - maşının öyrənməsi və ya maşın öyrənir
  • Deep learning - [diip lörnin] - dərin öyrənmə

Günümüzün populyar elmində ən çox işlədilən terminlərdən biri Machine Learning-dir (bunda sonra qısaca ML). Hamımız bunu eşitsək də yəqin ki, bir çoxlarımız hələ də nə anlama gəldiyini tam olaraq aydınlaşdıra bilməmişik. ML-in özünü öyrənmək bəlkə çətin ola bilər, amma nə anlama gəldiyini başa düşmək heç də çətin deyil. Postda bu məsələni aydınlaşdırmağa və daha yaxşı anlayışımız olsun deyə bir neçə tarixi faktı qeyd eləməyə çalışacam.

Yarı zarafat, yarı gerçək bele deyək: insanlar təbiətcə tənbəldirlər, həmişə işlərini asanlaşdıracaq vasitələr axtarırlar. Bu axtarış da artıq neçə əsrlərdir insanları avtomatlaşmaya aparır. Amma sadə avtomatlaşma bir çox hallarda insanlara kifayət eləmir, çünki standart avtomatlaşma qurmaq o deməkdir ki, insanlar o sistemin qaydalarını, prinsiplərini özləri yazıb hazırlamalıdırlar. Məsələn: səhər 8-də avadanlığı işə sal, saat 8:15-də materialı yüklə, və s. Məişət kontekstində fikişlərsək özü işələyən avtonom tozsoranı (bəli, bu reallıqdır və hardasa 200-300 dollara birini tapıb ala bilərsiniz), konkret saatda bizə qızardılmış çörək hazırlayan tosteri təsəvvürünüzə gətirin. Amma dediyim kimi, bu qaydaları yazmaq, fikirləşmək, uyğunlaşdırmaq lazımdır və xırda məişət kontekstini çıxsaq çox hallarda bu böyük işdir. Bəs əgər biz bunun üçün heç bir əziyyət çəkməsək, maşın özü baxıb hər şeyi öyrənsə necə olardı? Əlbəttə ki, tənbəllər üçün cənnət :) . Zarafat bir yana, ML bax bu ideyanın reallaşmasıdır! Maşın özü öyrənir və işi də özü görür.

Tarixin müxtəlif mərhələlərində insanlar bunu gerçəkləşdirməyə çalışıblar, hətta bəzən üzdə buna nail olduqlarını göstərmək üçün fırıldaq belə eləməkdən çəkinməyiblər. Ən məşhur nümunələrdən bir "Türk" (The Turk) adlanan saxta automatadır. 1770-ci ildə Avstriya kraliçası üçün yaradılan qurğu guya çox yaxşı şahmat oynayırdı. Bu qurğu 1770-ci ildən 1854-cü ilə qədər bütün Avropa və Amerikanı gəzib və Wikipedia-nın informasiyasına inansaq Napoleon Bonapart və Benjamin Franklin daxil olmaqla bir çox məşhur adamı şahmatda udub. Sonradan məlum olur ki, əslində bu böyük bir fırıldaq imiş və qurğunun içərisində həmişə çox yaxşı bir şahmatçı otururmuş və oyunu da o udurmuş :)

Amma bu fırıldaqlarla yanaşı 18-19-cu əsrlərdə bizim bugün istifədə elədiyimiz bir ML alqoritmlərinin əsası qoyulmağa başlayıb. Ehtimal nəzəriyyəsi keçmiş adam mütləq ki, Bayes teoremi haqqında eşidib. Faktiki olaraq bugünkü "Qərar ağacı" (Decision tree - :) ) və bir sıra digər yanaşmaların əsasında Bayesin işləri durur. Ən kiçik kvadratlar metodu (OLS) haqqında da sahə ilə maraqlananlar yəqin ki məlumatlıdır. Bunu da 19-c əsrdə Karl Fridrix Gauss kəşf edib. Amma bir baxaq, real olaraq ML harada daha sürətlə inkişaf edib və real olaraq nəyə qadirdir. Əvvəlcə gəlin bu terminlə sıx əlaqəsi olan bir sıra terminləri müqayisə edək: Süni intellekt (Aİ), Deep Learning və Data Science. Towardsdatascience adlanan bir populyar blog var. Onların saytından götürdüyüm bir qrafiki paylaşıram:

Mənbə: www.towardsdatascience.com

Bu terminlərin hamısı 20 və 21-ci əsrdə işıq üzü görüb və əvvəllər insanlar müəyyən işlər görmüş olsalar da sahələrin inkişafı kompüterlərin yaranmasında sonra ba verib.

Gördüyünüz kimi, ML süni intellekt adlanan böyük bir sahənin alt hissəsidir. Süni intellekt sahəsinin adamlarının idealı insan kimi davrana biləcək proqram, daha dərinə getsək robot yaratmaqdır. Bu nə dərəcədə ağıllı bir fikirdir, müzakirə eləmək niyyətində deyiləm. Amma elmi sahədə bunun həm kifayət qədər tərəfdarları, həm də kifayət qədər əleyhdarları mövcuddur. Populyar incəsənətdə də bununla bağlı bir çox nümunələr var. Əgər elmi tərəfə getmədən məsələ ilə bağlı fikirləşmək istəsəniz "2001: Space Odyssey", "Terminator", "I Robot" kimi kinoları, moral məsələlərin bir az da daha ətraflı müzakirəsi üçün "Person of Interest" teleserialını məsləhət görürəm.

Süni intellekt əldə etmək üçün son zamanlar ən çox istifadə olunan metod ML-dir. ML məlumat bazasına əsaslanır. Məsələn: siz özü-özünü idarə edən avtomobil hazırlamaq istəyirsiniz. Bu zaman ya gərək hər şeyi sıfırdan yazasınız (maşın, piyada görəndə dayan, qırmızı işıqda dayan, döngələrdə sürəti azalt və s), hansı ki, yazmaqla qurtarmır, ya da bunu ML ilə eləmək istəsəniz minlərlə saat maşın sürmə videolarını maşına göstərirsiniz, özü nə edəcəyini öyrənir.

Bəs maşın bunu necə öyrənir? Əslində riyaziyyatla. Optimallaşdırma eşitmisiniz? Optimallaşdırma nəyin isə maksimumunu və ya minimumunu tapmaqdır. Biz maşına bir tapşırıq veririk: elə et ki, xətalar minimum olsun, və ya dəqiqlik maksimum olsun. Maşın həmin optimallaşdırma prinsipləri ilə özü üçün aydınlaşdırır ki, sürəti neçədə saxlasa xətalar minimum olar, və ya sükanı neçə dərəcə döndərsə xətalar minumum olar.

Bir qədər detallarına getsək ML-in 3-4 əsas aləti var: reqressiya (məsələn, sürəti müəyyən etmək üçün), klassifikasiya (sağa yoxsa sola dönək, dayanaq yoxsa davam edək?), əsas faktor analizi (hansı faktorlar bizim maşın sürməyimizdə daha aparıcı rol oynayır) və seqmentasiya (maşınla bağlı buna yaxşı nümunə tapmadım, amma ağlınza gəlsə mütləq yazın).

Bəs Deep Learning nədir? Deep Learning konkret bir reqressiya növüdür - neyroşəbəkələr!

Yaxşı, maşınlar hazırda nə dərəcədə ağıllıdırlar? Nə dərəcədə öyrənə bilirlər? Görünən budur ki, maşınlar keyfiyyətli və çoxlu data olduğu halda insandan daha sürətlə öyrənə bilərlər, amma bu insan köməyi olmadan minimal səviyyədə baş verir. Bəlkə xətasız keçinmək üçün nəyin düz, nəyin səhv olduğunu deməyə ehtiyac yoxdur, maşın özü daha yaxşı tapır, amma bunların hamısı bir-iki alətin üzərində qurulub, hələ ki maşınların sərbəst olaraq fikir yürütməsi real deyil. Əvvəlcə sən maşına çoxlu seçimlər veməlisən ki, o düzü və səhvi aydınlaşdıra bilsin. Üstəlik, sən maşına səhvi düz kimi təqdim eləsən o da səhv öyrənəcək. Bundan əlavə ML alqoritmləri yalnız bir-iki tapşırıq üzərində işləyə bilirlər, çox mürəkkəb sistem yaradıb idarə etməklərinə hələ çox var. Hətta yadıma gəlir, Techcentrum-um "Data science və Data Engineering" tədbirindəki təqdimatımdan sonra bir müəllim mənə yaxınlaşıb soruşmuşdu ki, elə bir intellektual sistem qurmaq mümkündürmü ki, mən otaqda pencəyi çıxaranda temperaturun çox olduğunu başa düşsün və aşağı salsın? Birmənalı olaraq yox!

Bəs hara gedirik? Görünən budur ki, ML-in özünün ümumi limitləri o qədər də geniş deyil və bu limitlər sonuna yaxınlaşır, axı həyat yalnız xətaları minimuma endirməkdən ibarət deyil. Biz ML ilə tam AI yarada bilmərik. Səhv başa düşməyin, xeyli geniş tətbiq sahələri var (bununla bağlı ayrıca yazacam), amma tam süni intellekt üçün hələ ki kifayət deyil. Öyrənməyə dəyərmi? Yeni bir metodun çıxacağına dair hələ ki bir gözlənti olmadığından bu dəqiqə əlimizdə olan ən yaxşı alət budur, ona görə də öyrənməyə dəyər!

P.S.: Bu postda suallar deyəsən bir az çox oldu, üzrlü sayın, amma niyyətim vacib məsələlərə diqqət çəkmək idi.

1 Comments
Nurida
13 Nov 2022 20:04
Təşəkkürlər
no replies yet
Reply
Leave a Comment

Kolmogorov-Smirnov test in python

Kamil Alasgarov

Data science üçün python yüklənməsi

Kamil Alasgarov

Data scientist olmaq üçün haradan başlayaq 2: detallı mənbələr

Kamil Alasgarov

Data Science nədir?

Kamil Alasgarov