chore(i18n): sync translations with latest source changes (chunk 70/148, 100 files)
This commit is contained in:
parent
91121054a3
commit
e967baf22f
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Uvod u AI
|
||||
|
||||

|
||||

|
||||
|
||||
> Crtež od [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
Izvorno, računala je izumio [Charles Babbage](https://en.wikipedia.org/wiki/Charles_Babbage) kako bi radila s brojevima slijedeći dobro definirani postupak - algoritam. Moderna računala, iako znatno naprednija od originalnog modela predloženog u 19. stoljeću, i dalje slijede istu ideju kontroliranih izračuna. Stoga je moguće programirati računalo da nešto učini ako znamo točan slijed koraka koji trebamo poduzeti kako bismo postigli cilj.
|
||||
|
||||

|
||||

|
||||
|
||||
> Fotografija od [Vickie Soshnikova](http://twitter.com/vickievalerie)
|
||||
|
||||
|
|
@ -45,7 +45,7 @@ Za više informacija pogledajte **[Umjetna Opća Inteligencija](https://en.wikip
|
|||
|
||||
Jedan od problema pri bavljenju pojmom **[inteligencija](https://en.wikipedia.org/wiki/Intelligence)** jest taj što ne postoji jasna definicija ovog pojma. Može se tvrditi da je inteligencija povezana s **apstraktnim razmišljanjem** ili **samosviješću**, ali je ne možemo pravilno definirati.
|
||||
|
||||

|
||||

|
||||
|
||||
> [Fotografija](https://unsplash.com/photos/75715CVEJhI) od [Amber Kipp](https://unsplash.com/@sadmax) s Unsplash-a
|
||||
|
||||
|
|
@ -97,13 +97,13 @@ Alternativno, možemo pokušati modelirati najjednostavnije elemente unutar naš
|
|||
|
||||
> | Što je s ML? | |
|
||||
> |--------------|-----------|
|
||||
> | Dio umjetne inteligencije koji se temelji na učenju računala da riješi problem na temelju nekih podataka naziva se **strojno učenje**. Nećemo razmatrati klasično strojno učenje u ovom tečaju - upućujemo vas na zasebni kurikulum [Strojno učenje za početnike](http://aka.ms/ml-beginners). |  |
|
||||
> | Dio umjetne inteligencije koji se temelji na učenju računala da riješi problem na temelju nekih podataka naziva se **strojno učenje**. Nećemo razmatrati klasično strojno učenje u ovom tečaju - upućujemo vas na zasebni kurikulum [Strojno učenje za početnike](http://aka.ms/ml-beginners). |  |
|
||||
|
||||
## Kratka povijest AI-a
|
||||
|
||||
Umjetna inteligencija započela je kao područje sredinom dvadesetog stoljeća. U početku je simboličko zaključivanje bilo prevladavajući pristup, što je dovelo do brojnih važnih uspjeha, poput stručnih sustava – računalnih programa koji su mogli djelovati kao stručnjaci u nekim ograničenim domenama problema. Međutim, ubrzo je postalo jasno da se takav pristup ne skalira dobro. Izdvajanje znanja od stručnjaka, njegovo predstavljanje u računalu i održavanje te baze znanja točnom pokazalo se vrlo složenim zadatkom i preskupim za praktičnu primjenu u mnogim slučajevima. To je dovelo do takozvane [AI zime](https://en.wikipedia.org/wiki/AI_winter) 1970-ih.
|
||||
|
||||
<img alt="Kratka povijest AI-a" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a0264357672b0884cf3a220fbafe35c65d70b2c3805f7bf5e.hr.png" width="70%"/>
|
||||
<img alt="Kratka povijest AI-a" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a.hr.png" width="70%"/>
|
||||
|
||||
> Slika od [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -123,7 +123,7 @@ Slično, možemo vidjeti kako se pristup stvaranju "govornih programa" (koji bi
|
|||
* Moderni asistenti, poput Cortane, Siri ili Google Assistanta, svi su hibridni sustavi koji koriste neuronske mreže za pretvaranje govora u tekst i prepoznavanje naše namjere, a zatim koriste neko zaključivanje ili eksplicitne algoritme za obavljanje potrebnih radnji.
|
||||
* U budućnosti možemo očekivati potpuni model temeljen na neuronskim mrežama koji će samostalno upravljati dijalogom. Nedavne GPT i [Turing-NLG](https://www.microsoft.com/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft) obitelji neuronskih mreža pokazuju veliki uspjeh u tome.
|
||||
|
||||
<img alt="evolucija Turingovog testa" src="../../../../translated_images/turing-test-evol.4184696701293ead6de6e6441a659c62f0b119b342456987f531005f43be0b6d.hr.png" width="70%"/>
|
||||
<img alt="evolucija Turingovog testa" src="../../../../translated_images/turing-test-evol.4184696701293ead.hr.png" width="70%"/>
|
||||
> Slika Dmitry Soshnikov, [fotografija](https://unsplash.com/photos/r8LmVbUKgns) od [Marina Abrosimova](https://unsplash.com/@abrosimova_marina_foto), Unsplash
|
||||
|
||||
## Nedavna istraživanja u području umjetne inteligencije
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
"\n",
|
||||
"U ovom primjeru implementirat ćemo jednostavan sustav temeljen na znanju za određivanje životinje na temelju nekih fizičkih karakteristika. Sustav se može prikazati sljedećim AND-OR stablom (ovo je dio cijelog stabla, lako možemo dodati još pravila):\n",
|
||||
"\n",
|
||||
"\n"
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Predstavljanje znanja i ekspertni sustavi
|
||||
|
||||

|
||||

|
||||
|
||||
> Sketchnote autorice [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ Najčešće ne definiramo strogo znanje, već ga povezujemo s drugim srodnim poj
|
|||
|
||||
Dakle, problem **predstavljanja znanja** je pronaći učinkovit način za predstavljanje znanja unutar računala u obliku podataka kako bi se ono moglo automatski koristiti. To se može promatrati kao spektar:
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika autora [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ Sintaksa bloka | Uvlačenje | | |
|
|||
|
||||
Jedan od ranih uspjeha simboličke umjetne inteligencije bili su tzv. **ekspertni sustavi** - računalni sustavi dizajnirani da djeluju kao stručnjaci u nekom ograničenom problematičnom području. Temeljili su se na **bazi znanja** izvučenoj od jednog ili više ljudskih stručnjaka i sadržavali su **mehanizam zaključivanja** koji je provodio zaključivanje na temelju te baze.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
---------------------------------------------|------------------------------------------------
|
||||
Pojednostavljena struktura ljudskog živčanog sustava | Arhitektura sustava temeljenog na znanju
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ Ekspertni sustavi izgrađeni su poput ljudskog sustava zaključivanja, koji sadr
|
|||
|
||||
Kao primjer, razmotrimo sljedeći ekspertni sustav za određivanje životinje na temelju njezinih fizičkih karakteristika:
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika autora [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
|
|||
|
|
@ -1248,7 +1248,7 @@
|
|||
"* Nizak gubitak na podacima za treniranje - model može dobro aproksimirati podatke za treniranje jer ima dovoljno izražajne moći.\n",
|
||||
"* Gubitak na validaciji može biti znatno veći od gubitka na treniranju i može početi rasti tijekom treniranja - to je zato što model \"pamti\" točke za treniranje i gubi \"širu sliku\".\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> Na ovoj slici, `x` označava podatke za treniranje, `o` - podatke za validaciju. Lijevo - linearni model (jednoslojni), dobro aproksimira prirodu podataka. Desno - model s prekomjernim prilagođavanjem, savršeno aproksimira podatke za treniranje, ali gubi smisao s bilo kojim drugim podacima (pogreška validacije je vrlo visoka).\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ Pretreniranje je iznimno važan koncept u strojnom učenju, i vrlo je važno raz
|
|||
|
||||
Razmotrimo sljedeći problem aproksimacije 5 točaka (prikazanih kao `x` na grafovima dolje):
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-------------------------|--------------------------
|
||||
**Linearni model, 2 parametra** | **Nelinearni model, 7 parametara**
|
||||
Pogreška na treningu = 5.3 | Pogreška na treningu = 0
|
||||
|
|
@ -79,7 +79,7 @@ Vrlo je važno pronaći ispravnu ravnotežu između složenosti modela (broja pa
|
|||
|
||||
Kao što možete vidjeti na grafu iznad, pretreniranje se može otkriti vrlo niskom pogreškom na treningu i visokom pogreškom na validaciji. Obično tijekom treninga vidimo kako pogreške na treningu i validaciji počinju opadati, a zatim u nekom trenutku pogreška na validaciji prestaje opadati i počinje rasti. To će biti znak pretreniranja i pokazatelj da bismo trebali prestati trenirati u tom trenutku (ili barem napraviti snimku modela).
|
||||
|
||||

|
||||

|
||||
|
||||
## Kako spriječiti pretreniranje
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Uvod u neuronske mreže
|
||||
|
||||

|
||||

|
||||
|
||||
Kao što smo raspravili u uvodu, jedan od načina za postizanje inteligencije je treniranje **računalnog modela** ili **umjetnog mozga**. Od sredine 20. stoljeća, istraživači su isprobavali različite matematičke modele, sve dok se u posljednjim godinama ovaj smjer nije pokazao izuzetno uspješnim. Takvi matematički modeli mozga nazivaju se **neuronske mreže**.
|
||||
|
||||
|
|
@ -36,13 +36,13 @@ U ovom kurikulumu fokusirat ćemo se isključivo na modele neuronskih mreža.
|
|||
|
||||
Iz biologije znamo da naš mozak sastoji se od neuralnih stanica (neurona), od kojih svaka ima više "ulaza" (dendrita) i jedan "izlaz" (akson). I dendriti i aksoni mogu provoditi električne signale, a veze između njih — poznate kao sinapse — mogu pokazivati različite stupnjeve provodljivosti, koje reguliraju neurotransmiteri.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
Stvarni neuron *([Slika](https://en.wikipedia.org/wiki/Synapse#/media/File:SynapseSchematic_lines.svg) s Wikipedije)* | Umjetni neuron *(Slika autora)*
|
||||
|
||||
Dakle, najjednostavniji matematički model neurona sadrži nekoliko ulaza X<sub>1</sub>, ..., X<sub>N</sub> i jedan izlaz Y, te niz težina W<sub>1</sub>, ..., W<sub>N</sub>. Izlaz se računa kao:
|
||||
|
||||
<img src="../../../../translated_images/netout.1eb15eb76fd767313e067719f400cec4b0e5090239c3e997c29f6789d4c3c263.hr.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.hr.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
|
||||
|
||||
gdje je f neka nelinearna **funkcija aktivacije**.
|
||||
|
||||
|
|
|
|||
|
|
@ -73,14 +73,14 @@ U našem [OpenCV Notebook](OpenCV.ipynb) dajemo neke primjere kada se računalni
|
|||
|
||||
* **Predobrada fotografije Brailleove knjige**. Fokusiramo se na to kako možemo koristiti pragove, detekciju značajki, perspektivne transformacije i manipulacije NumPy nizovima kako bismo odvojili pojedinačne Brailleove simbole za daljnju klasifikaciju neuronskom mrežom.
|
||||
|
||||
 |  | 
|
||||
 |  | 
|
||||
----|-----|-----
|
||||
|
||||
> Slika iz [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
* **Detekcija kretanja u videu pomoću razlike između okvira**. Ako je kamera fiksna, tada bi okviri iz videozapisa trebali biti prilično slični. Budući da su okviri predstavljeni kao nizovi, jednostavnim oduzimanjem tih nizova za dva uzastopna okvira dobit ćemo razliku piksela, koja bi trebala biti mala za statične okvire, a postati veća kada postoji značajno kretanje na slici.
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika iz [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
|
|
@ -89,7 +89,7 @@ U našem [OpenCV Notebook](OpenCV.ipynb) dajemo neke primjere kada se računalni
|
|||
- **Gusti optički tok** izračunava vektorsko polje koje pokazuje za svaki piksel kamo se kreće
|
||||
- **Rijetki optički tok** temelji se na uzimanju nekih prepoznatljivih značajki na slici (npr. rubova) i praćenju njihove putanje od okvira do okvira.
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika iz [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,11 +13,11 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
VGG-16 je mreža koja je postigla 92.7% točnosti u ImageNet top-5 klasifikaciji 2014. godine. Ima sljedeću strukturu slojeva:
|
||||
|
||||

|
||||

|
||||
|
||||
Kao što možete vidjeti, VGG slijedi tradicionalnu piramidalnu arhitekturu, koja je niz slojeva konvolucije i pooling-a.
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika preuzeta s [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)
|
||||
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@
|
|||
"\n",
|
||||
"Dakle, u tipičnom CNN-u postoji nekoliko slojeva konvolucije, sa slojevima za pooling između njih kako bi se smanjile dimenzije slike. Također bismo povećali broj filtera, jer kako uzorci postaju napredniji - postoji više mogućih zanimljivih kombinacija koje trebamo tražiti.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Zbog smanjenja prostorne dimenzije i povećanja dimenzije značajki/filtera, ova se arhitektura također naziva **piramidalna arhitektura**.\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -359,7 +359,7 @@
|
|||
"\n",
|
||||
"Dakle, u tipičnom CNN-u postoji nekoliko konvolucijskih slojeva, s pooling slojevima između njih kako bi se smanjile dimenzije slike. Također bismo povećali broj filtera, jer kako uzorci postaju napredniji - postoji više mogućih zanimljivih kombinacija koje trebamo tražiti.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Zbog smanjenja prostorne dimenzije i povećanja dimenzije značajki/filtera, ova se arhitektura također naziva **piramidalna arhitektura**.\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ U stvarnom životu želimo biti u mogućnosti prepoznati objekte na slici bez ob
|
|||
|
||||
Za izdvajanje uzoraka koristit ćemo pojam **konvolucijskih filtera**. Kao što znate, slika je predstavljena 2D-matricom ili 3D-tenzorom s dubinom boje. Primjena filtera znači da uzimamo relativno malu matricu **jezgre filtera** i za svaki piksel u originalnoj slici izračunavamo ponderirani prosjek s okolnim točkama. To možemo zamisliti kao mali prozor koji klizi preko cijele slike i izračunava prosjek svih piksela prema težinama u matrici jezgre filtera.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
|
||||
> Slika: Dmitry Soshnikov
|
||||
|
|
@ -38,7 +38,7 @@ Način na koji CNN funkcionira temelji se na sljedećim važnim idejama:
|
|||
* Možemo dizajnirati mrežu na način da se filteri automatski treniraju
|
||||
* Možemo koristiti isti pristup za pronalaženje uzoraka u visokorazinskim značajkama, ne samo u originalnoj slici. Tako ekstrakcija značajki u CNN-u funkcionira na hijerarhiji značajki, počevši od niskorazinskih kombinacija piksela do visokorazinskih kombinacija dijelova slike.
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika iz [rada Hislop-Lynch](https://www.semanticscholar.org/paper/Computer-vision-based-pedestrian-trajectory-Hislop-Lynch/26e6f74853fc9bbb7487b06dc2cf095d36c9021d), temeljenog na [njihovom istraživanju](https://dl.acm.org/doi/abs/10.1145/1553374.1553453)
|
||||
|
||||
|
|
@ -55,9 +55,9 @@ Većina CNN-a koji se koriste za obradu slika slijedi tzv. piramidalnu arhitektu
|
|||
|
||||
Kao primjer, pogledajmo arhitekturu VGG-16, mreže koja je postigla 92.7% točnosti u ImageNet-ovoj top-5 klasifikaciji 2014. godine:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
> Slika: [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)
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ Vaš zadatak je trenirati konvolucijsku neuronsku mrežu za klasifikaciju razli
|
|||
|
||||
Koristit ćemo [Oxford-IIIT Pet Dataset](https://www.robots.ox.ac.uk/~vgg/data/pets/), koji sadrži slike 37 različitih pasmina pasa i mačaka.
|
||||
|
||||

|
||||

|
||||
|
||||
Za preuzimanje skupa podataka, koristite ovaj isječak koda:
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
"\n",
|
||||
"Kako bismo vizualizirali idealnu mačku, započet ćemo s nasumičnom slikom šuma i pokušati koristiti tehniku optimizacije gradijentnog spuštanja kako bismo prilagodili sliku tako da mreža prepozna mačku.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Ovo je naša početna slika:\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ I Keras i PyTorch sadrže funkcije za jednostavno učitavanje unaprijed treniran
|
|||
|
||||
Evo primjera značajki koje je VGG-16 mreža izdvojila iz slike mačke:
|
||||
|
||||

|
||||

|
||||
|
||||
## Skup podataka Mačke vs. Psi
|
||||
|
||||
|
|
@ -48,19 +48,19 @@ Unaprijed trenirana neuronska mreža sadrži različite uzorke unutar svog *mozg
|
|||
|
||||
Jedan pristup koji možemo koristiti je započeti s nasumičnom slikom, a zatim pokušati koristiti tehniku **optimizacije gradijentnog spuštanja** kako bismo prilagodili tu sliku na način da mreža počne misliti da je to mačka.
|
||||
|
||||

|
||||

|
||||
|
||||
Međutim, ako to učinimo, dobit ćemo nešto vrlo slično nasumičnom šumu. To je zato što *postoji mnogo načina da mreža pomisli da je ulazna slika mačka*, uključujući neke koji vizualno nemaju smisla. Iako te slike sadrže mnogo uzoraka tipičnih za mačku, ništa ih ne ograničava da budu vizualno prepoznatljive.
|
||||
|
||||
Kako bismo poboljšali rezultat, možemo dodati još jedan član u funkciju gubitka, koji se naziva **gubitak varijacije**. To je metrika koja pokazuje koliko su slični susjedni pikseli slike. Minimiziranje gubitka varijacije čini sliku glađom i uklanja šum - otkrivajući tako vizualno privlačnije uzorke. Evo primjera takvih "idealnih" slika koje se klasificiraju kao mačka i zebra s visokom vjerojatnošću:
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-----|-----
|
||||
*Idealna mačka* | *Idealna zebra*
|
||||
|
||||
Sličan pristup može se koristiti za izvođenje takozvanih **adversarijalnih napada** na neuronsku mrežu. Pretpostavimo da želimo zavarati neuronsku mrežu i učiniti da pas izgleda kao mačka. Ako uzmemo sliku psa, koju mreža prepoznaje kao psa, možemo je malo prilagoditi koristeći optimizaciju gradijentnog spuštanja dok mreža ne počne klasificirati sliku kao mačku:
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-----|-----
|
||||
*Izvorna slika psa* | *Slika psa klasificirana kao mačka*
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
"\n",
|
||||
"Budući da treniramo autoenkoder kako bi uhvatio što više informacija iz izvorne slike za točnu rekonstrukciju, mreža pokušava pronaći najbolju **ugradnju** ulaznih slika kako bi uhvatila njihovo značenje.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> Slika preuzeta s [Keras bloga](https://blog.keras.io/building-autoencoders-in-keras.html)\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
"\n",
|
||||
"Budući da treniramo autoenkoder kako bi uhvatio što više informacija iz originalne slike za točnu rekonstrukciju, mreža pokušava pronaći najbolju **ugradnju** ulaznih slika kako bi uhvatila njihovo značenje.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Slika preuzeta s [Keras bloga](https://blog.keras.io/building-autoencoders-in-keras.html)*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Međutim, možda bismo željeli koristiti sirove (neoznačene) podatke za trenir
|
|||
|
||||
Budući da treniramo autoenkoder kako bi uhvatio što više informacija iz originalne slike za točnu rekonstrukciju, mreža pokušava pronaći najbolju **ugradnju** ulaznih slika kako bi uhvatila njihovo značenje.
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika s [Keras bloga](https://blog.keras.io/building-autoencoders-in-keras.html)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ Modeli za klasifikaciju slika s kojima smo se dosad susretali uzimaju sliku i pr
|
|||
|
||||
## [Prethodni kviz](https://ff-quizzes.netlify.app/en/ai/quiz/21)
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika s [YOLO v2 web stranice](https://pjreddie.com/darknet/yolov2/)
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ Pretpostavimo da želimo pronaći mačku na slici. Vrlo naivan pristup detekciji
|
|||
2. Provoditi klasifikaciju slike na svakoj pločici.
|
||||
3. Pločice koje rezultiraju dovoljno visokom aktivacijom mogu se smatrati da sadrže traženi objekt.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Slika iz [vježbenice](ObjectDetection-TF.ipynb)*
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ Možete naići na sljedeće skupove podataka za ovu zadaću:
|
|||
* [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/) – 20 klasa
|
||||
* [COCO](http://cocodataset.org/#home) – Uobičajeni objekti u kontekstu. 80 klasa, okviri i maske za segmentaciju
|
||||
|
||||

|
||||

|
||||
|
||||
## Metrike za detekciju objekata
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ Možete naići na sljedeće skupove podataka za ovu zadaću:
|
|||
|
||||
Dok je za klasifikaciju slika lako izmjeriti koliko dobro algoritam radi, za detekciju objekata moramo mjeriti i točnost klase, kao i preciznost lokacije predviđenog okvira. Za ovo drugo koristimo metodu **Presjek kroz uniju** (IoU), koja mjeri koliko se dobro dva okvira (ili dva proizvoljna područja) preklapaju.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Slika 2 iz [ovog izvrsnog blog posta o IoU](https://pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/)*
|
||||
|
||||
|
|
@ -98,11 +98,11 @@ Postoje dvije široke kategorije algoritama za detekciju objekata:
|
|||
|
||||
[R-CNN](http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf) koristi [Selektivno pretraživanje](http://www.huppelen.nl/publications/selectiveSearchDraft.pdf) za generiranje hijerarhijske strukture ROI regija, koje se zatim prosljeđuju kroz CNN ekstraktore značajki i SVM klasifikatore za određivanje klase objekta, te linearnu regresiju za određivanje koordinata *okvira*. [Službeni rad](https://arxiv.org/pdf/1506.01497v1.pdf)
|
||||
|
||||

|
||||

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

|
||||

|
||||
|
||||
> *Slike iz [ovog bloga](https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e)*
|
||||
|
||||
|
|
@ -110,7 +110,7 @@ Postoje dvije široke kategorije algoritama za detekciju objekata:
|
|||
|
||||
Ovaj pristup je sličan R-CNN-u, ali regije se definiraju nakon što su primijenjeni slojevi konvolucije.
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika iz [službenog rada](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 @@ Ovaj pristup je sličan R-CNN-u, ali regije se definiraju nakon što su primijen
|
|||
|
||||
Glavna ideja ovog pristupa je korištenje neuronske mreže za predviđanje ROI – takozvane *Mreže za predlaganje regija*. [Rad](https://arxiv.org/pdf/1506.01497.pdf), 2016
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika iz [službenog rada](https://arxiv.org/pdf/1506.01497.pdf)
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ Ovaj algoritam je čak brži od Faster R-CNN-a. Glavna ideja je sljedeća:
|
|||
2. Značajke se obrađuju pomoću **Pozicijski osjetljive mape rezultata**. Svaki objekt iz $C$ klasa dijeli se na $k\times k$ regije, i treniramo mrežu da predviđa dijelove objekata.
|
||||
3. Za svaki dio iz $k\times k$ regija sve mreže glasaju za klase objekata, a klasa objekta s najviše glasova se odabire.
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika iz [službenog rada](https://arxiv.org/abs/1605.06409)
|
||||
|
||||
|
|
@ -141,7 +141,7 @@ YOLO je algoritam za detekciju u stvarnom vremenu s jednim prolazom. Glavna idej
|
|||
* Slika se dijeli na $S\times S$ regije.
|
||||
* Za svaku regiju, **CNN** predviđa $n$ mogućih objekata, koordinate *okvira* i *povjerenje*=*vjerojatnost* * IoU.
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika iz [službenog rada](https://arxiv.org/abs/1506.02640)
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Računalni vid
|
||||
|
||||

|
||||

|
||||
|
||||
U ovom dijelu ćemo naučiti o:
|
||||
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@
|
|||
"\n",
|
||||
"**Vreća riječi** (BoW) vektorsko predstavljanje najčešće je korišteno tradicionalno vektorsko predstavljanje. Svaka riječ povezana je s indeksom vektora, a element vektora sadrži broj pojavljivanja riječi u određenom dokumentu.\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n",
|
||||
"> **Napomena**: Možete također razmišljati o BoW kao o zbroju svih one-hot kodiranih vektora za pojedinačne riječi u tekstu.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@
|
|||
"\n",
|
||||
"**Vreća riječi** (BoW) je najjednostavnija tradicionalna reprezentacija vektora za razumijevanje. Svaka riječ povezana je s indeksom vektora, a element vektora sadrži broj pojavljivanja svake riječi u danom dokumentu.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> **Note**: BoW možete zamisliti i kao zbroj svih vektora kodiranih metodom \"jedan na jedan\" za pojedinačne riječi u tekstu.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@
|
|||
"\n",
|
||||
"Korištenjem sloja za ugradnju kao prvog sloja u našoj mreži, možemo prijeći s modela vreće riječi na model **vreće ugradnji**, gdje prvo pretvaramo svaku riječ u našem tekstu u odgovarajuću ugradnju, a zatim izračunavamo neku agregatnu funkciju nad svim tim ugradnjama, poput `sum`, `average` ili `max`.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Naša neuronska mreža za klasifikaciju započet će slojem za ugradnju, zatim slojem za agregaciju, i linearnim klasifikatorom na vrhu:\n"
|
||||
]
|
||||
|
|
@ -176,7 +176,7 @@
|
|||
"\n",
|
||||
"U prethodnoj arhitekturi morali smo popuniti sve sekvence na istu duljinu kako bismo ih uklopili u minibatch. Ovo nije najučinkovitiji način za prikazivanje sekvenci promjenjive duljine - drugi pristup bio bi korištenje **offset** vektora, koji bi sadržavao pomake svih sekvenci pohranjenih u jednom velikom vektoru.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> **Napomena**: Na slici iznad prikazana je sekvenca znakova, ali u našem primjeru radimo sa sekvencama riječi. Međutim, osnovni princip prikazivanja sekvenci pomoću offset vektora ostaje isti.\n",
|
||||
"\n",
|
||||
|
|
@ -311,7 +311,7 @@
|
|||
"\n",
|
||||
"CBoW je brži, dok je skip-gram sporiji, ali bolje predstavlja riječi koje se rjeđe pojavljuju.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Za eksperimentiranje s Word2Vec ugradnjom unaprijed obučenom na Google News skupu podataka, možemo koristiti biblioteku **gensim**. Ispod nalazimo riječi najsličnije riječi 'neural':\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
"\n",
|
||||
"Korištenjem embedding sloja kao prvog sloja u našoj mreži, možemo prijeći s modela vreće riječi (bag-of-words) na model **embedding vreće** (embedding bag), gdje prvo pretvaramo svaku riječ u našem tekstu u odgovarajući embedding, a zatim izračunavamo neku agregacijsku funkciju nad svim tim embeddingima, poput `sum`, `average` ili `max`.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Naša neuronska mreža klasifikatora sastoji se od sljedećih slojeva:\n",
|
||||
"\n",
|
||||
|
|
@ -283,7 +283,7 @@
|
|||
"\n",
|
||||
"CBoW je brži, dok je skip-gram sporiji, ali bolje predstavlja riječi koje se rjeđe pojavljuju.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Kako bismo eksperimentirali s Word2Vec ugradnjom unaprijed istreniranom na Google News skupu podataka, možemo koristiti biblioteku **gensim**. Ispod nalazimo riječi koje su najsličnije riječi 'neural'.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Dakle, sloj za ugrađivanje uzima riječ kao ulaz i proizvodi izlazni vektor odr
|
|||
|
||||
Koristeći sloj za ugrađivanje kao prvi sloj u našoj mreži klasifikatora, možemo se prebaciti s modela vreće riječi na model **vreće ugrađivanja**, gdje prvo svaku riječ u našem tekstu pretvaramo u odgovarajuće ugrađivanje, a zatim izračunavamo neku agregatnu funkciju preko svih tih ugrađivanja, poput `sum`, `average` ili `max`.
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika autora
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ Da bismo to postigli, trebamo unaprijed trenirati naš model za ugrađivanje na
|
|||
|
||||
CBoW je brži, dok je skip-gram sporiji, ali bolje predstavlja rijetke riječi.
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika iz [ovog rada](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ U našim prethodnim primjerima koristili smo unaprijed trenirane semantičke ugr
|
|||
* **Kontinuirana vreća riječi** (CBoW), gdje predviđamo srednji token $W_0$ u nizu tokena $W_{-N}$, ..., $W_N$.
|
||||
* **Skip-gram**, gdje predviđamo skup susjednih tokena {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} iz srednjeg tokena $W_0$.
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika iz [ovog rada](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ U prethodnim odjeljcima koristili smo bogate semantičke reprezentacije teksta i
|
|||
|
||||
Kako bismo uhvatili značenje sekvenci teksta, trebamo koristiti drugu arhitekturu neuronske mreže, koja se naziva **rekurentna neuronska mreža** ili RNN. U RNN-u, rečenicu prosljeđujemo kroz mrežu jedan simbol po simbol, a mreža proizvodi određeno **stanje**, koje zatim ponovno prosljeđujemo mreži s idućim simbolom.
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika autora
|
||||
|
||||
|
|
@ -61,7 +61,7 @@ Razgovarali smo o rekurentnim mrežama koje djeluju u jednom smjeru, od početka
|
|||
|
||||
Rekurentna mreža, bilo jednosmjerna ili dvosmjerna, hvata određene uzorke unutar sekvence i može ih pohraniti u vektor stanja ili proslijediti u izlaz. Kao i kod konvolucijskih mreža, možemo izgraditi drugi rekurentni sloj na vrhu prvog kako bismo uhvatili uzorke višeg nivoa i izgradili na temelju uzoraka nižeg nivoa koje je izvukao prvi sloj. To nas dovodi do pojma **višeslojnog RNN-a**, koji se sastoji od dva ili više rekurentnih mreža, gdje se izlaz prethodnog sloja prosljeđuje sljedećem sloju kao ulaz.
|
||||
|
||||

|
||||

|
||||
|
||||
*Slika iz [ovog izvrsnog posta](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) Fernanda Lópeza*
|
||||
|
||||
|
|
|
|||
|
|
@ -422,7 +422,7 @@
|
|||
"\n",
|
||||
"Rekurentna mreža, bilo jednosmjerna ili dvosmjerna, hvata određene uzorke unutar sekvence i može ih pohraniti u vektor stanja ili proslijediti u izlaz. Kao i kod konvolucijskih mreža, možemo izgraditi još jedan rekurentni sloj na vrhu prvog kako bismo uhvatili uzorke višeg nivoa, izgrađene od uzoraka nižeg nivoa koje je izvukao prvi sloj. To nas dovodi do pojma **višeslojni RNN**, koji se sastoji od dvije ili više rekurentnih mreža, gdje se izlaz prethodnog sloja prosljeđuje sljedećem sloju kao ulaz.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Slika iz [ovog sjajnog posta](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) autora Fernanda Lópeza*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
"\n",
|
||||
"Kako bismo uhvatili značenje sekvence teksta, koristit ćemo arhitekturu neuronske mreže zvanu **rekurentna neuronska mreža** ili RNN. Kada koristimo RNN, prosljeđujemo našu rečenicu kroz mrežu jedan token po jedan, a mreža proizvodi određeno **stanje**, koje zatim ponovno prosljeđujemo mreži s idućim tokenom.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"S obzirom na ulaznu sekvencu tokena $X_0,\\dots,X_n$, RNN stvara sekvencu blokova neuronske mreže i trenira ovu sekvencu od početka do kraja koristeći unatrag širenje pogreške (backpropagation). Svaki blok mreže uzima par $(X_i,S_i)$ kao ulaz i proizvodi $S_{i+1}$ kao rezultat. Konačno stanje $S_n$ ili izlaz $Y_n$ ide u linearni klasifikator kako bi se proizveo rezultat. Svi blokovi mreže dijele iste težine i treniraju se od početka do kraja koristeći jedan prolaz unatrag širenja pogreške.\n",
|
||||
"\n",
|
||||
|
|
@ -369,7 +369,7 @@
|
|||
"\n",
|
||||
"Rekurentne mreže, bilo jednosmjerne ili dvosmjerne, prepoznaju uzorke unutar sekvence i pohranjuju ih u vektore stanja ili ih vraćaju kao izlaz. Kao i kod konvolucijskih mreža, možemo izgraditi još jedan rekurentni sloj nakon prvog kako bismo prepoznali uzorke višeg nivoa, izgrađene na temelju uzoraka nižeg nivoa koje je izdvojio prvi sloj. To nas dovodi do pojma **višeslojnog RNN-a**, koji se sastoji od dvije ili više rekurentnih mreža, gdje se izlaz prethodnog sloja prosljeđuje sljedećem sloju kao ulaz.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Slika preuzeta iz [ovog izvrsnog članka](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) autora Fernanda Lópeza.*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@
|
|||
"\n",
|
||||
"Način na koji ćemo trenirati RNN za generiranje teksta je sljedeći. U svakom koraku uzet ćemo niz znakova duljine `nchars` i tražiti od mreže da generira sljedeći izlazni znak za svaki ulazni znak:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Ovisno o stvarnom scenariju, možda ćemo htjeti uključiti i neke posebne znakove, poput *kraj-sekvence* `<eos>`. U našem slučaju, želimo trenirati mrežu za beskonačno generiranje teksta, stoga ćemo fiksirati veličinu svakog niza na `nchars` tokena. Posljedično, svaki primjer za treniranje sastojat će se od `nchars` ulaza i `nchars` izlaza (što je ulazni niz pomaknut za jedan simbol ulijevo). Minibatch će se sastojati od nekoliko takvih nizova.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@
|
|||
"\n",
|
||||
"Način na koji ćemo trenirati RNN za generiranje naslova vijesti je sljedeći. U svakom koraku uzet ćemo jedan naslov, koji će se proslijediti u RNN, i za svaki ulazni znak tražit ćemo od mreže da generira sljedeći izlazni znak:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Za posljednji znak našeg niza tražit ćemo od mreže da generira `<eos>` token.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ U arhitekturi RNN-a koju smo raspravili u prethodnoj jedinici, svaka RNN jedinic
|
|||
|
||||
To omogućuje različite neuronske arhitekture prikazane na slici ispod:
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika iz blog posta [Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) autora [Andrej Karpaty](http://karpathy.github.io/)
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ U ovoj jedinici fokusirat ćemo se na jednostavne generativne modele koji nam po
|
|||
|
||||
Trenirat ćemo ovaj RNN da generira tekst korak po korak. Na svakom koraku uzet ćemo niz znakova duljine `nchars` i tražiti od mreže da generira sljedeći izlazni znak za svaki ulazni znak:
|
||||
|
||||

|
||||

|
||||
|
||||
Tijekom generiranja teksta (tijekom inferencije), počinjemo s nekim **poticajem**, koji se prosljeđuje kroz RNN ćelije kako bi se generiralo njegovo međustanje, a zatim iz tog stanja počinje generiranje. Generiramo jedan znak po jedan, prosljeđujemo stanje i generirani znak sljedećoj RNN ćeliji kako bismo generirali sljedeći znak, sve dok ne generiramo dovoljno znakova.
|
||||
|
||||
|
|
|
|||
|
|
@ -20,13 +20,13 @@ Kod RNN-ova, sekvenca-u-sekvencu se implementira pomoću dvije rekurentne mreže
|
|||
|
||||
**Mehanizmi pažnje** omogućuju ponderiranje kontekstualnog utjecaja svakog ulaznog vektora na svaku izlaznu predikciju RNN-a. To se implementira stvaranjem prečaca između međustanja ulaznog RNN-a i izlaznog RNN-a. Na taj način, pri generiranju izlaznog simbola y<sub>t</sub>, uzet ćemo u obzir sva skrivena stanja ulaza h<sub>i</sub>, s različitim težinskim koeficijentima α<sub>t,i</sub>.
|
||||
|
||||

|
||||

|
||||
|
||||
> Enkoder-dekoder model s aditivnim mehanizmom pažnje u [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), citirano iz [ovog blog posta](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)
|
||||
|
||||
Matrica pažnje {α<sub>i,j</sub>} predstavlja stupanj u kojem određene ulazne riječi sudjeluju u generiranju određene riječi u izlaznoj sekvenci. Ispod je primjer takve matrice:
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika iz [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Slika 3)
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ Rezultat koji dobivamo s pozicijskim ugrađivanjem uključuje i originalni token
|
|||
|
||||
Zatim trebamo uhvatiti neke uzorke unutar naše sekvence. Da bismo to učinili, transformeri koriste mehanizam **samopozornosti**, koji je u osnovi pažnja primijenjena na istu sekvencu kao ulaz i izlaz. Primjena samopozornosti omogućuje nam uzimanje u obzir **konteksta** unutar rečenice i uvid u međusobne odnose između riječi. Na primjer, omogućuje nam da vidimo na koje riječi se odnose zamjenice poput *to*, i također uzimamo kontekst u obzir:
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika iz [Googleovog bloga](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html)
|
||||
|
||||
|
|
@ -91,7 +91,7 @@ Budući da se svaka ulazna pozicija neovisno mapira na svaku izlaznu poziciju, t
|
|||
|
||||
**BERT** (Bidirectional Encoder Representations from Transformers) je vrlo velika višeslojna transformer mreža s 12 slojeva za *BERT-base*, i 24 za *BERT-large*. Model se prvo unaprijed trenira na velikom korpusu tekstualnih podataka (WikiPedia + knjige) koristeći nenadzirano učenje (predviđanje maskiranih riječi u rečenici). Tijekom unaprijed treniranja model usvaja značajne razine razumijevanja jezika koje se zatim mogu iskoristiti s drugim skupovima podataka pomoću finog podešavanja. Ovaj proces naziva se **transferno učenje**.
|
||||
|
||||

|
||||

|
||||
|
||||
> Slika [izvor](http://jalammar.github.io/illustrated-bert/)
|
||||
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
"\n",
|
||||
"**Mehanizmi pažnje** omogućuju ponderiranje kontekstualnog utjecaja svakog ulaznog vektora na svaku izlaznu predikciju RNN-a. To se implementira stvaranjem prečaca između međustanja ulaznog RNN-a i izlaznog RNN-a. Na taj način, prilikom generiranja izlaznog simbola $y_t$, uzimamo u obzir sva skrivena stanja ulaza $h_i$, s različitim težinskim koeficijentima $\\alpha_{t,i}$.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Encoder-decoder model s mehanizmom aditivne pažnje iz [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), citirano iz [ovog blog posta](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
|
||||
"\n",
|
||||
"Matrica pažnje $\\{\\alpha_{i,j}\\}$ predstavlja stupanj u kojem određene ulazne riječi sudjeluju u generiranju određene riječi u izlaznom nizu. Ispod je primjer takve matrice:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Slika preuzeta iz [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Slika 3)*\n",
|
||||
"\n",
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
"\n",
|
||||
"**BERT** (Bidirectional Encoder Representations from Transformers) je vrlo velika višeslojna mreža transformera s 12 slojeva za *BERT-base* i 24 za *BERT-large*. Model se prvo unaprijed trenira na velikom korpusu tekstualnih podataka (WikiPedia + knjige) koristeći nenadzirano učenje (predviđanje maskiranih riječi u rečenici). Tijekom unaprijed treniranja model usvaja značajnu razinu razumijevanja jezika, koja se zatim može iskoristiti s drugim skupovima podataka pomoću finog podešavanja. Ovaj proces naziva se **prijenosno učenje**.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Postoji mnogo varijacija arhitektura transformera, uključujući BERT, DistilBERT, BigBird, OpenGPT3 i druge, koje se mogu fino podešavati. Paket [HuggingFace](https://github.com/huggingface/) pruža repozitorij za treniranje mnogih od ovih arhitektura s PyTorchom.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
"\n",
|
||||
"**Mehanizmi pažnje** omogućuju ponderiranje kontekstualnog utjecaja svakog ulaznog vektora na svaku izlaznu predikciju RNN-a. To se implementira stvaranjem prečaca između međustanja ulaznog RNN-a i izlaznog RNN-a. Na taj način, prilikom generiranja izlaznog simbola $y_t$, uzimamo u obzir sva ulazna skrivena stanja $h_i$, s različitim težinskim koeficijentima $\\alpha_{t,i}$.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Encoder-decoder model s aditivnim mehanizmom pažnje u [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), citirano iz [ovog blog posta](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
|
||||
"\n",
|
||||
"Matrica pažnje $\\{\\alpha_{i,j}\\}$ predstavlja stupanj u kojem određene ulazne riječi sudjeluju u generiranju određene riječi u izlaznom nizu. Ispod je primjer takve matrice:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Slika preuzeta iz [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Slika 3)*\n",
|
||||
"\n",
|
||||
|
|
@ -231,7 +231,7 @@
|
|||
"\n",
|
||||
"**BERT** (Bidirectional Encoder Representations from Transformers) je vrlo velika višeslojna transformacijska mreža s 12 slojeva za *BERT-base* i 24 za *BERT-large*. Model se prvo unaprijed trenira na velikom korpusu tekstualnih podataka (WikiPedia + knjige) koristeći nenadzirano učenje (predviđanje maskiranih riječi u rečenici). Tijekom unaprijednog treniranja model usvaja značajnu razinu razumijevanja jezika, što se kasnije može iskoristiti s drugim skupovima podataka putem finog podešavanja. Ovaj proces naziva se **transferno učenje**.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Postoji mnogo varijacija transformacijskih arhitektura, uključujući BERT, DistilBERT, BigBird, OpenGPT3 i druge, koje se mogu fino podešavati.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ novorođenčeta | O
|
|||
|
||||
Budući da trebamo izgraditi jedno-na-jedno korespondenciju između tokena i klasa, možemo trenirati desno **mnogostruko-na-mnogostruko** neuronski mrežni model iz ove slike:
|
||||
|
||||

|
||||

|
||||
|
||||
> *Slika iz [ovog blog posta](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) autora [Andreja Karpathyja](http://karpathy.github.io/). NER modeli za klasifikaciju tokena odgovaraju desno najudaljenijoj arhitekturi mreže na ovoj slici.*
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Obrada Prirodnog Jezika
|
||||
|
||||

|
||||

|
||||
|
||||
U ovom dijelu fokusirat ćemo se na korištenje neuronskih mreža za rješavanje zadataka povezanih s **Obradom Prirodnog Jezika (NLP)**. Postoji mnogo NLP problema koje želimo da računala mogu riješiti:
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ Možete otvoriti jedan od modela, na primjer **Biology → Flocking**.
|
|||
|
||||
Nakon otvaranja modela, dolazite na glavni ekran NetLoga. Evo uzorka modela koji opisuje populaciju vukova i ovaca, s obzirom na ograničene resurse (trava).
|
||||
|
||||

|
||||

|
||||
|
||||
> Snimka zaslona Dmitryja Soshnikova
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Pregled
|
||||
|
||||

|
||||

|
||||
|
||||
> Crtež bilješki od [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Nakon uspjeha transformera u rješavanju zadataka obrade prirodnog jezika (NLP),
|
|||
|
||||
Glavna ideja CLIP-a je usporediti tekstualne upite sa slikom i odrediti koliko dobro slika odgovara upitu.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Slika iz [ovog blog posta](https://openai.com/blog/clip/)*
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ Nakon što je ovaj model prethodno treniran, možemo mu dati batch slika i batch
|
|||
|
||||
Pretpostavimo da trebamo klasificirati slike, primjerice, između mačaka, pasa i ljudi. U tom slučaju možemo modelu dati sliku i niz tekstualnih upita: "*slika mačke*", "*slika psa*", "*slika čovjeka*". U rezultirajućem vektoru s 3 vjerojatnosti samo trebamo odabrati indeks s najvećom vrijednošću.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Slika iz [ovog blog posta](https://openai.com/blog/clip/)*
|
||||
|
||||
|
|
@ -53,13 +53,13 @@ Više o VQGAN-u saznajte na web stranici [Taming Transformers](https://compvis.g
|
|||
|
||||
Jedna od važnih razlika između VQGAN-a i tradicionalnog GAN-a je ta što potonji može proizvesti pristojnu sliku iz bilo kojeg ulaznog vektora, dok VQGAN vjerojatno neće proizvesti koherentnu sliku. Stoga je potrebno dodatno usmjeriti proces stvaranja slike, a to se može učiniti pomoću CLIP-a.
|
||||
|
||||

|
||||

|
||||
|
||||
Za generiranje slike koja odgovara tekstualnom upitu, počinjemo s nekim nasumičnim vektorskim kodiranjem koje se prosljeđuje kroz VQGAN kako bi se proizvela slika. Zatim se CLIP koristi za stvaranje funkcije gubitka koja pokazuje koliko dobro slika odgovara tekstualnom upitu. Cilj je minimizirati taj gubitak koristeći backpropagation za prilagodbu parametara ulaznog vektora.
|
||||
|
||||
Odlična biblioteka koja implementira VQGAN+CLIP je [Pixray](http://github.com/pixray/pixray).
|
||||
|
||||
 |  | 
|
||||
 |  | 
|
||||
----|----|----
|
||||
Slika generirana iz upita *bliski akvarelni portret mladog učitelja književnosti s knjigom* | Slika generirana iz upita *bliski uljani portret mlade učiteljice računalnih znanosti s računalom* | Slika generirana iz upita *bliski uljani portret starijeg učitelja matematike ispred ploče*
|
||||
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
<!--
|
||||
CO_OP_TRANSLATOR_METADATA:
|
||||
{
|
||||
"original_hash": "4ed9993bca581850c983c95d5a3f57eb",
|
||||
"translation_date": "2025-12-25T01:14:24+00:00",
|
||||
"original_hash": "14816e97d79b296c87811724f7785923",
|
||||
"translation_date": "2026-01-01T12:44:53+00:00",
|
||||
"source_file": "README.md",
|
||||
"language_code": "hu"
|
||||
}
|
||||
-->
|
||||
[](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/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/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,114 +21,114 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
# Mesterséges intelligencia kezdőknek - Tanterv
|
||||
# Mesterséges intelligencia kezdőknek - Tananyag
|
||||
|
||||
||
|
||||
||
|
||||
|:---:|
|
||||
| Mesterséges intelligencia kezdőknek - _Vázlatjegyzet: [@girlie_mac](https://twitter.com/girlie_mac)_ |
|
||||
| Mesterséges intelligencia kezdőknek - _Sketchnote készítette [@girlie_mac](https://twitter.com/girlie_mac)_ |
|
||||
|
||||
Fedezze fel a **Mesterséges Intelligencia** (MI) világát 12 hetes, 24 leckés tantervünkkel! Tartalmaz gyakorlati leckéket, kvízeket és laborokat. A tananyag kezdőbarát, és olyan eszközöket érint, mint a TensorFlow és a PyTorch, valamint az MI etikai kérdéseit is
|
||||
Fedezd fel a **Mesterséges Intelligencia** (MI) világát 12 hétre és 24 leckére bontott tananyagunkkal! Tartalmaz gyakorlati leckéket, kvízeket és laborokat. A tananyag kezdőbarát, és olyan eszközöket ismertet, mint a TensorFlow és a PyTorch, valamint az MI etikai vonatkozásait is.
|
||||
|
||||
### 🌐 Többnyelvű támogatás
|
||||
|
||||
#### GitHub Action által támogatott (Automatikus és mindig naprakész)
|
||||
#### Támogatott GitHub Action által (Automatizált és mindig naprakész)
|
||||
|
||||
<!-- 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](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](./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 -->
|
||||
|
||||
**Ha további fordítási nyelvek támogatását szeretné, azok [itt](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md) találhatók**
|
||||
**Ha további fordítási nyelveket szeretnél támogatni, azok listája [itt található](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
|
||||
|
||||
## Csatlakozz a közösséghez
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
## Mit fog megtanulni
|
||||
## Mit fogsz megtanulni
|
||||
|
||||
**[A kurzus gondolattérképe](http://soshnikov.com/courses/ai-for-beginners/mindmap.html)**
|
||||
|
||||
Ebben a tananyagban a következőket sajátíthatja el:
|
||||
Ebben a tananyagban megtanulod:
|
||||
|
||||
* A mesterséges intelligencia különböző megközelítéseit, beleértve a „régi jó” szimbolikus megközelítést, amely a **tudásreprezentációra** és a következtetésre épül ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
|
||||
* **Neurális hálózatok** és **mélytanulás**, amelyek a modern MI magját képezik. Ezekhez a fontos témákhoz kódon keresztül illusztráljuk a fogalmakat a két legnépszerűbb keretrendszerrel - [TensorFlow](http://Tensorflow.org) és [PyTorch](http://pytorch.org).
|
||||
* **Neurális architektúrák** a képekkel és szövegekkel való munkához. Bemutatjuk a közelmúltbeli modelleket, bár előfordulhat, hogy nem teljesen naprakészek a legmodernebb megoldások tekintetében.
|
||||
* Kevésbé elterjedt MI-megközelítéseket, mint például a **genetikus algoritmusok** és a **többügynökös rendszerek**.
|
||||
* A mesterséges intelligencia különböző megközelítéseit, beleértve a "régi jó" szimbolikus megközelítést a **tudásreprezentációval** és következtetéssel ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
|
||||
* **Neurális hálózatokat** és a **mélytanulást**, amelyek a modern MI magját képezik. A fontos fogalmakat két népszerű keretrendszer — [TensorFlow](http://Tensorflow.org) és [PyTorch](http://pytorch.org) — kódpéldáin keresztül szemléltetjük.
|
||||
* **Neurális architektúrákat** képek és szöveg feldolgozásához. Lefedjük a közelmúltbeli modelleket, bár előfordulhat, hogy nem mindig a legfrissebb állapotot tükrözik.
|
||||
* Kevésbé népszerű MI-megközelítéseket, mint a **genetikus algoritmusok** és a **többügynökös rendszerek**.
|
||||
|
||||
Mit nem fedünk le ebben a tananyagban:
|
||||
Mit nem fogunk lefedni ebben a tananyagban:
|
||||
|
||||
> [Minden további erőforrás ehhez a kurzushoz megtalálható Microsoft Learn gyűjteményünkben](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
|
||||
> [Minden további forrást erre a kurzusra megtalálsz a Microsoft Learn gyűjteményünkben](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
|
||||
|
||||
* Az **AI üzleti alkalmazásainak** üzleti eseteit. Érdemes megfontolni a Microsoft Learn-en elérhető [Introduction to AI for business users](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) tanulási útvonal elvégzését, vagy az [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum) anyagát, amelyet az [INSEAD](https://www.insead.edu/) együttműködésével fejlesztettek.
|
||||
* A **klasszikus gépi tanulást**, amelyről részletesen olvashat a [Machine Learning for Beginners Curriculum](http://github.com/Microsoft/ML-for-Beginners) tananyagunkban.
|
||||
* Gyakorlati MI-alkalmazásokat, amelyeket **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)** segítségével építenek. Ehhez javasoljuk, hogy kezdje a Microsoft Learn moduljaival a [vision](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum), a [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)** és egyéb modulokban.
|
||||
* Specifikus ML **felhőkeretrendszereket**, mint például az [Azure Machine Learning](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-bethanycheum), a [Microsoft Fabric](https://learn.microsoft.com/en-us/training/paths/get-started-fabric/?WT.mc_id=academic-77998-bethanycheum) vagy az [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Érdemes megfontolni a [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) és a [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) tanulási útvonalakat.
|
||||
* **Beszélgető MI-t** és **csevegőbotokat**. Van külön [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum) tanulási útvonal, illetve további részletekért hivatkozhat erre a [blogbejegyzésre](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/).
|
||||
* A mélytanulás mögötti **mély matematikát**. Ehhez ajánljuk Ian Goodfellow, Yoshua Bengio és Aaron Courville könyvét, a [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618), amely online is elérhető a [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/) címen.
|
||||
* Az **MI üzleti** alkalmazásainak üzleti eseteit. Érdemes elvégezni a Microsoft Learn-en található [Introduction to AI for business users](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) tanulási utat, vagy megtekinteni az [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum) anyagát, amelyet az [INSEAD](https://www.insead.edu/) együttműködésével fejlesztettek ki.
|
||||
* A **klasszikus gépi tanulást**, amely részletesen szerepel a [Machine Learning for Beginners Curriculum](http://github.com/Microsoft/ML-for-Beginners) anyagunkban.
|
||||
* Gyakorlati MI-alkalmazásokat, amelyeket a **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)** szolgáltatásokkal építenek. Ehhez ajánljuk, hogy kezdd a Microsoft Learn moduljaival a [vision](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum), a [természetes nyelvfeldolgozás](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)** és más témakörökben.
|
||||
* Specifikus ML **felhőalapú keretrendszereket**, mint például [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), vagy [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Érdemes megvizsgálni a [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) és a [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) tanulási útvonalakat.
|
||||
* **Konverzációs MI**-t és **chatbotokat**. Van külön [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum) tanulási út, és további részletekért hivatkozhatsz [erre a blogbejegyzésre](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/).
|
||||
* A mélytanulás mögötti **mély matematika** részleteit. Ehhez ajánljuk Ian Goodfellow, Yoshua Bengio és Aaron Courville által írt [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) könyvet, amely online is elérhető a [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/) címen.
|
||||
|
||||
A felhőalapú MI témák finom bevezetéséhez érdemes megfontolni a [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) tanulási útvonal elvégzését.
|
||||
Az _AI a felhőben_ témakörök könnyed bevezetéséhez érdemes lehet elvégezni a [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) Learning Path-et.
|
||||
|
||||
# Tartalom
|
||||
|
||||
| | Lecke hivatkozás | PyTorch/Keras/TensorFlow | Labor |
|
||||
| :-: | :------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: | ------------------------------------------------------------------------------ |
|
||||
| 0 | [Kurzus beállítása](./lessons/0-course-setup/setup.md) | [Fejlesztői környezet beállítása](./lessons/0-course-setup/how-to-run.md) | |
|
||||
| I | [**Bevezetés az MI-be**](./lessons/1-Intro/README.md) | | |
|
||||
| 0 | [Kurzus beállítása](./lessons/0-course-setup/setup.md) | [Fejlesztési környezet beállítása](./lessons/0-course-setup/how-to-run.md) | |
|
||||
| I | [**Bevezetés a mesterséges intelligenciába**](./lessons/1-Intro/README.md) | | |
|
||||
| 01 | [Bevezetés és az MI története](./lessons/1-Intro/README.md) | - | - |
|
||||
| II | **Szimbolikus MI** |
|
||||
| 02 | [Tudásreprezentáció és szakértői rendszerek](./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) | |
|
||||
| 02 | [Tudásreprezentáció és szakértői rendszerek](./lessons/2-Symbolic/README.md) | [Szakértői rendszerek](./lessons/2-Symbolic/Animals.ipynb) / [Ontológia](./lessons/2-Symbolic/FamilyOntology.ipynb) /[Fogalomgráf](./lessons/2-Symbolic/MSConceptGraph.ipynb) | |
|
||||
| III | [**Bevezetés a neurális hálózatokhoz**](./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 | [Többrétegű perceptron és saját keretrendszer létrehozása](./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 | [Bevezetés a keretrendszerekbe (PyTorch/TensorFlow) és túltanulás](./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 | [**Számítógépes látás**](./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)| [Explore Computer Vision on Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
|
||||
| 06 | [Bevezetés a számítógépes látásba. 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 | [Konvolúciós neurális hálózatok](./lessons/4-ComputerVision/07-ConvNets/README.md) & [CNN architektúrák](./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 | [Előre betanított hálózatok és átviteli tanulás](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [Edzési trükkök](./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) |
|
||||
| 03 | [Perceptron](./lessons/3-NeuralNetworks/03-Perceptron/README.md) | [Jegyzetfüzet](./lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb) | [Labor](./lessons/3-NeuralNetworks/03-Perceptron/lab/README.md) |
|
||||
| 04 | [Többrétegű perceptron és saját keretrendszer létrehozása](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [Jegyzetfüzet](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [Labor](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
|
||||
| 05 | [Bevezetés a keretrendszerekbe (PyTorch/TensorFlow) és túltanulás](./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) | [Labor](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) |
|
||||
| IV | [**Számítógépes látás**](./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)| [Fedezd fel a számítógépes látást a Microsoft Azure-on](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
|
||||
| 06 | [Bevezetés a számítógépes látásba. OpenCV](./lessons/4-ComputerVision/06-IntroCV/README.md) | [Jegyzetfüzet](./lessons/4-ComputerVision/06-IntroCV/OpenCV.ipynb) | [Labor](./lessons/4-ComputerVision/06-IntroCV/lab/README.md) |
|
||||
| 07 | [Konvolúciós neurális hálózatok](./lessons/4-ComputerVision/07-ConvNets/README.md) & [CNN architektúrák](./lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md) | [PyTorch](./lessons/4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb) /[TensorFlow](./lessons/4-ComputerVision/07-ConvNets/ConvNetsTF.ipynb) | [Labor](./lessons/4-ComputerVision/07-ConvNets/lab/README.md) |
|
||||
| 08 | [Előre betanított hálózatok és átviteli tanulás](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [Tanítási trükkök](./lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md) | [PyTorch](./lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Labor](./lessons/4-ComputerVision/08-TransferLearning/lab/README.md) |
|
||||
| 09 | [Autoenkóderek és VAE-k](./lessons/4-ComputerVision/09-Autoencoders/README.md) | [PyTorch](./lessons/4-ComputerVision/09-Autoencoders/AutoEncodersPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb) | |
|
||||
| 10 | [Generatív ellenséges hálózatok & Művészi stílustranszfer](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
|
||||
| 11 | [Objektumdetektálás](./lessons/4-ComputerVision/11-ObjectDetection/README.md) | [TensorFlow](./lessons/4-ComputerVision/11-ObjectDetection/ObjectDetection.ipynb) | [Lab](./lessons/4-ComputerVision/11-ObjectDetection/lab/README.md) |
|
||||
| 10 | [Generatív ellenséges hálózatok és művészi stílusátvitel](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
|
||||
| 11 | [Objektumészlelés](./lessons/4-ComputerVision/11-ObjectDetection/README.md) | [TensorFlow](./lessons/4-ComputerVision/11-ObjectDetection/ObjectDetection.ipynb) | [Labor](./lessons/4-ComputerVision/11-ObjectDetection/lab/README.md) |
|
||||
| 12 | [Szemantikus szegmentálás. 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 | [**Természetes nyelvfeldolgozás**](./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) | [Explore Natural Language Processing on Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)|
|
||||
| 13 | [Szöveg reprezentáció. 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) | |
|
||||
| V | [**Természetes nyelvfeldolgozás**](./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) | [Fedezd fel a természetes nyelvfeldolgozást a Microsoft Azure-on](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)|
|
||||
| 13 | [Szöveg reprezentáció. 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 | [Szemantikus szóbeágyazások. Word2Vec és 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 | [Nyelvi modellezés. Saját beágyazások tanítása](./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 | [Rekurzív neurális hálózatok](./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 | [Generatív rekurzív hálózatok](./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 | [Transzformerek. 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 | [Név szerinti entitásfelismerés](./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 | [Nagy nyelvi modellek, prompt programozás és few-shot feladatok](./lessons/5-NLP/20-LangModels/README.md) | [PyTorch](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb) | |
|
||||
| VI | Egyéb MI technikák || |
|
||||
| 21 | [Genetikus algoritmusok](./lessons/6-Other/21-GeneticAlgorithms/README.md) | [Notebook](./lessons/6-Other/21-GeneticAlgorithms/Genetic.ipynb) | |
|
||||
| 22 | [Mély megerősítéses tanulás](./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) |
|
||||
| 15 | [Nyelvi modellezés. Saját beágyazások tanítása](./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) | [Labor](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
|
||||
| 16 | [Rekurens neurális hálózatok](./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 | [Generatív rekurens hálózatok](./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) | [Labor](./lessons/5-NLP/17-GenerativeNetworks/lab/README.md) |
|
||||
| 18 | [Transformerek. 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 | [Név szerinti entitásfelismerés](./lessons/5-NLP/19-NER/README.md) | [TensorFlow](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/19-NER/NER-TF.ipynb) | [Labor](./lessons/5-NLP/19-NER/lab/README.md) |
|
||||
| 20 | [Nagy nyelvi modellek, prompt-programozás és few-shot feladatok](./lessons/5-NLP/20-LangModels/README.md) | [PyTorch](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb) | |
|
||||
| VI | **Egyéb MI technikák** || |
|
||||
| 21 | [Genetikus algoritmusok](./lessons/6-Other/21-GeneticAlgorithms/README.md) | [Jegyzetfüzet](./lessons/6-Other/21-GeneticAlgorithms/Genetic.ipynb) | |
|
||||
| 22 | [Mély megerősítéses tanulás](./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) | [Labor](./lessons/6-Other/22-DeepRL/lab/README.md) |
|
||||
| 23 | [Többügynökös rendszerek](./lessons/6-Other/23-MultiagentSystems/README.md) | | |
|
||||
| VII | **MI etika** | | |
|
||||
| 24 | [MI etika és felelős mesterséges intelligencia](./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) | |
|
||||
| IX | **Extrák** | | |
|
||||
| 25 | [Többmodalitású hálózatok, CLIP és VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [Notebook](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | |
|
||||
| 24 | [MI-etika és a felelős MI](./lessons/7-Ethics/README.md) | [Microsoft Learn: A felelős MI alapelvei](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | |
|
||||
| IX | **Kiegészítők** | | |
|
||||
| 25 | [Többmodális hálózatok, CLIP és VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [Jegyzetfüzet](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | |
|
||||
|
||||
## Minden lecke tartalmaz
|
||||
|
||||
* Előolvasmányokat
|
||||
* Futtatható Jupyter jegyzetfüzeteket, amelyek gyakran a keretrendszerhez (**PyTorch** vagy **TensorFlow**) kötődnek. A futtatható jegyzetfüzet sok elméleti anyagot is tartalmaz, ezért a téma megértéséhez legalább az egyik verziót (vagy PyTorch-ot, vagy TensorFlow-t) át kell dolgoznod.
|
||||
* Bizonyos témákhoz elérhető **laborok**, amelyek lehetőséget adnak a tanultak alkalmazásának kipróbálására egy konkrét problémán.
|
||||
* Néhány rész tartalmaz linkeket a [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) modulokra, amelyek kapcsolódó témákat fednek le.
|
||||
* Előolvasási anyag
|
||||
* Futtatható Jupyter jegyzetfüzetek, amelyek gyakran adott keretrendszerhez kötöttek (**PyTorch** vagy **TensorFlow**). A futtatható jegyzetfüzet sok elméleti anyagot is tartalmaz, ezért a téma megértéséhez legalább az egyik verziót (akár PyTorch, akár TensorFlow) végig kell nézni.
|
||||
* **Laborok** bizonyos témákhoz elérhetők, amelyek lehetőséget adnak, hogy kipróbáld a tanult anyag alkalmazását egy konkrét problémára.
|
||||
* Néhány szakasz tartalmaz linkeket a [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) modulokra, amelyek kapcsolódó témákat fednek le.
|
||||
|
||||
## Első lépések
|
||||
|
||||
### 🎯 Új az MI-ben? Kezdd itt!
|
||||
### 🎯 Új vagy az MI-ben? Kezdd itt!
|
||||
|
||||
Ha teljesen új vagy az MI területén és gyors, gyakorlati példákat szeretnél, nézd meg a [**Kezdőbarát példákat**](./examples/README.md)! Ezek tartalmazzák:
|
||||
Ha teljesen új vagy az MI területén és gyors, gyakorlati példákat szeretnél, nézd meg a [**Kezdőknek szóló példákat**](./examples/README.md)! Ezek tartalmazzák:
|
||||
|
||||
- 🌟 **Hello AI World** - Az első MI programod (mintafelismerés)
|
||||
- 🧠 **Egyszerű neurális hálózat** - Építs neurális hálózatot a semmiből
|
||||
- 🖼️ **Kép-osztályozó** - Osztályozd a képeket részletes magyarázatokkal
|
||||
- 💬 **Szöveg érzelmi töltete** - Pozitív/negatív szöveg elemzése
|
||||
- 🧠 **Egyszerű neurális hálózat** - Építs egy neurális hálózatot a nulláról
|
||||
- 🖼️ **Képosztályozó** - Képeket osztályoz részletes magyarázatokkal
|
||||
- 💬 **Szöveg hangulata** - Pozitív/negatív szöveg elemzése
|
||||
|
||||
These examples are designed to help you understand AI concepts before diving into the full curriculum.
|
||||
|
||||
### 📚 Teljes tananyag beállítása
|
||||
|
||||
- Létrehoztunk egy [beállító leckét](./lessons/0-course-setup/setup.md), hogy segítsünk a fejlesztői környezet beállításában. - Oktatóknak is készítettünk egy [tananyag-beállító leckét](./lessons/0-course-setup/for-teachers.md) a részükre!
|
||||
- Hogyan [futtasd a kódot VSCode-ban vagy Codepace-ben](./lessons/0-course-setup/how-to-run.md)
|
||||
- Létrehoztunk egy [beállító leckét](./lessons/0-course-setup/setup.md), amely segít fejlesztői környezeted beállításában. - Oktatóknak is készítettünk egy [tananyag-beállító leckét](./lessons/0-course-setup/for-teachers.md)!
|
||||
- Hogyan futtathatod a kódot egy VSCode-ban vagy egy Codepace-ben: [Run the code in a VSCode or a Codepace](./lessons/0-course-setup/how-to-run.md)
|
||||
|
||||
Follow these steps:
|
||||
|
||||
|
|
@ -140,13 +140,13 @@ Don't forget to star (🌟) this repo to find it easier later.
|
|||
|
||||
## Meet other Learners
|
||||
|
||||
Join our [hivatalos AI Discord szerverünkhöz](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum) to meet and network with other learners taking this course and get support.
|
||||
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.
|
||||
|
||||
If you have product feedback or questions whilst building visit our [Azure AI Foundry Fejlesztői Fórum](https://aka.ms/foundry/forum)
|
||||
If you have product feedback or questions whilst building visit our [Azure AI Foundry Developer Forum](https://aka.ms/foundry/forum)
|
||||
|
||||
## Quizzes
|
||||
|
||||
> **Megjegyzés a kvízekről**: Minden kvíz a Quiz-app mappában található az etc\quiz-app útvonalon, vagy [Online itt](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.
|
||||
> **Megjegyzés a kvízekről**: All quizzes are contained in the Quiz-app folder in etc\quiz-app, or [Online itt](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.
|
||||
|
||||
## Help Wanted
|
||||
|
||||
|
|
@ -157,7 +157,7 @@ Do you have suggestions or found spelling or code errors? Raise an issue or crea
|
|||
* **✍️ Fő szerző:** [Dmitry Soshnikov](http://soshnikov.com), PhD
|
||||
* **🔥 Szerkesztő:** [Jen Looper](https://twitter.com/jenlooper), PhD
|
||||
* **🎨 Sketchnote illusztrátor:** [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
* **✅ Kvízkészítő:** [Lateefah Bello](https://github.com/CinnamonXI), [MLSA](https://studentambassadors.microsoft.com/)
|
||||
* **✅ Kvíz készítő:** [Lateefah Bello](https://github.com/CinnamonXI), [MLSA](https://studentambassadors.microsoft.com/)
|
||||
* **🙏 Fő közreműködők:** [Evgenii Pishchik](https://github.com/Pe4enIks)
|
||||
|
||||
## Other Curricula
|
||||
|
|
@ -171,11 +171,11 @@ Our team produces other curricula! Check out:
|
|||
|
||||
---
|
||||
|
||||
### Azure / Edge / MCP / Agentek
|
||||
### Azure / Edge / MCP / Ágensek
|
||||
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -187,10 +187,10 @@ Our team produces other curricula! Check out:
|
|||
|
||||
---
|
||||
|
||||
### Alapozó tananyagok
|
||||
### Alapozó tananyag
|
||||
[](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)
|
||||
|
|
@ -206,7 +206,7 @@ Our team produces other curricula! Check out:
|
|||
|
||||
## Getting Help
|
||||
|
||||
Ha elakadsz, vagy kérdésed van AI-alkalmazások készítésével kapcsolatban, csatlakozz más tanulókhoz és tapasztalt fejlesztőkhöz az MCP-ről szóló beszélgetésekben. Ez egy támogató közösség, ahol a kérdésekre szívesen válaszolnak és a tudást szabadon megosztják.
|
||||
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.
|
||||
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
|
|
@ -218,5 +218,5 @@ If you have product feedback or errors while building visit:
|
|||
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
||||
Felelősségkizárás:
|
||||
Ezt a dokumentumot a [Co-op Translator](https://github.com/Azure/co-op-translator) mesterséges intelligencia-alapú fordítószolgáltatásával fordítottuk le. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum anyanyelvi változatát tekintse a hiteles forrásnak. Fontos információk esetén professzionális, emberi fordítást javaslunk. Nem vállalunk felelősséget az e fordítás használatából eredő félreértésekért vagy téves értelmezésekért.
|
||||
Ezt a dokumentumot az [Co-op Translator](https://github.com/Azure/co-op-translator) nevű mesterséges intelligencia alapú fordító szolgáltatással fordították. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítás hibákat vagy pontatlanságokat tartalmazhat. Az eredeti, anyanyelvi dokumentum tekintendő a hiteles forrásnak. Fontos információk esetén szakmai, emberi fordítást javaslunk. Nem vállalunk felelősséget a fordítás használatából eredő félreértésekért vagy téves értelmezésekért.
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
|
||||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Bevezetés a mesterséges intelligenciába
|
||||
|
||||

|
||||

|
||||
|
||||
> Rajz: [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
Eredetileg a számítógépeket [Charles Babbage](https://en.wikipedia.org/wiki/Charles_Babbage) találta fel, hogy számokkal dolgozzanak egy jól meghatározott eljárás – algoritmus – alapján. A modern számítógépek, bár jelentősen fejlettebbek, mint a 19. században javasolt eredeti modell, még mindig ugyanazt az irányított számítási elvet követik. Ezért lehetséges egy számítógépet programozni, hogy valamit elvégezzen, ha pontosan ismerjük a cél eléréséhez szükséges lépések sorrendjét.
|
||||
|
||||

|
||||

|
||||
|
||||
> Fotó: [Vickie Soshnikova](http://twitter.com/vickievalerie)
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ További információért lásd **[Mesterséges általános intelligencia](https
|
|||
|
||||
Az egyik probléma az **[intelligencia](https://en.wikipedia.org/wiki/Intelligence)** kifejezéssel kapcsolatban az, hogy nincs egyértelmű definíciója. Egyesek szerint az intelligencia kapcsolódik az **absztrakt gondolkodáshoz**, vagy az **önismerethez**, de nem tudjuk megfelelően meghatározni.
|
||||
|
||||

|
||||

|
||||
|
||||
> [Fotó](https://unsplash.com/photos/75715CVEJhI) készítette [Amber Kipp](https://unsplash.com/@sadmax) az Unsplash-en
|
||||
|
||||
|
|
@ -98,13 +98,13 @@ Alternatívaként megpróbálhatjuk modellezni az agyunk legegyszerűbb elemeit
|
|||
|
||||
> | Mi a helyzet az ML-lel? | |
|
||||
> |--------------|-----------|
|
||||
> | A mesterséges intelligencia azon része, amely a számítógép tanulásán alapul, hogy egy problémát megoldjon bizonyos adatok alapján, **gépi tanulásnak** nevezzük. Ebben a kurzusban nem foglalkozunk a klasszikus gépi tanulással – erre külön [Gépi tanulás kezdőknek](http://aka.ms/ml-beginners) tananyagot ajánlunk. |  |
|
||||
> | A mesterséges intelligencia azon része, amely a számítógép tanulásán alapul, hogy egy problémát megoldjon bizonyos adatok alapján, **gépi tanulásnak** nevezzük. Ebben a kurzusban nem foglalkozunk a klasszikus gépi tanulással – erre külön [Gépi tanulás kezdőknek](http://aka.ms/ml-beginners) tananyagot ajánlunk. |  |
|
||||
|
||||
## A mesterséges intelligencia rövid története
|
||||
|
||||
A mesterséges intelligencia mint terület a huszadik század közepén indult. Kezdetben a szimbolikus érvelés volt az uralkodó megközelítés, és számos fontos sikert eredményezett, például szakértői rendszereket – számítógépes programokat, amelyek képesek voltak szakértőként működni bizonyos korlátozott problématerületeken. Azonban hamar világossá vált, hogy ez a megközelítés nem skálázható jól. A tudás kinyerése egy szakértőtől, annak számítógépes ábrázolása és a tudásbázis pontosan tartása rendkívül összetett feladatnak bizonyult, és sok esetben túl drága volt ahhoz, hogy gyakorlati legyen. Ez az úgynevezett [MI télhez](https://en.wikipedia.org/wiki/AI_winter) vezetett az 1970-es években.
|
||||
|
||||
<img alt="A mesterséges intelligencia rövid története" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a0264357672b0884cf3a220fbafe35c65d70b2c3805f7bf5e.hu.png" width="70%"/>
|
||||
<img alt="A mesterséges intelligencia rövid története" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a.hu.png" width="70%"/>
|
||||
|
||||
> Kép: [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
"\n",
|
||||
"Ebben a példában egy egyszerű tudásalapú rendszert valósítunk meg, amely fizikai jellemzők alapján határozza meg az állatot. A rendszert az alábbi AND-OR fa képviseli (ez csak egy része a teljes fának, könnyen hozzáadhatunk további szabályokat):\n",
|
||||
"\n",
|
||||
"\n"
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Tudásábrázolás és szakértői rendszerek
|
||||
|
||||

|
||||

|
||||
|
||||
> Sketchnote készítette: [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ Leggyakrabban nem határozzuk meg szigorúan a tudást, hanem más kapcsolódó
|
|||
|
||||
Így a **tudásábrázolás** problémája az, hogy hatékony módot találjunk a tudás számítógépen belüli adatként való ábrázolására, hogy automatikusan használható legyen. Ez egy spektrumként értelmezhető:
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép készítette: [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ Blokk szintaxis | Indent | | |
|
|||
|
||||
A szimbolikus AI korai sikerei közé tartoztak az úgynevezett **szakértői rendszerek** - olyan számítógépes rendszerek, amelyeket arra terveztek, hogy egy korlátozott problématerületen szakértőként működjenek. Ezek egy **tudásbázison** alapultak, amelyet egy vagy több emberi szakértőtől nyertek ki, és tartalmaztak egy **következtető motort**, amely ezen tudás alapján végzett következtetéseket.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
---------------------------------------------|------------------------------------------------
|
||||
Az emberi idegrendszer egyszerűsített szerkezete | Tudásalapú rendszer architektúrája
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ A szakértői rendszerek felépítése hasonló az emberi következtetési rends
|
|||
|
||||
Példaként vegyük a következő szakértői rendszert, amely egy állatot határoz meg fizikai jellemzői alapján:
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép készítette: [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
|
|||
|
|
@ -1257,7 +1257,7 @@
|
|||
"* Alacsony tanulási veszteség – a modell jól tudja közelíteni a tanulási adatokat, mert elegendő kifejezőerővel rendelkezik.\n",
|
||||
"* Az érvényesítési veszteség sokkal magasabb lehet, mint a tanulási veszteség, és az edzés során növekedhet is – ez azért van, mert a modell \"megjegyzi\" a tanulási pontokat, és elveszíti az \"összképet\".\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> Ezen a képen az `x` a tanulási adatokat, az `o` az érvényesítési adatokat jelöli. Bal oldalon – lineáris modell (egyrétegű), amely elég jól közelíti az adatok természetét. Jobb oldalon – túlilleszkedett modell, amely tökéletesen közelíti a tanulási adatokat, de bármilyen más adathalmaz esetén (érvényesítési hiba nagyon magas) már nem működik megfelelően.\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ Az overfitting rendkívül fontos fogalom a gépi tanulásban, és nagyon fontos
|
|||
|
||||
Vegyük például az alábbi problémát, amelyben 5 pontot próbálunk közelíteni (a grafikonokon `x` jelöli a pontokat):
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-------------------------|--------------------------
|
||||
**Lineáris modell, 2 paraméter** | **Nemlineáris modell, 7 paraméter**
|
||||
Tanítási hiba = 5.3 | Tanítási hiba = 0
|
||||
|
|
@ -79,7 +79,7 @@ Nagyon fontos megtalálni a megfelelő egyensúlyt a modell gazdagsága (paramé
|
|||
|
||||
Ahogy a fenti grafikonon látható, az overfittinget nagyon alacsony tanítási hiba és magas validációs hiba jelezheti. Általában a tanítás során mind a tanítási, mind a validációs hibák csökkenni kezdenek, majd egy ponton a validációs hiba megállhat a csökkenésben, és növekedni kezdhet. Ez az overfitting jele, és annak indikátora, hogy valószínűleg abba kell hagynunk a tanítást (vagy legalábbis készítenünk kell egy pillanatképet a modellről).
|
||||
|
||||

|
||||

|
||||
|
||||
## Hogyan előzhető meg az overfitting?
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Bevezetés a neurális hálózatokba
|
||||
|
||||

|
||||

|
||||
|
||||
Ahogy a bevezetőben tárgyaltuk, az intelligencia egyik elérési módja egy **számítógépes modell** vagy egy **mesterséges agy** tanítása. A 20. század közepe óta a kutatók különböző matematikai modelleket próbáltak ki, míg az utóbbi években ez az irány rendkívül sikeresnek bizonyult. Az agy ilyen matematikai modelljeit **neurális hálózatoknak** nevezzük.
|
||||
|
||||
|
|
@ -36,13 +36,13 @@ Ebben a tananyagban kizárólag neurális hálózati modellekre fogunk összpont
|
|||
|
||||
A biológiából tudjuk, hogy az agyunk neurális sejtekből (neuronokból) áll, amelyek mindegyike több "bemenettel" (dendritek) és egyetlen "kimenettel" (axon) rendelkezik. Mind a dendritek, mind az axonok képesek elektromos jeleket vezetni, és a köztük lévő kapcsolatok — szinapszisok — különböző vezetőképességet mutathatnak, amelyeket neurotranszmitterek szabályoznak.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
Valódi neuron *([Kép](https://en.wikipedia.org/wiki/Synapse#/media/File:SynapseSchematic_lines.svg) a Wikipédiáról)* | Mesterséges neuron *(Kép a szerzőtől)*
|
||||
|
||||
Így a neuron legegyszerűbb matematikai modellje több bemenetet tartalmaz X<sub>1</sub>, ..., X<sub>N</sub>, egy kimenetet Y, valamint egy sor súlyt W<sub>1</sub>, ..., W<sub>N</sub>. A kimenet a következőképpen számítható:
|
||||
|
||||
<img src="../../../../translated_images/netout.1eb15eb76fd767313e067719f400cec4b0e5090239c3e997c29f6789d4c3c263.hu.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.hu.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
|
||||
|
||||
ahol f egy nemlineáris **aktivációs függvény**.
|
||||
|
||||
|
|
|
|||
|
|
@ -73,14 +73,14 @@ Az [OpenCV Notebook](OpenCV.ipynb) példákban bemutatjuk, hogy a számítógép
|
|||
|
||||
* **Egy Braille könyv fényképének előfeldolgozása**. Arra összpontosítunk, hogyan használhatjuk a küszöbérték alkalmazást, jellemzők detektálását, perspektíva transzformációt és NumPy manipulációkat az egyes Braille szimbólumok elkülönítésére, hogy azokat később neurális hálózat osztályozza.
|
||||
|
||||
 |  | 
|
||||
 |  | 
|
||||
----|-----|-----
|
||||
|
||||
> Kép az [OpenCV.ipynb](OpenCV.ipynb)-ből
|
||||
|
||||
* **Mozgás detektálása videóban képkocka különbséggel**. Ha a kamera fix, akkor a kamera képkockái elég hasonlóak kell legyenek egymáshoz. Mivel a képkockák tömbként vannak ábrázolva, egyszerűen a két egymást követő képkocka tömbjeinek kivonásával megkapjuk a pixelkülönbséget, amely alacsony lesz statikus képkockák esetén, és magasabb lesz, ha jelentős mozgás van a képen.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép az [OpenCV.ipynb](OpenCV.ipynb)-ből
|
||||
|
||||
|
|
@ -89,7 +89,7 @@ Az [OpenCV Notebook](OpenCV.ipynb) példákban bemutatjuk, hogy a számítógép
|
|||
- **Sűrű optikai áramlás** kiszámítja a vektormezőt, amely megmutatja, hogy minden pixel hova mozog
|
||||
- **Ritka optikai áramlás** az alapján működik, hogy néhány jellegzetes jellemzőt vesz a képen (pl. élek), és ezek pályáját építi fel képkockáról képkockára.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép az [OpenCV.ipynb](OpenCV.ipynb)-ből
|
||||
|
||||
|
|
|
|||
|
|
@ -13,11 +13,11 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
A VGG-16 egy hálózat, amely 2014-ben 92,7%-os pontosságot ért el az ImageNet top-5 osztályozásban. Az alábbi rétegstruktúrával rendelkezik:
|
||||
|
||||

|
||||

|
||||
|
||||
Ahogy látható, a VGG egy hagyományos piramis architektúrát követ, amely egy konvolúciós és pooling rétegek sorozata.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép forrása: [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)
|
||||
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@
|
|||
"\n",
|
||||
"Így egy tipikus CNN-ben több konvolúciós réteg található, amelyek között pooling rétegek csökkentik a kép dimenzióit. Emellett növeljük a szűrők számát is, mivel ahogy a minták egyre összetettebbé válnak, több érdekes kombinációt kell keresnünk.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"A térbeli dimenziók csökkenése és a jellemzők/szűrők dimenzióinak növekedése miatt ezt az architektúrát **piramis architektúrának** is nevezik.\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -358,7 +358,7 @@
|
|||
"\n",
|
||||
"Így egy tipikus CNN-ben több konvolúciós réteg található, közöttük pooling rétegekkel, amelyek csökkentik a kép dimenzióit. Emellett növeljük a szűrők számát is, mert ahogy a minták bonyolultabbá válnak, több érdekes kombinációt kell keresnünk.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"A térbeli dimenziók csökkenése és a jellemzők/szűrők dimenzióinak növekedése miatt ezt az architektúrát **piramis architektúrának** is nevezik.\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ A valóságban azt szeretnénk, hogy képesek legyünk felismerni tárgyakat egy
|
|||
|
||||
A mintázatok kinyeréséhez a **konvolúciós szűrők** fogalmát használjuk. Mint tudjuk, egy kép egy 2D-mátrixként vagy egy színes mélységgel rendelkező 3D-tenzorként van ábrázolva. Egy szűrő alkalmazása azt jelenti, hogy veszünk egy viszonylag kicsi **szűrőmag** mátrixot, és az eredeti kép minden egyes pixelénél kiszámítjuk a súlyozott átlagot a szomszédos pontokkal. Ezt úgy képzelhetjük el, mint egy kis ablakot, amely végigcsúszik az egész képen, és az összes pixelt az ablakban lévő súlyok szerint átlagolja.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
|
||||
> Kép: Dmitry Soshnikov
|
||||
|
|
@ -38,7 +38,7 @@ A CNN-ek működése a következő fontos ötleteken alapul:
|
|||
* A hálózatot úgy tervezhetjük meg, hogy a szűrők automatikusan tanuljanak.
|
||||
* Ugyanezt a megközelítést használhatjuk magas szintű jellemzők mintázatainak megtalálására is, nem csak az eredeti képen. Így a CNN jellemzők kinyerése egy hierarchikus folyamatban működik, az alacsony szintű pixelkombinációktól kezdve a kép részeinek magasabb szintű kombinációjáig.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép a [Hislop-Lynch tanulmányból](https://www.semanticscholar.org/paper/Computer-vision-based-pedestrian-trajectory-Hislop-Lynch/26e6f74853fc9bbb7487b06dc2cf095d36c9021d), az [ő kutatásuk alapján](https://dl.acm.org/doi/abs/10.1145/1553374.1553453)
|
||||
|
||||
|
|
@ -55,9 +55,9 @@ A legtöbb képfeldolgozásra használt CNN az úgynevezett piramis architektúr
|
|||
|
||||
Példaként nézzük meg a VGG-16 architektúráját, amely 92,7%-os pontosságot ért el az ImageNet top-5 osztályozásában 2014-ben:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
> Kép a [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) oldalról
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ Egy konvolúciós neurális hálózatot kell betanítanod, amely képes különb
|
|||
|
||||
Az [Oxford-IIIT Pet Dataset](https://www.robots.ox.ac.uk/~vgg/data/pets/) adathalmazt fogjuk használni, amely 37 különböző kutya- és macskafajta képeit tartalmazza.
|
||||
|
||||

|
||||

|
||||
|
||||
Az adathalmaz letöltéséhez használd az alábbi kódrészletet:
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
"\n",
|
||||
"Ahhoz, hogy elképzeljük az ideális macskát, egy véletlenszerű zajképpel kezdünk, majd a gradiens-descent optimalizációs technikát alkalmazzuk, hogy a képet úgy módosítsuk, hogy a hálózat felismerjen egy macskát.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Íme a kiindulási képünk:\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ Mind a Keras, mind a PyTorch tartalmaz funkciókat, amelyekkel könnyen betölth
|
|||
|
||||
Íme egy példa a VGG-16 hálózat által egy macska képéből kinyert jellemzőkre:
|
||||
|
||||

|
||||

|
||||
|
||||
## Macskák és kutyák adathalmaz
|
||||
|
||||
|
|
@ -48,19 +48,19 @@ Egy előre betanított neurális hálózat különböző mintákat tartalmaz az
|
|||
|
||||
Egy megközelítés az lehet, hogy egy véletlenszerű képpel kezdünk, majd a **gradiens-deszcendens optimalizációs** technikát alkalmazzuk, hogy úgy módosítsuk a képet, hogy a hálózat elkezdje azt macskának gondolni.
|
||||
|
||||

|
||||

|
||||
|
||||
Ha azonban ezt tesszük, akkor valami nagyon hasonlót kapunk, mint egy véletlenszerű zaj. Ennek oka, hogy *sokféleképpen lehet a hálózatot rávenni arra, hogy a bemeneti képet macskának gondolja*, beleértve olyanokat is, amelyek vizuálisan nem értelmezhetők. Bár ezek a képek sok, a macskákra jellemző mintát tartalmaznak, semmi sem kényszeríti őket arra, hogy vizuálisan megkülönböztethetők legyenek.
|
||||
|
||||
Az eredmény javítása érdekében hozzáadhatunk egy másik tagot a veszteségfüggvényhez, amelyet **variációs veszteségnek** nevezünk. Ez egy olyan metrika, amely megmutatja, mennyire hasonlóak a kép szomszédos pixelei. A variációs veszteség minimalizálása simábbá teszi a képet, és megszabadítja a zajtól – így vizuálisan vonzóbb mintákat tár fel. Íme egy példa az ilyen "ideális" képekre, amelyeket nagy valószínűséggel macskának és zebrának osztályoznak:
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-----|-----
|
||||
*Ideális macska* | *Ideális zebra*
|
||||
|
||||
Hasonló megközelítést lehet alkalmazni úgynevezett **adverzális támadások** végrehajtására egy neurális hálózaton. Tegyük fel, hogy szeretnénk megtéveszteni egy neurális hálózatot, és egy kutyát macskának láttatni. Ha veszünk egy kutya képét, amelyet a hálózat kutyaként ismer fel, akkor azt egy kicsit módosíthatjuk a gradiens-deszcendens optimalizáció segítségével, amíg a hálózat macskaként nem kezdi osztályozni:
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-----|-----
|
||||
*Eredeti kép egy kutyáról* | *Kép egy kutyáról, amelyet macskának osztályoznak*
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
"\n",
|
||||
"Mivel az autoencoder-t arra tanítjuk, hogy minél több információt megőrizzen az eredeti képből a pontos rekonstrukció érdekében, a hálózat megpróbálja megtalálni a legjobb **beágyazást** a bemeneti képek jelentésének megragadására.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> Kép forrása: [Keras blog](https://blog.keras.io/building-autoencoders-in-keras.html)\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
"\n",
|
||||
"Mivel az autoencoder-t arra tanítjuk, hogy minél több információt megőrizzen az eredeti képből a pontos rekonstrukció érdekében, a hálózat megpróbálja megtalálni a legjobb **beágyazást** a bemeneti képek jelentésének megragadásához.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Kép a [Keras blogból](https://blog.keras.io/building-autoencoders-in-keras.html)*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Azonban előfordulhat, hogy nyers (címkézetlen) adatokat szeretnénk használn
|
|||
|
||||
Mivel az autoenkódert arra tanítjuk, hogy minél több információt megőrizzen az eredeti képből a pontos rekonstrukció érdekében, a hálózat megpróbálja megtalálni a legjobb **beágyazást** a bemeneti képek jelentésének megragadásához.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép a [Keras blogból](https://blog.keras.io/building-autoencoders-in-keras.html)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ Az eddig tárgyalt képosztályozási modellek egy képet vettek bemenetként,
|
|||
|
||||
## [Előadás előtti kvíz](https://ff-quizzes.netlify.app/en/ai/quiz/21)
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép a [YOLO v2 weboldaláról](https://pjreddie.com/darknet/yolov2/)
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ Tegyük fel, hogy egy képen szeretnénk megtalálni egy macskát. Egy nagyon eg
|
|||
2. Képosztályozást futtatunk minden csempén.
|
||||
3. Azok a csempék, amelyeknél elég magas aktivációt kapunk, tartalmazhatják a keresett objektumot.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Kép az [Exercise Notebook](ObjectDetection-TF.ipynb)-ból*
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ Az alábbi adatállományokkal találkozhatsz ezen a területen:
|
|||
* [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/) - 20 osztály
|
||||
* [COCO](http://cocodataset.org/#home) - Közönséges tárgyak kontextusban. 80 osztály, körvonalak és szegmentációs maszkok
|
||||
|
||||

|
||||

|
||||
|
||||
## Objektumfelismerési metrikák
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ Az alábbi adatállományokkal találkozhatsz ezen a területen:
|
|||
|
||||
Míg a képosztályozásnál könnyű mérni az algoritmus teljesítményét, az objektumfelismerésnél nemcsak az osztály helyességét kell mérni, hanem az előre jelzett körvonal helyének pontosságát is. Ehhez az úgynevezett **Metszet az unióhoz viszonyítva** (IoU) metrikát használjuk, amely azt méri, hogy két doboz (vagy két tetszőleges terület) mennyire fedik egymást.
|
||||
|
||||

|
||||

|
||||
|
||||
> *2. ábra [ebből a kiváló blogbejegyzésből az IoU-ról](https://pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/)*
|
||||
|
||||
|
|
@ -98,11 +98,11 @@ Az objektumfelismerési algoritmusoknak két fő típusa van:
|
|||
|
||||
Az [R-CNN](http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf) a [Szelektív Keresést](http://www.huppelen.nl/publications/selectiveSearchDraft.pdf) használja, hogy hierarchikus ROI régiókat generáljon, amelyeket aztán CNN jellemzőkivonókon és SVM-osztályozókon futtatunk, hogy meghatározzuk az objektum osztályát, valamint lineáris regresszióval a *körvonal* koordinátáit. [Hivatalos tanulmány](https://arxiv.org/pdf/1506.01497v1.pdf)
|
||||
|
||||

|
||||

|
||||
|
||||
> *Kép van de Sande et al. ICCV’11*
|
||||
|
||||

|
||||

|
||||
|
||||
> *Képek [ebből a blogból](https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e)*
|
||||
|
||||
|
|
@ -110,7 +110,7 @@ Az [R-CNN](http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf) a [Sze
|
|||
|
||||
Ez a megközelítés hasonló az R-CNN-hez, de a régiókat a konvolúciós rétegek alkalmazása után határozzuk meg.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép a [Hivatalos tanulmányból](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 @@ Ez a megközelítés hasonló az R-CNN-hez, de a régiókat a konvolúciós rét
|
|||
|
||||
Ennek a megközelítésnek az alapötlete, hogy neurális hálózatot használunk az ROI-k előrejelzésére - az úgynevezett *Régiójavasló Hálózat*. [Tanulmány](https://arxiv.org/pdf/1506.01497.pdf), 2016
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép a [hivatalos tanulmányból](https://arxiv.org/pdf/1506.01497.pdf)
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ Ez az algoritmus még gyorsabb, mint a Gyorsabb R-CNN. Az alapötlet a következ
|
|||
2. A jellemzőket **Pozíció-Érzékeny Pontszám Térképen** dolgozzuk fel. Minden objektumot $C$ osztályból $k\times k$ régiókra osztunk, és az objektumok részeinek előrejelzésére tanítjuk a hálózatot.
|
||||
3. Minden részre a $k\times k$ régiókból a hálózatok szavaznak az objektumosztályokra, és a maximális szavazatot kapó osztályt választjuk.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép a [hivatalos tanulmányból](https://arxiv.org/abs/1605.06409)
|
||||
|
||||
|
|
@ -141,7 +141,7 @@ A YOLO egy valós idejű egyszeri futtatású algoritmus. Az alapötlet a követ
|
|||
* A képet $S\times S$ régiókra osztjuk.
|
||||
* Minden régióra **CNN** előrejelzi $n$ lehetséges objektumot, *körvonal* koordinátákat és *bizalmi szintet*=*valószínűség* * IoU.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép a [hivatalos tanulmányból](https://arxiv.org/abs/1506.02640)
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Számítógépes látás
|
||||
|
||||

|
||||

|
||||
|
||||
Ebben a részben megtanuljuk:
|
||||
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@
|
|||
"\n",
|
||||
"A **Szavak zsákja** (BoW) vektorábrázolás a leggyakrabban használt hagyományos vektorábrázolás. Minden szó egy vektorindexhez van rendelve, a vektor elemei pedig azt mutatják, hogy egy adott dokumentumban hányszor fordul elő az adott szó.\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n",
|
||||
"> **Megjegyzés**: A BoW-t úgy is elképzelheted, mint az egyes szavak egy-egy one-hot-kódolt vektorának összegét a szövegben.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@
|
|||
"\n",
|
||||
"A **szótásképzés** (BoW) vektori ábrázolás a legegyszerűbben érthető hagyományos vektori ábrázolás. Minden szó egy vektor indexhez van kötve, és a vektor elemei azt mutatják, hogy egy adott dokumentumban hányszor fordul elő az adott szó.\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n",
|
||||
"> **Megjegyzés**: A BoW-t úgy is elképzelhetjük, mint az egyes szavak egy-egy one-hot kódolt vektorának összegét a szövegben.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@
|
|||
"\n",
|
||||
"Ha az embedding réteget használjuk hálózatunk első rétegeként, akkor átállhatunk a bag-of-words modellről az **embedding bag** modellre. Ebben először minden szót a szövegünkben a megfelelő embeddingre konvertálunk, majd valamilyen aggregáló függvényt számítunk ki az összes embedding felett, például `sum`, `average` vagy `max`.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Az osztályozó neurális hálózatunk embedding réteggel kezdődik, majd egy aggregáló réteggel, és végül egy lineáris osztályozóval a tetején:\n"
|
||||
]
|
||||
|
|
@ -176,7 +176,7 @@
|
|||
"\n",
|
||||
"Az előző architektúrában minden szekvenciát ugyanarra a hosszra kellett kiegészíteni, hogy illeszkedjenek egy minibatch-be. Ez nem a leghatékonyabb módja a változó hosszúságú szekvenciák reprezentálásának – egy másik megközelítés az **offset** vektor használata, amely egy nagy vektorban tárolt összes szekvencia eltolásait tartalmazza.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> **Note**: A fenti képen karakterek szekvenciáját mutatjuk, de példánkban szavak szekvenciáival dolgozunk. Azonban a szekvenciák offset vektorral történő reprezentálásának általános elve ugyanaz marad.\n",
|
||||
"\n",
|
||||
|
|
@ -311,7 +311,7 @@
|
|||
"\n",
|
||||
"A CBoW gyorsabb, míg a skip-gram lassabb, de jobban reprezentálja a ritkábban előforduló szavakat.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Ahhoz, hogy kísérletezzünk a Google News adathalmazon előre betanított word2vec beágyazással, használhatjuk a **gensim** könyvtárat. Az alábbiakban megkeressük a 'neural' szóhoz leginkább hasonló szavakat.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
"\n",
|
||||
"Ha az embedding réteget használjuk a hálózatunk első rétegeként, akkor áttérhetünk a bag-of-words modellről egy **embedding bag** modellre. Ebben az esetben először minden szót a szövegünkben a megfelelő embeddingre alakítunk, majd valamilyen aggregáló függvényt számítunk ki az összes embedding felett, például `sum`, `average` vagy `max`.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Az osztályozó neurális hálózatunk a következő rétegekből áll:\n",
|
||||
"\n",
|
||||
|
|
@ -283,7 +283,7 @@
|
|||
"\n",
|
||||
"A CBoW gyorsabb, míg az ugrógram lassabb, de jobban reprezentálja a ritka szavakat.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Ahhoz, hogy kísérletezzünk a Google News adathalmazon előtanított Word2Vec beágyazással, használhatjuk a **gensim** könyvtárat. Az alábbiakban megkeressük a 'neural' szóhoz leginkább hasonló szavakat.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ A beágyazási réteg tehát egy szót vesz bemenetként, és egy meghatározott
|
|||
|
||||
Ha a beágyazási réteget használjuk osztályozó hálózatunk első rétegeként, akkor a szavak zsákja modellről áttérhetünk az **embedding bag** modellre, ahol először minden szót a megfelelő beágyazásra alakítunk, majd valamilyen aggregált függvényt számítunk ki az összes beágyazás felett, például `sum`, `average` vagy `max`.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép a szerzőtől
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ Ehhez elő kell tanítanunk a beágyazási modellünket egy nagy szöveggyűjtem
|
|||
|
||||
A CBoW gyorsabb, míg a skip-gram lassabb, de jobban reprezentálja a ritka szavakat.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép ebből a [tanulmányból](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ Korábbi példáinkban előre betanított szemantikai beágyazásokat használtu
|
|||
* **Folytonos Szózsák** (CBoW), amikor a középső token-t $W_0$ jósoljuk meg egy token sorozatban $W_{-N}$, ..., $W_N$.
|
||||
* **Skip-gram**, ahol a középső token $W_0$ alapján egy szomszédos tokenek halmazát {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} jósoljuk meg.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép [ebből a tanulmányból](https://arxiv.org/pdf/1301.3781.pdf)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Az előző szekciókban gazdag szemantikai reprezentációkat használtunk a sz
|
|||
|
||||
Ahhoz, hogy a szövegszekvencia jelentését megragadjuk, egy másik neurális hálózati architektúrát kell használnunk, amelyet **rekurrens neurális hálózatnak** (RNN) nevezünk. Az RNN-ben mondatunkat egy szimbólumonként adjuk át a hálózaton, és a hálózat egy **állapotot** hoz létre, amelyet aztán a következő szimbólummal együtt újra átadunk a hálózatnak.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép a szerzőtől
|
||||
|
||||
|
|
@ -61,7 +61,7 @@ Olyan rekurrens hálózatokat tárgyaltunk, amelyek egy irányban működnek, a
|
|||
|
||||
Egy rekurrens hálózat, akár egyirányú, akár kétirányú, bizonyos mintákat ragad meg egy szekvenciában, és ezeket az állapotvektorba menti vagy a kimenetbe továbbítja. Akárcsak a konvolúciós hálózatok esetében, egy másik rekurrens réteget építhetünk az első fölé, hogy magasabb szintű mintákat ragadjunk meg, és az első réteg által kinyert alacsony szintű mintákból építkezzünk. Ez vezet minket a **többrétegű RNN** fogalmához, amely két vagy több rekurrens hálózatból áll, ahol az előző réteg kimenete bemenetként kerül a következő rétegbe.
|
||||
|
||||

|
||||

|
||||
|
||||
*Kép Fernando López [ezen csodálatos bejegyzéséből](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3)*
|
||||
|
||||
|
|
|
|||
|
|
@ -422,7 +422,7 @@
|
|||
"\n",
|
||||
"A rekurrens hálózat, legyen az egyirányú vagy kétirányú, bizonyos mintázatokat rögzít egy szekvencián belül, és ezeket tárolhatja az állapotvektorban vagy továbbíthatja a kimenetbe. Akárcsak a konvolúciós hálózatok esetében, egy másik rekurrens réteget építhetünk az első fölé, hogy magasabb szintű mintázatokat rögzítsünk, amelyeket az első réteg által kinyert alacsony szintű mintázatokból építünk fel. Ez vezet el minket a **többrétegű RNN** fogalmához, amely két vagy több rekurrens hálózatból áll, ahol az előző réteg kimenete bemenetként kerül a következő réteghez.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Kép Fernando López [ezen csodálatos bejegyzéséből](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3)*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
"\n",
|
||||
"Ahhoz, hogy egy szövegszekvencia jelentését megragadjuk, egy **rekurrens neurális hálózatnak** (angolul recurrent neural network, RNN) nevezett neurális hálózati architektúrát fogunk használni. Az RNN használatakor a mondatot egyesével, tokenenként vezetjük át a hálózaton, amely minden lépésben előállít egy **állapotot**, amit aztán a következő tokennel együtt ismét átadunk a hálózatnak.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"A tokenekből álló bemeneti szekvencia $X_0,\\dots,X_n$ alapján az RNN egy neurális hálózati blokkokból álló szekvenciát hoz létre, és ezt a szekvenciát végig, visszaterjesztéses tanulással (backpropagation) tanítja. Minden hálózati blokk egy $(X_i,S_i)$ párt kap bemenetként, és eredményként előállítja $S_{i+1}$-et. A végső állapot $S_n$ vagy a kimenet $Y_n$ egy lineáris osztályozóba kerül, amely előállítja az eredményt. Az összes hálózati blokk ugyanazokat a súlyokat osztja meg, és egyetlen visszaterjesztési lépés során tanulják meg azokat.\n",
|
||||
"\n",
|
||||
|
|
@ -369,7 +369,7 @@
|
|||
"\n",
|
||||
"A rekurrens hálózatok, legyenek egyirányúak vagy kétirányúak, mintákat ragadnak meg egy szekvenciában, és ezeket állapotvektorokba tárolják vagy kimenetként adják vissza. Akárcsak a konvolúciós hálózatok esetében, építhetünk egy másik rekurrens réteget az első után, hogy magasabb szintű mintákat ragadjunk meg, amelyeket az első réteg által kinyert alacsonyabb szintű mintákból építünk fel. Ez vezet el minket a **többrétegű RNN** fogalmához, amely két vagy több rekurrens hálózatból áll, ahol az előző réteg kimenete bemenetként kerül a következő réteghez.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Kép [ebből a nagyszerű bejegyzésből](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) Fernando López tollából.*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@
|
|||
"\n",
|
||||
"Az RNN szöveg generálására való tanításának módja a következő. Minden lépésben veszünk egy `nchars` hosszúságú karakterláncot, és megkérjük a hálózatot, hogy minden bemeneti karakterhez generálja a következő kimeneti karaktert:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"A konkrét helyzettől függően előfordulhat, hogy speciális karaktereket is be kell vonnunk, például *sorvége* `<eos>`. A mi esetünkben azonban csak végtelen szöveg generálására szeretnénk tanítani a hálózatot, ezért minden szekvencia méretét fixen `nchars` tokenre állítjuk. Ennek megfelelően minden tanítási példában `nchars` bemenet és `nchars` kimenet lesz (a bemeneti szekvencia egy szimbólummal balra eltolva). Egy minibatch több ilyen szekvenciából fog állni.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@
|
|||
"\n",
|
||||
"Az RNN betanításának módja a hírcímek generálására a következő. Minden lépésben veszünk egy címet, amelyet betáplálunk egy RNN-be, és minden bemeneti karakterhez megkérjük a hálózatot, hogy generálja a következő kimeneti karaktert:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"A szekvenciánk utolsó karakterénél megkérjük a hálózatot, hogy generálja a `<eos>` tokent.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Az előző egységben tárgyalt RNN architektúrában minden RNN egység a köve
|
|||
|
||||
Ez különböző neurális architektúrákat tesz lehetővé, amelyeket az alábbi képen láthatunk:
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép Andrej Karpaty [Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) című blogbejegyzéséből [Andrej Karpaty](http://karpathy.github.io/) által
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ Ebben az egységben egyszerű generatív modellekre fogunk összpontosítani, am
|
|||
|
||||
Ezt az RNN-t arra fogjuk tanítani, hogy lépésről lépésre generáljon szöveget. Minden lépésben egy `nchars` hosszúságú karakter sorozatot veszünk, és megkérjük a hálózatot, hogy generálja a következő kimeneti karaktert minden bemeneti karakterhez:
|
||||
|
||||

|
||||

|
||||
|
||||
Szöveg generálásakor (következtetés során) egy **indítószöveggel** kezdünk, amelyet RNN cellákon keresztül adunk át, hogy előállítsuk annak köztes állapotát, majd ebből az állapotból kezdődik a generálás. Egy karaktert generálunk egyszerre, és az állapotot és a generált karaktert átadjuk egy másik RNN cellának, hogy generálja a következőt, amíg elegendő karaktert nem generálunk.
|
||||
|
||||
|
|
|
|||
|
|
@ -20,13 +20,13 @@ Az RNN-ekkel a sorozat-sorozat feladatot két rekurzív hálózat valósítja me
|
|||
|
||||
A **figyelem mechanizmusok** lehetőséget adnak arra, hogy súlyozzuk az egyes bemeneti vektorok kontextuális hatását az RNN kimeneti előrejelzéseire. Ez úgy valósul meg, hogy rövidítéseket hozunk létre a bemeneti RNN köztes állapotai és a kimeneti RNN között. Ily módon, amikor a y<sub>t</sub> kimeneti szimbólumot generáljuk, figyelembe vesszük az összes bemeneti rejtett állapotot h<sub>i</sub>, különböző súlyozási együtthatókkal α<sub>t,i</sub>.
|
||||
|
||||

|
||||

|
||||
|
||||
> Az enkóder-dekóder modell additív figyelem mechanizmussal [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), idézve [ebből a blogbejegyzésből](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)
|
||||
|
||||
A figyelem mátrix {α<sub>i,j</sub>} azt mutatja, hogy a bemeneti szavak milyen mértékben játszanak szerepet egy adott szó generálásában a kimeneti sorozatban. Az alábbiakban egy ilyen mátrix példáját láthatjuk:
|
||||
|
||||

|
||||

|
||||
|
||||
> Ábra [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (3. ábra)
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ Az eredmény, amelyet a pozíciós beágyazással kapunk, beágyazza mind az ere
|
|||
|
||||
Ezután meg kell ragadnunk néhány mintát a sorozatunkon belül. Ehhez a transzformerek **önfigyelem** mechanizmust használnak, amely lényegében figyelem, amelyet ugyanarra a sorozatra alkalmazunk bemenetként és kimenetként. Az önfigyelem alkalmazása lehetővé teszi számunkra, hogy figyelembe vegyük a mondaton belüli **kontekztust**, és lássuk, mely szavak kapcsolódnak egymáshoz. Például lehetővé teszi számunkra, hogy lássuk, mely szavakra utalnak visszautalások, mint például *az*, és figyelembe vegyük a kontextust is:
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép a [Google Blogból](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html)
|
||||
|
||||
|
|
@ -91,7 +91,7 @@ Mivel minden bemeneti pozíciót függetlenül térképezünk a kimeneti pozíci
|
|||
|
||||
A **BERT** (Bidirectional Encoder Representations from Transformers) egy nagyon nagy, többrétegű transzformer hálózat, amelynek 12 rétege van a *BERT-base* esetében, és 24 a *BERT-large* esetében. A modellt először egy nagy szövegkorpuszra (WikiPedia + könyvek) tanítják be felügyelet nélküli tanulással (maszkolt szavak előrejelzése egy mondatban). Az előképzés során a modell jelentős nyelvi megértést szerez, amelyet más adathalmazokkal finomhangolással lehet kihasználni. Ezt a folyamatot **transzfer tanulásnak** nevezzük.
|
||||
|
||||

|
||||

|
||||
|
||||
> Kép [forrása](http://jalammar.github.io/illustrated-bert/)
|
||||
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
"\n",
|
||||
"**Figyelemmechanizmusok** lehetőséget adnak arra, hogy súlyozzuk az egyes input vektorok kontextuális hatását az RNN minden egyes kimeneti előrejelzésére. Ez úgy valósul meg, hogy rövidítéseket hozunk létre az input RNN köztes állapotai és a kimeneti RNN között. Ily módon, amikor a $y_t$ kimeneti szimbólumot generáljuk, figyelembe vesszük az összes input rejtett állapotot $h_i$, különböző súlykoefficiensekkel $\\alpha_{t,i}$. \n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*A kódoló-dekódoló modell additív figyelemmechanizmussal [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), idézve [ebből a blogbejegyzésből](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
|
||||
"\n",
|
||||
"A figyelem mátrix $\\{\\alpha_{i,j}\\}$ azt mutatja, hogy az egyes input szavak milyen mértékben játszanak szerepet egy adott szó generálásában a kimeneti szekvenciában. Az alábbiakban egy ilyen mátrix példáját láthatjuk:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Ábra [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (3. ábra) alapján*\n",
|
||||
"\n",
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
"\n",
|
||||
"A **BERT** (Bidirectional Encoder Representations from Transformers) egy nagyon nagy, többrétegű transzformer hálózat, amelynek 12 rétege van a *BERT-base* esetében, és 24 a *BERT-large* esetében. A modellt először egy nagy szövegkorpuszra (WikiPedia + könyvek) tanítják be felügyelet nélküli tanítással (maszkolt szavak előrejelzése egy mondatban). Az előtanítás során a modell jelentős nyelvi megértést sajátít el, amelyet aztán más adathalmazokkal lehet finomhangolni. Ezt a folyamatot **transzfer tanulásnak** nevezzük. \n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Számos transzformer architektúra létezik, például BERT, DistilBERT, BigBird, OpenGPT3 és még sok más, amelyek finomhangolhatók. A [HuggingFace csomag](https://github.com/huggingface/) lehetőséget biztosít ezeknek az architektúráknak a tanítására PyTorch segítségével. \n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@
|
|||
"\n",
|
||||
"A **figyelemmechanizmusok** lehetőséget adnak arra, hogy súlyozzuk az egyes input vektorok kontextuális hatását az RNN kimeneti előrejelzéseire. Ez úgy valósul meg, hogy rövidítéseket hozunk létre az input RNN köztes állapotai és a kimeneti RNN között. Ily módon, amikor a $y_t$ kimeneti szimbólumot generáljuk, figyelembe vesszük az összes input rejtett állapotot $h_i$, különböző súlykoefficiensekkel $\\alpha_{t,i}$. \n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*A kódoló-dekódoló modell additív figyelemmechanizmussal [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) alapján, idézve [ebből a blogbejegyzésből](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
|
||||
"\n",
|
||||
"A figyelem mátrix $\\{\\alpha_{i,j}\\}$ azt mutatja, hogy az egyes input szavak milyen mértékben járulnak hozzá egy adott szó generálásához a kimeneti szekvenciában. Az alábbiakban egy ilyen mátrix példáját láthatjuk:\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Ábra [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (3. ábra) alapján*\n",
|
||||
"\n",
|
||||
|
|
@ -225,7 +225,7 @@
|
|||
"\n",
|
||||
"A **BERT** (Bidirectional Encoder Representations from Transformers) egy nagyon nagy, többrétegű transformer hálózat, amely *BERT-base* esetén 12 rétegből, míg *BERT-large* esetén 24 rétegből áll. A modellt először egy nagy szövegkorpuszra (WikiPedia + könyvek) tanítják be felügyelet nélküli tanulással (maszkolt szavak előrejelzése egy mondatban). Az előképzés során a modell jelentős nyelvi megértést sajátít el, amelyet később más adathalmazokkal finomhangolással lehet hasznosítani. Ezt a folyamatot **transzfer tanulásnak** nevezzük.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Számos Transformer architektúra létezik, például BERT, DistilBERT, BigBird, OpenGPT3 és még sok más, amelyek finomhangolhatók.\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ csecsemőben | O
|
|||
|
||||
Mivel egy-egy megfeleltetést kell létrehoznunk a tokenek és osztályok között, egy **sok-sokhoz** neurális hálózati modellt tudunk tanítani az alábbi ábráról:
|
||||
|
||||

|
||||

|
||||
|
||||
> *Kép [ebből a blogbejegyzésből](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) [Andrej Karpathy](http://karpathy.github.io/) tollából. A NER token klasszifikációs modellek megfelelnek az ábra jobb szélső hálózati architektúrájának.*
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Természetes Nyelvfeldolgozás
|
||||
|
||||

|
||||

|
||||
|
||||
Ebben a részben a neurális hálózatok használatára összpontosítunk, hogy megoldjuk a **természetes nyelvfeldolgozással (NLP)** kapcsolatos feladatokat. Számos NLP probléma van, amelyeket szeretnénk, ha a számítógépek meg tudnának oldani:
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ Megnyithatsz egy modellt, például **Biology → Flocking**.
|
|||
|
||||
A modell megnyitása után a NetLogo fő képernyőjére kerülsz. Itt egy minta modell látható, amely a farkasok és juhok populációját írja le véges erőforrások (fű) mellett.
|
||||
|
||||

|
||||

|
||||
|
||||
> Dmitry Soshnikov által készített képernyőkép
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Áttekintés
|
||||
|
||||

|
||||

|
||||
|
||||
> Vázlatrajz: [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ A transzformer modellek sikerét követően az NLP feladatok megoldásában, has
|
|||
|
||||
A CLIP fő ötlete, hogy képes legyen összehasonlítani szöveges utasításokat egy képpel, és meghatározni, mennyire felel meg a kép az utasításnak.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Kép [ebből a blogbejegyzésből](https://openai.com/blog/clip/)*
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ Miután a modellt betanították, megadhatunk neki egy batch képet és egy batc
|
|||
|
||||
Tegyük fel, hogy képeket kell osztályoznunk például macskák, kutyák és emberek között. Ebben az esetben megadhatjuk a modellnek a képet, és egy sor szöveges utasítást: "*egy macska képe*", "*egy kutya képe*", "*egy ember képe*". A kapott 3 valószínűségi vektorban csak ki kell választanunk a legmagasabb értékű indexet.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Kép [ebből a blogbejegyzésből](https://openai.com/blog/clip/)*
|
||||
|
||||
|
|
@ -53,13 +53,13 @@ További információ a VQGAN-ról a [Taming Transformers](https://compvis.githu
|
|||
|
||||
A VQGAN és a hagyományos GAN egyik fontos különbsége, hogy az utóbbi bármilyen bemeneti vektorból képes elfogadható képet előállítani, míg a VQGAN valószínűleg nem koherens képet hoz létre. Ezért tovább kell irányítanunk a képalkotási folyamatot, amit a CLIP segítségével tehetünk meg.
|
||||
|
||||

|
||||

|
||||
|
||||
Ahhoz, hogy egy szöveges utasításhoz illeszkedő képet generáljunk, egy véletlenszerű kódoló vektorral kezdünk, amelyet a VQGAN-on keresztül egy képpé alakítunk. Ezután a CLIP-et használjuk egy veszteségfüggvény előállítására, amely megmutatja, mennyire felel meg a kép a szöveges utasításnak. A cél ennek a veszteségnek a minimalizálása, a visszaterjesztés segítségével a bemeneti vektor paramétereinek módosításával.
|
||||
|
||||
Egy nagyszerű könyvtár, amely megvalósítja a VQGAN+CLIP-et, a [Pixray](http://github.com/pixray/pixray).
|
||||
|
||||
 |  | 
|
||||
 |  | 
|
||||
----|----|----
|
||||
Kép generálva az *egy fiatal irodalomtanár akvarell portréja könyvvel* utasítás alapján | Kép generálva az *egy fiatal női informatikatanár olajportréja számítógéppel* utasítás alapján | Kép generálva az *egy idős matematikatanár olajportréja táblával* utasítás alapján
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
CO_OP_TRANSLATOR_METADATA:
|
||||
{
|
||||
"original_hash": "4ed9993bca581850c983c95d5a3f57eb",
|
||||
"translation_date": "2025-12-25T00:56:31+00:00",
|
||||
"original_hash": "14816e97d79b296c87811724f7785923",
|
||||
"translation_date": "2026-01-01T12:26:50+00:00",
|
||||
"source_file": "README.md",
|
||||
"language_code": "id"
|
||||
}
|
||||
|
|
@ -11,7 +11,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
[](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)
|
||||
[](http://makeapullrequest.com)
|
||||
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)
|
||||
[](https://GitHub.com/microsoft/AI-For-Beginners/network/)
|
||||
|
|
@ -19,15 +19,15 @@ 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)
|
||||
|
||||
# Kecerdasan Buatan untuk Pemula - Kurikulum
|
||||
# Artificial Intelligence for Beginners - A Curriculum
|
||||
|
||||
||
|
||||
||
|
||||
|:---:|
|
||||
| AI For Beginners - _Sketchnote oleh [@girlie_mac](https://twitter.com/girlie_mac)_ |
|
||||
|
||||
Jelajahi dunia **Kecerdasan Buatan** (AI) dengan kurikulum 12-minggu, 24-pelajaran kami! Ini mencakup pelajaran praktis, kuis, dan lab. Kurikulum ini ramah-pemula dan mencakup alat seperti TensorFlow dan PyTorch, serta etika dalam AI
|
||||
Jelajahi dunia **Artificial Intelligence** (AI) dengan kurikulum 12-minggu, 24-pelajaran kami! Ini mencakup pelajaran praktis, kuis, dan lab. Kurikulum ini ramah-pemula dan mencakup alat seperti TensorFlow dan PyTorch, serta etika dalam AI
|
||||
|
||||
### 🌐 Dukungan Multi-Bahasa
|
||||
|
||||
|
|
@ -37,51 +37,51 @@ Jelajahi dunia **Kecerdasan Buatan** (AI) dengan kurikulum 12-minggu, 24-pelajar
|
|||
[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](../fi/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](./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 -->
|
||||
|
||||
**Jika Anda ingin menambahkan bahasa terjemahan, bahasa yang didukung tercantum [di sini](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
|
||||
**Jika Anda ingin dukungan bahasa terjemahan tambahan, daftar bahasa yang didukung tercantum [di sini](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
|
||||
|
||||
## Bergabung dengan Komunitas
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
## Apa yang akan Anda pelajari
|
||||
|
||||
**[Peta Pikiran Kursus](http://soshnikov.com/courses/ai-for-beginners/mindmap.html)**
|
||||
**[Peta Konsep Kursus](http://soshnikov.com/courses/ai-for-beginners/mindmap.html)**
|
||||
|
||||
Dalam kurikulum ini, Anda akan mempelajari:
|
||||
|
||||
* Pendekatan berbeda terhadap Kecerdasan Buatan, termasuk pendekatan simbolik "lama" dengan **Representasi Pengetahuan** dan penalaran ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
|
||||
* **Jaringan Saraf** dan **Pembelajaran Mendalam**, yang menjadi inti dari AI modern. Kami akan mengilustrasikan konsep di balik topik penting ini menggunakan kode di dua kerangka kerja paling populer - [TensorFlow](http://Tensorflow.org) dan [PyTorch](http://pytorch.org).
|
||||
* **Arsitektur Neural** untuk bekerja dengan gambar dan teks. Kami akan membahas model-model terbaru tetapi mungkin agak kurang up-to-date dalam state-of-the-art.
|
||||
* Berbagai pendekatan pada Kecerdasan Buatan, termasuk pendekatan simbolik "lama yang baik" dengan **Representasi Pengetahuan** dan penalaran ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
|
||||
* **Jaringan Syaraf** dan **Pembelajaran Dalam**, yang merupakan inti dari AI modern. Kami akan menjelaskan konsep-konsep di balik topik penting ini menggunakan kode dalam dua kerangka kerja paling populer - [TensorFlow](http://Tensorflow.org) dan [PyTorch](http://pytorch.org).
|
||||
* **Arsitektur Neural** untuk bekerja dengan gambar dan teks. Kami akan membahas model-model terbaru tetapi mungkin agak kurang pada state-of-the-art.
|
||||
* Pendekatan AI yang kurang populer, seperti **Algoritma Genetika** dan **Sistem Multi-Agen**.
|
||||
|
||||
Yang tidak akan kami bahas dalam kurikulum ini:
|
||||
|
||||
> [Temukan semua sumber daya tambahan untuk kursus ini dalam koleksi Microsoft Learn kami](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
|
||||
> [Temukan semua sumber tambahan untuk kursus ini dalam koleksi Microsoft Learn kami](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
|
||||
|
||||
* Kasus bisnis penggunaan **AI dalam Bisnis**. Pertimbangkan mengambil jalur pembelajaran [Introduction to AI for business users](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) di Microsoft Learn, atau [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum), dikembangkan bekerja sama dengan [INSEAD](https://www.insead.edu/).
|
||||
* **Pembelajaran Mesin Klasik**, yang dibahas dengan baik dalam [Machine Learning for Beginners Curriculum](http://github.com/Microsoft/ML-for-Beginners).
|
||||
* Aplikasi praktis AI yang dibangun menggunakan **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. Untuk ini, kami menyarankan Anda memulai dengan modul Microsoft Learn untuk [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)** dan lainnya.
|
||||
* **Kerangka Kerja Cloud ML Spesifik**, seperti [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), atau [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Pertimbangkan menggunakan jalur pembelajaran [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) dan [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).
|
||||
* Kasus bisnis penggunaan **AI dalam Bisnis**. Pertimbangkan mengikuti jalur pembelajaran [Introduction to AI for business users](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) di Microsoft Learn, atau [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum), yang dikembangkan bekerja sama dengan [INSEAD](https://www.insead.edu/).
|
||||
* **Machine Learning Klasik**, yang dijelaskan dengan baik dalam [Machine Learning for Beginners Curriculum](http://github.com/Microsoft/ML-for-Beginners).
|
||||
* Aplikasi AI praktis yang dibangun menggunakan **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. Untuk ini, kami merekomendasikan Anda memulai dengan modul Microsoft Learn untuk [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)** dan lainnya.
|
||||
* Kerangka **Cloud ML Spesifik**, seperti [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), atau [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Pertimbangkan menggunakan jalur pembelajaran [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) dan [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).
|
||||
* **Conversational AI** dan **Chat Bots**. Ada jalur pembelajaran terpisah [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum), dan Anda juga dapat merujuk ke [posting blog ini](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) untuk detail lebih lanjut.
|
||||
* **Matematika Mendalam** di balik pembelajaran mendalam. Untuk ini, kami merekomendasikan [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) oleh Ian Goodfellow, Yoshua Bengio dan Aaron Courville, yang juga tersedia secara online di [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
|
||||
* **Matematika Mendalam** di balik pembelajaran dalam. Untuk ini, kami merekomendasikan [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) oleh Ian Goodfellow, Yoshua Bengio dan Aaron Courville, yang juga tersedia secara daring di [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
|
||||
|
||||
Untuk pengantar ringan ke topik _AI di Cloud_ Anda dapat mempertimbangkan mengambil Jalur Pembelajaran [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).
|
||||
Untuk pengantar ringan ke topik _AI in the Cloud_ Anda dapat mempertimbangkan mengikuti Jalur Pembelajaran [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).
|
||||
|
||||
# Konten
|
||||
|
||||
| | Tautan Pelajaran | PyTorch/Keras/TensorFlow | Lab |
|
||||
| :-: | :------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: | ------------------------------------------------------------------------------ |
|
||||
| 0 | [Pengaturan Kursus](./lessons/0-course-setup/setup.md) | [Setup Your Development Environment](./lessons/0-course-setup/how-to-run.md) | |
|
||||
| I | [**Pengenalan AI**](./lessons/1-Intro/README.md) | | |
|
||||
| 01 | [Pengenalan dan Sejarah AI](./lessons/1-Intro/README.md) | - | - |
|
||||
| 0 | [Pengaturan Kursus](./lessons/0-course-setup/setup.md) | [Siapkan Lingkungan Pengembangan Anda](./lessons/0-course-setup/how-to-run.md) | |
|
||||
| I | [**Pengantar AI**](./lessons/1-Intro/README.md) | | |
|
||||
| 01 | [Pengantar dan Sejarah AI](./lessons/1-Intro/README.md) | - | - |
|
||||
| II | **AI Simbolik** |
|
||||
| 02 | [Representasi Pengetahuan dan Sistem Pakar](./lessons/2-Symbolic/README.md) | [Sistem Pakar](./lessons/2-Symbolic/Animals.ipynb) / [Ontologi](./lessons/2-Symbolic/FamilyOntology.ipynb) /[Graf Konsep](./lessons/2-Symbolic/MSConceptGraph.ipynb) | |
|
||||
| III | [**Pengenalan Jaringan Saraf**](./lessons/3-NeuralNetworks/README.md) |||
|
||||
| III | [**Pengantar Jaringan Syaraf**](./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 Multi-Lapis dan Membuat Kerangka Kerja Sendiri](./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 | [Pengantar Framework (PyTorch/TensorFlow) dan Overfitting](./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 | [Pengantar Frameworks (PyTorch/TensorFlow) dan Overfitting](./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 | [**Visi Komputer**](./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)| [Jelajahi Visi Komputer di Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
|
||||
| 06 | [Pengantar Visi Komputer. 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 | [Jaringan Syaraf Konvolusional](./lessons/4-ComputerVision/07-ConvNets/README.md) & [Arsitektur 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) |
|
||||
| 07 | [Jaringan Saraf Konvolusional](./lessons/4-ComputerVision/07-ConvNets/README.md) & [Arsitektur 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 | [Jaringan Pra-latih dan Transfer Learning](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [Trik Pelatihan](./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 | [Autoencoder dan 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 | [Jaringan Adversarial Generatif & Transfer Gaya Artistik](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
|
||||
|
|
@ -89,9 +89,9 @@ Untuk pengantar ringan ke topik _AI di Cloud_ Anda dapat mempertimbangkan mengam
|
|||
| 12 | [Segmentasi Semantik. 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 | [**Pemrosesan Bahasa Alami**](./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) | [Jelajahi Pemrosesan Bahasa Alami di Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)|
|
||||
| 13 | [Representasi Teks. 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 | [Embedding kata semantik. Word2Vec dan 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) | |
|
||||
| 14 | [Embedding Kata Semantik. Word2Vec dan 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 | [Pemodelan Bahasa. Melatih embedding Anda sendiri](./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 | [Jaringan Syaraf Rekuren](./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) | |
|
||||
| 16 | [Jaringan Saraf Rekuren](./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 | [Jaringan Rekuren Generatif](./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 | [Pengenalan Entitas Bernama](./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) |
|
||||
|
|
@ -105,64 +105,64 @@ Untuk pengantar ringan ke topik _AI di Cloud_ Anda dapat mempertimbangkan mengam
|
|||
| IX | **Tambahan** | | |
|
||||
| 25 | [Jaringan Multi-Modal, CLIP dan VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [Notebook](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | |
|
||||
|
||||
## Setiap pelajaran berisi
|
||||
## Each lesson contains
|
||||
|
||||
* Materi pra-baca
|
||||
* Materi pra-bacaan
|
||||
* Executable Jupyter Notebooks, which are often specific to the framework (**PyTorch** or **TensorFlow**). The executable notebook also contains a lot of theoretical material, so to understand the topic you need to go through at least one version of the notebook (either PyTorch or TensorFlow).
|
||||
* **Lab** tersedia untuk beberapa topik, yang memberi Anda kesempatan untuk mencoba menerapkan materi yang telah Anda pelajari ke masalah tertentu.
|
||||
* Beberapa bagian berisi tautan ke modul [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) yang membahas topik terkait.
|
||||
* **Labs** available for some topics, which give you an opportunity to try applying the material you have learned to a specific problem.
|
||||
* Some sections contain links to [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) modules that cover related topics.
|
||||
|
||||
## Memulai
|
||||
|
||||
### 🎯 Baru di AI? Mulai di Sini!
|
||||
### 🎯 Baru di AI? Mulai Di Sini!
|
||||
|
||||
Jika Anda benar-benar baru di AI dan menginginkan contoh cepat yang langsung dapat dicoba, lihat [**Contoh Ramah Pemula**](./examples/README.md) kami! Contoh-contoh ini meliputi:
|
||||
If you're completely new to AI and want quick, hands-on examples, check out our [**Contoh Ramah Pemula**](./examples/README.md)! These include:
|
||||
|
||||
- 🌟 **Hello AI World** - Program AI pertamamu (pengenalan pola)
|
||||
- 🧠 **Simple Neural Network** - Membangun jaringan saraf dari awal
|
||||
- 🖼️ **Image Classifier** - Mengklasifikasikan gambar dengan komentar terperinci
|
||||
- 💬 **Sentimen Teks** - Menganalisis teks positif/negatif
|
||||
- 🌟 **Halo Dunia AI** - Program AI pertama Anda (pengenalan pola)
|
||||
- 🧠 **Jaringan Saraf Sederhana** - Bangun jaringan saraf dari awal
|
||||
- 🖼️ **Klasifikator Gambar** - Mengklasifikasikan gambar dengan komentar terperinci
|
||||
- 💬 **Text Sentiment** - Menganalisis teks positif/negatif
|
||||
|
||||
These examples are designed to help you understand AI concepts before diving into the full curriculum.
|
||||
Contoh-contoh ini dirancang untuk membantu Anda memahami konsep AI sebelum mendalami kurikulum lengkap.
|
||||
|
||||
### 📚 Pengaturan Kurikulum Lengkap
|
||||
|
||||
- Kami telah membuat sebuah [pelajaran pengaturan](./lessons/0-course-setup/setup.md) untuk membantu Anda menyiapkan lingkungan pengembangan Anda. - Untuk Pendidik, kami juga telah membuat sebuah [pelajaran pengaturan kurikulum](./lessons/0-course-setup/for-teachers.md) untuk Anda!
|
||||
- Cara [Menjalankan kode di VSCode atau Codepace](./lessons/0-course-setup/how-to-run.md)
|
||||
- Kami telah membuat a [setup lesson](./lessons/0-course-setup/setup.md) untuk membantu Anda dengan menyiapkan lingkungan pengembangan Anda. - Untuk Pendidik, kami juga telah membuat a [curricula setup lesson](./lessons/0-course-setup/for-teachers.md) untuk Anda!
|
||||
- Cara [Run the code in a VSCode or a Codepace](./lessons/0-course-setup/how-to-run.md)
|
||||
|
||||
Follow these steps:
|
||||
Ikuti langkah-langkah berikut:
|
||||
|
||||
Fork the Repository: Klik tombol "Fork" di pojok kanan atas halaman ini.
|
||||
Fork the Repository: Klik pada tombol "Fork" di sudut kanan atas halaman ini.
|
||||
|
||||
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.
|
||||
Jangan lupa untuk memberi bintang (🌟) repo ini agar lebih mudah ditemukan nanti.
|
||||
|
||||
## Bertemu pelajar lain
|
||||
## Bertemu Pelajar Lain
|
||||
|
||||
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.
|
||||
Bergabunglah dengan [server Discord AI resmi kami](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum) untuk bertemu dan berjejaring dengan pelajar lain yang mengikuti kursus ini serta mendapatkan dukungan.
|
||||
|
||||
If you have product feedback or questions whilst building visit our [Azure AI Foundry Developer Forum](https://aka.ms/foundry/forum)
|
||||
Jika Anda memiliki umpan balik produk atau pertanyaan saat membangun, kunjungi [Forum Pengembang Azure AI Foundry](https://aka.ms/foundry/forum)
|
||||
|
||||
## Kuis
|
||||
|
||||
> **Catatan tentang kuis**: Semua kuis tersimpan di folder Quiz-app di etc\quiz-app, atau [Online di sini](https://ff-quizzes.netlify.app/) Mereka ditautkan dari dalam pelajaran the quiz app can be run locally or deployed to Azure; follow the instruction in the `quiz-app` folder. They are gradually being localized.
|
||||
> **Catatan tentang kuis**: Semua kuis terdapat di folder Quiz-app di etc\quiz-app, atau [Online di sini](https://ff-quizzes.netlify.app/) Mereka ditautkan dari dalam pelajaran; aplikasi kuis dapat dijalankan secara lokal atau dideploy ke Azure; ikuti instruksi di folder `quiz-app`. Mereka sedang secara bertahap dilokalkan.
|
||||
|
||||
## Butuh Bantuan
|
||||
|
||||
Apakah Anda memiliki saran atau menemukan kesalahan ejaan atau kode? Laporkan sebuah issue atau buat pull request.
|
||||
Apakah Anda memiliki saran atau menemukan kesalahan ejaan atau kesalahan kode? Buka issue atau buat pull request.
|
||||
|
||||
## Terima Kasih Khusus
|
||||
## Ucapan Terima Kasih Khusus
|
||||
|
||||
* **✍️ Penulis Utama:** [Dmitry Soshnikov](http://soshnikov.com), PhD
|
||||
* **🔥 Penyunting:** [Jen Looper](https://twitter.com/jenlooper), PhD
|
||||
* **🔥 Editor:** [Jen Looper](https://twitter.com/jenlooper), PhD
|
||||
* **🎨 Ilustrator sketchnote:** [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
* **✅ Pembuat Kuis:** [Lateefah Bello](https://github.com/CinnamonXI), [MLSA](https://studentambassadors.microsoft.com/)
|
||||
* **🙏 Kontributor Inti:** [Evgenii Pishchik](https://github.com/Pe4enIks)
|
||||
|
||||
## Kurikulum Lainnya
|
||||
|
||||
Our team produces other curricula! Check out:
|
||||
Tim kami juga membuat kurikulum lain! Lihat:
|
||||
|
||||
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
|
||||
### LangChain
|
||||
|
|
@ -179,11 +179,11 @@ Our team produces other curricula! Check out:
|
|||
|
||||
---
|
||||
|
||||
### Seri Generative AI
|
||||
[](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)
|
||||
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
|
||||
### Seri AI Generatif
|
||||
[](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)
|
||||
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -191,7 +191,7 @@ Our team produces other curricula! Check out:
|
|||
[](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://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://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
|
||||
|
|
@ -199,24 +199,24 @@ Our team produces other curricula! Check out:
|
|||
---
|
||||
|
||||
### Seri Copilot
|
||||
[](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)
|
||||
[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
|
||||
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
|
||||
|
||||
## Mendapatkan Bantuan
|
||||
|
||||
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.
|
||||
Jika Anda mengalami kebuntuan atau memiliki pertanyaan tentang membangun aplikasi AI, bergabunglah dengan sesama pelajar dan pengembang berpengalaman dalam diskusi tentang MCP. Ini adalah komunitas yang mendukung di mana pertanyaan disambut dan pengetahuan dibagikan secara bebas.
|
||||
|
||||
[](https://discord.gg/nTYy5BXMWG)
|
||||
|
||||
If you have product feedback or errors while building visit:
|
||||
Jika Anda memiliki umpan balik produk atau menemukan kesalahan saat membangun, kunjungi:
|
||||
|
||||
[](https://aka.ms/foundry/forum)
|
||||
[](https://aka.ms/foundry/forum)
|
||||
|
||||
---
|
||||
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
||||
Penafian:
|
||||
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI Co-op Translator (https://github.com/Azure/co-op-translator). Meskipun kami berusaha seakurat mungkin, harap diingat bahwa terjemahan otomatis dapat mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemah profesional. Kami tidak bertanggung jawab atas kesalahpahaman atau salah tafsir yang timbul dari penggunaan terjemahan ini.
|
||||
Dokumen ini diterjemahkan menggunakan layanan terjemahan berbasis AI Co-op Translator (https://github.com/Azure/co-op-translator). Meskipun kami berusaha mencapai ketepatan, harap diperhatikan bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidaktepatan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa terjemahan profesional oleh penerjemah manusia. Kami tidak bertanggung jawab atas segala kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.
|
||||
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
|
||||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Pengantar AI
|
||||
|
||||

|
||||

|
||||
|
||||
> Sketchnote oleh [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
Awalnya, komputer ditemukan oleh [Charles Babbage](https://en.wikipedia.org/wiki/Charles_Babbage) untuk mengolah angka dengan mengikuti prosedur yang terdefinisi dengan baik - sebuah algoritma. Komputer modern, meskipun jauh lebih canggih daripada model awal yang diusulkan pada abad ke-19, masih mengikuti ide yang sama tentang perhitungan terkontrol. Oleh karena itu, kita dapat memprogram komputer untuk melakukan sesuatu jika kita mengetahui urutan langkah-langkah yang tepat yang perlu dilakukan untuk mencapai tujuan.
|
||||
|
||||

|
||||

|
||||
|
||||
> Foto oleh [Vickie Soshnikova](http://twitter.com/vickievalerie)
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ Untuk informasi lebih lanjut, lihat **[Artificial General Intelligence](https://
|
|||
|
||||
Salah satu masalah ketika membahas istilah **[Kecerdasan](https://en.wikipedia.org/wiki/Intelligence)** adalah tidak adanya definisi yang jelas untuk istilah ini. Seseorang dapat berargumen bahwa kecerdasan terkait dengan **pemikiran abstrak**, atau dengan **kesadaran diri**, tetapi kita tidak dapat mendefinisikannya dengan tepat.
|
||||
|
||||

|
||||

|
||||
|
||||
> [Foto](https://unsplash.com/photos/75715CVEJhI) oleh [Amber Kipp](https://unsplash.com/@sadmax) dari Unsplash
|
||||
|
||||
|
|
@ -98,13 +98,13 @@ Sebaliknya, kita dapat mencoba memodelkan elemen-elemen paling sederhana di dala
|
|||
|
||||
> | Bagaimana dengan ML? | |
|
||||
> |--------------|-----------|
|
||||
> | Bagian dari Kecerdasan Buatan yang didasarkan pada komputer yang belajar menyelesaikan masalah berdasarkan beberapa data disebut **Machine Learning**. Kita tidak akan membahas pembelajaran mesin klasik dalam kursus ini - kami merujuk Anda ke kurikulum [Machine Learning for Beginners](http://aka.ms/ml-beginners). |  |
|
||||
> | Bagian dari Kecerdasan Buatan yang didasarkan pada komputer yang belajar menyelesaikan masalah berdasarkan beberapa data disebut **Machine Learning**. Kita tidak akan membahas pembelajaran mesin klasik dalam kursus ini - kami merujuk Anda ke kurikulum [Machine Learning for Beginners](http://aka.ms/ml-beginners). |  |
|
||||
|
||||
## Sejarah Singkat AI
|
||||
|
||||
Kecerdasan Buatan dimulai sebagai sebuah bidang pada pertengahan abad ke-20. Awalnya, penalaran simbolik adalah pendekatan yang dominan, dan ini menghasilkan sejumlah keberhasilan penting, seperti sistem pakar – program komputer yang mampu bertindak sebagai ahli dalam beberapa domain masalah terbatas. Namun, segera menjadi jelas bahwa pendekatan semacam itu tidak dapat berkembang dengan baik. Mengekstraksi pengetahuan dari seorang ahli, merepresentasikannya di dalam komputer, dan menjaga basis pengetahuan tersebut tetap akurat ternyata menjadi tugas yang sangat kompleks, dan terlalu mahal untuk praktis dalam banyak kasus. Hal ini menyebabkan apa yang disebut [AI Winter](https://en.wikipedia.org/wiki/AI_winter) pada tahun 1970-an.
|
||||
|
||||
<img alt="Sejarah Singkat AI" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a0264357672b0884cf3a220fbafe35c65d70b2c3805f7bf5e.id.png" width="70%"/>
|
||||
<img alt="Sejarah Singkat AI" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a.id.png" width="70%"/>
|
||||
|
||||
> Gambar oleh [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -124,7 +124,7 @@ Demikian pula, kita dapat melihat bagaimana pendekatan terhadap pembuatan “pro
|
|||
* Asisten modern, seperti Cortana, Siri, atau Google Assistant semuanya adalah sistem hibrida yang menggunakan jaringan saraf untuk mengubah ucapan menjadi teks dan mengenali niat kita, lalu menggunakan beberapa penalaran atau algoritma eksplisit untuk melakukan tindakan yang diperlukan.
|
||||
* Di masa depan, kita mungkin mengharapkan model berbasis jaringan sepenuhnya untuk menangani dialog secara mandiri. Keluarga jaringan saraf GPT dan [Turing-NLG](https://www.microsoft.com/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft) baru-baru ini menunjukkan keberhasilan besar dalam hal ini.
|
||||
|
||||
<img alt="evolusi Tes Turing" src="../../../../translated_images/turing-test-evol.4184696701293ead6de6e6441a659c62f0b119b342456987f531005f43be0b6d.id.png" width="70%"/>
|
||||
<img alt="evolusi Tes Turing" src="../../../../translated_images/turing-test-evol.4184696701293ead.id.png" width="70%"/>
|
||||
> Gambar oleh Dmitry Soshnikov, [foto](https://unsplash.com/photos/r8LmVbUKgns) oleh [Marina Abrosimova](https://unsplash.com/@abrosimova_marina_foto), Unsplash
|
||||
|
||||
## Penelitian AI Terkini
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
"\n",
|
||||
"Dalam contoh ini, kita akan menerapkan sistem berbasis pengetahuan sederhana untuk menentukan jenis hewan berdasarkan beberapa karakteristik fisik. Sistem ini dapat direpresentasikan dengan pohon AND-OR berikut (ini adalah bagian dari keseluruhan pohon, kita dapat dengan mudah menambahkan beberapa aturan lagi):\n",
|
||||
"\n",
|
||||
"\n"
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Representasi Pengetahuan dan Sistem Pakar
|
||||
|
||||

|
||||

|
||||
|
||||
> Sketchnote oleh [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ Sering kali, kita tidak secara ketat mendefinisikan pengetahuan, tetapi kita men
|
|||
|
||||
Dengan demikian, masalah **representasi pengetahuan** adalah menemukan cara yang efektif untuk merepresentasikan pengetahuan di dalam komputer dalam bentuk data, agar dapat digunakan secara otomatis. Ini dapat dilihat sebagai spektrum:
|
||||
|
||||

|
||||

|
||||
|
||||
> Gambar oleh [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ Sintaks Blok | Indentasi | | |
|
|||
|
||||
Salah satu keberhasilan awal AI simbolik adalah **sistem pakar** - sistem komputer yang dirancang untuk bertindak sebagai pakar dalam domain masalah yang terbatas. Sistem ini didasarkan pada **basis pengetahuan** yang diekstraksi dari satu atau lebih pakar manusia, dan mereka memiliki **mesin inferensi** yang melakukan penalaran di atasnya.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
---------------------------------------------|------------------------------------------------
|
||||
Struktur sederhana sistem saraf manusia | Arsitektur sistem berbasis pengetahuan
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ Sistem pakar dibangun seperti sistem penalaran manusia, yang mengandung **memori
|
|||
|
||||
Sebagai contoh, mari kita pertimbangkan sistem pakar berikut untuk menentukan hewan berdasarkan karakteristik fisiknya:
|
||||
|
||||

|
||||

|
||||
|
||||
> Gambar oleh [Dmitry Soshnikov](http://soshnikov.com)
|
||||
|
||||
|
|
|
|||
|
|
@ -1255,7 +1255,7 @@
|
|||
"* Loss pelatihan rendah - model dapat mendekati data pelatihan dengan baik karena memiliki kekuatan ekspresif yang cukup.\n",
|
||||
"* Loss validasi bisa jauh lebih tinggi daripada loss pelatihan dan dapat mulai meningkat selama pelatihan - ini terjadi karena model \"mengingat\" titik-titik pelatihan, dan kehilangan \"gambaran keseluruhan.\"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> Pada gambar ini, `x` mewakili data pelatihan, `o` - data validasi. Kiri - model linear (satu layer), mendekati sifat data dengan cukup baik. Kanan - model yang overfitting, model mendekati data pelatihan dengan sangat baik, tetapi kehilangan makna untuk data lainnya (error validasi sangat tinggi).\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ Overfitting adalah konsep yang sangat penting dalam pembelajaran mesin, dan sang
|
|||
|
||||
Pertimbangkan masalah berikut dalam mendekati 5 titik (diwakili oleh `x` pada grafik di bawah):
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-------------------------|--------------------------
|
||||
**Model linear, 2 parameter** | **Model non-linear, 7 parameter**
|
||||
Error pelatihan = 5.3 | Error pelatihan = 0
|
||||
|
|
@ -79,7 +79,7 @@ Sangat penting untuk menemukan keseimbangan yang tepat antara kompleksitas model
|
|||
|
||||
Seperti yang dapat Anda lihat dari grafik di atas, overfitting dapat dideteksi dengan error pelatihan yang sangat rendah, dan error validasi yang tinggi. Biasanya selama pelatihan kita akan melihat error pelatihan dan validasi mulai menurun, dan kemudian pada suatu titik error validasi mungkin berhenti menurun dan mulai meningkat. Ini akan menjadi tanda overfitting, dan indikator bahwa kita mungkin harus menghentikan pelatihan pada titik ini (atau setidaknya membuat snapshot model).
|
||||
|
||||

|
||||

|
||||
|
||||
## Cara mencegah overfitting
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Pengantar Jaringan Neural
|
||||
|
||||

|
||||

|
||||
|
||||
Seperti yang telah kita bahas dalam pengantar, salah satu cara untuk mencapai kecerdasan adalah dengan melatih **model komputer** atau **otak buatan**. Sejak pertengahan abad ke-20, para peneliti mencoba berbagai model matematika, hingga beberapa tahun terakhir arah ini terbukti sangat berhasil. Model matematika otak ini disebut **jaringan neural**.
|
||||
|
||||
|
|
@ -36,13 +36,13 @@ Dalam kurikulum ini, kita hanya akan fokus pada model jaringan neural.
|
|||
|
||||
Dari biologi, kita tahu bahwa otak kita terdiri dari sel-sel neural (neuron), masing-masing memiliki beberapa "input" (dendrit) dan satu "output" (akson). Baik dendrit maupun akson dapat menghantarkan sinyal listrik, dan koneksi di antara mereka — yang dikenal sebagai sinaps — dapat menunjukkan tingkat konduktivitas yang bervariasi, yang diatur oleh neurotransmiter.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
Neuron Asli *([Gambar](https://en.wikipedia.org/wiki/Synapse#/media/File:SynapseSchematic_lines.svg) dari Wikipedia)* | Neuron Buatan *(Gambar oleh Penulis)*
|
||||
|
||||
Dengan demikian, model matematika paling sederhana dari neuron memiliki beberapa input X<sub>1</sub>, ..., X<sub>N</sub> dan satu output Y, serta serangkaian bobot W<sub>1</sub>, ..., W<sub>N</sub>. Output dihitung sebagai:
|
||||
|
||||
<img src="../../../../translated_images/netout.1eb15eb76fd767313e067719f400cec4b0e5090239c3e997c29f6789d4c3c263.id.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.id.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
|
||||
|
||||
di mana f adalah beberapa **fungsi aktivasi** non-linear.
|
||||
|
||||
|
|
|
|||
|
|
@ -73,14 +73,14 @@ Dalam [OpenCV Notebook](OpenCV.ipynb), kami memberikan beberapa contoh kapan com
|
|||
|
||||
* **Pra-pemrosesan foto buku Braille**. Kami fokus pada bagaimana kami dapat menggunakan thresholding, deteksi fitur, transformasi perspektif, dan manipulasi NumPy untuk memisahkan simbol Braille individu untuk klasifikasi lebih lanjut oleh jaringan saraf.
|
||||
|
||||
 |  | 
|
||||
 |  | 
|
||||
----|-----|-----
|
||||
|
||||
> Gambar dari [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
* **Mendeteksi gerakan dalam video menggunakan perbedaan frame**. Jika kamera tetap, maka frame dari umpan kamera seharusnya cukup mirip satu sama lain. Karena frame direpresentasikan sebagai array, hanya dengan mengurangi array untuk dua frame berturut-turut kita akan mendapatkan perbedaan piksel, yang seharusnya rendah untuk frame statis, dan menjadi lebih tinggi ketika ada gerakan yang signifikan dalam gambar.
|
||||
|
||||

|
||||

|
||||
|
||||
> Gambar dari [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
|
|
@ -89,7 +89,7 @@ Dalam [OpenCV Notebook](OpenCV.ipynb), kami memberikan beberapa contoh kapan com
|
|||
- **Dense Optical Flow** menghitung medan vektor yang menunjukkan untuk setiap piksel ke mana ia bergerak.
|
||||
- **Sparse Optical Flow** didasarkan pada mengambil beberapa fitur khas dalam gambar (misalnya, tepi), dan membangun trajektorinya dari frame ke frame.
|
||||
|
||||

|
||||

|
||||
|
||||
> Gambar dari [OpenCV.ipynb](OpenCV.ipynb)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,11 +13,11 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
|
||||
VGG-16 adalah jaringan yang mencapai akurasi 92,7% dalam klasifikasi top-5 ImageNet pada tahun 2014. Jaringan ini memiliki struktur lapisan sebagai berikut:
|
||||
|
||||

|
||||

|
||||
|
||||
Seperti yang dapat Anda lihat, VGG mengikuti arsitektur piramida tradisional, yaitu urutan lapisan konvolusi-pooling.
|
||||
|
||||

|
||||

|
||||
|
||||
> Gambar dari [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)
|
||||
|
||||
|
|
|
|||
|
|
@ -262,7 +262,7 @@
|
|||
"\n",
|
||||
"Dengan demikian, dalam CNN yang khas, akan ada beberapa lapisan konvolusi, dengan lapisan pooling di antaranya untuk mengurangi dimensi gambar. Kita juga akan meningkatkan jumlah filter, karena seiring pola menjadi lebih kompleks, ada lebih banyak kombinasi menarik yang perlu kita cari.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Karena dimensi spasial yang berkurang dan dimensi fitur/filter yang meningkat, arsitektur ini juga disebut sebagai **arsitektur piramida**.\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -358,7 +358,7 @@
|
|||
"\n",
|
||||
"Dengan demikian, dalam CNN yang khas akan ada beberapa lapisan konvolusi, dengan lapisan pooling di antaranya untuk mengurangi dimensi gambar. Kita juga akan meningkatkan jumlah filter, karena saat pola menjadi lebih kompleks - ada lebih banyak kombinasi menarik yang perlu kita cari.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Karena pengurangan dimensi spasial dan peningkatan dimensi fitur/filter, arsitektur ini juga disebut **arsitektur piramida**.\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ Dalam kehidupan nyata, kita ingin dapat mengenali objek dalam gambar tanpa pedul
|
|||
|
||||
Untuk mengekstrak pola, kita akan menggunakan konsep **filter konvolusi**. Seperti yang Anda ketahui, gambar direpresentasikan sebagai matriks 2D, atau tensor 3D dengan kedalaman warna. Menerapkan filter berarti kita mengambil matriks **filter kernel** yang relatif kecil, dan untuk setiap piksel dalam gambar asli kita menghitung rata-rata berbobot dengan titik-titik tetangga. Kita dapat melihat ini seperti jendela kecil yang meluncur di seluruh gambar, dan meratakan semua piksel sesuai dengan bobot dalam matriks filter kernel.
|
||||
|
||||
 | 
|
||||
 | 
|
||||
----|----
|
||||
|
||||
> Gambar oleh Dmitry Soshnikov
|
||||
|
|
@ -38,7 +38,7 @@ Cara kerja CNN didasarkan pada ide-ide penting berikut:
|
|||
* Kita dapat merancang jaringan sedemikian rupa sehingga filter dilatih secara otomatis
|
||||
* Kita dapat menggunakan pendekatan yang sama untuk menemukan pola dalam fitur tingkat tinggi, bukan hanya dalam gambar asli. Dengan demikian, ekstraksi fitur CNN bekerja pada hierarki fitur, mulai dari kombinasi piksel tingkat rendah hingga kombinasi tingkat tinggi dari bagian gambar.
|
||||
|
||||

|
||||

|
||||
|
||||
> Gambar dari [makalah oleh Hislop-Lynch](https://www.semanticscholar.org/paper/Computer-vision-based-pedestrian-trajectory-Hislop-Lynch/26e6f74853fc9bbb7487b06dc2cf095d36c9021d), berdasarkan [penelitian mereka](https://dl.acm.org/doi/abs/10.1145/1553374.1553453)
|
||||
|
||||
|
|
@ -55,9 +55,9 @@ Sebagian besar CNN yang digunakan untuk pemrosesan gambar mengikuti apa yang dis
|
|||
|
||||
Sebagai contoh, mari kita lihat arsitektur VGG-16, sebuah jaringan yang mencapai akurasi 92.7% dalam klasifikasi top-5 ImageNet pada tahun 2014:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
> Gambar dari [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)
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ Anda perlu melatih jaringan saraf konvolusi untuk mengklasifikasikan berbagai ra
|
|||
|
||||
Kita akan menggunakan [Oxford-IIIT Pet Dataset](https://www.robots.ox.ac.uk/~vgg/data/pets/), yang berisi gambar dari 37 ras anjing dan kucing yang berbeda.
|
||||
|
||||

|
||||

|
||||
|
||||
Untuk mengunduh dataset, gunakan cuplikan kode berikut:
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
"\n",
|
||||
"Untuk memvisualisasikan kucing yang ideal, kita akan memulai dengan gambar acak berupa noise, dan mencoba menggunakan teknik optimasi gradient descent untuk menyesuaikan gambar agar jaringan dapat mengenali kucing.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Berikut adalah gambar awal kita:\n"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ Baik Keras maupun PyTorch memiliki fungsi untuk dengan mudah memuat bobot jaring
|
|||
|
||||
Berikut adalah contoh fitur yang diekstrak dari gambar kucing oleh jaringan VGG-16:
|
||||
|
||||

|
||||

|
||||
|
||||
## Dataset Kucing vs. Anjing
|
||||
|
||||
|
|
@ -48,19 +48,19 @@ Jaringan neural pra-latih mengandung berbagai pola di dalam "otaknya", termasuk
|
|||
|
||||
Salah satu pendekatan yang bisa kita ambil adalah memulai dengan gambar acak, lalu mencoba menggunakan teknik **optimisasi penurunan gradien** untuk menyesuaikan gambar tersebut sedemikian rupa sehingga jaringan mulai berpikir bahwa itu adalah kucing.
|
||||
|
||||

|
||||

|
||||
|
||||
Namun, jika kita melakukan ini, kita akan mendapatkan sesuatu yang sangat mirip dengan noise acak. Hal ini terjadi karena *ada banyak cara untuk membuat jaringan berpikir bahwa gambar input adalah kucing*, termasuk beberapa yang tidak masuk akal secara visual. Meskipun gambar-gambar tersebut mengandung banyak pola khas untuk kucing, tidak ada yang membatasi mereka untuk menjadi visual yang jelas.
|
||||
|
||||
Untuk meningkatkan hasil, kita dapat menambahkan istilah lain ke dalam fungsi loss, yang disebut **variation loss**. Ini adalah metrik yang menunjukkan seberapa mirip piksel-piksel yang berdekatan dalam gambar. Meminimalkan variation loss membuat gambar lebih halus, dan menghilangkan noise - sehingga mengungkapkan pola yang lebih menarik secara visual. Berikut adalah contoh gambar "ideal" yang diklasifikasikan sebagai kucing dan zebra dengan probabilitas tinggi:
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-----|-----
|
||||
*Kucing Ideal* | *Zebra Ideal*
|
||||
|
||||
Pendekatan serupa dapat digunakan untuk melakukan apa yang disebut **serangan adversarial** pada jaringan neural. Misalkan kita ingin mengelabui jaringan neural dan membuat gambar anjing terlihat seperti kucing. Jika kita mengambil gambar anjing, yang dikenali oleh jaringan sebagai anjing, kita kemudian dapat sedikit menyesuaikannya menggunakan optimisasi penurunan gradien, hingga jaringan mulai mengklasifikasikannya sebagai kucing:
|
||||
|
||||
 | 
|
||||
 | 
|
||||
-----|-----
|
||||
*Gambar asli anjing* | *Gambar anjing yang diklasifikasikan sebagai kucing*
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
"\n",
|
||||
"Karena kita melatih autoencoder untuk menangkap sebanyak mungkin informasi dari gambar asli agar rekonstruksi akurat, jaringan mencoba menemukan **embedding** terbaik dari gambar input untuk menangkap maknanya.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"> Gambar dari [Keras blog](https://blog.keras.io/building-autoencoders-in-keras.html)\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
"\n",
|
||||
"Karena kita melatih autoencoder untuk menangkap sebanyak mungkin informasi dari gambar asli agar rekonstruksi akurat, jaringan mencoba menemukan **embedding** terbaik dari gambar input untuk menangkap maknanya.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"*Gambar dari [blog Keras](https://blog.keras.io/building-autoencoders-in-keras.html)*\n",
|
||||
"\n",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Namun, kita mungkin ingin menggunakan data mentah (tidak berlabel) untuk melatih
|
|||
|
||||
Karena kita melatih autoencoder untuk menangkap sebanyak mungkin informasi dari gambar asli agar dapat merekonstruksi dengan akurat, jaringan ini mencoba menemukan **embedding** terbaik dari gambar input untuk menangkap maknanya.
|
||||
|
||||

|
||||

|
||||
|
||||
> Gambar dari [blog Keras](https://blog.keras.io/building-autoencoders-in-keras.html)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ Model klasifikasi gambar yang telah kita bahas sejauh ini mengambil gambar dan m
|
|||
|
||||
## [Kuis sebelum pelajaran](https://ff-quizzes.netlify.app/en/ai/quiz/21)
|
||||
|
||||

|
||||

|
||||
|
||||
> Gambar dari [situs web YOLO v2](https://pjreddie.com/darknet/yolov2/)
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ Misalkan kita ingin menemukan seekor kucing dalam sebuah gambar, pendekatan yang
|
|||
2. Melakukan klasifikasi gambar pada setiap ubin.
|
||||
3. Ubin yang menghasilkan aktivasi yang cukup tinggi dapat dianggap mengandung objek yang dimaksud.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Gambar dari [Notebook Latihan](ObjectDetection-TF.ipynb)*
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ Anda mungkin menemukan dataset berikut untuk tugas ini:
|
|||
* [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/) - 20 kelas
|
||||
* [COCO](http://cocodataset.org/#home) - Common Objects in Context. 80 kelas, kotak pembatas, dan masker segmentasi
|
||||
|
||||

|
||||

|
||||
|
||||
## Metrik Deteksi Objek
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ Anda mungkin menemukan dataset berikut untuk tugas ini:
|
|||
|
||||
Sementara untuk klasifikasi gambar mudah untuk mengukur seberapa baik algoritma bekerja, untuk deteksi objek kita perlu mengukur baik kebenaran kelas maupun ketepatan lokasi kotak pembatas yang dihasilkan. Untuk yang terakhir, kita menggunakan **Intersection over Union** (IoU), yang mengukur seberapa baik dua kotak (atau dua area arbitrer) saling tumpang tindih.
|
||||
|
||||

|
||||

|
||||
|
||||
> *Gambar 2 dari [blog yang sangat bagus tentang IoU](https://pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/)*
|
||||
|
||||
|
|
@ -98,11 +98,11 @@ Ada dua kelas besar algoritma deteksi objek:
|
|||
|
||||
[R-CNN](http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf) menggunakan [Selective Search](http://www.huppelen.nl/publications/selectiveSearchDraft.pdf) untuk menghasilkan struktur hierarkis dari wilayah ROI, yang kemudian diteruskan melalui ekstraktor fitur CNN dan pengklasifikasi SVM untuk menentukan kelas objek, serta regresi linier untuk menentukan koordinat *bounding box*. [Makalah Resmi](https://arxiv.org/pdf/1506.01497v1.pdf)
|
||||
|
||||

|
||||

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

|
||||

|
||||
|
||||
> *Gambar dari [blog ini](https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e)
|
||||
|
||||
|
|
@ -110,7 +110,7 @@ Ada dua kelas besar algoritma deteksi objek:
|
|||
|
||||
Pendekatan ini mirip dengan R-CNN, tetapi wilayah didefinisikan setelah lapisan konvolusi diterapkan.
|
||||
|
||||

|
||||

|
||||
|
||||
> Gambar dari [Makalah Resmi](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 @@ Pendekatan ini mirip dengan R-CNN, tetapi wilayah didefinisikan setelah lapisan
|
|||
|
||||
Ide utama pendekatan ini adalah menggunakan jaringan saraf untuk memprediksi ROI - yang disebut *Region Proposal Network*. [Makalah](https://arxiv.org/pdf/1506.01497.pdf), 2016
|
||||
|
||||

|
||||

|
||||
|
||||
> Gambar dari [makalah resmi](https://arxiv.org/pdf/1506.01497.pdf)
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ Algoritma ini bahkan lebih cepat daripada Faster R-CNN. Ide utamanya adalah seba
|
|||
2. Fitur diproses oleh **Position-Sensitive Score Map**. Setiap objek dari $C$ kelas dibagi menjadi $k\times k$ wilayah, dan kita melatih untuk memprediksi bagian-bagian objek.
|
||||
3. Untuk setiap bagian dari wilayah $k\times k$, semua jaringan memberikan suara untuk kelas objek, dan kelas objek dengan suara maksimum dipilih.
|
||||
|
||||

|
||||

|
||||
|
||||
> Gambar dari [makalah resmi](https://arxiv.org/abs/1605.06409)
|
||||
|
||||
|
|
@ -141,7 +141,7 @@ YOLO adalah algoritma satu kali pengolahan secara real-time. Ide utamanya adalah
|
|||
* Gambar dibagi menjadi $S\times S$ wilayah.
|
||||
* Untuk setiap wilayah, **CNN** memprediksi $n$ objek yang mungkin, koordinat *bounding box*, dan *confidence*=*probabilitas* * IoU.
|
||||
|
||||

|
||||

|
||||
|
||||
> Gambar dari [makalah resmi](https://arxiv.org/abs/1506.02640)
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
|
|||
-->
|
||||
# Penglihatan Komputer
|
||||
|
||||

|
||||

|
||||
|
||||
Di bagian ini kita akan mempelajari tentang:
|
||||
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@
|
|||
"\n",
|
||||
"Representasi vektor **Bag of Words** (BoW) adalah representasi vektor tradisional yang paling umum digunakan. Setiap kata dikaitkan dengan indeks vektor, elemen vektor berisi jumlah kemunculan sebuah kata dalam dokumen tertentu.\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"\n",
|
||||
"> **Note**: Anda juga dapat memikirkan BoW sebagai jumlah dari semua vektor one-hot-encoded untuk kata-kata individual dalam teks.\n",
|
||||
"\n",
|
||||
|
|
|
|||
Loading…
Reference in New Issue