chore(i18n): sync translations with latest source changes (chunk 68/148, 100 files)
This commit is contained in:
parent
1991f5bc02
commit
089fc045fc
|
|
@ -21,7 +21,7 @@
|
|||
"\n",
|
||||
"Kuna treenime autoenkoodrit, et ta haaraks võimalikult palju teavet algsest pildist täpseks taastamiseks, püüab võrk leida parima **sisendpiltide representatsiooni**, et tabada nende tähendust.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Pilt [Kerase blogist](https://blog.keras.io/building-autoencoders-in-keras.html)*\n",
|
||||
"\n",
|
||||
|
|
@ -888,7 +888,7 @@
|
|||
" * Valime juhusliku vektori `sample` jaotusest $N(\\mathrm{z\\_mean},e^{\\mathrm{z\\_log\\_sigma}})$\n",
|
||||
" * Dekodeerija püüab dekodeerida algse pildi, kasutades `sample`-it sisendvektorina\n",
|
||||
"\n",
|
||||
" <img src=\"../../../../../translated_images/vae.464c465a5b6a9e253be65a8cb3be1724832cbde57ece3912ddc962b199472a89.et.png\" width=\"50%\">\n"
|
||||
" <img src=\"../../../../../translated_images/vae.464c465a5b6a9e25.et.png\" width=\"50%\">\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Siiski võime soovida kasutada toorandmeid (märgistamata) CNN-i funktsioonide e
|
|||
|
||||
Kuna treenime autoenkoodrit, et haarata võimalikult palju teavet algsest pildist täpseks taastamiseks, püüab võrk leida parima **sisendpiltide representatsiooni**, et tabada nende tähendus.
|
||||
|
||||

|
||||

