Deep Learning nədir?
Deep Learning (Dərin Öyrənmə) — Machine Learning-in çoxqatlı neyron şəbəkələrindən istifadə edərək böyük və mürəkkəb məlumatlardan nümunələr öyrənən istiqamətidir. Sadə dillə desək, klassik Machine Learning modellərində hansı xüsusiyyətlərin vacib olduğunu müəyyənləşdirmək üçün insan müdaxiləsinə daha çox ehtiyac ola bilər. Deep Learning modelləri isə uyğun məlumat və kifayət qədər hesablama gücü olduqda bir çox mürəkkəb xüsusiyyəti avtomatik şəkildə öyrənə bilir. Məsələn, pişik və it şəkillərini ayırd edən sistem hazırlanarkən klassik yanaşmada şəkillərin müəyyən xüsusiyyətlərini ayrıca müəyyənləşdirmək lazım gələ bilər. Deep Learning modeli isə çoxsaylı şəkillər üzərində öyrənərək kənarlar, formalar, teksturalar və daha mürəkkəb vizual xüsusiyyətləri müxtəlif qatlarda özü öyrənə bilər. Bu səbəbdən Deep Learning görüntü tanıma, təbii dilin emalı, səs tanıma, generativ süni intellekt və böyük dil modelləri kimi sahələrin əsas texnologiyalarından biridir.
Deep Learning necə işləyir?
Deep Learning-in əsasını süni neyron şəbəkələri — Artificial Neural Networks təşkil edir. Neyron şəbəkəsi məlumatı bir neçə mərhələdə emal edən bir-biri ilə əlaqəli süni neyronlardan ibarətdir. Sadələşdirilmiş formada neyron şəbəkəsinin üç əsas hissəsi var:
Input Layer — ilkin məlumatın modelə daxil olduğu qatdır.
Hidden Layers — məlumatın emal edildiyi və müxtəlif xüsusiyyətlərin öyrənildiyi daxili qatlardır.
Output Layer — modelin yekun nəticəni təqdim etdiyi qatdır. Deep Learning-də adındakı “deep” ifadəsi şəbəkənin çoxsaylı hesablama qatlarına malik olmasını bildirir. Məlumat bir qatdan digərinə keçdikcə şəbəkə daha mürəkkəb nümunələri öyrənə bilir. Məsələn, görüntü tanıma modelində ilkin qatlar sadə xətlər və kənarlar kimi xüsusiyyətləri öyrənə, daha dərin qatlar isə göz, üz və ya bütöv obyekt kimi daha mürəkkəb strukturları tanıya bilər.
Süni neyron şəbəkəsi nədir?
Artificial Neural Network — Süni Neyron Şəbəkəsi məlumat daxilində mürəkkəb əlaqələri öyrənmək üçün istifadə olunan hesablama modelidir. Şəbəkədə hər bir süni neyron müəyyən giriş məlumatlarını qəbul edir, həmin məlumatlara uyğun riyazi əməliyyat aparır və nəticəni növbəti qata ötürür. Neyronlar arasında weights — çəkilər adlanan parametrlər mövcuddur. Bu çəkilər şəbəkədə hansı məlumatın nə qədər vacib olduğunu müəyyən etməyə kömək edir. Model öyrədildikcə weights dəyişdirilir və model düzgün nəticəyə daha çox yaxınlaşmağa çalışır. Müasir Deep Learning modellərində milyonlarla, hətta milyardlarla parametr ola bilər. Modelin miqyası həll olunan problemdən və istifadə olunan arxitekturadan asılıdır.
Deep Learning modeli necə öyrənir?
Deep Learning modelinin öyrənmə prosesi adətən training data ilə başlayır. Məsələn, şəkillərdə avtomobilləri tanıyan model yaratmaq üçün böyük sayda nümunə şəkil təqdim edilə bilər. Model əvvəlcə təsadüfi və ya ilkin parametrlərlə proqnoz verir. Daha sonra modelin verdiyi nəticə düzgün cavabla müqayisə edilir. Aradakı fərq Loss Function vasitəsilə ölçülür. Loss modelin nə qədər səhv etdiyini göstərir. Model həmin səhvi azaltmaq üçün weights və digər parametrləri yeniləyir. Bu proses çoxsaylı nümunələr üzərində təkrarlandıqca model məlumat daxilindəki nümunələri daha yaxşı öyrənməyə başlayır.
Backpropagation nədir?
Backpropagation Deep Learning modelinin öyrənməsi zamanı geniş istifadə olunan əsas mexanizmlərdən biridir. Model əvvəlcə giriş məlumatından istifadə edərək nəticə yaradır. Bu proses forward pass adlandırılır. Daha sonra nəticənin düzgün cavabdan nə qədər fərqləndiyi hesablanır. Backpropagation həmin səhvin şəbəkədə geriyə doğru yayılmasına və hansı weights-lərin nə qədər dəyişdirilməli olduğunun hesablanmasına imkan verir. Optimizer isə həmin məlumatdan istifadə edərək model parametrlərini yeniləyir. Bu proses çox dəfə təkrarlanaraq loss-un azalmasına və modelin daha yaxşı nəticə verməsinə çalışılır.
Epoch və Batch nədir?
Deep Learning öyrənərkən tez-tez Epoch və Batch terminləri ilə qarşılaşmaq mümkündür. Epoch bütün training data-nın model tərəfindən bir dəfə işlənməsini ifadə edir. Məsələn, Data Set-də 10 000 şəkil varsa və model onların hamısını bir dəfə emal edibsə, bir epoch tamamlanmış olur. Batch isə məlumatların daha kiçik qruplara bölünərək modelə təqdim edilməsidir. 10 000 şəklin hamısını eyni anda modelə vermək əvəzinə, məsələn, hər dəfə 32 və ya 64 şəkillik batch-lərlə işləmək mümkündür. Batch ölçüsü training sürətinə, yaddaş istifadəsinə və modelin öyrənmə davranışına təsir edə bilər.
Activation Function nədir?
Activation Function neyronun aldığı məlumat əsasında növbəti qata hansı çıxışı ötürəcəyini müəyyən edən riyazi funksiyadır. Deep Learning modellərində ReLU, Sigmoid, Tanh və Softmax kimi müxtəlif activation function-lardan istifadə olunur. Məsələn, ReLU bir çox neyron şəbəkəsində hidden layer-lərdə geniş istifadə edilir. Softmax isə bir neçə kateqoriyadan birini seçən classification modellərinin çıxış qatında istifadə oluna bilər. Activation Function-lar şəbəkəyə mürəkkəb və qeyri-xətti əlaqələri öyrənmək imkanı verir.
Deep Learning və Machine Learning arasında fərq nədir?
Deep Learning Machine Learning-dən ayrı bir sahə deyil. Deep Learning Machine Learning-in daxilində yerləşən daha spesifik yanaşmadır.
Bu əlaqəni belə göstərmək mümkündür:
Artificial Intelligence → Machine Learning → Deep Learning
Klassik Machine Learning modelləri xüsusilə strukturlaşdırılmış məlumatlarla işləməkdə çox effektiv ola bilər. Deep Learning isə böyük həcmli və mürəkkəb məlumatlarda, xüsusilə şəkil, video, səs və mətn kimi struktursuz datada güclü nəticələr göstərə bilər. Digər fərqlərdən biri feature extraction prosesidir. Klassik Machine Learning-də mütəxəssis modelə təqdim ediləcək xüsusiyyətlərin hazırlanmasında daha çox iştirak edə bilər. Deep Learning modelləri isə bir çox xüsusiyyəti çoxqatlı neyron şəbəkələri vasitəsilə avtomatik şəkildə öyrənə bilir. Bu, Deep Learning-in hər problem üçün Machine Learning-dən daha yaxşı olduğu demək deyil. Kiçik Data Set-lərdə, strukturlaşdırılmış biznes məlumatlarında və interpretasiya tələb olunan layihələrdə klassik Machine Learning alqoritmləri daha uyğun seçim ola bilər.
Deep Learning üçün niyə çox məlumat lazımdır?
Deep Learning modelləri çox sayda parametrə malik ola bilər. Bu parametrlərin düzgün öyrənilməsi üçün adətən böyük həcmdə məlumat tələb olunur. Məsələn, minlərlə müxtəlif şəkli tanımalı olan Computer Vision modeli fərqli işıqlandırma, rakurs, ölçü və fonlara malik kifayət qədər nümunə görməlidir. Training Data müxtəlifliyi az olduqda model real dünyadakı yeni nümunələrdə zəif nəticə göstərə bilər. Bu səbəbdən Deep Learning layihələrində Data Set-in həcmi ilə yanaşı keyfiyyəti və müxtəlifliyi də vacibdir. Model öyrədilməzdən əvvəl məlumatların yoxlanılması, təmizlənməsi və düzgün hazırlanması da nəticəyə birbaşa təsir edir.
CNN nədir?
CNN — Convolutional Neural Network, yəni Konvolyusion Neyron Şəbəkəsi xüsusilə şəkil və digər vizual məlumatlarla işləmək üçün istifadə olunan Deep Learning arxitekturalarından biridir.
CNN görüntüdəki lokal xüsusiyyətləri müəyyən etməyi öyrənə bilər.
Məsələn:
- kənarlar;
- formalar;
- teksturalar;
- obyekt hissələri
daha sonra isə həmin xüsusiyyətlərin kombinasiyası əsasında bütöv obyekt müəyyən edilə bilər. CNN-lər görüntü təsnifatı, obyekt aşkarlanması, üz tanıma, tibbi görüntülərin analizi və digər Computer Vision tapşırıqlarında istifadə olunur. VGG, ResNet və EfficientNet CNN əsaslı tanınmış arxitekturalara nümunədir.
RNN nədir?
RNN — Recurrent Neural Network ardıcıllıq formasında olan məlumatlarla işləmək üçün hazırlanmış neyron şəbəkəsi növüdür.
Məsələn:
- mətn;
- səs;
- zaman sıraları;
- ardıcıl sensor məlumatları
kimi datalarda məlumatın əvvəlki hissələri sonrakı nəticəyə təsir edə bilər. RNN-lər məhz bu ardıcıllığı nəzərə almaq üçün hazırlanıb. LSTM və GRU isə uzun ardıcıllıqlarda məlumatın yadda saxlanılması problemlərini azaltmaq məqsədilə yaradılmış RNN əsaslı arxitekturalardır. Bu gün bir çox NLP tapşırığında Transformer arxitekturası RNN əsaslı yanaşmaları əvəz etsə də, RNN və LSTM Deep Learning-in inkişafını anlamaq üçün vacib anlayışlardır.
Transformer nədir?
Transformer mətn və digər ardıcıl məlumatlarla işləmək üçün hazırlanmış Deep Learning arxitekturasıdır. Transformer-in əsas xüsusiyyətlərindən biri attention mexanizmindən istifadə etməsidir. Attention modelə giriş məlumatının hansı hissələrinin konkret nəticə üçün daha vacib olduğunu müəyyən etməyə kömək edir. Məsələn, uzun bir cümlədə müəyyən sözün mənasını başa düşmək üçün model cümlənin digər hissələri ilə əlaqəni qiymətləndirə bilər. Transformer arxitekturası müasir Natural Language Processing sistemlərinin inkişafında böyük rol oynayıb. BERT, GPT və bir çox Large Language Model Transformer arxitekturasına əsaslanır.
Deep Learning və LLM arasında hansı əlaqə var?
LLM — Large Language Model və ya Böyük Dil Modeli Deep Learning texnologiyalarına əsaslanan böyük həcmli dil modelidir. Bu modellər çox böyük mətn Data Set-ləri üzərində öyrədilir və mətn daxilindəki dil nümunələrini, sözlər arasındakı əlaqələri və konteksti öyrənir. Müasir LLM-lərin böyük hissəsi Transformer arxitekturasından istifadə edir.
Buna görə əlaqəni belə göstərmək mümkündür:
Machine Learning → Deep Learning → Transformer → LLM
Chatbotlar, mətn generasiyası, sual-cavab sistemləri, sənəd analizi və kod köməkçiləri kimi bir çox Generative AI məhsulunun arxasında bu texnologiyalar dayanır.
Deep Learning və Generative AI arasında hansı əlaqə var?
Generative AI mətn, şəkil, audio, video və digər yeni məzmunlar yarada bilən süni intellekt sistemlərini əhatə edir. Bu sistemlərin böyük hissəsi Deep Learning modellərindən istifadə edir. Məsələn, böyük dil modelləri mətn generasiyası üçün Transformer arxitekturasından istifadə edə bilər. Şəkil generasiyası üçün isə diffusion modelləri kimi Deep Learning yanaşmalarından istifadə olunur. Beləliklə, Generative AI daha geniş tətbiq kateqoriyası, Deep Learning isə həmin sistemlərin bir çoxunun texnoloji əsaslarından biridir.
Deep Learning harada istifadə olunur?
Deep Learning müxtəlif sahələrdə tətbiq edilir.
Computer Vision
Şəkil və video məlumatlarının analizində istifadə olunur.
Nümunələr:
- obyekt aşkarlanması;
- üz tanıma;
- tibbi görüntülərin analizi;
- OCR;
- istehsalatda vizual keyfiyyət yoxlaması.
Natural Language Processing
Mətn və insan dili ilə işləyən sistemlərdə istifadə olunur.
Nümunələr:
- mətn təsnifatı;
- tərcümə;
- sentiment analizi;
- chatbotlar;
- sənəd analizi;
- böyük dil modelləri.
Speech Processing
Səs məlumatlarının emalı üçün istifadə edilə bilər.
Nümunələr:
- speech-to-text;
- səs tanıma;
- text-to-speech;
- səsli köməkçilər.
Tövsiyə sistemləri
İstifadəçinin əvvəlki davranışını analiz edərək ona uyğun məhsul və ya məzmunların təklif olunmasında Deep Learning modellərindən istifadə edilə bilər.
Deep Learning-in üstünlükləri nələrdir?
Deep Learning-in əsas üstünlüklərindən biri mürəkkəb məlumatlardan xüsusiyyətləri avtomatik öyrənə bilməsidir. Xüsusilə böyük həcmli görüntü, mətn və səs məlumatlarında çox mürəkkəb əlaqələri müəyyən edə bilir. Böyük Data Set və uyğun hesablama resursları olduqda yüksək performanslı modellər yaratmaq mümkündür. Eyni Deep Learning prinsiplərindən fərqli sahələrdə istifadə etmək və əvvəlcədən öyrədilmiş modelləri yeni problemlərə uyğunlaşdırmaq da mümkündür.
Deep Learning-in məhdudiyyətləri nələrdir?
Deep Learning hər problem üçün avtomatik olaraq ən yaxşı seçim deyil. Deep Learning modellərinin öyrədilməsi çoxlu məlumat və yüksək hesablama gücü tələb edə bilər. Böyük modellərin training prosesi vaxt və maliyyə baxımından bahalı ola bilər. Digər problemlərdən biri interpretability-dir. Çox mürəkkəb neyron şəbəkələrinin müəyyən nəticəyə niyə gəldiyini izah etmək klassik modellərlə müqayisədə daha çətin ola bilər. Data keyfiyyəti zəif və ya qərəzlidirsə, modelin nəticələri də bundan təsirlənə bilər. Buna görə yaxşı Deep Learning sistemi yalnız model arxitekturasından ibarət deyil. Məlumat keyfiyyəti, düzgün qiymətləndirmə, monitorinq və məsuliyyətli AI prinsipləri də vacibdir.
Deep Learning üçün hansı texnologiyalar istifadə olunur?
Deep Learning sahəsində ən geniş istifadə olunan proqramlaşdırma dillərindən biri Python-dur. Python ekosistemində Deep Learning üçün müxtəlif kitabxana və framework-lər mövcuddur.
PyTorch — neyron şəbəkələrinin hazırlanması və öyrədilməsi üçün geniş istifadə olunan framework-dür.
TensorFlow — Deep Learning modellərinin hazırlanması və production mühitində istifadəsi üçün istifadə edilən platformalardan biridir.
Keras — neyron şəbəkələrinin daha sadə interfeys vasitəsilə qurulmasına imkan verir. Bundan əlavə, NumPy, Pandas və Matplotlib kimi Python alətləri məlumatların hazırlanması və analizi mərhələsində istifadə oluna bilər.
Deep Learning öyrənməyə haradan başlamaq lazımdır?
Deep Learning-ə birbaşa mürəkkəb neyron şəbəkələri ilə başlamaq düzgün yanaşma deyil. Əvvəlcə Python proqramlaşdırmanın əsaslarını öyrənmək faydalıdır.
Daha sonra aşağıdakı ardıcıllıqla inkişaf etmək olar:
Python → Riyaziyyat və Statistika → Data ilə işləmək → Machine Learning → Neyron Şəbəkələri → Deep Learning → CNN / RNN / Transformer → NLP / Computer Vision / LLM
Deep Learning öyrənərkən yalnız nəzəri biliklə kifayətlənməmək vacibdir. İlk mərhələdə şəkil təsnifatı, mətn təsnifatı və sadə proqnozlaşdırma modelləri kimi layihələr hazırlamaq mövzuları daha yaxşı anlamağa kömək edir. Daha sonra Computer Vision, NLP, RAG və LLM əsaslı layihələrə keçmək mümkündür.
Deep Learning, Machine Learning, NLP, Computer Vision, LLM və digər müasir süni intellekt texnologiyalarını praktiki layihələr üzərində öyrənmək istəyirsinizsə, JET Academy-nin Süni İntellekt Mühəndisliyi Təlimi ilə tanış ola bilərsiniz.