|
||||
|
||||
> Pilt [Kerase blogist](https://blog.keras.io/building-autoencoders-in-keras.html)
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ Kokkuvõtteks:
|
|||
* Valime vektori `sample` jaotusest N(z<sub>mean</sub>,exp(z<sub>log\_sigma</sub>))
|
||||
* Dekooder püüab dekodeerida algset pilti, kasutades `sample` sisendvektorina
|
||||
|
||||
<img src="../../../../../translated_images/vae.464c465a5b6a9e253be65a8cb3be1724832cbde57ece3912ddc962b199472a89.et.png" width="50%">
|
||||
<img src="../../../../../translated_images/vae.464c465a5b6a9e25.et.png" width="50%">
|
||||
|
||||
> Pilt [sellest blogipostitusest](https://ijdykeman.github.io/ml/2016/12/21/cvae.html) autorilt Isaak Dykeman
|
||||
|
||||
|
|
@ -57,13 +57,13 @@ Variatsioonilised autoenkoodrid kasutavad keerulist kaotusefunktsiooni, mis koos
|
|||
|
||||
Üks oluline eelis VAE-de puhul on see, et need võimaldavad meil suhteliselt lihtsalt uusi pilte genereerida, kuna teame, millist jaotust latentvektorite valimiseks kasutada. Näiteks kui treenime VAE-d 2D latentvektoriga MNIST andmestikul, saame seejärel muuta latentvektori komponente, et saada erinevaid numbreid:
|
||||
|
||||
<img alt="vaemnist" src="../../../../../translated_images/vaemnist.cab9e602dc08dc5066ce14e005889d6b53ca5bcaf16e35c28dbf8cd40c304de1.et.png" width="50%"/>
|
||||
<img alt="vaemnist" src="../../../../../translated_images/vaemnist.cab9e602dc08dc50.et.png" width="50%"/>
|
||||
|
||||
> Pilt autorilt [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
Vaadake, kuidas pildid sulanduvad üksteisesse, kui hakkame saama latentvektoreid latentparameetrite ruumi erinevatest osadest. Samuti saame visualiseerida seda ruumi 2D-s:
|
||||
|
||||
<img alt="vaemnist cluster" src="../../../../../translated_images/vaemnist-diag.694315f775d5d666b02fb54f8fc7c64db65a9d126a16c2fdb8683cf9726f9ff5.et.png" width="50%"/>
|
||||
<img alt="vaemnist cluster" src="../../../../../translated_images/vaemnist-diag.694315f775d5d666.et.png" width="50%"/>
|
||||
|
||||
> Pilt autorilt [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
" * **Generaator** võtab juhusliku vektori ja peaks sellest pildi genereerima.\n",
|
||||
" * **Diskrimineerija** on võrk, mis peaks eristama algset pilti (treeningandmestikust) generaatori loodud pildist.\n",
|
||||
"\n",
|
||||
"<img src=\"../../../../../translated_images/gan_architecture.8f3a5ab62b8d5d698a91f7668017d8e09b81c5d8e7cc99bdb23979d90a0c475e.et.png\" width=\"70%\"/>\n"
|
||||
"<img src=\"../../../../../translated_images/gan_architecture.8f3a5ab62b8d5d69.et.png\" width=\"70%\"/>\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -670,7 +670,7 @@
|
|||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"<img src=\"../../../../../translated_images/dcgan_generator.b500988ec2bc8ba5cb38dae855fece348933171227c0536743b9c3b599f33f3d.et.png\" width=\"60%\"/>\n",
|
||||
"<img src=\"../../../../../translated_images/dcgan_generator.b500988ec2bc8ba5.et.png\" width=\"60%\"/>\n",
|
||||
"\n",
|
||||
"> Pilt pärineb [sellest juhendist](https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html)\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
" * **Generaator** võtab juhusliku vektori ja peaks sellest pildi genereerima\n",
|
||||
" * **Diskrimineerija** on võrk, mis peaks eristama originaalpildi (treeningandmestikust) generaatori loodud pildist.\n",
|
||||
"\n",
|
||||
"<img src=\"../../../../../translated_images/gan_architecture.8f3a5ab62b8d5d698a91f7668017d8e09b81c5d8e7cc99bdb23979d90a0c475e.et.png\" width=\"70%\"/>\n"
|
||||
"<img src=\"../../../../../translated_images/gan_architecture.8f3a5ab62b8d5d69.et.png\" width=\"70%\"/>\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ Kui aga proovime luua midagi tõeliselt tähenduslikku, näiteks maali mõistlik
|
|||
|
||||
GAN-i peamine idee on kasutada kahte närvivõrku, mis treenivad üksteise vastu:
|
||||
|
||||
<img src="../../../../../translated_images/gan_architecture.8f3a5ab62b8d5d698a91f7668017d8e09b81c5d8e7cc99bdb23979d90a0c475e.et.png" width="70%"/>
|
||||
<img src="../../../../../translated_images/gan_architecture.8f3a5ab62b8d5d69.et.png" width="70%"/>
|
||||
|
||||
> Pilt: [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ Generaator on veidi keerulisem. Seda võib pidada pööratud diskrimineerijaks.
|
|||
|
||||
> ✅ Kuna konvolutsioonikiht rakendatakse lineaarse filtrina, mis liigub üle pildi, on dekonvolutsioon sisuliselt sarnane konvolutsiooniga ja seda saab rakendada sama kihi loogikaga.
|
||||
|
||||
<img src="../../../../../translated_images/gan_arch_detail.46b95fd366f8e543170264fe07e516683ac3e5bb699392c35449e99590a11063.et.png" width="70%"/>
|
||||
<img src="../../../../../translated_images/gan_arch_detail.46b95fd366f8e543.et.png" width="70%"/>
|
||||
|
||||
> Pilt: [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ Pildiklassifikatsiooni mudelid, millega oleme seni tegelenud, võtsid pildi ja a
|
|||
|
||||
## [Eelloengu viktoriin](https://ff-quizzes.netlify.app/en/ai/quiz/21)
|
||||
|
||||

|
||||

|
||||
|
||||
> Pilt [YOLO v2 veebilehelt](https://pjreddie.com/darknet/yolov2/)
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ Oletame, et tahame leida kassi pildilt. Väga naiivne lähenemine objektide tuva
|
|||
2. Käivitame pildiklassifikatsiooni igal osal.
|
||||
3. Need osad, mis annavad piisavalt kõrge aktiveerimise, võib pidada objektiks, mida otsime.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Pilt [harjutuste märkmikust](ObjectDetection-TF.ipynb)*
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ Selle ülesande jaoks võite kohata järgmisi andmekogumeid:
|
|||
* [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/) – 20 klassi
|
||||
* [COCO](http://cocodataset.org/#home) – Tavalised objektid kontekstis. 80 klassi, piiritlevad kastid ja segmentatsioonimaskid
|
||||
|
||||

|
||||

|
||||
|
||||
## Objektide tuvastamise mõõdikud
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ Selle ülesande jaoks võite kohata järgmisi andmekogumeid:
|
|||
|
||||
Kui pildiklassifikatsiooni puhul on lihtne mõõta, kui hästi algoritm töötab, siis objektide tuvastamise puhul peame mõõtma nii klassi õigsust kui ka tuvastatud piiritleva kasti asukoha täpsust. Viimase jaoks kasutame nn **ühisosa ja ühenduse suhet** (IoU), mis mõõdab, kui hästi kaks kasti (või kaks suvalist ala) kattuvad.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Joonis 2 [sellest suurepärasest blogipostitusest IoU kohta](https://pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/)*
|
||||
|
||||
|
|
@ -98,11 +98,11 @@ Objektide tuvastamise algoritme on kahte laia klassi:
|
|||
|
||||
[R-CNN](http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf) kasutab [Selective Search](http://www.huppelen.nl/publications/selectiveSearchDraft.pdf), et genereerida ROI piirkondade hierarhiline struktuur, mis seejärel läbib CNN-i funktsioonide ekstraktorid ja SVM-klassi määrajad, et määrata objekti klass, ning lineaarse regressiooni, et määrata *piiritleva kasti* koordinaadid. [Ametlik artikkel](https://arxiv.org/pdf/1506.01497v1.pdf)
|
||||
|
||||

|
||||

|
||||
|
||||
> *Pilt van de Sande et al. ICCV’11*
|
||||
|
||||

|
||||

|
||||
|
||||
> *Pildid [sellest blogist](https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e)*
|
||||
|
||||
|
|
@ -110,7 +110,7 @@ Objektide tuvastamise algoritme on kahte laia klassi:
|
|||
|
||||
See lähenemine on sarnane R-CNN-iga, kuid piirkonnad määratakse pärast konvolutsioonikihtide rakendamist.
|
||||
|
||||

|
||||

|
||||
|
||||
> Pilt [ametlikust artiklist](https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Girshick_Fast_R-CNN_ICCV_2015_paper.pdf), [arXiv](https://arxiv.org/pdf/1504.08083.pdf), 2015
|
||||
|
||||
|
|
@ -118,7 +118,7 @@ See lähenemine on sarnane R-CNN-iga, kuid piirkonnad määratakse pärast konvo
|
|||
|
||||
Selle lähenemise peamine idee on kasutada närvivõrku ROIside ennustamiseks – nn *piirkonna ettepanekuvõrk*. [Artikkel](https://arxiv.org/pdf/1506.01497.pdf), 2016
|
||||
|
||||

|
||||

|
||||
|
||||
> Pilt [ametlikust artiklist](https://arxiv.org/pdf/1506.01497.pdf)
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ See algoritm on isegi kiirem kui Faster R-CNN. Peamine idee on järgmine:
|
|||
2. Funktsioone töödeldakse **positsioonitundliku skoorikaardiga**. Iga objekt klassist $C$ jagatakse $k\times k$ piirkondadeks ja treenime ennustama objektide osi.
|
||||
3. Iga osa $k\times k$ piirkondadest hääletavad kõik võrgud objektiklasside eest ja maksimaalse häälega objektiklass valitakse.
|
||||
|
||||

|
||||

|
||||
|
||||
> Pilt [ametlikust artiklist](https://arxiv.org/abs/1605.06409)
|
||||
|
||||
|
|
@ -141,7 +141,7 @@ YOLO on reaalajas ühe läbimise algoritm. Peamine idee on järgmine:
|
|||
* Pilt jagatakse $S\times S$ piirkondadeks.
|
||||
* Iga piirkonna jaoks ennustab **CNN** $n$ võimalikku objekti, *piiritleva kasti* koordinaate ja *usaldusväärsust*=*tõenäosust* * IoU.
|
||||
|
||||

|
||||

|
||||
|
||||
> Pilt [ametlikust artiklist](https://arxiv.org/abs/1506.02640)
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ Segmenteerimist võib vaadelda kui **pikslite klassifikatsiooni**, kus **iga** p
|
|||
|
||||
Instance segmenteerimise puhul on need lambad erinevad objektid, kuid semantilise segmenteerimise puhul esindavad kõik lambad ühte klassi.
|
||||
|
||||
<img src="../../../../../translated_images/instance_vs_semantic.eee9812bebf8cd450cdef4caaed2d4dd9c6c3b671e0c65d8aef312758ebb7b89.et.jpeg" width="50%">
|
||||
<img src="../../../../../translated_images/instance_vs_semantic.eee9812bebf8cd45.et.jpeg" width="50%">
|
||||
|
||||
> Pilt [sellest blogipostitusest](https://nirmalamurali.medium.com/image-classification-vs-semantic-segmentation-vs-instance-segmentation-625c33a08d50)
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ Segmenteerimiseks on erinevaid närvivõrkude arhitektuure, kuid neil kõigil on
|
|||
* **Kodeerija** ekstraheerib sisendpildist omadused.
|
||||
* **Dekodeerija** teisendab need omadused **maskipildiks**, millel on sama suurus ja kanalite arv, mis vastab klasside arvule.
|
||||
|
||||
<img src="../../../../../translated_images/segm.92442f2cb42ff4fa650fee858a3a02f55cf46825d9602115130e9e95a52a8526.et.png" width="80%">
|
||||
<img src="../../../../../translated_images/segm.92442f2cb42ff4fa.et.png" width="80%">
|
||||
|
||||
> Pilt [sellest publikatsioonist](https://arxiv.org/pdf/2001.05566.pdf)
|
||||
|
||||
|
|
@ -43,7 +43,7 @@ Selles õppetükis näeme segmenteerimist tegevuses, treenides võrku inimeste n
|
|||
|
||||
> ✅ See tehnika sobib eriti hästi sellist tüüpi meditsiiniliste piltide jaoks, kuid milliseid muid reaalse maailma rakendusi võiksite ette kujutada?
|
||||
|
||||
<img alt="navi" src="../../../../../translated_images/navi.2f20b727910110ea593fa03a2491f2ba1b25c62c97b33c692bcf01917a1f333f.et.png"/>
|
||||
<img alt="navi" src="../../../../../translated_images/navi.2f20b727910110ea.et.png"/>
|
||||
|
||||
> Pilt PH<sup>2</sup> andmebaasist
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
"\n",
|
||||
"Näiteks instantsi segmenteerimise puhul on 10 lammast erinevad objektid, semantilise segmenteerimise puhul esindavad kõik lambad ühte klassi.\n",
|
||||
"\n",
|
||||
"<img src=\"../../../../../translated_images/instance_vs_semantic.eee9812bebf8cd450cdef4caaed2d4dd9c6c3b671e0c65d8aef312758ebb7b89.et.jpeg\" width=\"50%\">\n",
|
||||
"<img src=\"../../../../../translated_images/instance_vs_semantic.eee9812bebf8cd45.et.jpeg\" width=\"50%\">\n",
|
||||
"\n",
|
||||
"> Pilt [sellest blogipostitusest](https://nirmalamurali.medium.com/image-classification-vs-semantic-segmentation-vs-instance-segmentation-625c33a08d50)\n",
|
||||
"\n",
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
"* **Kodeerija** eraldab sisendpildist omadused\n",
|
||||
"* **Dekodeerija** teisendab need omadused **maskipildiks**, mille suurus ja kanalite arv vastavad klasside arvule.\n",
|
||||
"\n",
|
||||
"<img src=\"../../../../../translated_images/segm.92442f2cb42ff4fa650fee858a3a02f55cf46825d9602115130e9e95a52a8526.et.png\" width=\"80%\">\n",
|
||||
"<img src=\"../../../../../translated_images/segm.92442f2cb42ff4fa.et.png\" width=\"80%\">\n",
|
||||
"\n",
|
||||
"> Pilt [sellest publikatsioonist](https://arxiv.org/pdf/2001.05566.pdf)\n"
|
||||
]
|
||||
|
|
@ -252,7 +252,7 @@
|
|||
"\n",
|
||||
"Lihtsaim kodeerija-dekodeerija arhitektuur kannab nime **SegNet**. See kasutab standardset CNN-i koos konvolutsioonide ja koondamistega kodeerijas ning dekodeerijas dekonvolutsioonilist CNN-i, mis sisaldab konvolutsioone ja ülesproovimisi. Samuti toetub see partiinormaliseerimisele, et edukalt treenida mitmekihilist võrku.\n",
|
||||
"\n",
|
||||
"<img src=\"../../../../../translated_images/segnet.87377542aa5a8b76c6e19b715e86daec8da5c1124df41ab6064d8409b8579be6.et.png\" width=\"80%\">\n",
|
||||
"<img src=\"../../../../../translated_images/segnet.87377542aa5a8b76.et.png\" width=\"80%\">\n",
|
||||
"\n",
|
||||
"> Pilt sellest artiklist: Badrinarayanan, V., Kendall, A., & Cipolla, R. (2015). [SegNet: Sügav konvolutsiooniline kodeerija-dekodeerija arhitektuur pildisegmentatsiooniks](https://arxiv.org/pdf/1511.00561.pdf)\n"
|
||||
]
|
||||
|
|
@ -547,7 +547,7 @@
|
|||
"\n",
|
||||
"Siin kasutame üsna lihtsat CNN arhitektuuri, kuid U-Net võib kasutada ka keerukamat kodeerijat omaduste eraldamiseks, näiteks ResNet-50.\n",
|
||||
"\n",
|
||||
"<img src=\"../../../../../translated_images/unet.3adb555bf39d3657bf535321c7ee153dbdd32895189e915e014229a9c79cf1e3.et.png\" width=\"70%\">\n",
|
||||
"<img src=\"../../../../../translated_images/unet.3adb555bf39d3657.et.png\" width=\"70%\">\n",
|
||||
"\n",
|
||||
"> Pilt artiklist: Ronneberger, Olaf, Philipp Fischer ja Thomas Brox. [U-Net: Convolutional networks for biomedical image segmentation.](https://arxiv.org/pdf/1505.04597.pdf)\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -12,13 +12,13 @@
|
|||
"\n",
|
||||
"Näiteks instantssegmentimisel on kümme autot **erinevad** objektid, semantilise segmentimise puhul on **kõik** autod üks klass.\n",
|
||||
"\n",
|
||||
"<img src=\"../../../../../translated_images/instance_vs_semantic.eee9812bebf8cd450cdef4caaed2d4dd9c6c3b671e0c65d8aef312758ebb7b89.et.jpeg\" width=\"50%\">\n",
|
||||
"<img src=\"../../../../../translated_images/instance_vs_semantic.eee9812bebf8cd45.et.jpeg\" width=\"50%\">\n",
|
||||
"\n",
|
||||
"> Pilt [sellest blogipostitusest](https://nirmalamurali.medium.com/image-classification-vs-semantic-segmentation-vs-instance-segmentation-625c33a08d50)\n",
|
||||
"\n",
|
||||
"Peaaegu kõigil arhitektuuridel on sama struktuur. Esimene osa on **kodeerija**, mis eraldab sisendpildist omadused, teine osa on **dekodeerija**, mis teisendab need omadused pildiks, millel on sama kõrgus ja laius ning teatud arv kanaleid, mis võib olla võrdne klasside arvuga.\n",
|
||||
"\n",
|
||||
"<img src=\"../../../../../translated_images/segm.92442f2cb42ff4fa650fee858a3a02f55cf46825d9602115130e9e95a52a8526.et.png\" width=\"80%\">\n",
|
||||
"<img src=\"../../../../../translated_images/segm.92442f2cb42ff4fa.et.png\" width=\"80%\">\n",
|
||||
"\n",
|
||||
"> Pilt [sellest publikatsioonist](https://arxiv.org/pdf/2001.05566.pdf)\n"
|
||||
]
|
||||
|
|
@ -210,7 +210,7 @@
|
|||
"\n",
|
||||
"Lihtne kodeerija-dekodeerija arhitektuur, mis kasutab konvolutsioone ja koondamisi kodeerijas ning konvolutsioone ja ülesmõõdistamisi dekodeerijas.\n",
|
||||
"\n",
|
||||
"<img src=\"../../../../../translated_images/segnet.87377542aa5a8b76c6e19b715e86daec8da5c1124df41ab6064d8409b8579be6.et.png\" width=\"80%\">\n",
|
||||
"<img src=\"../../../../../translated_images/segnet.87377542aa5a8b76.et.png\" width=\"80%\">\n",
|
||||
"\n",
|
||||
"* Badrinarayanan, V., Kendall, A., & Cipolla, R. (2015). [SegNet: Sügav konvolutsiooniline kodeerija-dekodeerija arhitektuur pildisegmentatsiooniks](https://arxiv.org/pdf/1511.00561.pdf)\n"
|
||||
]
|
||||
|
|
@ -601,7 +601,7 @@
|
|||
"\n",
|
||||
"U-Netil on tavaliselt vaikimisi kodeerija omaduste eraldamiseks, näiteks resnet50.\n",
|
||||
"\n",
|
||||
"<img src=\"../../../../../translated_images/unet.3adb555bf39d3657bf535321c7ee153dbdd32895189e915e014229a9c79cf1e3.et.png\" width=\"70%\">\n",
|
||||
"<img src=\"../../../../../translated_images/unet.3adb555bf39d3657.et.png\" width=\"70%\">\n",
|
||||
"\n",
|
||||
"* Ronneberger, Olaf, Philipp Fischer ja Thomas Brox. [U-Net: Konvolutsioonivõrgud biomeditsiiniliste piltide segmentimiseks.](https://arxiv.org/pdf/1505.04597.pdf)\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Arvutinägemine
|
||||
|
||||

|
||||

|
||||
|
||||
Selles osas õpime:
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ Meie eesmärk on klassifitseerida uudisartikkel üheks kategooriaks, tuginedes t
|
|||
|
||||
Kui tahame lahendada loomuliku keele töötlemise (NLP) ülesandeid närvivõrkudega, peame leidma viisi, kuidas teksti tensoritena esitada. Arvutid esindavad tekstimärke juba numbritena, mis kaardistuvad ekraanil olevate fontidega, kasutades kodeeringuid nagu ASCII või UTF-8.
|
||||
|
||||
<img alt="Pilt, mis näitab skeemi, kuidas märk kaardistub ASCII ja binaarse esitusena" src="../../../../../translated_images/ascii-character-map.18ed6aa7f3b0a7ffeb29db95be05a245b6a20712bb2c3a9963c1ec7e9df70358.et.png" width="50%"/>
|
||||
<img alt="Pilt, mis näitab skeemi, kuidas märk kaardistub ASCII ja binaarse esitusena" src="../../../../../translated_images/ascii-character-map.18ed6aa7f3b0a7ff.et.png" width="50%"/>
|
||||
|
||||
> [Pildi allikas](https://www.seobility.net/en/wiki/ASCII)
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ Mõnel juhul võime kaaluda ka tri-grammide - kolme sõna kombinatsioonide - kas
|
|||
|
||||
Tekstiklassifikatsiooni ülesannete lahendamisel peame suutma esitada teksti ühe fikseeritud suurusega vektorina, mida kasutame lõpliku tiheda klassifikaatori sisendina. Üks lihtsamaid viise seda teha on kombineerida kõik üksikud sõnaesitused, näiteks neid liites. Kui liidame iga sõna ühe-kuuma kodeeringud, saame sagedusvektori, mis näitab, mitu korda iga sõna tekstis esineb. Sellist teksti esitust nimetatakse **sõnakotiks** (BoW).
|
||||
|
||||
<img src="../../../../../translated_images/bow.3811869cff59368d951c7a765ed20ebeaf7d10680eb602ea7c5312fb22f7b7ad.et.png" width="90%"/>
|
||||
<img src="../../../../../translated_images/bow.3811869cff59368d.et.png" width="90%"/>
|
||||
|
||||
> Pilt autori poolt
|
||||
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@
|
|||
"\n",
|
||||
"**Sõnade koti** (BoW) vektoriesitus on kõige sagedamini kasutatav traditsiooniline vektoriesitus. Iga sõna on seotud vektori indeksiga, vektori element sisaldab sõna esinemiste arvu antud dokumendis.\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n",
|
||||
"> **Note**: BoW-d võib mõelda ka kui kõigi teksti üksiksõnade ühekuumkodeeritud vektorite summat.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@
|
|||
"\n",
|
||||
"**Sõnade kogumi** (BoW) vektor-esitus on kõige lihtsamini mõistetav traditsiooniline vektor-esitus. Iga sõna on seotud vektori indeksiga ning vektori element sisaldab iga sõna esinemiskordade arvu antud dokumendis.\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n",
|
||||
"> **Note**: BoW-d võib mõelda ka kui kõigi teksti üksiksõnade ühekuumkooditud vektorite summana.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@
|
|||
"\n",
|
||||
"Kasutades sisestuskihti meie võrgu esimesena kihina, saame liikuda sõnakoti mudelilt **sisestuskoti** mudelile, kus esmalt teisendame iga sõna tekstis vastavaks sisestuseks ja seejärel arvutame nende sisestuste üle mingi koondfunktsiooni, näiteks `sum`, `average` või `max`.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Meie klassifikaatori närvivõrk algab sisestuskihiga, millele järgneb koondamiskihiga ja lineaarne klassifikaator selle peal:\n"
|
||||
]
|
||||
|
|
@ -176,7 +176,7 @@
|
|||
"\n",
|
||||
"Eelmises arhitektuuris pidime kõik järjestused täitma sama pikkuseni, et need minibatch'i sobiksid. See ei ole kõige tõhusam viis muutuva pikkusega järjestuste esitamiseks - teine lähenemine oleks kasutada **nihke** vektorit, mis sisaldaks kõigi järjestuste nihked, mis on salvestatud ühes suures vektoris.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> **Note**: Ülaloleval pildil on näidatud tähemärkide järjestus, kuid meie näites töötame sõnade järjestustega. Siiski jääb üldine põhimõte järjestuste esitamiseks nihkevektoriga samaks.\n",
|
||||
"\n",
|
||||
|
|
@ -311,7 +311,7 @@
|
|||
"\n",
|
||||
"CBoW on kiirem, samas kui vahegramm on aeglasem, kuid esindab haruldasi sõnu paremini.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Et katsetada Word2Vec-i sisestust, mis on eelnevalt treenitud Google News andmekogul, saame kasutada **gensim** teeki. Allpool otsime sõnu, mis on kõige sarnasemad sõnale 'neural'.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
"\n",
|
||||
"Kasutades embedding-kihti meie võrgu esimeseks kihiks, saame liikuda sõnakottide mudelilt **embedding-koti** mudelile, kus esmalt teisendame iga sõna tekstis vastavaks embedding'iks ja seejärel arvutame nende embedding'ite üle mingi koondfunktsiooni, näiteks `sum`, `average` või `max`.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Meie klassifitseeriva närvivõrgu kihid on järgmised:\n",
|
||||
"\n",
|
||||
|
|
@ -283,7 +283,7 @@
|
|||
"\n",
|
||||
"CBoW on kiirem, samas kui vahelejätu-gramm on aeglasem, kuid esindab haruldasi sõnu paremini.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Et katsetada Word2Vec sisendit, mis on eelnevalt treenitud Google News andmestiku peal, saame kasutada **gensim** teeki. Allpool otsime sõnu, mis on kõige sarnasemad sõnale 'neural'.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Sisestuskihi ülesanne on võtta sõna sisendina ja anda väljundvektor kindlaks
|
|||
|
||||
Kasutades sisestuskihti meie klassifitseerimisvõrgu esimese kihina, saame liikuda sõnakotilt **sisestuskoti** mudelile, kus esmalt teisendame iga sõna meie tekstis vastavaks sisestuseks ja seejärel arvutame nende sisestuste üle mingi koondfunktsiooni, nagu `sum`, `average` või `max`.
|
||||
|
||||

|
||||

|
||||
|
||||
> Pilt autori poolt
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ Selleks peame oma sisestusmudeli eelnevalt treenima suure tekstikogu peal spetsi
|
|||
|
||||
CBoW on kiirem, samas kui hüppegramm on aeglasem, kuid teeb paremat tööd harvaesinevate sõnade esindamisel.
|
||||
|
||||

|
||||

|
||||
|
||||
> Pilt [sellest artiklist](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ Eelnevates näidetes kasutasime eelnevalt treenitud semantilisi vektoreid, kuid
|
|||
* **Järjepidev sõnakott** (CBoW), kus ennustame keskmist tokenit $W_0$ tokenite järjestuses $W_{-N}$, ..., $W_N$.
|
||||
* **Skip-gramm**, kus ennustame keskmise tokeni $W_0$ põhjal naabertokenite komplekti {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$}.
|
||||
|
||||

|
||||

|
||||
|
||||
> Pilt [sellest artiklist](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Eelnevates osades oleme kasutanud tekstide rikkalikke semantilisi esitusi ja lih
|
|||
|
||||
Tekstijärjestuse tähenduse tabamiseks peame kasutama teistsugust neuraalvõrgu arhitektuuri, mida nimetatakse **korduvaks neuraalvõrguks** ehk RNN-iks. RNN-is edastame oma lause läbi võrgu ühe sümboli kaupa, ja võrk genereerib mingi **oleku**, mille edastame võrku uuesti koos järgmise sümboliga.
|
||||
|
||||

|
||||

|
||||
|
||||
> Pilt autori poolt
|
||||
|
||||
|
|
@ -31,7 +31,7 @@ Vaatame, kuidas lihtne RNN-rakk on üles ehitatud. See võtab sisendiks eelneva
|
|||
|
||||
Lihtsal RNN-rakul on kaks kaalusid sisaldavat maatriksit: üks teisendab sisendsümbolit (nimetame seda W-ks) ja teine teisendab sisendolekut (H). Sellisel juhul arvutatakse võrgu väljund valemiga σ(W×X<sub>i</sub>+H×S<sub>i-1</sub>+b), kus σ on aktivatsioonifunktsioon ja b on täiendav nihe.
|
||||
|
||||
<img alt="RNN-raku anatoomia" src="../../../../../translated_images/rnn-anatomy.79ee3f3920b3294bd52e9543ef36102dbca3cecf6d4d78d8c63bf0bbc95fdc90.et.png" width="50%"/>
|
||||
<img alt="RNN-raku anatoomia" src="../../../../../translated_images/rnn-anatomy.79ee3f3920b3294b.et.png" width="50%"/>
|
||||
|
||||
> Pilt autori poolt
|
||||
|
||||
|
|
@ -61,7 +61,7 @@ Oleme arutanud korduvaid võrke, mis töötavad ühes suunas, järjestuse alguse
|
|||
|
||||
Korduv võrk, olgu see ühesuunaline või kahepoolne, tabab teatud mustreid järjestuses ja suudab neid salvestada olekuvektorisse või edastada väljundisse. Nagu konvolutsioonivõrkude puhul, saame ehitada teise korduva kihi esimese peale, et tabada kõrgema taseme mustreid ja ehitada madalama taseme mustritest, mida esimene kiht eraldas. See viib meid **mitmekihilise RNN-i** mõisteni, mis koosneb kahest või enamast korduvast võrgust, kus eelmise kihi väljund edastatakse järgmisele kihile sisendiks.
|
||||
|
||||

|
||||

|
||||
|
||||
*Pilt [sellest suurepärasest postitusest](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) autorilt Fernando López*
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
"\n",
|
||||
"Tekstijärjestuse tähenduse tabamiseks peame kasutama teistsugust närvivõrgu arhitektuuri, mida nimetatakse **korduvaks närvivõrguks** ehk RNN-iks. RNN-is edastame oma lause läbi võrgu ühe sümboli kaupa, ja võrk genereerib mingi **oleku**, mille edastame võrku uuesti koos järgmise sümboliga.\n",
|
||||
"\n",
|
||||
"<img alt=\"RNN\" src=\"../../../../../translated_images/rnn.27f5c29c53d727b546ad3961637a267f0fe9ec5ab01f2a26a853c92fcefbb574.et.png\" width=\"60%\"/>\n",
|
||||
"<img alt=\"RNN\" src=\"../../../../../translated_images/rnn.27f5c29c53d727b5.et.png\" width=\"60%\"/>\n",
|
||||
"\n",
|
||||
"Arvestades sisendjärjestust $X_0,\\dots,X_n$, loob RNN järjestuse närvivõrgu plokkidest ja treenib seda järjestust otsast lõpuni tagasileviku meetodil. Iga võrguplokk võtab sisendiks paari $(X_i,S_i)$ ja genereerib tulemuseks $S_{i+1}$. Lõplik olek $S_n$ või väljund $X_n$ suunatakse lineaarsele klassifikaatorile, et toota tulemus. Kõik võrguplokid jagavad samu kaalusid ja neid treenitakse otsast lõpuni ühe tagasileviku käigu abil.\n",
|
||||
"\n",
|
||||
|
|
@ -428,7 +428,7 @@
|
|||
"\n",
|
||||
"Korduv võrk, olgu see ühe- või kahepoolne, tuvastab teatud mustrid järjestuses ja suudab need salvestada oleku vektorisse või edastada väljundisse. Nagu konvolutsioonivõrkude puhul, saame ehitada esimese kihi peale teise korduva kihi, et tuvastada kõrgema taseme mustreid, mis on loodud esimese kihi poolt tuvastatud madalama taseme mustritest. See viib meid **mitmekihilise RNN-i** mõisteni, mis koosneb kahest või enamast korduvast võrgust, kus eelmise kihi väljund edastatakse järgmisele kihile sisendina.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Pilt [sellest suurepärasest postitusest](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) autorilt Fernando López*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
"\n",
|
||||
"Tekstijada tähenduse tabamiseks kasutame närvivõrgu arhitektuuri, mida nimetatakse **korduvaks närvivõrguks** ehk RNN-iks. RNN-i kasutamisel edastame oma lause võrgu kaudu ühe tokeni korraga, ja võrk toodab mingi **seisundi**, mille edastame võrku uuesti koos järgmise tokeniga.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Arvestades sisendjada tokenitest $X_0,\\dots,X_n$, loob RNN närvivõrgu plokkide jada ja treenib seda jada otsast lõpuni tagasileviku abil. Iga võrguplokk võtab sisendiks paari $(X_i,S_i)$ ja annab tulemuseks $S_{i+1}$. Lõplik seisund $S_n$ või väljund $Y_n$ suunatakse lineaarse klassifikaatori kaudu tulemuse saamiseks. Kõik võrguplokid jagavad samu kaale ja neid treenitakse otsast lõpuni ühe tagasileviku käigu abil.\n",
|
||||
"\n",
|
||||
|
|
@ -371,7 +371,7 @@
|
|||
"\n",
|
||||
"Korduvad närvivõrgud, olgu need ühe- või kaksuunalised, püüavad kinni mustreid järjestuses ja salvestavad need olekuvektoritesse või tagastavad need väljundina. Nii nagu konvolutsioonivõrkude puhul, saame esimesele kihile lisada teise korduva kihi, et püüda kinni kõrgema taseme mustreid, mis on loodud esimese kihi poolt tuvastatud madalama taseme mustritest. See viib meid **mitmekihilise RNN-i** mõisteni, mis koosneb kahest või enamast korduvast võrgust, kus eelmise kihi väljund edastatakse järgmisele kihile sisendina.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Pilt [sellest suurepärasest postitusest](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3), autor Fernando López.*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@
|
|||
"\n",
|
||||
"RNN-i treenimiseks teksti genereerimiseks toimime järgmiselt. Igal sammul võtame `nchars` pikkuse tähemärkide jada ja palume võrgul genereerida iga sisendtähemärgi jaoks järgmine väljundtähemärk:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Olenevalt konkreetsest stsenaariumist võime soovida lisada ka erimärke, näiteks *järjestuse lõpp* `<eos>`. Meie puhul tahame lihtsalt treenida võrku lõputu teksti genereerimiseks, seega määrame iga jada suuruseks `nchars` tokenit. Järelikult koosneb iga treeningnäide `nchars` sisendist ja `nchars` väljundist (mis on sisendjada, nihutatud ühe sümboli võrra vasakule). Minipartii koosneb mitmest sellisest jadast.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@
|
|||
"\n",
|
||||
"RNN-i treenimine uudiste pealkirjade genereerimiseks toimub järgmiselt. Igal sammul võtame ühe pealkirja, mis sisestatakse RNN-i, ja iga sisendmärgi puhul palume võrgul genereerida järgmine väljundmärk:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Meie järjestuse viimase märgi puhul palume võrgul genereerida `<eos>` tokeni.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ RNN arhitektuuris, mida käsitlesime eelmises üksuses, genereeris iga RNN üksu
|
|||
|
||||
See võimaldab erinevaid närvivõrgu arhitektuure, mida on näidatud alloleval pildil:
|
||||
|
||||

|
||||

|
||||
|
||||
> Pilt blogipostitusest [Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) autorilt [Andrej Karpaty](http://karpathy.github.io/)
|
||||
|
||||
|
|
@ -32,11 +32,11 @@ Selles üksuses keskendume lihtsatele generatiivsetele mudelitele, mis aitavad m
|
|||
|
||||
Treename selle RNN-i teksti genereerimiseks samm-sammult. Igal sammul võtame tähemärkide järjestuse pikkusega `nchars` ja palume võrgul genereerida järgmise väljundtähemärgi iga sisendtähemärgi jaoks:
|
||||
|
||||

|
||||

|
||||
|
||||
Teksti genereerimisel (järeldamisel) alustame mõne **alguspunktiga**, mis edastatakse RNN rakkude kaudu, et genereerida selle vaheolek, ja seejärel algab genereerimine sellest olekust. Genereerime ühe tähemärgi korraga ja edastame oleku ja genereeritud tähemärgi järgmisele RNN rakule, et genereerida järgmine, kuni oleme genereerinud piisavalt tähemärke.
|
||||
|
||||
<img src="../../../../../translated_images/rnn-generate-inf.5168dc65e0370eeab36f83885ba6b5bf56265698de5ddbd8648dc3653e1f0b9b.et.png" width="60%"/>
|
||||
<img src="../../../../../translated_images/rnn-generate-inf.5168dc65e0370eea.et.png" width="60%"/>
|
||||
|
||||
> Pilt autorilt
|
||||
|
||||
|
|
|
|||
|
|
@ -20,13 +20,13 @@ RNN-idega rakendatakse järjestusest-järjestusse meetodit kahe korduva võrgu a
|
|||
|
||||
**Tähelepanu mehhanismid** pakuvad võimalust kaaluda iga sisendvektori kontekstuaalset mõju RNN-i iga väljundprognoosi puhul. Seda rakendatakse, luues otseteid sisend-RNN-i vaheolekute ja väljund-RNN-i vahel. Sel viisil, kui genereerime väljundisümbolit y<sub>t</sub>, võtame arvesse kõiki sisendvarjatud olekuid h<sub>i</sub>, erinevate kaalukoefitsientidega α<sub>t,i</sub>.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kodeerija-dekodeerija mudel aditiivse tähelepanu mehhanismiga [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), viidatud [sellest blogipostitusest](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)
|
||||
|
||||
Tähelepanu maatriks {α<sub>i,j</sub>} esindab, millises ulatuses teatud sisendsõnad mõjutavad antud sõna genereerimist väljundjärjestuses. Allpool on näide sellisest maatriksist:
|
||||
|
||||

|
||||

|
||||
|
||||
> Joonis [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Joonis 3)
|
||||
|
||||
|
|
@ -56,7 +56,7 @@ Positsioonilise kodeerimise idee on järgmine.
|
|||
* Treenitav embedimine, sarnane tokeni embedimisele. See on lähenemine, mida siin kaalume. Rakendame embedimise kihid nii tokenitele kui ka nende positsioonidele, mille tulemuseks on sama mõõtmetega embedimise vektorid, mille me seejärel kokku liidame.
|
||||
* Fikseeritud positsioonilise kodeerimise funktsioon, nagu on välja pakutud algses artiklis.
|
||||
|
||||
<img src="../../../../../translated_images/pos-embedding.e41ce9b6cf6078afd28da02f27e33ac7026ed4c156491df7ad9aa96be7c194bb.et.png" width="50%"/>
|
||||
<img src="../../../../../translated_images/pos-embedding.e41ce9b6cf6078af.et.png" width="50%"/>
|
||||
|
||||
> Pilt autorilt
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ Positsioonilise embedimise tulemusena saame vektori, mis sisaldab nii algset tok
|
|||
|
||||
Järgmine samm on mustrite tuvastamine järjestuses. Selleks kasutavad transformerid **isetähelepanu** mehhanismi, mis on sisuliselt tähelepanu rakendamine samale järjestusele sisendi ja väljundina. Isetähelepanu rakendamine võimaldab meil arvestada **konteksti** lauses ja näha, millised sõnad on omavahel seotud. Näiteks võimaldab see meil näha, millistele sõnadele viitavad kooreferentsid, nagu *see*, ja arvestada konteksti:
|
||||
|
||||

|
||||

|
||||
|
||||
> Pilt [Google'i blogist](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html)
|
||||
|
||||
|
|
@ -91,7 +91,7 @@ Kuna iga sisendi positsioon kaardistatakse sõltumatult iga väljundi positsioon
|
|||
|
||||
**BERT** (Bidirectional Encoder Representations from Transformers) on väga suur mitmekihiline transformer võrk, millel on 12 kihti *BERT-base* jaoks ja 24 kihti *BERT-large* jaoks. Mudel treenitakse esmalt suure tekstikorpuse (Wikipedia + raamatud) peal kasutades juhendamata treeningut (ennustades maskeeritud sõnu lauses). Treeningu käigus omandab mudel märkimisväärsel tasemel keele mõistmist, mida saab seejärel kasutada teiste andmekogumitega peenhäälestamise abil. Seda protsessi nimetatakse **ülekandeõppeks**.
|
||||
|
||||

|
||||

|
||||
|
||||
> Pildi [allikas](http://jalammar.github.io/illustrated-bert/)
|
||||
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
"\n",
|
||||
"**Tähelepanumehhanismid** pakuvad võimalust kaaluda iga sisendvektori kontekstuaalset mõju RNN-i iga väljundprognoosi puhul. Seda rakendatakse, luues otseteid sisend-RNN-i vaheolekute ja väljund-RNN-i vahel. Sel viisil, kui genereeritakse väljundisümbolit $y_t$, arvestame kõiki sisendi varjatud olekuid $h_i$, erinevate kaalukoefitsientidega $\\alpha_{t,i}$.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Kodeerija-dekodeerija mudel koos aditiivse tähelepanumehhanismiga [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), viidatud [sellest blogipostitusest](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
|
||||
"\n",
|
||||
"Tähelepanumaatriks $\\{\\alpha_{i,j}\\}$ esindab, millisel määral teatud sisendsõnad mõjutavad antud sõna genereerimist väljundjärjestuses. Allpool on näide sellisest maatriksist:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Joonis võetud [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Joonis 3)*\n",
|
||||
"\n",
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
"\n",
|
||||
"**BERT** (Bidirectional Encoder Representations from Transformers) on väga suur mitmekihiline transformerivõrk, millel on 12 kihti *BERT-base* jaoks ja 24 kihti *BERT-large* jaoks. Mudel treenitakse esmalt suure tekstikorpuse (Wikipedia + raamatud) peal, kasutades juhendamata treeningut (maskeeritud sõnade ennustamine lauses). Treeningu käigus omandab mudel märkimisväärse taseme keele mõistmist, mida saab seejärel kasutada teiste andmekogumite peal peenhäälestamise abil. Seda protsessi nimetatakse **ülekandeõppeks**.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Transformeriarhitektuuridel, nagu BERT, DistilBERT, BigBird, OpenGPT3 ja teised, on palju variatsioone, mida saab peenhäälestada. [HuggingFace pakett](https://github.com/huggingface/) pakub repositooriumi paljude nende arhitektuuride treenimiseks PyTorchiga.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
"\n",
|
||||
"**Tähelepanumehhanismid** pakuvad võimalust kaaluda iga sisendvektori kontekstuaalset mõju RNN-i iga väljundprognoosi puhul. Selle rakendamine toimub lühenduste loomisega sisend-RNN-i vaheolekute ja väljund-RNN-i vahel. Sel viisil, kui genereerime väljundisümbolit $y_t$, võtame arvesse kõiki sisendi varjatud olekuid $h_i$, erinevate kaalukoefitsientidega $\\alpha_{t,i}$.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Kodeerija-dekodeerija mudel koos aditiivse tähelepanumehhanismiga [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), viidatud [selles blogipostituses](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
|
||||
"\n",
|
||||
"Tähelepanumaatriks $\\{\\alpha_{i,j}\\}$ esindab, millisel määral teatud sisendsõnad osalevad antud sõna genereerimisel väljundjärjestuses. Allpool on näide sellisest maatriksist:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Joonis võetud [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Joonis 3)*\n",
|
||||
"\n",
|
||||
|
|
@ -92,7 +92,7 @@
|
|||
"source": [
|
||||
"See kiht koosneb kahest `Embedding` kihist: üks on mõeldud tokenite sisestamiseks (nagu me varem arutasime) ja teine tokenite positsioonide jaoks. Tokenite positsioonid luuakse naturaalarvude järjestusena vahemikus 0 kuni `maxlen`, kasutades `tf.range`, ning seejärel edastatakse need sisestuskihile. Kaks saadud sisestusvektorit liidetakse, mille tulemusena saadakse positsiooniliselt sisestatud sisendi esitus kujuga `maxlen`$\\times$`embed_dim`.\n",
|
||||
"\n",
|
||||
"<img src=\"../../../../../translated_images/pos-embedding.e41ce9b6cf6078afd28da02f27e33ac7026ed4c156491df7ad9aa96be7c194bb.et.png\" width=\"40%\"/>\n",
|
||||
"<img src=\"../../../../../translated_images/pos-embedding.e41ce9b6cf6078af.et.png\" width=\"40%\"/>\n",
|
||||
"\n",
|
||||
"Nüüd rakendame transformer ploki. See võtab sisendiks varem määratletud sisestuskihi väljundi:\n"
|
||||
]
|
||||
|
|
@ -134,7 +134,7 @@
|
|||
"\n",
|
||||
"Selle kihi väljund edastatakse seejärel läbi `Dense` võrgu (meie puhul - kahekihi perceptron), ja tulemus lisatakse lõplikule väljundile (mis läbib uuesti normaliseerimise).\n",
|
||||
"\n",
|
||||
"<img src=\"../../../../../translated_images/transformer-layer.905e14747ca4e7d5cf1409e8bf8944c9b1d6e4f5ce3ab167918af65c4904d727.et.png\" width=\"30%\" />\n",
|
||||
"<img src=\"../../../../../translated_images/transformer-layer.905e14747ca4e7d5.et.png\" width=\"30%\" />\n",
|
||||
"\n",
|
||||
"Nüüd oleme valmis defineerima täieliku transformer mudeli:\n"
|
||||
]
|
||||
|
|
@ -235,7 +235,7 @@
|
|||
"\n",
|
||||
"**BERT** (Bidirectional Encoder Representations from Transformers) on väga suur mitmekihiline transformer-võrk, millel on 12 kihti *BERT-base* jaoks ja 24 kihti *BERT-large* jaoks. Mudel treenitakse esmalt suurtel tekstikorpustel (WikiPedia + raamatud) kasutades juhendamata treenimist (ennustades lauses maskeeritud sõnu). Eeltreeningu käigus omandab mudel märkimisväärse taseme keele mõistmist, mida saab seejärel kasutada koos teiste andmekogumitega peenhäälestuse abil. Seda protsessi nimetatakse **ülekandeõppeks**.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Transformer-arhitektuuridel, sealhulgas BERT, DistilBERT, BigBird, OpenGPT3 ja teistel, on palju variatsioone, mida saab peenhäälestada.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ Siiani oleme peamiselt keskendunud ühele NLP ülesandele - klassifikatsioonile.
|
|||
|
||||
Oletame, et soovite arendada loomuliku keele vestlusrobotit, sarnast Amazon Alexa või Google Assistantiga. Nutikad vestlusrobotid töötavad nii, et nad *mõistavad*, mida kasutaja tahab, tehes sisendlausele tekstiklassifikatsiooni. Selle klassifikatsiooni tulemus on nn **intent**, mis määrab, mida vestlusrobot peaks tegema.
|
||||
|
||||
<img alt="Bot NER" src="../../../../../translated_images/bot-ner.4b09235dbb0ad2754ec1f54c8c797f902cbb0b45ac90b0cfc8287343cef8df2f.et.png" width="50%"/>
|
||||
<img alt="Bot NER" src="../../../../../translated_images/bot-ner.4b09235dbb0ad275.et.png" width="50%"/>
|
||||
|
||||
> Pilt autorilt
|
||||
|
||||
|
|
@ -54,7 +54,7 @@ vastsündinul | O
|
|||
|
||||
Kuna peame looma üks-ühele vastavuse tokenite ja klasside vahel, saame treenida parempoolse **mitme-mitme** närvivõrgu mudeli sellest pildist:
|
||||
|
||||

|
||||

|
||||
|
||||
> *Pilt [sellest blogipostitusest](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) autorilt [Andrej Karpathy](http://karpathy.github.io/). NER tokenite klassifikatsioonimudelid vastavad parempoolsele võrgustiku arhitektuurile sellel pildil.*
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Loodusliku keele töötlemine
|
||||
|
||||

|
||||

|
||||
|
||||
Selles osas keskendume **loodusliku keele töötlemise (NLP)** ülesannete lahendamisele, kasutades tehisnärvivõrke. On palju NLP probleeme, mida soovime, et arvutid suudaksid lahendada:
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ Tõenäoliselt olete näinud kaasaegseid tasakaalustusseadmeid, nagu *Segway* v
|
|||
|
||||
Lihtsustatud versioon tasakaalustamisest on tuntud kui **CartPole** probleem. CartPole maailmas on meil horisontaalne liugur, mis saab liikuda vasakule või paremale, ja eesmärk on tasakaalustada vertikaalne post liuguri peal, kui see liigub.
|
||||
|
||||
<img alt="cartpole" src="../../../../../translated_images/cartpole.f52a67f27e058170c25efc1bca8375b60906570ea757fe8d7ef04ae8e53df29d.et.png" width="200"/>
|
||||
<img alt="cartpole" src="../../../../../translated_images/cartpole.f52a67f27e058170.et.png" width="200"/>
|
||||
|
||||
Selle keskkonna loomiseks ja kasutamiseks on vaja paar rida Python koodi:
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Laboriülesanne [AI algajatele õppekavast](https://github.com/microsoft/ai-for-
|
|||
|
||||
Sinu eesmärk on treenida RL-agent juhtima [Mountain Car](https://www.gymlibrary.ml/environments/classic_control/mountain_car/) OpenAI keskkonnas.
|
||||
|
||||
<img alt="Mountain Car" src="../../../../../../translated_images/mountaincar.f7b7a7f6d4f9933b31a5fb3453b9c026aa0d65f6644bb03513a955590aae1bc4.et.png" width="300"/>
|
||||
<img alt="Mountain Car" src="../../../../../../translated_images/mountaincar.f7b7a7f6d4f9933b.et.png" width="300"/>
|
||||
|
||||
## Keskkond
|
||||
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ NetLogo saate [alla laadida](https://ccl.northwestern.edu/netlogo/download.shtml
|
|||
|
||||
NetLogo suurepärane omadus on see, et see sisaldab töötavate mudelite raamatukogu, mida saate proovida. Minge **File → Models Library**, ja teil on palju mudelikategooriaid, mille vahel valida.
|
||||
|
||||
<img alt="NetLogo mudelite raamatukogu" src="../../../../../translated_images/NetLogo-ModelLib.efe023afb4763c059704a8ac0e2cd5e51889b117e8eac02aaa5334cfe1c52c13.et.png" width="60%"/>
|
||||
<img alt="NetLogo mudelite raamatukogu" src="../../../../../translated_images/NetLogo-ModelLib.efe023afb4763c05.et.png" width="60%"/>
|
||||
|
||||
> Mudelite raamatukogu ekraanipilt Dmitry Soshnikovilt
|
||||
|
||||
|
|
@ -70,7 +70,7 @@ Saate avada ühe mudeli, näiteks **Biology → Flocking**.
|
|||
|
||||
Pärast mudeli avamist jõuate NetLogo põhiekraanile. Siin on näidis, mis kirjeldab huntide ja lammaste populatsiooni piiratud ressursside (rohu) tingimustes.
|
||||
|
||||

|
||||

|
||||
|
||||
> Ekraanipilt Dmitry Soshnikovilt
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Ülevaade
|
||||
|
||||

|
||||

|
||||
|
||||
> Visandmärkmed autorilt [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Pärast transformer-mudelite edu NLP-ülesannete lahendamisel on sama või sarna
|
|||
|
||||
CLIP-i peamine idee on võrrelda tekstilisi juhiseid pildiga ja määrata, kui hästi pilt vastab juhisele.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Pilt [sellest blogipostitusest](https://openai.com/blog/clip/)*
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ Kui mudel on eelnevalt treenitud, saame anda sellele pildipartii ja tekstiliste
|
|||
|
||||
Oletame, et peame klassifitseerima pilte näiteks kasside, koerte ja inimeste vahel. Sel juhul saame mudelile anda pildi ja rea tekstilisi juhiseid: "*kassi pilt*", "*koera pilt*", "*inimese pilt*". Kolme tõenäosuse vektoris peame lihtsalt valima indeksi, mille väärtus on kõige suurem.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Pilt [sellest blogipostitusest](https://openai.com/blog/clip/)*
|
||||
|
||||
|
|
@ -53,13 +53,13 @@ Lisateavet VQGAN-i kohta leiate [Taming Transformers](https://compvis.github.io/
|
|||
|
||||
Üks oluline erinevus VQGAN-i ja traditsioonilise GAN-i vahel on see, et viimane suudab genereerida korraliku pildi mis tahes sisendvektorist, samas kui VQGAN-i puhul on tõenäoline, et pilt ei ole koherentne. Seetõttu peame pildiloome protsessi täiendavalt suunama, mida saab teha CLIP-i abil.
|
||||
|
||||

|
||||

|
||||
|
||||
Tekstijuhisele vastava pildi genereerimiseks alustame juhusliku kodeerimisvektoriga, mis edastatakse VQGAN-ile, et luua pilt. Seejärel kasutatakse CLIP-i kaotusefunktsiooni loomiseks, mis näitab, kui hästi pilt vastab tekstilisele juhisele. Eesmärk on seejärel minimeerida kaotus, kasutades tagasipropageerimist sisendvektori parameetrite kohandamiseks.
|
||||
|
||||
Suurepärane teek, mis rakendab VQGAN+CLIP-i, on [Pixray](http://github.com/pixray/pixray).
|
||||
|
||||
 |  | 
|
||||
 |  | 
|
||||
----|----|----
|
||||
Pilt genereeritud juhisest *noore meesõpetaja lähivaade, akvarellportree, kirjanduse õpetaja, raamatuga* | Pilt genereeritud juhisest *noore naisõpetaja lähivaade, õliportree, arvutiteaduse õpetaja, arvutiga* | Pilt genereeritud juhisest *vana meesõpetaja lähivaade, õliportree, matemaatika õpetaja, tahvli ees*
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
CO_OP_TRANSLATOR_METADATA:
|
||||
{
|
||||
"original_hash": "4ed9993bca581850c983c95d5a3f57eb",
|
||||
"translation_date": "2025-12-24T22:57:02+00:00",
|
||||
"original_hash": "14816e97d79b296c87811724f7785923",
|
||||
"translation_date": "2026-01-01T10:15:36+00:00",
|
||||
"source_file": "README.md",
|
||||
"language_code": "fa"
|
||||
}
|
||||
|
|
@ -10,8 +10,8 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
[](https://github.com/microsoft/AI-For-Beginners/blob/main/LICENSE)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/graphs/contributors/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/issues/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/pulls/)
|
||||
[](http://makeapullrequest.com)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/pulls/)
|
||||
[](http://makeapullrequest.com)
|
||||
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/network/)
|
||||
|
|
@ -19,150 +19,150 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
[](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)
|
||||
[](https://gitter.im/Microsoft/ai-for-beginners?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
# هوش مصنوعی برای مبتدیان - یک برنامه درسی
|
||||
# Artificial Intelligence for Beginners - A Curriculum
|
||||
|
||||
||
|
||||
||
|
||||
|:---:|
|
||||
| AI For Beginners - _اسکتچنوت توسط [@girlie_mac](https://twitter.com/girlie_mac)_ |
|
||||
| هوش مصنوعی برای مبتدیان - _اسکچنوت توسط [@girlie_mac](https://twitter.com/girlie_mac)_ |
|
||||
|
||||
جهان **هوش مصنوعی** (AI) را با برنامه درسی 12 هفتهای، 24 درس ما کاوش کنید! این برنامه شامل درسهای عملی، آزمونها و آزمایشگاهها است. برنامه درسی مناسب مبتدیان است و ابزارهایی مانند TensorFlow و PyTorch و همچنین اخلاق در هوش مصنوعی را پوشش میدهد
|
||||
جهان را کاوش کنید در مورد **هوش مصنوعی** (AI) با برنامهٔ درسی 12 هفتهای ما که شامل 24 درس است! این برنامه شامل درسهای کاربردی، آزمایشها و لابراتوارها میباشد. برنامه برای مبتدیان مناسب است و ابزارهایی مانند TensorFlow و PyTorch را پوشش میدهد، و همچنین مباحث اخلاق در هوش مصنوعی را شامل میشود.
|
||||
|
||||
### 🌐 پشتیبانی چندزبان
|
||||
### 🌐 پشتیبانی چندزبانه
|
||||
|
||||
#### پشتیبانی شده از طریق GitHub Action (خودکار و همیشه بهروز)
|
||||
|
||||
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
|
||||
[عربی](../ar/README.md) | [بنگالی](../bn/README.md) | [بلغاری](../bg/README.md) | [برمهای (میانمار)](../my/README.md) | [چینی (سادهشده)](../zh/README.md) | [چینی (سنتی، هنگکنگ)](../hk/README.md) | [چینی (سنتی، ماکائو)](../mo/README.md) | [چینی (سنتی، تایوان)](../tw/README.md) | [کرواتی](../hr/README.md) | [چکی](../cs/README.md) | [دانمارکی](../da/README.md) | [هلندی](../nl/README.md) | [استونیایی](../et/README.md) | [فنلاندی](../fi/README.md) | [فرانسوی](../fr/README.md) | [آلمانی](../de/README.md) | [یونانی](../el/README.md) | [عبری](../he/README.md) | [هندی](../hi/README.md) | [مجاری](../hu/README.md) | [اندونزیایی](../id/README.md) | [ایتالیایی](../it/README.md) | [ژاپنی](../ja/README.md) | [Kannada](../kn/README.md) | [کرهای](../ko/README.md) | [لیتوانیایی](../lt/README.md) | [مالایی](../ms/README.md) | [مالایالامی](../ml/README.md) | [مراتی](../mr/README.md) | [نپالی](../ne/README.md) | [پیدژ نیجریهای](../pcm/README.md) | [نروژی](../no/README.md) | [فارسی (Farsi)](./README.md) | [لهستانی](../pl/README.md) | [پرتغالی (برزیل)](../br/README.md) | [پرتغالی (پرتغال)](../pt/README.md) | [پنجابی (گورموخی)](../pa/README.md) | [رومانیایی](../ro/README.md) | [روسی](../ru/README.md) | [صربی (سیریلیک)](../sr/README.md) | [اسلواکی](../sk/README.md) | [اسلوونیایی](../sl/README.md) | [اسپانیایی](../es/README.md) | [سواحیلی](../sw/README.md) | [سوئدی](../sv/README.md) | [تاگالوگ (فیلیپینی)](../tl/README.md) | [تامیلی](../ta/README.md) | [تلوگو](../te/README.md) | [تایلندی](../th/README.md) | [ترکی](../tr/README.md) | [اوکراینی](../uk/README.md) | [اردو](../ur/README.md) | [ویتنامی](../vi/README.md)
|
||||
[عربی](../ar/README.md) | [بنگالی](../bn/README.md) | [بلغاری](../bg/README.md) | [بورمی (میانمار)](../my/README.md) | [چینی (سادهشده)](../zh/README.md) | [چینی (سنتی، هنگکنگ)](../hk/README.md) | [چینی (سنتی، ماکائو)](../mo/README.md) | [چینی (سنتی، تایوان)](../tw/README.md) | [کروات](../hr/README.md) | [چکی](../cs/README.md) | [دانمارکی](../da/README.md) | [هلندی](../nl/README.md) | [استونیایی](../et/README.md) | [فنلاندی](../fi/README.md) | [فرانسوی](../fr/README.md) | [آلمانی](../de/README.md) | [یونانی](../el/README.md) | [عبری](../he/README.md) | [هندی](../hi/README.md) | [مجارستانی](../hu/README.md) | [اندونزیایی](../id/README.md) | [ایتالیایی](../it/README.md) | [ژاپنی](../ja/README.md) | [Kannada](../kn/README.md) | [کرهای](../ko/README.md) | [لیتوانیایی](../lt/README.md) | [مالایی](../ms/README.md) | [مالایالام](../ml/README.md) | [مراتی](../mr/README.md) | [نپالی](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [نروژی](../no/README.md) | [فارسی](./README.md) | [لهستانی](../pl/README.md) | [پرتغالی (برزیل)](../br/README.md) | [پرتغالی (پرتغال)](../pt/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [رومانیایی](../ro/README.md) | [روسی](../ru/README.md) | [صربی (سیریلیک)](../sr/README.md) | [اسلواکی](../sk/README.md) | [اسلوونیایی](../sl/README.md) | [اسپانیایی](../es/README.md) | [سواحیلی](../sw/README.md) | [سوئدی](../sv/README.md) | [تگالوگ (فیلیپینی)](../tl/README.md) | [تامیلی](../ta/README.md) | [تلوگو](../te/README.md) | [تایلندی](../th/README.md) | [ترکی](../tr/README.md) | [اوکراینی](../uk/README.md) | [اردو](../ur/README.md) | [ویتنامی](../vi/README.md)
|
||||
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
|
||||
|
||||
**اگر مایل به افزودن زبانهای ترجمه بیشتر هستید، زبانهای پشتیبانیشده در اینجا فهرست شدهاند: [here](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
|
||||
**اگر مایل به افزودن زبانهای ترجمهٔ بیشتری هستید، فهرست زبانهای پشتیبانی شده را میتوانید [اینجا](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md) ببینید**
|
||||
|
||||
## به جامعه بپیوندید
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
## چه چیزهایی یاد خواهید گرفت
|
||||
## چه چیزی یاد خواهید گرفت
|
||||
|
||||
**[نقشه ذهنی دوره](http://soshnikov.com/courses/ai-for-beginners/mindmap.html)**
|
||||
**[نقشهٔ ذهنی دوره](http://soshnikov.com/courses/ai-for-beginners/mindmap.html)**
|
||||
|
||||
در این برنامه درسی، شما یاد خواهید گرفت:
|
||||
در این برنامهٔ درسی، شما یاد خواهید گرفت:
|
||||
|
||||
* رویکردهای مختلف به هوش مصنوعی، از جمله رویکرد نمادین "قدیمی خوب" با **نمایش دانش** و استدلال ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
|
||||
* **شبکههای عصبی** و **یادگیری عمیق**، که در هسته هوش مصنوعی مدرن قرار دارند. ما مفاهیم پشت این موضوعات مهم را با استفاده از کد در دو تا از محبوبترین چارچوبها - [TensorFlow](http://Tensorflow.org) و [PyTorch](http://pytorch.org) - نشان خواهیم داد.
|
||||
* **معماریهای عصبی** برای کار با تصاویر و متن. ما مدلهای اخیر را پوشش خواهیم داد اما ممکن است در برخی موارد کمی از پیشرفتهترین آثار عقب باشیم.
|
||||
* رویکردهای کمتر محبوب در هوش مصنوعی، مانند **الگوریتمهای ژنتیک** و **سیستمهای چندعامله**.
|
||||
* رویکردهای مختلف به هوش مصنوعی، از جمله رویکرد نمادی قدیمی و کلاسیک با **نمایش دانش** و استدلال ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
|
||||
* **شبکههای عصبی** و **یادگیری عمیق** که در هستهٔ هوش مصنوعی مدرن قرار دارند. ما مفاهیم پشت این موضوعات مهم را با استفاده از کد در دو تا از محبوبترین فریمورکها نشان خواهیم داد - [TensorFlow](http://Tensorflow.org) و [PyTorch](http://pytorch.org).
|
||||
* **معماریهای عصبی** برای کار با تصاویر و متن. ما مدلهای اخیر را پوشش خواهیم داد اما ممکن است تا حدی از برترینهای روز عقب باشیم.
|
||||
* رویکردهای کمتر متداول در هوش مصنوعی، مانند **الگوریتمهای ژنتیکی** و **سیستمهای چندعامله**.
|
||||
|
||||
آنچه در این برنامه درسی پوشش داده نخواهیم داد:
|
||||
مواردی که در این برنامهٔ درسی پوشش داده نمیشوند:
|
||||
|
||||
> [تمام منابع اضافی این دوره را در مجموعه Microsoft Learn ما پیدا کنید](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
|
||||
> [تمام منابع اضافی این دوره را در مجموعهٔ Microsoft Learn ما بیابید](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
|
||||
|
||||
* موارد کسبوکاری استفاده از **هوش مصنوعی در کسبوکار**. در نظر داشته باشید مسیر یادگیری [معرفی هوش مصنوعی برای کاربران کسبوکار](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) را در Microsoft Learn دنبال کنید، یا [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum) را که با همکاری [INSEAD](https://www.insead.edu/) توسعه یافته است، بررسی کنید.
|
||||
* **یادگیری ماشین کلاسیک**، که به خوبی در برنامه درسی ما [یادگیری ماشین برای مبتدیان](http://github.com/Microsoft/ML-for-Beginners) تشریح شده است.
|
||||
* برنامههای کاربردی عملی هوش مصنوعی ساختهشده با استفاده از **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. برای این موضوع، توصیه میکنیم که با ماژولهای Microsoft Learn برای [بینایی](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum)، [پردازش زبان طبیعی](https://docs.microsoft.com/learn/paths/explore-natural-language-processing/?WT.mc_id=academic-77998-bethanycheum)، **[هوش مصنوعی مولد با سرویس Azure OpenAI](https://learn.microsoft.com/en-us/training/paths/develop-ai-solutions-azure-openai/?WT.mc_id=academic-77998-bethanycheum)** و دیگر موارد شروع کنید.
|
||||
* فریمورکهای ابری خاص یادگیری ماشین، مانند [Azure Machine Learning](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-bethanycheum)، [Microsoft Fabric](https://learn.microsoft.com/en-us/training/paths/get-started-fabric/?WT.mc_id=academic-77998-bethanycheum) یا [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). در نظر داشته باشید از مسیرهای یادگیری [ساخت و راهاندازی راهحلهای یادگیری ماشین با Azure Machine Learning](https://docs.microsoft.com/learn/paths/build-ai-solutions-with-azure-ml-service/?WT.mc_id=academic-77998-bethanycheum) و [ساخت و راهاندازی راهحلهای یادگیری ماشین با Azure Databricks](https://docs.microsoft.com/learn/paths/build-operate-machine-learning-solutions-azure-databricks/?WT.mc_id=academic-77998-bethanycheum) استفاده کنید.
|
||||
* **هوش محاورهای** و **رباتهای گفتگو**. مسیر یادگیری جداگانهای با عنوان [ایجاد راهحلهای هوش محاورهای](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum) وجود دارد، و همچنین میتوانید برای جزئیات بیشتر به [این پست وبلاگ](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) مراجعه کنید.
|
||||
* **ریاضیات عمیق** پشت یادگیری عمیق. برای این موضوع، ما کتاب [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) نوشته Ian Goodfellow، Yoshua Bengio و Aaron Courville را توصیه میکنیم، که همچنین بهصورت آنلاین در [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/) در دسترس است.
|
||||
* موارد کسبوکاری استفاده از **هوش مصنوعی در کسبوکار**. توصیه میشود مسیر یادگیری [Introduction to AI for business users](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) در Microsoft Learn را دنبال کنید، یا [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum) که با همکاری [INSEAD](https://www.insead.edu/) توسعه یافته است.
|
||||
* **یادگیری ماشین کلاسیک**، که در برنامهٔ درسی [Machine Learning for Beginners Curriculum](http://github.com/Microsoft/ML-for-Beginners) ما بهخوبی توضیح داده شده است.
|
||||
* برنامههای کاربردی عملی هوش مصنوعی که با استفاده از **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)** ساخته شدهاند. برای این منظور، توصیه میکنیم با ماژولهای Microsoft Learn برای [vision](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum)، [natural language processing](https://docs.microsoft.com/learn/paths/explore-natural-language-processing/?WT.mc_id=academic-77998-bethanycheum)، **[Generative AI with Azure OpenAI Service](https://learn.microsoft.com/en-us/training/paths/develop-ai-solutions-azure-openai/?WT.mc_id=academic-77998-bethanycheum)** و دیگر موارد شروع کنید.
|
||||
* چارچوبهای خاص ابری برای ML، مانند [Azure Machine Learning](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-bethanycheum)، [Microsoft Fabric](https://learn.microsoft.com/en-us/training/paths/get-started-fabric/?WT.mc_id=academic-77998-bethanycheum)، یا [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). میتوانید از مسیرهای یادگیری [Build and operate machine learning solutions with Azure Machine Learning](https://docs.microsoft.com/learn/paths/build-ai-solutions-with-azure-ml-service/?WT.mc_id=academic-77998-bethanycheum) و [Build and Operate Machine Learning Solutions with Azure Databricks](https://docs.microsoft.com/learn/paths/build-operate-machine-learning-solutions-azure-databricks/?WT.mc_id=academic-77998-bethanycheum) استفاده کنید.
|
||||
* **هوش مصنوعی محاورهای** و **چتباتها**. یک مسیر یادگیری جداگانه وجود دارد: [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum)، و شما همچنین میتوانید برای جزئیات بیشتر به [این پست وبلاگ](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) مراجعه کنید.
|
||||
* **ریاضیات عمیق** پشت یادگیری عمیق. برای این منظور، ما کتاب [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) نوشتهٔ Ian Goodfellow, Yoshua Bengio و Aaron Courville را توصیه میکنیم، که همچنین بهصورت آنلاین در [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/) در دسترس است.
|
||||
|
||||
برای یک معرفی ملایم به موضوعات _هوش مصنوعی در فضای ابری_ ممکن است در نظر داشته باشید مسیر یادگیری [شروع کار با هوش مصنوعی در Azure](https://docs.microsoft.com/learn/paths/get-started-with-artificial-intelligence-on-azure/?WT.mc_id=academic-77998-bethanycheum) را دنبال کنید.
|
||||
برای یک معرفی ملایم به موضوعات _هوش مصنوعی در فضای ابری_ ممکن است مسیر یادگیری [Get started with artificial intelligence on Azure](https://docs.microsoft.com/learn/paths/get-started-with-artificial-intelligence-on-azure/?WT.mc_id=academic-77998-bethanycheum) را دنبال کنید.
|
||||
|
||||
# محتوا
|
||||
# Content
|
||||
|
||||
| | لینک درس | PyTorch/Keras/TensorFlow | لاب |
|
||||
| :-: | :------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: | ------------------------------------------------------------------------------ |
|
||||
| 0 | [راهاندازی دوره](./lessons/0-course-setup/setup.md) | [راهاندازی محیط توسعهی شما](./lessons/0-course-setup/how-to-run.md) | |
|
||||
| I | [**مقدمهای بر هوش مصنوعی**](./lessons/1-Intro/README.md) | | |
|
||||
| 01 | [مقدمه و تاریخچه هوش مصنوعی](./lessons/1-Intro/README.md) | - | - |
|
||||
| II | **هوش نمادین** |
|
||||
| 02 | [نمایش دانش و سیستمهای خبره](./lessons/2-Symbolic/README.md) | [Expert Systems](./lessons/2-Symbolic/Animals.ipynb) / [Ontology](./lessons/2-Symbolic/FamilyOntology.ipynb) /[Concept Graph](./lessons/2-Symbolic/MSConceptGraph.ipynb) | |
|
||||
| III | [**مقدمهای بر شبکههای عصبی**](./lessons/3-NeuralNetworks/README.md) |||
|
||||
| 03 | [پرسپترون](./lessons/3-NeuralNetworks/03-Perceptron/README.md) | [دفترچهٔ اجرایی](./lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb) | [تمرین](./lessons/3-NeuralNetworks/03-Perceptron/lab/README.md) |
|
||||
| 04 | [پرسپترون چندلایه و ساخت فریمورکِ خودمان](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [دفترچهٔ اجرایی](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [تمرین](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
|
||||
| 05 | [معرفی فریمورکها (PyTorch/TensorFlow) و بیشبرازش](./lessons/3-NeuralNetworks/05-Frameworks/README.md) | [PyTorch](./lessons/3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb) / [Keras](./lessons/3-NeuralNetworks/05-Frameworks/IntroKeras.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [تمرین](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) |
|
||||
| IV | [**بینایی کامپیوتری**](./lessons/4-ComputerVision/README.md) | [PyTorch](https://docs.microsoft.com/learn/modules/intro-computer-vision-pytorch/?WT.mc_id=academic-77998-cacaste) / [TensorFlow](https://docs.microsoft.com/learn/modules/intro-computer-vision-TensorFlow/?WT.mc_id=academic-77998-cacaste)| [کاوش بینایی کامپیوتری در Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
|
||||
| 06 | [مقدمهای بر بینایی کامپیوتری. OpenCV](./lessons/4-ComputerVision/06-IntroCV/README.md) | [دفترچهٔ اجرایی](./lessons/4-ComputerVision/06-IntroCV/OpenCV.ipynb) | [تمرین](./lessons/4-ComputerVision/06-IntroCV/lab/README.md) |
|
||||
| 07 | [شبکههای عصبی کانولوشنی](./lessons/4-ComputerVision/07-ConvNets/README.md) & [معماریهای CNN](./lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md) | [PyTorch](./lessons/4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb) /[TensorFlow](./lessons/4-ComputerVision/07-ConvNets/ConvNetsTF.ipynb) | [تمرین](./lessons/4-ComputerVision/07-ConvNets/lab/README.md) |
|
||||
| 08 | [شبکههای از پیشآموزشدیده و یادگیری انتقالی](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [ترفندهای آموزش](./lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md) | [PyTorch](./lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [تمرین](./lessons/4-ComputerVision/08-TransferLearning/lab/README.md) |
|
||||
| 09 | [اتوانکدرها و VAEها](./lessons/4-ComputerVision/09-Autoencoders/README.md) | [PyTorch](./lessons/4-ComputerVision/09-Autoencoders/AutoEncodersPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb) | |
|
||||
| 10 | [شبکههای مولد رقابتی و انتقال سبک هنری](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
|
||||
| 11 | [تشخیص اشیاء](./lessons/4-ComputerVision/11-ObjectDetection/README.md) | [TensorFlow](./lessons/4-ComputerVision/11-ObjectDetection/ObjectDetection.ipynb) | [تمرین](./lessons/4-ComputerVision/11-ObjectDetection/lab/README.md) |
|
||||
| 0 | [Course Setup](./lessons/0-course-setup/setup.md) | [Setup Your Development Environment](./lessons/0-course-setup/how-to-run.md) | |
|
||||
| I | [**Introduction to AI**](./lessons/1-Intro/README.md) | | |
|
||||
| 01 | [Introduction and History of AI](./lessons/1-Intro/README.md) | - | - |
|
||||
| II | **Symbolic AI** |
|
||||
| 02 | [Knowledge Representation and Expert Systems](./lessons/2-Symbolic/README.md) | [Expert Systems](./lessons/2-Symbolic/Animals.ipynb) / [Ontology](./lessons/2-Symbolic/FamilyOntology.ipynb) /[Concept Graph](./lessons/2-Symbolic/MSConceptGraph.ipynb) | |
|
||||
| III | [**Introduction to Neural Networks**](./lessons/3-NeuralNetworks/README.md) |||
|
||||
| 03 | [پرسپترون](./lessons/3-NeuralNetworks/03-Perceptron/README.md) | [نوتبوک](./lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb) | [آزمایش](./lessons/3-NeuralNetworks/03-Perceptron/lab/README.md) |
|
||||
| 04 | [پرسپترون چندلایه و ساخت فریمورک خودمان](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [نوتبوک](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [آزمایش](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
|
||||
| 05 | [مقدمهای بر فریمورکها (PyTorch/TensorFlow) و بیشبرازش](./lessons/3-NeuralNetworks/05-Frameworks/README.md) | [PyTorch](./lessons/3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb) / [Keras](./lessons/3-NeuralNetworks/05-Frameworks/IntroKeras.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [آزمایش](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) |
|
||||
| IV | [**بینایی ماشین**](./lessons/4-ComputerVision/README.md) | [PyTorch](https://docs.microsoft.com/learn/modules/intro-computer-vision-pytorch/?WT.mc_id=academic-77998-cacaste) / [TensorFlow](https://docs.microsoft.com/learn/modules/intro-computer-vision-TensorFlow/?WT.mc_id=academic-77998-cacaste)| [کاوش بینایی ماشین در Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
|
||||
| 06 | [مقدمهای بر بینایی ماشین. OpenCV](./lessons/4-ComputerVision/06-IntroCV/README.md) | [نوتبوک](./lessons/4-ComputerVision/06-IntroCV/OpenCV.ipynb) | [آزمایش](./lessons/4-ComputerVision/06-IntroCV/lab/README.md) |
|
||||
| 07 | [شبکههای عصبی کانولوشنی](./lessons/4-ComputerVision/07-ConvNets/README.md) & [معماریهای CNN](./lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md) | [PyTorch](./lessons/4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb) /[TensorFlow](./lessons/4-ComputerVision/07-ConvNets/ConvNetsTF.ipynb) | [آزمایش](./lessons/4-ComputerVision/07-ConvNets/lab/README.md) |
|
||||
| 08 | [شبکههای از پیشآموزشدیده و یادگیری انتقالی](./lessons/4-ComputerVision/08-TransferLearning/README.md) و [ترفندهای آموزش](./lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md) | [PyTorch](./lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [آزمایش](./lessons/4-ComputerVision/08-TransferLearning/lab/README.md) |
|
||||
| 09 | [اتوانکودرها و VAEها](./lessons/4-ComputerVision/09-Autoencoders/README.md) | [PyTorch](./lessons/4-ComputerVision/09-Autoencoders/AutoEncodersPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb) | |
|
||||
| 10 | [شبکههای مولد تقابلی و انتقال سبک هنری](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
|
||||
| 11 | [تشخیص اشیاء](./lessons/4-ComputerVision/11-ObjectDetection/README.md) | [TensorFlow](./lessons/4-ComputerVision/11-ObjectDetection/ObjectDetection.ipynb) | [آزمایش](./lessons/4-ComputerVision/11-ObjectDetection/lab/README.md) |
|
||||
| 12 | [بخشبندی معنایی. U-Net](./lessons/4-ComputerVision/12-Segmentation/README.md) | [PyTorch](./lessons/4-ComputerVision/12-Segmentation/SemanticSegmentationPytorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/12-Segmentation/SemanticSegmentationTF.ipynb) | |
|
||||
| V | [**پردازش زبان طبیعی**](./lessons/5-NLP/README.md) | [PyTorch](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-pytorch/?WT.mc_id=academic-77998-cacaste) /[TensorFlow](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-TensorFlow/?WT.mc_id=academic-77998-cacaste) | [کاوش پردازش زبان طبیعی در Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)|
|
||||
| 13 | [نمایش متن. کیسهٔ واژگان/TF-IDF](./lessons/5-NLP/13-TextRep/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb) | |
|
||||
| 14 | [تعبیههای معنایی کلمه. Word2Vec و GloVe](./lessons/5-NLP/14-Embeddings/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsTF.ipynb) | |
|
||||
| 15 | [مدلسازی زبان. آموزش تعبیههای خودتان](./lessons/5-NLP/15-LanguageModeling/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-PyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-TF.ipynb) | [تمرین](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
|
||||
| 13 | [نمایش متن. Bow/TF-IDF](./lessons/5-NLP/13-TextRep/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb) | |
|
||||
| 14 | [درجنماییهای معنایی کلمات. Word2Vec و GloVe](./lessons/5-NLP/14-Embeddings/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsTF.ipynb) | |
|
||||
| 15 | [مدلسازی زبان. آموزش درجنماییهای خودتان](./lessons/5-NLP/15-LanguageModeling/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-PyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-TF.ipynb) | [آزمایش](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
|
||||
| 16 | [شبکههای عصبی بازگشتی](./lessons/5-NLP/16-RNN/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/16-RNN/RNNPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/16-RNN/RNNTF.ipynb) | |
|
||||
| 17 | [شبکههای مولد بازگشتی](./lessons/5-NLP/17-GenerativeNetworks/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativePyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativeTF.ipynb) | [تمرین](./lessons/5-NLP/17-GenerativeNetworks/lab/README.md) |
|
||||
| 17 | [شبکههای بازگشتی مولد](./lessons/5-NLP/17-GenerativeNetworks/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativePyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativeTF.ipynb) | [آزمایش](./lessons/5-NLP/17-GenerativeNetworks/lab/README.md) |
|
||||
| 18 | [ترنسفورمرها. BERT.](./lessons/5-NLP/18-Transformers/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/18-Transformers/TransformersPyTorch.ipynb) /[TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/18-Transformers/TransformersTF.ipynb) | |
|
||||
| 19 | [بازشناسی موجودیتهای نامدار](./lessons/5-NLP/19-NER/README.md) | [TensorFlow](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/19-NER/NER-TF.ipynb) | [تمرین](./lessons/5-NLP/19-NER/lab/README.md) |
|
||||
| 20 | [مدلهای زبان بزرگ، برنامهنویسی پرامپت و وظایف کمنمونه](./lessons/5-NLP/20-LangModels/README.md) | [PyTorch](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb) | |
|
||||
| 19 | [تشخیص موجودیتهای نامدار](./lessons/5-NLP/19-NER/README.md) | [TensorFlow](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/19-NER/NER-TF.ipynb) | [آزمایش](./lessons/5-NLP/19-NER/lab/README.md) |
|
||||
| 20 | [مدلهای زبان بزرگ، برنامهنویسی پرامپت و وظایف چندنمونهای](./lessons/5-NLP/20-LangModels/README.md) | [PyTorch](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb) | |
|
||||
| VI | **سایر تکنیکهای هوش مصنوعی** || |
|
||||
| 21 | [الگوریتمهای ژنتیک](./lessons/6-Other/21-GeneticAlgorithms/README.md) | [دفترچهٔ اجرایی](./lessons/6-Other/21-GeneticAlgorithms/Genetic.ipynb) | |
|
||||
| 22 | [یادگیری تقویتی عمیق](./lessons/6-Other/22-DeepRL/README.md) | [PyTorch](./lessons/6-Other/22-DeepRL/CartPole-RL-PyTorch.ipynb) /[TensorFlow](./lessons/6-Other/22-DeepRL/CartPole-RL-TF.ipynb) | [تمرین](./lessons/6-Other/22-DeepRL/lab/README.md) |
|
||||
| 23 | [سیستمهای چندعاملی](./lessons/6-Other/23-MultiagentSystems/README.md) | | |
|
||||
| 21 | [الگوریتمهای ژنتیک](./lessons/6-Other/21-GeneticAlgorithms/README.md) | [نوتبوک](./lessons/6-Other/21-GeneticAlgorithms/Genetic.ipynb) | |
|
||||
| 22 | [یادگیری تقویتی عمیق](./lessons/6-Other/22-DeepRL/README.md) | [PyTorch](./lessons/6-Other/22-DeepRL/CartPole-RL-PyTorch.ipynb) /[TensorFlow](./lessons/6-Other/22-DeepRL/CartPole-RL-TF.ipynb) | [آزمایش](./lessons/6-Other/22-DeepRL/lab/README.md) |
|
||||
| 23 | [سیستمهای چندعامله](./lessons/6-Other/23-MultiagentSystems/README.md) | | |
|
||||
| VII | **اخلاق هوش مصنوعی** | | |
|
||||
| 24 | [اخلاق هوش مصنوعی و هوش مصنوعی مسئول](./lessons/7-Ethics/README.md) | [Microsoft Learn: اصول هوش مصنوعی مسئول](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | |
|
||||
| IX | **موارد اضافی** | | |
|
||||
| 25 | [شبکههای چندمودالی، CLIP و VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [دفترچهٔ اجرایی](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | |
|
||||
| 25 | [شبکههای چندمودالی، CLIP و VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [نوتبوک](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | |
|
||||
|
||||
## هر درس شامل
|
||||
|
||||
* مطالب پیشمطالعه
|
||||
* دفترچههای اجرایی Jupyter که اغلب به یک فریمورک خاص مربوط هستند (**PyTorch** یا **TensorFlow**). دفترچهٔ اجرایی همچنین شامل مقدار زیادی مواد نظری است، بنابراین برای فهم موضوع باید حداقل یکی از نسخههای دفترچه (یا PyTorch یا TensorFlow) را مرور کنید.
|
||||
* **تمرینها** موجود برای برخی موضوعات، که به شما فرصت میدهد مطالب آموختهشده را روی یک مسئلهٔ مشخص بهکار بزنید.
|
||||
* برخی بخشها حاوی پیوندهایی به ماژولهای [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) هستند که موضوعات مرتبط را پوشش میدهند.
|
||||
* نوتبوکهای اجرایی Jupyter که اغلب به یک فریمورک مشخص مربوط هستند (**PyTorch** یا **TensorFlow**). نوتبوک اجرایی همچنین شامل حجم زیادی از مطالب نظری است، بنابراین برای درک موضوع باید حداقل یک نسخه از نوتبوک را مرور کنید (یا PyTorch یا TensorFlow).
|
||||
* **آزمایشها** برای برخی موضوعات در دسترس هستند، که به شما فرصتی میدهند تا مطالب آموختهشده را در یک مسئلهٔ خاص بهکار ببرید.
|
||||
* برخی بخشها شامل لینک به ماژولهای [**Microsoft Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) هستند که موضوعات مرتبط را پوشش میدهند.
|
||||
|
||||
## شروع
|
||||
|
||||
### 🎯 تازهوارد به هوش مصنوعی؟ از اینجا شروع کنید!
|
||||
|
||||
اگر کاملاً تازهکار در زمینهٔ هوش مصنوعی هستید و به دنبال مثالهای سریع و عملی میگردید، مجموعهٔ ما را با عنوان [**مثالهای مناسب برای مبتدیان**](./examples/README.md) بررسی کنید! اینها شامل موارد زیر هستند:
|
||||
اگر کاملاً تازهکار در هوش مصنوعی هستید و مثالهای سریع و عملی میخواهید، به [**مثالهای مناسب برای مبتدیان**](./examples/README.md) نگاه کنید! اینها شامل:
|
||||
|
||||
- 🌟 **سلام دنیای هوش مصنوعی** - اولین برنامهٔ هوش مصنوعی شما (شناخت الگو)
|
||||
- 🧠 **شبکه عصبی ساده** - ساخت یک شبکه عصبی از صفر
|
||||
- 🖼️ **ردهبند تصویر** - طبقهبندی تصاویر با توضیحات مفصل
|
||||
- 💬 **Text Sentiment** - تحلیل مثبت/منفی متن
|
||||
- 🌟 **سلام دنیای هوش مصنوعی** - اولین برنامهٔ هوش مصنوعی شما (شناسایی الگو)
|
||||
- 🧠 **شبکه عصبی ساده** - ساخت یک شبکه عصبی از پایه
|
||||
- 🖼️ **طبقهبند تصاویر** - طبقهبندی تصاویر با توضیحات دقیق
|
||||
- 💬 **احساس متن** - تحلیل متن مثبت/منفی
|
||||
|
||||
These examples are designed to help you understand AI concepts before diving into the full curriculum.
|
||||
این مثالها طراحی شدهاند تا به شما کمک کنند مفاهیم هوش مصنوعی را قبل از ورود به برنامه درسی کامل درک کنید.
|
||||
|
||||
### 📚 Full Curriculum Setup
|
||||
### 📚 راهاندازی کامل دوره
|
||||
|
||||
- We have created a [setup lesson](./lessons/0-course-setup/setup.md) to help you with setting up your development environment. - For Educators, we have created a [curricula setup lesson](./lessons/0-course-setup/for-teachers.md) for you too!
|
||||
- How to [Run the code in a VSCode or a Codepace](./lessons/0-course-setup/how-to-run.md)
|
||||
- ما یک [درس راهاندازی](./lessons/0-course-setup/setup.md) ایجاد کردهایم تا به شما در تنظیم محیط توسعه کمک کند. - برای مدرسین، ما همچنین یک [درس راهاندازی برنامه درسی](./lessons/0-course-setup/for-teachers.md) برای شما ایجاد کردهایم!
|
||||
- نحوه [اجرای کد در VSCode یا Codepace](./lessons/0-course-setup/how-to-run.md)
|
||||
|
||||
Follow these steps:
|
||||
این مراحل را دنبال کنید:
|
||||
|
||||
Fork the Repository: Click on the "Fork" button at the top-right corner of this page.
|
||||
Fork the Repository: روی دکمهٔ "Fork" در گوشهٔ بالا-راست این صفحه کلیک کنید.
|
||||
|
||||
Clone the Repository: `git clone https://github.com/microsoft/AI-For-Beginners.git`
|
||||
|
||||
Don't forget to star (🌟) this repo to find it easier later.
|
||||
فراموش نکنید به این مخزن ستاره (🌟) بدهید تا بعداً پیدا کردنش آسانتر شود.
|
||||
|
||||
## Meet other Learners
|
||||
## آشنایی با سایر یادگیرندگان
|
||||
|
||||
Join our [سرور رسمی Discord هوش مصنوعی](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum) to meet and network with other learners taking this course and get support.
|
||||
برای ملاقات و شبکهسازی با سایر یادگیرندگانی که این دوره را میگذرانند و دریافت پشتیبانی، به [سرور رسمی دیسکورد AI ما](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum) بپیوندید.
|
||||
|
||||
If you have product feedback or questions whilst building visit our [انجمن توسعهدهندگان Azure AI Foundry](https://aka.ms/foundry/forum)
|
||||
اگر بازخورد محصول یا سوالی هنگام ساخت داشتید، به [انجمن توسعهدهندگان Azure AI Foundry](https://aka.ms/foundry/forum) مراجعه کنید
|
||||
|
||||
## Quizzes
|
||||
## آزمونها
|
||||
|
||||
> **تذکری درباره آزمونها**: All quizzes are contained in the Quiz-app folder in etc\quiz-app, or [Online Here](https://ff-quizzes.netlify.app/) They are linked from within the lessons the quiz app can be run locally or deployed to Azure; follow the instruction in the `quiz-app` folder. They are gradually being localized.
|
||||
> **یک یادداشت دربارهٔ آزمونها**: تمام آزمونها در پوشهٔ Quiz-app در etc\quiz-app، یا [آنلاین اینجا](https://ff-quizzes.netlify.app/) قرار دارند. آنها از داخل درسها پیوند داده شدهاند؛ برنامهٔ آزمون میتواند بهصورت محلی اجرا شود یا به Azure مستقر شود؛ دستورالعملها را در پوشهٔ `quiz-app` دنبال کنید. آنها بهتدریج بومیسازی میشوند.
|
||||
|
||||
## Help Wanted
|
||||
## درخواست کمک
|
||||
|
||||
Do you have suggestions or found spelling or code errors? Raise an issue or create a pull request.
|
||||
آیا پیشنهاداتی دارید یا خطاهای املایی یا کدنویسی پیدا کردهاید؟ یک issue باز کنید یا یک pull request ایجاد کنید.
|
||||
|
||||
## Special Thanks
|
||||
## تشکر ویژه
|
||||
|
||||
* **✍️ نویسنده اصلی:** [Dmitry Soshnikov](http://soshnikov.com), PhD
|
||||
* **✍️ نویسندهٔ اصلی:** [Dmitry Soshnikov](http://soshnikov.com), PhD
|
||||
* **🔥 ویراستار:** [Jen Looper](https://twitter.com/jenlooper), PhD
|
||||
* **🎨 تصویرگر اسکچنوت:** [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
* **✅ سازنده آزمون:** [Lateefah Bello](https://github.com/CinnamonXI), [MLSA](https://studentambassadors.microsoft.com/)
|
||||
* **🙏 همکاران اصلی:** [Evgenii Pishchik](https://github.com/Pe4enIks)
|
||||
* **🎨 طراح اسکچنوت:** [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
* **✅ سازندهٔ آزمون:** [Lateefah Bello](https://github.com/CinnamonXI), [MLSA](https://studentambassadors.microsoft.com/)
|
||||
* **🙏 مشارکتکنندگان اصلی:** [Evgenii Pishchik](https://github.com/Pe4enIks)
|
||||
|
||||
## Other Curricula
|
||||
## برنامههای درسی دیگر
|
||||
|
||||
Our team produces other curricula! Check out:
|
||||
تیم ما برنامههای درسی دیگری نیز تولید میکند! بررسی کنید:
|
||||
|
||||
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
|
||||
### LangChain
|
||||
|
|
@ -187,30 +187,30 @@ Our team produces other curricula! Check out:
|
|||
|
||||
---
|
||||
|
||||
### Core Learning
|
||||
### یادگیری پایه
|
||||
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
|
||||
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
|
||||
---
|
||||
|
||||
### Copilot Series
|
||||
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
|
||||
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
|
||||
|
||||
## Getting Help
|
||||
## دریافت کمک
|
||||
|
||||
If you get stuck or have any questions about building AI apps. Join fellow learners and experienced developers in discussions about MCP. It's a supportive community where questions are welcome and knowledge is shared freely.
|
||||
اگر گیر کردید یا در مورد ساخت برنامههای هوش مصنوعی سوالی داشتید، به بحثها با سایر یادگیرندگان و توسعهدهندگان باتجربه در مورد MCP بپیوندید. این یک جامعهٔ حمایتگر است که سوالات در آن خوشآمد گفته میشود و دانش آزادانه به اشتراک گذاشته میشود.
|
||||
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
If you have product feedback or errors while building visit:
|
||||
اگر هنگام ساخت بازخورد محصول یا خطاهایی داشتید مراجعه کنید:
|
||||
|
||||
[](https://aka.ms/foundry/forum)
|
||||
|
||||
|
|
@ -218,5 +218,5 @@ If you have product feedback or errors while building visit:
|
|||
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
||||
سلب مسئولیت:
|
||||
این سند با استفاده از سرویس ترجمهٔ هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. اگرچه ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است حاوی اشتباهات یا نادرستیهایی باشند. سند اصلی به زبان مبدأ باید بهعنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمهٔ حرفهای انسانی توصیه میشود. ما در قبال هرگونه سوءتفاهم یا تفسیر نادرست ناشی از استفاده از این ترجمه مسئول نیستیم.
|
||||
این سند با استفاده از سرویس ترجمهٔ خودکار مبتنی بر هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. اگرچه ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیهایی باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، توصیه میشود از ترجمهٔ حرفهای انسانی استفاده شود. ما در قبال هرگونه سوتفاهم یا تفسیر نادرست ناشی از استفاده از این ترجمه مسئولیتی نداریم.
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
|
||||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# مقدمهای بر هوش مصنوعی
|
||||
|
||||

|
||||

|
||||
|
||||
> طرح توسط [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
در ابتدا، کامپیوترها توسط [چارلز ببیج](https://en.wikipedia.org/wiki/Charles_Babbage) برای کار با اعداد و اجرای یک فرآیند مشخص - یک الگوریتم - اختراع شدند. کامپیوترهای مدرن، با وجود پیشرفتهای چشمگیر نسبت به مدل اولیهای که در قرن نوزدهم پیشنهاد شد، همچنان بر اساس همان ایده محاسبات کنترلشده عمل میکنند. بنابراین، امکان برنامهریزی کامپیوتر برای انجام کاری وجود دارد، اگر دقیقاً بدانیم که چه مراحل متوالی برای رسیدن به هدف لازم است.
|
||||
|
||||

|
||||

|
||||
|
||||
> عکس توسط [Vickie Soshnikova](http://twitter.com/vickievalerie)
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
یکی از مشکلات هنگام برخورد با اصطلاح **[هوش](https://en.wikipedia.org/wiki/Intelligence)** این است که تعریف واضحی از این اصطلاح وجود ندارد. میتوان گفت که هوش به **تفکر انتزاعی** یا **خودآگاهی** مرتبط است، اما نمیتوانیم آن را بهطور دقیق تعریف کنیم.
|
||||
|
||||

|
||||

|
||||
|
||||
> [عکس](https://unsplash.com/photos/75715CVEJhI) توسط [Amber Kipp](https://unsplash.com/@sadmax) از Unsplash
|
||||
|
||||
|
|
@ -98,13 +98,13 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
> | درباره یادگیری ماشین؟ | |
|
||||
> |--------------|-----------|
|
||||
> | بخشی از هوش مصنوعی که بر اساس یادگیری کامپیوتر برای حل یک مشکل بر اساس برخی دادهها است، **یادگیری ماشین** نامیده میشود. ما یادگیری ماشین کلاسیک را در این دوره بررسی نمیکنیم - شما را به برنامه درسی جداگانه [یادگیری ماشین برای مبتدیان](http://aka.ms/ml-beginners) ارجاع میدهیم. |  |
|
||||
> | بخشی از هوش مصنوعی که بر اساس یادگیری کامپیوتر برای حل یک مشکل بر اساس برخی دادهها است، **یادگیری ماشین** نامیده میشود. ما یادگیری ماشین کلاسیک را در این دوره بررسی نمیکنیم - شما را به برنامه درسی جداگانه [یادگیری ماشین برای مبتدیان](http://aka.ms/ml-beginners) ارجاع میدهیم. |  |
|
||||
|
||||
## تاریخچه مختصر هوش مصنوعی
|
||||
|
||||
هوش مصنوعی بهعنوان یک رشته در اواسط قرن بیستم آغاز شد. در ابتدا، استدلال نمادین یک رویکرد غالب بود و منجر به موفقیتهای مهمی مانند سیستمهای خبره - برنامههای کامپیوتری که قادر به عمل بهعنوان یک متخصص در برخی حوزههای مشکل محدود بودند - شد. با این حال، به زودی مشخص شد که چنین رویکردی به خوبی مقیاسپذیر نیست. استخراج دانش از یک متخصص، نمایش آن در کامپیوتر، و حفظ پایگاه دانش دقیق، به یک وظیفه بسیار پیچیده و در بسیاری موارد بسیار پرهزینه تبدیل شد. این منجر به اصطلاح [زمستان هوش مصنوعی](https://en.wikipedia.org/wiki/AI_winter) در دهه ۱۹۷۰ شد.
|
||||
|
||||
<img alt="تاریخچه مختصر هوش مصنوعی" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a0264357672b0884cf3a220fbafe35c65d70b2c3805f7bf5e.fa.png" width="70%"/>
|
||||
<img alt="تاریخچه مختصر هوش مصنوعی" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a.fa.png" width="70%"/>
|
||||
|
||||
> تصویر توسط [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -124,7 +124,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
* دستیارهای مدرن، مانند Cortana، Siri یا Google Assistant، همگی سیستمهای ترکیبی هستند که از شبکههای عصبی برای تبدیل گفتار به متن و تشخیص قصد ما استفاده میکنند، و سپس از برخی استدلالها یا الگوریتمهای صریح برای انجام اقدامات مورد نیاز استفاده میکنند.
|
||||
* در آینده، ممکن است انتظار داشته باشیم یک مدل کاملاً مبتنی بر شبکه عصبی بتواند بهطور مستقل گفتوگو را مدیریت کند. خانواده اخیر GPT و [Turing-NLG](https://www.microsoft.com/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft) از شبکههای عصبی موفقیتهای بزرگی در این زمینه نشان دادهاند.
|
||||
|
||||
<img alt="تکامل آزمون تورینگ" src="../../../../translated_images/turing-test-evol.4184696701293ead6de6e6441a659c62f0b119b342456987f531005f43be0b6d.fa.png" width="70%"/>
|
||||
<img alt="تکامل آزمون تورینگ" src="../../../../translated_images/turing-test-evol.4184696701293ead.fa.png" width="70%"/>
|
||||
> تصویر از Dmitry Soshnikov، [عکس](https://unsplash.com/photos/r8LmVbUKgns) توسط [Marina Abrosimova](https://unsplash.com/@abrosimova_marina_foto)، Unsplash
|
||||
|
||||
## تحقیقات اخیر در زمینه هوش مصنوعی
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# نمایش دانش و سیستمهای خبره
|
||||
|
||||

|
||||

|
||||
|
||||
> یادداشت تصویری توسط [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
بنابراین، مسئله **نمایش دانش** یافتن راهی مؤثر برای نمایش دانش در داخل یک کامپیوتر به شکل داده است، به طوری که بتوان از آن به صورت خودکار استفاده کرد. این مسئله را میتوان به صورت یک طیف مشاهده کرد:
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر توسط [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
یکی از موفقیتهای اولیه هوش مصنوعی نمادین، **سیستمهای خبره** بود - سیستمهای کامپیوتری که طراحی شده بودند تا به عنوان یک متخصص در یک حوزه محدود عمل کنند. این سیستمها بر اساس یک **پایگاه دانش** استخراج شده از یک یا چند متخصص انسانی بودند و شامل یک **موتور استنتاج** بودند که بر اساس آن استدلال انجام میداد.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
---------------------------------------------|------------------------------------------------
|
||||
ساختار سادهشده سیستم عصبی انسان | معماری یک سیستم مبتنی بر دانش
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
به عنوان مثال، بیایید سیستم خبرهای را در نظر بگیریم که بر اساس ویژگیهای فیزیکی یک حیوان را تعیین میکند:
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر توسط [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ API سطح بالا | [Keras](IntroKeras.ipynb) | *PyTorch Lightning*
|
|||
|
||||
به مشکل زیر در تقریب ۵ نقطه (نمایش داده شده با `x` در نمودارهای زیر) توجه کنید:
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-------------------------|--------------------------
|
||||
**مدل خطی، ۲ پارامتر** | **مدل غیرخطی، ۷ پارامتر**
|
||||
خطای آموزش = ۵.۳ | خطای آموزش = ۰
|
||||
|
|
@ -79,7 +79,7 @@ API سطح بالا | [Keras](IntroKeras.ipynb) | *PyTorch Lightning*
|
|||
|
||||
همانطور که از نمودار بالا میبینید، بیشبرازش را میتوان با خطای آموزشی بسیار کم و خطای اعتبارسنجی بالا تشخیص داد. معمولاً در طول آموزش، هر دو خطای آموزشی و اعتبارسنجی شروع به کاهش میکنند و سپس در یک نقطه خطای اعتبارسنجی ممکن است کاهش را متوقف کند و شروع به افزایش کند. این نشانهای از بیشبرازش خواهد بود و نشاندهنده این است که احتمالاً باید در این نقطه آموزش را متوقف کنیم (یا حداقل یک نسخه از مدل را ذخیره کنیم).
|
||||
|
||||

|
||||

|
||||
|
||||
## چگونه از بیشبرازش جلوگیری کنیم
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# مقدمهای بر شبکههای عصبی
|
||||
|
||||

|
||||

|
||||
|
||||
همانطور که در مقدمه بحث کردیم، یکی از راههای دستیابی به هوش، آموزش یک **مدل کامپیوتری** یا یک **مغز مصنوعی** است. از اواسط قرن بیستم، پژوهشگران مدلهای ریاضی مختلفی را امتحان کردند تا اینکه در سالهای اخیر این مسیر به موفقیت چشمگیری دست یافت. این مدلهای ریاضی مغز را **شبکههای عصبی** مینامند.
|
||||
|
||||
|
|
@ -36,13 +36,13 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
از زیستشناسی میدانیم که مغز ما از سلولهای عصبی (نورونها) تشکیل شده است، که هر کدام دارای چندین "ورودی" (دندریتها) و یک "خروجی" (آکسون) هستند. هم دندریتها و هم آکسونها میتوانند سیگنالهای الکتریکی را منتقل کنند، و اتصالات بین آنها — که به عنوان سیناپس شناخته میشوند — میتوانند درجات مختلفی از رسانایی را نشان دهند که توسط انتقالدهندههای عصبی تنظیم میشوند.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
نورون واقعی *([تصویر](https://en.wikipedia.org/wiki/Synapse#/media/File:SynapseSchematic_lines.svg) از ویکیپدیا)* | نورون مصنوعی *(تصویر توسط نویسنده)*
|
||||
|
||||
بنابراین، سادهترین مدل ریاضی یک نورون شامل چندین ورودی X<sub>1</sub>, ..., X<sub>N</sub> و یک خروجی Y، و مجموعهای از وزنها W<sub>1</sub>, ..., W<sub>N</sub> است. خروجی به صورت زیر محاسبه میشود:
|
||||
|
||||
<img src="../../../../translated_images/netout.1eb15eb76fd767313e067719f400cec4b0e5090239c3e997c29f6789d4c3c263.fa.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
|
||||
<img src="../../../../translated_images/netout.1eb15eb76fd76731.fa.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
|
||||
|
||||
که در آن f یک **تابع فعالسازی** غیرخطی است.
|
||||
|
||||
|
|
|
|||
|
|
@ -75,14 +75,14 @@ im = cv2.cvtColor(im,cv2.COLOR_BGR2RGB)
|
|||
|
||||
* **پیشپردازش عکس یک کتاب بریل**. ما بر روی استفاده از آستانهگذاری، تشخیص ویژگی، تبدیل پرسپکتیو و دستکاریهای NumPy تمرکز میکنیم تا نمادهای بریل جداگانه را برای طبقهبندی بیشتر توسط یک شبکه عصبی جدا کنیم.
|
||||
|
||||
 |  | 
|
||||
 |  | 
|
||||
----|-----|-----
|
||||
|
||||
> تصویر از [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
* **تشخیص حرکت در ویدئو با استفاده از تفاوت فریمها**. اگر دوربین ثابت باشد، فریمهای ویدئو باید بسیار مشابه یکدیگر باشند. از آنجا که فریمها به صورت آرایه نمایش داده میشوند، با کم کردن آرایههای دو فریم متوالی میتوان تفاوت پیکسلی را به دست آورد، که برای فریمهای ثابت کم است و با وجود حرکت در تصویر افزایش مییابد.
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
|
|
@ -91,7 +91,7 @@ im = cv2.cvtColor(im,cv2.COLOR_BGR2RGB)
|
|||
- **جریان نوری متراکم** میدان برداری را محاسبه میکند که نشان میدهد هر پیکسل به کجا حرکت میکند.
|
||||
- **جریان نوری پراکنده** بر اساس گرفتن برخی ویژگیهای متمایز در تصویر (مانند لبهها) و ساختن مسیر آنها از فریم به فریم است.
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,11 +13,11 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
VGG-16 یک شبکه است که در سال ۲۰۱۴ به دقت ۹۲.۷٪ در طبقهبندی ImageNet در پنج کلاس برتر دست یافت. ساختار لایههای آن به شکل زیر است:
|
||||
|
||||

|
||||

|
||||
|
||||
همانطور که میبینید، VGG از یک معماری هرمی سنتی پیروی میکند که شامل توالی لایههای کانولوشن و پولینگ است.
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از [Researchgate](https://www.researchgate.net/figure/Vgg16-model-structure-To-get-the-VGG-NIN-model-we-replace-the-2-nd-4-th-6-th-7-th_fig2_335194493)
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
برای استخراج الگوها، از مفهوم **فیلترهای کانولوشنی** استفاده خواهیم کرد. همانطور که میدانید، یک تصویر به صورت یک ماتریس دوبعدی یا یک تنسور سهبعدی با عمق رنگ نمایش داده میشود. اعمال یک فیلتر به این معناست که یک ماتریس کوچک **هسته فیلتر** را میگیریم و برای هر پیکسل در تصویر اصلی میانگین وزنی را با نقاط همسایه محاسبه میکنیم. میتوانیم این فرآیند را به صورت یک پنجره کوچک که روی کل تصویر حرکت میکند و تمام پیکسلها را بر اساس وزنهای موجود در ماتریس هسته فیلتر میانگینگیری میکند، تصور کنیم.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
|
||||
> تصویر از دیمیتری سوشنیکوف
|
||||
|
|
@ -38,7 +38,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
* میتوانیم شبکه را به گونهای طراحی کنیم که فیلترها به صورت خودکار آموزش ببینند.
|
||||
* میتوانیم از همین روش برای یافتن الگوها در ویژگیهای سطح بالا، نه فقط در تصویر اصلی، استفاده کنیم. بنابراین استخراج ویژگیهای CNN بر اساس سلسله مراتبی از ویژگیها عمل میکند، از ترکیبهای پیکسل سطح پایین تا ترکیبهای سطح بالای بخشهای تصویر.
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از [مقالهای توسط هیسلوپ-لینچ](https://www.semanticscholar.org/paper/Computer-vision-based-pedestrian-trajectory-Hislop-Lynch/26e6f74853fc9bbb7487b06dc2cf095d36c9021d)، بر اساس [تحقیقات آنها](https://dl.acm.org/doi/abs/10.1145/1553374.1553453)
|
||||
|
||||
|
|
@ -55,9 +55,9 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
به عنوان مثال، بیایید به معماری VGG-16 نگاه کنیم، شبکهای که در سال ۲۰۱۴ به دقت ۹۲.۷٪ در طبقهبندی پنجتایی ImageNet دست یافت:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از [ریسرچگیت](https://www.researchgate.net/figure/Vgg16-model-structure-To-get-the-VGG-NIN-model-we-replace-the-2-nd-4-th-6-th-7-th_fig2_335194493)
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
ما از [مجموعه داده حیوانات خانگی آکسفورد-IIIT](https://www.robots.ox.ac.uk/~vgg/data/pets/) استفاده خواهیم کرد که شامل تصاویر 37 نژاد مختلف از سگها و گربهها است.
|
||||
|
||||

|
||||

|
||||
|
||||
برای دانلود مجموعه داده، از این قطعه کد استفاده کنید:
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
در اینجا نمونهای از ویژگیهایی که توسط شبکه VGG-16 از یک تصویر گربه استخراج شده است آورده شده است:
|
||||
|
||||

|
||||

|
||||
|
||||
## مجموعه داده گربهها و سگها
|
||||
|
||||
|
|
@ -48,19 +48,19 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
یک رویکردی که میتوانیم اتخاذ کنیم این است که با یک تصویر تصادفی شروع کنیم و سپس از تکنیک **بهینهسازی نزول گرادیان** استفاده کنیم تا آن تصویر را به گونهای تنظیم کنیم که شبکه شروع به فکر کردن کند که این یک گربه است.
|
||||
|
||||

|
||||

|
||||
|
||||
با این حال، اگر این کار را انجام دهیم، چیزی بسیار شبیه به نویز تصادفی دریافت خواهیم کرد. این به این دلیل است که *راههای زیادی وجود دارد که شبکه فکر کند تصویر ورودی یک گربه است*، از جمله برخی که از نظر بصری منطقی نیستند. در حالی که این تصاویر شامل بسیاری از الگوهای معمول برای یک گربه هستند، هیچ چیزی آنها را مجبور نمیکند که از نظر بصری متمایز باشند.
|
||||
|
||||
برای بهبود نتیجه، میتوانیم یک عبارت دیگر به تابع زیان اضافه کنیم که **زیان تغییرات** نامیده میشود. این یک معیار است که نشان میدهد پیکسلهای مجاور تصویر چقدر مشابه هستند. کمینهسازی زیان تغییرات تصویر را صافتر میکند و نویز را از بین میبرد - بنابراین الگوهای بصری جذابتری را آشکار میکند. در اینجا نمونهای از چنین تصاویر "ایدهآلی" آورده شده است که با احتمال بالا به عنوان گربه و گورخر طبقهبندی شدهاند:
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-----|-----
|
||||
*گربه ایدهآل* | *گورخر ایدهآل*
|
||||
|
||||
رویکرد مشابهی میتواند برای انجام **حملات تقلبی** روی یک شبکه عصبی استفاده شود. فرض کنید میخواهیم یک شبکه عصبی را فریب دهیم و یک سگ را شبیه به گربه کنیم. اگر تصویر سگی را بگیریم که توسط شبکه به عنوان سگ شناخته شده است، میتوانیم آن را کمی با استفاده از بهینهسازی نزول گرادیان تغییر دهیم تا زمانی که شبکه شروع به طبقهبندی آن به عنوان گربه کند:
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-----|-----
|
||||
*تصویر اصلی سگ* | *تصویر سگی که به عنوان گربه طبقهبندی شده است*
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
از آنجا که ما اتوانکودر را برای گرفتن بیشترین اطلاعات از تصویر اصلی برای بازسازی دقیق آموزش میدهیم، شبکه تلاش میکند بهترین **تعبیر** از تصاویر ورودی را پیدا کند تا معنا را ثبت کند.
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از [وبلاگ Keras](https://blog.keras.io/building-autoencoders-in-keras.html)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
## [پیشکوئیز](https://ff-quizzes.netlify.app/en/ai/quiz/21)
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از [وبسایت YOLO v2](https://pjreddie.com/darknet/yolov2/)
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
2. طبقهبندی تصویر را روی هر کاشی اجرا کنید.
|
||||
3. کاشیهایی که منجر به فعالسازی کافی بالا میشوند، میتوانند به عنوان حاوی شیء مورد نظر در نظر گرفته شوند.
|
||||
|
||||

|
||||

|
||||
|
||||
> *تصویر از [دفترچه تمرین](ObjectDetection-TF.ipynb)*
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
* [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/) - شامل ۲۰ کلاس
|
||||
* [COCO](http://cocodataset.org/#home) - اشیای عمومی در زمینه. شامل ۸۰ کلاس، جعبههای محدودکننده و ماسکهای تقسیمبندی
|
||||
|
||||

|
||||

|
||||
|
||||
## معیارهای تشخیص اشیا
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
در حالی که برای طبقهبندی تصویر اندازهگیری عملکرد الگوریتم آسان است، برای تشخیص اشیا باید هم درستی کلاس و هم دقت مکانیابی جعبه محدودکننده استنباط شده را اندازهگیری کنیم. برای مورد دوم، از معیاری به نام **تقاطع بر اتحاد** (IoU) استفاده میکنیم که میزان همپوشانی دو جعبه (یا دو ناحیه دلخواه) را اندازهگیری میکند.
|
||||
|
||||

|
||||

|
||||
|
||||
> *شکل ۲ از [این پست وبلاگ عالی درباره IoU](https://pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/)*
|
||||
|
||||
|
|
@ -98,11 +98,11 @@ $$
|
|||
|
||||
[R-CNN](http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf) از [جستجوی انتخابی](http://www.huppelen.nl/publications/selectiveSearchDraft.pdf) برای تولید ساختار سلسلهمراتبی ناحیههای ROI استفاده میکند که سپس از طریق استخراجکنندههای ویژگی CNN و طبقهبندیکنندههای SVM عبور داده میشوند تا کلاس شیء تعیین شود، و از رگرسیون خطی برای تعیین مختصات *جعبه محدودکننده* استفاده میشود. [مقاله رسمی](https://arxiv.org/pdf/1506.01497v1.pdf)
|
||||
|
||||

|
||||

|
||||
|
||||
> *تصویر از van de Sande et al. ICCV’11*
|
||||
|
||||

|
||||

|
||||
|
||||
> *تصاویر از [این وبلاگ](https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e)*
|
||||
|
||||
|
|
@ -110,7 +110,7 @@ $$
|
|||
|
||||
این روش مشابه R-CNN است، اما ناحیهها پس از اعمال لایههای کانولوشنی تعریف میشوند.
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از [مقاله رسمی](https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Girshick_Fast_R-CNN_ICCV_2015_paper.pdf)، [arXiv](https://arxiv.org/pdf/1504.08083.pdf)، ۲۰۱۵
|
||||
|
||||
|
|
@ -118,7 +118,7 @@ $$
|
|||
|
||||
ایده اصلی این روش استفاده از شبکه عصبی برای پیشبینی ROIها است - به اصطلاح *شبکه پیشنهاد ناحیه*. [مقاله](https://arxiv.org/pdf/1506.01497.pdf)، ۲۰۱۶
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از [مقاله رسمی](https://arxiv.org/pdf/1506.01497.pdf)
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ $$
|
|||
2. ویژگیها توسط **نقشه امتیاز حساس به موقعیت** پردازش میشوند. هر شیء از کلاسهای $C$ به ناحیههای $k\times k$ تقسیم میشود و ما برای پیشبینی بخشهای اشیا آموزش میبینیم.
|
||||
3. برای هر بخش از ناحیههای $k\times k$، تمام شبکهها برای کلاسهای اشیا رأی میدهند و کلاس شیء با بیشترین رأی انتخاب میشود.
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از [مقاله رسمی](https://arxiv.org/abs/1605.06409)
|
||||
|
||||
|
|
@ -141,7 +141,7 @@ YOLO یک الگوریتم یکمرحلهای بلادرنگ است. ای
|
|||
* تصویر به ناحیههای $S\times S$ تقسیم میشود.
|
||||
* برای هر ناحیه، **CNN** $n$ شیء ممکن، مختصات *جعبه محدودکننده* و *اعتماد* = *احتمال* * IoU را پیشبینی میکند.
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از [مقاله رسمی](https://arxiv.org/abs/1506.02640)
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
با استفاده از یک لایه تعبیه بهعنوان اولین لایه در شبکه دستهبند خود، میتوانیم از مدل کیسه کلمات به مدل **کیسه تعبیهها** تغییر دهیم، جایی که ابتدا هر کلمه در متن خود را به تعبیه مربوطه تبدیل میکنیم و سپس یک تابع تجمعی مانند `sum`، `average` یا `max` را بر روی تمام این تعبیهها محاسبه میکنیم.
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر توسط نویسنده
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
CBoW سریعتر است، در حالی که اسکیپگرام کندتر است اما در نمایش کلمات نادر بهتر عمل میکند.
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از [این مقاله](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
* **کیسه کلمات پیوسته** (CBoW)، که در آن توکن میانی $W_0$ را در یک دنباله توکن $W_{-N}$, ..., $W_N$ پیشبینی میکنیم.
|
||||
* **Skip-gram**، که در آن مجموعهای از توکنهای همسایه {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} را از توکن میانی $W_0$ پیشبینی میکنیم.
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از [این مقاله](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
برای درک معنای دنبالههای متنی، نیاز به استفاده از معماری دیگری از شبکههای عصبی داریم که به آن **شبکه عصبی بازگشتی** یا RNN گفته میشود. در RNN، جمله را به صورت نماد به نماد از طریق شبکه عبور میدهیم و شبکه یک **وضعیت** تولید میکند که سپس با نماد بعدی به شبکه بازگردانده میشود.
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از نویسنده
|
||||
|
||||
|
|
@ -61,7 +61,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
یک شبکه بازگشتی، چه یکطرفه و چه دوطرفه، الگوهای خاصی را در یک دنباله ضبط میکند و میتواند آنها را در یک بردار وضعیت ذخیره کند یا به خروجی منتقل کند. همانند شبکههای کانولوشنی، میتوانیم یک لایه بازگشتی دیگر بر روی لایه اول بسازیم تا الگوهای سطح بالاتری را ضبط کنیم و از الگوهای سطح پایین استخراجشده توسط لایه اول بسازیم. این ما را به مفهوم **RNN چندلایه** میرساند که شامل دو یا چند شبکه بازگشتی است، جایی که خروجی لایه قبلی به عنوان ورودی به لایه بعدی منتقل میشود.
|
||||
|
||||

|
||||

|
||||
|
||||
*تصویر از [این پست فوقالعاده](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) نوشته فرناندو لوپز*
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
این قابلیت امکان ایجاد معماریهای عصبی مختلفی را فراهم میکند که در تصویر زیر نشان داده شدهاند:
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از پست وبلاگ [Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) نوشتهی [Andrej Karpaty](http://karpathy.github.io/)
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
ما این RNN را آموزش خواهیم داد تا متن را مرحله به مرحله تولید کند. در هر مرحله، یک دنباله از کاراکترها با طول `nchars` میگیریم و از شبکه میخواهیم کاراکتر خروجی بعدی را برای هر کاراکتر ورودی تولید کند:
|
||||
|
||||

|
||||

|
||||
|
||||
هنگام تولید متن (در زمان استنتاج)، با یک **پیشزمینه** شروع میکنیم که از طریق سلولهای RNN عبور داده میشود تا حالت میانی آن تولید شود، و سپس از این حالت تولید آغاز میشود. ما یک کاراکتر در هر زمان تولید میکنیم و حالت و کاراکتر تولید شده را به یک سلول RNN دیگر میدهیم تا کاراکتر بعدی را تولید کند، تا زمانی که تعداد کافی کاراکتر تولید کنیم.
|
||||
|
||||
|
|
|
|||
|
|
@ -20,13 +20,13 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
**مکانیزمهای توجه** راهی برای وزندهی تأثیر متنی هر بردار ورودی بر هر پیشبینی خروجی RNN فراهم میکنند. این روش با ایجاد میانبرهایی بین حالتهای میانی RNN ورودی و RNN خروجی پیادهسازی میشود. به این ترتیب، هنگام تولید نماد خروجی y<sub>t</sub>، تمام حالتهای مخفی ورودی h<sub>i</sub> را با ضرایب وزنی مختلف α<sub>t,i</sub> در نظر میگیریم.
|
||||
|
||||

|
||||

|
||||
|
||||
> مدل رمزگذار-رمزگشا با مکانیزم توجه جمعی در [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf)، نقل شده از [این پست وبلاگ](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)
|
||||
|
||||
ماتریس توجه {α<sub>i,j</sub>} نشاندهنده درجهای است که کلمات خاص ورودی در تولید یک کلمه خاص در توالی خروجی نقش دارند. در زیر نمونهای از چنین ماتریسی آورده شده است:
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (شکل 3)
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
سپس، باید برخی الگوها را در توالی خود شناسایی کنیم. برای این کار، ترانسفورمرها از مکانیزم **توجه به خود** استفاده میکنند، که اساساً توجهی است که به همان توالی به عنوان ورودی و خروجی اعمال میشود. اعمال توجه به خود به ما اجازه میدهد **زمینه** را در جمله در نظر بگیریم و ببینیم کدام کلمات به هم مرتبط هستند. به عنوان مثال، این امکان را فراهم میکند که ببینیم کدام کلمات توسط ارجاعات مانند *آن* اشاره شدهاند و همچنین زمینه را در نظر بگیریم:
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر از [وبلاگ گوگل](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html)
|
||||
|
||||
|
|
@ -91,7 +91,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
**BERT** (نمایشهای رمزگذار دوطرفه از ترانسفورمرها) یک شبکه ترانسفورمر چندلایه بسیار بزرگ است که دارای 12 لایه برای *BERT-base* و 24 لایه برای *BERT-large* است. این مدل ابتدا بر روی یک مجموعه داده بزرگ متنی (ویکیپدیا + کتابها) با استفاده از آموزش بدون نظارت (پیشبینی کلمات ماسکشده در یک جمله) پیشآموزش داده میشود. در طول پیشآموزش، مدل سطوح قابل توجهی از درک زبان را جذب میکند که سپس میتوان با مجموعه دادههای دیگر از طریق تنظیم دقیق استفاده کرد. این فرآیند **یادگیری انتقالی** نامیده میشود.
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر [منبع](http://jalammar.github.io/illustrated-bert/)
|
||||
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
از آنجا که باید یک تطابق یکبهیک بین توکنها و کلاسها ایجاد کنیم، میتوانیم یک مدل شبکه عصبی **چند-به-چند** از تصویر زیر آموزش دهیم:
|
||||
|
||||

|
||||

|
||||
|
||||
> *تصویر از [این پست وبلاگ](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) توسط [آندری کارپاتی](http://karpathy.github.io/). مدلهای طبقهبندی توکن NER با معماری شبکه سمت راست در این تصویر مطابقت دارند.*
|
||||
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ ask turtles [
|
|||
|
||||
پس از باز کردن مدل، به صفحه اصلی NetLogo منتقل میشوید. در اینجا یک مدل نمونه که جمعیت گرگها و گوسفندها را با منابع محدود (چمن) توصیف میکند، آورده شده است.
|
||||
|
||||

|
||||

|
||||
|
||||
> تصویر توسط دیمیتری سوشنیکوف
|
||||
|
||||
|
|
|
|||
|
|
@ -1,43 +1,43 @@
|
|||
<!--
|
||||
CO_OP_TRANSLATOR_METADATA:
|
||||
{
|
||||
"original_hash": "4ed9993bca581850c983c95d5a3f57eb",
|
||||
"translation_date": "2025-12-25T00:34:20+00:00",
|
||||
"original_hash": "14816e97d79b296c87811724f7785923",
|
||||
"translation_date": "2026-01-01T12:13:35+00:00",
|
||||
"source_file": "README.md",
|
||||
"language_code": "fi"
|
||||
}
|
||||
-->
|
||||
[](https://github.com/microsoft/AI-For-Beginners/blob/main/LICENSE)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/graphs/contributors/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/issues/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/pulls/)
|
||||
[](http://makeapullrequest.com)
|
||||
[](https://github.com/microsoft/AI-For-Beginners/blob/main/LICENSE)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/graphs/contributors/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/issues/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/pulls/)
|
||||
[](http://makeapullrequest.com)
|
||||
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/network/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/stargazers/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/network/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/stargazers/)
|
||||
[](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)
|
||||
[](https://gitter.im/Microsoft/ai-for-beginners?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
# Tekoäly aloittelijoille - Opetussuunnitelma
|
||||
# Johdatus tekoälyyn – opetussuunnitelma
|
||||
|
||||
||
|
||||
||
|
||||
|:---:|
|
||||
| AI For Beginners - _Sketchnote, tekijä [@girlie_mac](https://twitter.com/girlie_mac)_ |
|
||||
| AI For Beginners - _Sketchnote by [@girlie_mac](https://twitter.com/girlie_mac)_ |
|
||||
|
||||
Tutustu **tekoälyn** (AI) maailmaan 12 viikon ja 24 oppitunnin opetussuunnitelmamme avulla! Se sisältää käytännön oppitunteja, testejä ja laboratorioharjoituksia. Opetussuunnitelma on aloittelijaystävällinen ja kattaa työkaluja kuten TensorFlow ja PyTorch sekä tekoälyn etiikan.
|
||||
Tutustu **tekoälyn** (AI) maailmaan 12 viikon ja 24 oppitunnin opetussuunnitelmamme avulla! Se sisältää käytännönläheisiä oppitunteja, tietokilpailuja ja laboratorioita. Opetussuunnitelma on aloittelijaystävällinen ja kattaa työkaluja kuten TensorFlow ja PyTorch sekä tekoälyn etiikan.
|
||||
|
||||
### 🌐 Monikielinen tuki
|
||||
|
||||
#### Tuettu GitHub Actionin kautta (automaattinen ja aina ajan tasalla)
|
||||
#### Tuettu GitHub Actionin kautta (automaattinen & aina ajan tasalla)
|
||||
|
||||
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
|
||||
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh/README.md) | [Chinese (Traditional, Hong Kong)](../hk/README.md) | [Chinese (Traditional, Macau)](../mo/README.md) | [Chinese (Traditional, Taiwan)](../tw/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](./README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../br/README.md) | [Portuguese (Portugal)](../pt/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
|
||||
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
|
||||
|
||||
**Jos haluat lisätukea käännöksille, tuetut kielet on lueteltu [täällä](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
|
||||
**Jos haluat lisätä käännöksiä, tuetut kielet on lueteltu [tässä](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
|
||||
|
||||
## Liity yhteisöön
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
|
@ -48,89 +48,89 @@ Tutustu **tekoälyn** (AI) maailmaan 12 viikon ja 24 oppitunnin opetussuunnitelm
|
|||
|
||||
Tässä opetussuunnitelmassa opit:
|
||||
|
||||
* Eri lähestymistapoja tekoälyyn, mukaan lukien ns. "vanha kunnon" symbolinen lähestymistapa sekä **tiedon esitys** ja päättely ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
|
||||
* **Neuroverkot** ja **syväoppiminen**, jotka ovat modernin tekoälyn ytimessä. Havainnollistamme näiden tärkeiden aiheiden periaatteita koodin avulla kahdessa suosituimmassa kehysjärjestelmässä - [TensorFlow](http://Tensorflow.org) ja [PyTorch](http://pytorch.org).
|
||||
* **Neuroarkkitehtuurit** kuvien ja tekstin käsittelyyn. Käsittelemme viimeaikaisia malleja, mutta emme välttämättä kata aivan viimeisintä huipputasoa.
|
||||
* Vähemmän yleisiä tekoälymenetelmiä, kuten **geneettiset algoritmit** ja **moniagenttijärjestelmät**.
|
||||
* Eri lähestymistapoja tekoälyyn, mukaan lukien "hyvin vanha" symbolinen lähestymistapa **tietämyksen esityksen** ja päättelyn kanssa ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
|
||||
* **Neuroverkot** ja **syväoppiminen**, jotka ovat modernin tekoälyn ytimessä. Havainnollistamme näitä tärkeitä aiheita koodilla kahdessa suosituimmista kehyksistä - [TensorFlow](http://Tensorflow.org) ja [PyTorch](http://pytorch.org).
|
||||
* **Neuraaliset arkkitehtuurit** kuvien ja tekstin käsittelyyn. Käymme läpi viimeaikaisia malleja, vaikka emme aina pysy täysin huippuluokan kehityksessä mukana.
|
||||
* Vähemmän tunnettuja tekoälyn lähestymistapoja, kuten **geneettiset algoritmit** ja **moniagenttijärjestelmät**.
|
||||
|
||||
Mitä emme käsittele tässä opetussuunnitelmassa:
|
||||
|
||||
> [Löydät kaikki lisäresurssit tälle kurssille Microsoft Learn -kokoelmassamme](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
|
||||
> [Löydät kaikki lisäresurssit tälle kurssille Microsoft Learn -kokoelmastamme](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
|
||||
|
||||
* Liiketoimintatapauksia, joissa hyödynnetään **tekoälyä liiketoiminnassa**. Harkitse Microsoft Learnin [Introduction to AI for business users](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) -oppipolun suorittamista tai [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum) -ohjelmaa, joka on kehitetty yhteistyössä [INSEAD](https://www.insead.edu/).
|
||||
* **Perinteistä koneoppimista**, joka on hyvin kuvattu meidän [Machine Learning for Beginners Curriculum](http://github.com/Microsoft/ML-for-Beginners).
|
||||
* Käytännön tekoälysovelluksia, jotka on rakennettu käyttäen **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. Tätä varten suosittelemme aloittamaan Microsoft Learnin moduuleista [vision](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum), [natural language processing](https://docs.microsoft.com/learn/paths/explore-natural-language-processing/?WT.mc_id=academic-77998-bethanycheum), **[Generative AI with Azure OpenAI Service](https://learn.microsoft.com/en-us/training/paths/develop-ai-solutions-azure-openai/?WT.mc_id=academic-77998-bethanycheum)** ja muista.
|
||||
* Tietyt ML-pilvikehykset, kuten [Azure Machine Learning](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-bethanycheum), [Microsoft Fabric](https://learn.microsoft.com/en-us/training/paths/get-started-fabric/?WT.mc_id=academic-77998-bethanycheum) tai [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Harkitse [Build and operate machine learning solutions with Azure Machine Learning](https://docs.microsoft.com/learn/paths/build-ai-solutions-with-azure-ml-service/?WT.mc_id=academic-77998-bethanycheum) ja [Build and Operate Machine Learning Solutions with Azure Databricks](https://docs.microsoft.com/learn/paths/build-operate-machine-learning-solutions-azure-databricks/?WT.mc_id=academic-77998-bethanycheum) -oppipolkujen käyttöä.
|
||||
* **Keskustelevaa tekoälyä** ja **chatbotteja**. On erillinen [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum) -oppipolku, ja voit myös viitata [tähän blogikirjoitukseen](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) saadaksesi lisätietoja.
|
||||
* Syvää matematiikkaa syväoppimisen taustalla. Tätä varten suosittelemme Ian Goodfellow'n, Yoshua Bengion ja Aaron Courvillen teosta [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618), joka on saatavilla myös verkossa osoitteessa [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
|
||||
* Liiketoimintatapauksia **tekoälyn käytöstä liiketoiminnassa**. Harkitse [Introduction to AI for business users](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) -oppipolun suorittamista Microsoft Learnissa tai [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum), joka on kehitetty yhteistyössä [INSEADin](https://www.insead.edu/) kanssa.
|
||||
* **Perinteinen koneoppiminen**, joka on hyvin kuvattu meidän [Machine Learning for Beginners Curriculum](http://github.com/Microsoft/ML-for-Beginners) -materiaalissa.
|
||||
* Käytännön tekoälyratkaisut, jotka on rakennettu käyttäen **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)** -palveluita. Tätä varten suosittelemme aloittamaan Microsoft Learn -moduuleista [vision](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum), [natural language processing](https://docs.microsoft.com/learn/paths/explore-natural-language-processing/?WT.mc_id=academic-77998-bethanycheum), **[Generative AI with Azure OpenAI Service](https://learn.microsoft.com/en-us/training/paths/develop-ai-solutions-azure-openai/?WT.mc_id=academic-77998-bethanycheum)** ja muut.
|
||||
* Tietyt ML **pilvikehykset**, kuten [Azure Machine Learning](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-bethanycheum), [Microsoft Fabric](https://learn.microsoft.com/en-us/training/paths/get-started-fabric/?WT.mc_id=academic-77998-bethanycheum) tai [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Harkitse [Build and operate machine learning solutions with Azure Machine Learning](https://docs.microsoft.com/learn/paths/build-ai-solutions-with-azure-ml-service/?WT.mc_id=academic-77998-bethanycheum) ja [Build and Operate Machine Learning Solutions with Azure Databricks](https://docs.microsoft.com/learn/paths/build-operate-machine-learning-solutions-azure-databricks/?WT.mc_id=academic-77998-bethanycheum) -oppipolkuja.
|
||||
* **Keskustelutoimintaa tukeva tekoäly** ja **chatbotit**. Tälle on oma [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum) -oppipolkunsa, ja voit myös tutustua [tähän blogikirjoitukseen](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) saadaksesi lisätietoja.
|
||||
* **Syvällinen matematiikka** syväoppimisen taustalla. Tätä varten suosittelemme teosta [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) kirjoittajilta Ian Goodfellow, Yoshua Bengio ja Aaron Courville, joka on myös saatavilla verkossa osoitteessa [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
|
||||
|
||||
Jos haluat kevyen johdatuksen pilvipohjaisiin tekoälyaiheisiin, harkitse [Get started with artificial intelligence on Azure](https://docs.microsoft.com/learn/paths/get-started-with-artificial-intelligence-on-azure/?WT.mc_id=academic-77998-bethanycheum) -oppipolun suorittamista.
|
||||
Kevyempään johdatukseen _tekoälystä pilvessä_ liittyvissä aiheissa voit suorittaa [Get started with artificial intelligence on Azure](https://docs.microsoft.com/learn/paths/get-started-with-artificial-intelligence-on-azure/?WT.mc_id=academic-77998-bethanycheum) -oppipolun.
|
||||
|
||||
# Sisältö
|
||||
|
||||
| | Oppitunnin linkki | PyTorch/Keras/TensorFlow | Lab |
|
||||
| | Lesson Link | PyTorch/Keras/TensorFlow | Lab |
|
||||
| :-: | :------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: | ------------------------------------------------------------------------------ |
|
||||
| 0 | [Kurssin asetukset](./lessons/0-course-setup/setup.md) | [Ota kehitysympäristösi käyttöön](./lessons/0-course-setup/how-to-run.md) | |
|
||||
| I | [**Johdatus tekoälyyn**](./lessons/1-Intro/README.md) | | |
|
||||
| 01 | [Johdanto ja tekoälyn historia](./lessons/1-Intro/README.md) | - | - |
|
||||
| II | **Symbolinen tekoäly** |
|
||||
| 02 | [Tiedon esitys ja asiantuntijajärjestelmät](./lessons/2-Symbolic/README.md) | [Asiantuntijajärjestelmät](./lessons/2-Symbolic/Animals.ipynb) / [Ontologia](./lessons/2-Symbolic/FamilyOntology.ipynb) /[Konseptiverkko](./lessons/2-Symbolic/MSConceptGraph.ipynb) | |
|
||||
| III | [**Johdatus neuroverkkoihin**](./lessons/3-NeuralNetworks/README.md) |||
|
||||
| 03 | [Perceptron](./lessons/3-NeuralNetworks/03-Perceptron/README.md) | [Muistio](./lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb) | [Labra](./lessons/3-NeuralNetworks/03-Perceptron/lab/README.md) |
|
||||
| 04 | [Monikerroksinen perceptron ja oman kehyksen luominen](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [Muistio](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [Labra](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
|
||||
| 05 | [Johdatus kehyksiin (PyTorch/TensorFlow) ja ylisovittaminen](./lessons/3-NeuralNetworks/05-Frameworks/README.md) | [PyTorch](./lessons/3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb) / [Keras](./lessons/3-NeuralNetworks/05-Frameworks/IntroKeras.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Labra](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) |
|
||||
| IV | [**Konenäkö**](./lessons/4-ComputerVision/README.md) | [PyTorch](https://docs.microsoft.com/learn/modules/intro-computer-vision-pytorch/?WT.mc_id=academic-77998-cacaste) / [TensorFlow](https://docs.microsoft.com/learn/modules/intro-computer-vision-TensorFlow/?WT.mc_id=academic-77998-cacaste)| [Tutustu konenäköön Microsoft Azuren kautta](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
|
||||
| 06 | [Johdatus konenäköön. OpenCV](./lessons/4-ComputerVision/06-IntroCV/README.md) | [Muistio](./lessons/4-ComputerVision/06-IntroCV/OpenCV.ipynb) | [Labra](./lessons/4-ComputerVision/06-IntroCV/lab/README.md) |
|
||||
| 07 | [Konvoluutiohermoverkot](./lessons/4-ComputerVision/07-ConvNets/README.md) & [CNN-arkkitehtuurit](./lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md) | [PyTorch](./lessons/4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb) /[TensorFlow](./lessons/4-ComputerVision/07-ConvNets/ConvNetsTF.ipynb) | [Labra](./lessons/4-ComputerVision/07-ConvNets/lab/README.md) |
|
||||
| 08 | [Esikoulutetut verkot ja siirto-oppiminen](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [Koulutusniksit](./lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md) | [PyTorch](./lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Labra](./lessons/4-ComputerVision/08-TransferLearning/lab/README.md) |
|
||||
| 09 | [Autoenkooderit ja VAE:t](./lessons/4-ComputerVision/09-Autoencoders/README.md) | [PyTorch](./lessons/4-ComputerVision/09-Autoencoders/AutoEncodersPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb) | |
|
||||
| 10 | [Generatiiviset vastustajaverkot ja taiteellinen tyylinsiirto](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
|
||||
| 11 | [Objektintunnistus](./lessons/4-ComputerVision/11-ObjectDetection/README.md) | [TensorFlow](./lessons/4-ComputerVision/11-ObjectDetection/ObjectDetection.ipynb) | [Labra](./lessons/4-ComputerVision/11-ObjectDetection/lab/README.md) |
|
||||
| 0 | [Course Setup](./lessons/0-course-setup/setup.md) | [Setup Your Development Environment](./lessons/0-course-setup/how-to-run.md) | |
|
||||
| I | [**Introduction to AI**](./lessons/1-Intro/README.md) | | |
|
||||
| 01 | [Introduction and History of AI](./lessons/1-Intro/README.md) | - | - |
|
||||
| II | **Symbolic AI** |
|
||||
| 02 | [Knowledge Representation and Expert Systems](./lessons/2-Symbolic/README.md) | [Expert Systems](./lessons/2-Symbolic/Animals.ipynb) / [Ontology](./lessons/2-Symbolic/FamilyOntology.ipynb) /[Concept Graph](./lessons/2-Symbolic/MSConceptGraph.ipynb) | |
|
||||
| III | [**Introduction to Neural Networks**](./lessons/3-NeuralNetworks/README.md) |||
|
||||
| 03 | [Perceptron](./lessons/3-NeuralNetworks/03-Perceptron/README.md) | [Muistikirja](./lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb) | [Harjoitus](./lessons/3-NeuralNetworks/03-Perceptron/lab/README.md) |
|
||||
| 04 | [Monikerroksinen Perceptron ja oman kehyskirjaston luominen](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [Muistikirja](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [Harjoitus](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
|
||||
| 05 | [Johdatus kehyksiin (PyTorch/TensorFlow) ja ylisovittaminen](./lessons/3-NeuralNetworks/05-Frameworks/README.md) | [PyTorch](./lessons/3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb) / [Keras](./lessons/3-NeuralNetworks/05-Frameworks/IntroKeras.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Harjoitus](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) |
|
||||
| IV | [**Konenäkö**](./lessons/4-ComputerVision/README.md) | [PyTorch](https://docs.microsoft.com/learn/modules/intro-computer-vision-pytorch/?WT.mc_id=academic-77998-cacaste) / [TensorFlow](https://docs.microsoft.com/learn/modules/intro-computer-vision-TensorFlow/?WT.mc_id=academic-77998-cacaste)| [Tutustu konenäköön Microsoft Azurella](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
|
||||
| 06 | [Johdatus konenäköön. OpenCV](./lessons/4-ComputerVision/06-IntroCV/README.md) | [Muistikirja](./lessons/4-ComputerVision/06-IntroCV/OpenCV.ipynb) | [Harjoitus](./lessons/4-ComputerVision/06-IntroCV/lab/README.md) |
|
||||
| 07 | [Konvoluutioverkot](./lessons/4-ComputerVision/07-ConvNets/README.md) & [CNN-arkkitehtuurit](./lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md) | [PyTorch](./lessons/4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb) /[TensorFlow](./lessons/4-ComputerVision/07-ConvNets/ConvNetsTF.ipynb) | [Harjoitus](./lessons/4-ComputerVision/07-ConvNets/lab/README.md) |
|
||||
| 08 | [Esikoulutetut verkot ja siirto-oppiminen](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [Koulutusvinkit](./lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md) | [PyTorch](./lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Harjoitus](./lessons/4-ComputerVision/08-TransferLearning/lab/README.md) |
|
||||
| 09 | [Autokooderit ja VAE:t](./lessons/4-ComputerVision/09-Autoencoders/README.md) | [PyTorch](./lessons/4-ComputerVision/09-Autoencoders/AutoEncodersPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb) | |
|
||||
| 10 | [Generatiiviset vastustajaverkot ja tyylinsiirto](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
|
||||
| 11 | [Kohteiden tunnistus](./lessons/4-ComputerVision/11-ObjectDetection/README.md) | [TensorFlow](./lessons/4-ComputerVision/11-ObjectDetection/ObjectDetection.ipynb) | [Harjoitus](./lessons/4-ComputerVision/11-ObjectDetection/lab/README.md) |
|
||||
| 12 | [Semanttinen segmentointi. U-Net](./lessons/4-ComputerVision/12-Segmentation/README.md) | [PyTorch](./lessons/4-ComputerVision/12-Segmentation/SemanticSegmentationPytorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/12-Segmentation/SemanticSegmentationTF.ipynb) | |
|
||||
| V | [**Luonnollisen kielen käsittely**](./lessons/5-NLP/README.md) | [PyTorch](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-pytorch/?WT.mc_id=academic-77998-cacaste) /[TensorFlow](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-TensorFlow/?WT.mc_id=academic-77998-cacaste) | [Tutustu luonnollisen kielen käsittelyyn Microsoft Azuren kautta](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)|
|
||||
| 13 | [Tekstin esitys. Bag-of-Words/TF-IDF](./lessons/5-NLP/13-TextRep/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb) | |
|
||||
| 14 | [Semanttiset sanaupottukset. Word2Vec ja GloVe](./lessons/5-NLP/14-Embeddings/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsTF.ipynb) | |
|
||||
| 15 | [Kielimallinnus. Omat upotukset](./lessons/5-NLP/15-LanguageModeling/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-PyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-TF.ipynb) | [Labra](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
|
||||
| 16 | [Toistuvat hermoverkot](./lessons/5-NLP/16-RNN/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/16-RNN/RNNPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/16-RNN/RNNTF.ipynb) | |
|
||||
| 17 | [Generatiiviset toistuvat verkot](./lessons/5-NLP/17-GenerativeNetworks/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativePyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativeTF.ipynb) | [Labra](./lessons/5-NLP/17-GenerativeNetworks/lab/README.md) |
|
||||
| V | [**Luonnollisen kielen käsittely**](./lessons/5-NLP/README.md) | [PyTorch](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-pytorch/?WT.mc_id=academic-77998-cacaste) /[TensorFlow](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-TensorFlow/?WT.mc_id=academic-77998-cacaste) | [Tutustu luonnollisen kielen käsittelyyn Microsoft Azurella](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)|
|
||||
| 13 | [Tekstin esitys. Bag-of-words/TF-IDF](./lessons/5-NLP/13-TextRep/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb) | |
|
||||
| 14 | [Semanttiset sanaupotukset. Word2Vec ja GloVe](./lessons/5-NLP/14-Embeddings/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsTF.ipynb) | |
|
||||
| 15 | [Kielimallinnus. Omien upotusten kouluttaminen](./lessons/5-NLP/15-LanguageModeling/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-PyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-TF.ipynb) | [Harjoitus](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
|
||||
| 16 | [Toistuvat neuroverkot](./lessons/5-NLP/16-RNN/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/16-RNN/RNNPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/16-RNN/RNNTF.ipynb) | |
|
||||
| 17 | [Generatiiviset toistuvat verkot](./lessons/5-NLP/17-GenerativeNetworks/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativePyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativeTF.ipynb) | [Harjoitus](./lessons/5-NLP/17-GenerativeNetworks/lab/README.md) |
|
||||
| 18 | [Transformerit. BERT.](./lessons/5-NLP/18-Transformers/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/18-Transformers/TransformersPyTorch.ipynb) /[TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/18-Transformers/TransformersTF.ipynb) | |
|
||||
| 19 | [Nimettyjen entiteettien tunnistus](./lessons/5-NLP/19-NER/README.md) | [TensorFlow](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/19-NER/NER-TF.ipynb) | [Labra](./lessons/5-NLP/19-NER/lab/README.md) |
|
||||
| 20 | [Suuret kielimallit, kehotteiden ohjelmointi ja few-shot-tehtävät](./lessons/5-NLP/20-LangModels/README.md) | [PyTorch](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb) | |
|
||||
| VI | Muut tekoälytekniikat || |
|
||||
| 21 | [Geneettiset algoritmit](./lessons/6-Other/21-GeneticAlgorithms/README.md) | [Muistio](./lessons/6-Other/21-GeneticAlgorithms/Genetic.ipynb) | |
|
||||
| 22 | [Syvävahvistusoppiminen](./lessons/6-Other/22-DeepRL/README.md) | [PyTorch](./lessons/6-Other/22-DeepRL/CartPole-RL-PyTorch.ipynb) /[TensorFlow](./lessons/6-Other/22-DeepRL/CartPole-RL-TF.ipynb) | [Labra](./lessons/6-Other/22-DeepRL/lab/README.md) |
|
||||
| 19 | [Nimitettyjen entiteettien tunnistus](./lessons/5-NLP/19-NER/README.md) | [TensorFlow](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/19-NER/NER-TF.ipynb) | [Harjoitus](./lessons/5-NLP/19-NER/lab/README.md) |
|
||||
| 20 | [Suuret kielimallit, kehotteiden ohjelmointi ja muutaman esimerkin tehtävät](./lessons/5-NLP/20-LangModels/README.md) | [PyTorch](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb) | |
|
||||
| VI | **Muut tekoälytekniikat** || |
|
||||
| 21 | [Geneettiset algoritmit](./lessons/6-Other/21-GeneticAlgorithms/README.md) | [Muistikirja](./lessons/6-Other/21-GeneticAlgorithms/Genetic.ipynb) | |
|
||||
| 22 | [Syvä vahvistusoppiminen](./lessons/6-Other/22-DeepRL/README.md) | [PyTorch](./lessons/6-Other/22-DeepRL/CartPole-RL-PyTorch.ipynb) /[TensorFlow](./lessons/6-Other/22-DeepRL/CartPole-RL-TF.ipynb) | [Harjoitus](./lessons/6-Other/22-DeepRL/lab/README.md) |
|
||||
| 23 | [Moniagenttijärjestelmät](./lessons/6-Other/23-MultiagentSystems/README.md) | | |
|
||||
| VII | **Tekoälyn etiikka** | | |
|
||||
| 24 | [Tekoälyn etiikka ja vastuullinen tekoäly](./lessons/7-Ethics/README.md) | [Microsoft Learn: Responsible AI Principles](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | |
|
||||
| 24 | [Tekoälyn etiikka ja vastuullinen tekoäly](./lessons/7-Ethics/README.md) | [Microsoft Learn: Vastuullisen tekoälyn periaatteet](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | |
|
||||
| IX | **Lisät** | | |
|
||||
| 25 | [Monimodaaliset verkot, CLIP ja VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [Muistio](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | |
|
||||
| 25 | [Monimodaaliset verkot, CLIP ja VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [Muistikirja](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | |
|
||||
|
||||
## Jokainen oppitunti sisältää
|
||||
|
||||
* Esilukemateriaali
|
||||
* Suoritettavat Jupyter-muistiot, jotka ovat usein sidoksissa kehykseen (**PyTorch** tai **TensorFlow**). Suoritettava muistio sisältää myös paljon teoreettista materiaalia, joten aiheen ymmärtämiseksi sinun täytyy käydä läpi vähintään yksi versio muistioista (joko PyTorch tai TensorFlow).
|
||||
* **Labrat** saatavilla joihinkin aiheisiin, jotka antavat sinulle mahdollisuuden kokeilla oppimasi soveltamista tiettyyn ongelmaan.
|
||||
* Joissakin osioissa on linkkejä [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) -moduuleihin, jotka käsittelevät aiheeseen liittyviä teemoja.
|
||||
* Esilukemateriaalia
|
||||
* Suoritettavia Jupyter-muistikirjoja, jotka ovat usein kehykseen sidottuja (**PyTorch** tai **TensorFlow**). Suoritettava muistikirja sisältää myös paljon teoreettista materiaalia, joten aiheen ymmärtämiseksi sinun kannattaa käydä läpi vähintään yksi versio muistikirjasta ( joko PyTorch tai TensorFlow ).
|
||||
* **Harjoituksia** joidenkin aiheiden kohdalla, jotka antavat mahdollisuuden soveltaa oppimaasi tietoa tiettyyn ongelmaan.
|
||||
* Joissain osioissa on linkkejä [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) -moduuleihin, jotka käsittelevät aiheeseen liittyvää sisältöä.
|
||||
|
||||
## Aloittaminen
|
||||
|
||||
### 🎯 Uusi tekoälyn parissa? Aloita täältä!
|
||||
### 🎯 Uusi tekoälyn parissa? Aloita tästä!
|
||||
|
||||
Jos olet täysin uusi tekoälyssä ja haluat nopeita, käytännön esimerkkejä, tutustu [**Aloittelijaystävällisiin esimerkkeihin**](./examples/README.md)! Näihin kuuluvat:
|
||||
Jos olet täysin uusi tekoälyn parissa ja haluat nopeita, käytännönläheisiä esimerkkejä, tutustu [**Aloittelijaystävällisiin esimerkkeihin**](./examples/README.md)! Näihin sisältyy:
|
||||
|
||||
- 🌟 **Hello AI World** - Ensimmäinen tekoälyohjelmasi (kuviotunnistus)
|
||||
- 🧠 **Yksinkertainen hermoverkko** - Rakenna hermoverkko alusta alkaen
|
||||
- 🖼️ **Kuvien luokittelija** - Luokittele kuvia yksityiskohtaisilla kommenteilla
|
||||
- 💬 **Tekstin sentimentti** - Analysoi tekstin positiivisuutta/negatiivisuutta
|
||||
- 🌟 **Hello AI World** - Ensimmäinen tekoälyohjelmasi (kuvioiden tunnistus)
|
||||
- 🧠 **Yksinkertainen neuroverkko** - Rakenna neuroverkko alusta alkaen
|
||||
- 🖼️ **Kuvien luokittelija** - Luokittele kuvia yksityiskohtaisin kommentein
|
||||
- 💬 **Tekstin sentimentti** - Analysoi positiivista/negatiivista tekstiä
|
||||
|
||||
These examples are designed to help you understand AI concepts before diving into the full curriculum.
|
||||
Nämä esimerkit on suunniteltu auttamaan sinua ymmärtämään tekoälykäsitteitä ennen kuin sukellat koko opetussuunnitelmaan.
|
||||
|
||||
### 📚 Koko opetussuunnitelman asennus
|
||||
### 📚 Koko opetussuunnitelman käyttöönotto
|
||||
|
||||
- Olemme luoneet a [asennusoppitunnin](./lessons/0-course-setup/setup.md) auttaaksemme kehitysympäristösi asennuksessa. - Opettajille olemme myös luoneet a [opetussuunnitelman asennusoppitunnin](./lessons/0-course-setup/for-teachers.md) for you too!
|
||||
- Kuinka [suorittaa koodi VSCode:ssa tai Codepacessa](./lessons/0-course-setup/how-to-run.md)
|
||||
- Olemme luoneet [asennusoppitunnin](./lessons/0-course-setup/setup.md) auttamaan kehitysympäristösi käyttöönotossa. - Opettajille olemme luoneet myös [opetussuunnitelman asennusoppitunnin](./lessons/0-course-setup/for-teachers.md)!
|
||||
- Kuinka [suorittaa koodi VSCode:ssa tai Codepace:ssa](./lessons/0-course-setup/how-to-run.md)
|
||||
|
||||
Follow these steps:
|
||||
Seuraa näitä vaiheita:
|
||||
|
||||
Fork the Repository: Click on the "Fork" button at the top-right corner of this page.
|
||||
|
||||
|
|
@ -140,29 +140,29 @@ Don't forget to star (🌟) this repo to find it easier later.
|
|||
|
||||
## Tutustu muihin oppijoihin
|
||||
|
||||
Join our [official AI Discord server](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum) to meet and network with other learners taking this course and get support.
|
||||
Liity [viralliselle AI Discord -palvelimellemme](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum) tapaamaan ja verkostoitumaan muiden tämän kurssin kävijöiden kanssa sekä saadaksesi tukea.
|
||||
|
||||
If you have product feedback or questions whilst building visit our [Azure AI Foundry Developer Forum](https://aka.ms/foundry/forum)
|
||||
Jos sinulla on tuotepalautetta tai kysymyksiä rakentamisen aikana, käy [Azure AI Foundry -kehittäjäfoorumillamme](https://aka.ms/foundry/forum)
|
||||
|
||||
## Visailut
|
||||
## Quizzit
|
||||
|
||||
> **Huomautus visailuista**: All quizzes are contained in the Quiz-app folder in etc\quiz-app, or [Online Here](https://ff-quizzes.netlify.app/) They are linked from within the lessons the quiz app can be run locally or deployed to Azure; follow the instruction in the `quiz-app` folder. They are gradually being localized.
|
||||
> **Huomautus tietovisoista**: Kaikki tietovisat ovat Quiz-app-kansiossa polussa etc\quiz-app, tai [verkkossa täällä](https://ff-quizzes.netlify.app/) Ne on linkitetty oppituntien sisällä; quiz-sovellusta voi ajaa paikallisesti tai ottaa käyttöön Azureen; seuraa ohjeita `quiz-app`-kansiossa. Ne ovat asteittain lokalisoitumassa.
|
||||
|
||||
## Apua kaivataan
|
||||
|
||||
Do you have suggestions or found spelling or code errors? Raise an issue or create a pull request.
|
||||
Onko sinulla ehdotuksia tai löysitkö kirjoitus- tai koodivirheitä? Avaa issue tai tee pull request.
|
||||
|
||||
## Erityiskiitokset
|
||||
|
||||
* **✍️ Pääkirjoittaja:** [Dmitry Soshnikov](http://soshnikov.com), PhD
|
||||
* **🔥 Toimittaja:** [Jen Looper](https://twitter.com/jenlooper), PhD
|
||||
* **🎨 Sketchnote-kuvittaja:** [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
* **✅ Visakysymysten luoja:** [Lateefah Bello](https://github.com/CinnamonXI), [MLSA](https://studentambassadors.microsoft.com/)
|
||||
* **✅ Tietovisan tekijä:** [Lateefah Bello](https://github.com/CinnamonXI), [MLSA](https://studentambassadors.microsoft.com/)
|
||||
* **🙏 Keskeiset avustajat:** [Evgenii Pishchik](https://github.com/Pe4enIks)
|
||||
|
||||
## Muut opetussuunnitelmat
|
||||
|
||||
Our team produces other curricula! Check out:
|
||||
Tiimimme tuottaa myös muita opetussuunnitelmia! Tutustu:
|
||||
|
||||
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
|
||||
### LangChain
|
||||
|
|
@ -179,7 +179,7 @@ Our team produces other curricula! Check out:
|
|||
|
||||
---
|
||||
|
||||
### Generatiivisen tekoälyn sarja
|
||||
### Generatiivinen tekoäly -sarja
|
||||
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
|
||||
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
|
||||
|
|
@ -188,8 +188,8 @@ Our team produces other curricula! Check out:
|
|||
---
|
||||
|
||||
### Perusopetus
|
||||
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
|
||||
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
|
|
@ -204,13 +204,13 @@ Our team produces other curricula! Check out:
|
|||
[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
|
||||
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
|
||||
|
||||
## Saat apua
|
||||
## Hanki apua
|
||||
|
||||
If you get stuck or have any questions about building AI apps. Join fellow learners and experienced developers in discussions about MCP. It's a supportive community where questions are welcome and knowledge is shared freely.
|
||||
Jos jäät jumiin tai sinulla on kysyttävää tekoälysovellusten rakentamisesta, liity muiden oppijoiden ja kokeneiden kehittäjien keskusteluihin MCP:stä. Se on kannustava yhteisö, jossa kysymyksiä voi esittää ja tietoa jaetaan vapaasti.
|
||||
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
If you have product feedback or errors while building visit:
|
||||
Jos sinulla on tuotepalautetta tai rakennuksen aikana ilmenee virheitä, käy:
|
||||
|
||||
[](https://aka.ms/foundry/forum)
|
||||
|
||||
|
|
@ -218,5 +218,5 @@ If you have product feedback or errors while building visit:
|
|||
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
||||
Vastuuvapauslauseke:
|
||||
Tämä asiakirja on käännetty tekoälypohjaisella käännöspalvelulla Co-op Translator (https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, huomioithan, että automaattikäännöksissä voi esiintyä virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäisellä kielellä tulee pitää virallisena lähteenä. Tärkeiden tietojen kohdalla suositellaan ammattimaista ihmiskäännöstä. Emme vastaa mahdollisista väärinymmärryksistä tai virheellisistä tulkinnoista, joita tämän käännöksen käyttö saattaa aiheuttaa.
|
||||
Tämä asiakirja on käännetty tekoälypohjaisella käännöspalvelulla Co-op Translator (https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, huomioithan, että automatisoidut käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäisellä kielellä tulee pitää ensisijaisena lähteenä. Tärkeissä tai kriittisissä asioissa suositellaan ammattimaisen ihmiskääntäjän käyttöä. Emme ole vastuussa mahdollisista väärinymmärryksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
|
||||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Johdanto tekoälyyn
|
||||
|
||||

|
||||

|
||||
|
||||
> Piirros: [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
Alun perin tietokoneet keksittiin [Charles Babbagen](https://en.wikipedia.org/wiki/Charles_Babbage) toimesta käsittelemään numeroita ennalta määritellyn menettelyn - algoritmin - mukaisesti. Vaikka modernit tietokoneet ovat huomattavasti kehittyneempiä kuin 1800-luvulla ehdotettu alkuperäinen malli, ne noudattavat yhä samaa ohjattujen laskentojen periaatetta. Näin ollen tietokone voidaan ohjelmoida tekemään jotain, jos tiedämme tarkalleen, mitä vaiheita tavoitteen saavuttamiseksi tarvitaan.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva: [Vickie Soshnikova](http://twitter.com/vickievalerie)
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ Lisätietoja löytyy **[Artificial General Intelligence](https://en.wikipedia.or
|
|||
|
||||
Yksi ongelma käsiteltäessä termiä **[älykkyys](https://en.wikipedia.org/wiki/Intelligence)** on, ettei sille ole selkeää määritelmää. Voidaan väittää, että älykkyys liittyy **abstraktiin ajatteluun** tai **itsetietoisuuteen**, mutta emme pysty määrittelemään sitä kunnolla.
|
||||
|
||||

|
||||

|
||||
|
||||
> [Kuva](https://unsplash.com/photos/75715CVEJhI) [Amber Kipp](https://unsplash.com/@sadmax) Unsplashista
|
||||
|
||||
|
|
@ -98,13 +98,13 @@ Vaihtoehtoisesti voimme yrittää mallintaa aivojemme yksinkertaisimpia elementt
|
|||
|
||||
> | Entä koneoppiminen? | |
|
||||
> |--------------|-----------|
|
||||
> | Tekoälyn osa-alue, jossa tietokone oppii ratkaisemaan ongelman jonkin datan perusteella, kutsutaan **koneoppimiseksi**. Emme käsittele perinteistä koneoppimista tässä kurssissa – suosittelemme erillistä [Koneoppiminen aloittelijoille](http://aka.ms/ml-beginners) -opetussuunnitelmaa. |  |
|
||||
> | Tekoälyn osa-alue, jossa tietokone oppii ratkaisemaan ongelman jonkin datan perusteella, kutsutaan **koneoppimiseksi**. Emme käsittele perinteistä koneoppimista tässä kurssissa – suosittelemme erillistä [Koneoppiminen aloittelijoille](http://aka.ms/ml-beginners) -opetussuunnitelmaa. |  |
|
||||
|
||||
## Lyhyt katsaus tekoälyn historiaan
|
||||
|
||||
Tekoäly syntyi tieteenalana 1900-luvun puolivälissä. Aluksi symbolinen järkeily oli vallitseva lähestymistapa, ja se johti useisiin merkittäviin saavutuksiin, kuten asiantuntijajärjestelmiin – tietokoneohjelmiin, jotka pystyivät toimimaan asiantuntijana tietyillä rajatuilla ongelma-alueilla. Pian kuitenkin huomattiin, että tällainen lähestymistapa ei skaalaudu hyvin. Tiedon kerääminen asiantuntijalta, sen esittäminen tietokoneessa ja tietokannan pitäminen ajan tasalla osoittautui erittäin monimutkaiseksi ja liian kalliiksi monissa tapauksissa. Tämä johti niin sanottuun [tekoälytalveen](https://en.wikipedia.org/wiki/AI_winter) 1970-luvulla.
|
||||
|
||||
<img alt="Tekoälyn historian lyhyt katsaus" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a0264357672b0884cf3a220fbafe35c65d70b2c3805f7bf5e.fi.png" width="70%"/>
|
||||
<img alt="Tekoälyn historian lyhyt katsaus" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a.fi.png" width="70%"/>
|
||||
|
||||
> Kuva: [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -124,7 +124,7 @@ Samoin voimme nähdä, kuinka lähestymistapa "puhuvien ohjelmien" (jotka saatta
|
|||
* Modernit avustajat, kuten Cortana, Siri tai Google Assistant, ovat kaikki hybridijärjestelmiä, jotka käyttävät neuroverkkoja muuntamaan puheen tekstiksi ja tunnistamaan tarkoituksemme, ja sitten hyödyntävät järkeilyä tai eksplisiittisiä algoritmeja suorittaakseen tarvittavat toiminnot.
|
||||
* Tulevaisuudessa voimme odottaa täysin neuroverkkoihin perustuvaa mallia, joka käsittelee dialogia itsenäisesti. Viimeaikaiset GPT- ja [Turing-NLG](https://www.microsoft.com/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft) -neuroverkkojen perheet osoittavat suurta menestystä tässä.
|
||||
|
||||
<img alt="Turingin testin kehitys" src="../../../../translated_images/turing-test-evol.4184696701293ead6de6e6441a659c62f0b119b342456987f531005f43be0b6d.fi.png" width="70%"/>
|
||||
<img alt="Turingin testin kehitys" src="../../../../translated_images/turing-test-evol.4184696701293ead.fi.png" width="70%"/>
|
||||
> Kuva: Dmitry Soshnikov, [valokuva](https://unsplash.com/photos/r8LmVbUKgns) [Marina Abrosimova](https://unsplash.com/@abrosimova_marina_foto), Unsplash
|
||||
|
||||
## Viimeaikainen tekoälytutkimus
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
"\n",
|
||||
"Tässä esimerkissä toteutamme yksinkertaisen tietopohjaisen järjestelmän, joka määrittää eläimen fyysisten ominaisuuksien perusteella. Järjestelmä voidaan esittää seuraavalla JA-TAI-puulla (tämä on osa koko puusta, sääntöjä voidaan helposti lisätä): \n",
|
||||
"\n",
|
||||
"\n"
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Tiedon esittäminen ja asiantuntijajärjestelmät
|
||||
|
||||

|
||||

|
||||
|
||||
> Sketchnote: [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ Usein emme määrittele tietoa tarkasti, vaan yhdistämme sen muihin siihen liit
|
|||
|
||||
Näin ollen **tiedon esittämisen** ongelma on löytää tehokas tapa esittää tieto tietokoneessa datan muodossa, jotta sitä voidaan käyttää automaattisesti. Tämä voidaan nähdä spektrinä:
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva: [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ Lohkorakenne | Sisennys | | |
|
|||
|
||||
Symbolisen tekoälyn varhaisia menestyksiä olivat niin sanotut **asiantuntijajärjestelmät** - tietokonejärjestelmät, jotka suunniteltiin toimimaan asiantuntijana jollakin rajatulla ongelma-alueella. Ne perustuivat **tietokantaan**, joka oli kerätty yhdeltä tai useammalta ihmisasiantuntijalta, ja ne sisälsivät **päättelymoottorin**, joka suoritti päättelyä sen pohjalta.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
---------------------------------------------|------------------------------------------------
|
||||
Ihmisen hermojärjestelmän yksinkertaistettu rakenne | Tietopohjaisen järjestelmän arkkitehtuuri
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ Asiantuntijajärjestelmät rakennetaan ihmisen päättelyjärjestelmän tapaan,
|
|||
|
||||
Esimerkiksi tarkastellaan seuraavaa asiantuntijajärjestelmää, joka määrittää eläimen sen fyysisten ominaisuuksien perusteella:
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva: [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
|
|||
|
|
@ -1259,7 +1259,7 @@
|
|||
"* Matala harjoitusdatan häviö - malli pystyy lähentämään harjoitusdataa hyvin, koska sillä on tarpeeksi ilmaisukykyä.\n",
|
||||
"* Validointidatan häviö voi olla paljon korkeampi kuin harjoitusdatan häviö ja voi alkaa kasvaa harjoittelun aikana - tämä johtuu siitä, että malli \"muistaa\" harjoitusdatan pisteet ja menettää \"kokonaiskuvan\".\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> Tässä kuvassa `x` edustaa harjoitusdataa ja `o` validointidataa. Vasemmalla - lineaarinen malli (yksikerroksinen), se lähentää datan luonnetta melko hyvin. Oikealla - ylisovitettu malli, joka lähentää harjoitusdataa täydellisesti, mutta menettää merkityksensä muun datan kanssa (validointivirhe on erittäin korkea).\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ Ylikoulutus on erittäin tärkeä käsite koneoppimisessa, ja on erittäin tärk
|
|||
|
||||
Tarkastellaan seuraavaa ongelmaa, jossa pyritään approksimoimaan 5 pistettä (esitettynä `x`-merkeillä alla olevissa kaavioissa):
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-------------------------|--------------------------
|
||||
**Lineaarinen malli, 2 parametria** | **Ei-lineaarinen malli, 7 parametria**
|
||||
Koulutusvirhe = 5.3 | Koulutusvirhe = 0
|
||||
|
|
@ -79,7 +79,7 @@ On erittäin tärkeää löytää oikea tasapaino mallin monimutkaisuuden (param
|
|||
|
||||
Kuten yllä olevasta kaaviosta näkyy, ylikoulutus voidaan havaita erittäin pienestä koulutusvirheestä ja suuresta validointivirheestä. Normaalisti koulutuksen aikana näemme sekä koulutus- että validointivirheiden alkavan pienentyä, ja jossain vaiheessa validointivirhe saattaa lakata pienentymästä ja alkaa kasvaa. Tämä on merkki ylikoulutuksesta ja indikaattori siitä, että koulutus pitäisi todennäköisesti lopettaa tässä vaiheessa (tai ainakin tehdä mallista tilannekuva).
|
||||
|
||||

|
||||

|
||||
|
||||
## Miten ylikoulutusta estetään
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Johdanto neuroverkkoihin
|
||||
|
||||

|
||||

|
||||
|
||||
Kuten keskustelimme johdannossa, yksi tapa saavuttaa älykkyyttä on kouluttaa **tietokonemalli** tai **keinotekoinen aivot**. 1900-luvun puolivälistä lähtien tutkijat kokeilivat erilaisia matemaattisia malleja, kunnes viime vuosina tämä suunta osoittautui erittäin menestyksekkääksi. Näitä aivojen matemaattisia malleja kutsutaan **neuroverkoiksi**.
|
||||
|
||||
|
|
@ -36,13 +36,13 @@ Tässä oppimateriaalissa keskitymme vain neuroverkkopohjaisiin malleihin.
|
|||
|
||||
Biologiasta tiedämme, että aivomme koostuvat hermosoluista (neuroneista), joilla jokaisella on useita "syötteitä" (dendriittejä) ja yksi "tulos" (aksoni). Sekä dendriitit että aksonit voivat johtaa sähköisiä signaaleja, ja niiden väliset yhteydet — synapsit — voivat osoittaa vaihtelevaa johtavuutta, jota säätelevät välittäjäaineet.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
Oikea neuroni *([Kuva](https://en.wikipedia.org/wiki/Synapse#/media/File:SynapseSchematic_lines.svg) Wikipediasta)* | Keinotekoinen neuroni *(Kuva tekijältä)*
|
||||
|
||||
Näin ollen yksinkertaisin matemaattinen malli neuronista sisältää useita syötteitä X<sub>1</sub>, ..., X<sub>N</sub> ja yhden tuloksen Y sekä joukon painoja W<sub>1</sub>, ..., W<sub>N</sub>. Tulos lasketaan seuraavasti:
|
||||
|
||||
<img src="../../../../translated_images/netout.1eb15eb76fd767313e067719f400cec4b0e5090239c3e997c29f6789d4c3c263.fi.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
|
||||
<img src="../../../../translated_images/netout.1eb15eb76fd76731.fi.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
|
||||
|
||||
missä f on jokin epälineaarinen **aktivointifunktio**.
|
||||
|
||||
|
|
|
|||
|
|
@ -73,14 +73,14 @@ Ennen kuin kuva syötetään neuroverkkoon, voi olla hyödyllistä suorittaa use
|
|||
|
||||
* **Pistekirjakuvan esikäsittely**. Keskitymme siihen, miten voimme käyttää kynnysarvoja, piirteiden tunnistusta, perspektiivimuunnoksia ja NumPy-manipulaatioita erottamaan yksittäiset pistekirjoitussymbolit, jotta ne voidaan luokitella neuroverkolla.
|
||||
|
||||
 |  | 
|
||||
 |  | 
|
||||
----|-----|-----
|
||||
|
||||
> Kuva [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
* **Liikkeen tunnistaminen videosta kehysten erotuksen avulla**. Jos kamera on kiinteä, kameran syötteen kehysten pitäisi olla melko samanlaisia. Koska kehykset esitetään taulukoina, kahden peräkkäisen kehyksen taulukoiden vähentämisellä saadaan pikseliero, joka on pieni staattisille kehyksille ja kasvaa merkittävästi, kun kuvassa on huomattavaa liikettä.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
|
|
@ -89,7 +89,7 @@ Ennen kuin kuva syötetään neuroverkkoon, voi olla hyödyllistä suorittaa use
|
|||
- **Tiheä optinen virtaus** laskee vektorikentän, joka näyttää jokaisen pikselin liikkeen suunnan.
|
||||
- **Harva optinen virtaus** perustuu tiettyjen erottuvien piirteiden (esim. reunojen) valintaan kuvassa ja niiden liikeradan rakentamiseen kehyksestä toiseen.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,11 +13,11 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
VGG-16 on verkko, joka saavutti 92,7 % tarkkuuden ImageNetin top-5-luokittelussa vuonna 2014. Sen kerrosrakenne on seuraava:
|
||||
|
||||

|
||||

|
||||
|
||||
Kuten näet, VGG noudattaa perinteistä pyramidirakennetta, joka koostuu konvoluutio- ja pooling-kerrosten sarjasta.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [Researchgate](https://www.researchgate.net/figure/Vgg16-model-structure-To-get-the-VGG-NIN-model-we-replace-the-2-nd-4-th-6-th-7-th_fig2_335194493) -sivustolta
|
||||
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@
|
|||
"\n",
|
||||
"Näin ollen tyypillisessä CNN:ssä on useita konvoluutiokerroksia, joiden välissä on pooling-kerroksia kuvan ulottuvuuksien pienentämiseksi. Samalla lisäämme suotimien määrää, koska kuvioiden muuttuessa monimutkaisemmiksi on enemmän mahdollisia kiinnostavia yhdistelmiä, joita meidän täytyy etsiä.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Koska tilalliset ulottuvuudet pienenevät ja piirre-/suodatinulottuvuudet kasvavat, tätä arkkitehtuuria kutsutaan myös **pyramidiarkkitehtuuriksi**.\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -359,7 +359,7 @@
|
|||
"\n",
|
||||
"Näin ollen tyypillisessä CNN:ssä on useita konvoluutiokerroksia, joiden välissä on pooling-kerroksia kuvan dimensioiden pienentämiseksi. Samalla lisäämme suodattimien määrää, koska kuvioiden muuttuessa monimutkaisemmiksi on enemmän mahdollisia kiinnostavia yhdistelmiä, joita meidän täytyy etsiä.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Koska tiladimensioita pienennetään ja piirre-/suodatin-dimensioita kasvatetaan, tätä arkkitehtuuria kutsutaan myös **pyramidiarkkitehtuuriksi**.\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ Todellisessa elämässä haluamme pystyä tunnistamaan esineitä kuvasta niiden
|
|||
|
||||
Kuvioiden tunnistamiseen käytämme **konvoluutiokertoimia**. Kuten tiedät, kuva esitetään 2D-matriisina tai 3D-tensorina värisyvyyden kanssa. Suodattimen soveltaminen tarkoittaa, että otamme suhteellisen pienen **suodatinytimen** matriisin, ja alkuperäisen kuvan jokaiselle pikselille laskemme painotetun keskiarvon naapuripisteiden kanssa. Voimme ajatella tämän olevan kuin pieni ikkuna, joka liukuu koko kuvan yli ja tasoittaa kaikki pikselit suodatinytimen matriisin painojen mukaan.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
|
||||
> Kuva: Dmitry Soshnikov
|
||||
|
|
@ -38,7 +38,7 @@ CNN:ien toiminta perustuu seuraaviin tärkeisiin ideoihin:
|
|||
* Voimme suunnitella verkon siten, että suodattimet koulutetaan automaattisesti
|
||||
* Voimme käyttää samaa lähestymistapaa löytääksemme kuvioita korkeamman tason ominaisuuksista, ei vain alkuperäisestä kuvasta. Näin CNN:n ominaisuuksien tunnistus toimii hierarkiana, alkaen matalan tason pikseliyhdistelmistä ja päätyen korkeamman tason kuvan osien yhdistelmiin.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [Hislop-Lynchin artikkelista](https://www.semanticscholar.org/paper/Computer-vision-based-pedestrian-trajectory-Hislop-Lynch/26e6f74853fc9bbb7487b06dc2cf095d36c9021d), perustuen [heidän tutkimukseensa](https://dl.acm.org/doi/abs/10.1145/1553374.1553453)
|
||||
|
||||
|
|
@ -55,9 +55,9 @@ Useimmat kuvankäsittelyyn käytetyt CNN:t noudattavat niin sanottua pyramidirak
|
|||
|
||||
Esimerkiksi tarkastellaan VGG-16-arkkitehtuuria, verkkoa, joka saavutti 92,7 % tarkkuuden ImageNetin top-5-luokittelussa vuonna 2014:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [Researchgate-sivustolta](https://www.researchgate.net/figure/Vgg16-model-structure-To-get-the-VGG-NIN-model-we-replace-the-2-nd-4-th-6-th-7-th_fig2_335194493)
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ Sinun tulee kouluttaa konvoluutio-neuroverkko luokittelemaan eri kissojen ja koi
|
|||
|
||||
Käytämme [Oxford-IIIT Pet Dataset](https://www.robots.ox.ac.uk/~vgg/data/pets/) -datakokonaisuutta, joka sisältää kuvia 37 eri koira- ja kissarodusta.
|
||||
|
||||

|
||||

|
||||
|
||||
Ladataksesi datakokonaisuuden, käytä tätä koodinpätkää:
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
"\n",
|
||||
"Visualisoidaksemme ihanteellisen kissan aloitamme satunnaisesta kohinakuvaasta ja yritämme käyttää gradienttilaskeutumisoptimointitekniikkaa säätääksemme kuvaa niin, että verkko tunnistaa kissan.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Tässä on aloituskuvamme:\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ Sekä Keras että PyTorch sisältävät toimintoja, joilla voi helposti ladata e
|
|||
|
||||
Tässä on esimerkki piirteistä, jotka VGG-16-verkko on tunnistanut kissan kuvasta:
|
||||
|
||||

|
||||

|
||||
|
||||
## Kissojen ja koirien datasetti
|
||||
|
||||
|
|
@ -48,19 +48,19 @@ Esikoulutettu neuroverkko sisältää erilaisia kuvioita "aivoissaan", mukaan lu
|
|||
|
||||
Yksi lähestymistapa on aloittaa satunnaisesta kuvasta ja yrittää käyttää **gradient descent -optimointitekniikkaa** säätämään kuvaa niin, että verkko alkaa ajatella sen olevan kissa.
|
||||
|
||||

|
||||

|
||||
|
||||
Jos teemme näin, saamme jotain hyvin satunnaisen kohinan kaltaista. Tämä johtuu siitä, että *on monia tapoja saada verkko ajattelemaan, että syötekuva on kissa*, mukaan lukien sellaisia, jotka eivät ole visuaalisesti järkeviä. Vaikka nämä kuvat sisältävät paljon kissalle tyypillisiä kuvioita, mikään ei rajoita niitä olemaan visuaalisesti erottuvia.
|
||||
|
||||
Tuloksen parantamiseksi voimme lisätä toisen termin häviöfunktioon, jota kutsutaan **variation loss** -termiksi. Se on mittari, joka osoittaa, kuinka samanlaisia kuvan vierekkäiset pikselit ovat. Variation lossin minimointi tekee kuvasta tasaisemman ja poistaa kohinaa - paljastaen visuaalisesti miellyttävämpiä kuvioita. Tässä esimerkki tällaisista "ihanteellisista" kuvista, jotka luokitellaan kissaksi ja seepraksi suurella todennäköisyydellä:
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-----|-----
|
||||
*Ihanteellinen kissa* | *Ihanteellinen seepra*
|
||||
|
||||
Samaa lähestymistapaa voidaan käyttää suorittamaan niin sanottuja **adversaarisia hyökkäyksiä** neuroverkkoon. Oletetaan, että haluamme huijata neuroverkkoa ja saada koiran näyttämään kissalta. Jos otamme koiran kuvan, jonka verkko tunnistaa koiraksi, voimme sitten säätää sitä hieman gradient descent -optimoinnin avulla, kunnes verkko alkaa luokitella sen kissaksi:
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-----|-----
|
||||
*Alkuperäinen kuva koirasta* | *Kuva koirasta, joka luokitellaan kissaksi*
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
"\n",
|
||||
"Koska koulutamme autokooderia vangitsemaan mahdollisimman paljon alkuperäisen kuvan informaatiota tarkkaa rekonstruointia varten, verkko pyrkii löytämään parhaan mahdollisen **upotuksen** syötekuvien merkityksen vangitsemiseksi.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> Kuva [Keras-blogista](https://blog.keras.io/building-autoencoders-in-keras.html)\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
"\n",
|
||||
"Koska koulutamme autokooderia vangitsemaan mahdollisimman paljon alkuperäisen kuvan informaatiota tarkkaa rekonstruointia varten, verkko pyrkii löytämään parhaan mahdollisen **upotuksen** syötekuvien merkityksen vangitsemiseksi.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Kuva [Keras-blogista](https://blog.keras.io/building-autoencoders-in-keras.html)*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Voimme kuitenkin haluta käyttää raakadataa (merkitsemätöntä) CNN-ominaisuu
|
|||
|
||||
Koska koulutamme autokooderia tallentamaan mahdollisimman paljon alkuperäisen kuvan informaatiota tarkkaa rekonstruointia varten, verkko pyrkii löytämään parhaan **upotuksen** syötekuville merkityksen tallentamiseksi.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [Keras-blogista](https://blog.keras.io/building-autoencoders-in-keras.html)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ Kuvien luokittelumallit, joita olemme tähän mennessä käsitelleet, ottavat ku
|
|||
|
||||
## [Pre-lecture quiz](https://ff-quizzes.netlify.app/en/ai/quiz/21)
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [YOLO v2 -verkkosivustolta](https://pjreddie.com/darknet/yolov2/)
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ Oletetaan, että haluaisimme löytää kissan kuvasta. Hyvin yksinkertainen läh
|
|||
2. Suorita kuvien luokittelu jokaiselle ruudulle.
|
||||
3. Ruudut, jotka tuottavat riittävän korkean aktivoinnin, voidaan katsoa sisältävän kyseisen objektin.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Kuva [harjoitusmuistiosta](ObjectDetection-TF.ipynb)*
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ Tässä tehtävässä saatat törmätä seuraaviin tietoaineistoihin:
|
|||
* [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/) – 20 luokkaa
|
||||
* [COCO](http://cocodataset.org/#home) – Common Objects in Context. 80 luokkaa, rajauslaatikot ja segmentointimaskit
|
||||
|
||||

|
||||

|
||||
|
||||
## Objektien tunnistuksen mittarit
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ Tässä tehtävässä saatat törmätä seuraaviin tietoaineistoihin:
|
|||
|
||||
Kuvien luokittelussa algoritmin suorituskyvyn mittaaminen on helppoa, mutta objektien tunnistuksessa meidän täytyy mitata sekä luokan oikeellisuus että ennustetun rajauslaatikon sijainnin tarkkuus. Jälkimmäistä varten käytämme niin kutsuttua **Intersection over Union** (IoU) -mittaria, joka mittaa, kuinka hyvin kaksi laatikkoa (tai kaksi satunnaista aluetta) menevät päällekkäin.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Kuva 2 [tästä erinomaisesta IoU-blogikirjoituksesta](https://pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/)*
|
||||
|
||||
|
|
@ -98,11 +98,11 @@ Objektien tunnistusalgoritmit voidaan jakaa kahteen pääluokkaan:
|
|||
|
||||
[R-CNN](http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf) käyttää [Selective Search](http://www.huppelen.nl/publications/selectiveSearchDraft.pdf) -menetelmää luomaan hierarkkisen rakenteen ROI-alueista, jotka sitten syötetään CNN-ominaisuuksien erottimiin ja SVM-luokittelijoihin objektin luokan määrittämiseksi, sekä lineaariseen regressioon *rajauslaatikon* koordinaattien määrittämiseksi. [Virallinen artikkeli](https://arxiv.org/pdf/1506.01497v1.pdf)
|
||||
|
||||

|
||||

|
||||
|
||||
> *Kuva van de Sande et al. ICCV’11*
|
||||
|
||||

|
||||

|
||||
|
||||
> *Kuvat [tästä blogista](https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e)*
|
||||
|
||||
|
|
@ -110,7 +110,7 @@ Objektien tunnistusalgoritmit voidaan jakaa kahteen pääluokkaan:
|
|||
|
||||
Tämä lähestymistapa on samanlainen kuin R-CNN, mutta alueet määritellään vasta konvoluutiokerrosten soveltamisen jälkeen.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [virallisesta artikkelista](https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Girshick_Fast_R-CNN_ICCV_2015_paper.pdf), [arXiv](https://arxiv.org/pdf/1504.08083.pdf), 2015
|
||||
|
||||
|
|
@ -118,7 +118,7 @@ Tämä lähestymistapa on samanlainen kuin R-CNN, mutta alueet määritellään
|
|||
|
||||
Tämän lähestymistavan pääidea on käyttää neuroverkkoa ennustamaan ROI:t – niin kutsuttu *Region Proposal Network*. [Artikkeli](https://arxiv.org/pdf/1506.01497.pdf), 2016
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [virallisesta artikkelista](https://arxiv.org/pdf/1506.01497.pdf)
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ Tämä algoritmi on jopa nopeampi kuin Faster R-CNN. Pääidea on seuraava:
|
|||
2. Ominaisuudet käsitellään **Position-Sensitive Score Map** -kartalla. Jokainen objekti luokasta $C$ jaetaan $k\times k$ alueisiin, ja verkkoa koulutetaan ennustamaan objektien osia.
|
||||
3. Jokaiselle osalle $k\times k$ alueista kaikki verkot äänestävät objektin luokista, ja eniten ääniä saanut luokka valitaan.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [virallisesta artikkelista](https://arxiv.org/abs/1605.06409)
|
||||
|
||||
|
|
@ -141,7 +141,7 @@ YOLO on reaaliaikainen yhden passin algoritmi. Pääidea on seuraava:
|
|||
* Kuva jaetaan $S\times S$ alueisiin.
|
||||
* Jokaiselle alueelle **CNN** ennustaa $n$ mahdollista objektia, *rajauslaatikon* koordinaatit ja *luottamus*=*todennäköisyys* * IoU.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [virallisesta artikkelista](https://arxiv.org/abs/1506.02640)
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Tietokonenäkö
|
||||
|
||||

|
||||

|
||||
|
||||
Tässä osiossa opimme seuraavista aiheista:
|
||||
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@
|
|||
"\n",
|
||||
"**Bag of Words** (BoW) -vektoriesitys on yleisimmin käytetty perinteinen vektoriesitys. Jokainen sana on yhdistetty vektorin indeksiin, ja vektorin elementti sisältää sanan esiintymiskertojen määrän tietyssä dokumentissa.\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n",
|
||||
"> **Note**: Voit myös ajatella BoW:n olevan summa kaikista yksittäisten sanojen yksi-hot-koodatuista vektoreista tekstissä.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@
|
|||
"\n",
|
||||
"**Bag-of-words** (BoW) -vektoriesitys on perinteisistä vektoriesityksistä yksinkertaisin ymmärtää. Jokainen sana yhdistetään vektorin indeksiin, ja vektorin elementti sisältää kunkin sanan esiintymiskertojen määrän tietyssä dokumentissa.\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n",
|
||||
"> **Note**: Voit myös ajatella BoW:n olevan summa kaikista yksittäisten sanojen yksi-kuuma-koodatuista vektoreista tekstissä.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@
|
|||
"\n",
|
||||
"Kun käytämme upotuskerrosta verkkomme ensimmäisenä kerroksena, voimme siirtyä bag-of-words-mallista **embedding bag** -malliin, jossa ensin muutamme jokaisen tekstimme sanan vastaavaksi upotukseksi ja sitten laskemme jonkin aggregaattifunktion kaikkien näiden upotusten yli, kuten `sum`, `average` tai `max`.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Luokittelijaneuroverkkomme alkaa upotuskerroksella, sitten aggregaatiokerroksella ja sen päällä lineaarisella luokittelijalla:\n"
|
||||
]
|
||||
|
|
@ -176,7 +176,7 @@
|
|||
"\n",
|
||||
"Edellisessä arkkitehtuurissa meidän täytyi täyttää kaikki sekvenssit samanpituisiksi, jotta ne sopisivat minibatchiin. Tämä ei ole tehokkain tapa esittää muuttuvan pituisia sekvenssejä – toinen lähestymistapa olisi käyttää **offset**-vektoria, joka sisältää kaikkien yhteen suureen vektoriin tallennettujen sekvenssien offsetit.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> **Huom**: Yllä olevassa kuvassa esitetään merkkijonosekvenssi, mutta esimerkissämme työskentelemme sanasekvenssien kanssa. Yleinen periaate sekvenssien esittämisestä offset-vektorilla pysyy kuitenkin samana.\n",
|
||||
"\n",
|
||||
|
|
@ -311,7 +311,7 @@
|
|||
"\n",
|
||||
"CBoW on nopeampi, kun taas skip-gram on hitaampi, mutta se edustaa harvinaisia sanoja paremmin.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Kokeillaksemme Word2Vec-upotusta, joka on esikoulutettu Google News -aineistolla, voimme käyttää **gensim**-kirjastoa. Alla etsimme sanoja, jotka ovat lähimpänä sanaa 'neural'.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
"\n",
|
||||
"Kun käytämme upotuskerrosta verkkomme ensimmäisenä kerroksena, voimme siirtyä sanojen pussi -mallista **upotuspussi**-malliin, jossa ensin muutamme tekstimme jokaisen sanan vastaavaksi upotukseksi ja sitten laskemme jonkin aggregaattifunktion näiden upotusten yli, kuten `sum`, `average` tai `max`.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Luokittelijaneuroverkkomme koostuu seuraavista kerroksista:\n",
|
||||
"\n",
|
||||
|
|
@ -283,7 +283,7 @@
|
|||
"\n",
|
||||
"CBoW on nopeampi, kun taas skip-gram on hitaampi, mutta se edustaa harvinaisia sanoja paremmin.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Kokeillaksemme Word2Vec-upotusta, joka on esikoulutettu Google News -aineistolla, voimme käyttää **gensim**-kirjastoa. Alla etsimme sanoja, jotka ovat lähimpänä sanaa 'neural'.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Upotuskerros ottaa sanan syötteenä ja tuottaa ulostulovektorin, jonka pituus o
|
|||
|
||||
Käyttämällä upotuskerrosta luokittelijaverkkomme ensimmäisenä kerroksena voimme siirtyä bag-of-words-mallista **embedding bag** -malliin, jossa ensin muutamme tekstimme jokaisen sanan vastaavaksi upotukseksi ja laskemme sitten jonkin aggregaattifunktion näiden upotusten yli, kuten `sum`, `average` tai `max`.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva tekijältä
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ Tämän saavuttamiseksi meidän täytyy esikouluttaa upotusmallimme suurella tek
|
|||
|
||||
CBoW on nopeampi, kun taas skip-gram on hitaampi, mutta se edustaa harvinaisia sanoja paremmin.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [tästä artikkelista](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ Aiemmissa esimerkeissämme käytimme valmiiksi koulutettuja semanttisia upotuksi
|
|||
* **Continuous Bag-of-Words** (CBoW), jossa ennustamme keskimmäisen sanan $W_0$ sanajonossa $W_{-N}$, ..., $W_N$.
|
||||
* **Skip-gram**, jossa ennustamme joukon naapurisanoja {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} keskimmäisestä sanasta $W_0$.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [tästä paperista](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Aiemmissa osioissa olemme käyttäneet tekstin semanttisia esityksiä ja yksinke
|
|||
|
||||
Tekstijonon merkityksen vangitsemiseksi meidän on käytettävä toisenlaista neuronaaliverkkoarkkitehtuuria, jota kutsutaan **toistuvaksi neuronaaliverkoksi** eli RNN:ksi. RNN:ssä syötämme lauseen verkon läpi yksi symboli kerrallaan, ja verkko tuottaa jonkin **tilan**, jonka syötämme verkkoon uudelleen seuraavan symbolin kanssa.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva: kirjoittaja
|
||||
|
||||
|
|
@ -61,7 +61,7 @@ Olemme käsitelleet toistuvia verkkoja, jotka toimivat yhteen suuntaan, jaksosta
|
|||
|
||||
Toistuva verkko, joko yksisuuntainen tai kaksisuuntainen, tunnistaa tiettyjä kuvioita jaksossa ja voi tallentaa ne tilavektoriin tai välittää ulostuloon. Kuten konvoluutiokerroksissa, voimme rakentaa toisen toistuvan kerroksen ensimmäisen päälle tunnistaaksemme korkeamman tason kuvioita ja rakentaaksemme matalan tason kuvioista, jotka ensimmäinen kerros on tunnistanut. Tämä johtaa käsitteeseen **monikerroksinen RNN**, joka koostuu kahdesta tai useammasta toistuvasta verkosta, joissa edellisen kerroksen ulostulo syötetään seuraavaan kerrokseen.
|
||||
|
||||

|
||||

|
||||
|
||||
*Kuva [tästä upeasta artikkelista](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) kirjoittanut Fernando López*
|
||||
|
||||
|
|
|
|||
|
|
@ -422,7 +422,7 @@
|
|||
"\n",
|
||||
"Toistuva verkko, olipa se yksisuuntainen tai kaksisuuntainen, tunnistaa tiettyjä kuvioita sekvenssissä ja voi tallentaa ne tilavektoriin tai välittää ne ulostuloon. Kuten konvoluutioneuroverkoissa, voimme rakentaa toisen toistuvan kerroksen ensimmäisen päälle tunnistamaan korkeamman tason kuvioita, jotka on muodostettu ensimmäisen kerroksen tunnistamista matalan tason kuvioista. Tämä johtaa käsitteeseen **monikerroksinen RNN**, joka koostuu kahdesta tai useammasta toistuvasta verkosta, joissa edellisen kerroksen ulostulo välitetään seuraavan kerroksen syötteeksi.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Kuva [tästä upeasta artikkelista](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) kirjoittanut Fernando López*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
"\n",
|
||||
"Tekstijonon merkityksen tallentamiseksi käytämme neuroverkkoarkkitehtuuria nimeltä **toistuva neuroverkko** (recurrent neural network, RNN). RNN:ää käytettäessä syötämme lauseen verkon läpi yksi token kerrallaan, ja verkko tuottaa jonkin **tilan**, jonka syötämme verkkoon uudelleen seuraavan tokenin kanssa.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Kun syötteenä on tokenien jono $X_0,\\dots,X_n$, RNN luo neuroverkkolohkojen sarjan ja kouluttaa tämän sarjan päästä päähän takaisinlevityksen avulla. Jokainen verkkolohko ottaa syötteenä parin $(X_i,S_i)$ ja tuottaa tuloksena $S_{i+1}$. Lopullinen tila $S_n$ tai tulos $Y_n$ syötetään lineaariseen luokittelijaan tuloksen tuottamiseksi. Kaikilla verkkolohkoilla on samat painot, ja ne koulutetaan päästä päähän yhden takaisinlevityskierroksen avulla.\n",
|
||||
"\n",
|
||||
|
|
@ -369,7 +369,7 @@
|
|||
"\n",
|
||||
"Toistuvat verkot, olivatpa ne yksisuuntaisia tai kaksisuuntaisia, tunnistavat sekvenssin sisäisiä kuvioita ja tallentavat ne tilavektoreihin tai palauttavat ne ulostulona. Kuten konvoluutiokerroksissa, voimme rakentaa toisen toistuvan kerroksen ensimmäisen jälkeen tunnistamaan korkeammantason kuvioita, jotka on muodostettu ensimmäisen kerroksen tunnistamista alemman tason kuvioista. Tämä johtaa käsitteeseen **monikerroksinen RNN**, joka koostuu kahdesta tai useammasta toistuvasta verkosta, joissa edellisen kerroksen ulostulo välitetään seuraavalle kerrokselle syötteenä.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Kuva [tästä upeasta artikkelista](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) kirjoittanut Fernando López.*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@
|
|||
"\n",
|
||||
"Tapa, jolla koulutamme RNN:n tuottamaan tekstiä, on seuraava. Jokaisella askeleella otamme `nchars` merkin pituisen merkkijonon ja pyydämme verkkoa tuottamaan seuraavan ulostulomerkin jokaiselle syötemerkille:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Riippuen todellisesta tilanteesta, saatamme haluta sisällyttää myös joitakin erikoismerkkejä, kuten *sekvenssin loppu* `<eos>`. Meidän tapauksessamme haluamme vain kouluttaa verkon loputtomaan tekstin tuottamiseen, joten kiinnitämme jokaisen sekvenssin koon `nchars`-merkkien pituiseksi. Näin ollen jokainen koulutusesimerkki koostuu `nchars` syötteistä ja `nchars` ulostuloista (jotka ovat syötesekvenssi siirrettynä yhden symbolin verran vasemmalle). Minibatch koostuu useista tällaisista sekvensseistä.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@
|
|||
"\n",
|
||||
"Tapa, jolla koulutamme RNN:n luomaan uutisotsikoita, on seuraava. Jokaisella askeleella otamme yhden otsikon, joka syötetään RNN:ään, ja jokaiselle syötehahmolle pyydämme verkkoa tuottamaan seuraavan ulostulohahmon:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Sekvenssimme viimeisen hahmon kohdalla pyydämme verkkoa tuottamaan `<eos>`-tokenin.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ RNN-arkkitehtuurissa, jota käsittelimme edellisessä osiossa, jokainen RNN-yksi
|
|||
|
||||
Tämä mahdollistaa erilaiset neuroarkkitehtuurit, jotka näkyvät alla olevassa kuvassa:
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva blogikirjoituksesta [Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) kirjoittanut [Andrej Karpaty](http://karpathy.github.io/)
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ Tässä osiossa keskitymme yksinkertaisiin generatiivisiin malleihin, jotka autt
|
|||
|
||||
Koulutamme tämän RNN:n tuottamaan tekstiä askel askeleelta. Jokaisessa vaiheessa otamme `nchars`-pituisen merkkisekvenssin ja pyydämme verkkoa tuottamaan seuraavan ulostulomerkin jokaiselle syötemerkille:
|
||||
|
||||

|
||||

|
||||
|
||||
Kun tuotamme tekstiä (inferenssin aikana), aloitamme jollain **aloitustekstillä**, joka syötetään RNN-soluihin tuottamaan sen välimuistin, ja sitten tästä tilasta alkaa generointi. Tuotamme yhden merkin kerrallaan ja syötämme tilan ja tuotetun merkin seuraavaan RNN-soluun tuottamaan seuraavan, kunnes olemme tuottaneet tarpeeksi merkkejä.
|
||||
|
||||
|
|
|
|||
|
|
@ -20,13 +20,13 @@ RNN:ien avulla sekvenssi-sekvenssi toteutetaan kahdella toistuvalla verkolla, jo
|
|||
|
||||
**Huomiomekanismit** tarjoavat tavan painottaa kunkin syötevektorin kontekstuaalista vaikutusta RNN:n kunkin ennusteen kohdalla. Tämä toteutetaan luomalla oikoteitä syötteen RNN:n välitilojen ja tuloksen RNN:n välille. Näin ollen, kun tuotetaan ulostulosymbolia y<sub>t</sub>, otamme huomioon kaikki syötteen piilotilat h<sub>i</sub>, eri painokertoimilla α<sub>t,i</sub>.
|
||||
|
||||

|
||||

|
||||
|
||||
> Enkooderi-dekooderi-malli additiivisella huomiomekanismilla [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), lainattu [tästä blogikirjoituksesta](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)
|
||||
|
||||
Huomiomatriisi {α<sub>i,j</sub>} edustaa sitä, kuinka paljon tietyt syötteen sanat vaikuttavat tietyn sanan tuottamiseen ulostulosekvenssissä. Alla on esimerkki tällaisesta matriisista:
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Fig.3)
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ Tuloksena saadaan positionaalinen upotus, joka upottaa sekä alkuperäisen token
|
|||
|
||||
Seuraavaksi täytyy tunnistaa kuvioita sekvenssissä. Tätä varten transformerit käyttävät **itsehuomiomekanismia**, joka on käytännössä huomio, joka kohdistetaan samaan sekvenssiin syötteenä ja tuloksena. Itsehuomion soveltaminen mahdollistaa **kontekstin** huomioimisen lauseessa ja sen, mitkä sanat liittyvät toisiinsa. Esimerkiksi se auttaa tunnistamaan, mihin sanat kuten *se* viittaavat, ja ottaa kontekstin huomioon:
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [Googlen blogista](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html)
|
||||
|
||||
|
|
@ -91,7 +91,7 @@ Koska jokainen syötteen sijainti kartoitetaan itsenäisesti jokaiseen tuloksen
|
|||
|
||||
**BERT** (Bidirectional Encoder Representations from Transformers) on erittäin suuri monikerroksinen transformer-verkko, jossa on 12 kerrosta *BERT-base*-mallissa ja 24 kerrosta *BERT-large*-mallissa. Malli esikoulutetaan ensin suurella tekstikorpuksella (Wikipedia + kirjat) käyttämällä valvomatonta koulutusta (ennustamalla peitettyjä sanoja lauseessa). Esikoulutuksen aikana malli omaksuu merkittävän määrän kielen ymmärrystä, jota voidaan hyödyntää muilla aineistoilla hienosäädön avulla. Tätä prosessia kutsutaan **siirto-oppimiseksi**.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuva [lähde](http://jalammar.github.io/illustrated-bert/)
|
||||
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
"\n",
|
||||
"**Huomiomekanismit** tarjoavat tavan painottaa kunkin syötevektorin kontekstuaalista vaikutusta RNN:n jokaisessa tulosennusteessa. Tämä toteutetaan luomalla oikopolkuja syötteen RNN:n välitilojen ja tulos-RNN:n välille. Näin ollen, kun tuotetaan tulossymbolia $y_t$, otamme huomioon kaikki syötteen piilotilat $h_i$, eri painokertoimilla $\\alpha_{t,i}$. \n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Enkooderi-dekooderi-malli additiivisella huomiomekanismilla [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), lainattu [tästä blogikirjoituksesta](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
|
||||
"\n",
|
||||
"Huomiomatriisi $\\{\\alpha_{i,j}\\}$ edustaa sitä, kuinka paljon tietyt syötteen sanat vaikuttavat tietyn sanan muodostumiseen tulossekvenssissä. Alla on esimerkki tällaisesta matriisista:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Kuva otettu [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Kuva 3)*\n",
|
||||
"\n",
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
"\n",
|
||||
"**BERT** (Bidirectional Encoder Representations from Transformers) on erittäin suuri monikerroksinen transformer-verkko, jossa on 12 kerrosta *BERT-base*-mallissa ja 24 kerrosta *BERT-large*-mallissa. Malli esikoulutetaan ensin suurella tekstikorpuksella (Wikipedia + kirjat) käyttämällä valvomattua koulutusta (ennustamalla peitettyjä sanoja lauseessa). Esikoulutuksen aikana malli omaksuu merkittävän määrän kielen ymmärrystä, jota voidaan hyödyntää muilla aineistoilla hienosäädön avulla. Tätä prosessia kutsutaan **siirto-oppimiseksi**. \n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Transformer-arkkitehtuureista on monia variaatioita, kuten BERT, DistilBERT, BigBird, OpenGPT3 ja muita, joita voidaan hienosäätää. [HuggingFace-paketti](https://github.com/huggingface/) tarjoaa kirjaston monien näiden arkkitehtuurien kouluttamiseen PyTorchilla. \n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
"\n",
|
||||
"**Huomiomekanismit** tarjoavat keinon painottaa kunkin syötevektorin kontekstuaalista vaikutusta RNN:n jokaisessa tulosennusteessa. Tämä toteutetaan luomalla oikopolkuja syötteen RNN:n välitilojen ja tulos-RNN:n välille. Näin ollen, kun tuotetaan tulossymbolia $y_t$, otamme huomioon kaikki syötteen piilotilat $h_i$, eri painokertoimilla $\\alpha_{t,i}$. \n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Enkooderi-dekooderi-malli additiivisella huomiomekanismilla [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), lainattu [tästä blogikirjoituksesta](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
|
||||
"\n",
|
||||
"Huomiomatriisi $\\{\\alpha_{i,j}\\}$ edustaa sitä, kuinka paljon tietyt syötteen sanat vaikuttavat tietyn sanan muodostumiseen tulosjaksossa. Alla on esimerkki tällaisesta matriisista:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Kuva otettu [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Kuva 3)*\n",
|
||||
"\n",
|
||||
|
|
@ -225,7 +225,7 @@
|
|||
"\n",
|
||||
"**BERT** (Bidirectional Encoder Representations from Transformers) on erittäin suuri monikerroksinen transformer-verkko, jossa on 12 kerrosta *BERT-base*-mallissa ja 24 kerrosta *BERT-large*-mallissa. Malli esikoulutetaan ensin suurella tekstiaineistolla (WikiPedia + kirjat) käyttämällä valvomatonta oppimista (ennustamalla peitettyjä sanoja lauseessa). Esikoulutuksen aikana malli omaksuu merkittävän määrän kielellistä ymmärrystä, jota voidaan hyödyntää muiden aineistojen kanssa hienosäädön avulla. Tätä prosessia kutsutaan **siirto-oppimiseksi**.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Transformer-arkkitehtuureista on monia variaatioita, kuten BERT, DistilBERT, BigBird, OpenGPT3 ja muita, joita voidaan hienosäätää.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ lapsella | O
|
|||
|
||||
Koska meidän täytyy rakentaa yksi-yhteen vastaavuus tokenien ja luokkien välillä, voimme kouluttaa oikeanpuoleisen **moni-moniin** neuroverkkopohjaisen mallin tästä kuvasta:
|
||||
|
||||

|
||||

|
||||
|
||||
> *Kuva [tästä blogikirjoituksesta](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) kirjoittajalta [Andrej Karpathy](http://karpathy.github.io/). NER token-luokittelumallit vastaavat oikeanpuoleista verkkoarkkitehtuuria tässä kuvassa.*
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Luonnollisen kielen käsittely
|
||||
|
||||

|
||||

|
||||
|
||||
Tässä osiossa keskitymme käyttämään neuroverkkoja **luonnollisen kielen käsittelyyn (NLP)** liittyvien tehtävien ratkaisemiseen. On monia NLP-ongelmia, joita haluamme tietokoneiden pystyvän ratkaisemaan:
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ Voit avata yhden malleista, esimerkiksi **Biology → Flocking**.
|
|||
|
||||
Kun avaat mallin, sinut ohjataan NetLogon pääruutuun. Tässä on esimerkkimalli, joka kuvaa susien ja lampaiden populaatiota rajallisten resurssien (ruohon) avulla.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kuvakaappaus Dmitry Soshnikovilta
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Yleiskatsaus
|
||||
|
||||

|
||||

|
||||
|
||||
> Piirrosmuistiinpano: [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Transformer-mallien menestyksen jälkeen NLP-tehtävissä samoja tai samankaltai
|
|||
|
||||
CLIP:n pääidea on kyky verrata tekstikehotteita kuvaan ja määrittää, kuinka hyvin kuva vastaa kehotetta.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Kuva [tästä blogikirjoituksesta](https://openai.com/blog/clip/)*
|
||||
|
||||
|
|
@ -31,7 +31,7 @@ Kun tämä malli on esikoulutettu, sille voidaan antaa erä kuvia ja tekstikehot
|
|||
|
||||
Oletetaan, että meidän täytyy luokitella kuvia esimerkiksi kissoihin, koiriin ja ihmisiin. Tässä tapauksessa voimme antaa mallille kuvan ja sarjan tekstikehotteita: "*kuva kissasta*", "*kuva koirasta*", "*kuva ihmisestä*". Tuloksena olevasta kolmen todennäköisyyden vektorista valitsemme vain indeksin, jolla on korkein arvo.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Kuva [tästä blogikirjoituksesta](https://openai.com/blog/clip/)*
|
||||
|
||||
|
|
@ -55,13 +55,13 @@ Lisätietoja VQGAN:sta löytyy [Taming Transformers](https://compvis.github.io/t
|
|||
|
||||
Yksi tärkeä ero VQGAN:n ja perinteisen GAN:n välillä on, että jälkimmäinen voi tuottaa kelvollisen kuvan mistä tahansa syötevektorista, kun taas VQGAN todennäköisesti tuottaa kuvan, joka ei ole koherentti. Siksi kuvan luomisprosessia täytyy ohjata edelleen, ja tämä voidaan tehdä CLIP:llä.
|
||||
|
||||

|
||||

|
||||
|
||||
Tuottaaksemme kuvan, joka vastaa tekstikehotetta, aloitamme satunnaisella koodausvektorilla, joka syötetään VQGAN:lle kuvan tuottamiseksi. Sitten CLIP:ä käytetään tuottamaan tappiofunktio, joka osoittaa, kuinka hyvin kuva vastaa tekstikehotetta. Tavoitteena on minimoida tämä tappio käyttämällä takaisinkytkentää syötevektorin parametrien säätämiseen.
|
||||
|
||||
Loistava kirjasto, joka toteuttaa VQGAN+CLIP:n, on [Pixray](http://github.com/pixray/pixray).
|
||||
|
||||
 |  | 
|
||||
 |  | 
|
||||
----|----|----
|
||||
Kuva, joka on tuotettu kehotteesta *a closeup watercolor portrait of young male teacher of literature with a book* | Kuva, joka on tuotettu kehotteesta *a closeup oil portrait of young female teacher of computer science with a computer* | Kuva, joka on tuotettu kehotteesta *a closeup oil portrait of old male teacher of mathematics in front of blackboard*
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
CO_OP_TRANSLATOR_METADATA:
|
||||
{
|
||||
"original_hash": "4ed9993bca581850c983c95d5a3f57eb",
|
||||
"translation_date": "2025-12-24T22:36:09+00:00",
|
||||
"original_hash": "14816e97d79b296c87811724f7785923",
|
||||
"translation_date": "2026-01-01T09:49:07+00:00",
|
||||
"source_file": "README.md",
|
||||
"language_code": "fr"
|
||||
}
|
||||
|
|
@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
[](https://GitHub.com/microsoft/AI-For-Beginners/pulls/)
|
||||
[](http://makeapullrequest.com)
|
||||
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/network/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/stargazers/)
|
||||
[](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)
|
||||
|
|
@ -21,54 +21,55 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
# Intelligence Artificielle pour Débutants - Un programme
|
||||
# Intelligence artificielle pour débutants - Un cursus
|
||||
|
||||
||
|
||||
||
|
||||
|:---:|
|
||||
| IA For Beginners - _Croquis par [@girlie_mac](https://twitter.com/girlie_mac)_ |
|
||||
| IA pour débutants - _Sketchnote par [@girlie_mac](https://twitter.com/girlie_mac)_ |
|
||||
|
||||
Explorez le monde de l'**Intelligence Artificielle** (IA) avec notre cursus de 12 semaines et 24 leçons ! Il comprend des leçons pratiques, des quiz et des laboratoires. Le cursus est adapté aux débutants et couvre des outils comme TensorFlow et PyTorch, ainsi que l'éthique en IA
|
||||
|
||||
Explorez le monde de l'**Intelligence Artificielle** (IA) avec notre programme de 12 semaines et 24 leçons ! Il inclut des leçons pratiques, des quiz et des laboratoires. Le programme est adapté aux débutants et couvre des outils comme TensorFlow et PyTorch, ainsi que l'éthique en IA
|
||||
|
||||
### 🌐 Support multilingue
|
||||
|
||||
#### Pris en charge via GitHub Action (Automatisé et toujours à jour)
|
||||
|
||||
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
|
||||
[Arabe](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgare](../bg/README.md) | [Birman (Myanmar)](../my/README.md) | [Chinois (simplifié)](../zh/README.md) | [Chinois (traditionnel, Hong Kong)](../hk/README.md) | [Chinois (traditionnel, Macao)](../mo/README.md) | [Chinois (traditionnel, Taïwan)](../tw/README.md) | [Croate](../hr/README.md) | [Tchèque](../cs/README.md) | [Danois](../da/README.md) | [Néerlandais](../nl/README.md) | [Estonien](../et/README.md) | [Finnois](../fi/README.md) | [Français](./README.md) | [Allemand](../de/README.md) | [Grec](../el/README.md) | [Hébreu](../he/README.md) | [Hindi](../hi/README.md) | [Hongrois](../hu/README.md) | [Indonésien](../id/README.md) | [Italien](../it/README.md) | [Japonais](../ja/README.md) | [Kannada](../kn/README.md) | [Coréen](../ko/README.md) | [Lituanien](../lt/README.md) | [Malais](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Népalais](../ne/README.md) | [Pidgin nigérian](../pcm/README.md) | [Norvégien](../no/README.md) | [Persan (farsi)](../fa/README.md) | [Polonais](../pl/README.md) | [Portugais (Brésil)](../br/README.md) | [Portugais (Portugal)](../pt/README.md) | [Pendjabi (Gurmukhi)](../pa/README.md) | [Roumain](../ro/README.md) | [Russe](../ru/README.md) | [Serbe (cyrillique)](../sr/README.md) | [Slovaque](../sk/README.md) | [Slovène](../sl/README.md) | [Espagnol](../es/README.md) | [Swahili](../sw/README.md) | [Suédois](../sv/README.md) | [Tagalog (philippin)](../tl/README.md) | [Tamoul](../ta/README.md) | [Télougou](../te/README.md) | [Thaï](../th/README.md) | [Turc](../tr/README.md) | [Ukrainien](../uk/README.md) | [Ourdou](../ur/README.md) | [Vietnamien](../vi/README.md)
|
||||
[Arabe](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgare](../bg/README.md) | [Birman (Myanmar)](../my/README.md) | [Chinois (Simplifié)](../zh/README.md) | [Chinois (Traditionnel, Hong Kong)](../hk/README.md) | [Chinois (Traditionnel, Macao)](../mo/README.md) | [Chinois (Traditionnel, Taïwan)](../tw/README.md) | [Croate](../hr/README.md) | [Tchèque](../cs/README.md) | [Danois](../da/README.md) | [Néerlandais](../nl/README.md) | [Estonien](../et/README.md) | [Finnois](../fi/README.md) | [Français](./README.md) | [Allemand](../de/README.md) | [Grec](../el/README.md) | [Hébreu](../he/README.md) | [Hindi](../hi/README.md) | [Hongrois](../hu/README.md) | [Indonésien](../id/README.md) | [Italien](../it/README.md) | [Japonais](../ja/README.md) | [Kannada](../kn/README.md) | [Coréen](../ko/README.md) | [Lituanien](../lt/README.md) | [Malais](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Népalais](../ne/README.md) | [Pidgin nigérian](../pcm/README.md) | [Norvégien](../no/README.md) | [Persan (Farsi)](../fa/README.md) | [Polonais](../pl/README.md) | [Portugais (Brésil)](../br/README.md) | [Portugais (Portugal)](../pt/README.md) | [Pendjabi (Gurmukhi)](../pa/README.md) | [Roumain](../ro/README.md) | [Russe](../ru/README.md) | [Serbe (cyrillique)](../sr/README.md) | [Slovaque](../sk/README.md) | [Slovène](../sl/README.md) | [Espagnol](../es/README.md) | [Swahili](../sw/README.md) | [Suédois](../sv/README.md) | [Tagalog (philippin)](../tl/README.md) | [Tamoul](../ta/README.md) | [Télougou](../te/README.md) | [Thaï](../th/README.md) | [Turc](../tr/README.md) | [Ukrainien](../uk/README.md) | [Ourdou](../ur/README.md) | [Vietnamien](../vi/README.md)
|
||||
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
|
||||
|
||||
**Si vous souhaitez ajouter d'autres traductions, les langues prises en charge sont listées [ici](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
|
||||
**Si vous souhaitez ajouter des traductions supplémentaires, les langues prises en charge sont listées [ici](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
|
||||
|
||||
## Rejoignez la communauté
|
||||
## Rejoindre la communauté
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
## Ce que vous apprendrez
|
||||
|
||||
**[Carte mentale du cours](http://soshnikov.com/courses/ai-for-beginners/mindmap.html)**
|
||||
|
||||
Dans ce programme, vous apprendrez :
|
||||
Dans ce cursus, vous apprendrez :
|
||||
|
||||
* Différentes approches de l'intelligence artificielle, y compris l'approche symbolique "de la vieille école" avec la **Représentation des connaissances** et le raisonnement ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
|
||||
* Différentes approches de l'intelligence artificielle, y compris l'ancienne approche symbolique avec **Représentation des connaissances** et raisonnement ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
|
||||
* **Réseaux de neurones** et **Apprentissage profond**, qui sont au cœur de l'IA moderne. Nous illustrerons les concepts derrière ces sujets importants en utilisant du code dans deux des frameworks les plus populaires - [TensorFlow](http://Tensorflow.org) et [PyTorch](http://pytorch.org).
|
||||
* **Architectures neuronales** pour travailler avec des images et du texte. Nous couvrirons des modèles récents mais nous pourrions être un peu en retard sur l'état de l'art.
|
||||
* Approches d'IA moins populaires, telles que les **algorithmes génétiques** et les **systèmes multi-agents**.
|
||||
* **Architectures neuronales** pour travailler avec des images et du texte. Nous couvrirons des modèles récents mais nous pourrions être un peu à la traîne par rapport à l'état de l'art.
|
||||
* Des approches d'IA moins populaires, telles que les **algorithmes génétiques** et les **systèmes multi-agents**.
|
||||
|
||||
Ce que nous ne couvrirons pas dans ce programme :
|
||||
Ce que nous ne couvrirons pas dans ce cursus :
|
||||
|
||||
> [Trouvez toutes les ressources supplémentaires pour ce cours dans notre collection Microsoft Learn](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
|
||||
|
||||
* Cas d'utilisation métier de l'**IA en entreprise**. Envisagez de suivre le parcours d'apprentissage [Introduction à l'IA pour les utilisateurs métier](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) sur Microsoft Learn, ou [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum), développé en coopération avec [INSEAD](https://www.insead.edu/).
|
||||
* **Apprentissage automatique classique**, qui est bien décrit dans notre [Machine Learning for Beginners Curriculum](http://github.com/Microsoft/ML-for-Beginners).
|
||||
* Applications pratiques d'IA construites à l'aide de **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. Pour cela, nous vous recommandons de commencer par les modules Microsoft Learn pour la [vision](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum), le [traitement du langage naturel](https://docs.microsoft.com/learn/paths/explore-natural-language-processing/?WT.mc_id=academic-77998-bethanycheum), **[IA générative avec Azure OpenAI Service](https://learn.microsoft.com/en-us/training/paths/develop-ai-solutions-azure-openai/?WT.mc_id=academic-77998-bethanycheum)** et d'autres.
|
||||
* **Frameworks cloud ML spécifiques**, tels que [Azure Machine Learning](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-bethanycheum), [Microsoft Fabric](https://learn.microsoft.com/en-us/training/paths/get-started-fabric/?WT.mc_id=academic-77998-bethanycheum), ou [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Envisagez d'utiliser les parcours d'apprentissage [Build and operate machine learning solutions with Azure Machine Learning](https://docs.microsoft.com/learn/paths/build-ai-solutions-with-azure-ml-service/?WT.mc_id=academic-77998-bethanycheum) et [Build and Operate Machine Learning Solutions with Azure Databricks](https://docs.microsoft.com/learn/paths/build-operate-machine-learning-solutions-azure-databricks/?WT.mc_id=academic-77998-bethanycheum).
|
||||
* **IA conversationnelle** et **chatbots**. Il existe un parcours d'apprentissage distinct [Créer des solutions d'IA conversationnelle](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum), et vous pouvez également vous référer à [cet article de blog](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) pour plus de détails.
|
||||
* **Mathématiques approfondies** derrière l'apprentissage profond. Pour cela, nous recommandons [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) par Ian Goodfellow, Yoshua Bengio et Aaron Courville, qui est également disponible en ligne à [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
|
||||
* Cas d'utilisation de l'**IA en entreprise**. Envisagez de suivre le parcours d'apprentissage [Introduction à l'IA pour les utilisateurs professionnels](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) sur Microsoft Learn, ou [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum), développé en coopération avec [INSEAD](https://www.insead.edu/).
|
||||
* **Apprentissage automatique classique**, qui est bien décrit dans notre [curriculum Machine Learning pour débutants](http://github.com/Microsoft/ML-for-Beginners).
|
||||
* Applications IA pratiques construites avec **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. Pour cela, nous recommandons de commencer par les modules Microsoft Learn pour la [vision](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum), le [traitement du langage naturel](https://docs.microsoft.com/learn/paths/explore-natural-language-processing/?WT.mc_id=academic-77998-bethanycheum), **[IA générative avec Azure OpenAI Service](https://learn.microsoft.com/en-us/training/paths/develop-ai-solutions-azure-openai/?WT.mc_id=academic-77998-bethanycheum)** et d'autres.
|
||||
* Des frameworks cloud ML spécifiques, tels que [Azure Machine Learning](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-bethanycheum), [Microsoft Fabric](https://learn.microsoft.com/en-us/training/paths/get-started-fabric/?WT.mc_id=academic-77998-bethanycheum), ou [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Envisagez d'utiliser les parcours d'apprentissage [Build and operate machine learning solutions with Azure Machine Learning](https://docs.microsoft.com/learn/paths/build-ai-solutions-with-azure-ml-service/?WT.mc_id=academic-77998-bethanycheum) et [Build and Operate Machine Learning Solutions with Azure Databricks](https://docs.microsoft.com/learn/paths/build-operate-machine-learning-solutions-azure-databricks/?WT.mc_id=academic-77998-bethanycheum).
|
||||
* **IA conversationnelle** et **chatbots**. Il existe un parcours d'apprentissage distinct [Créer des solutions d'IA conversationnelle](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum), et vous pouvez également consulter [cet article de blog](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) pour plus de détails.
|
||||
* Les **mathématiques approfondies** derrière l'apprentissage profond. Pour cela, nous recommandons [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) par Ian Goodfellow, Yoshua Bengio et Aaron Courville, qui est également disponible en ligne à [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
|
||||
|
||||
Pour une introduction en douceur aux sujets _IA dans le cloud_, vous pouvez envisager de suivre le parcours d'apprentissage [Commencer avec l'intelligence artificielle sur Azure](https://docs.microsoft.com/learn/paths/get-started-with-artificial-intelligence-on-azure/?WT.mc_id=academic-77998-bethanycheum).
|
||||
|
||||
# Contenu
|
||||
|
||||
| | Lien de la leçon | PyTorch/Keras/TensorFlow | Laboratoire |
|
||||
| | Lien de la leçon | PyTorch/Keras/TensorFlow | Lab |
|
||||
| :-: | :------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: | ------------------------------------------------------------------------------ |
|
||||
| 0 | [Configuration du cours](./lessons/0-course-setup/setup.md) | [Configurer votre environnement de développement](./lessons/0-course-setup/how-to-run.md) | |
|
||||
| I | [**Introduction à l'IA**](./lessons/1-Intro/README.md) | | |
|
||||
|
|
@ -78,79 +79,79 @@ Pour une introduction en douceur aux sujets _IA dans le cloud_, vous pouvez envi
|
|||
| III | [**Introduction aux réseaux de neurones**](./lessons/3-NeuralNetworks/README.md) |||
|
||||
| 03 | [Perceptron](./lessons/3-NeuralNetworks/03-Perceptron/README.md) | [Notebook](./lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb) | [Lab](./lessons/3-NeuralNetworks/03-Perceptron/lab/README.md) |
|
||||
| 04 | [Perceptron multicouche et création de notre propre framework](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [Notebook](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [Lab](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
|
||||
| 05 | [Introduction aux frameworks (PyTorch/TensorFlow) et surapprentissage](./lessons/3-NeuralNetworks/05-Frameworks/README.md) | [PyTorch](./lessons/3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb) / [Keras](./lessons/3-NeuralNetworks/05-Frameworks/IntroKeras.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Lab](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) |
|
||||
| 05 | [Introduction aux frameworks (PyTorch/TensorFlow) et au surapprentissage](./lessons/3-NeuralNetworks/05-Frameworks/README.md) | [PyTorch](./lessons/3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb) / [Keras](./lessons/3-NeuralNetworks/05-Frameworks/IntroKeras.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Lab](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) |
|
||||
| IV | [**Vision par ordinateur**](./lessons/4-ComputerVision/README.md) | [PyTorch](https://docs.microsoft.com/learn/modules/intro-computer-vision-pytorch/?WT.mc_id=academic-77998-cacaste) / [TensorFlow](https://docs.microsoft.com/learn/modules/intro-computer-vision-TensorFlow/?WT.mc_id=academic-77998-cacaste)| [Explorer la vision par ordinateur sur Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
|
||||
| 06 | [Introduction à la vision par ordinateur. OpenCV](./lessons/4-ComputerVision/06-IntroCV/README.md) | [Notebook](./lessons/4-ComputerVision/06-IntroCV/OpenCV.ipynb) | [Lab](./lessons/4-ComputerVision/06-IntroCV/lab/README.md) |
|
||||
| 07 | [Réseaux de neurones convolutionnels](./lessons/4-ComputerVision/07-ConvNets/README.md) & [Architectures CNN](./lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md) | [PyTorch](./lessons/4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb) /[TensorFlow](./lessons/4-ComputerVision/07-ConvNets/ConvNetsTF.ipynb) | [Lab](./lessons/4-ComputerVision/07-ConvNets/lab/README.md) |
|
||||
| 08 | [Réseaux pré-entraînés et apprentissage par transfert](./lessons/4-ComputerVision/08-TransferLearning/README.md) et [Astuces d'entraînement](./lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md) | [PyTorch](./lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Lab](./lessons/4-ComputerVision/08-TransferLearning/lab/README.md) |
|
||||
| 09 | [Autoencodeurs et VAEs](./lessons/4-ComputerVision/09-Autoencoders/README.md) | [PyTorch](./lessons/4-ComputerVision/09-Autoencoders/AutoEncodersPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb) | |
|
||||
| 10 | [Réseaux antagonistes génératifs & transfert de style artistique](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
|
||||
| 07 | [Réseaux de neurones convolutionnels](./lessons/4-ComputerVision/07-ConvNets/README.md) & [Architectures de CNN](./lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md) | [PyTorch](./lessons/4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb) /[TensorFlow](./lessons/4-ComputerVision/07-ConvNets/ConvNetsTF.ipynb) | [Lab](./lessons/4-ComputerVision/07-ConvNets/lab/README.md) |
|
||||
| 08 | [Réseaux pré-entraînés et apprentissage par transfert](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [Astuces d'entraînement](./lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md) | [PyTorch](./lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Lab](./lessons/4-ComputerVision/08-TransferLearning/lab/README.md) |
|
||||
| 09 | [Autoencodeurs et VAE](./lessons/4-ComputerVision/09-Autoencoders/README.md) | [PyTorch](./lessons/4-ComputerVision/09-Autoencoders/AutoEncodersPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb) | |
|
||||
| 10 | [Réseaux antagonistes génératifs et transfert de style artistique](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
|
||||
| 11 | [Détection d'objets](./lessons/4-ComputerVision/11-ObjectDetection/README.md) | [TensorFlow](./lessons/4-ComputerVision/11-ObjectDetection/ObjectDetection.ipynb) | [Lab](./lessons/4-ComputerVision/11-ObjectDetection/lab/README.md) |
|
||||
| 12 | [Segmentation sémantique. U-Net](./lessons/4-ComputerVision/12-Segmentation/README.md) | [PyTorch](./lessons/4-ComputerVision/12-Segmentation/SemanticSegmentationPytorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/12-Segmentation/SemanticSegmentationTF.ipynb) | |
|
||||
| V | [**Traitement du langage naturel**](./lessons/5-NLP/README.md) | [PyTorch](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-pytorch/?WT.mc_id=academic-77998-cacaste) /[TensorFlow](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-TensorFlow/?WT.mc_id=academic-77998-cacaste) | [Explorer le traitement du langage naturel sur Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)|
|
||||
| 13 | [Représentation du texte. BoW/TF-IDF](./lessons/5-NLP/13-TextRep/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb) | |
|
||||
| 14 | [Embeddings sémantiques de mots. Word2Vec et GloVe](./lessons/5-NLP/14-Embeddings/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsTF.ipynb) | |
|
||||
| 15 | [Modélisation du langage. Entraînement de vos propres embeddings](./lessons/5-NLP/15-LanguageModeling/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-PyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-TF.ipynb) | [Lab](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
|
||||
| 14 | [Vecteurs sémantiques de mots. Word2Vec et GloVe](./lessons/5-NLP/14-Embeddings/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsTF.ipynb) | |
|
||||
| 15 | [Modélisation du langage. Entraîner vos propres embeddings](./lessons/5-NLP/15-LanguageModeling/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-PyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-TF.ipynb) | [Lab](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
|
||||
| 16 | [Réseaux de neurones récurrents](./lessons/5-NLP/16-RNN/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/16-RNN/RNNPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/16-RNN/RNNTF.ipynb) | |
|
||||
| 17 | [Réseaux récurrents génératifs](./lessons/5-NLP/17-GenerativeNetworks/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativePyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativeTF.ipynb) | [Lab](./lessons/5-NLP/17-GenerativeNetworks/lab/README.md) |
|
||||
| 18 | [Transformers. BERT.](./lessons/5-NLP/18-Transformers/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/18-Transformers/TransformersPyTorch.ipynb) /[TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/18-Transformers/TransformersTF.ipynb) | |
|
||||
| 19 | [Reconnaissance d'entités nommées](./lessons/5-NLP/19-NER/README.md) | [TensorFlow](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/19-NER/NER-TF.ipynb) | [Lab](./lessons/5-NLP/19-NER/lab/README.md) |
|
||||
| 20 | [Grands modèles de langage, programmation de prompts et tâches few-shot](./lessons/5-NLP/20-LangModels/README.md) | [PyTorch](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb) | |
|
||||
| VI | **Autres techniques d'IA** || |
|
||||
| 20 | [Grands modèles de langage, programmation par prompt et tâches en few-shot](./lessons/5-NLP/20-LangModels/README.md) | [PyTorch](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb) | |
|
||||
| VI | [**Autres techniques d'IA**] || |
|
||||
| 21 | [Algorithmes génétiques](./lessons/6-Other/21-GeneticAlgorithms/README.md) | [Notebook](./lessons/6-Other/21-GeneticAlgorithms/Genetic.ipynb) | |
|
||||
| 22 | [Apprentissage par renforcement profond](./lessons/6-Other/22-DeepRL/README.md) | [PyTorch](./lessons/6-Other/22-DeepRL/CartPole-RL-PyTorch.ipynb) /[TensorFlow](./lessons/6-Other/22-DeepRL/CartPole-RL-TF.ipynb) | [Lab](./lessons/6-Other/22-DeepRL/lab/README.md) |
|
||||
| 23 | [Systèmes multi-agents](./lessons/6-Other/23-MultiagentSystems/README.md) | | |
|
||||
| VII | **Éthique de l'IA** | | |
|
||||
| 24 | [Éthique de l'IA et IA responsable](./lessons/7-Ethics/README.md) | [Microsoft Learn : Principes d'IA responsable](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | |
|
||||
| IX | **Suppléments** | | |
|
||||
| VII | [**Éthique de l'IA**] | | |
|
||||
| 24 | [Éthique de l'IA et IA responsable](./lessons/7-Ethics/README.md) | [Microsoft Learn : Principes de l'IA responsable](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | |
|
||||
| IX | [**Suppléments**] | | |
|
||||
| 25 | [Réseaux multimodaux, CLIP et VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [Notebook](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | |
|
||||
|
||||
## Chaque leçon contient
|
||||
|
||||
* Matériel de pré-lecture
|
||||
* Notebooks Jupyter exécutables, souvent spécifiques au framework (**PyTorch** ou **TensorFlow**). Le notebook exécutable contient également beaucoup de contenu théorique, donc pour comprendre le sujet, vous devez parcourir au moins une version du notebook (soit PyTorch, soit TensorFlow).
|
||||
* **Labs** disponibles pour certains sujets, qui vous donnent la possibilité d'essayer d'appliquer le matériel que vous avez appris à un problème spécifique.
|
||||
* Carnets Jupyter exécutables, souvent spécifiques au framework (**PyTorch** ou **TensorFlow**). Le carnet exécutable contient également beaucoup de matériel théorique, donc pour comprendre le sujet vous devez parcourir au moins une version du carnet (soit PyTorch soit TensorFlow).
|
||||
* **Labs** disponibles pour certains sujets, qui vous donnent l'opportunité d'essayer d'appliquer le matériel que vous avez appris à un problème spécifique.
|
||||
* Certaines sections contiennent des liens vers des modules [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) qui couvrent des sujets connexes.
|
||||
|
||||
## Pour commencer
|
||||
|
||||
### 🎯 Nouveau en IA ? Commencez ici !
|
||||
|
||||
Si vous débutez complètement en IA et souhaitez des exemples pratiques et rapides, consultez nos [**Exemples pour débutants**](./examples/README.md) ! Ceux-ci incluent :
|
||||
Si vous débutez complètement en IA et voulez des exemples pratiques et rapides, consultez nos [**Exemples pour débutants**](./examples/README.md) ! Ceux-ci incluent :
|
||||
|
||||
- 🌟 **Hello AI World** - Votre premier programme d'IA (reconnaissance de motifs)
|
||||
- 🧠 **Réseau de neurones simple** - Construisez un réseau de neurones à partir de zéro
|
||||
- 🖼️ **Classificateur d'images** - Classifiez des images avec des commentaires détaillés
|
||||
- 💬 **Analyse du sentiment du texte** - Analyser si un texte est positif ou négatif
|
||||
- 🧠 **Simple Neural Network** - Construisez un réseau de neurones à partir de zéro
|
||||
- 🖼️ **Image Classifier** - Classifier des images avec des commentaires détaillés
|
||||
- 💬 **Analyse du sentiment du texte** - Analyser si un texte est positif/négatif
|
||||
|
||||
Ces exemples sont conçus pour vous aider à comprendre les concepts d'IA avant d'aborder le cursus complet.
|
||||
Ces exemples sont conçus pour vous aider à comprendre les concepts d'IA avant de vous lancer dans le cursus complet.
|
||||
|
||||
### 📚 Configuration du cursus complet
|
||||
### 📚 Configuration complète du cursus
|
||||
|
||||
- Nous avons créé une [leçon d'installation](./lessons/0-course-setup/setup.md) pour vous aider à configurer votre environnement de développement. - Pour les enseignants, nous avons également créé une [leçon de configuration du cursus](./lessons/0-course-setup/for-teachers.md) pour vous !
|
||||
- Nous avons créé une [leçon d'installation](./lessons/0-course-setup/setup.md) pour vous aider à configurer votre environnement de développement. - Pour les enseignants, nous avons également créé une [leçon de configuration des cursus](./lessons/0-course-setup/for-teachers.md) pour vous !
|
||||
- Comment [exécuter le code dans VSCode ou Codepace](./lessons/0-course-setup/how-to-run.md)
|
||||
|
||||
Suivez ces étapes :
|
||||
|
||||
Forkez le dépôt : cliquez sur le bouton "Fork" en haut à droite de cette page.
|
||||
Fork the Repository: Cliquez sur le bouton "Fork" en haut à droite de cette page.
|
||||
|
||||
Clonez le dépôt : `git clone https://github.com/microsoft/AI-For-Beginners.git`
|
||||
Clone the Repository: `git clone https://github.com/microsoft/AI-For-Beginners.git`
|
||||
|
||||
N'oubliez pas d'ajouter une étoile (🌟) à ce dépôt pour le retrouver plus facilement plus tard.
|
||||
N'oubliez pas d'étoiler (🌟) ce dépôt pour le retrouver plus facilement plus tard.
|
||||
|
||||
## Rencontrez d'autres apprenants
|
||||
|
||||
Rejoignez notre [serveur Discord officiel sur l'IA](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum) pour rencontrer et échanger avec d'autres apprenants suivant ce cours et obtenir du support.
|
||||
Rejoignez notre [serveur Discord officiel sur l'IA](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum) pour rencontrer et réseauter avec d'autres apprenants suivant ce cours et obtenir du soutien.
|
||||
|
||||
Si vous avez des retours produit ou des questions pendant le développement, visitez notre [Forum des développeurs Azure AI Foundry](https://aka.ms/foundry/forum)
|
||||
Si vous avez des retours sur le produit ou des questions pendant le développement, visitez notre [Azure AI Foundry Developer Forum](https://aka.ms/foundry/forum)
|
||||
|
||||
## Quiz
|
||||
|
||||
> **Une note à propos des quiz** : Tous les quiz sont contenus dans le dossier Quiz-app dans etc\quiz-app, ou [En ligne ici](https://ff-quizzes.netlify.app/) Ils sont liés depuis les leçons ; l'application de quiz peut être exécutée localement ou déployée sur Azure ; suivez les instructions dans le dossier `quiz-app`. Ils sont progressivement localisés.
|
||||
> **Une note concernant les quiz** : Tous les quiz se trouvent dans le dossier Quiz-app dans etc\quiz-app, ou [en ligne ici](https://ff-quizzes.netlify.app/) Ils sont liés depuis les leçons ; l'application de quiz peut être exécutée localement ou déployée sur Azure ; suivez les instructions dans le dossier `quiz-app`. Ils sont progressivement en cours de localisation.
|
||||
|
||||
## Aide demandée
|
||||
## Besoin d'aide
|
||||
|
||||
Avez-vous des suggestions ou avez-vous trouvé des fautes d'orthographe ou des erreurs dans le code ? Ouvrez une issue ou créez une pull request.
|
||||
Avez-vous des suggestions ou avez-vous trouvé des fautes d'orthographe ou des erreurs de code ? Ouvrez une issue ou créez une pull request.
|
||||
|
||||
## Remerciements spéciaux
|
||||
|
||||
|
|
@ -189,7 +190,7 @@ Notre équipe produit d'autres cursus ! Découvrez :
|
|||
|
||||
### Apprentissage de base
|
||||
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
|
||||
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
|
|
@ -201,22 +202,22 @@ Notre équipe produit d'autres cursus ! Découvrez :
|
|||
### Série Copilot
|
||||
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
|
||||
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
|
||||
|
||||
## Obtenir de l'aide
|
||||
|
||||
Si vous êtes bloqué ou avez des questions sur la création d'applications IA, rejoignez d'autres apprenants et des développeurs expérimentés pour discuter de MCP. C'est une communauté de soutien où les questions sont les bienvenues et où les connaissances sont librement partagées.
|
||||
Si vous êtes bloqué ou avez des questions sur la création d'applications d'IA, rejoignez d'autres apprenants et des développeurs expérimentés dans les discussions autour de MCP. C'est une communauté bienveillante où les questions sont les bienvenues et où le savoir est partagé librement.
|
||||
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
Si vous avez des retours produit ou des erreurs lors du développement, visitez :
|
||||
Si vous avez des retours produit ou des erreurs pendant le développement, visitez :
|
||||
|
||||
[](https://aka.ms/foundry/forum)
|
||||
[](https://aka.ms/foundry/forum)
|
||||
|
||||
---
|
||||
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
||||
Avertissement :
|
||||
Ce document a été traduit à l'aide du service de traduction par IA Co‑op Translator (https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'en assurer l'exactitude, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des inexactitudes. Le document original, dans sa langue d'origine, doit être considéré comme la source faisant foi. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un traducteur humain. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.
|
||||
Clause de non-responsabilité :
|
||||
Ce document a été traduit à l'aide du service de traduction par IA [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la version faisant foi. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un traducteur humain. Nous déclinons toute responsabilité pour tout malentendu ou mauvaise interprétation résultant de l'utilisation de cette traduction.
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
|
||||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Introduction à l'IA
|
||||
|
||||

|
||||

|
||||
|
||||
> Sketchnote par [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
À l'origine, les ordinateurs ont été inventés par [Charles Babbage](https://en.wikipedia.org/wiki/Charles_Babbage) pour manipuler des nombres en suivant une procédure bien définie - un algorithme. Les ordinateurs modernes, bien qu'extrêmement plus avancés que le modèle initial proposé au XIXe siècle, suivent toujours le même principe de calculs contrôlés. Ainsi, il est possible de programmer un ordinateur pour accomplir une tâche si nous connaissons la séquence exacte d'étapes nécessaires pour atteindre l'objectif.
|
||||
|
||||

|
||||

|
||||
|
||||
> Photo par [Vickie Soshnikova](http://twitter.com/vickievalerie)
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ Pour plus d'informations, consultez **[Intelligence Artificielle Générale](htt
|
|||
|
||||
L'un des problèmes liés au terme **[Intelligence](https://en.wikipedia.org/wiki/Intelligence)** est qu'il n'existe pas de définition claire de ce terme. On peut soutenir que l'intelligence est liée à la **pensée abstraite** ou à la **conscience de soi**, mais nous ne pouvons pas la définir correctement.
|
||||
|
||||

|
||||

|
||||
|
||||
> [Photo](https://unsplash.com/photos/75715CVEJhI) par [Amber Kipp](https://unsplash.com/@sadmax) sur Unsplash
|
||||
|
||||
|
|
@ -98,13 +98,13 @@ Alternativement, nous pouvons essayer de modéliser les éléments les plus simp
|
|||
|
||||
> | Et le ML ? | |
|
||||
> |--------------|-----------|
|
||||
> | Une partie de l'intelligence artificielle basée sur l'apprentissage par ordinateur pour résoudre un problème à partir de données est appelée **Machine Learning**. Nous n'aborderons pas l'apprentissage automatique classique dans ce cours - nous vous renvoyons à un programme séparé [Machine Learning pour débutants](http://aka.ms/ml-beginners). |  |
|
||||
> | Une partie de l'intelligence artificielle basée sur l'apprentissage par ordinateur pour résoudre un problème à partir de données est appelée **Machine Learning**. Nous n'aborderons pas l'apprentissage automatique classique dans ce cours - nous vous renvoyons à un programme séparé [Machine Learning pour débutants](http://aka.ms/ml-beginners). |  |
|
||||
|
||||
## Un bref historique de l'IA
|
||||
|
||||
L'intelligence artificielle a été lancée en tant que domaine au milieu du XXe siècle. Initialement, le raisonnement symbolique était l'approche dominante, et cela a conduit à un certain nombre de succès importants, tels que les systèmes experts – des programmes informatiques capables d'agir comme un expert dans certains domaines problématiques limités. Cependant, il est vite devenu évident que cette approche ne s'adapte pas bien. Extraire les connaissances d'un expert, les représenter dans un ordinateur et maintenir cette base de connaissances précise s'avère être une tâche très complexe et trop coûteuse pour être pratique dans de nombreux cas. Cela a conduit à ce qu'on appelle l'[hiver de l'IA](https://en.wikipedia.org/wiki/AI_winter) dans les années 1970.
|
||||
|
||||
<img alt="Bref historique de l'IA" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a0264357672b0884cf3a220fbafe35c65d70b2c3805f7bf5e.fr.png" width="70%"/>
|
||||
<img alt="Bref historique de l'IA" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a.fr.png" width="70%"/>
|
||||
|
||||
> Image par [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -124,7 +124,7 @@ De même, nous pouvons voir comment l'approche pour créer des "programmes parla
|
|||
* Les assistants modernes, tels que Cortana, Siri ou Google Assistant, sont tous des systèmes hybrides qui utilisent des réseaux neuronaux pour convertir la parole en texte et reconnaître notre intention, puis emploient un raisonnement ou des algorithmes explicites pour effectuer les actions requises.
|
||||
* À l'avenir, nous pouvons nous attendre à un modèle entièrement basé sur les réseaux neuronaux pour gérer le dialogue par lui-même. Les récents réseaux neuronaux de la famille GPT et [Turing-NLG](https://www.microsoft.com/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft) montrent de grands succès dans ce domaine.
|
||||
|
||||
<img alt="l'évolution du test de Turing" src="../../../../translated_images/turing-test-evol.4184696701293ead6de6e6441a659c62f0b119b342456987f531005f43be0b6d.fr.png" width="70%"/>
|
||||
<img alt="l'évolution du test de Turing" src="../../../../translated_images/turing-test-evol.4184696701293ead.fr.png" width="70%"/>
|
||||
> Image par Dmitry Soshnikov, [photo](https://unsplash.com/photos/r8LmVbUKgns) par [Marina Abrosimova](https://unsplash.com/@abrosimova_marina_foto), Unsplash
|
||||
|
||||
## Recherche récente en IA
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Représentation des connaissances et systèmes experts
|
||||
|
||||

|
||||

|
||||
|
||||
> Sketchnote par [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ Le plus souvent, nous ne définissons pas strictement la connaissance, mais nous
|
|||
|
||||
Ainsi, le problème de la **représentation des connaissances** consiste à trouver un moyen efficace de représenter les connaissances dans un ordinateur sous forme de données, afin de les rendre utilisables automatiquement. Cela peut être vu comme un spectre :
|
||||
|
||||

|
||||

|
||||
|
||||
> Image par [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ Syntaxe de bloc | Indentation | | |
|
|||
|
||||
Un des premiers succès de l'IA symbolique a été les **systèmes experts** - des systèmes informatiques conçus pour agir comme un expert dans un domaine problématique limité. Ils étaient basés sur une **base de connaissances** extraite d'un ou plusieurs experts humains, et contenaient un **moteur d'inférence** qui effectuait un raisonnement dessus.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-----------------------------------------------|------------------------------------------------------
|
||||
Structure simplifiée du système neural humain | Architecture d'un système basé sur les connaissances
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ Les systèmes experts sont construits comme le système de raisonnement humain,
|
|||
|
||||
À titre d'exemple, considérons le système expert suivant pour déterminer un animal en fonction de ses caractéristiques physiques :
|
||||
|
||||

|
||||

|
||||
|
||||
> Image par [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ Le surapprentissage est un concept extrêmement important en apprentissage autom
|
|||
|
||||
Considérons le problème suivant d'approximation de 5 points (représentés par des `x` sur les graphiques ci-dessous) :
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-------------------------|--------------------------
|
||||
**Modèle linéaire, 2 paramètres** | **Modèle non linéaire, 7 paramètres**
|
||||
Erreur d'entraînement = 5.3 | Erreur d'entraînement = 0
|
||||
|
|
@ -79,7 +79,7 @@ Il est crucial de trouver un équilibre correct entre la richesse du modèle (no
|
|||
|
||||
Comme vous pouvez le voir sur le graphique ci-dessus, le surapprentissage peut être détecté par une erreur d'entraînement très faible et une erreur de validation élevée. Normalement, pendant l'entraînement, nous verrons les erreurs d'entraînement et de validation commencer à diminuer, puis à un certain moment, l'erreur de validation pourrait arrêter de diminuer et commencer à augmenter. Ce sera un signe de surapprentissage, et un indicateur que nous devrions probablement arrêter l'entraînement à ce moment-là (ou au moins faire une sauvegarde du modèle).
|
||||
|
||||

|
||||

|
||||
|
||||
## Comment prévenir le surapprentissage ?
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Introduction aux réseaux neuronaux
|
||||
|
||||

|
||||

|
||||
|
||||
Comme nous l'avons vu dans l'introduction, l'une des façons d'atteindre l'intelligence est d'entraîner un **modèle informatique** ou un **cerveau artificiel**. Depuis le milieu du XXe siècle, les chercheurs ont expérimenté différents modèles mathématiques, jusqu'à ce que cette approche s'avère extrêmement fructueuse ces dernières années. Ces modèles mathématiques du cerveau sont appelés **réseaux neuronaux**.
|
||||
|
||||
|
|
@ -36,13 +36,13 @@ Dans ce programme, nous nous concentrerons uniquement sur les modèles de résea
|
|||
|
||||
En biologie, nous savons que notre cerveau est constitué de cellules neuronales (neurones), chacune ayant plusieurs "entrées" (dendrites) et une seule "sortie" (axone). Les dendrites et les axones peuvent conduire des signaux électriques, et les connexions entre eux — appelées synapses — peuvent présenter des degrés de conductivité variables, régulés par des neurotransmetteurs.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
Neurone réel *([Image](https://en.wikipedia.org/wiki/Synapse#/media/File:SynapseSchematic_lines.svg) de Wikipédia)* | Neurone artificiel *(Image par l'auteur)*
|
||||
|
||||
Ainsi, le modèle mathématique le plus simple d'un neurone contient plusieurs entrées X<sub>1</sub>, ..., X<sub>N</sub> et une sortie Y, ainsi qu'une série de poids W<sub>1</sub>, ..., W<sub>N</sub>. Une sortie est calculée comme suit :
|
||||
|
||||
<img src="../../../../translated_images/netout.1eb15eb76fd767313e067719f400cec4b0e5090239c3e997c29f6789d4c3c263.fr.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
|
||||
<img src="../../../../translated_images/netout.1eb15eb76fd76731.fr.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
|
||||
|
||||
où **f** est une **fonction d'activation** non linéaire.
|
||||
|
||||
|
|
|
|||
|
|
@ -73,14 +73,14 @@ Dans notre [OpenCV Notebook](OpenCV.ipynb), nous donnons quelques exemples où l
|
|||
|
||||
* **Prétraitement d'une photographie d'un livre en braille**. Nous nous concentrons sur la manière dont nous pouvons utiliser le seuil, la détection de caractéristiques, la transformation de perspective et les manipulations NumPy pour séparer les symboles individuels en braille pour une classification ultérieure par un réseau neuronal.
|
||||
|
||||
 |  | 
|
||||
 |  | 
|
||||
----|-----|-----
|
||||
|
||||
> Image tirée de [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
* **Détection de mouvement dans une vidéo à l'aide de la différence entre les images**. Si la caméra est fixe, les images du flux de la caméra devraient être assez similaires les unes aux autres. Étant donné que les images sont représentées sous forme de tableaux, en soustrayant simplement ces tableaux pour deux images consécutives, nous obtiendrons la différence de pixels, qui devrait être faible pour des images statiques, et devenir plus élevée lorsqu'il y a un mouvement substantiel dans l'image.
|
||||
|
||||

|
||||

|
||||
|
||||
> Image tirée de [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
|
|
@ -89,7 +89,7 @@ Dans notre [OpenCV Notebook](OpenCV.ipynb), nous donnons quelques exemples où l
|
|||
- **Flux optique dense** calcule le champ vectoriel qui montre pour chaque pixel où il se déplace.
|
||||
- **Flux optique clairsemé** est basé sur la prise de certaines caractéristiques distinctives dans l'image (par exemple, les contours) et la construction de leur trajectoire d'une image à l'autre.
|
||||
|
||||

|
||||

|
||||
|
||||
> Image tirée de [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,11 +13,11 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
VGG-16 est un réseau qui a atteint une précision de 92,7 % dans la classification top-5 d'ImageNet en 2014. Il possède la structure de couches suivante :
|
||||
|
||||

|
||||

|
||||
|
||||
Comme vous pouvez le voir, VGG suit une architecture pyramidale traditionnelle, qui est une séquence de couches de convolution et de pooling.
|
||||
|
||||

|
||||

|
||||
|
||||
> Image tirée de [Researchgate](https://www.researchgate.net/figure/Vgg16-model-structure-To-get-the-VGG-NIN-model-we-replace-the-2-nd-4-th-6-th-7-th_fig2_335194493)
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ Dans la vie réelle, nous souhaitons pouvoir reconnaître des objets sur une ima
|
|||
|
||||
Pour extraire ces motifs, nous utiliserons la notion de **filtres convolutionnels**. Comme vous le savez, une image est représentée par une matrice 2D ou un tenseur 3D avec une profondeur de couleur. Appliquer un filtre signifie que nous prenons une matrice relativement petite appelée **noyau de filtre**, et pour chaque pixel de l'image originale, nous calculons la moyenne pondérée avec les points voisins. On peut voir cela comme une petite fenêtre glissant sur toute l'image et moyennant tous les pixels selon les poids du noyau de filtre.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
|
||||
> Image par Dmitry Soshnikov
|
||||
|
|
@ -38,7 +38,7 @@ Le fonctionnement des CNN repose sur les idées importantes suivantes :
|
|||
* Nous pouvons concevoir le réseau de manière à ce que les filtres soient entraînés automatiquement.
|
||||
* Nous pouvons utiliser la même approche pour détecter des motifs dans des caractéristiques de haut niveau, et pas seulement dans l'image originale. Ainsi, l'extraction de caractéristiques par les CNN fonctionne sur une hiérarchie de caractéristiques, en commençant par des combinaisons de pixels de bas niveau jusqu'à des combinaisons de parties d'image de haut niveau.
|
||||
|
||||

|
||||

|
||||
|
||||
> Image tirée [d'un article de Hislop-Lynch](https://www.semanticscholar.org/paper/Computer-vision-based-pedestrian-trajectory-Hislop-Lynch/26e6f74853fc9bbb7487b06dc2cf095d36c9021d), basé sur [leurs recherches](https://dl.acm.org/doi/abs/10.1145/1553374.1553453)
|
||||
|
||||
|
|
@ -55,9 +55,9 @@ La plupart des CNN utilisés pour le traitement d'images suivent une architectur
|
|||
|
||||
À titre d'exemple, examinons l'architecture de VGG-16, un réseau qui a atteint une précision de 92,7 % dans la classification top-5 d'ImageNet en 2014 :
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
> Image tirée de [Researchgate](https://www.researchgate.net/figure/Vgg16-model-structure-To-get-the-VGG-NIN-model-we-replace-the-2-nd-4-th-6-th-7-th_fig2_335194493)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue