chore(i18n): sync translations with latest source changes (chunk 77/148, 100 files)

This commit is contained in:
localizeflow[bot] 2026-01-01 14:21:07 +00:00
parent e11d3a7e62
commit 1099fcff1e
100 changed files with 469 additions and 469 deletions

View File

@ -13,7 +13,7 @@ Di image classification models we don deal wit before na to take one image and p
## [Pre-lecture quiz](https://ff-quizzes.netlify.app/en/ai/quiz/21)
![Object Detection](../../../../../translated_images/Screen_Shot_2016-11-17_at_11.14.54_AM.b4bb3769353287be1b905373ed9c858102c054b16e4595c76ec3f7bba0feb549.pcm.png)
![Object Detection](../../../../../translated_images/Screen_Shot_2016-11-17_at_11.14.54_AM.b4bb3769353287be.pcm.png)
> Image from [YOLO v2 web site](https://pjreddie.com/darknet/yolov2/)
@ -25,7 +25,7 @@ If we wan find cat for one picture, one simple way to do object detection go be
2. Run image classification for each tile.
3. Any tile wey get high activation fit mean say di object dey inside.
![Naive Object Detection](../../../../../translated_images/naive-detection.e7f1ba220ccd08c68a2ea8e06a7ed75c3fcc738c2372f9e00b7f4299a8659c01.pcm.png)
![Naive Object Detection](../../../../../translated_images/naive-detection.e7f1ba220ccd08c6.pcm.png)
> *Image from [Exercise Notebook](ObjectDetection-TF.ipynb)*
@ -42,7 +42,7 @@ You fit see dis datasets for dis kind task:
* [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/) - 20 classes
* [COCO](http://cocodataset.org/#home) - Common Objects in Context. 80 classes, bounding boxes and segmentation masks
![COCO](../../../../../translated_images/coco-examples.71bc60380fa6cceb7caad48bd09e35b6028caabd363aa04fee89c414e0870e86.pcm.jpg)
![COCO](../../../../../translated_images/coco-examples.71bc60380fa6cceb.pcm.jpg)
## Object Detection Metrics
@ -50,7 +50,7 @@ You fit see dis datasets for dis kind task:
For image classification, e dey easy to measure how di algorithm dey perform. But for object detection, we need to measure di class correctness and di bounding box location precision. For di bounding box, we dey use **Intersection over Union** (IoU), wey dey measure how two boxes (or areas) dey overlap.
![IoU](../../../../../translated_images/iou_equation.9a4751d40fff4e119ecd0a7bcca4e71ab1dc83e0d4f2a0d66ff0859736f593cf.pcm.png)
![IoU](../../../../../translated_images/iou_equation.9a4751d40fff4e11.pcm.png)
> *Figure 2 from [dis blog post on IoU](https://pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/)*
@ -97,11 +97,11 @@ We get two main types of object detection algorithms:
[R-CNN](http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf) dey use [Selective Search](http://www.huppelen.nl/publications/selectiveSearchDraft.pdf) to generate ROI regions, wey CNN go process to extract features. SVM-classifiers go determine di object class, and linear regression go predict di *bounding box* coordinates. [Official Paper](https://arxiv.org/pdf/1506.01497v1.pdf)
![RCNN](../../../../../translated_images/rcnn1.cae407020dfb1d1fb572656e44f75cd6c512cc220591c116c506652c10e47f26.pcm.png)
![RCNN](../../../../../translated_images/rcnn1.cae407020dfb1d1f.pcm.png)
> *Image from van de Sande et al. ICCV11*
![RCNN-1](../../../../../translated_images/rcnn2.2d9530bb83516484ec65b250c22dbf37d3d23244f32864ebcb91d98fe7c3112c.pcm.png)
![RCNN-1](../../../../../translated_images/rcnn2.2d9530bb83516484.pcm.png)
> *Images from [dis blog](https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e)
@ -109,7 +109,7 @@ We get two main types of object detection algorithms:
Dis method dey similar to R-CNN, but e dey define regions after convolution layers don run.
![FRCNN](../../../../../translated_images/f-rcnn.3cda6d9bb41888754037d2d9763e2298a96de5d9bc2a21db3147357aa5da9b1a.pcm.png)
![FRCNN](../../../../../translated_images/f-rcnn.3cda6d9bb4188875.pcm.png)
> Image from [di Official Paper](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
@ -117,7 +117,7 @@ Dis method dey similar to R-CNN, but e dey define regions after convolution laye
Dis method dey use neural network to predict ROIs - di *Region Proposal Network*. [Paper](https://arxiv.org/pdf/1506.01497.pdf), 2016
![FasterRCNN](../../../../../translated_images/faster-rcnn.8d46c099b87ef30ab2ea26dbc4bdd85b974a57ba8eb526f65dc4cd0a4711de30.pcm.png)
![FasterRCNN](../../../../../translated_images/faster-rcnn.8d46c099b87ef30a.pcm.png)
> Image from [di official paper](https://arxiv.org/pdf/1506.01497.pdf)
@ -129,7 +129,7 @@ Dis algorithm dey faster pass Faster R-CNN. Di main idea be:
2. Process di features wit **Position-Sensitive Score Map**. Each object from $C$ classes dey divide into $k\times k$ regions, and we dey train to predict di object parts.
3. For each part, di network go vote for di object class, and di class wit di highest vote go dey selected.
![r-fcn image](../../../../../translated_images/r-fcn.13eb88158b99a3da50fa2787a6be5cb310d47f0e9655cc93a1090dc7aab338d1.pcm.png)
![r-fcn image](../../../../../translated_images/r-fcn.13eb88158b99a3da.pcm.png)
> Image from [official paper](https://arxiv.org/abs/1605.06409)
@ -140,7 +140,7 @@ YOLO na realtime one-pass algorithm. Di main idea be:
* Divide di image into $S\times S$ regions.
* For each region, **CNN** go predict $n$ possible objects, *bounding box* coordinates, and *confidence*=*probability* * IoU.
![YOLO](../../../../../translated_images/yolo.a2648ec82ee8bb4ea27537677adb482fd4b733ca1705c561b6a24a85102dced5.pcm.png)
![YOLO](../../../../../translated_images/yolo.a2648ec82ee8bb4e.pcm.png)
> Image from [official paper](https://arxiv.org/abs/1506.02640)

View File

@ -20,7 +20,7 @@ Segmentation fit be like **pixel classification**, wey mean say for **each** pix
For instance segmentation, di sheep dem na different objects, but for semantic segmentation, all di sheep go dey under one class.
<img src="../../../../../translated_images/instance_vs_semantic.eee9812bebf8cd450cdef4caaed2d4dd9c6c3b671e0c65d8aef312758ebb7b89.pcm.jpeg" width="50%">
<img src="../../../../../translated_images/instance_vs_semantic.eee9812bebf8cd45.pcm.jpeg" width="50%">
> Image from [this blog post](https://nirmalamurali.medium.com/image-classification-vs-semantic-segmentation-vs-instance-segmentation-625c33a08d50)
@ -29,7 +29,7 @@ Different neural architectures dey for segmentation, but all of dem get di same
* **Encoder** dey extract features from di input image.
* **Decoder** dey change di features into di **mask image**, wey get di same size and number of channels wey match di number of classes.
<img src="../../../../../translated_images/segm.92442f2cb42ff4fa650fee858a3a02f55cf46825d9602115130e9e95a52a8526.pcm.png" width="80%">
<img src="../../../../../translated_images/segm.92442f2cb42ff4fa.pcm.png" width="80%">
> Image from [this publication](https://arxiv.org/pdf/2001.05566.pdf)
@ -43,7 +43,7 @@ For dis lesson, we go see segmentation in action by training di network to recog
> ✅ Dis technique dey very good for dis type of medical imaging, but which other real-world applications you fit think of?
<img alt="navi" src="../../../../../translated_images/navi.2f20b727910110ea593fa03a2491f2ba1b25c62c97b33c692bcf01917a1f333f.pcm.png"/>
<img alt="navi" src="../../../../../translated_images/navi.2f20b727910110ea.pcm.png"/>
> Image from di PH<sup>2</sup> Database

View File

@ -17,7 +17,7 @@
"\n",
"For instance segmentation, 10 sheep go be different objects, but for semantic segmentation, all di sheep go dey under one class.\n",
"\n",
"<img src=\"../../../../../translated_images/instance_vs_semantic.eee9812bebf8cd450cdef4caaed2d4dd9c6c3b671e0c65d8aef312758ebb7b89.pcm.jpeg\" width=\"50%\">\n",
"<img src=\"../../../../../translated_images/instance_vs_semantic.eee9812bebf8cd45.pcm.jpeg\" width=\"50%\">\n",
"\n",
"> Image from [dis blog post](https://nirmalamurali.medium.com/image-classification-vs-semantic-segmentation-vs-instance-segmentation-625c33a08d50)\n",
"\n",
@ -26,7 +26,7 @@
"* **Encoder** dey extract features from di input image.\n",
"* **Decoder** dey change di features into di **mask image**, wey get di same size and number of channels wey match di number of classes.\n",
"\n",
"<img src=\"../../../../../translated_images/segm.92442f2cb42ff4fa650fee858a3a02f55cf46825d9602115130e9e95a52a8526.pcm.png\" width=\"80%\">\n",
"<img src=\"../../../../../translated_images/segm.92442f2cb42ff4fa.pcm.png\" width=\"80%\">\n",
"\n",
"> Image from [dis publication](https://arxiv.org/pdf/2001.05566.pdf)\n"
]
@ -252,7 +252,7 @@
"\n",
"Di simplest encoder-decoder architecture na **SegNet**. E dey use standard CNN wey get convolutions and poolings for di encoder, and deconvolution CNN wey get convolutions and upsamplings for di decoder. E still dey depend on batch normalization to fit train multi-layered network well.\n",
"\n",
"<img src=\"../../../../../translated_images/segnet.87377542aa5a8b76c6e19b715e86daec8da5c1124df41ab6064d8409b8579be6.pcm.png\" width=\"80%\">\n",
"<img src=\"../../../../../translated_images/segnet.87377542aa5a8b76.pcm.png\" width=\"80%\">\n",
"\n",
"> Image from dis paper: Badrinarayanan, V., Kendall, A., & Cipolla, R. (2015). [SegNet: A deep convolutional\n",
"encoder-decoder architecture for image segmentation](https://arxiv.org/pdf/1511.00561.pdf)\n"
@ -548,7 +548,7 @@
"\n",
"We go use one simple CNN architecture here, but U-Net fit also use more complex encoder for feature extraction, like ResNet-50.\n",
"\n",
"<img src=\"../../../../../translated_images/unet.3adb555bf39d3657bf535321c7ee153dbdd32895189e915e014229a9c79cf1e3.pcm.png\" width=\"70%\">\n",
"<img src=\"../../../../../translated_images/unet.3adb555bf39d3657.pcm.png\" width=\"70%\">\n",
"\n",
"> Image from paper: Ronneberger, Olaf, Philipp Fischer, and Thomas Brox. [U-Net: Convolutional networks for biomedical image segmentation.](https://arxiv.org/pdf/1505.04597.pdf)\n"
]

View File

@ -12,13 +12,13 @@
"\n",
"For instance segmentation, ten cars na **different** objects, but for semantic segmentation, **all** cars na one class.\n",
"\n",
"<img src=\"../../../../../translated_images/instance_vs_semantic.eee9812bebf8cd450cdef4caaed2d4dd9c6c3b671e0c65d8aef312758ebb7b89.pcm.jpeg\" width=\"50%\">\n",
"<img src=\"../../../../../translated_images/instance_vs_semantic.eee9812bebf8cd45.pcm.jpeg\" width=\"50%\">\n",
"\n",
"> Image from [this blog post](https://nirmalamurali.medium.com/image-classification-vs-semantic-segmentation-vs-instance-segmentation-625c33a08d50)\n",
"\n",
"Almost all di architectures get di same structure. Di first part na **encoder** wey dey collect features from di input image, di second part na **decoder** wey dey change di features into image wey get di same height and width, plus some number of channels, wey fit equal to di classes count.\n",
"\n",
"<img src=\"../../../../../translated_images/segm.92442f2cb42ff4fa650fee858a3a02f55cf46825d9602115130e9e95a52a8526.pcm.png\" width=\"80%\">\n",
"<img src=\"../../../../../translated_images/segm.92442f2cb42ff4fa.pcm.png\" width=\"80%\">\n",
"\n",
"> Image from [this publication](https://arxiv.org/pdf/2001.05566.pdf)\n"
]
@ -210,7 +210,7 @@
"\n",
"Simple encoder-decoder wey get convolution, pooling for encoder side and convolution, upsampling for decoder side.\n",
"\n",
"<img src=\"../../../../../translated_images/segnet.87377542aa5a8b76c6e19b715e86daec8da5c1124df41ab6064d8409b8579be6.pcm.png\" width=\"80%\">\n",
"<img src=\"../../../../../translated_images/segnet.87377542aa5a8b76.pcm.png\" width=\"80%\">\n",
"\n",
"* Badrinarayanan, V., Kendall, A., & Cipolla, R. (2015). [SegNet: A deep convolutional\n",
"encoder-decoder architecture for image segmentation](https://arxiv.org/pdf/1511.00561.pdf)\n"
@ -602,7 +602,7 @@
"\n",
"U-Net dey usually get default encoder for feature extraction, like resnet50.\n",
"\n",
"<img src=\"../../../../../translated_images/unet.3adb555bf39d3657bf535321c7ee153dbdd32895189e915e014229a9c79cf1e3.pcm.png\" width=\"70%\">\n",
"<img src=\"../../../../../translated_images/unet.3adb555bf39d3657.pcm.png\" width=\"70%\">\n",
"\n",
"* Ronneberger, Olaf, Philipp Fischer, and Thomas Brox. [U-Net: Convolutional networks for biomedical image segmentation.](https://arxiv.org/pdf/1505.04597.pdf)\n"
]

View File

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Computer Vision
![Summary of Computer Vision content in a doodle](../../../../translated_images/ai-computervision.6506ebebac3fbf76cdb78989d7d3dfea87e88285c0feaade53aa7804a22b248f.pcm.png)
![Summary of Computer Vision content in a doodle](../../../../translated_images/ai-computervision.6506ebebac3fbf76.pcm.png)
For dis section, we go learn about:

View File

@ -25,7 +25,7 @@ Our goal na to classify di news item into one of di categories based on di text.
If we wan solve Natural Language Processing (NLP) tasks wit neural networks, we need way to represent text as tensors. Computers dey already represent text characters as numbers wey dey map to fonts for your screen using encodings like ASCII or UTF-8.
<img alt="Image wey show diagram wey dey map one character to ASCII and binary representation" src="../../../../../translated_images/ascii-character-map.18ed6aa7f3b0a7ffeb29db95be05a245b6a20712bb2c3a9963c1ec7e9df70358.pcm.png" width="50%"/>
<img alt="Image wey show diagram wey dey map one character to ASCII and binary representation" src="../../../../../translated_images/ascii-character-map.18ed6aa7f3b0a7ff.pcm.png" width="50%"/>
> [Image source](https://www.seobility.net/en/wiki/ASCII)
@ -48,7 +48,7 @@ Sometimes, we fit use tri-grams -- combinations of three words -- too. Dis appro
If we dey solve tasks like text classification, we need way to represent text as one fixed-size vector, wey we go use as input to di final dense classifier. One simple way na to combine all di individual word representations, like adding dem. If we add one-hot encodings of each word, we go get one vector of frequencies, wey go show how many times each word appear for di text. Dis representation of text na **bag of words** (BoW).
<img src="../../../../../translated_images/bow.3811869cff59368d951c7a765ed20ebeaf7d10680eb602ea7c5312fb22f7b7ad.pcm.png" width="90%"/>
<img src="../../../../../translated_images/bow.3811869cff59368d.pcm.png" width="90%"/>
> Image by di author

View File

@ -199,7 +199,7 @@
"\n",
"**Bag of Words** (BoW) vector representation na di most common traditional vector representation wey people dey use. Each word dey connect to one vector index, and di vector element dey show how many times one word appear for one document.\n",
"\n",
"![Image wey dey show how bag of words vector representation dey show for memory.](../../../../../translated_images/bag-of-words-example.606fc1738f1d7ba98a9d693e3bcd706c6e83fa7bf8221e6e90d1a206d82f2ea4.pcm.png) \n",
"![Image wey dey show how bag of words vector representation dey show for memory.](../../../../../translated_images/bag-of-words-example.606fc1738f1d7ba9.pcm.png) \n",
"\n",
"> **Note**: You fit also think of BoW like sum of all one-hot-encoded vectors for di individual words wey dey inside di text.\n",
"\n",

View File

@ -188,7 +188,7 @@
"\n",
"**Bag-of-words** (BoW) vector representation na the simplest way to understand traditional vector representation. Each word dey connect to one vector index, and one vector element dey show how many times each word appear for one document.\n",
"\n",
"![Image showing how a bag of words vector representation is represented in memory.](../../../../../translated_images/bag-of-words-example.606fc1738f1d7ba98a9d693e3bcd706c6e83fa7bf8221e6e90d1a206d82f2ea4.pcm.png) \n",
"![Image showing how a bag of words vector representation is represented in memory.](../../../../../translated_images/bag-of-words-example.606fc1738f1d7ba9.pcm.png) \n",
"\n",
"> **Note**: You fit also think of BoW as sum of all one-hot-encoded vectors for each word wey dey the text.\n",
"\n",

View File

@ -62,7 +62,7 @@
"\n",
"If we use embedding layer as di first layer for our network, we fit change from bag-of-words to **embedding bag** model. For dis model, we go first change each word for our text to di embedding wey match am, then we go calculate one aggregate function for all di embeddings, like `sum`, `average` or `max`.\n",
"\n",
"![Image showing an embedding classifier for five sequence words.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eeec8e68bfe11636c5b97d6eaa067515a129bfb1d0034b1ac5b.pcm.png)\n",
"![Image showing an embedding classifier for five sequence words.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eee.pcm.png)\n",
"\n",
"Our classifier neural network go start wit embedding layer, then aggregation layer, and linear classifier on top:\n"
]
@ -176,7 +176,7 @@
"\n",
"For di architecture wey we bin dey use before, we need to pad all di sequences make dem get di same length so dem go fit enter minibatch. Dis no be di most efficient way to represent sequences wey get different length - another way na to use **offset** vector, wey go hold di offsets of all di sequences wey dey inside one big vector.\n",
"\n",
"![Image wey dey show offset sequence representation](../../../../../translated_images/offset-sequence-representation.eb73fcefb29b46eecfbe74466077cfeb7c0f93a4f254850538a2efbc63517479.pcm.png)\n",
"![Image wey dey show offset sequence representation](../../../../../translated_images/offset-sequence-representation.eb73fcefb29b46ee.pcm.png)\n",
"\n",
"> **Note**: For di picture wey dey up, we dey show sequence of characters, but for our example we dey work with sequences of words. But di general principle of how to represent sequences with offset vector still remain di same.\n",
"\n",
@ -311,7 +311,7 @@
"\n",
"CBoW fast pass, but skip-gram slow small, e dey do better work for words wey no dey common.\n",
"\n",
"![Image wey show both CBoW and Skip-Gram algorithms to convert words to vectors.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.pcm.png)\n",
"![Image wey show both CBoW and Skip-Gram algorithms to convert words to vectors.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.pcm.png)\n",
"\n",
"To try word2vec embedding wey dem don pre-train for Google News dataset, we fit use **gensim** library. For di example below, we go find di words wey dey most similar to 'neural'\n",
"\n",

View File

@ -37,7 +37,7 @@
"\n",
"If we use embedding layer as di first layer for our network, we fit change from bag-of-words to **embedding bag** model. For dis one, we go first change each word for our text to di embedding wey match am, then we go do one kind calculation for all di embeddings, like `sum`, `average` or `max`.\n",
"\n",
"![Image wey dey show embedding classifier for five sequence words.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eeec8e68bfe11636c5b97d6eaa067515a129bfb1d0034b1ac5b.pcm.png)\n",
"![Image wey dey show embedding classifier for five sequence words.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eee.pcm.png)\n",
"\n",
"Our classifier neural network get di following layers:\n",
"\n",
@ -283,7 +283,7 @@
"\n",
"CBoW fast well, but skip-gram slow small, e dey represent words wey no dey common better.\n",
"\n",
"![Image wey dey show both CBoW and Skip-Gram algorithms to convert words to vectors.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.pcm.png)\n",
"![Image wey dey show both CBoW and Skip-Gram algorithms to convert words to vectors.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.pcm.png)\n",
"\n",
"To test di Word2Vec embedding wey dem don pretrain for Google News dataset, we fit use di **gensim** library. For di example below, we go find di words wey dey most similar to 'neural'.\n",
"\n",

View File

@ -19,7 +19,7 @@ So, di embedding layer go take one word as input, and e go produce output vector
If we use embedding layer as di first layer for our classifier network, we fit change from bag-of-words to **embedding bag** model. For here, we go first convert each word for our text into di embedding wey match am, then we go calculate one aggregate function like `sum`, `average` or `max` for all di embeddings.
![Image showing an embedding classifier for five sequence words.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eeec8e68bfe11636c5b97d6eaa067515a129bfb1d0034b1ac5b.pcm.png)
![Image showing an embedding classifier for five sequence words.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eee.pcm.png)
> Image by di author
@ -40,7 +40,7 @@ To do dis, we need to pre-train our embedding model on big text collection in on
CBoW dey faster, but skip-gram dey slow small, though e dey represent words wey no dey common better.
![Image showing both CBoW and Skip-Gram algorithms to convert words to vectors.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.pcm.png)
![Image showing both CBoW and Skip-Gram algorithms to convert words to vectors.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.pcm.png)
> Image from [this paper](https://arxiv.org/pdf/1301.3781.pdf)

View File

@ -23,7 +23,7 @@ For di examples wey we don do before, we use pre-trained semantic embeddings, bu
* **Continuous Bag-of-Words** (CBoW), wey mean say we go predict di middle token $W_0$ for one token sequence $W_{-N}$, ..., $W_N$.
* **Skip-gram**, wey mean say we go predict set of neighboring tokens {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} from di middle token $W_0$.
![image from paper on converting words to vectors](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.pcm.png)
![image from paper on converting words to vectors](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.pcm.png)
> Image from [this paper](https://arxiv.org/pdf/1301.3781.pdf)

View File

@ -15,7 +15,7 @@ For di sections wey don pass, we don dey use beta semantic representation of tex
To fit capture di meaning of text sequence, we go need another neural network architecture, wey dem dey call **recurrent neural network**, or RNN. For RNN, we go pass our sentence through di network one symbol at a time, and di network go produce one **state**, wey we go pass back to di network again with di next symbol.
![RNN](../../../../../translated_images/rnn.27f5c29c53d727b546ad3961637a267f0fe9ec5ab01f2a26a853c92fcefbb574.pcm.png)
![RNN](../../../../../translated_images/rnn.27f5c29c53d727b5.pcm.png)
> Image by di author
@ -31,7 +31,7 @@ Make we see how simple RNN cell dey organized. E dey accept di previous state S<
Simple RNN cell get two weight matrices inside: one dey transform input symbol (make we call am W), and another one dey transform input state (H). For dis case, di output of di network dey calculate as &sigma;(W&times;X<sub>i</sub>+H&times;S<sub>i-1</sub>+b), where &sigma; na di activation function and b na additional bias.
<img alt="RNN Cell Anatomy" src="../../../../../translated_images/rnn-anatomy.79ee3f3920b3294bd52e9543ef36102dbca3cecf6d4d78d8c63bf0bbc95fdc90.pcm.png" width="50%"/>
<img alt="RNN Cell Anatomy" src="../../../../../translated_images/rnn-anatomy.79ee3f3920b3294b.pcm.png" width="50%"/>
> Image by di author
@ -61,7 +61,7 @@ We don talk about recurrent networks wey dey work for one direction, from di beg
Recurrent network, whether na one-directional or bidirectional, dey capture some patterns inside sequence, and e fit store dem inside state vector or pass am into output. Just like convolutional networks, we fit build another recurrent layer on top di first one to capture higher level patterns and build from di low-level patterns wey di first layer extract. Dis one dey lead us to di idea of **multi-layer RNN** wey get two or more recurrent networks, where di output of di previous layer dey pass to di next layer as input.
![Image showing a Multilayer long-short-term-memory- RNN](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe58b429db833932d734c81f211cad2783797a9608984acb8c.pcm.jpg)
![Image showing a Multilayer long-short-term-memory- RNN](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe.pcm.jpg)
*Picture from [this wonderful post](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) by Fernando López*

View File

@ -10,7 +10,7 @@
"\n",
"To fit capture di meaning of text sequence, we go need use another neural network architecture wey dem dey call **recurrent neural network**, or RNN. For RNN, we go dey pass our sentence through di network one symbol at a time, and di network go produce one **state**, wey we go then pass back to di network with di next symbol.\n",
"\n",
"<img alt=\"RNN\" src=\"../../../../../translated_images/rnn.27f5c29c53d727b546ad3961637a267f0fe9ec5ab01f2a26a853c92fcefbb574.pcm.png\" width=\"60%\"/>\n",
"<img alt=\"RNN\" src=\"../../../../../translated_images/rnn.27f5c29c53d727b5.pcm.png\" width=\"60%\"/>\n",
"\n",
"If we get input sequence of tokens $X_0,\\dots,X_n$, RNN go create one sequence of neural network blocks, and e go train dis sequence end-to-end using back propagation. Each network block dey take one pair $(X_i,S_i)$ as input, and e go produce $S_{i+1}$ as result. Final state $S_n$ or output $X_n$ go enter one linear classifier to produce di result. All di network blocks dey share di same weights, and dem dey train end-to-end using one back propagation pass.\n",
"\n",
@ -428,7 +428,7 @@
"\n",
"Recurrent network, whether e dey go one direction or e dey bidirectional, dey capture some patterns inside sequence, and e fit store dem for state vector or pass dem go output. Just like convolutional networks, we fit build another recurrent layer on top di first one to capture higher level patterns, wey di low-level patterns wey di first layer extract go help build. Dis one na wetin dem dey call **multi-layer RNN**, wey get two or more recurrent networks, and di output of di previous layer go dey pass go di next layer as input.\n",
"\n",
"![Image showing a Multilayer long-short-term-memory- RNN](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe58b429db833932d734c81f211cad2783797a9608984acb8c.pcm.jpg)\n",
"![Image showing a Multilayer long-short-term-memory- RNN](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe.pcm.jpg)\n",
"\n",
"*Di picture dey from [dis fine post](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) by Fernando López*\n",
"\n",

View File

@ -10,7 +10,7 @@
"\n",
"To fit capture di meaning of text sequence, we go use one neural network architecture wey dem dey call **recurrent neural network**, or RNN. When we dey use RNN, we go pass our sentence through di network one token at a time, and di network go produce some **state**, wey we go pass to di network again with di next token.\n",
"\n",
"![Image wey dey show example of recurrent neural network generation.](../../../../../translated_images/rnn.27f5c29c53d727b546ad3961637a267f0fe9ec5ab01f2a26a853c92fcefbb574.pcm.png)\n",
"![Image wey dey show example of recurrent neural network generation.](../../../../../translated_images/rnn.27f5c29c53d727b5.pcm.png)\n",
"\n",
"If we get di input sequence of tokens $X_0,\\dots,X_n$, di RNN go create one sequence of neural network blocks, and e go train dis sequence end-to-end using backpropagation. Each network block dey take one pair $(X_i,S_i)$ as input, and e dey produce $S_{i+1}$ as result. Di final state $S_n$ or output $Y_n$ go enter linear classifier to produce di result. All di network blocks dey share di same weights, and dem dey train am end-to-end using one back propagation pass.\n",
"\n",
@ -371,7 +371,7 @@
"\n",
"Recurrent networks, whether na unidirectional or bidirectional, dey capture patterns inside sequence, and dem dey store am for state vectors or return am as output. Just like convolutional networks, we fit build another recurrent layer after di first one to capture higher level patterns, wey dem build from di lower level patterns wey di first layer extract. Dis one na wetin dem dey call **multi-layer RNN**, wey get two or more recurrent networks, where di output of di previous layer dey pass go di next layer as input.\n",
"\n",
"![Image showing a Multilayer long-short-term-memory- RNN](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe58b429db833932d734c81f211cad2783797a9608984acb8c.pcm.jpg)\n",
"![Image showing a Multilayer long-short-term-memory- RNN](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe.pcm.jpg)\n",
"\n",
"*Picture from [dis wonderful post](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) by Fernando López.*\n",
"\n",

View File

@ -119,7 +119,7 @@
"\n",
"Di way we go take train RNN to dey generate text na like dis. For each step, we go carry one sequence of characters wey get length `nchars`, and we go tell di network make e generate di next character wey go follow each input character:\n",
"\n",
"![Image wey dey show example of RNN wey dey generate di word 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d63a7c16ea9c1b86cb70e6e1eae6a742b56b7b37468576b17.pcm.png)\n",
"![Image wey dey show example of RNN wey dey generate di word 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d.pcm.png)\n",
"\n",
"Depending on di situation wey we dey, we fit wan add some special characters, like *end-of-sequence* `<eos>`. But for our own case, we just wan train di network to dey generate text without end, so we go fix di size of each sequence make e equal to `nchars` tokens. So, each training example go get `nchars` inputs and `nchars` outputs (di input sequence go shift one symbol go left). Minibatch go get plenty of dis kind sequences.\n",
"\n",

View File

@ -113,7 +113,7 @@
"\n",
"Di way we go take train RNN to dey generate news titles na like dis. For each step, we go carry one title, wey we go put inside RNN, and for each character wey we put as input, we go tell di network make e generate di next character:\n",
"\n",
"![Image wey dey show example of RNN wey dey generate di word 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d63a7c16ea9c1b86cb70e6e1eae6a742b56b7b37468576b17.pcm.png)\n",
"![Image wey dey show example of RNN wey dey generate di word 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d.pcm.png)\n",
"\n",
"For di last character for our sequence, we go tell di network make e generate `<eos>` token.\n",
"\n",

View File

@ -19,7 +19,7 @@ For di RNN architecture wey we discuss for di last unit, each RNN unit dey produ
Dis one dey allow different neural architectures wey dem show for di picture below:
![Image showing common recurrent neural network patterns.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42dce6c42d8a56c184729aa2378d059b851be4ce12b993033df.pcm.jpg)
![Image showing common recurrent neural network patterns.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42d.pcm.jpg)
> Image from blog post [Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) by [Andrej Karpaty](http://karpathy.github.io/)
@ -32,11 +32,11 @@ For dis unit, we go focus on simple generative models wey go help us generate te
We go train dis RNN to generate text step by step. For each step, we go take sequence of characters wey get length `nchars`, then ask di network to generate di next output character for each input character:
![Image showing an example RNN generation of the word 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d63a7c16ea9c1b86cb70e6e1eae6a742b56b7b37468576b17.pcm.png)
![Image showing an example RNN generation of the word 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d.pcm.png)
When we dey generate text (during inference), we go start with one **prompt**, wey we go pass through RNN cells to generate di intermediate state, then from di state, di generation go start. We go generate one character at a time, then pass di state and di generated character to another RNN cell to generate di next one, until we generate enough characters.
<img src="../../../../../translated_images/rnn-generate-inf.5168dc65e0370eeab36f83885ba6b5bf56265698de5ddbd8648dc3653e1f0b9b.pcm.png" width="60%"/>
<img src="../../../../../translated_images/rnn-generate-inf.5168dc65e0370eea.pcm.png" width="60%"/>
> Image by di author

View File

@ -20,13 +20,13 @@ With RNNs, sequence-to-sequence dey work with two recurrent networks. One networ
**Attention Mechanisms** dey help to give weight to how each input vector go affect each output prediction of the RNN. E dey work by creating shortcuts between intermediate states of the input RNN and the output RNN. So, when we dey generate output symbol y<sub>t</sub>, we go consider all input hidden states h<sub>i</sub>, with different weight coefficients &alpha;<sub>t,i</sub>.
![Image showing an encoder/decoder model with an additive attention layer](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567aa2898c94b17b3289087f6705c11907df8301df9e5eeb3de.pcm.png)
![Image showing an encoder/decoder model with an additive attention layer](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567.pcm.png)
> The encoder-decoder model with additive attention mechanism in [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), cited from [this blog post](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)
The attention matrix {&alpha;<sub>i,j</sub>} go show how much certain input words dey contribute to the generation of one word for the output sequence. Example of dis matrix dey below:
![Image showing a sample alignment found by RNNsearch-50, taken from Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af11de6c82d2d197830ba5f4528d9ea430eb65fd3a75065973.pcm.png)
![Image showing a sample alignment found by RNNsearch-50, taken from Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af.pcm.png)
> Figure from [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Fig.3)
@ -56,7 +56,7 @@ The idea of positional encoding be like dis:
* Trainable embedding, like token embedding. Na dis approach we go use here. We go apply embedding layers for both tokens and their positions, wey go give embedding vectors of the same dimensions, then we go add dem together.
* Fixed position encoding function, as dem propose for the original paper.
<img src="../../../../../translated_images/pos-embedding.e41ce9b6cf6078afd28da02f27e33ac7026ed4c156491df7ad9aa96be7c194bb.pcm.png" width="50%"/>
<img src="../../../../../translated_images/pos-embedding.e41ce9b6cf6078af.pcm.png" width="50%"/>
> Image by the author
@ -66,7 +66,7 @@ The result wey we go get with positional embedding go combine the original token
Next, we need to capture some patterns inside our sequence. To do dis, transformers dey use **self-attention** mechanism, wey be attention wey dem apply to the same sequence as input and output. Self-attention dey help us consider **context** inside sentence, and see how words dey relate. For example, e dey help us see how words dey refer to coreferences like *it*, and also consider the context:
![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d68d8d0039d06a71a151f18a796b8b1330239d3590bd4947eb.pcm.png)
![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d6.pcm.png)
> Image from the [Google Blog](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html)
@ -91,7 +91,7 @@ Because each input position dey map independently to each output position, trans
**BERT** (Bidirectional Encoder Representations from Transformers) na very big multi-layer transformer network with 12 layers for *BERT-base*, and 24 for *BERT-large*. The model dey first pre-train on large corpus of text data (WikiPedia + books) using unsupervised training (predicting masked words for sentence). During pre-training, the model dey learn plenty language understanding wey fit help am perform well with other datasets when we fine-tune am. Dis process na **transfer learning**.
![picture from http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362e39ee4381aab7cad06b5465a0b5f053a0f2aa05fbe14e746.pcm.png)
![picture from http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362.pcm.png)
> Image [source](http://jalammar.github.io/illustrated-bert/)

View File

@ -14,12 +14,12 @@
"\n",
"Di image below dey show encoder-decoder model wit additive attention layer:\n",
"\n",
"![Image showing an encoder/decoder model with an additive attention layer](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567aa2898c94b17b3289087f6705c11907df8301df9e5eeb3de.pcm.png)\n",
"![Image showing an encoder/decoder model with an additive attention layer](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567.pcm.png)\n",
"*Di encoder-decoder model wit additive attention mechanism for [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), wey dem take from [dis blog post](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
"\n",
"Di Attention matrix $\\{\\alpha_{i,j}\\}$ go show how much certain input words dey contribute to di generation of one word for di output sequence. Below na example of di matrix:\n",
"\n",
"![Image showing a sample alignment found by RNNsearch-50, taken from Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af11de6c82d2d197830ba5f4528d9ea430eb65fd3a75065973.pcm.png)\n",
"![Image showing a sample alignment found by RNNsearch-50, taken from Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af.pcm.png)\n",
"\n",
"*Di figure dey from [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Fig.3)*\n",
"\n",
@ -37,7 +37,7 @@
"\n",
"**BERT** (Bidirectional Encoder Representations from Transformers) na very big multi-layer transformer network wit 12 layers for *BERT-base*, and 24 for *BERT-large*. Di model dey first pre-train wit big corpus of text data (WikiPedia + books) using unsupervised training (predicting masked words for sentence). During di pre-training, di model dey learn plenty language understanding wey fit dey used wit other datasets through fine tuning. Dis process na wetin dem dey call **transfer learning**. \n",
"\n",
"![picture from http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362e39ee4381aab7cad06b5465a0b5f053a0f2aa05fbe14e746.pcm.png)\n",
"![picture from http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362.pcm.png)\n",
"\n",
"Plenty variations of Transformer architectures dey, like BERT, DistilBERT, BigBird, OpenGPT3 and more wey fit dey fine-tuned. Di [HuggingFace package](https://github.com/huggingface/) dey provide repository for training plenty of dis architectures wit PyTorch. \n",
"\n",

View File

@ -12,12 +12,12 @@
"\n",
"**Attention Mechanisms** dey help to give weight to di contextual impact of each input vector for each output prediction of di RNN. Di way dem dey do am na by creating shortcuts between di intermediate states of di input RNN, and di output RNN. So, when we dey generate output symbol $y_t$, we go consider all di input hidden states $h_i$, wit different weight coefficients $\\alpha_{t,i}$. \n",
"\n",
"![Image showing an encoder/decoder model with an additive attention layer](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567aa2898c94b17b3289087f6705c11907df8301df9e5eeb3de.pcm.png)\n",
"![Image showing an encoder/decoder model with an additive attention layer](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567.pcm.png)\n",
"*Di encoder-decoder model wit additive attention mechanism for [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), wey dem show for [dis blog post](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n",
"\n",
"Attention matrix $\\{\\alpha_{i,j}\\}$ go show how much certain input words dey contribute to di generation of one word for di output sequence. Below na example of di matrix:\n",
"\n",
"![Image showing a sample alignment found by RNNsearch-50, taken from Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af11de6c82d2d197830ba5f4528d9ea430eb65fd3a75065973.pcm.png)\n",
"![Image showing a sample alignment found by RNNsearch-50, taken from Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af.pcm.png)\n",
"\n",
"*Figure wey dem take from [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Fig.3)*\n",
"\n",
@ -92,7 +92,7 @@
"source": [
"Dis layer get two `Embedding` layers: one for embedding tokens (like we don talk before) and another one for token positions. Token positions na sequence of natural numbers from 0 go reach `maxlen` wey dem use `tf.range` create, and dem go pass am through embedding layer. The two embedding vectors wey dem get go join together, and e go produce positionally-embedded representation of input wey get shape `maxlen`$\\times$`embed_dim`.\n",
"\n",
"<img src=\"../../../../../translated_images/pos-embedding.e41ce9b6cf6078afd28da02f27e33ac7026ed4c156491df7ad9aa96be7c194bb.pcm.png\" width=\"40%\"/>\n",
"<img src=\"../../../../../translated_images/pos-embedding.e41ce9b6cf6078af.pcm.png\" width=\"40%\"/>\n",
"\n",
"Now, make we implement the transformer block. E go use the output wey the embedding layer we don define before produce:\n"
]
@ -134,7 +134,7 @@
"\n",
"Di output of dis layer go then pass through `Dense` network (for our case - two-layer perceptron), and di result go join di final output (wey go still undergo normalization again).\n",
"\n",
"<img src=\"../../../../../translated_images/transformer-layer.905e14747ca4e7d5cf1409e8bf8944c9b1d6e4f5ce3ab167918af65c4904d727.pcm.png\" width=\"30%\" />\n",
"<img src=\"../../../../../translated_images/transformer-layer.905e14747ca4e7d5.pcm.png\" width=\"30%\" />\n",
"\n",
"Now, we don ready to define di complete transformer model:\n"
]
@ -235,7 +235,7 @@
"\n",
"**BERT** (Bidirectional Encoder Representations from Transformers) na one big transformer network wey get 12 layers for *BERT-base*, and 24 for *BERT-large*. Dem first train di model with plenty text data (WikiPedia + books) wey no get supervision (dem dey predict di words wey dem hide for sentence). As dem dey train di model, e dey learn plenty tins about language wey fit help am when dem wan use am with other datasets by fine-tuning. Dis process na wetin dem dey call **transfer learning**.\n",
"\n",
"![picture from http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362e39ee4381aab7cad06b5465a0b5f053a0f2aa05fbe14e746.pcm.png)\n",
"![picture from http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362.pcm.png)\n",
"\n",
"Plenty Transformer architectures dey like BERT, DistilBERT, BigBird, OpenGPT3 and others wey person fit fine-tune.\n",
"\n",

View File

@ -17,7 +17,7 @@ So far, we don dey focus mostly on one NLP task - classification. But e get othe
Make we say you wan build natural language chat bot, like Amazon Alexa or Google Assistant. Di way wey smart chat bots dey work na to *understand* wetin di user wan by doing text classification for di sentence wey dem type. Di result of dis classification na wetin dem dey call **intent**, wey go show wetin di chat bot suppose do.
<img alt="Bot NER" src="../../../../../translated_images/bot-ner.4b09235dbb0ad2754ec1f54c8c797f902cbb0b45ac90b0cfc8287343cef8df2f.pcm.png" width="50%"/>
<img alt="Bot NER" src="../../../../../translated_images/bot-ner.4b09235dbb0ad275.pcm.png" width="50%"/>
> Image na di author create am
@ -58,7 +58,7 @@ infant | O
Because we need to match tokens and classes one by one, we fit train di **many-to-many** neural network model wey dey show for dis picture:
![Image showing common recurrent neural network patterns.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42dce6c42d8a56c184729aa2378d059b851be4ce12b993033df.pcm.jpg)
![Image showing common recurrent neural network patterns.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42d.pcm.jpg)
> *Image na from [dis blog post](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) by [Andrej Karpathy](http://karpathy.github.io/). NER token classification models na di right-most network architecture for dis picture.*

View File

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Natural Language Processing
![Summary of NLP tasks in a doodle](../../../../translated_images/ai-nlp.b22dcb8ca4707ceaee8576db1c5f4089c8cac2f454e9e03ea554f07fda4556b8.pcm.png)
![Summary of NLP tasks in a doodle](../../../../translated_images/ai-nlp.b22dcb8ca4707cea.pcm.png)
For dis section, we go focus on how Neural Networks fit handle tasks wey relate to **Natural Language Processing (NLP)**. Plenty NLP problems dey wey we wan make computer sabi solve:

View File

@ -34,7 +34,7 @@ You don see modern balancing devices like *Segway* or *Gyroscooters* before? Dem
Simplified version of balancing na **CartPole** problem. For CartPole world, we get horizontal slider wey fit move left or right, and di goal na to balance vertical pole on top di slider as e dey move.
<img alt="a cartpole" src="../../../../../translated_images/cartpole.f52a67f27e058170c25efc1bca8375b60906570ea757fe8d7ef04ae8e53df29d.pcm.png" width="200"/>
<img alt="a cartpole" src="../../../../../translated_images/cartpole.f52a67f27e058170.pcm.png" width="200"/>
To create and use dis environment, we need small Python code:

View File

@ -15,7 +15,7 @@ Lab Work wey come from [AI for Beginners Curriculum](https://github.com/microsof
Your work na to train RL agent wey go control [Mountain Car](https://www.gymlibrary.ml/environments/classic_control/mountain_car/) for OpenAI Environment.
<img alt="Mountain Car" src="../../../../../../translated_images/mountaincar.f7b7a7f6d4f9933b31a5fb3453b9c026aa0d65f6644bb03513a955590aae1bc4.pcm.png" width="300"/>
<img alt="Mountain Car" src="../../../../../../translated_images/mountaincar.f7b7a7f6d4f9933b.pcm.png" width="300"/>
## Di Environment

View File

@ -60,7 +60,7 @@ You fit [download](https://ccl.northwestern.edu/netlogo/download.shtml) and inst
One good thing about NetLogo na say e get one library of working models wey you fit try. Go **File &rightarrow; Models Library**, and you go see plenty categories of models to choose from.
<img alt="NetLogo Models Library" src="../../../../../translated_images/NetLogo-ModelLib.efe023afb4763c059704a8ac0e2cd5e51889b117e8eac02aaa5334cfe1c52c13.pcm.png" width="60%"/>
<img alt="NetLogo Models Library" src="../../../../../translated_images/NetLogo-ModelLib.efe023afb4763c05.pcm.png" width="60%"/>
> Screenshot of di models library by Dmitry Soshnikov
@ -70,7 +70,7 @@ You fit open one of di models, like **Biology &rightarrow; Flocking**.
After you open di model, you go see di main NetLogo screen. Here na sample model wey dey describe di population of wolves and sheep, wey dey depend on finite resources (grass).
![NetLogo Main Screen](../../../../../translated_images/NetLogo-Main.32653711ec1a01b3cab22ec0b148e64193d0b979b055285bef329d5e3d6958c5.pcm.png)
![NetLogo Main Screen](../../../../../translated_images/NetLogo-Main.32653711ec1a01b3.pcm.png)
> Screenshot by Dmitry Soshnikov

View File

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Overview
![Overview wey dem draw like doodle](../../../translated_images/ai-overview.0857791951d19500d0ef8b803d77110c738dcafc52306e6d68724742cd4af167.pcm.png)
![Overview wey dem draw like doodle](../../../translated_images/ai-overview.0857791951d19500.pcm.png)
> Sketchnote by [Tomomi Imura](https://twitter.com/girlie_mac)

View File

@ -15,7 +15,7 @@ Afta transformer models don show say dem fit solve NLP tasks well, people don de
Di main idea for CLIP na to fit compare text prompts wit image and check how di image match di prompt.
![CLIP Architecture](../../../../../translated_images/clip-arch.b3dbf20b4e8ed8be1c38e2bc6100fd3cc257c33cda4692b301be91f791b13ea7.pcm.png)
![CLIP Architecture](../../../../../translated_images/clip-arch.b3dbf20b4e8ed8be.pcm.png)
> *Picture from [this blog post](https://openai.com/blog/clip/)*
@ -29,7 +29,7 @@ Once dem don pre-train di model, we fit give am batch of images and batch of tex
Suppose we wan classify images between, say, cats, dogs and humans. For dis case, we fit give di model one image, and series of text prompts: "*a picture of a cat*", "*a picture of a dog*", "*a picture of a human*". For di vector wey get 3 probabilities we go just pick di index wey get di highest value.
![CLIP for Image Classification](../../../../../translated_images/clip-class.3af42ef0b2b19369a633df5f20ddf4f5a01d6c8ffa181e9d3a0572c19f919f72.pcm.png)
![CLIP for Image Classification](../../../../../translated_images/clip-class.3af42ef0b2b19369.pcm.png)
> *Picture from [this blog post](https://openai.com/blog/clip/)*
@ -53,13 +53,13 @@ Learn more about VQGAN for di [Taming Transformers](https://compvis.github.io/ta
One big difference between VQGAN and traditional GAN na say di traditional GAN fit produce better image from any input vector, but VQGAN fit produce image wey no go make sense. So, we need to guide di image creation process well, and CLIP fit help us do dis.
![VQGAN+CLIP Architecture](../../../../../translated_images/vqgan.5027fe05051dfa3101950cfa930303f66e6478b9bd273e83766731796e462d9b.pcm.png)
![VQGAN+CLIP Architecture](../../../../../translated_images/vqgan.5027fe05051dfa31.pcm.png)
To generate image wey match text prompt, we go start wit random encoding vector wey go pass through VQGAN to produce image. Then CLIP go dey use to produce loss function wey go show how di image match di text prompt. Di goal na to reduce dis loss, using back propagation to adjust di input vector parameters.
One better library wey dey implement VQGAN+CLIP na [Pixray](http://github.com/pixray/pixray)
![Picture produced by Pixray](../../../../../translated_images/a_closeup_watercolor_portrait_of_young_male_teacher_of_literature_with_a_book.2384968e9db8a0d09dc96de938b9f95bde8a7e1c721f48f286a7795bf16d56c7.pcm.png) | ![Picture produced by pixray](../../../../../translated_images/a_closeup_oil_portrait_of_young_female_teacher_of_computer_science_with_a_computer.e0b6495f210a439077e1c32cc8afdf714e634fe24dc78dc5aa45fd2f560b0ed5.pcm.png) | ![Picture produced by Pixray](../../../../../translated_images/a_closeup_oil_portrait_of_old_male_teacher_of_math.5362e67aa7fc2683b9d36a613b364deb7454760cd39205623fc1e3938fa133c0.pcm.png)
![Picture produced by Pixray](../../../../../translated_images/a_closeup_watercolor_portrait_of_young_male_teacher_of_literature_with_a_book.2384968e9db8a0d0.pcm.png) | ![Picture produced by pixray](../../../../../translated_images/a_closeup_oil_portrait_of_young_female_teacher_of_computer_science_with_a_computer.e0b6495f210a4390.pcm.png) | ![Picture produced by Pixray](../../../../../translated_images/a_closeup_oil_portrait_of_old_male_teacher_of_math.5362e67aa7fc2683.pcm.png)
----|----|----
Picture wey dem generate from prompt *a closeup watercolor portrait of young male teacher of literature with a book* | Picture wey dem generate from prompt *a closeup oil portrait of young female teacher of computer science with a computer* | Picture wey dem generate from prompt *a closeup oil portrait of old male teacher of mathematics in front of blackboard*

View File

@ -1,19 +1,19 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "4ed9993bca581850c983c95d5a3f57eb",
"translation_date": "2025-12-24T23:57:26+00:00",
"original_hash": "14816e97d79b296c87811724f7785923",
"translation_date": "2026-01-01T11:37:06+00:00",
"source_file": "README.md",
"language_code": "pl"
}
-->
[![Licencja GitHub](https://img.shields.io/github/license/microsoft/AI-For-Beginners.svg)](https://github.com/microsoft/AI-For-Beginners/blob/main/LICENSE)
[![Współtwórcy GitHub](https://img.shields.io/github/contributors/microsoft/AI-For-Beginners.svg)](https://GitHub.com/microsoft/AI-For-Beginners/graphs/contributors/)
[![Współautorzy GitHub](https://img.shields.io/github/contributors/microsoft/AI-For-Beginners.svg)](https://GitHub.com/microsoft/AI-For-Beginners/graphs/contributors/)
[![Zgłoszenia GitHub](https://img.shields.io/github/issues/microsoft/AI-For-Beginners.svg)](https://GitHub.com/microsoft/AI-For-Beginners/issues/)
[![Pull requesty GitHub](https://img.shields.io/github/issues-pr/microsoft/AI-For-Beginners.svg)](https://GitHub.com/microsoft/AI-For-Beginners/pulls/)
[![PRs mile widziane](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![PR-y mile widziane](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![Obserwatorzy GitHub](https://img.shields.io/github/watchers/microsoft/AI-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)
[![Obserwujący GitHub](https://img.shields.io/github/watchers/microsoft/AI-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)
[![Forki GitHub](https://img.shields.io/github/forks/microsoft/AI-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/AI-For-Beginners/network/)
[![Gwiazdy GitHub](https://img.shields.io/github/stars/microsoft/AI-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/AI-For-Beginners/stargazers/)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)
@ -21,24 +21,23 @@ CO_OP_TRANSLATOR_METADATA:
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
# Artificial Intelligence for Beginners - A Curriculum
# Sztuczna inteligencja dla początkujących - Program nauczania
|![Sketchnote autorstwa @girlie_mac https://twitter.com/girlie_mac](../../translated_images/ai-overview.0857791951d19500d0ef8b803d77110c738dcafc52306e6d68724742cd4af167.pl.png)|
|![Sketchnote autorstwa @girlie_mac https://twitter.com/girlie_mac](../../translated_images/ai-overview.0857791951d19500.pl.png)|
|:---:|
| AI dla początkujących - _Sketchnote autorstwa [@girlie_mac](https://twitter.com/girlie_mac)_ |
Explore the world of **Artificial Intelligence** (AI) with our 12-week, 24-lesson curriculum! It includes practical lessons, quizzes, and labs. The curriculum is beginner-friendly and covers tools like TensorFlow and PyTorch, as well as ethics in AI
Poznaj świat **Sztucznej Inteligencji** (SI) dzięki naszemu 12-tygodniowemu programowi nauczania składającemu się z 24 lekcji! Zawiera praktyczne lekcje, quizy i laboratoria. Program jest przyjazny dla początkujących i obejmuje narzędzia takie jak TensorFlow i PyTorch, a także etykę w AI
### 🌐 Wsparcie wielojęzyczne
#### Obsługiwane przez GitHub Action (Automatyczne i zawsze aktualne)
#### Wsparcie przez GitHub Action (zautomatyzowane i zawsze aktualne)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabski](../ar/README.md) | [Bengalski](../bn/README.md) | [Bułgarski](../bg/README.md) | [Birmański (Myanmar)](../my/README.md) | [Chiński (uproszczony)](../zh/README.md) | [Chiński (tradycyjny, Hong Kong)](../hk/README.md) | [Chiński (tradycyjny, Macau)](../mo/README.md) | [Chiński (tradycyjny, Taiwan)](../tw/README.md) | [Chorwacki](../hr/README.md) | [Czeski](../cs/README.md) | [Duński](../da/README.md) | [Holenderski](../nl/README.md) | [Estoński](../et/README.md) | [Fiński](../fi/README.md) | [Francuski](../fr/README.md) | [Niemiecki](../de/README.md) | [Grecki](../el/README.md) | [Hebrajski](../he/README.md) | [Hindi](../hi/README.md) | [Węgierski](../hu/README.md) | [Indonezyjski](../id/README.md) | [Włoski](../it/README.md) | [Japoński](../ja/README.md) | [Kannada](../kn/README.md) | [Koreański](../ko/README.md) | [Litewski](../lt/README.md) | [Malajski](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepalski](../ne/README.md) | [Nigeryjski Pidgin](../pcm/README.md) | [Norweski](../no/README.md) | [Perski (Farsi)](../fa/README.md) | [Polski](./README.md) | [Portugalski (Brazylia)](../br/README.md) | [Portugalski (Portugalia)](../pt/README.md) | [Pendżabski (Gurmukhi)](../pa/README.md) | [Rumuński](../ro/README.md) | [Rosyjski](../ru/README.md) | [Serbski (cyrylica)](../sr/README.md) | [Słowacki](../sk/README.md) | [Słoweński](../sl/README.md) | [Hiszpański](../es/README.md) | [Suahili](../sw/README.md) | [Szwedzki](../sv/README.md) | [Tagalog (Filipiński)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Tajski](../th/README.md) | [Turecki](../tr/README.md) | [Ukraiński](../uk/README.md) | [Urdu](../ur/README.md) | [Wietnamski](../vi/README.md)
[Arabski](../ar/README.md) | [Bengalski](../bn/README.md) | [Bułgarski](../bg/README.md) | [Birmański (Myanmar)](../my/README.md) | [Chiński (uproszczony)](../zh/README.md) | [Chiński (tradycyjny, Hong Kong)](../hk/README.md) | [Chiński (tradycyjny, Macau)](../mo/README.md) | [Chiński (tradycyjny, Taiwan)](../tw/README.md) | [Chorwacki](../hr/README.md) | [Czeski](../cs/README.md) | [Duński](../da/README.md) | [Holenderski](../nl/README.md) | [Estoński](../et/README.md) | [Fiński](../fi/README.md) | [Francuski](../fr/README.md) | [Niemiecki](../de/README.md) | [Grecki](../el/README.md) | [Hebrajski](../he/README.md) | [Hindi](../hi/README.md) | [Węgierski](../hu/README.md) | [Indonezyjski](../id/README.md) | [Włoski](../it/README.md) | [Japoński](../ja/README.md) | [Kannada](../kn/README.md) | [Koreański](../ko/README.md) | [Litewski](../lt/README.md) | [Malajski](../ms/README.md) | [Malajalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepalski](../ne/README.md) | [Nigeryjski Pidgin](../pcm/README.md) | [Norweski](../no/README.md) | [Perski (Farsi)](../fa/README.md) | [Polski](./README.md) | [Portugalski (Brazylia)](../br/README.md) | [Portugalski (Portugalia)](../pt/README.md) | [Pendżabski (Gurmukhi)](../pa/README.md) | [Rumuński](../ro/README.md) | [Rosyjski](../ru/README.md) | [Serbski (cyrylica)](../sr/README.md) | [Słowacki](../sk/README.md) | [Słoweński](../sl/README.md) | [Hiszpański](../es/README.md) | [Suahili](../sw/README.md) | [Szwedzki](../sv/README.md) | [Tagalog (Filipiński)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Tajski](../th/README.md) | [Turecki](../tr/README.md) | [Ukraiński](../uk/README.md) | [Urdu](../ur/README.md) | [Wietnamski](../vi/README.md)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Jeśli chcesz, aby dodane były kolejne tłumaczenia, obsługiwane języki są wymienione [tutaj](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Jeśli chcesz, aby obsługiwane były dodatkowe języki tłumaczeń, są one wymienione [tutaj](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
## Dołącz do społeczności
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
@ -47,123 +46,123 @@ Explore the world of **Artificial Intelligence** (AI) with our 12-week, 24-lesso
**[Mapa myśli kursu](http://soshnikov.com/courses/ai-for-beginners/mindmap.html)**
W tym programie nauczysz się:
W tym programie nauczania poznasz:
* Różnych podejść do sztucznej inteligencji, w tym „starego, dobrego” podejścia symbolicznego z **Reprezentacją wiedzy** i wnioskowaniem ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
* **Sieci neuronowych** i **Głębokiego uczenia**, które są u podstaw współczesnej sztucznej inteligencji. Pokażemy koncepcje stojące za tymi ważnymi tematami używając kodu w dwóch z najpopularniejszych frameworków - [TensorFlow](http://Tensorflow.org) i [PyTorch](http://pytorch.org).
* **Architektury sieci neuronowych** do pracy z obrazami i tekstem. Omówimy nowsze modele, choć może brakować pełnego przeglądu najnowszych osiągnięć.
* Mniej popularne podejścia do AI, takie jak **algorytmy genetyczne** i **systemy wieloagentowe**.
* Różne podejścia do Sztucznej Inteligencji, w tym "stary, dobry" podejście symboliczne z **Reprezentacją wiedzy** i wnioskowaniem ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
* **Sieci neuronowe** i **Uczenie głębokie**, które stanowią rdzeń współczesnej SI. Zilustrujemy koncepcje stojące za tymi istotnymi tematami za pomocą kodu w dwóch z najpopularniejszych frameworków - [TensorFlow](http://Tensorflow.org) i [PyTorch](http://pytorch.org).
* **Architektury neuronowe** do pracy z obrazami i tekstem. Omówimy niedawne modele, choć mogą one nie być całkowicie aktualne względem najnowszego stanu badań.
* Mniej popularne podejścia do AI, takie jak **Algorytmy genetyczne** i **Systemy wieloagentowe**.
Czego nie obejmiemy w tym programie:
Czego nie omówimy w tym programie:
> [Znajdź wszystkie dodatkowe zasoby dla tego kursu w naszej kolekcji Microsoft Learn](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
> [Znajdź wszystkie dodatkowe zasoby do tego kursu w naszej kolekcji Microsoft Learn](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
* Przypadków biznesowych użycia **AI w biznesie**. Rozważ skorzystanie ze ścieżki szkoleniowej [Introduction to AI for business users](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) na Microsoft Learn lub [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum), opracowanej we współpracy z [INSEAD](https://www.insead.edu/).
* **Klasycznego uczenia maszynowego**, które jest dobrze opisane w naszym [Machine Learning for Beginners Curriculum](http://github.com/Microsoft/ML-for-Beginners).
* Praktycznych zastosowań AI zbudowanych przy użyciu **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. W tym celu rekomendujemy rozpoczęcie od modułów Microsoft Learn dotyczących [wizji](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum), [przetwarzania języka naturalnego](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)** i innych.
* Konkretne **frameworki chmurowe ML**, takie jak [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) lub [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Rozważ skorzystanie ze ścieżek szkoleniowych [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) oraz [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** i **Chat Boty**. Istnieje oddzielna ścieżka szkoleniowa [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum), a także możesz odnieść się do [tego wpisu na blogu](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) po więcej szczegółów.
* **Głębokiej matematyki** stojącej za głębokim uczeniem. W tym celu polecilibyśmy książkę [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) autorstwa Iana Goodfellowa, Yoshua Bengio i Aarona Courville'a, która jest również dostępna online pod adresem [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
* Przypadków biznesowych wykorzystania **SI w biznesie**. Rozważ odbycie ścieżki nauki [Wprowadzenie do SI dla użytkowników biznesowych](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) na Microsoft Learn lub [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum), opracowanej we współpracy z [INSEAD](https://www.insead.edu/).
* **Klasycznego uczenia maszynowego**, które jest dobrze opisane w naszym [programie nauczania Machine Learning for Beginners](http://github.com/Microsoft/ML-for-Beginners).
* Praktycznych zastosowań AI zbudowanych przy użyciu **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. W tym celu zalecamy rozpoczęcie od modułów Microsoft Learn dotyczących [widzenia maszynowego](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum), [przetwarzania języka naturalnego](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)** i innych.
* Konkretnych **chmurowych frameworków ML**, takich jak [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) czy [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Rozważ skorzystanie ze ścieżek nauki [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) oraz [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).
* **Rozmownego AI** i **czatbotów**. Istnieje oddzielna ścieżka nauki [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum), a także możesz odwołać się do [tego wpisu na blogu](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) po więcej szczegółów.
* **Głębokiej matematyki** stojącej za uczeniem głębokim. W tym celu polecamy [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) autorstwa Iana Goodfellowa, Yoshuy Bengio i Aarona Courville'a, która jest również dostępna online pod adresem [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
Dla łagodnego wprowadzenia do tematów związanych z _AI w chmurze_ możesz rozważyć skorzystanie ze ścieżki szkoleniowej [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).
Dla łagodnego wprowadzenia do tematów związanych z _SI w chmurze_ możesz rozważyć odbycie ścieżki nauki [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).
# Zawartość
| | Link do lekcji | PyTorch/Keras/TensorFlow | Laboratorium |
| | Link do lekcji | PyTorch/Keras/TensorFlow | Lab |
| :-: | :------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: | ------------------------------------------------------------------------------ |
| 0 | [Konfiguracja kursu](./lessons/0-course-setup/setup.md) | [Konfiguracja środowiska programistycznego](./lessons/0-course-setup/how-to-run.md) | |
| I | [**Wprowadzenie do AI**](./lessons/1-Intro/README.md) | | |
| 01 | [Wprowadzenie i historia AI](./lessons/1-Intro/README.md) | - | - |
| II | **Symboliczne AI** |
| I | [**Wprowadzenie do SI**](./lessons/1-Intro/README.md) | | |
| 01 | [Wprowadzenie i historia SI](./lessons/1-Intro/README.md) | - | - |
| II | **Symboliczne SI** |
| 02 | [Reprezentacja wiedzy i systemy ekspertowe](./lessons/2-Symbolic/README.md) | [Systemy ekspertowe](./lessons/2-Symbolic/Animals.ipynb) / [Ontologia](./lessons/2-Symbolic/FamilyOntology.ipynb) /[Graf pojęć](./lessons/2-Symbolic/MSConceptGraph.ipynb) | |
| III | [**Wprowadzenie do sieci neuronowych**](./lessons/3-NeuralNetworks/README.md) |||
| 03 | [Perceptron](./lessons/3-NeuralNetworks/03-Perceptron/README.md) | [Notatnik](./lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb) | [Laboratorium](./lessons/3-NeuralNetworks/03-Perceptron/lab/README.md) |
| 04 | [Wielowarstwowy perceptron i stworzenie własnego frameworku](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [Notatnik](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [Laboratorium](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
| 05 | [Wprowadzenie do frameworków (PyTorch/TensorFlow) i nadmierne dopasowanie](./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) | [Laboratorium](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) |
| IV | [**Wizja komputerowa**](./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)| [Odkryj wizję komputerową na Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
| 04 | [Wielowarstwowy perceptron i tworzenie własnego frameworku](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [Notatnik](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [Laboratorium](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
| 05 | [Wprowadzenie do frameworków (PyTorch/TensorFlow) i przeuczenie](./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) | [Laboratorium](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) |
| IV | [**Wizja komputerowa**](./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)| [Poznaj wizję komputerową na Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
| 06 | [Wprowadzenie do wizji komputerowej. OpenCV](./lessons/4-ComputerVision/06-IntroCV/README.md) | [Notatnik](./lessons/4-ComputerVision/06-IntroCV/OpenCV.ipynb) | [Laboratorium](./lessons/4-ComputerVision/06-IntroCV/lab/README.md) |
| 07 | [Konwolucyjne sieci neuronowe](./lessons/4-ComputerVision/07-ConvNets/README.md) & [Architektury 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) | [Laboratorium](./lessons/4-ComputerVision/07-ConvNets/lab/README.md) |
| 08 | [Sieci wstępnie wytrenowane i uczenie transferowe](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [Triki treningowe](./lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md) | [PyTorch](./lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Laboratorium](./lessons/4-ComputerVision/08-TransferLearning/lab/README.md) |
| 09 | [Autoenkodery i VAE](./lessons/4-ComputerVision/09-Autoencoders/README.md) | [PyTorch](./lessons/4-ComputerVision/09-Autoencoders/AutoEncodersPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb) | |
| 09 | [Autoenkodery i VAEs](./lessons/4-ComputerVision/09-Autoencoders/README.md) | [PyTorch](./lessons/4-ComputerVision/09-Autoencoders/AutoEncodersPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb) | |
| 10 | [Generatywne sieci przeciwstawne i transfer stylu artystycznego](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
| 11 | [Wykrywanie obiektów](./lessons/4-ComputerVision/11-ObjectDetection/README.md) | [TensorFlow](./lessons/4-ComputerVision/11-ObjectDetection/ObjectDetection.ipynb) | [Laboratorium](./lessons/4-ComputerVision/11-ObjectDetection/lab/README.md) |
| 12 | [Segmentacja semantyczna. 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 | [**Przetwarzanie języka naturalnego**](./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) | [Odkryj przetwarzanie języka naturalnego na Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)|
| V | [**Przetwarzanie języka naturalnego**](./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) | [Poznaj przetwarzanie języka naturalnego na Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)|
| 13 | [Reprezentacja tekstu. 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 | [Semantyczne osadzenia słów. Word2Vec i 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 | [Modelowanie języka. Trenowanie własnych osadzeń](./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) | [Laboratorium](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
| 16 | [Rekurencyjne sieci neuronowe](./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 | [Generatywne sieci rekurencyjne](./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) | [Laboratorium](./lessons/5-NLP/17-GenerativeNetworks/lab/README.md) |
| 18 | [Transformatory. 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 | [Rozpoznawanie nazwanych encji](./lessons/5-NLP/19-NER/README.md) | [TensorFlow](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/19-NER/NER-TF.ipynb) | [Laboratorium](./lessons/5-NLP/19-NER/lab/README.md) |
| 18 | [Transformery. 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 | [Rozpoznawanie nazwanych jednostek](./lessons/5-NLP/19-NER/README.md) | [TensorFlow](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/19-NER/NER-TF.ipynb) | [Laboratorium](./lessons/5-NLP/19-NER/lab/README.md) |
| 20 | [Duże modele językowe, programowanie promptów i zadania few-shot](./lessons/5-NLP/20-LangModels/README.md) | [PyTorch](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb) | |
| VI | **Inne techniki AI** || |
| 21 | [Algorytmy genetyczne](./lessons/6-Other/21-GeneticAlgorithms/README.md) | [Notatnik](./lessons/6-Other/21-GeneticAlgorithms/Genetic.ipynb) | |
| 22 | [Głębokie uczenie ze wzmocnieniem](./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) | [Laboratorium](./lessons/6-Other/22-DeepRL/lab/README.md) |
| 23 | [Systemy wieloagentowe](./lessons/6-Other/23-MultiagentSystems/README.md) | | |
| VII | **Etyka AI** | | |
| 24 | [Etyka AI i odpowiedzialna AI](./lessons/7-Ethics/README.md) | [Microsoft Learn: Zasady odpowiedzialnej AI](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | |
| 24 | [AI Ethics and Responsible AI](./lessons/7-Ethics/README.md) | [Microsoft Learn: Zasady odpowiedzialnej AI](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | |
| IX | **Dodatki** | | |
| 25 | [Sieci multimodalne, CLIP i VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [Notatnik](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | |
## Każda lekcja zawiera
* Materiały do wstępnej lektury
* Wykonywalne notatniki Jupyter, które często są specyficzne dla frameworku (**PyTorch** lub **TensorFlow**). Wykonywalny notatnik zawiera również dużo materiału teoretycznego, więc aby zrozumieć temat musisz przejść przez przynajmniej jedną wersję notatnika (albo PyTorch, albo TensorFlow).
* **Laboratoria** dostępne dla niektórych tematów, które dają możliwość wypróbowania zastosowania materiału, którego się nauczyłeś, do konkretnego problemu.
* Niektóre sekcje zawierają linki do [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) modułów, które omawiają powiązane tematy.
* Wykonywalne notatniki Jupyter, które często są specyficzne dla frameworku (**PyTorch** lub **TensorFlow**). Wykonywalny notatnik zawiera również dużo materiału teoretycznego, więc aby zrozumieć temat musisz przejść przynajmniej jedną wersję notatnika (albo PyTorch, albo TensorFlow).
* **Laboratoria** dostępne dla niektórych tematów, które dają możliwość spróbowania zastosowania materiału, którego się nauczyłeś, do konkretnego problemu.
* Niektóre sekcje zawierają linki do modułów [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) które obejmują powiązane tematy.
## Pierwsze kroki
## Rozpoczęcie
### 🎯 Nowy w AI? Zacznij tutaj!
Jeśli jesteś zupełnie nowy w AI i chcesz szybkie, praktyczne przykłady, sprawdź nasze [**Przykłady dla początkujących**](./examples/README.md)! Te obejmują:
Jeśli jesteś zupełnie nowy w AI i chcesz szybkich, praktycznych przykładów, sprawdź nasze [**Przykłady dla początkujących**](./examples/README.md)! Obejmują one:
- 🌟 **Hello AI World** - Twój pierwszy program AI (rozpoznawanie wzorców)
- 🌟 **Witaj, świecie AI** - Twój pierwszy program AI (rozpoznawanie wzorców)
- 🧠 **Prosta sieć neuronowa** - Zbuduj sieć neuronową od podstaw
- 🖼️ **Klasyfikator obrazów** - Klasyfikuj obrazy z szczegółowymi komentarzami
- 💬 **Analiza sentymentu tekstu** - Analizuj tekst pozytywny/negatywny
- 🖼️ **Klasyfikator obrazów** - Klasyfikuj obrazy ze szczegółowymi komentarzami
- 💬 **Sentyment tekstu** - Analiza pozytywnego/negatywnego wydźwięku
These examples are designed to help you understand AI concepts before diving into the full curriculum.
Te przykłady zostały stworzone, aby pomóc Ci zrozumieć koncepcje AI zanim zagłębisz się w pełny program nauczania.
### 📚 Konfiguracja pełnego programu
### 📚 Pełna konfiguracja programu nauczania
- Utworzyliśmy a [lekcję konfiguracji](./lessons/0-course-setup/setup.md) to help you with setting up your development environment. - Dla nauczycieli przygotowaliśmy również a [lekcję konfiguracji programu nauczania](./lessons/0-course-setup/for-teachers.md) for you too!
- Jak to [Run the code in a VSCode or a Codepace](./lessons/0-course-setup/how-to-run.md)
- Stworzyliśmy [lekcję konfiguracji](./lessons/0-course-setup/setup.md), aby pomóc Ci w ustawieniu środowiska deweloperskiego. - Dla edukatorów stworzyliśmy również [lekcję konfiguracji programu nauczania](./lessons/0-course-setup/for-teachers.md)!
- Jak [uruchomić kod w VSCode lub Codepace](./lessons/0-course-setup/how-to-run.md)
Follow these steps:
Wykonaj następujące kroki:
Fork the Repository: Click on the "Fork" button at the top-right corner of this page.
Fork the Repository: Kliknij przycisk "Fork" w prawym górnym rogu tej strony.
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.
Nie zapomnij dodać gwiazdki (🌟) temu repozytorium, aby łatwiej je znaleźć później.
## Poznaj innych uczestników
Join our [oficjalnego serwera AI na Discordzie](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum) to meet and network with other learners taking this course and get support.
Dołącz do naszego [oficjalnego serwera Discord AI](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum), aby spotkać się i nawiązać kontakty z innymi uczestnikami tego kursu oraz uzyskać wsparcie.
If you have product feedback or questions whilst building visit our [Azure AI Foundry Developer Forum](https://aka.ms/foundry/forum)
Jeśli masz uwagi dotyczące produktu lub pytania podczas tworzenia, odwiedź nasze [Azure AI Foundry Developer Forum](https://aka.ms/foundry/forum)
## Quizy
> **Notatka o quizach**: Wszystkie quizy są contained in the Quiz-app folder in etc\quiz-app, or [Dostępne online tutaj](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.
> **Uwaga o quizach**: Wszystkie quizy znajdują się w folderze Quiz-app w etc\quiz-app, lub [Online tutaj](https://ff-quizzes.netlify.app/) Są one powiązane z lekcjami; aplikację quizową można uruchomić lokalnie lub wdrożyć do Azure; postępuj zgodnie z instrukcjami w folderze `quiz-app`. Są one stopniowo lokalizowane.
## Potrzebna pomoc
## Szukamy pomocy
Do you have suggestions or found spelling or code errors? Raise an issue or create a pull request.
Masz sugestie albo znalazłeś błędy ortograficzne lub w kodzie? Zgłoś issue lub utwórz pull request.
## Specjalne podziękowania
## Szczególne podziękowania
* **✍️ Główny autor:** [Dmitry Soshnikov](http://soshnikov.com), PhD
* **🔥 Redaktor:** [Jen Looper](https://twitter.com/jenlooper), PhD
* **🎨 Ilustrator sketchnotów:** [Tomomi Imura](https://twitter.com/girlie_mac)
* **🎨 Ilustratorka sketchnote:** [Tomomi Imura](https://twitter.com/girlie_mac)
* **✅ Twórca quizów:** [Lateefah Bello](https://github.com/CinnamonXI), [MLSA](https://studentambassadors.microsoft.com/)
* **🙏 Główni współtwórcy:** [Evgenii Pishchik](https://github.com/Pe4enIks)
## Inne kursy
## Inne programy nauczania
Our team produces other curricula! Check out:
Nasz zespół tworzy inne programy nauczania! Zobacz:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -176,11 +175,11 @@ Our team produces other curricula! Check out:
[![AZD dla początkujących](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI dla początkujących](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP dla początkujących](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents dla początkujących](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Agenci AI dla początkujących](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Seria Generative AI
### Seria Generatywnej AI
[![Generative AI dla początkujących](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
@ -188,7 +187,7 @@ Our team produces other curricula! Check out:
---
### Podstawowe materiały
### Podstawowe kursy
[![ML dla początkujących](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science dla początkujących](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI dla początkujących](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@ -200,18 +199,18 @@ Our team produces other curricula! Check out:
---
### Seria Copilot
[![Copilot do programowania w parach z AI](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot do programowania w parze z AI](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot dla C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Uzyskaj pomoc
## Uzyskiwanie pomocy
Jeśli utkniesz lub masz pytania dotyczące tworzenia aplikacji AI, dołącz do innych uczestników kursu i doświadczonych programistów w dyskusjach o MCP. To wspierająca społeczność, w której pytania są mile widziane i wiedza jest swobodnie udostępniana.
Jeśli utkniesz lub masz pytania dotyczące tworzenia aplikacji AI — dołącz do innych uczestników i doświadczonych deweloperów w dyskusjach o MCP. To wspierająca społeczność, w której pytania są mile widziane, a wiedza jest chętnie dzielona.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
[![Discord Microsoft Foundry](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
If you have product feedback or errors while building visit:
Jeśli masz uwagi dotyczące produktu lub wystąpiły błędy podczas tworzenia, odwiedź:
[![Forum deweloperów Microsoft Foundry](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
@ -219,5 +218,5 @@ If you have product feedback or errors while building visit:
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
Zastrzeżenie:
Ten dokument został przetłumaczony przy użyciu usługi tłumaczeń opartych na sztucznej inteligencji [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy starań, aby tłumaczenie było jak najdokładniejsze, prosimy pamiętać, że tłumaczenia automatyczne mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego języku źródłowym powinien być uznany za źródło autorytatywne. W przypadku informacji krytycznych zalecane jest skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za żadne nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.
Niniejszy dokument został przetłumaczony z wykorzystaniem usługi tłumaczeń AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy starań, aby tłumaczenie było jak najdokładniejsze, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w języku źródłowym powinien być uznawany za źródło wiążące. W przypadku informacji istotnych zaleca się skorzystanie z profesjonalnego tłumaczenia wykonanego przez tłumacza. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

View File

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Wprowadzenie do AI
![Podsumowanie treści wprowadzenia do AI w formie rysunku](../../../../translated_images/ai-intro.bf28d1ac4235881c096f0ffdb320ba4102940eafcca4e9d7a55a03914361f8f3.pl.png)
![Podsumowanie treści wprowadzenia do AI w formie rysunku](../../../../translated_images/ai-intro.bf28d1ac4235881c.pl.png)
> Rysunek odręczny autorstwa [Tomomi Imura](https://twitter.com/girlie_mac)
@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA:
Pierwotnie komputery zostały wynalezione przez [Charlesa Babbage'a](https://en.wikipedia.org/wiki/Charles_Babbage), aby operować na liczbach zgodnie z dobrze zdefiniowaną procedurą algorytmem. Współczesne komputery, choć znacznie bardziej zaawansowane niż pierwotny model zaproponowany w XIX wieku, nadal opierają się na tej samej idei kontrolowanych obliczeń. Dlatego możliwe jest zaprogramowanie komputera do wykonania czegoś, jeśli znamy dokładną sekwencję kroków potrzebnych do osiągnięcia celu.
![Zdjęcie osoby](../../../../translated_images/dsh_age.d212a30d4e54fb5f68b94a624aad64bc086124bcbbec9561ae5bd5da661e22d8.pl.png)
![Zdjęcie osoby](../../../../translated_images/dsh_age.d212a30d4e54fb5f.pl.png)
> Zdjęcie autorstwa [Vickie Soshnikova](http://twitter.com/vickievalerie)
@ -46,7 +46,7 @@ Więcej informacji znajdziesz w **[Ogólnej Sztucznej Inteligencji](https://en.w
Jednym z problemów związanych z terminem **[Inteligencja](https://en.wikipedia.org/wiki/Intelligence)** jest brak jasnej definicji tego pojęcia. Można argumentować, że inteligencja jest związana z **myśleniem abstrakcyjnym** lub **samoświadomością**, ale nie potrafimy jej właściwie zdefiniować.
![Zdjęcie kota](../../../../translated_images/photo-cat.8c8e8fb760ffe45725c5b9f6b0d954e9bf114475c01c55adf0303982851b7eae.pl.jpg)
![Zdjęcie kota](../../../../translated_images/photo-cat.8c8e8fb760ffe457.pl.jpg)
> [Zdjęcie](https://unsplash.com/photos/75715CVEJhI) autorstwa [Amber Kipp](https://unsplash.com/@sadmax) z Unsplash
@ -98,13 +98,13 @@ Alternatywnie, możemy spróbować modelować najprostsze elementy w naszym móz
> | A co z ML? | |
> |--------------|-----------|
> | Część Sztucznej Inteligencji, która opiera się na uczeniu komputera rozwiązywania problemu na podstawie danych, nazywa się **Uczeniem Maszynowym**. Nie będziemy rozważać klasycznego uczenia maszynowego w tym kursie odsyłamy Cię do osobnego programu [Uczenie Maszynowe dla Początkujących](http://aka.ms/ml-beginners). | ![ML dla Początkujących](../../../../translated_images/ml-for-beginners.9e4fed176fd5817d7d1f7d358302515186579cbf09b2a6c5bd8092b345da7f22.pl.png) |
> | Część Sztucznej Inteligencji, która opiera się na uczeniu komputera rozwiązywania problemu na podstawie danych, nazywa się **Uczeniem Maszynowym**. Nie będziemy rozważać klasycznego uczenia maszynowego w tym kursie odsyłamy Cię do osobnego programu [Uczenie Maszynowe dla Początkujących](http://aka.ms/ml-beginners). | ![ML dla Początkujących](../../../../translated_images/ml-for-beginners.9e4fed176fd5817d.pl.png) |
## Krótka historia AI
Sztuczna Inteligencja jako dziedzina rozpoczęła się w połowie XX wieku. Początkowo podejście symboliczne było dominujące i doprowadziło do wielu ważnych sukcesów, takich jak systemy ekspertowe programy komputerowe, które były w stanie działać jako ekspert w ograniczonych dziedzinach problemowych. Jednak szybko stało się jasne, że takie podejście nie jest skalowalne. Wydobycie wiedzy od eksperta, reprezentowanie jej w komputerze i utrzymanie tej bazy wiedzy w aktualności okazuje się bardzo złożonym zadaniem i zbyt kosztownym, aby było praktyczne w wielu przypadkach. Doprowadziło to do tzw. [Zimy AI](https://en.wikipedia.org/wiki/AI_winter) w latach 70.
<img alt="Krótka historia AI" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a0264357672b0884cf3a220fbafe35c65d70b2c3805f7bf5e.pl.png" width="70%"/>
<img alt="Krótka historia AI" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a.pl.png" width="70%"/>
> Obraz autorstwa [Dmitry Soshnikov](http://soshnikov.com)
@ -124,7 +124,7 @@ Podobnie możemy zobaczyć, jak zmieniało się podejście do tworzenia „progr
* Współczesne asystenty, takie jak Cortana, Siri czy Google Assistant, to hybrydowe systemy, które wykorzystują sieci neuronowe do konwersji mowy na tekst i rozpoznawania naszych intencji, a następnie stosują pewne rozumowanie lub explicite algorytmy do wykonywania wymaganych działań.
* W przyszłości możemy oczekiwać pełnego modelu opartego na sieciach neuronowych, który samodzielnie obsłuży dialog. Ostatnie sieci neuronowe GPT i [Turing-NLG](https://www.microsoft.com/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft) wykazują wielkie sukcesy w tym zakresie.
<img alt="Ewolucja testu Turinga" src="../../../../translated_images/turing-test-evol.4184696701293ead6de6e6441a659c62f0b119b342456987f531005f43be0b6d.pl.png" width="70%"/>
<img alt="Ewolucja testu Turinga" src="../../../../translated_images/turing-test-evol.4184696701293ead.pl.png" width="70%"/>
> Obraz autorstwa Dmitry Soshnikov, [zdjęcie](https://unsplash.com/photos/r8LmVbUKgns) autorstwa [Mariny Abrosimovej](https://unsplash.com/@abrosimova_marina_foto), Unsplash
## Ostatnie badania nad sztuczną inteligencją

View File

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Reprezentacja wiedzy i systemy ekspertowe
![Podsumowanie treści o Symbolicznym AI](../../../../translated_images/ai-symbolic.715a30cb610411a6964d2e2f23f24364cb338a07cb4844c1f97084d366e586c3.pl.png)
![Podsumowanie treści o Symbolicznym AI](../../../../translated_images/ai-symbolic.715a30cb610411a6.pl.png)
> Sketchnote autorstwa [Tomomi Imura](https://twitter.com/girlie_mac)
@ -41,7 +41,7 @@ Najczęściej nie definiujemy wiedzy w sposób ścisły, ale zestawiamy ją z in
Problem **reprezentacji wiedzy** polega więc na znalezieniu skutecznego sposobu reprezentowania wiedzy w komputerze w formie danych, aby była automatycznie użyteczna. Można to postrzegać jako spektrum:
![Spektrum reprezentacji wiedzy](../../../../translated_images/knowledge-spectrum.b60df631852c0217e941485b79c9eee40ebd574f15f18609cec5758fcb384bf3.pl.png)
![Spektrum reprezentacji wiedzy](../../../../translated_images/knowledge-spectrum.b60df631852c0217.pl.png)
> Obraz autorstwa [Dmitry Soshnikov](http://soshnikov.com)
@ -94,7 +94,7 @@ Składnia blokowa | Wcięcia | | |
Jednym z wczesnych sukcesów symbolicznego AI były tzw. **systemy ekspertowe** - systemy komputerowe zaprojektowane do działania jako ekspert w ograniczonej dziedzinie problemowej. Opierały się na **bazie wiedzy** wydobytej od jednego lub więcej ludzkich ekspertów i zawierały **silnik wnioskowania**, który wykonywał wnioskowanie na jej podstawie.
![Architektura człowieka](../../../../translated_images/arch-human.5d4d35f1bba3ab1cdfda96af2f10b89574eb31e9796d0e3011cd9beda1c35112.pl.png) | ![System oparty na wiedzy](../../../../translated_images/arch-kbs.3ec5c150b09fa8dadc2beb0931a4983c9e2b03913a89eebcc103b5bb841b0212.pl.png)
![Architektura człowieka](../../../../translated_images/arch-human.5d4d35f1bba3ab1c.pl.png) | ![System oparty na wiedzy](../../../../translated_images/arch-kbs.3ec5c150b09fa8da.pl.png)
---------------------------------------------|------------------------------------------------
Uproszczona struktura ludzkiego układu nerwowego | Architektura systemu opartego na wiedzy
@ -106,7 +106,7 @@ Systemy ekspertowe są zbudowane podobnie jak system wnioskowania człowieka, kt
Na przykład rozważmy następujący system ekspertowy do określania zwierzęcia na podstawie jego cech fizycznych:
![Drzewo AND-OR](../../../../translated_images/AND-OR-Tree.5592d2c70187f283703c8e9c0d69d6a786eb370f4ace67f9a7aae5ada3d260b0.pl.png)
![Drzewo AND-OR](../../../../translated_images/AND-OR-Tree.5592d2c70187f283.pl.png)
> Obraz autorstwa [Dmitry Soshnikov](http://soshnikov.com)

View File

@ -58,7 +58,7 @@ Nadmierne dopasowanie to niezwykle ważne pojęcie w uczeniu maszynowym i bardzo
Rozważmy następujący problem aproksymacji 5 punktów (reprezentowanych przez `x` na poniższych wykresach):
![linear](../../../../../translated_images/overfit1.f24b71c6f652e59e6bed7245ffbeaecc3ba320e16e2221f6832b432052c4da43.pl.jpg) | ![overfit](../../../../../translated_images/overfit2.131f5800ae10ca5e41d12a411f5f705d9ee38b1b10916f284b787028dd55cc1c.pl.jpg)
![linear](../../../../../translated_images/overfit1.f24b71c6f652e59e.pl.jpg) | ![overfit](../../../../../translated_images/overfit2.131f5800ae10ca5e.pl.jpg)
-------------------------|--------------------------
**Model liniowy, 2 parametry** | **Model nieliniowy, 7 parametrów**
Błąd treningowy = 5.3 | Błąd treningowy = 0
@ -79,7 +79,7 @@ Bardzo ważne jest znalezienie odpowiedniej równowagi między złożonością m
Jak widać na powyższym wykresie, nadmierne dopasowanie można wykryć po bardzo niskim błędzie treningowym i wysokim błędzie walidacyjnym. Zazwyczaj podczas treningu widzimy, że zarówno błędy treningowe, jak i walidacyjne zaczynają się zmniejszać, a następnie w pewnym momencie błąd walidacyjny może przestać się zmniejszać i zacząć rosnąć. To będzie oznaka nadmiernego dopasowania i wskazówka, że powinniśmy prawdopodobnie zatrzymać trening w tym momencie (lub przynajmniej zrobić migawkę modelu).
![overfitting](../../../../../translated_images/Overfitting.408ad91cd90b4371d0a81f4287e1409c359751adeb1ae450332af50e84f08c3e.pl.png)
![overfitting](../../../../../translated_images/Overfitting.408ad91cd90b4371.pl.png)
## Jak zapobiegać nadmiernemu dopasowaniu

View File

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Wprowadzenie do sieci neuronowych
![Podsumowanie treści wprowadzających do sieci neuronowych w formie rysunku](../../../../translated_images/ai-neuralnetworks.1c687ae40bc86e834f497844866a26d3e0886650a67a4bbe29442e2f157d3b18.pl.png)
![Podsumowanie treści wprowadzających do sieci neuronowych w formie rysunku](../../../../translated_images/ai-neuralnetworks.1c687ae40bc86e83.pl.png)
Jak omówiliśmy we wstępie, jednym ze sposobów osiągnięcia inteligencji jest trenowanie **modelu komputerowego** lub **sztucznego mózgu**. Od połowy XX wieku badacze próbowali różnych modeli matematycznych, aż w ostatnich latach ten kierunek okazał się niezwykle skuteczny. Takie matematyczne modele mózgu nazywane są **sieciami neuronowymi**.
@ -36,13 +36,13 @@ W tym programie nauczania skupimy się wyłącznie na modelach sieci neuronowych
Z biologii wiemy, że nasz mózg składa się z komórek nerwowych (neuronów), z których każda ma wiele "wejść" (dendrytów) i jedno "wyjście" (akson). Zarówno dendryty, jak i aksony mogą przewodzić sygnały elektryczne, a połączenia między nimi — znane jako synapsy — mogą wykazywać różne stopnie przewodnictwa, które są regulowane przez neuroprzekaźniki.
![Model neuronu](../../../../translated_images/synapse-wikipedia.ed20a9e4726ea1c6a3ce8fec51c0b9bec6181946dca0fe4e829bc12fa3bacf01.pl.jpg) | ![Model neuronu](../../../../translated_images/artneuron.1a5daa88d20ebe6f5824ddb89fba0bdaaf49f67e8230c1afbec42909df1fc17e.pl.png)
![Model neuronu](../../../../translated_images/synapse-wikipedia.ed20a9e4726ea1c6.pl.jpg) | ![Model neuronu](../../../../translated_images/artneuron.1a5daa88d20ebe6f.pl.png)
----|----
Prawdziwy neuron *([Obraz](https://en.wikipedia.org/wiki/Synapse#/media/File:SynapseSchematic_lines.svg) z Wikipedii)* | Sztuczny neuron *(Obraz autora)*
Najprostszy matematyczny model neuronu zawiera kilka wejść X<sub>1</sub>, ..., X<sub>N</sub> oraz jedno wyjście Y, a także serię wag W<sub>1</sub>, ..., W<sub>N</sub>. Wyjście obliczane jest jako:
<img src="../../../../translated_images/netout.1eb15eb76fd767313e067719f400cec4b0e5090239c3e997c29f6789d4c3c263.pl.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.pl.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
gdzie f jest pewną nieliniową **funkcją aktywacji**.

View File

@ -73,14 +73,14 @@ W naszym [OpenCV Notebook](OpenCV.ipynb) przedstawiamy kilka przykładów, kiedy
* **Wstępne przetwarzanie fotografii książki Braille'a**. Skupiamy się na tym, jak można użyć progowania, detekcji cech, transformacji perspektywicznej i manipulacji NumPy, aby oddzielić pojedyncze symbole Braille'a do dalszej klasyfikacji przez sieć neuronową.
![Obraz Braille'a](../../../../../translated_images/braille.341962ff76b1bd7044409371d3de09ced5028132aef97344ea4b7468c1208126.pl.jpeg) | ![Obraz Braille'a po przetworzeniu](../../../../../translated_images/braille-result.46530fea020b03c76aac532d7d6eeef7f6fb35b55b1001cd21627907dabef3ed.pl.png) | ![Symbole Braille'a](../../../../../translated_images/braille-symbols.0159185ab69d533909dc4d7d26a1971b51401c6a80eb3a5584f250ea880af88b.pl.png)
![Obraz Braille'a](../../../../../translated_images/braille.341962ff76b1bd70.pl.jpeg) | ![Obraz Braille'a po przetworzeniu](../../../../../translated_images/braille-result.46530fea020b03c7.pl.png) | ![Symbole Braille'a](../../../../../translated_images/braille-symbols.0159185ab69d5339.pl.png)
----|-----|-----
> Obraz z [OpenCV.ipynb](OpenCV.ipynb)
* **Detekcja ruchu w wideo za pomocą różnicy klatek**. Jeśli kamera jest nieruchoma, klatki z jej strumienia powinny być dość podobne do siebie. Ponieważ klatki są reprezentowane jako tablice, wystarczy odjąć te tablice dla dwóch kolejnych klatek, aby uzyskać różnicę pikseli, która powinna być niska dla statycznych klatek, a wyższa, gdy w obrazie występuje znaczący ruch.
![Obraz klatek wideo i różnic klatek](../../../../../translated_images/frame-difference.706f805491a0883c938e16447bf5eb2f7d69e812c7f743cbe7d7c7645168f81f.pl.png)
![Obraz klatek wideo i różnic klatek](../../../../../translated_images/frame-difference.706f805491a0883c.pl.png)
> Obraz z [OpenCV.ipynb](OpenCV.ipynb)
@ -89,7 +89,7 @@ W naszym [OpenCV Notebook](OpenCV.ipynb) przedstawiamy kilka przykładów, kiedy
- **Gęsty optyczny przepływ** oblicza pole wektorowe, które pokazuje, gdzie każdy piksel się porusza.
- **Rzadki optyczny przepływ** opiera się na wybraniu charakterystycznych cech obrazu (np. krawędzi) i budowaniu ich trajektorii od klatki do klatki.
![Obraz optycznego przepływu](../../../../../translated_images/optical.1f4a94464579a83a10784f3c07fe7228514714b96782edf50e70ccd59d2d8c4f.pl.png)
![Obraz optycznego przepływu](../../../../../translated_images/optical.1f4a94464579a83a.pl.png)
> Obraz z [OpenCV.ipynb](OpenCV.ipynb)

View File

@ -13,11 +13,11 @@ CO_OP_TRANSLATOR_METADATA:
VGG-16 to sieć, która osiągnęła 92,7% dokładności w klasyfikacji top-5 ImageNet w 2014 roku. Ma następującą strukturę warstw:
![ImageNet Layers](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51baeaab3e768567d921e5d54befa46e1e642616c5458c934028.pl.jpg)
![ImageNet Layers](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51ba.pl.jpg)
Jak widać, VGG stosuje tradycyjną architekturę piramidy, czyli sekwencję warstw konwolucyjnych i poolingowych.
![ImageNet Pyramid](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49fdaa786e3f3a975b3f22615efd13efb19c5d22f12e01451a1.pl.jpg)
![ImageNet Pyramid](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49f.pl.jpg)
> Obraz z [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)

View File

@ -17,7 +17,7 @@ W rzeczywistości chcemy być w stanie rozpoznawać obiekty na zdjęciu niezale
Aby wyodrębnić wzory, użyjemy pojęcia **filtrów konwolucyjnych**. Jak wiadomo, obraz jest reprezentowany jako macierz 2D lub tensor 3D z głębią kolorów. Zastosowanie filtra oznacza, że bierzemy stosunkowo małą macierz **jądra filtra** i dla każdego piksela w oryginalnym obrazie obliczamy średnią ważoną z sąsiednich punktów. Możemy to sobie wyobrazić jako małe okno przesuwające się po całym obrazie, uśredniające wszystkie piksele zgodnie z wagami w macierzy jądra filtra.
![Filtr krawędzi pionowych](../../../../../translated_images/filter-vert.b7148390ca0bc356ddc7e55555d2481819c1e86ddde9dce4db5e71a69d6f887f.pl.png) | ![Filtr krawędzi poziomych](../../../../../translated_images/filter-horiz.59b80ed4feb946efbe201a7fe3ca95abb3364e266e6fd90820cb893b4d3a6dda.pl.png)
![Filtr krawędzi pionowych](../../../../../translated_images/filter-vert.b7148390ca0bc356.pl.png) | ![Filtr krawędzi poziomych](../../../../../translated_images/filter-horiz.59b80ed4feb946ef.pl.png)
----|----
> Obraz autorstwa Dmitry Soshnikov
@ -38,7 +38,7 @@ Działanie CNN opiera się na następujących ważnych założeniach:
* Możemy zaprojektować sieć w taki sposób, aby filtry były trenowane automatycznie
* Możemy użyć tego samego podejścia do znajdowania wzorów w cechach wysokiego poziomu, a nie tylko w oryginalnym obrazie. W ten sposób ekstrakcja cech w CNN działa na hierarchii cech, zaczynając od kombinacji pikseli niskiego poziomu, aż do kombinacji części obrazu na wyższym poziomie.
![Hierarchiczna Ekstrakcja Cech](../../../../../translated_images/FeatureExtractionCNN.d9b456cbdae7cb643fde3032b81b2940e3cf8be842e29afac3f482725ba7f95c.pl.png)
![Hierarchiczna Ekstrakcja Cech](../../../../../translated_images/FeatureExtractionCNN.d9b456cbdae7cb64.pl.png)
> Obraz z [artykułu Hislop-Lynch](https://www.semanticscholar.org/paper/Computer-vision-based-pedestrian-trajectory-Hislop-Lynch/26e6f74853fc9bbb7487b06dc2cf095d36c9021d), opartego na [ich badaniach](https://dl.acm.org/doi/abs/10.1145/1553374.1553453)
@ -55,9 +55,9 @@ Większość CNN używanych do przetwarzania obrazów stosuje tzw. architekturę
Na przykład, spójrzmy na architekturę VGG-16, sieci, która osiągnęła 92,7% dokładności w klasyfikacji top-5 ImageNet w 2014 roku:
![Warstwy ImageNet](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51baeaab3e768567d921e5d54befa46e1e642616c5458c934028.pl.jpg)
![Warstwy ImageNet](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51ba.pl.jpg)
![Piramida ImageNet](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49fdaa786e3f3a975b3f22615efd13efb19c5d22f12e01451a1.pl.jpg)
![Piramida ImageNet](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49f.pl.jpg)
> Obraz z [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)

View File

@ -21,7 +21,7 @@ Twoim zadaniem jest wytrenowanie konwolucyjnej sieci neuronowej do klasyfikacji
Użyjemy [Oxford-IIIT Pet Dataset](https://www.robots.ox.ac.uk/~vgg/data/pets/), który zawiera obrazy 37 różnych ras psów i kotów.
![Zestaw danych, z którym będziemy pracować](../../../../../../translated_images/data.50b2a9d5484bdbf0f52f5765b381cec9efe2bd296a98f007f90bedb6ac67f2a8.pl.png)
![Zestaw danych, z którym będziemy pracować](../../../../../../translated_images/data.50b2a9d5484bdbf0.pl.png)
Aby pobrać zestaw danych, użyj tego fragmentu kodu:

View File

@ -29,7 +29,7 @@ Zarówno Keras, jak i PyTorch zawierają funkcje umożliwiające łatwe ładowan
Oto przykładowe cechy wyodrębnione z obrazu kota przez sieć VGG-16:
![Cechy wyodrębnione przez VGG-16](../../../../../translated_images/features.6291f9c7ba3a0b951af88fc9864632b9115365410765680680d30c927dd67354.pl.png)
![Cechy wyodrębnione przez VGG-16](../../../../../translated_images/features.6291f9c7ba3a0b95.pl.png)
## Zbiór danych Koty vs. Psy
@ -48,19 +48,19 @@ Wstępnie wytrenowana sieć neuronowa zawiera różne wzorce w swoim *mózgu*, w
Jednym z podejść, które możemy zastosować, jest rozpoczęcie od losowego obrazu, a następnie próba użycia techniki **optymalizacji metodą gradientu** w celu dostosowania tego obrazu w taki sposób, aby sieć zaczęła myśleć, że to kot.
![Pętla optymalizacji obrazu](../../../../../translated_images/ideal-cat-loop.999fbb8ff306e044f997032f4eef9152b453e6a990e449bbfb107de2493cc37e.pl.png)
![Pętla optymalizacji obrazu](../../../../../translated_images/ideal-cat-loop.999fbb8ff306e044.pl.png)
Jednak jeśli to zrobimy, otrzymamy coś bardzo podobnego do losowego szumu. Dzieje się tak, ponieważ *istnieje wiele sposobów, aby sieć myślała, że obraz wejściowy to kot*, w tym takie, które nie mają sensu wizualnie. Chociaż te obrazy zawierają wiele wzorców typowych dla kota, nic nie zmusza ich do bycia wizualnie wyraźnymi.
Aby poprawić wynik, możemy dodać kolejny składnik do funkcji straty, który nazywa się **stratą wariacji**. Jest to metryka pokazująca, jak podobne są sąsiadujące piksele obrazu. Minimalizowanie straty wariacji sprawia, że obraz staje się bardziej gładki i pozbywa się szumu - ujawniając bardziej atrakcyjne wizualnie wzorce. Oto przykład takich "idealnych" obrazów, które są klasyfikowane jako kot i jako zebra z dużym prawdopodobieństwem:
![Idealny kot](../../../../../translated_images/ideal-cat.203dd4597643d6b0bd73038b87f9c0464322725e3a06ab145d25d4a861c70592.pl.png) | ![Idealna zebra](../../../../../translated_images/ideal-zebra.7f70e8b54ee15a7a314000bb5df38a6cfe086ea04d60df4d3ef313d046b98a2b.pl.png)
![Idealny kot](../../../../../translated_images/ideal-cat.203dd4597643d6b0.pl.png) | ![Idealna zebra](../../../../../translated_images/ideal-zebra.7f70e8b54ee15a7a.pl.png)
-----|-----
*Idealny kot* | *Idealna zebra*
Podobne podejście można zastosować do przeprowadzania tzw. **ataków adversarialnych** na sieć neuronową. Załóżmy, że chcemy oszukać sieć neuronową i sprawić, by pies wyglądał jak kot. Jeśli weźmiemy obraz psa, który jest rozpoznawany przez sieć jako pies, możemy go nieco zmodyfikować za pomocą optymalizacji metodą gradientu, aż sieć zacznie klasyfikować go jako kota:
![Obraz psa](../../../../../translated_images/original-dog.8f68a67d2fe0911f33041c0f7fce8aa4ea919f9d3917ec4b468298522aeb6356.pl.png) | ![Obraz psa klasyfikowany jako kot](../../../../../translated_images/adversarial-dog.d9fc7773b0142b89752539bfbf884118de845b3851c5162146ea0b8809fc820f.pl.png)
![Obraz psa](../../../../../translated_images/original-dog.8f68a67d2fe0911f.pl.png) | ![Obraz psa klasyfikowany jako kot](../../../../../translated_images/adversarial-dog.d9fc7773b0142b89.pl.png)
-----|-----
*Oryginalny obraz psa* | *Obraz psa klasyfikowany jako kot*

View File

@ -19,7 +19,7 @@ Możemy jednak chcieć wykorzystać surowe (nieoznaczone) dane do trenowania eks
Ponieważ trenujemy autoenkoder, aby uchwycić jak najwięcej informacji z oryginalnego obrazu w celu dokładnej rekonstrukcji, sieć stara się znaleźć najlepsze **osadzenie** obrazów wejściowych, aby uchwycić ich znaczenie.
![Schemat Autoenkodera](../../../../../translated_images/autoencoder_schema.5e6fc9ad98a5eb6197f3513cf3baf4dfbe1389a6ae74daebda64de9f1c99f142.pl.jpg)
![Schemat Autoenkodera](../../../../../translated_images/autoencoder_schema.5e6fc9ad98a5eb61.pl.jpg)
> Obraz z [blogu Keras](https://blog.keras.io/building-autoencoders-in-keras.html)

View File

@ -13,7 +13,7 @@ Modele klasyfikacji obrazów, które omawialiśmy do tej pory, przyjmowały obra
## [Quiz przed wykładem](https://ff-quizzes.netlify.app/en/ai/quiz/21)
![Wykrywanie Obiektów](../../../../../translated_images/Screen_Shot_2016-11-17_at_11.14.54_AM.b4bb3769353287be1b905373ed9c858102c054b16e4595c76ec3f7bba0feb549.pl.png)
![Wykrywanie Obiektów](../../../../../translated_images/Screen_Shot_2016-11-17_at_11.14.54_AM.b4bb3769353287be.pl.png)
> Obraz z [witryny YOLO v2](https://pjreddie.com/darknet/yolov2/)
@ -25,7 +25,7 @@ Załóżmy, że chcemy znaleźć kota na zdjęciu. Bardzo naiwne podejście do w
2. Uruchom klasyfikację obrazu na każdym kafelku.
3. Kafelki, które dają wystarczająco wysoką aktywację, można uznać za zawierające poszukiwany obiekt.
![Naiwne Wykrywanie Obiektów](../../../../../translated_images/naive-detection.e7f1ba220ccd08c68a2ea8e06a7ed75c3fcc738c2372f9e00b7f4299a8659c01.pl.png)
![Naiwne Wykrywanie Obiektów](../../../../../translated_images/naive-detection.e7f1ba220ccd08c6.pl.png)
> *Obraz z [notatnika ćwiczeniowego](ObjectDetection-TF.ipynb)*
@ -42,7 +42,7 @@ Możesz natknąć się na następujące zbiory danych do tego zadania:
* [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/) 20 klas
* [COCO](http://cocodataset.org/#home) Common Objects in Context. 80 klas, ramki ograniczające i maski segmentacji
![COCO](../../../../../translated_images/coco-examples.71bc60380fa6cceb7caad48bd09e35b6028caabd363aa04fee89c414e0870e86.pl.jpg)
![COCO](../../../../../translated_images/coco-examples.71bc60380fa6cceb.pl.jpg)
## Metryki wykrywania obiektów
@ -50,7 +50,7 @@ Możesz natknąć się na następujące zbiory danych do tego zadania:
Podczas gdy w klasyfikacji obrazów łatwo jest zmierzyć, jak dobrze działa algorytm, w wykrywaniu obiektów musimy ocenić zarówno poprawność klasy, jak i precyzję lokalizacji przewidywanej ramki ograniczającej. Do tego ostatniego używamy tzw. **Intersection over Union** (IoU), które mierzy, jak dobrze dwie ramki (lub dwa dowolne obszary) się pokrywają.
![IoU](../../../../../translated_images/iou_equation.9a4751d40fff4e119ecd0a7bcca4e71ab1dc83e0d4f2a0d66ff0859736f593cf.pl.png)
![IoU](../../../../../translated_images/iou_equation.9a4751d40fff4e11.pl.png)
> *Rysunek 2 z [tego doskonałego wpisu na blogu o IoU](https://pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/)*
@ -98,11 +98,11 @@ Istnieją dwie główne klasy algorytmów wykrywania obiektów:
[R-CNN](http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf) wykorzystuje [Selective Search](http://www.huppelen.nl/publications/selectiveSearchDraft.pdf) do generowania hierarchicznej struktury regionów ROI, które następnie są przetwarzane przez ekstraktory cech CNN i klasyfikatory SVM w celu określenia klasy obiektu oraz regresję liniową w celu określenia współrzędnych *ramki ograniczającej*. [Oficjalny artykuł](https://arxiv.org/pdf/1506.01497v1.pdf)
![RCNN](../../../../../translated_images/rcnn1.cae407020dfb1d1fb572656e44f75cd6c512cc220591c116c506652c10e47f26.pl.png)
![RCNN](../../../../../translated_images/rcnn1.cae407020dfb1d1f.pl.png)
> *Obraz z van de Sande et al. ICCV11*
![RCNN-1](../../../../../translated_images/rcnn2.2d9530bb83516484ec65b250c22dbf37d3d23244f32864ebcb91d98fe7c3112c.pl.png)
![RCNN-1](../../../../../translated_images/rcnn2.2d9530bb83516484.pl.png)
> *Obrazy z [tego bloga](https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e)*
@ -110,7 +110,7 @@ Istnieją dwie główne klasy algorytmów wykrywania obiektów:
To podejście jest podobne do R-CNN, ale regiony są definiowane po zastosowaniu warstw konwolucyjnych.
![FRCNN](../../../../../translated_images/f-rcnn.3cda6d9bb41888754037d2d9763e2298a96de5d9bc2a21db3147357aa5da9b1a.pl.png)
![FRCNN](../../../../../translated_images/f-rcnn.3cda6d9bb4188875.pl.png)
> Obraz z [oficjalnego artykułu](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 @@ To podejście jest podobne do R-CNN, ale regiony są definiowane po zastosowaniu
Główna idea tego podejścia polega na użyciu sieci neuronowej do przewidywania ROI tzw. *Region Proposal Network*. [Artykuł](https://arxiv.org/pdf/1506.01497.pdf), 2016
![FasterRCNN](../../../../../translated_images/faster-rcnn.8d46c099b87ef30ab2ea26dbc4bdd85b974a57ba8eb526f65dc4cd0a4711de30.pl.png)
![FasterRCNN](../../../../../translated_images/faster-rcnn.8d46c099b87ef30a.pl.png)
> Obraz z [oficjalnego artykułu](https://arxiv.org/pdf/1506.01497.pdf)
@ -130,7 +130,7 @@ Ten algorytm jest jeszcze szybszy niż Faster R-CNN. Główna idea jest następu
2. Cechy są przetwarzane przez **Position-Sensitive Score Map**. Każdy obiekt z $C$ klas jest dzielony na $k\times k$ regiony, a sieć jest trenowana do przewidywania części obiektów.
3. Dla każdej części z $k\times k$ regionów wszystkie sieci głosują na klasy obiektów, a klasa z największą liczbą głosów jest wybierana.
![r-fcn image](../../../../../translated_images/r-fcn.13eb88158b99a3da50fa2787a6be5cb310d47f0e9655cc93a1090dc7aab338d1.pl.png)
![r-fcn image](../../../../../translated_images/r-fcn.13eb88158b99a3da.pl.png)
> Obraz z [oficjalnego artykułu](https://arxiv.org/abs/1605.06409)
@ -141,7 +141,7 @@ YOLO to algorytm jednoprzebiegowy w czasie rzeczywistym. Główna idea jest nast
* Obraz jest dzielony na $S\times S$ regiony.
* Dla każdego regionu **CNN** przewiduje $n$ możliwych obiektów, współrzędne *ramki ograniczającej* oraz *pewność* = *prawdopodobieństwo* * IoU.
![YOLO](../../../../../translated_images/yolo.a2648ec82ee8bb4ea27537677adb482fd4b733ca1705c561b6a24a85102dced5.pl.png)
![YOLO](../../../../../translated_images/yolo.a2648ec82ee8bb4e.pl.png)
> Obraz z [oficjalnego artykułu](https://arxiv.org/abs/1506.02640)

View File

@ -19,7 +19,7 @@ Warstwa osadzenia przyjmuje słowo jako wejście i generuje wektor wyjściowy o
Używając warstwy osadzenia jako pierwszej warstwy w naszej sieci klasyfikatora, możemy przejść od modelu bag-of-words do modelu **embedding bag**, gdzie najpierw konwertujemy każde słowo w naszym tekście na odpowiadające mu osadzenie, a następnie obliczamy pewną funkcję agregującą dla wszystkich tych osadzeń, taką jak `sum`, `average` lub `max`.
![Obraz przedstawiający klasyfikator osadzeń dla pięciu słów w sekwencji.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eeec8e68bfe11636c5b97d6eaa067515a129bfb1d0034b1ac5b.pl.png)
![Obraz przedstawiający klasyfikator osadzeń dla pięciu słów w sekwencji.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eee.pl.png)
> Obraz autorstwa autora
@ -40,7 +40,7 @@ Aby to osiągnąć, musimy wstępnie wytrenować nasz model osadzenia na dużym
CBoW działa szybciej, podczas gdy skip-gram jest wolniejszy, ale lepiej reprezentuje rzadkie słowa.
![Obraz przedstawiający algorytmy CBoW i Skip-Gram do konwersji słów na wektory.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.pl.png)
![Obraz przedstawiający algorytmy CBoW i Skip-Gram do konwersji słów na wektory.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.pl.png)
> Obraz z [tego artykułu](https://arxiv.org/pdf/1301.3781.pdf)

View File

@ -23,7 +23,7 @@ W naszych wcześniejszych przykładach korzystaliśmy z wstępnie wytrenowanych
* **Continuous Bag-of-Words** (CBoW), gdzie przewidujemy środkowy token $W_0$ w sekwencji tokenów $W_{-N}$, ..., $W_N$.
* **Skip-gram**, gdzie przewidujemy zestaw sąsiednich tokenów {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} na podstawie środkowego tokena $W_0$.
![obraz z artykułu o konwersji słów na wektory](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.pl.png)
![obraz z artykułu o konwersji słów na wektory](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.pl.png)
> Obraz z [tego artykułu](https://arxiv.org/pdf/1301.3781.pdf)

View File

@ -15,7 +15,7 @@ W poprzednich sekcjach korzystaliśmy z bogatych semantycznych reprezentacji tek
Aby uchwycić znaczenie sekwencji tekstu, musimy użyć innej architektury sieci neuronowej, zwanej **siecią neuronową rekurencyjną** (RNN). W RNN przekazujemy nasze zdanie przez sieć symbol po symbolu, a sieć generuje pewien **stan**, który następnie przekazujemy z kolejnym symbolem.
![RNN](../../../../../translated_images/rnn.27f5c29c53d727b546ad3961637a267f0fe9ec5ab01f2a26a853c92fcefbb574.pl.png)
![RNN](../../../../../translated_images/rnn.27f5c29c53d727b5.pl.png)
> Obraz autorstwa autora
@ -61,7 +61,7 @@ Omówiliśmy sieci rekurencyjne, które działają w jednym kierunku, od począt
Sieć rekurencyjna, czy to jednokierunkowa, czy dwukierunkowa, wychwytuje pewne wzorce w sekwencji i może je przechowywać w wektorze stanu lub przekazywać na wyjście. Podobnie jak w przypadku sieci konwolucyjnych, możemy zbudować kolejną warstwę rekurencyjną na szczycie pierwszej, aby uchwycić wzorce wyższego poziomu i budować na bazie wzorców niskiego poziomu wyodrębnionych przez pierwszą warstwę. Prowadzi to do pojęcia **wielowarstwowego RNN**, który składa się z dwóch lub więcej sieci rekurencyjnych, gdzie wyjście poprzedniej warstwy jest przekazywane jako wejście do następnej warstwy.
![Obraz przedstawiający wielowarstwowy LSTM RNN](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe58b429db833932d734c81f211cad2783797a9608984acb8c.pl.jpg)
![Obraz przedstawiający wielowarstwowy LSTM RNN](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe.pl.jpg)
*Obraz z [tego wspaniałego artykułu](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) autorstwa Fernando Lópeza*

View File

@ -19,7 +19,7 @@ W architekturze RNN, którą omawialiśmy w poprzedniej jednostce, każda jednos
To umożliwia różne architektury sieci neuronowych, które przedstawiono na poniższym obrazku:
![Obraz przedstawiający typowe wzorce rekurencyjnych sieci neuronowych.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42dce6c42d8a56c184729aa2378d059b851be4ce12b993033df.pl.jpg)
![Obraz przedstawiający typowe wzorce rekurencyjnych sieci neuronowych.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42d.pl.jpg)
> Obraz z wpisu na blogu [Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) autorstwa [Andreja Karpaty](http://karpathy.github.io/)
@ -32,7 +32,7 @@ W tej jednostce skupimy się na prostych modelach generatywnych, które pomagaj
Wytrenujemy tę RNN do generowania tekstu krok po kroku. Na każdym kroku weźmiemy sekwencję znaków o długości `nchars` i poprosimy sieć o wygenerowanie kolejnego znaku wyjściowego dla każdego znaku wejściowego:
![Obraz przedstawiający przykład generowania słowa 'HELLO' przez RNN.](../../../../../translated_images/rnn-generate.56c54afb52f9781d63a7c16ea9c1b86cb70e6e1eae6a742b56b7b37468576b17.pl.png)
![Obraz przedstawiający przykład generowania słowa 'HELLO' przez RNN.](../../../../../translated_images/rnn-generate.56c54afb52f9781d.pl.png)
Podczas generowania tekstu (w trakcie inferencji) zaczynamy od jakiegoś **podpowiedzi** (prompt), która jest przepuszczana przez komórki RNN, aby wygenerować jej stan pośredni, a następnie z tego stanu rozpoczyna się generowanie. Generujemy jeden znak na raz, przekazujemy stan i wygenerowany znak do kolejnej komórki RNN, aby wygenerować następny znak, aż wygenerujemy wystarczającą liczbę znaków.

View File

@ -20,13 +20,13 @@ W przypadku RNN, zadania sequence-to-sequence są realizowane za pomocą dwóch
**Mechanizmy uwagi** umożliwiają ważenie kontekstowego wpływu każdego wektora wejściowego na każdą prognozę wyjściową RNN. Implementuje się to poprzez tworzenie skrótów między stanami pośrednimi wejściowego RNN a wyjściowego RNN. W ten sposób, generując symbol wyjściowy y<sub>t</sub>, uwzględniamy wszystkie stany ukryte wejścia h<sub>i</sub>, z różnymi współczynnikami wagowymi &alpha;<sub>t,i</sub>.
![Obraz przedstawiający model enkoder/dekoder z warstwą uwagi addytywnej](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567aa2898c94b17b3289087f6705c11907df8301df9e5eeb3de.pl.png)
![Obraz przedstawiający model enkoder/dekoder z warstwą uwagi addytywnej](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567.pl.png)
> Model enkoder-dekoder z mechanizmem uwagi addytywnej w [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), cytowany z [tego wpisu na blogu](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)
Macierz uwagi {&alpha;<sub>i,j</sub>} reprezentuje stopień, w jakim określone słowa wejściowe wpływają na generowanie danego słowa w sekwencji wyjściowej. Poniżej znajduje się przykład takiej macierzy:
![Obraz przedstawiający przykładowe wyrównanie znalezione przez RNNsearch-50, zaczerpnięte z Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af11de6c82d2d197830ba5f4528d9ea430eb65fd3a75065973.pl.png)
![Obraz przedstawiający przykładowe wyrównanie znalezione przez RNNsearch-50, zaczerpnięte z Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af.pl.png)
> Rysunek z [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Fig.3)
@ -66,7 +66,7 @@ Wynik, który uzyskujemy dzięki osadzaniu pozycji, osadza zarówno oryginalny t
Następnie musimy wychwycić pewne wzorce w naszej sekwencji. Aby to zrobić, modele Transformer używają mechanizmu **samo-uwagi**, który w zasadzie jest uwagą zastosowaną do tej samej sekwencji jako wejście i wyjście. Zastosowanie samo-uwagi pozwala nam uwzględnić **kontekst** w zdaniu i zobaczyć, które słowa są ze sobą powiązane. Na przykład pozwala nam zobaczyć, które słowa są odniesieniami do innych, takich jak *to*, oraz uwzględnić kontekst:
![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d68d8d0039d06a71a151f18a796b8b1330239d3590bd4947eb.pl.png)
![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d6.pl.png)
> Obraz z [Bloga Google](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html)
@ -91,7 +91,7 @@ Ponieważ każda pozycja wejściowa jest mapowana niezależnie na każdą pozycj
**BERT** (Bidirectional Encoder Representations from Transformers) to bardzo duża wielowarstwowa sieć Transformer z 12 warstwami dla *BERT-base* i 24 dla *BERT-large*. Model jest najpierw wstępnie trenowany na dużym korpusie danych tekstowych (Wikipedia + książki) za pomocą treningu niesuperwizowanego (przewidywanie zamaskowanych słów w zdaniu). Podczas wstępnego treningu model przyswaja znaczące poziomy zrozumienia języka, które można następnie wykorzystać z innymi zestawami danych za pomocą dostrajania. Ten proces nazywa się **transfer learning**.
![obrazek z http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362e39ee4381aab7cad06b5465a0b5f053a0f2aa05fbe14e746.pl.png)
![obrazek z http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362.pl.png)
> Źródło obrazu [tutaj](http://jalammar.github.io/illustrated-bert/)

View File

@ -56,7 +56,7 @@ noworodka | O
Ponieważ musimy zbudować jednoznaczną korespondencję między tokenami a klasami, możemy wytrenować odpowiedni model sieci neuronowej **wielu-do-wielu** z tego obrazu:
![Obraz przedstawiający typowe wzorce sieci neuronowych rekurencyjnych.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42dce6c42d8a56c184729aa2378d059b851be4ce12b993033df.pl.jpg)
![Obraz przedstawiający typowe wzorce sieci neuronowych rekurencyjnych.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42d.pl.jpg)
> *Obraz z [tego wpisu na blogu](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) autorstwa [Andreja Karpathy'ego](http://karpathy.github.io/). Modele klasyfikacji tokenów NER odpowiadają architekturze sieci po prawej stronie tego obrazu.*

View File

@ -70,7 +70,7 @@ Możesz otworzyć jeden z modeli, na przykład **Biology &rightarrow; Flocking**
Po otwarciu modelu zostaniesz przeniesiony na główny ekran NetLogo. Oto przykładowy model opisujący populację wilków i owiec, biorąc pod uwagę ograniczone zasoby (trawę).
![Główny ekran NetLogo](../../../../../translated_images/NetLogo-Main.32653711ec1a01b3cab22ec0b148e64193d0b979b055285bef329d5e3d6958c5.pl.png)
![Główny ekran NetLogo](../../../../../translated_images/NetLogo-Main.32653711ec1a01b3.pl.png)
> Zrzut ekranu autorstwa Dmitry Soshnikov

View File

@ -1,47 +1,47 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "4ed9993bca581850c983c95d5a3f57eb",
"translation_date": "2025-12-24T23:44:08+00:00",
"original_hash": "14816e97d79b296c87811724f7785923",
"translation_date": "2026-01-01T11:19:37+00:00",
"source_file": "README.md",
"language_code": "pt"
}
-->
[![Licença GitHub](https://img.shields.io/github/license/microsoft/AI-For-Beginners.svg)](https://github.com/microsoft/AI-For-Beginners/blob/main/LICENSE)
[![Contribuidores GitHub](https://img.shields.io/github/contributors/microsoft/AI-For-Beginners.svg)](https://GitHub.com/microsoft/AI-For-Beginners/graphs/contributors/)
[![Problemas GitHub](https://img.shields.io/github/issues/microsoft/AI-For-Beginners.svg)](https://GitHub.com/microsoft/AI-For-Beginners/issues/)
[![Pull requests GitHub](https://img.shields.io/github/issues-pr/microsoft/AI-For-Beginners.svg)](https://GitHub.com/microsoft/AI-For-Beginners/pulls/)
[![PRs Bem-vindos](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![Licença do GitHub](https://img.shields.io/github/license/microsoft/AI-For-Beginners.svg)](https://github.com/microsoft/AI-For-Beginners/blob/main/LICENSE)
[![Contribuidores do GitHub](https://img.shields.io/github/contributors/microsoft/AI-For-Beginners.svg)](https://GitHub.com/microsoft/AI-For-Beginners/graphs/contributors/)
[![Issues do GitHub](https://img.shields.io/github/issues/microsoft/AI-For-Beginners.svg)](https://GitHub.com/microsoft/AI-For-Beginners/issues/)
[![Pull requests do GitHub](https://img.shields.io/github/issues-pr/microsoft/AI-For-Beginners.svg)](https://GitHub.com/microsoft/AI-For-Beginners/pulls/)
[![PRs bem-vindos](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![Observadores GitHub](https://img.shields.io/github/watchers/microsoft/AI-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)
[![Forks GitHub](https://img.shields.io/github/forks/microsoft/AI-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/AI-For-Beginners/network/)
[![Estrelas GitHub](https://img.shields.io/github/stars/microsoft/AI-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/AI-For-Beginners/stargazers/)
[![Observadores do GitHub](https://img.shields.io/github/watchers/microsoft/AI-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)
[![Forks no GitHub](https://img.shields.io/github/forks/microsoft/AI-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/AI-For-Beginners/network/)
[![Estrelas no GitHub](https://img.shields.io/github/stars/microsoft/AI-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/AI-For-Beginners/stargazers/)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)
[![Gitter](https://badges.gitter.im/Microsoft/ai-for-beginners.svg)](https://gitter.im/Microsoft/ai-for-beginners?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[![Discord Microsoft Foundry](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
# Inteligência Artificial para Iniciantes - Um Currículo
|![Sketchnote por @girlie_mac https://twitter.com/girlie_mac](../../translated_images/ai-overview.0857791951d19500d0ef8b803d77110c738dcafc52306e6d68724742cd4af167.pt.png)|
|![Sketchnote por @girlie_mac https://twitter.com/girlie_mac](../../translated_images/ai-overview.0857791951d19500.pt.png)|
|:---:|
| Inteligência Artificial para Iniciantes - _Sketchnote por [@girlie_mac](https://twitter.com/girlie_mac)_ |
Explore o mundo da **Artificial Intelligence** (AI) com o nosso currículo de 12 semanas e 24 aulas! Inclui aulas práticas, questionários e laboratórios. O currículo é adequado para principiantes e cobre ferramentas como TensorFlow e PyTorch, bem como ética em IA
Explore o mundo da **Inteligência Artificial** (IA) com o nosso currículo de 12 semanas e 24 aulas! Inclui aulas práticas, questionários e laboratórios. O currículo é adequado para iniciantes e abrange ferramentas como TensorFlow e PyTorch, bem como ética em IA
### 🌐 Suporte Multilingue
### 🌐 Suporte Multilíngue
#### Suportado via GitHub Action (Automatizado e Sempre Atualizado)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Árabe](../ar/README.md) | [Bengalês](../bn/README.md) | [Búlgaro](../bg/README.md) | [Birmanês (Myanmar)](../my/README.md) | [Chinês (Simplificado)](../zh/README.md) | [Chinês (Tradicional, Hong Kong)](../hk/README.md) | [Chinês (Tradicional, Macau)](../mo/README.md) | [Chinês (Tradicional, Taiwan)](../tw/README.md) | [Croata](../hr/README.md) | [Checo](../cs/README.md) | [Dinamarquês](../da/README.md) | [Holandês](../nl/README.md) | [Estónio](../et/README.md) | [Finlandês](../fi/README.md) | [Francês](../fr/README.md) | [Alemão](../de/README.md) | [Grego](../el/README.md) | [Hebraico](../he/README.md) | [Hindi](../hi/README.md) | [Húngaro](../hu/README.md) | [Indonésio](../id/README.md) | [Italiano](../it/README.md) | [Japonês](../ja/README.md) | [Canarês (Kannada)](../kn/README.md) | [Coreano](../ko/README.md) | [Lituano](../lt/README.md) | [Malaio](../ms/README.md) | [Malayalam](../ml/README.md) | [Marata (Marathi)](../mr/README.md) | [Nepalês](../ne/README.md) | [Pidgin Nigeriano](../pcm/README.md) | [Norueguês](../no/README.md) | [Persa (Farsi)](../fa/README.md) | [Polaco](../pl/README.md) | [Português (Brasil)](../br/README.md) | [Português (Portugal)](./README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romeno](../ro/README.md) | [Russo](../ru/README.md) | [Sérvio (Cirílico)](../sr/README.md) | [Eslovaco](../sk/README.md) | [Esloveno](../sl/README.md) | [Espanhol](../es/README.md) | [Suaíli](../sw/README.md) | [Sueco](../sv/README.md) | [Tagalo (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Tailandês](../th/README.md) | [Turco](../tr/README.md) | [Ucraniano](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamita](../vi/README.md)
[Árabe](../ar/README.md) | [Bengali](../bn/README.md) | [Búlgaro](../bg/README.md) | [Burmês (Myanmar)](../my/README.md) | [Chinês (Simplificado)](../zh/README.md) | [Chinês Tradicional (Hong Kong)](../hk/README.md) | [Chinês Tradicional (Macau)](../mo/README.md) | [Chinês Tradicional (Taiwan)](../tw/README.md) | [Croata](../hr/README.md) | [Checo](../cs/README.md) | [Dinamarquês](../da/README.md) | [Holandês](../nl/README.md) | [Estónio](../et/README.md) | [Finlandês](../fi/README.md) | [Francês](../fr/README.md) | [Alemão](../de/README.md) | [Grego](../el/README.md) | [Hebraico](../he/README.md) | [Hindi](../hi/README.md) | [Húngaro](../hu/README.md) | [Indonésio](../id/README.md) | [Italiano](../it/README.md) | [Japonês](../ja/README.md) | [Kannada](../kn/README.md) | [Coreano](../ko/README.md) | [Lituano](../lt/README.md) | [Malaio](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepalês](../ne/README.md) | [Pidgin Nigeriano](../pcm/README.md) | [Norueguês](../no/README.md) | [Persa (Farsi)](../fa/README.md) | [Polaco](../pl/README.md) | [Português (Brasil)](../br/README.md) | [Português (Portugal)](./README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romeno](../ro/README.md) | [Russo](../ru/README.md) | [Sérvio (Cirílico)](../sr/README.md) | [Eslovaco](../sk/README.md) | [Esloveno](../sl/README.md) | [Espanhol](../es/README.md) | [Suaíli](../sw/README.md) | [Sueco](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tâmil](../ta/README.md) | [Telugu](../te/README.md) | [Tailandês](../th/README.md) | [Turco](../tr/README.md) | [Ucraniano](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamita](../vi/README.md)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Se desejar obter traduções adicionais, as línguas suportadas estão listadas [aqui](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Se desejar que sejam suportados idiomas adicionais, estão listados [aqui](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
## Junte-se à Comunidade
[![Discord Microsoft Foundry](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
## O que irá aprender
@ -49,87 +49,87 @@ Explore o mundo da **Artificial Intelligence** (AI) com o nosso currículo de 12
Neste currículo, irá aprender:
* Diferentes abordagens à Inteligência Artificial, incluindo a abordagem simbólica "à moda antiga" com **Representação do Conhecimento** e raciocínio ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
* **Redes Neuronais** e **Deep Learning**, que estão no núcleo da IA moderna. Iremos ilustrar os conceitos por detrás destes tópicos importantes usando código em dois dos frameworks mais populares - [TensorFlow](http://Tensorflow.org) e [PyTorch](http://pytorch.org).
* **Arquiteturas Neuronais** para trabalhar com imagens e texto. Iremos cobrir modelos recentes, mas podemos ficar um pouco aquém do estado da arte.
* Diferentes abordagens à Inteligência Artificial, incluindo a abordagem simbólica "do bom e velho" com **Representação do Conhecimento** e raciocínio ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
* **Redes Neuronais** e **Aprendizagem Profunda**, que estão no cerne da IA moderna. Iremos ilustrar os conceitos por trás destes tópicos importantes usando código em dois dos frameworks mais populares - [TensorFlow](http://Tensorflow.org) e [PyTorch](http://pytorch.org).
* **Arquiteturas Neurais** para trabalhar com imagens e texto. Cobriremos modelos recentes, mas poderemos estar um pouco aquém do estado da arte.
* Abordagens de IA menos populares, como **Algoritmos Genéticos** e **Sistemas Multi-Agente**.
O que não iremos cobrir neste currículo:
> [Encontre todos os recursos adicionais para este curso na nossa coleção Microsoft Learn](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
* Casos de utilização de **IA nos negócios**. Considere seguir o percurso de aprendizagem [Introduction to AI for business users](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) no Microsoft Learn, ou [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum), desenvolvido em cooperação com [INSEAD](https://www.insead.edu/).
* **Aprendizagem Automática Clássica**, que está bem descrita no nosso [Currículo de Machine Learning para Iniciantes](http://github.com/Microsoft/ML-for-Beginners).
* Aplicações práticas de IA construídas usando **[Serviços Cognitivos](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. Para isto, recomendamos que comece pelos módulos Microsoft Learn para [visão](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum), [processamento de linguagem natural](https://docs.microsoft.com/learn/paths/explore-natural-language-processing/?WT.mc_id=academic-77998-bethanycheum), **[IA Generativa com Azure OpenAI Service](https://learn.microsoft.com/en-us/training/paths/develop-ai-solutions-azure-openai/?WT.mc_id=academic-77998-bethanycheum)** e outros.
* Frameworks específicos de ML na **Cloud**, tais como [Azure Machine Learning](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-bethanycheum), [Microsoft Fabric](https://learn.microsoft.com/en-us/training/paths/get-started-fabric/?WT.mc_id=academic-77998-bethanycheum), ou [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Considere utilizar os percursos de aprendizagem [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) e [Build and Operate Machine Learning Solutions with Azure Databricks](https://docs.microsoft.com/learn/paths/build-operate-machine-learning-solutions-azure-databricks/?WT.mc_id=academic-77998-bethanycheum).
* **IA Conversacional** e **Chat Bots**. Existe um percurso de aprendizagem separado [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum), e pode também consultar [este artigo de blog](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) para mais detalhes.
* **Matemática avançada** por trás do Deep Learning. Para isto, recomendamos [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) por Ian Goodfellow, Yoshua Bengio e Aaron Courville, que também está disponível online em [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
* Casos de uso de **IA nos Negócios**. Considere realizar o percurso de aprendizagem [Introduction to AI for business users](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) no Microsoft Learn, ou a [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum), desenvolvida em cooperação com [INSEAD](https://www.insead.edu/).
* **Aprendizagem de Máquina Clássica**, que está bem descrita no nosso [Currículo de Aprendizagem de Máquina para Iniciantes](http://github.com/Microsoft/ML-for-Beginners).
* Aplicações práticas de IA construídas usando **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. Para isto, recomendamos que comece com módulos do Microsoft Learn para [visão](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum), [processamento de linguagem natural](https://docs.microsoft.com/learn/paths/explore-natural-language-processing/?WT.mc_id=academic-77998-bethanycheum), **[IA Generativa com Azure OpenAI Service](https://learn.microsoft.com/en-us/training/paths/develop-ai-solutions-azure-openai/?WT.mc_id=academic-77998-bethanycheum)** e outros.
* **Frameworks de Cloud específicos para ML**, tais como [Azure Machine Learning](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-bethanycheum), [Microsoft Fabric](https://learn.microsoft.com/en-us/training/paths/get-started-fabric/?WT.mc_id=academic-77998-bethanycheum), ou [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Considere usar os percursos de aprendizagem [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) e [Build and Operate Machine Learning Solutions with Azure Databricks](https://docs.microsoft.com/learn/paths/build-operate-machine-learning-solutions-azure-databricks/?WT.mc_id=academic-77998-bethanycheum).
* **IA Conversacional** e **Chat Bots**. Existe um percurso de aprendizagem separado [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum), e pode também consultar [este artigo do blog](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) para mais detalhes.
* **Matemática Avançada** por trás do deep learning. Para isto, recomendamos [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) de Ian Goodfellow, Yoshua Bengio e Aaron Courville, que também está disponível online em [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
Para uma introdução suave aos tópicos de _IA na Cloud_ pode considerar seguir o Percurso de Aprendizagem [Comece com inteligência artificial no Azure](https://docs.microsoft.com/learn/paths/get-started-with-artificial-intelligence-on-azure/?WT.mc_id=academic-77998-bethanycheum).
Para uma introdução suave aos tópicos de _IA na Cloud_, pode considerar realizar o Percurso de Aprendizagem [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).
# Conteúdo
| | Link da Aula | PyTorch/Keras/TensorFlow | Laboratório |
| :-: | :------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: | ------------------------------------------------------------------------------ |
| 0 | [Configuração do Curso](./lessons/0-course-setup/setup.md) | [Configure o Seu Ambiente de Desenvolvimento](./lessons/0-course-setup/how-to-run.md) | |
| 0 | [Configuração do Curso](./lessons/0-course-setup/setup.md) | [Configurar o Seu Ambiente de Desenvolvimento](./lessons/0-course-setup/how-to-run.md) | |
| I | [**Introdução à IA**](./lessons/1-Intro/README.md) | | |
| 01 | [Introdução e História da IA](./lessons/1-Intro/README.md) | - | - |
| II | **IA Simbólica** |
| 02 | [Representação do Conhecimento e Sistemas Especialistas](./lessons/2-Symbolic/README.md) | [Sistemas Especialistas](./lessons/2-Symbolic/Animals.ipynb) / [Ontologia](./lessons/2-Symbolic/FamilyOntology.ipynb) /[Grafo de Conceitos](./lessons/2-Symbolic/MSConceptGraph.ipynb) | |
| III | [**Introdução às Redes Neurais**](./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 Multicamadas e Criação do nosso próprio Framework](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [Notebook](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [Lab](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
| 05 | [Introdução a Frameworks (PyTorch/TensorFlow) e Sobreajuste](./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 | [**Visão Computacional**](./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 Visão Computacional no Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
| 06 | [Introdução à Visão Computacional. 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 | [Redes Neuronais Convolucionais](./lessons/4-ComputerVision/07-ConvNets/README.md) & [Arquiteturas 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 | [Redes pré-treinadas e Aprendizagem por Transferência](./lessons/4-ComputerVision/08-TransferLearning/README.md) e [Dicas de Treino](./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) |
| III | [**Introdução às Redes Neuronais**](./lessons/3-NeuralNetworks/README.md) |||
| 03 | [Perceptron](./lessons/3-NeuralNetworks/03-Perceptron/README.md) | [Notebook](./lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb) | [Laboratório](./lessons/3-NeuralNetworks/03-Perceptron/lab/README.md) |
| 04 | [Perceptron Multicamadas e Criação do nosso próprio framework](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [Notebook](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [Laboratório](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
| 05 | [Introdução a frameworks (PyTorch/TensorFlow) e Sobreajuste](./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) | [Laboratório](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) |
| IV | [**Visão Computacional**](./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 a Visão Computacional no Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
| 06 | [Introdução à Visão Computacional. OpenCV](./lessons/4-ComputerVision/06-IntroCV/README.md) | [Notebook](./lessons/4-ComputerVision/06-IntroCV/OpenCV.ipynb) | [Laboratório](./lessons/4-ComputerVision/06-IntroCV/lab/README.md) |
| 07 | [Redes Neuronais Convolucionais](./lessons/4-ComputerVision/07-ConvNets/README.md) & [Arquiteturas de CNN](./lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md) | [PyTorch](./lessons/4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb) /[TensorFlow](./lessons/4-ComputerVision/07-ConvNets/ConvNetsTF.ipynb) | [Laboratório](./lessons/4-ComputerVision/07-ConvNets/lab/README.md) |
| 08 | [Redes Pré-treinadas e Transferência de Aprendizagem](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [Truques de Treino](./lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md) | [PyTorch](./lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Laboratório](./lessons/4-ComputerVision/08-TransferLearning/lab/README.md) |
| 09 | [Autoencoders e VAEs](./lessons/4-ComputerVision/09-Autoencoders/README.md) | [PyTorch](./lessons/4-ComputerVision/09-Autoencoders/AutoEncodersPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb) | |
| 10 | [Redes Geradoras Adversariais & Transferência de Estilo Artístico](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
| 11 | [Deteção de Objetos](./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 | [Redes Generativas Adversariais e Transferência de Estilo Artístico](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
| 11 | [Deteção de Objetos](./lessons/4-ComputerVision/11-ObjectDetection/README.md) | [TensorFlow](./lessons/4-ComputerVision/11-ObjectDetection/ObjectDetection.ipynb) | [Laboratório](./lessons/4-ComputerVision/11-ObjectDetection/lab/README.md) |
| 12 | [Segmentação Semântica. 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 | [**Processamento de Linguagem Natural**](./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 Processamento de Linguagem Natural no Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)|
| 13 | [Representação de Texto. 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 | [**Processamento de Linguagem Natural**](./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 o Processamento de Linguagem Natural no Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)|
| 13 | [Representação de Texto. BoW/TF-IDF](./lessons/5-NLP/13-TextRep/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb) | |
| 14 | [Embeddings semânticos de palavras. Word2Vec e 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 | [Modelagem de Linguagem. Treinar os seus próprios embeddings](./lessons/5-NLP/15-LanguageModeling/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-PyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-TF.ipynb) | [Lab](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
| 15 | [Modelação de Linguagem. Treinar os seus próprios embeddings](./lessons/5-NLP/15-LanguageModeling/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-PyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-TF.ipynb) | [Laboratório](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
| 16 | [Redes Neuronais Recorrentes](./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 | [Redes Recorrentes Generativas](./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) |
| 17 | [Redes Recorrentes Generativas](./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) | [Laboratório](./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 | [Reconhecimento de Entidades Nomeadas](./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) |
| 19 | [Reconhecimento de Entidades Nomeadas](./lessons/5-NLP/19-NER/README.md) | [TensorFlow](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/19-NER/NER-TF.ipynb) | [Laboratório](./lessons/5-NLP/19-NER/lab/README.md) |
| 20 | [Modelos de Linguagem de Grande Escala, Programação de Prompts e Tarefas Few-Shot](./lessons/5-NLP/20-LangModels/README.md) | [PyTorch](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb) | |
| VI | **Outras Técnicas de IA** || |
| 21 | [Algoritmos Genéticos](./lessons/6-Other/21-GeneticAlgorithms/README.md) | [Notebook](./lessons/6-Other/21-GeneticAlgorithms/Genetic.ipynb) | |
| 22 | [Aprendizagem por Reforço Profunda](./lessons/6-Other/22-DeepRL/README.md) | [PyTorch](./lessons/6-Other/22-DeepRL/CartPole-RL-PyTorch.ipynb) /[TensorFlow](./lessons/6-Other/22-DeepRL/CartPole-RL-TF.ipynb) | [Lab](./lessons/6-Other/22-DeepRL/lab/README.md) |
| 23 | [Sistemas Multi-Agente](./lessons/6-Other/23-MultiagentSystems/README.md) | | |
| 22 | [Aprendizagem por Reforço Profundo](./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) | [Laboratório](./lessons/6-Other/22-DeepRL/lab/README.md) |
| 23 | [Sistemas Multiagente](./lessons/6-Other/23-MultiagentSystems/README.md) | | |
| VII | **Ética da IA** | | |
| 24 | [Ética da IA e IA Responsável](./lessons/7-Ethics/README.md) | [Microsoft Learn: Princípios da IA Responsável](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | |
| 24 | [Ética da IA e IA Responsável](./lessons/7-Ethics/README.md) | [Microsoft Learn: Princípios de IA Responsável](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | |
| IX | **Extras** | | |
| 25 | [Redes Multimodais, CLIP e VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [Notebook](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | |
## Cada lição contém
* Material de pré-leitura
* Notebooks Jupyter executáveis, frequentemente específicos do framework (**PyTorch** ou **TensorFlow**). O notebook executável contém também muito material teórico, por isso, para compreender o tópico precisa de percorrer pelo menos uma versão do notebook (ou PyTorch ou TensorFlow).
* Notebooks Jupyter executáveis, que são frequentemente específicos ao framework (**PyTorch** ou **TensorFlow**). O notebook executável também contém muito material teórico, por isso, para compreender o tópico precisa de percorrer pelo menos uma versão do notebook (ou PyTorch ou TensorFlow).
* **Labs** disponíveis para alguns tópicos, que lhe dão a oportunidade de tentar aplicar o material que aprendeu a um problema específico.
* Algumas secções contêm links para módulos do [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) que cobrem tópicos relacionados.
* Algumas secções contêm ligações para módulos do [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) que abordam tópicos relacionados.
## Primeiros Passos
### 🎯 Novo na IA? Comece Aqui!
Se é completamente novo na IA e quer exemplos práticos e rápidos, consulte os nossos [**Exemplos para Iniciantes**](./examples/README.md)! Estes incluem:
Se é completamente novo em IA e quer exemplos práticos rápidos, consulte os nossos [**Exemplos para Iniciantes**](./examples/README.md)! Estes incluem:
- 🌟 **Olá Mundo IA** - O seu primeiro programa de IA (reconhecimento de padrões)
- 🧠 **Rede Neural Simples** - Construa uma rede neural a partir do zero
- 🖼️ **Classificador de Imagens** - Classifique imagens com comentários detalhados
- 💬 **Análise de Sentimento de Texto** - Analisar texto positivo/negativo
- 🖼️ **Classificador de Imagens** - Classificar imagens com comentários detalhados
- 💬 **Sentimento de Texto** - Analisar sentimento positivo/negativo do texto
Estes exemplos foram concebidos para o ajudar a compreender conceitos de IA antes de avançar para o currículo completo.
Estes exemplos foram concebidos para o ajudar a compreender conceitos de IA antes de mergulhar no currículo completo.
### 📚 Configuração do Currículo Completo
- Criámos uma [lição de configuração](./lessons/0-course-setup/setup.md) para o ajudar a configurar o seu ambiente de desenvolvimento. - Para Educadores, também criámos uma [lição de configuração do currículo](./lessons/0-course-setup/for-teachers.md) para si!
- Como [Executar o código no VSCode ou no Codepace](./lessons/0-course-setup/how-to-run.md)
- Criámos uma [aula de configuração](./lessons/0-course-setup/setup.md) para o ajudar a configurar o seu ambiente de desenvolvimento. - Para Educadores, também criámos uma [aula de configuração de currículo](./lessons/0-course-setup/for-teachers.md) para si!
- Como [Executar o código no VSCode ou num Codepace](./lessons/0-course-setup/how-to-run.md)
Siga estes passos:
@ -139,31 +139,31 @@ Clone the Repository: `git clone https://github.com/microsoft/AI-For-Beginners.g
Don't forget to star (🌟) this repo to find it easier later.
## Conheça outros aprendizes
## Conheça outros Aprendizes
Junte-se ao nosso [servidor oficial de Discord de IA](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum) para conhecer e estabelecer contactos com outros aprendizes que estão a fazer este curso e obter apoio.
Junte-se ao nosso [servidor oficial Discord de IA](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum) para conhecer e estabelecer contactos com outros alunos que estão a fazer este curso e obter apoio.
Se tiver feedback sobre o produto ou perguntas enquanto constrói, visite o nosso [Azure AI Foundry Developer Forum](https://aka.ms/foundry/forum)
Se tiver feedback sobre o produto ou perguntas enquanto estiver a desenvolver visite o nosso [Fórum de Desenvolvedores Azure AI Foundry](https://aka.ms/foundry/forum)
## Questionários
> **Uma nota sobre os questionários**: Todos os questionários estão contidos na pasta Quiz-app em etc\quiz-app, ou [Online aqui](https://ff-quizzes.netlify.app/) Eles estão ligados a partir das lições; a app de questionários pode ser executada localmente ou implantada no Azure; siga as instruções na pasta `quiz-app`. Estão a ser gradualmente localizados.
> **Uma nota sobre os questionários**: Todos os questionários encontram-se na pasta Quiz-app em etc\quiz-app, ou [Online Aqui](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.
## Procura-se Ajuda
## Ajuda Necessária
Tem sugestões ou encontrou erros ortográficos ou de código? Abra um issue ou crie um pull request.
Tem sugestões ou encontrou erros ortográficos ou de código? Abra uma issue ou crie um pull request.
## Agradecimentos Especiais
* **✍️ Autor Principal:** [Dmitry Soshnikov](http://soshnikov.com), PhD
* **🔥 Editor:** [Jen Looper](https://twitter.com/jenlooper), PhD
* **🎨 Ilustradora de Sketchnotes:** [Tomomi Imura](https://twitter.com/girlie_mac)
* **✅ Criadora de Questionários:** [Lateefah Bello](https://github.com/CinnamonXI), [MLSA](https://studentambassadors.microsoft.com/)
* **🎨 Ilustrador Sketchnote:** [Tomomi Imura](https://twitter.com/girlie_mac)
* **✅ Criador do Questionário:** [Lateefah Bello](https://github.com/CinnamonXI), [MLSA](https://studentambassadors.microsoft.com/)
* **🙏 Contribuidores Principais:** [Evgenii Pishchik](https://github.com/Pe4enIks)
## Outros Currículos
A nossa equipa produz outros currículos! Veja:
A nossa equipa produz outros currículos! Confira:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -188,7 +188,7 @@ A nossa equipa produz outros currículos! Veja:
---
### Aprendizagem Fundamental
### Aprendizagem Básica
[![ML para Iniciantes](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Ciência de Dados para Iniciantes](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![IA para Iniciantes](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@ -200,24 +200,24 @@ A nossa equipa produz outros currículos! Veja:
---
### Série Copilot
[![Copilot para Programação Pareada com IA](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot para Programação Emparelhada com IA](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot para C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Aventura Copilot](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Obter Ajuda
Se ficar bloqueado ou tiver alguma questão sobre a construção de aplicações de IA, junte-se a outros aprendizes e desenvolvedores experientes nas discussões sobre o MCP. É uma comunidade solidária onde as perguntas são bem-vindas e o conhecimento é partilhado livremente.
Se ficar bloqueado ou tiver alguma dúvida sobre a criação de aplicações de IA. Junte-se a outros alunos e a desenvolvedores experientes nas discussões sobre MCP. É uma comunidade de apoio onde as perguntas são bem-vindas e o conhecimento é partilhado livremente.
[![Discord da Microsoft Foundry](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Se tiver feedback sobre o produto ou erros enquanto constrói, visite:
Se tiver feedback sobre o produto ou erros enquanto estiver a desenvolver, visite:
[![Fórum de Desenvolvimento Microsoft Foundry](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
[![Fórum de Desenvolvedores Microsoft Foundry](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
Isenção de responsabilidade:
Este documento foi traduzido utilizando o serviço de tradução automática Coop Translator (https://github.com/Azure/co-op-translator). Embora nos esforcemos por ser precisos, tenha em atenção que traduções automatizadas podem conter erros ou imprecisões. O documento original, no seu idioma original, deve ser considerado a fonte autoritativa. Para informação crítica, recomenda-se a tradução por um profissional humano. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações erróneas decorrentes do uso desta tradução.
Aviso legal:
Este documento foi traduzido utilizando o serviço de tradução por IA Co-op Translator (https://github.com/Azure/co-op-translator). Embora nos esforcemos por garantir a precisão, tenha em atenção que traduções automatizadas podem conter erros ou imprecisões. O documento original, na sua língua nativa, deve ser considerado a fonte autorizada. Para informação crítica, recomenda-se uma tradução profissional por um tradutor humano. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes da utilização desta tradução.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

View File

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Introdução à IA
![Resumo do conteúdo de Introdução à IA em um desenho](../../../../translated_images/ai-intro.bf28d1ac4235881c096f0ffdb320ba4102940eafcca4e9d7a55a03914361f8f3.pt.png)
![Resumo do conteúdo de Introdução à IA em um desenho](../../../../translated_images/ai-intro.bf28d1ac4235881c.pt.png)
> Sketchnote por [Tomomi Imura](https://twitter.com/girlie_mac)
@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA:
Originalmente, os computadores foram inventados por [Charles Babbage](https://en.wikipedia.org/wiki/Charles_Babbage) para operar com números seguindo um procedimento bem definido - um algoritmo. Os computadores modernos, embora significativamente mais avançados do que o modelo original proposto no século XIX, ainda seguem a mesma ideia de cálculos controlados. Assim, é possível programar um computador para fazer algo se soubermos a sequência exata de passos necessários para alcançar o objetivo.
![Foto de uma pessoa](../../../../translated_images/dsh_age.d212a30d4e54fb5f68b94a624aad64bc086124bcbbec9561ae5bd5da661e22d8.pt.png)
![Foto de uma pessoa](../../../../translated_images/dsh_age.d212a30d4e54fb5f.pt.png)
> Foto por [Vickie Soshnikova](http://twitter.com/vickievalerie)
@ -46,7 +46,7 @@ Para mais informações, consulte **[Inteligência Artificial Geral](https://en.
Um dos problemas ao lidar com o termo **[Inteligência](https://en.wikipedia.org/wiki/Intelligence)** é que não há uma definição clara para este termo. Pode-se argumentar que inteligência está conectada ao **pensamento abstrato** ou à **autoconsciência**, mas não conseguimos defini-la adequadamente.
![Foto de um gato](../../../../translated_images/photo-cat.8c8e8fb760ffe45725c5b9f6b0d954e9bf114475c01c55adf0303982851b7eae.pt.jpg)
![Foto de um gato](../../../../translated_images/photo-cat.8c8e8fb760ffe457.pt.jpg)
> [Foto](https://unsplash.com/photos/75715CVEJhI) por [Amber Kipp](https://unsplash.com/@sadmax) do Unsplash
@ -98,13 +98,13 @@ Alternativamente, podemos tentar modelar os elementos mais simples dentro do nos
> | E o ML? | |
> |--------------|-----------|
> | Parte da Inteligência Artificial que se baseia no computador aprendendo a resolver um problema com base em alguns dados é chamada de **Machine Learning**. Não consideraremos o aprendizado de máquina clássico neste curso - recomendamos o currículo separado [Machine Learning para Iniciantes](http://aka.ms/ml-beginners). | ![ML para Iniciantes](../../../../translated_images/ml-for-beginners.9e4fed176fd5817d7d1f7d358302515186579cbf09b2a6c5bd8092b345da7f22.pt.png) |
> | Parte da Inteligência Artificial que se baseia no computador aprendendo a resolver um problema com base em alguns dados é chamada de **Machine Learning**. Não consideraremos o aprendizado de máquina clássico neste curso - recomendamos o currículo separado [Machine Learning para Iniciantes](http://aka.ms/ml-beginners). | ![ML para Iniciantes](../../../../translated_images/ml-for-beginners.9e4fed176fd5817d.pt.png) |
## Um Breve Histórico da IA
A Inteligência Artificial começou como um campo no meio do século XX. Inicialmente, o raciocínio simbólico era a abordagem predominante, e isso levou a uma série de sucessos importantes, como sistemas especialistas programas de computador que eram capazes de agir como especialistas em alguns domínios de problemas limitados. No entanto, logo ficou claro que essa abordagem não escala bem. Extrair o conhecimento de um especialista, representá-lo em um computador e manter essa base de conhecimento precisa acaba sendo uma tarefa muito complexa e cara demais para ser prática em muitos casos. Isso levou ao chamado [Inverno da IA](https://en.wikipedia.org/wiki/AI_winter) na década de 1970.
<img alt="Breve Histórico da IA" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a0264357672b0884cf3a220fbafe35c65d70b2c3805f7bf5e.pt.png" width="70%"/>
<img alt="Breve Histórico da IA" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a.pt.png" width="70%"/>
> Imagem por [Dmitry Soshnikov](http://soshnikov.com)
@ -124,7 +124,7 @@ Da mesma forma, podemos ver como a abordagem para criar “programas falantes”
* Assistentes modernos, como Cortana, Siri ou Google Assistant, são todos sistemas híbridos que usam redes neurais para converter fala em texto e reconhecer nossa intenção, e depois empregam algum raciocínio ou algoritmos explícitos para realizar as ações necessárias.
* No futuro, podemos esperar um modelo completamente baseado em redes neurais para lidar com diálogos por conta própria. As recentes redes neurais da família GPT e [Turing-NLG](https://www.microsoft.com/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft) mostram grande sucesso nisso.
<img alt="a evolução do Teste de Turing" src="../../../../translated_images/turing-test-evol.4184696701293ead6de6e6441a659c62f0b119b342456987f531005f43be0b6d.pt.png" width="70%"/>
<img alt="a evolução do Teste de Turing" src="../../../../translated_images/turing-test-evol.4184696701293ead.pt.png" width="70%"/>
> Imagem de Dmitry Soshnikov, [foto](https://unsplash.com/photos/r8LmVbUKgns) de [Marina Abrosimova](https://unsplash.com/@abrosimova_marina_foto), Unsplash
## Investigação Recente em IA

View File

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Representação de Conhecimento e Sistemas Especialistas
![Resumo do conteúdo de IA Simbólica](../../../../translated_images/ai-symbolic.715a30cb610411a6964d2e2f23f24364cb338a07cb4844c1f97084d366e586c3.pt.png)
![Resumo do conteúdo de IA Simbólica](../../../../translated_images/ai-symbolic.715a30cb610411a6.pt.png)
> Sketchnote por [Tomomi Imura](https://twitter.com/girlie_mac)
@ -41,7 +41,7 @@ Na maioria das vezes, não definimos estritamente o conhecimento, mas alinhamos
Assim, o problema da **representação de conhecimento** é encontrar uma forma eficaz de representar o conhecimento dentro de um computador na forma de dados, para torná-lo automaticamente utilizável. Isso pode ser visto como um espectro:
![Espectro de representação de conhecimento](../../../../translated_images/knowledge-spectrum.b60df631852c0217e941485b79c9eee40ebd574f15f18609cec5758fcb384bf3.pt.png)
![Espectro de representação de conhecimento](../../../../translated_images/knowledge-spectrum.b60df631852c0217.pt.png)
> Imagem por [Dmitry Soshnikov](http://soshnikov.com)
@ -94,7 +94,7 @@ Sintaxe de Bloco | Indentação | |
Um dos primeiros sucessos da IA simbólica foram os chamados **sistemas especialistas** - sistemas computacionais projetados para atuar como especialistas em um domínio de problema limitado. Eles baseavam-se em uma **base de conhecimento** extraída de um ou mais especialistas humanos e continham um **motor de inferência** que realizava algum raciocínio sobre ela.
![Arquitetura Humana](../../../../translated_images/arch-human.5d4d35f1bba3ab1cdfda96af2f10b89574eb31e9796d0e3011cd9beda1c35112.pt.png) | ![Sistema Baseado em Conhecimento](../../../../translated_images/arch-kbs.3ec5c150b09fa8dadc2beb0931a4983c9e2b03913a89eebcc103b5bb841b0212.pt.png)
![Arquitetura Humana](../../../../translated_images/arch-human.5d4d35f1bba3ab1c.pt.png) | ![Sistema Baseado em Conhecimento](../../../../translated_images/arch-kbs.3ec5c150b09fa8da.pt.png)
---------------------------------------------|------------------------------------------------
Estrutura simplificada do sistema neural humano | Arquitetura de um sistema baseado em conhecimento
@ -106,7 +106,7 @@ Os sistemas especialistas são construídos como o sistema de raciocínio humano
Como exemplo, vamos considerar o seguinte sistema especialista para determinar um animal com base nas suas características físicas:
![Árvore AND-OR](../../../../translated_images/AND-OR-Tree.5592d2c70187f283703c8e9c0d69d6a786eb370f4ace67f9a7aae5ada3d260b0.pt.png)
![Árvore AND-OR](../../../../translated_images/AND-OR-Tree.5592d2c70187f283.pt.png)
> Imagem por [Dmitry Soshnikov](http://soshnikov.com)

View File

@ -58,7 +58,7 @@ Overfitting é um conceito extremamente importante em aprendizagem automática,
Considere o seguinte problema de aproximar 5 pontos (representados por `x` nos gráficos abaixo):
![linear](../../../../../translated_images/overfit1.f24b71c6f652e59e6bed7245ffbeaecc3ba320e16e2221f6832b432052c4da43.pt.jpg) | ![overfit](../../../../../translated_images/overfit2.131f5800ae10ca5e41d12a411f5f705d9ee38b1b10916f284b787028dd55cc1c.pt.jpg)
![linear](../../../../../translated_images/overfit1.f24b71c6f652e59e.pt.jpg) | ![overfit](../../../../../translated_images/overfit2.131f5800ae10ca5e.pt.jpg)
-------------------------|--------------------------
**Modelo linear, 2 parâmetros** | **Modelo não-linear, 7 parâmetros**
Erro de treino = 5.3 | Erro de treino = 0
@ -79,7 +79,7 @@ Erro de validação = 5.1 | Erro de validação = 20
Como pode ver no gráfico acima, o overfitting pode ser detetado por um erro de treino muito baixo e um erro de validação elevado. Normalmente, durante o treino, vemos tanto os erros de treino quanto de validação começarem a diminuir, e então, em algum momento, o erro de validação pode parar de diminuir e começar a aumentar. Este será um sinal de overfitting e um indicador de que provavelmente devemos parar o treino nesse ponto (ou pelo menos fazer um snapshot do modelo).
![overfitting](../../../../../translated_images/Overfitting.408ad91cd90b4371d0a81f4287e1409c359751adeb1ae450332af50e84f08c3e.pt.png)
![overfitting](../../../../../translated_images/Overfitting.408ad91cd90b4371.pt.png)
## Como prevenir o overfitting

View File

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Introdução às Redes Neuronais
![Resumo do conteúdo de Introdução às Redes Neuronais em um desenho](../../../../translated_images/ai-neuralnetworks.1c687ae40bc86e834f497844866a26d3e0886650a67a4bbe29442e2f157d3b18.pt.png)
![Resumo do conteúdo de Introdução às Redes Neuronais em um desenho](../../../../translated_images/ai-neuralnetworks.1c687ae40bc86e83.pt.png)
Como discutimos na introdução, uma das formas de alcançar inteligência é treinar um **modelo computacional** ou um **cérebro artificial**. Desde meados do século XX, os investigadores experimentaram diferentes modelos matemáticos, até que, nos últimos anos, esta abordagem provou ser extremamente bem-sucedida. Esses modelos matemáticos do cérebro são chamados de **redes neuronais**.
@ -36,13 +36,13 @@ Neste currículo, focar-nos-emos apenas em modelos de redes neuronais.
Na biologia, sabemos que o nosso cérebro é composto por células neuronais (neurónios), cada uma delas com múltiplas "entradas" (dendritos) e uma única "saída" (axónio). Tanto os dendritos como os axónios podem conduzir sinais elétricos, e as conexões entre eles — conhecidas como sinapses — podem apresentar diferentes graus de condutividade, que são regulados por neurotransmissores.
![Modelo de um Neurónio](../../../../translated_images/synapse-wikipedia.ed20a9e4726ea1c6a3ce8fec51c0b9bec6181946dca0fe4e829bc12fa3bacf01.pt.jpg) | ![Modelo de um Neurónio](../../../../translated_images/artneuron.1a5daa88d20ebe6f5824ddb89fba0bdaaf49f67e8230c1afbec42909df1fc17e.pt.png)
![Modelo de um Neurónio](../../../../translated_images/synapse-wikipedia.ed20a9e4726ea1c6.pt.jpg) | ![Modelo de um Neurónio](../../../../translated_images/artneuron.1a5daa88d20ebe6f.pt.png)
----|----
Neurónio Real *([Imagem](https://en.wikipedia.org/wiki/Synapse#/media/File:SynapseSchematic_lines.svg) da Wikipédia)* | Neurónio Artificial *(Imagem do Autor)*
Assim, o modelo matemático mais simples de um neurónio contém várias entradas X<sub>1</sub>, ..., X<sub>N</sub> e uma saída Y, e uma série de pesos W<sub>1</sub>, ..., W<sub>N</sub>. A saída é calculada como:
<img src="../../../../translated_images/netout.1eb15eb76fd767313e067719f400cec4b0e5090239c3e997c29f6789d4c3c263.pt.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.pt.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
onde **f** é uma **função de ativação** não linear.

View File

@ -73,14 +73,14 @@ No nosso [OpenCV Notebook](OpenCV.ipynb), damos alguns exemplos de quando a vis
* **Pré-processamento de uma fotografia de um livro em Braille**. Focamos em como podemos usar thresholding, deteção de características, transformação de perspetiva e manipulações NumPy para separar símbolos individuais em Braille para posterior classificação por uma rede neuronal.
![Imagem Braille](../../../../../translated_images/braille.341962ff76b1bd7044409371d3de09ced5028132aef97344ea4b7468c1208126.pt.jpeg) | ![Imagem Braille Pré-processada](../../../../../translated_images/braille-result.46530fea020b03c76aac532d7d6eeef7f6fb35b55b1001cd21627907dabef3ed.pt.png) | ![Símbolos Braille](../../../../../translated_images/braille-symbols.0159185ab69d533909dc4d7d26a1971b51401c6a80eb3a5584f250ea880af88b.pt.png)
![Imagem Braille](../../../../../translated_images/braille.341962ff76b1bd70.pt.jpeg) | ![Imagem Braille Pré-processada](../../../../../translated_images/braille-result.46530fea020b03c7.pt.png) | ![Símbolos Braille](../../../../../translated_images/braille-symbols.0159185ab69d5339.pt.png)
----|-----|-----
> Imagem de [OpenCV.ipynb](OpenCV.ipynb)
* **Deteção de movimento em vídeo usando diferença de frames**. Se a câmara estiver fixa, os frames do feed da câmara devem ser bastante semelhantes entre si. Como os frames são representados como arrays, apenas subtraindo esses arrays de dois frames subsequentes obteremos a diferença de pixels, que deve ser baixa para frames estáticos e tornar-se maior quando houver movimento substancial na imagem.
![Imagem de frames de vídeo e diferenças de frames](../../../../../translated_images/frame-difference.706f805491a0883c938e16447bf5eb2f7d69e812c7f743cbe7d7c7645168f81f.pt.png)
![Imagem de frames de vídeo e diferenças de frames](../../../../../translated_images/frame-difference.706f805491a0883c.pt.png)
> Imagem de [OpenCV.ipynb](OpenCV.ipynb)
@ -89,7 +89,7 @@ No nosso [OpenCV Notebook](OpenCV.ipynb), damos alguns exemplos de quando a vis
- **Fluxo Ótico Denso** calcula o campo vetorial que mostra para cada pixel onde ele está a mover-se.
- **Fluxo Ótico Esparso** baseia-se em tomar algumas características distintivas na imagem (por exemplo, bordas) e construir a sua trajetória de frame para frame.
![Imagem de Fluxo Ótico](../../../../../translated_images/optical.1f4a94464579a83a10784f3c07fe7228514714b96782edf50e70ccd59d2d8c4f.pt.png)
![Imagem de Fluxo Ótico](../../../../../translated_images/optical.1f4a94464579a83a.pt.png)
> Imagem de [OpenCV.ipynb](OpenCV.ipynb)

View File

@ -13,11 +13,11 @@ CO_OP_TRANSLATOR_METADATA:
VGG-16 é uma rede que alcançou 92,7% de precisão na classificação top-5 do ImageNet em 2014. Tem a seguinte estrutura de camadas:
![Camadas do ImageNet](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51baeaab3e768567d921e5d54befa46e1e642616c5458c934028.pt.jpg)
![Camadas do ImageNet](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51ba.pt.jpg)
Como pode ver, a VGG segue uma arquitetura tradicional em pirâmide, que consiste numa sequência de camadas de convolução e pooling.
![Pirâmide do ImageNet](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49fdaa786e3f3a975b3f22615efd13efb19c5d22f12e01451a1.pt.jpg)
![Pirâmide do ImageNet](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49f.pt.jpg)
> Imagem de [Researchgate](https://www.researchgate.net/figure/Vgg16-model-structure-To-get-the-VGG-NIN-model-we-replace-the-2-nd-4-th-6-th-7-th_fig2_335194493)

View File

@ -17,7 +17,7 @@ Na vida real, queremos ser capazes de reconhecer objetos numa imagem independent
Para extrair padrões, utilizaremos o conceito de **filtros convolucionais**. Como sabe, uma imagem é representada por uma matriz 2D ou um tensor 3D com profundidade de cor. Aplicar um filtro significa que utilizamos uma matriz relativamente pequena chamada **kernel do filtro**, e para cada pixel na imagem original calculamos a média ponderada com os pontos vizinhos. Podemos imaginar isto como uma pequena janela que desliza sobre toda a imagem, e que calcula a média de todos os pixels de acordo com os pesos na matriz kernel do filtro.
![Filtro de Borda Vertical](../../../../../translated_images/filter-vert.b7148390ca0bc356ddc7e55555d2481819c1e86ddde9dce4db5e71a69d6f887f.pt.png) | ![Filtro de Borda Horizontal](../../../../../translated_images/filter-horiz.59b80ed4feb946efbe201a7fe3ca95abb3364e266e6fd90820cb893b4d3a6dda.pt.png)
![Filtro de Borda Vertical](../../../../../translated_images/filter-vert.b7148390ca0bc356.pt.png) | ![Filtro de Borda Horizontal](../../../../../translated_images/filter-horiz.59b80ed4feb946ef.pt.png)
----|----
> Imagem por Dmitry Soshnikov
@ -38,7 +38,7 @@ O funcionamento das CNN baseia-se nas seguintes ideias importantes:
* Podemos projetar a rede de forma a que os filtros sejam treinados automaticamente
* Podemos usar a mesma abordagem para encontrar padrões em características de alto nível, não apenas na imagem original. Assim, a extração de características pelas CNN funciona numa hierarquia de características, começando por combinações de pixels de baixo nível até combinações de partes da imagem de nível mais alto.
![Extração Hierárquica de Características](../../../../../translated_images/FeatureExtractionCNN.d9b456cbdae7cb643fde3032b81b2940e3cf8be842e29afac3f482725ba7f95c.pt.png)
![Extração Hierárquica de Características](../../../../../translated_images/FeatureExtractionCNN.d9b456cbdae7cb64.pt.png)
> Imagem de [um artigo de Hislop-Lynch](https://www.semanticscholar.org/paper/Computer-vision-based-pedestrian-trajectory-Hislop-Lynch/26e6f74853fc9bbb7487b06dc2cf095d36c9021d), baseado na [sua pesquisa](https://dl.acm.org/doi/abs/10.1145/1553374.1553453)
@ -55,9 +55,9 @@ A maioria das CNN utilizadas para processamento de imagens segue uma arquitetura
Como exemplo, vejamos a arquitetura da VGG-16, uma rede que alcançou 92,7% de precisão na classificação top-5 do ImageNet em 2014:
![Camadas do ImageNet](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51baeaab3e768567d921e5d54befa46e1e642616c5458c934028.pt.jpg)
![Camadas do ImageNet](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51ba.pt.jpg)
![Pirâmide do ImageNet](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49fdaa786e3f3a975b3f22615efd13efb19c5d22f12e01451a1.pt.jpg)
![Pirâmide do ImageNet](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49f.pt.jpg)
> Imagem de [Researchgate](https://www.researchgate.net/figure/Vgg16-model-structure-To-get-the-VGG-NIN-model-we-replace-the-2-nd-4-th-6-th-7-th_fig2_335194493)

View File

@ -21,7 +21,7 @@ Precisa treinar uma rede neuronal convolucional para classificar diferentes raç
Vamos utilizar o [Oxford-IIIT Pet Dataset](https://www.robots.ox.ac.uk/~vgg/data/pets/), que contém imagens de 37 raças diferentes de cães e gatos.
![Dataset com que iremos trabalhar](../../../../../../translated_images/data.50b2a9d5484bdbf0f52f5765b381cec9efe2bd296a98f007f90bedb6ac67f2a8.pt.png)
![Dataset com que iremos trabalhar](../../../../../../translated_images/data.50b2a9d5484bdbf0.pt.png)
Para descarregar o dataset, utilize este trecho de código:

View File

@ -29,7 +29,7 @@ Tanto o Keras como o PyTorch possuem funções para carregar facilmente pesos de
Aqui estão características extraídas de uma imagem de um gato pela rede VGG-16:
![Características extraídas pela VGG-16](../../../../../translated_images/features.6291f9c7ba3a0b951af88fc9864632b9115365410765680680d30c927dd67354.pt.png)
![Características extraídas pela VGG-16](../../../../../translated_images/features.6291f9c7ba3a0b95.pt.png)
## Conjunto de Dados de Gatos vs. Cães
@ -48,19 +48,19 @@ Uma rede neural pré-treinada contém diferentes padrões no seu *cérebro*, inc
Uma abordagem que podemos adotar é começar com uma imagem aleatória e tentar usar a técnica de **otimização por descida de gradiente** para ajustar essa imagem de forma que a rede comece a pensar que é um gato.
![Ciclo de Otimização de Imagem](../../../../../translated_images/ideal-cat-loop.999fbb8ff306e044f997032f4eef9152b453e6a990e449bbfb107de2493cc37e.pt.png)
![Ciclo de Otimização de Imagem](../../../../../translated_images/ideal-cat-loop.999fbb8ff306e044.pt.png)
No entanto, se fizermos isso, obteremos algo muito semelhante a um ruído aleatório. Isso acontece porque *existem muitas maneiras de fazer a rede pensar que a imagem de entrada é um gato*, incluindo algumas que não fazem sentido visualmente. Embora essas imagens contenham muitos padrões típicos de um gato, não há nada que as obrigue a serem visualmente distintas.
Para melhorar o resultado, podemos adicionar outro termo à função de perda, chamado **perda de variação**. É uma métrica que mostra quão semelhantes são os pixels vizinhos da imagem. Minimizar a perda de variação torna a imagem mais suave e elimina o ruído, revelando padrões mais visualmente apelativos. Aqui está um exemplo de imagens "ideais", classificadas como gato e zebra com alta probabilidade:
![Gato Ideal](../../../../../translated_images/ideal-cat.203dd4597643d6b0bd73038b87f9c0464322725e3a06ab145d25d4a861c70592.pt.png) | ![Zebra Ideal](../../../../../translated_images/ideal-zebra.7f70e8b54ee15a7a314000bb5df38a6cfe086ea04d60df4d3ef313d046b98a2b.pt.png)
![Gato Ideal](../../../../../translated_images/ideal-cat.203dd4597643d6b0.pt.png) | ![Zebra Ideal](../../../../../translated_images/ideal-zebra.7f70e8b54ee15a7a.pt.png)
-----|-----
*Gato Ideal* | *Zebra Ideal*
Uma abordagem semelhante pode ser usada para realizar os chamados **ataques adversariais** numa rede neural. Suponha que queremos enganar uma rede neural e fazer com que um cão pareça um gato. Se pegarmos na imagem de um cão, que é reconhecida pela rede como um cão, podemos ajustá-la ligeiramente usando otimização por descida de gradiente até que a rede comece a classificá-la como um gato:
![Imagem de um Cão](../../../../../translated_images/original-dog.8f68a67d2fe0911f33041c0f7fce8aa4ea919f9d3917ec4b468298522aeb6356.pt.png) | ![Imagem de um cão classificada como gato](../../../../../translated_images/adversarial-dog.d9fc7773b0142b89752539bfbf884118de845b3851c5162146ea0b8809fc820f.pt.png)
![Imagem de um Cão](../../../../../translated_images/original-dog.8f68a67d2fe0911f.pt.png) | ![Imagem de um cão classificada como gato](../../../../../translated_images/adversarial-dog.d9fc7773b0142b89.pt.png)
-----|-----
*Imagem original de um cão* | *Imagem de um cão classificada como gato*

View File

@ -19,7 +19,7 @@ No entanto, podemos querer usar dados brutos (não etiquetados) para treinar ext
Como estamos a treinar um autoencoder para capturar o máximo de informação possível da imagem original para uma reconstrução precisa, a rede tenta encontrar a melhor **representação** das imagens de entrada para captar o seu significado.
![Diagrama de Autoencoder](../../../../../translated_images/autoencoder_schema.5e6fc9ad98a5eb6197f3513cf3baf4dfbe1389a6ae74daebda64de9f1c99f142.pt.jpg)
![Diagrama de Autoencoder](../../../../../translated_images/autoencoder_schema.5e6fc9ad98a5eb61.pt.jpg)
> Imagem retirada do [blog da Keras](https://blog.keras.io/building-autoencoders-in-keras.html)

View File

@ -13,7 +13,7 @@ Os modelos de classificação de imagens que abordámos até agora recebiam uma
## [Questionário pré-aula](https://ff-quizzes.netlify.app/en/ai/quiz/21)
![Detecção de Objetos](../../../../../translated_images/Screen_Shot_2016-11-17_at_11.14.54_AM.b4bb3769353287be1b905373ed9c858102c054b16e4595c76ec3f7bba0feb549.pt.png)
![Detecção de Objetos](../../../../../translated_images/Screen_Shot_2016-11-17_at_11.14.54_AM.b4bb3769353287be.pt.png)
> Imagem do [site YOLO v2](https://pjreddie.com/darknet/yolov2/)
@ -25,7 +25,7 @@ Supondo que queremos encontrar um gato numa imagem, uma abordagem muito ingénua
2. Executar a classificação de imagem em cada bloco.
3. Os blocos que resultarem numa ativação suficientemente alta podem ser considerados como contendo o objeto em questão.
![Detecção Ingénua de Objetos](../../../../../translated_images/naive-detection.e7f1ba220ccd08c68a2ea8e06a7ed75c3fcc738c2372f9e00b7f4299a8659c01.pt.png)
![Detecção Ingénua de Objetos](../../../../../translated_images/naive-detection.e7f1ba220ccd08c6.pt.png)
> *Imagem do [Caderno de Exercícios](ObjectDetection-TF.ipynb)*
@ -42,7 +42,7 @@ Poderá encontrar os seguintes conjuntos de dados para esta tarefa:
* [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/) - 20 classes
* [COCO](http://cocodataset.org/#home) - Objetos Comuns em Contexto. 80 classes, caixas delimitadoras e máscaras de segmentação
![COCO](../../../../../translated_images/coco-examples.71bc60380fa6cceb7caad48bd09e35b6028caabd363aa04fee89c414e0870e86.pt.jpg)
![COCO](../../../../../translated_images/coco-examples.71bc60380fa6cceb.pt.jpg)
## Métricas de Detecção de Objetos
@ -50,7 +50,7 @@ Poderá encontrar os seguintes conjuntos de dados para esta tarefa:
Enquanto na classificação de imagens é fácil medir o desempenho do algoritmo, na detecção de objetos precisamos de medir tanto a correção da classe como a precisão da localização da caixa delimitadora inferida. Para esta última, utilizamos a chamada **Interseção sobre União** (IoU), que mede o quão bem duas caixas (ou duas áreas arbitrárias) se sobrepõem.
![IoU](../../../../../translated_images/iou_equation.9a4751d40fff4e119ecd0a7bcca4e71ab1dc83e0d4f2a0d66ff0859736f593cf.pt.png)
![IoU](../../../../../translated_images/iou_equation.9a4751d40fff4e11.pt.png)
> *Figura 2 de [este excelente artigo sobre IoU](https://pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/)*
@ -98,11 +98,11 @@ Existem duas grandes classes de algoritmos de detecção de objetos:
[R-CNN](http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf) utiliza [Selective Search](http://www.huppelen.nl/publications/selectiveSearchDraft.pdf) para gerar uma estrutura hierárquica de regiões ROI, que são então passadas por extratores de características CNN e classificadores SVM para determinar a classe do objeto, e regressão linear para determinar as coordenadas da *caixa delimitadora*. [Artigo Oficial](https://arxiv.org/pdf/1506.01497v1.pdf)
![RCNN](../../../../../translated_images/rcnn1.cae407020dfb1d1fb572656e44f75cd6c512cc220591c116c506652c10e47f26.pt.png)
![RCNN](../../../../../translated_images/rcnn1.cae407020dfb1d1f.pt.png)
> *Imagem de van de Sande et al. ICCV11*
![RCNN-1](../../../../../translated_images/rcnn2.2d9530bb83516484ec65b250c22dbf37d3d23244f32864ebcb91d98fe7c3112c.pt.png)
![RCNN-1](../../../../../translated_images/rcnn2.2d9530bb83516484.pt.png)
> *Imagens de [este artigo](https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e)*
@ -110,7 +110,7 @@ Existem duas grandes classes de algoritmos de detecção de objetos:
Esta abordagem é semelhante à R-CNN, mas as regiões são definidas após as camadas de convolução terem sido aplicadas.
![FRCNN](../../../../../translated_images/f-rcnn.3cda6d9bb41888754037d2d9763e2298a96de5d9bc2a21db3147357aa5da9b1a.pt.png)
![FRCNN](../../../../../translated_images/f-rcnn.3cda6d9bb4188875.pt.png)
> Imagem do [Artigo Oficial](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 @@ Esta abordagem é semelhante à R-CNN, mas as regiões são definidas após as c
A ideia principal desta abordagem é usar uma rede neural para prever ROIs - a chamada *Rede de Proposta de Região*. [Artigo](https://arxiv.org/pdf/1506.01497.pdf), 2016
![FasterRCNN](../../../../../translated_images/faster-rcnn.8d46c099b87ef30ab2ea26dbc4bdd85b974a57ba8eb526f65dc4cd0a4711de30.pt.png)
![FasterRCNN](../../../../../translated_images/faster-rcnn.8d46c099b87ef30a.pt.png)
> Imagem do [artigo oficial](https://arxiv.org/pdf/1506.01497.pdf)
@ -130,7 +130,7 @@ Este algoritmo é ainda mais rápido que o Faster R-CNN. A ideia principal é a
1. As características são processadas por **Position-Sensitive Score Map**. Cada objeto das classes $C$ é dividido em regiões $k\times k$, e treinamos para prever partes dos objetos.
1. Para cada parte das regiões $k\times k$, todas as redes votam pelas classes de objetos, e a classe de objeto com o voto máximo é selecionada.
![r-fcn image](../../../../../translated_images/r-fcn.13eb88158b99a3da50fa2787a6be5cb310d47f0e9655cc93a1090dc7aab338d1.pt.png)
![r-fcn image](../../../../../translated_images/r-fcn.13eb88158b99a3da.pt.png)
> Imagem do [artigo oficial](https://arxiv.org/abs/1605.06409)
@ -141,7 +141,7 @@ YOLO é um algoritmo de uma única passagem em tempo real. A ideia principal é
* A imagem é dividida em regiões $S\times S$.
* Para cada região, **CNN** prevê $n$ objetos possíveis, coordenadas da *caixa delimitadora* e *confiança*=*probabilidade* * IoU.
![YOLO](../../../../../translated_images/yolo.a2648ec82ee8bb4ea27537677adb482fd4b733ca1705c561b6a24a85102dced5.pt.png)
![YOLO](../../../../../translated_images/yolo.a2648ec82ee8bb4e.pt.png)
> Imagem do [artigo oficial](https://arxiv.org/abs/1506.02640)

View File

@ -19,7 +19,7 @@ Assim, a camada de embedding receberia uma palavra como entrada e produziria um
Ao usar uma camada de embedding como a primeira camada na nossa rede de classificação, podemos mudar de um modelo de bag-of-words para um modelo de **embedding bag**, onde primeiro convertemos cada palavra no nosso texto no embedding correspondente e, em seguida, calculamos alguma função agregada sobre todos esses embeddings, como `sum`, `average` ou `max`.
![Imagem mostrando um classificador de embedding para cinco palavras de sequência.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eeec8e68bfe11636c5b97d6eaa067515a129bfb1d0034b1ac5b.pt.png)
![Imagem mostrando um classificador de embedding para cinco palavras de sequência.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eee.pt.png)
> Imagem do autor
@ -40,7 +40,7 @@ Para isso, precisamos de pré-treinar o nosso modelo de embedding numa grande co
CBoW é mais rápido, enquanto skip-gram é mais lento, mas faz um trabalho melhor ao representar palavras menos frequentes.
![Imagem mostrando os algoritmos CBoW e Skip-Gram para converter palavras em vetores.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.pt.png)
![Imagem mostrando os algoritmos CBoW e Skip-Gram para converter palavras em vetores.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.pt.png)
> Imagem retirada [deste artigo](https://arxiv.org/pdf/1301.3781.pdf)

View File

@ -23,7 +23,7 @@ Nos nossos exemplos anteriores, utilizámos embeddings semânticos pré-treinado
* **Continuous Bag-of-Words** (CBoW), onde prevemos o token central $W_0$ numa sequência de tokens $W_{-N}$, ..., $W_N$.
* **Skip-gram**, onde prevemos um conjunto de tokens vizinhos {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} a partir do token central $W_0$.
![imagem do artigo sobre conversão de palavras em vetores](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.pt.png)
![imagem do artigo sobre conversão de palavras em vetores](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.pt.png)
> Imagem retirada [deste artigo](https://arxiv.org/pdf/1301.3781.pdf)

View File

@ -15,7 +15,7 @@ Nas secções anteriores, utilizámos representações semânticas ricas de text
Para capturar o significado de uma sequência de texto, precisamos de usar outra arquitetura de rede neural, chamada **rede neural recorrente**, ou RNN. Numa RNN, passamos a nossa frase pela rede, um símbolo de cada vez, e a rede produz um **estado**, que depois passamos novamente à rede com o próximo símbolo.
![RNN](../../../../../translated_images/rnn.27f5c29c53d727b546ad3961637a267f0fe9ec5ab01f2a26a853c92fcefbb574.pt.png)
![RNN](../../../../../translated_images/rnn.27f5c29c53d727b5.pt.png)
> Imagem do autor
@ -61,7 +61,7 @@ Discutimos redes recorrentes que operam numa direção, do início de uma sequê
Uma rede recorrente, seja unidirecional ou bidirecional, captura certos padrões dentro de uma sequência e pode armazená-los num vetor de estado ou passá-los para a saída. Tal como nas redes convolucionais, podemos construir outra camada recorrente sobre a primeira para capturar padrões de nível superior e construir a partir dos padrões de baixo nível extraídos pela primeira camada. Isto leva-nos à noção de uma **RNN multicamada**, que consiste em duas ou mais redes recorrentes, onde a saída da camada anterior é passada para a próxima camada como entrada.
![Imagem mostrando uma RNN multicamada com LSTM](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe58b429db833932d734c81f211cad2783797a9608984acb8c.pt.jpg)
![Imagem mostrando uma RNN multicamada com LSTM](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe.pt.jpg)
*Imagem retirada [deste excelente artigo](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) de Fernando López*

View File

@ -19,7 +19,7 @@ Na arquitetura de RNN discutida na unidade anterior, cada unidade RNN produzia o
Isto permite diferentes arquiteturas neuronais, como mostrado na imagem abaixo:
![Imagem mostrando padrões comuns de redes neuronais recorrentes.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42dce6c42d8a56c184729aa2378d059b851be4ce12b993033df.pt.jpg)
![Imagem mostrando padrões comuns de redes neuronais recorrentes.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42d.pt.jpg)
> Imagem do artigo [Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) por [Andrej Karpaty](http://karpathy.github.io/)
@ -32,7 +32,7 @@ Nesta unidade, vamos focar-nos em modelos generativos simples que nos ajudam a g
Vamos treinar esta RNN para gerar texto passo a passo. Em cada passo, tomaremos uma sequência de caracteres de comprimento `nchars` e pediremos à rede que gere o próximo carácter de saída para cada carácter de entrada:
![Imagem mostrando um exemplo de geração de RNN da palavra 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d63a7c16ea9c1b86cb70e6e1eae6a742b56b7b37468576b17.pt.png)
![Imagem mostrando um exemplo de geração de RNN da palavra 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d.pt.png)
Ao gerar texto (durante a inferência), começamos com um **prompt**, que é passado pelas células RNN para gerar o estado intermédio, e a partir deste estado começa a geração. Geramos um carácter de cada vez e passamos o estado e o carácter gerado para outra célula RNN para gerar o próximo, até gerarmos caracteres suficientes.

View File

@ -20,13 +20,13 @@ Com RNNs, a tarefa de sequência para sequência é implementada por duas redes
Os **Mecanismos de Atenção** fornecem um meio de ponderar o impacto contextual de cada vetor de entrada em cada previsão de saída da RNN. Isto é implementado criando atalhos entre estados intermediários da RNN de entrada e a RNN de saída. Desta forma, ao gerar o símbolo de saída y<sub>t</sub>, consideramos todos os estados ocultos de entrada h<sub>i</sub>, com diferentes coeficientes de peso &alpha;<sub>t,i</sub>.
![Imagem mostrando um modelo codificador/descodificador com uma camada de atenção aditiva](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567aa2898c94b17b3289087f6705c11907df8301df9e5eeb3de.pt.png)
![Imagem mostrando um modelo codificador/descodificador com uma camada de atenção aditiva](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567.pt.png)
> O modelo codificador-descodificador com mecanismo de atenção aditiva em [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), citado deste [post de blog](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)
A matriz de atenção {&alpha;<sub>i,j</sub>} representaria o grau em que certas palavras de entrada influenciam a geração de uma determinada palavra na sequência de saída. Abaixo está um exemplo de tal matriz:
![Imagem mostrando um alinhamento de exemplo encontrado por RNNsearch-50, retirada de Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af11de6c82d2d197830ba5f4528d9ea430eb65fd3a75065973.pt.png)
![Imagem mostrando um alinhamento de exemplo encontrado por RNNsearch-50, retirada de Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af.pt.png)
> Figura de [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Fig.3)
@ -66,7 +66,7 @@ O resultado que obtemos com o embedding posicional incorpora tanto o token origi
A seguir, precisamos capturar alguns padrões dentro da nossa sequência. Para isso, os transformers usam um mecanismo de **auto-atenção**, que é essencialmente atenção aplicada à mesma sequência como entrada e saída. Aplicar auto-atenção permite-nos levar em conta o **contexto** dentro da frase e ver quais palavras estão inter-relacionadas. Por exemplo, permite-nos ver quais palavras são referidas por correferências, como *it*, e também considerar o contexto:
![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d68d8d0039d06a71a151f18a796b8b1330239d3590bd4947eb.pt.png)
![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d6.pt.png)
> Imagem do [Blog do Google](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html)
@ -91,7 +91,7 @@ Como cada posição de entrada é mapeada independentemente para cada posição
**BERT** (Bidirectional Encoder Representations from Transformers) é uma rede transformer muito grande com várias camadas: 12 camadas para o *BERT-base* e 24 para o *BERT-large*. O modelo é primeiro pré-treinado num grande corpus de dados de texto (WikiPedia + livros) usando treino não supervisionado (prevendo palavras mascaradas numa frase). Durante o pré-treino, o modelo absorve níveis significativos de compreensão da linguagem, que podem ser aproveitados com outros conjuntos de dados usando ajuste fino. Este processo é chamado de **aprendizagem por transferência**.
![imagem de http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362e39ee4381aab7cad06b5465a0b5f053a0f2aa05fbe14e746.pt.png)
![imagem de http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362.pt.png)
> Imagem [fonte](http://jalammar.github.io/illustrated-bert/)

View File

@ -11,13 +11,13 @@ Com RNNs, a sequência-para-sequência é implementada por duas redes recorrente
**Mecanismos de Atenção** fornecem um meio de ponderar o impacto contextual de cada vetor de entrada em cada previsão de saída da RNN. A forma como é implementado é criando atalhos entre estados intermediários da RNN de entrada e da RNN de saída. Dessa maneira, ao gerar o símbolo de saída y<sub>t</sub>, levaremos em conta todos os estados ocultos de entrada h<sub>i</sub>, com diferentes coeficientes de peso α<sub>t,i</sub>.
![Imagem mostrando um modelo codificador/decodificador com uma camada de atenção aditiva](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567aa2898c94b17b3289087f6705c11907df8301df9e5eeb3de.pt.png)
![Imagem mostrando um modelo codificador/decodificador com uma camada de atenção aditiva](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567.pt.png)
> O modelo codificador-decodificador com mecanismo de atenção aditiva em [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), citado a partir [deste post de blog](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)
A matriz de atenção {α<sub>i,j</sub>} representaria o grau em que certas palavras de entrada desempenham na geração de uma palavra específica na sequência de saída. Abaixo está um exemplo de tal matriz:
![Imagem mostrando um alinhamento de exemplo encontrado por RNNsearch-50, tirada de Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af11de6c82d2d197830ba5f4528d9ea430eb65fd3a75065973.pt.png)
![Imagem mostrando um alinhamento de exemplo encontrado por RNNsearch-50, tirada de Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af.pt.png)
> Figura de [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Fig.3)
@ -57,7 +57,7 @@ O resultado que obtemos com o embutimento posicional incorpora tanto o token ori
Em seguida, precisamos capturar alguns padrões dentro da nossa sequência. Para fazer isso, os transformers usam um mecanismo de **autoatenção**, que é essencialmente atenção aplicada à mesma sequência como entrada e saída. A aplicação de autoatenção nos permite levar em conta o **contexto** dentro da sentença e ver quais palavras estão inter-relacionadas. Por exemplo, isso nos permite ver quais palavras são referidas por co-referências, como *isso*, e também levar o contexto em consideração:
![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d68d8d0039d06a71a151f18a796b8b1330239d3590bd4947eb.pt.png)
![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d6.pt.png)
> Imagem do [Blog do Google](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html)
@ -82,7 +82,7 @@ Como cada posição de entrada é mapeada independentemente para cada posição
**BERT** (Representações de Codificador Bidirecional de Transformers) é uma rede transformer multilayer muito grande com 12 camadas para *BERT-base* e 24 para *BERT-large*. O modelo é primeiro pré-treinado em um grande corpus de dados textuais (WikiPedia + livros) usando treinamento não supervisionado (previsão de palavras mascaradas em uma sentença). Durante o pré-treinamento, o modelo absorve níveis significativos de compreensão da linguagem, que podem ser aproveitados com outros conjuntos de dados usando ajuste fino. Este processo é chamado de **aprendizado por transferência**.
![imagem de http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362e39ee4381aab7cad06b5465a0b5f053a0f2aa05fbe14e746.pt.png)
![imagem de http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362.pt.png)
> Imagem [fonte](http://jalammar.github.io/illustrated-bert/)

View File

@ -58,7 +58,7 @@ infant | O
Como precisamos construir uma correspondência um-para-um entre tokens e classes, podemos treinar um modelo de rede neural **muitos-para-muitos** da seguinte forma:
![Imagem mostrando padrões comuns de redes neuronais recorrentes.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42dce6c42d8a56c184729aa2378d059b851be4ce12b993033df.pt.jpg)
![Imagem mostrando padrões comuns de redes neuronais recorrentes.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42d.pt.jpg)
> *Imagem retirada [deste artigo](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) por [Andrej Karpathy](http://karpathy.github.io/). Os modelos de classificação de tokens NER correspondem à arquitetura de rede mais à direita nesta imagem.*

View File

@ -70,7 +70,7 @@ Pode abrir um dos modelos, por exemplo **Biology &rightarrow; Flocking**.
Depois de abrir o modelo, será levado ao ecrã principal do NetLogo. Aqui está um modelo de exemplo que descreve a população de lobos e ovelhas, dado recursos finitos (relva).
![NetLogo Main Screen](../../../../../translated_images/NetLogo-Main.32653711ec1a01b3cab22ec0b148e64193d0b979b055285bef329d5e3d6958c5.pt.png)
![NetLogo Main Screen](../../../../../translated_images/NetLogo-Main.32653711ec1a01b3.pt.png)
> Captura de ecrã por Dmitry Soshnikov

View File

@ -1,8 +1,8 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "4ed9993bca581850c983c95d5a3f57eb",
"translation_date": "2025-12-25T01:26:28+00:00",
"original_hash": "14816e97d79b296c87811724f7785923",
"translation_date": "2026-01-01T13:06:15+00:00",
"source_file": "README.md",
"language_code": "ro"
}
@ -14,123 +14,124 @@ CO_OP_TRANSLATOR_METADATA:
[![PR-uri binevenite](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![Urmăritori GitHub](https://img.shields.io/github/watchers/microsoft/AI-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)
[![Fork-uri GitHub](https://img.shields.io/github/forks/microsoft/AI-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/AI-For-Beginners/network/)
[![Forkuri GitHub](https://img.shields.io/github/forks/microsoft/AI-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/AI-For-Beginners/network/)
[![Stele GitHub](https://img.shields.io/github/stars/microsoft/AI-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/AI-For-Beginners/stargazers/)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)
[![Gitter](https://badges.gitter.im/Microsoft/ai-for-beginners.svg)](https://gitter.im/Microsoft/ai-for-beginners?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
[![Discord Microsoft Foundry](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
# Artificial Intelligence for Beginners - A Curriculum
# Inteligența Artificială pentru Începători - Un Curriculum
|![Sketchnote de @girlie_mac https://twitter.com/girlie_mac](../../translated_images/ai-overview.0857791951d19500d0ef8b803d77110c738dcafc52306e6d68724742cd4af167.ro.png)|
|![Sketchnote de @girlie_mac https://twitter.com/girlie_mac](../../translated_images/ai-overview.0857791951d19500.ro.png)|
|:---:|
| Inteligența Artificială pentru Începători - _Sketchnote de [@girlie_mac](https://twitter.com/girlie_mac)_ |
| AI pentru Începători - _Sketchnote de [@girlie_mac](https://twitter.com/girlie_mac)_ |
Explorează lumea **Inteligenței Artificiale** (AI) cu curriculumul nostru de 12 săptămâni, 24 de lecții! Include lecții practice, quiz-uri și laboratoare. Curriculumul este prietenos pentru începători și acoperă unelte precum TensorFlow și PyTorch, precum și etica în AI
Explorează lumea **Inteligenței Artificiale** (AI) cu curriculumul nostru de 12 săptămâni și 24 de lecții! Include lecții practice, chestionare și laboratoare. Curriculumul este prietenos pentru începători și acoperă instrumente precum TensorFlow și PyTorch, precum și etica în AI
### 🌐 Suport multi-limbă
#### Suportat prin GitHub Action (Automatizat și Mereu Actualizat)
### 🌐 Suport multilingv
#### Suportat prin GitHub Action (Automatizat și Întotdeauna Actualizat)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabă](../ar/README.md) | [Bengaleză](../bn/README.md) | [Bulgară](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chineză (simplificată)](../zh/README.md) | [Chineză (tradițională, Hong Kong)](../hk/README.md) | [Chineză (tradițională, Macau)](../mo/README.md) | [Chineză (tradițională, Taiwan)](../tw/README.md) | [Croată](../hr/README.md) | [Cehă](../cs/README.md) | [Daneză](../da/README.md) | [Olandeză](../nl/README.md) | [Estonă](../et/README.md) | [Finlandeză](../fi/README.md) | [Franceză](../fr/README.md) | [Germană](../de/README.md) | [Greacă](../el/README.md) | [Ebraică](../he/README.md) | [Hindi](../hi/README.md) | [Maghiară](../hu/README.md) | [Indoneziană](../id/README.md) | [Italiană](../it/README.md) | [Japoneză](../ja/README.md) | [Kannada](../kn/README.md) | [Coreeană](../ko/README.md) | [Lituaniană](../lt/README.md) | [Malayeză](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepaleză](../ne/README.md) | [Pidgin nigerian](../pcm/README.md) | [Norvegiană](../no/README.md) | [Persană (Farsi)](../fa/README.md) | [Poloneză](../pl/README.md) | [Portugheză (Brazilia)](../br/README.md) | [Portugheză (Portugalia)](../pt/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Română](./README.md) | [Rusă](../ru/README.md) | [Sârbă (chirilică)](../sr/README.md) | [Slovacă](../sk/README.md) | [Slovenă](../sl/README.md) | [Spaniolă](../es/README.md) | [Swahili](../sw/README.md) | [Suedeză](../sv/README.md) | [Tagalog (Filipineză)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thailandeză](../th/README.md) | [Turcă](../tr/README.md) | [Ucrainiană](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnameză](../vi/README.md)
[Arabă](../ar/README.md) | [Bengaleză](../bn/README.md) | [Bulgară](../bg/README.md) | [Birmană (Myanmar)](../my/README.md) | [Chineză (Simplificată)](../zh/README.md) | [Chineză (Tradițională, Hong Kong)](../hk/README.md) | [Chineză (Tradițională, Macau)](../mo/README.md) | [Chineză (Tradițională, Taiwan)](../tw/README.md) | [Croată](../hr/README.md) | [Cehă](../cs/README.md) | [Daneză](../da/README.md) | [Olandeză](../nl/README.md) | [Estonă](../et/README.md) | [Finlandeză](../fi/README.md) | [Franceză](../fr/README.md) | [Germană](../de/README.md) | [Greacă](../el/README.md) | [Ebraică](../he/README.md) | [Hindi](../hi/README.md) | [Maghiară](../hu/README.md) | [Indoneziană](../id/README.md) | [Italiană](../it/README.md) | [Japoneză](../ja/README.md) | [Kannada](../kn/README.md) | [Coreeană](../ko/README.md) | [Lituaniană](../lt/README.md) | [Malaeză](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepaleză](../ne/README.md) | [Pidgin nigerian](../pcm/README.md) | [Norvegiană](../no/README.md) | [Persană (Farsi)](../fa/README.md) | [Poloneză](../pl/README.md) | [Portugheză (Brazilia)](../br/README.md) | [Portugheză (Portugalia)](../pt/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Română](./README.md) | [Rusă](../ru/README.md) | [Sârbă (chirilică)](../sr/README.md) | [Slovacă](../sk/README.md) | [Slovenă](../sl/README.md) | [Spaniolă](../es/README.md) | [Swahili](../sw/README.md) | [Suedeză](../sv/README.md) | [Tagalog (Filipineză)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thailandeză](../th/README.md) | [Turcă](../tr/README.md) | [Ucraineană](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnameză](../vi/README.md)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Dacă doriți să fie disponibile limbi adiționale, acestea sunt listate [aici](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**If you wish to have additional translations languages supported are listed [here](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
## Alăturați-vă comunității
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
[![Discord Microsoft Foundry](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
## Ce veți învăța
**[Harta mentală a cursului](http://soshnikov.com/courses/ai-for-beginners/mindmap.html)**
În acest curriculum veți învăța:
În acest curriculum, veți învăța:
* Diferite abordări ale Inteligenței Artificiale, inclusiv abordarea simbolică „buna și veche” cu **Reprezentarea Cunoștințelor** și raționament ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
* **Rețele Neuronale** și **Deep Learning**, care stau la baza AI-ului modern. Vom ilustra conceptele din spatele acestor subiecte importante folosind cod în două dintre cele mai populare framework-uri - [TensorFlow](http://Tensorflow.org) și [PyTorch](http://pytorch.org).
* **Arhitecturi Neuronale** pentru lucrul cu imagini și text. Vom acoperi modele recente, dar s-ar putea să fim puțin în urmă față de cele mai noi realizări.
* Abordări mai puțin populare ale AI-ului, cum ar fi **Algoritmi Genetici** și **Sisteme Multi-Agent**.
* Diferite abordări ale Inteligenței Artificiale, inclusiv abordarea simbolică "bună, veche" cu **Reprezentarea cunoștințelor** și raționament ([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence)).
* **Rețele neuronale** și **Învățare profundă**, care sunt în centrul AI-ului modern. Vom ilustra conceptele din spatele acestor teme importante folosind cod în două dintre cele mai populare framework-uri - [TensorFlow](http://Tensorflow.org) și [PyTorch](http://pytorch.org).
* **Arhitecturi neuronale** pentru lucrul cu imagini și text. Vom acoperi modele recente, dar s-ar putea să nu acopere cele mai recente tehnologii de vârf.
* Abordări AI mai puțin populare, precum **Algoritmi genetici** și **Sisteme multi-agent**.
Ce nu vom acoperi în acest curriculum:
> [Găsiți toate resursele suplimentare pentru acest curs în colecția noastră Microsoft Learn](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)
* Cazuri de business privind utilizarea **AI în Afaceri**. Luați în considerare parcurgerea traseului de învățare [Introducere în AI pentru utilizatorii de business](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) pe Microsoft Learn, sau [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum), dezvoltat în cooperare cu [INSEAD](https://www.insead.edu/).
* **Machine Learning Clasic**, care este bine descris în curriculumul nostru [Machine Learning for Beginners](http://github.com/Microsoft/ML-for-Beginners).
* Aplicații practice de AI construite folosind **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. Pentru acestea, recomandăm să începeți cu modulele Microsoft Learn pentru [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)** și altele.
* Framework-uri ML specifice pentru cloud, cum ar fi [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), sau [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Consultați traseele de învățare [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) și [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).
* **AI Conversațională** și **Chat Bots**. Există un traseu de învățare separat [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum), iar pentru detalii puteți consulta și [această postare pe blog](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/).
* **Matematică Avansată** din spatele deep learning-ului. Pentru asta, recomandăm [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) de Ian Goodfellow, Yoshua Bengio și Aaron Courville, care este disponibil și online la [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
* Cazuri de utilizare ale **AI în afaceri**. Luați în considerare parcurgerea traseului de învățare [Introduction to AI for business users](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) pe Microsoft Learn, sau [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum), dezvoltat în cooperare cu [INSEAD](https://www.insead.edu/).
* **Învățare automată clasică**, care este bine descrisă în [Curriculumul Machine Learning for Beginners](http://github.com/Microsoft/ML-for-Beginners).
* Aplicații AI practice construite folosind **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)**. Pentru acestea, recomandăm să începeți cu modulele Microsoft Learn pentru [viziune](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum), [procesarea limbajului natural](https://docs.microsoft.com/learn/paths/explore-natural-language-processing/?WT.mc_id=academic-77998-bethanycheum), **[AI generativ cu Azure OpenAI Service](https://learn.microsoft.com/en-us/training/paths/develop-ai-solutions-azure-openai/?WT.mc_id=academic-77998-bethanycheum)** și altele.
* Framework-uri cloud specifice ML, cum ar fi [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), sau [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum). Luați în considerare utilizarea traseelor de învățare [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) și [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).
* **AI conversațional** și **Chat Bots**. Există un traseu de învățare separat [Creați soluții AI conversaționale](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum), și puteți, de asemenea, să consultați [acest articol de blog](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) pentru mai multe detalii.
* **Matematică profundă** din spatele învățării profunde. Pentru aceasta, recomandăm [Deep Learning](https://www.amazon.com/Deep-Learning-Adaptive-Computation-Machine/dp/0262035618) de Ian Goodfellow, Yoshua Bengio și Aaron Courville, care este de asemenea disponibil online la [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/).
Pentru o introducere blândă în subiectele _AI în Cloud_ puteți lua în considerare parcurgerea traseului de învățare [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).
Pentru o introducere blândă în subiectele _AI în Cloud_ ați putea lua în considerare parcurgerea traseului de învățare [Get started with artificial intelligence on Azure](https://docs.microsoft.com/learn/paths/get-started-with-artificial-intelligence-on-azure/?WT.mc_id=academic-77998-bethanycheum).
# Content
# Conținut
| | Link lecție | PyTorch/Keras/TensorFlow | Laborator |
| | Lesson Link | PyTorch/Keras/TensorFlow | Lab |
| :-: | :------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: | ------------------------------------------------------------------------------ |
| 0 | [Configurare curs](./lessons/0-course-setup/setup.md) | [Configurează mediul tău de dezvoltare](./lessons/0-course-setup/how-to-run.md) | |
| 0 | [Configurarea cursului](./lessons/0-course-setup/setup.md) | [Configurați-vă mediul de dezvoltare](./lessons/0-course-setup/how-to-run.md) | |
| I | [**Introducere în AI**](./lessons/1-Intro/README.md) | | |
| 01 | [Introducere și Istoria Inteligenței Artificiale](./lessons/1-Intro/README.md) | - | - |
| II | **Inteligență Artificială Simbolică** |
| 02 | [Reprezentarea Cunoștințelor și Sisteme Expert](./lessons/2-Symbolic/README.md) | [Sisteme Expert](./lessons/2-Symbolic/Animals.ipynb) / [Ontologie](./lessons/2-Symbolic/FamilyOntology.ipynb) /[Graf de concepte](./lessons/2-Symbolic/MSConceptGraph.ipynb) | |
| III | [**Introducere în Rețele Neuronale**](./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 Multistrat și Crearea propriului nostru framework](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [Notebook](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [Lab](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
| 05 | [Introducere în framework-uri (PyTorch/TensorFlow) și supraînvățare](./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 | [**Viziune computerizată**](./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)| [Explorați Viziunea computerizată pe Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
| 06 | [Introducere în viziunea computerizată. 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 | [Rețele neuronale convoluționale](./lessons/4-ComputerVision/07-ConvNets/README.md) & [Arhitecturi 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 | [Rețele pre-antrenate și învățare prin transfer](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [Trucuri de antrenament](./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) |
| 01 | [Introducere și istoria AI](./lessons/1-Intro/README.md) | - | - |
| II | **AI simbolic** |
| 02 | [Reprezentarea cunoștințelor și Sisteme Expert](./lessons/2-Symbolic/README.md) | [Sisteme expert](./lessons/2-Symbolic/Animals.ipynb) / [Ontologie](./lessons/2-Symbolic/FamilyOntology.ipynb) /[Graf conceptual](./lessons/2-Symbolic/MSConceptGraph.ipynb) | |
| III | [**Introducere în rețele neuronale**](./lessons/3-NeuralNetworks/README.md) |||
| 03 | [Perceptron](./lessons/3-NeuralNetworks/03-Perceptron/README.md) | [Jupyter Notebook](./lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb) | [Laborator](./lessons/3-NeuralNetworks/03-Perceptron/lab/README.md) |
| 04 | [Perceptron multistrat și crearea propriului nostru cadru](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [Jupyter Notebook](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [Laborator](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) |
| 05 | [Introducere în framework-uri (PyTorch/TensorFlow) și supraînvățare](./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) | [Laborator](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) |
| IV | [**Viziune computerizată**](./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)| [Explorează viziunea computerizată pe Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) |
| 06 | [Introducere în viziunea computerizată. OpenCV](./lessons/4-ComputerVision/06-IntroCV/README.md) | [Jupyter Notebook](./lessons/4-ComputerVision/06-IntroCV/OpenCV.ipynb) | [Laborator](./lessons/4-ComputerVision/06-IntroCV/lab/README.md) |
| 07 | [Rețele neuronale convoluționale](./lessons/4-ComputerVision/07-ConvNets/README.md) & [Arhitecturi 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) | [Laborator](./lessons/4-ComputerVision/07-ConvNets/lab/README.md) |
| 08 | [Rețele pre-antrenate și învățare prin transfer](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [Trucuri de antrenament](./lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md) | [PyTorch](./lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [Laborator](./lessons/4-ComputerVision/08-TransferLearning/lab/README.md) |
| 09 | [Autoencodere și VAE-uri](./lessons/4-ComputerVision/09-Autoencoders/README.md) | [PyTorch](./lessons/4-ComputerVision/09-Autoencoders/AutoEncodersPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb) | |
| 10 | [Rețele generative adversariale și transfer de stil artistic](./lessons/4-ComputerVision/10-GANs/README.md) | [PyTorch](./lessons/4-ComputerVision/10-GANs/GANPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/10-GANs/GANTF.ipynb) | |
| 11 | [Detectarea obiectelor](./lessons/4-ComputerVision/11-ObjectDetection/README.md) | [TensorFlow](./lessons/4-ComputerVision/11-ObjectDetection/ObjectDetection.ipynb) | [Lab](./lessons/4-ComputerVision/11-ObjectDetection/lab/README.md) |
| 11 | [Detecția obiectelor](./lessons/4-ComputerVision/11-ObjectDetection/README.md) | [TensorFlow](./lessons/4-ComputerVision/11-ObjectDetection/ObjectDetection.ipynb) | [Laborator](./lessons/4-ComputerVision/11-ObjectDetection/lab/README.md) |
| 12 | [Segmentare semantică. 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 | [**Procesarea limbajului natural**](./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) | [Explorați Procesarea limbajului natural pe Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)|
| V | [**Procesarea limbajului natural**](./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) | [Explorează procesarea limbajului natural pe Microsoft Azure](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)|
| 13 | [Reprezentarea textului. 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-uri semantice pentru cuvinte. Word2Vec și 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 | [Modelare a limbajului. Antrenarea propriilor embedding-uri](./lessons/5-NLP/15-LanguageModeling/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-PyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-TF.ipynb) | [Lab](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
| 14 | [Reprezentări semantice ale cuvintelor. Word2Vec și 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 | [Modelare a limbajului. Antrenarea propriilor embedding-uri](./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) | [Laborator](./lessons/5-NLP/15-LanguageModeling/lab/README.md) |
| 16 | [Rețele neuronale recurente](./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 | [Rețele recurente generative](./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) |
| 17 | [Rețele recurente generative](./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) | [Laborator](./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 | [Recunoașterea entităților numite](./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 | [Modele lingvistice mari, programarea prin prompt și sarcini few-shot](./lessons/5-NLP/20-LangModels/README.md) | [PyTorch](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb) | |
| 19 | [Recunoașterea entităților numite](./lessons/5-NLP/19-NER/README.md) | [TensorFlow](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/19-NER/NER-TF.ipynb) | [Laborator](./lessons/5-NLP/19-NER/lab/README.md) |
| 20 | [Modele mari de limbaj, programarea prompturilor și sarcini few-shot](./lessons/5-NLP/20-LangModels/README.md) | [PyTorch](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb) | |
| VI | **Alte tehnici AI** || |
| 21 | [Algoritmi genetici](./lessons/6-Other/21-GeneticAlgorithms/README.md) | [Notebook](./lessons/6-Other/21-GeneticAlgorithms/Genetic.ipynb) | |
| 22 | [Învățare prin întărire profundă](./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) |
| 21 | [Algoritmi genetici](./lessons/6-Other/21-GeneticAlgorithms/README.md) | [Jupyter Notebook](./lessons/6-Other/21-GeneticAlgorithms/Genetic.ipynb) | |
| 22 | [Învățare prin întărire profundă](./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) | [Laborator](./lessons/6-Other/22-DeepRL/lab/README.md) |
| 23 | [Sisteme multi-agent](./lessons/6-Other/23-MultiagentSystems/README.md) | | |
| VII | **Etica AI** | | |
| 24 | [Etica AI și AI responsabilă](./lessons/7-Ethics/README.md) | [Microsoft Learn: Principii pentru AI responsabilă](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | |
| IX | **Suplimentar** | | |
| 25 | [Rețele multimodale, CLIP și VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [Notebook](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | |
| 24 | [Etica AI și IA responsabilă](./lessons/7-Ethics/README.md) | [Microsoft Learn: Principii pentru IA responsabilă](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | |
| IX | **Materiale suplimentare** | | |
| 25 | [Rețele multimodale, CLIP și VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [Jupyter Notebook](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | |
## Fiecare lecție conține
* Materiale de lectură prealabilă
* Jupyter Notebooks executabile, care sunt adesea specifice framework-ului (**PyTorch** sau **TensorFlow**). Notebook-ul executabil conține, de asemenea, mult material teoretic, deci pentru a înțelege subiectul trebuie să parcurgi cel puțin o versiune a notebook-ului (fie PyTorch, fie TensorFlow).
* **Laboratoare** disponibile pentru unele subiecte, care oferă oportunitatea de a încerca aplicarea materialului învățat la o problemă specifică.
* Materiale pentru lectură prealabilă
* Notebook-uri Jupyter executabile, care sunt adesea specifice framework-ului (**PyTorch** sau **TensorFlow**). Notebook-ul executabil conține, de asemenea, mult material teoretic, așa că pentru a înțelege subiectul trebuie să parcurgi cel puțin o versiune a notebook-ului (fie PyTorch, fie TensorFlow).
* **Laboratoare** disponibile pentru unele subiecte, care îți oferă oportunitatea de a încerca aplicarea materialului pe care l-ai învățat la o problemă specifică.
* Unele secțiuni conțin linkuri către module [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) care acoperă subiecte conexe.
## Începeți
### 🎯 Ești nou în AI? Începe aici!
Dacă ești complet nou în AI și vrei exemple rapide, practice, consultă [**Exemple pentru începători**](./examples/README.md)! Acestea includ:
Dacă ești complet nou în AI și vrei exemple practice rapide, consultă [**Exemple pentru începători**](./examples/README.md)! Acestea includ:
- 🌟 **Hello AI World** - Primul tău program AI (recunoașterea de tipare)
- 🌟 **Hello AI World** - Primul tău program de AI (recunoaștere de tipare)
- 🧠 **Simple Neural Network** - Construiește o rețea neuronală de la zero
- 🖼️ **Image Classifier** - Clasifică imagini cu comentarii detaliate
- 💬 **Sentimentul textului** - Analizează dacă textul este pozitiv sau negativ
- 💬 **Sentimentul textului** - Analizează dacă textul este pozitiv/negativ
These examples are designed to help you understand AI concepts before diving into the full curriculum.
Aceste exemple sunt concepute pentru a te ajuta să înțelegi conceptele de IA înainte de a începe curriculumul complet.
### 📚 Configurarea curriculumului complet
- Am creat o [lecție de configurare](./lessons/0-course-setup/setup.md) pentru a te ajuta să îți configurezi mediul de dezvoltare. - Pentru educatori, am creat și o [lecție de configurare a curriculumului](./lessons/0-course-setup/for-teachers.md) pentru voi!
- Cum să [rulezi codul în VSCode sau Codepace](./lessons/0-course-setup/how-to-run.md)
- Cum să [rulezi codul în VSCode sau în Codepace](./lessons/0-course-setup/how-to-run.md)
Follow these steps:
Urmează pașii de mai jos:
Fork the Repository: Click on the "Fork" button at the top-right corner of this page.
@ -138,29 +139,29 @@ Clone the Repository: `git clone https://github.com/microsoft/AI-For-Beginners.g
Don't forget to star (🌟) this repo to find it easier later.
## Cunoaște alți cursanți
## Întâlnește alți cursanți
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.
Alătură-te [serverului oficial Discord AI](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum) pentru a cunoaște și a face networking cu alți cursanți care parcurg acest curs și pentru a obține suport.
If you have product feedback or questions whilst building visit our [Azure AI Foundry Developer Forum](https://aka.ms/foundry/forum)
Dacă ai feedback despre produs sau întrebări în timpul dezvoltării, vizitează [Forumul dezvoltatorilor Azure AI Foundry](https://aka.ms/foundry/forum)
## Chestionare
> **O notă despre chestionare**: All quizzes are contained in the Quiz-app folder in etc\quiz-app, or [online aici](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.
> **O notă despre chestionare**: Toate chestionarele sunt conținute în folderul Quiz-app în etc\quiz-app, sau [Online aici](https://ff-quizzes.netlify.app/) Sunt legate din cadrul lecțiilor; aplicația de chestionare poate fi rulată local sau poate fi implementată în Azure; urmează instrucțiunile din folderul `quiz-app`. Sunt treptat localizate.
## Ajutor binevenit
Do you have suggestions or found spelling or code errors? Raise an issue or create a pull request.
Ai sugestii sau ai găsit greșeli de ortografie ori erori în cod? Deschide un issue sau creează un pull request.
## Mulțumiri speciale
* **✍️ Autor principal:** [Dmitry Soshnikov](http://soshnikov.com), PhD
* **🔥 Editor:** [Jen Looper](https://twitter.com/jenlooper), PhD
* **🎨 Ilustrator sketchnote:** [Tomomi Imura](https://twitter.com/girlie_mac)
* **✅ Creatorul chestionarelor:** [Lateefah Bello](https://github.com/CinnamonXI), [MLSA](https://studentambassadors.microsoft.com/)
* **✅ Creator chestionare:** [Lateefah Bello](https://github.com/CinnamonXI), [MLSA](https://studentambassadors.microsoft.com/)
* **🙏 Contribuitori principali:** [Evgenii Pishchik](https://github.com/Pe4enIks)
## Alte curriculumuri
## Alte cursuri
Our team produces other curricula! Check out:
@ -171,7 +172,7 @@ Our team produces other curricula! Check out:
---
### Azure / Edge / MCP / Agenți
### Azure / Edge / MCP / Agents
[![AZD pentru începători](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI pentru începători](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP pentru începători](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
@ -179,7 +180,7 @@ Our team produces other curricula! Check out:
---
### Seria Generative AI
### Generative AI Series
[![Generative AI pentru începători](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
@ -187,12 +188,12 @@ Our team produces other curricula! Check out:
---
### Învățare de bază
### Core Learning
[![ML pentru începători](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science pentru începători](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI pentru începători](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Securitate cibernetică pentru începători](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Dezvoltare web pentru începători](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![Dezvoltare Web pentru începători](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT pentru începători](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![Dezvoltare XR pentru începători](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
@ -206,17 +207,17 @@ Our team produces other curricula! Check out:
## Obține ajutor
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.
Dacă te blochezi sau ai întrebări legate de construirea aplicațiilor AI, alătură-te cursanților și dezvoltatorilor experimentați în discuții despre MCP. Este o comunitate de sprijin în care întrebările sunt binevenite și cunoștințele sunt împărtășite liber.
[![Discord Microsoft Foundry](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
If you have product feedback or errors while building visit:
Dacă ai feedback despre produs sau întâmpini erori în timpul dezvoltării, vizitează:
[![Forumul dezvoltatorilor Microsoft Foundry](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
[![Forumul Dezvoltatorilor Microsoft Foundry](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Declinare de responsabilitate**:
Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original, în limba sa nativă, trebuie considerat sursa autoritativă. Pentru informații critice, se recomandă traducerea profesională realizată de un traducător uman. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite cauzate de utilizarea acestei traduceri.
Acest document a fost tradus cu ajutorul serviciului de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși depunem eforturi pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original, în limba sa nativă, trebuie considerat sursa autorizată. Pentru informații critice, se recomandă o traducere profesională realizată de un traducător uman. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări eronate care decurg din utilizarea acestei traduceri.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

View File

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Introducere în Inteligența Artificială
![Rezumat al conținutului Introducerii în AI într-un desen](../../../../translated_images/ai-intro.bf28d1ac4235881c096f0ffdb320ba4102940eafcca4e9d7a55a03914361f8f3.ro.png)
![Rezumat al conținutului Introducerii în AI într-un desen](../../../../translated_images/ai-intro.bf28d1ac4235881c.ro.png)
> Schiță de [Tomomi Imura](https://twitter.com/girlie_mac)
@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA:
Inițial, computerele au fost inventate de [Charles Babbage](https://en.wikipedia.org/wiki/Charles_Babbage) pentru a opera pe numere urmând o procedură bine definită - un algoritm. Computerele moderne, deși semnificativ mai avansate decât modelul original propus în secolul al XIX-lea, încă urmează aceeași idee de calcule controlate. Astfel, este posibil să programăm un computer să facă ceva dacă știm exact secvența de pași necesară pentru a atinge scopul.
![Fotografie a unei persoane](../../../../translated_images/dsh_age.d212a30d4e54fb5f68b94a624aad64bc086124bcbbec9561ae5bd5da661e22d8.ro.png)
![Fotografie a unei persoane](../../../../translated_images/dsh_age.d212a30d4e54fb5f.ro.png)
> Fotografie de [Vickie Soshnikova](http://twitter.com/vickievalerie)
@ -46,7 +46,7 @@ Pentru mai multe informații, consultați **[Inteligența Artificială Generală
Una dintre problemele legate de termenul **[Inteligență](https://en.wikipedia.org/wiki/Intelligence)** este că nu există o definiție clară a acestui termen. Se poate argumenta că inteligența este legată de **gândirea abstractă** sau de **auto-conștientizare**, dar nu o putem defini corect.
![Fotografie a unei pisici](../../../../translated_images/photo-cat.8c8e8fb760ffe45725c5b9f6b0d954e9bf114475c01c55adf0303982851b7eae.ro.jpg)
![Fotografie a unei pisici](../../../../translated_images/photo-cat.8c8e8fb760ffe457.ro.jpg)
> [Fotografie](https://unsplash.com/photos/75715CVEJhI) de [Amber Kipp](https://unsplash.com/@sadmax) de pe Unsplash
@ -98,13 +98,13 @@ Alternativ, putem încerca să modelăm cele mai simple elemente din creierul no
> | Ce ziceți de ML? | |
> |--------------|-----------|
> | O parte a Inteligenței Artificiale care se bazează pe învățarea computerului să rezolve o problemă pe baza unor date se numește **Învățare Automată**. Nu vom analiza învățarea automată clasică în acest curs - vă recomandăm un curriculum separat [Machine Learning for Beginners](http://aka.ms/ml-beginners). | ![ML pentru Începători](../../../../translated_images/ml-for-beginners.9e4fed176fd5817d7d1f7d358302515186579cbf09b2a6c5bd8092b345da7f22.ro.png) |
> | O parte a Inteligenței Artificiale care se bazează pe învățarea computerului să rezolve o problemă pe baza unor date se numește **Învățare Automată**. Nu vom analiza învățarea automată clasică în acest curs - vă recomandăm un curriculum separat [Machine Learning for Beginners](http://aka.ms/ml-beginners). | ![ML pentru Începători](../../../../translated_images/ml-for-beginners.9e4fed176fd5817d.ro.png) |
## O Scurtă Istorie a AI
Inteligența Artificială a început ca un domeniu la mijlocul secolului XX. Inițial, raționamentul simbolic a fost o abordare predominantă și a condus la o serie de succese importante, cum ar fi sistemele expert programe de computer care puteau acționa ca un expert în unele domenii limitate de probleme. Cu toate acestea, a devenit curând clar că o astfel de abordare nu se scalează bine. Extragerea cunoștințelor de la un expert, reprezentarea lor într-un computer și menținerea bazei de cunoștințe exacte s-a dovedit a fi o sarcină foarte complexă și prea costisitoare pentru a fi practică în multe cazuri. Acest lucru a dus la așa-numita [Iarnă AI](https://en.wikipedia.org/wiki/AI_winter) în anii 1970.
<img alt="Scurtă Istorie a AI" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a0264357672b0884cf3a220fbafe35c65d70b2c3805f7bf5e.ro.png" width="70%"/>
<img alt="Scurtă Istorie a AI" src="../../../../translated_images/history-of-ai.7e83efa70b537f5a.ro.png" width="70%"/>
> Imagine de [Dmitry Soshnikov](http://soshnikov.com)
@ -124,7 +124,7 @@ Putem observa cum s-au schimbat abordările, de exemplu, în crearea unui progra
* Asistenții moderni, cum ar fi Cortana, Siri sau Google Assistant, sunt toate sisteme hibride care folosesc rețele neuronale pentru a converti vorbirea în text și a recunoaște intenția noastră, iar apoi utilizează un raționament sau algoritmi expliciți pentru a efectua acțiunile necesare.
* În viitor, ne putem aștepta la un model complet bazat pe rețele neuronale care să gestioneze dialogul de unul singur. Familiile recente de rețele neuronale GPT și [Turing-NLG](https://www.microsoft.com/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft) arată un mare succes în acest sens.
<img alt="evoluția testului Turing" src="../../../../translated_images/turing-test-evol.4184696701293ead6de6e6441a659c62f0b119b342456987f531005f43be0b6d.ro.png" width="70%"/>
<img alt="evoluția testului Turing" src="../../../../translated_images/turing-test-evol.4184696701293ead.ro.png" width="70%"/>
> Imagine de Dmitry Soshnikov, [fotografie](https://unsplash.com/photos/r8LmVbUKgns) de [Marina Abrosimova](https://unsplash.com/@abrosimova_marina_foto), Unsplash
## Cercetări recente în domeniul AI

View File

@ -12,7 +12,7 @@
"\n",
"În acest exemplu, vom implementa un sistem simplu bazat pe cunoștințe pentru a determina un animal pe baza unor caracteristici fizice. Sistemul poate fi reprezentat prin următorul arbore AND-OR (acesta este doar o parte din arborele complet, putem adăuga cu ușurință mai multe reguli):\n",
"\n",
"![](../../../../translated_images/AND-OR-Tree.5592d2c70187f283703c8e9c0d69d6a786eb370f4ace67f9a7aae5ada3d260b0.ro.png)\n"
"![](../../../../translated_images/AND-OR-Tree.5592d2c70187f283.ro.png)\n"
]
},
{

View File

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Reprezentarea Cunoașterii și Sisteme Expert
![Rezumat al conținutului AI simbolic](../../../../translated_images/ai-symbolic.715a30cb610411a6964d2e2f23f24364cb338a07cb4844c1f97084d366e586c3.ro.png)
![Rezumat al conținutului AI simbolic](../../../../translated_images/ai-symbolic.715a30cb610411a6.ro.png)
> Sketchnote de [Tomomi Imura](https://twitter.com/girlie_mac)
@ -41,7 +41,7 @@ De cele mai multe ori, nu definim strict cunoașterea, ci o aliniem cu alte conc
Astfel, problema **reprezentării cunoașterii** este de a găsi o modalitate eficientă de a reprezenta cunoașterea într-un computer sub formă de date, pentru a o face utilizabilă automat. Acest lucru poate fi văzut ca un spectru:
![Spectrul reprezentării cunoașterii](../../../../translated_images/knowledge-spectrum.b60df631852c0217e941485b79c9eee40ebd574f15f18609cec5758fcb384bf3.ro.png)
![Spectrul reprezentării cunoașterii](../../../../translated_images/knowledge-spectrum.b60df631852c0217.ro.png)
> Imagine de [Dmitry Soshnikov](http://soshnikov.com)
@ -94,7 +94,7 @@ Sintaxă Bloc | Indentare | | |
Unul dintre succesele timpurii ale AI simbolic au fost așa-numitele **sisteme expert** - sisteme de computer concepute să acționeze ca un expert într-un domeniu limitat de probleme. Acestea se bazau pe o **bază de cunoaștere** extrasă de la unul sau mai mulți experți umani și conțineau un **motor de inferență** care efectua raționamente pe baza acesteia.
![Arhitectura umană](../../../../translated_images/arch-human.5d4d35f1bba3ab1cdfda96af2f10b89574eb31e9796d0e3011cd9beda1c35112.ro.png) | ![Sistem bazat pe cunoaștere](../../../../translated_images/arch-kbs.3ec5c150b09fa8dadc2beb0931a4983c9e2b03913a89eebcc103b5bb841b0212.ro.png)
![Arhitectura umană](../../../../translated_images/arch-human.5d4d35f1bba3ab1c.ro.png) | ![Sistem bazat pe cunoaștere](../../../../translated_images/arch-kbs.3ec5c150b09fa8da.ro.png)
---------------------------------------------|------------------------------------------------
Structura simplificată a sistemului neural uman | Arhitectura unui sistem bazat pe cunoaștere
@ -106,7 +106,7 @@ Sistemele expert sunt construite similar cu sistemul de raționament uman, care
Ca exemplu, să luăm în considerare următorul sistem expert de determinare a unui animal pe baza caracteristicilor sale fizice:
![Arbore AND-OR](../../../../translated_images/AND-OR-Tree.5592d2c70187f283703c8e9c0d69d6a786eb370f4ace67f9a7aae5ada3d260b0.ro.png)
![Arbore AND-OR](../../../../translated_images/AND-OR-Tree.5592d2c70187f283.ro.png)
> Imagine de [Dmitry Soshnikov](http://soshnikov.com)

View File

@ -1259,7 +1259,7 @@
"* Pierdere mică în antrenament - modelul poate aproxima bine datele de antrenament, deoarece are suficientă putere expresivă.\n",
"* Pierderea pe validare poate fi mult mai mare decât pierderea pe antrenament și poate începe să crească în timpul antrenamentului - acest lucru se întâmplă deoarece modelul \"memorizează\" punctele de antrenament și pierde \"imaginea de ansamblu\".\n",
"\n",
"![Supraînvățare](../../../../../translated_images/overfit.a0bd57f717c157696f30c9c73fa7c3345c49b4280e412ff30c4a1a16ba29ff49.ro.png)\n",
"![Supraînvățare](../../../../../translated_images/overfit.a0bd57f717c15769.ro.png)\n",
"\n",
"> În această imagine, `x` reprezintă datele de antrenament, iar `o` - datele de validare. Stânga - model liniar (cu un singur strat), care aproximează destul de bine natura datelor. Dreapta - model supraînvățat, care aproximează perfect datele de antrenament, dar nu mai are sens pentru alte date (eroarea pe validare este foarte mare).\n"
]

View File

@ -58,7 +58,7 @@ Overfitting este un concept extrem de important în învățarea automată și e
Luați în considerare următoarea problemă de aproximare a 5 puncte (reprezentate de `x` pe graficele de mai jos):
![linear](../../../../../translated_images/overfit1.f24b71c6f652e59e6bed7245ffbeaecc3ba320e16e2221f6832b432052c4da43.ro.jpg) | ![overfit](../../../../../translated_images/overfit2.131f5800ae10ca5e41d12a411f5f705d9ee38b1b10916f284b787028dd55cc1c.ro.jpg)
![linear](../../../../../translated_images/overfit1.f24b71c6f652e59e.ro.jpg) | ![overfit](../../../../../translated_images/overfit2.131f5800ae10ca5e.ro.jpg)
-------------------------|--------------------------
**Model liniar, 2 parametri** | **Model neliniar, 7 parametri**
Eroare de antrenare = 5.3 | Eroare de antrenare = 0
@ -79,7 +79,7 @@ Este foarte important să găsim un echilibru corect între complexitatea modelu
Așa cum se vede din graficul de mai sus, overfitting poate fi detectat printr-o eroare de antrenare foarte mică și o eroare de validare mare. În mod normal, în timpul antrenării, vom vedea atât erorile de antrenare, cât și cele de validare începând să scadă, iar apoi, la un moment dat, eroarea de validare poate înceta să scadă și să înceapă să crească. Acesta va fi un semn de overfitting și un indicator că ar trebui să oprim antrenarea în acel moment (sau cel puțin să facem un snapshot al modelului).
![overfitting](../../../../../translated_images/Overfitting.408ad91cd90b4371d0a81f4287e1409c359751adeb1ae450332af50e84f08c3e.ro.png)
![overfitting](../../../../../translated_images/Overfitting.408ad91cd90b4371.ro.png)
## Cum prevenim overfitting

View File

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Introducere în Rețele Neuronale
![Rezumat al conținutului despre Introducerea în Rețele Neuronale într-un desen](../../../../translated_images/ai-neuralnetworks.1c687ae40bc86e834f497844866a26d3e0886650a67a4bbe29442e2f157d3b18.ro.png)
![Rezumat al conținutului despre Introducerea în Rețele Neuronale într-un desen](../../../../translated_images/ai-neuralnetworks.1c687ae40bc86e83.ro.png)
Așa cum am discutat în introducere, una dintre modalitățile de a obține inteligență este să antrenăm un **model computerizat** sau un **creier artificial**. Începând cu mijlocul secolului al XX-lea, cercetătorii au încercat diferite modele matematice, până când, în ultimii ani, această direcție s-a dovedit a fi extrem de eficientă. Aceste modele matematice ale creierului sunt numite **rețele neuronale**.
@ -36,13 +36,13 @@ Vom analiza cele mai comune două probleme din Învățarea Automată:
Din biologie, știm că creierul nostru este format din celule neuronale (neuroni), fiecare având multiple "intrări" (dendrite) și o singură "ieșire" (axon). Atât dendritele, cât și axonii pot conduce semnale electrice, iar conexiunile dintre ele — cunoscute sub numele de sinapse — pot prezenta grade variate de conductivitate, care sunt reglate de neurotransmițători.
![Model al unui Neuron](../../../../translated_images/synapse-wikipedia.ed20a9e4726ea1c6a3ce8fec51c0b9bec6181946dca0fe4e829bc12fa3bacf01.ro.jpg) | ![Model al unui Neuron](../../../../translated_images/artneuron.1a5daa88d20ebe6f5824ddb89fba0bdaaf49f67e8230c1afbec42909df1fc17e.ro.png)
![Model al unui Neuron](../../../../translated_images/synapse-wikipedia.ed20a9e4726ea1c6.ro.jpg) | ![Model al unui Neuron](../../../../translated_images/artneuron.1a5daa88d20ebe6f.ro.png)
----|----
Neuron Real *([Imagine](https://en.wikipedia.org/wiki/Synapse#/media/File:SynapseSchematic_lines.svg) de pe Wikipedia)* | Neuron Artificial *(Imagine de Autor)*
Astfel, cel mai simplu model matematic al unui neuron conține mai multe intrări X<sub>1</sub>, ..., X<sub>N</sub> și o ieșire Y, precum și o serie de ponderi W<sub>1</sub>, ..., W<sub>N</sub>. Ieșirea este calculată astfel:
<img src="../../../../translated_images/netout.1eb15eb76fd767313e067719f400cec4b0e5090239c3e997c29f6789d4c3c263.ro.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.ro.png" alt="Y = f\left(\sum_{i=1}^N X_iW_i\right)" width="131" height="53" align="center"/>
unde f este o **funcție de activare** neliniară.

View File

@ -73,14 +73,14 @@ De asemenea, poți folosi OpenCV pentru a încărca cadre video unul câte unul
* **Preprocesarea unei fotografii a unei cărți Braille**. Ne concentrăm pe modul în care putem utiliza thresholding, detectarea caracteristicilor, transformarea de perspectivă și manipulările NumPy pentru a separa simbolurile individuale Braille pentru clasificarea ulterioară de către o rețea neuronală.
![Imagine Braille](../../../../../translated_images/braille.341962ff76b1bd7044409371d3de09ced5028132aef97344ea4b7468c1208126.ro.jpeg) | ![Imagine Braille Preprocesată](../../../../../translated_images/braille-result.46530fea020b03c76aac532d7d6eeef7f6fb35b55b1001cd21627907dabef3ed.ro.png) | ![Simboluri Braille](../../../../../translated_images/braille-symbols.0159185ab69d533909dc4d7d26a1971b51401c6a80eb3a5584f250ea880af88b.ro.png)
![Imagine Braille](../../../../../translated_images/braille.341962ff76b1bd70.ro.jpeg) | ![Imagine Braille Preprocesată](../../../../../translated_images/braille-result.46530fea020b03c7.ro.png) | ![Simboluri Braille](../../../../../translated_images/braille-symbols.0159185ab69d5339.ro.png)
----|-----|-----
> Imagine din [OpenCV.ipynb](OpenCV.ipynb)
* **Detectarea mișcării în video folosind diferența dintre cadre**. Dacă camera este fixă, atunci cadrele din fluxul camerei ar trebui să fie destul de similare între ele. Deoarece cadrele sunt reprezentate ca matrice, doar prin scăderea acestor matrice pentru două cadre consecutive vom obține diferența de pixeli, care ar trebui să fie mică pentru cadre statice și să devină mai mare odată ce există o mișcare semnificativă în imagine.
![Imagine a cadrelor video și diferențelor dintre cadre](../../../../../translated_images/frame-difference.706f805491a0883c938e16447bf5eb2f7d69e812c7f743cbe7d7c7645168f81f.ro.png)
![Imagine a cadrelor video și diferențelor dintre cadre](../../../../../translated_images/frame-difference.706f805491a0883c.ro.png)
> Imagine din [OpenCV.ipynb](OpenCV.ipynb)
@ -89,7 +89,7 @@ De asemenea, poți folosi OpenCV pentru a încărca cadre video unul câte unul
- **Flux Optic Dens** calculează câmpul vectorial care arată pentru fiecare pixel unde se mișcă.
- **Flux Optic Rar** se bazează pe luarea unor caracteristici distinctive din imagine (de exemplu, margini) și construirea traiectoriei lor de la un cadru la altul.
![Imagine a Fluxului Optic](../../../../../translated_images/optical.1f4a94464579a83a10784f3c07fe7228514714b96782edf50e70ccd59d2d8c4f.ro.png)
![Imagine a Fluxului Optic](../../../../../translated_images/optical.1f4a94464579a83a.ro.png)
> Imagine din [OpenCV.ipynb](OpenCV.ipynb)

View File

@ -13,11 +13,11 @@ CO_OP_TRANSLATOR_METADATA:
VGG-16 este o rețea care a atins o acuratețe de 92.7% în clasificarea top-5 ImageNet în 2014. Structura sa de straturi este următoarea:
![Straturi ImageNet](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51baeaab3e768567d921e5d54befa46e1e642616c5458c934028.ro.jpg)
![Straturi ImageNet](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51ba.ro.jpg)
După cum se poate observa, VGG urmează o arhitectură tradițională de tip piramidă, care constă într-o secvență de straturi de convoluție și pooling.
![Piramida ImageNet](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49fdaa786e3f3a975b3f22615efd13efb19c5d22f12e01451a1.ro.jpg)
![Piramida ImageNet](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49f.ro.jpg)
> Imagine de la [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)

View File

@ -260,7 +260,7 @@
"\n",
"Astfel, într-un CNN tipic, ar exista mai multe straturi de convoluție, cu straturi de pooling între ele pentru a reduce dimensiunile imaginii. De asemenea, am crește numărul de filtre, deoarece, pe măsură ce modelele devin mai complexe, există mai multe combinații interesante pe care trebuie să le căutăm.\n",
"\n",
"![O imagine care arată mai multe straturi de convoluție cu straturi de pooling.](../../../../../translated_images/cnn-pyramid.85915455759ef0ce6a8cc9da2170492c85bfd9e1b61832650e2228e037039ec4.ro.png)\n",
"![O imagine care arată mai multe straturi de convoluție cu straturi de pooling.](../../../../../translated_images/cnn-pyramid.85915455759ef0ce.ro.png)\n",
"\n",
"Datorită reducerii dimensiunilor spațiale și creșterii dimensiunilor caracteristicilor/filtrelor, această arhitectură este numită și **arhitectură piramidală**.\n"
]

View File

@ -358,7 +358,7 @@
"\n",
"Astfel, într-un CNN tipic, ar exista mai multe straturi de convoluție, cu straturi de pooling între ele pentru a reduce dimensiunile imaginii. De asemenea, am crește numărul de filtre, deoarece, pe măsură ce modelele devin mai complexe, există mai multe combinații interesante pe care trebuie să le căutăm.\n",
"\n",
"![O imagine care arată mai multe straturi de convoluție cu straturi de pooling.](../../../../../translated_images/cnn-pyramid.85915455759ef0ce6a8cc9da2170492c85bfd9e1b61832650e2228e037039ec4.ro.png)\n",
"![O imagine care arată mai multe straturi de convoluție cu straturi de pooling.](../../../../../translated_images/cnn-pyramid.85915455759ef0ce.ro.png)\n",
"\n",
"Datorită reducerii dimensiunilor spațiale și creșterii dimensiunilor caracteristicilor/filtrelor, această arhitectură este numită și **arhitectură piramidală**.\n"
]

View File

@ -17,7 +17,7 @@ Am văzut anterior că rețelele neuronale sunt destul de bune la procesarea ima
Pentru a extrage tipare, vom folosi noțiunea de **filtre convoluționale**. După cum știți, o imagine este reprezentată printr-o matrice 2D sau un tensor 3D cu adâncime de culoare. Aplicarea unui filtru înseamnă că luăm o matrice relativ mică numită **kernel de filtru**, iar pentru fiecare pixel din imaginea originală calculăm media ponderată cu punctele vecine. Putem privi acest proces ca o fereastră mică care alunecă peste întreaga imagine și calculează media tuturor pixelilor conform greutăților din matricea kernelului de filtru.
![Filtru pentru margini verticale](../../../../../translated_images/filter-vert.b7148390ca0bc356ddc7e55555d2481819c1e86ddde9dce4db5e71a69d6f887f.ro.png) | ![Filtru pentru margini orizontale](../../../../../translated_images/filter-horiz.59b80ed4feb946efbe201a7fe3ca95abb3364e266e6fd90820cb893b4d3a6dda.ro.png)
![Filtru pentru margini verticale](../../../../../translated_images/filter-vert.b7148390ca0bc356.ro.png) | ![Filtru pentru margini orizontale](../../../../../translated_images/filter-horiz.59b80ed4feb946ef.ro.png)
----|----
> Imagine de Dmitry Soshnikov
@ -38,7 +38,7 @@ Modul în care funcționează CNN-urile se bazează pe următoarele idei importa
* Putem proiecta rețeaua astfel încât filtrele să fie antrenate automat
* Putem folosi aceeași abordare pentru a găsi tipare în caracteristici de nivel înalt, nu doar în imaginea originală. Astfel, extragerea caracteristicilor prin CNN funcționează pe o ierarhie de caracteristici, începând de la combinații de pixeli de nivel scăzut, până la combinații de nivel înalt ale părților imaginii.
![Extragerea ierarhică a caracteristicilor](../../../../../translated_images/FeatureExtractionCNN.d9b456cbdae7cb643fde3032b81b2940e3cf8be842e29afac3f482725ba7f95c.ro.png)
![Extragerea ierarhică a caracteristicilor](../../../../../translated_images/FeatureExtractionCNN.d9b456cbdae7cb64.ro.png)
> Imagine din [un articol de Hislop-Lynch](https://www.semanticscholar.org/paper/Computer-vision-based-pedestrian-trajectory-Hislop-Lynch/26e6f74853fc9bbb7487b06dc2cf095d36c9021d), bazat pe [cercetarea lor](https://dl.acm.org/doi/abs/10.1145/1553374.1553453)
@ -55,9 +55,9 @@ Majoritatea CNN-urilor utilizate pentru procesarea imaginilor urmează o așa-nu
Ca exemplu, să analizăm arhitectura VGG-16, o rețea care a obținut o acuratețe de 92.7% în clasificarea top-5 din ImageNet în 2014:
![Straturi ImageNet](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51baeaab3e768567d921e5d54befa46e1e642616c5458c934028.ro.jpg)
![Straturi ImageNet](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51ba.ro.jpg)
![Piramida ImageNet](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49fdaa786e3f3a975b3f22615efd13efb19c5d22f12e01451a1.ro.jpg)
![Piramida ImageNet](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49f.ro.jpg)
> Imagine de pe [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)

View File

@ -21,7 +21,7 @@ Trebuie să antrenezi o rețea neuronală convoluțională pentru a clasifica di
Vom folosi [Oxford-IIIT Pet Dataset](https://www.robots.ox.ac.uk/~vgg/data/pets/), care conține imagini ale 37 de rase diferite de câini și pisici.
![Dataset-ul cu care vom lucra](../../../../../../translated_images/data.50b2a9d5484bdbf0f52f5765b381cec9efe2bd296a98f007f90bedb6ac67f2a8.ro.png)
![Dataset-ul cu care vom lucra](../../../../../../translated_images/data.50b2a9d5484bdbf0.ro.png)
Pentru a descărca dataset-ul, folosește acest fragment de cod:

View File

@ -50,7 +50,7 @@
"\n",
"Pentru a vizualiza pisica ideală, vom începe cu o imagine de zgomot aleatoriu și vom încerca să folosim tehnica de optimizare prin gradient descent pentru a ajusta imaginea astfel încât o rețea să recunoască o pisică.\n",
"\n",
"![Bucla de Optimizare](../../../../../translated_images/ideal-cat-loop.999fbb8ff306e044f997032f4eef9152b453e6a990e449bbfb107de2493cc37e.ro.png)\n",
"![Bucla de Optimizare](../../../../../translated_images/ideal-cat-loop.999fbb8ff306e044.ro.png)\n",
"\n",
"Iată imaginea noastră de început:\n"
]

View File

@ -29,7 +29,7 @@ Atât Keras, cât și PyTorch conțin funcții pentru a încărca cu ușurință
Iată caracteristici extrase dintr-o imagine cu o pisică de către rețeaua VGG-16:
![Caracteristici extrase de VGG-16](../../../../../translated_images/features.6291f9c7ba3a0b951af88fc9864632b9115365410765680680d30c927dd67354.ro.png)
![Caracteristici extrase de VGG-16](../../../../../translated_images/features.6291f9c7ba3a0b95.ro.png)
## Setul de Date Pisici vs. Câini
@ -48,19 +48,19 @@ Rețeaua neuronală pre-antrenată conține diferite modele în "creierul" său,
O abordare pe care o putem adopta este să începem cu o imagine aleatorie și apoi să folosim tehnica de optimizare **gradient descent** pentru a ajusta acea imagine astfel încât rețeaua să înceapă să creadă că este o pisică.
![Buclă de Optimizare a Imaginilor](../../../../../translated_images/ideal-cat-loop.999fbb8ff306e044f997032f4eef9152b453e6a990e449bbfb107de2493cc37e.ro.png)
![Buclă de Optimizare a Imaginilor](../../../../../translated_images/ideal-cat-loop.999fbb8ff306e044.ro.png)
Totuși, dacă facem acest lucru, vom obține ceva foarte asemănător cu un zgomot aleatoriu. Acest lucru se întâmplă deoarece *există multe moduri prin care rețeaua poate crede că imaginea de intrare este o pisică*, inclusiv unele care nu au sens vizual. Deși aceste imagini conțin multe modele tipice pentru o pisică, nu există nimic care să le constrângă să fie distincte vizual.
Pentru a îmbunătăți rezultatul, putem adăuga un alt termen în funcția de pierdere, numit **pierdere de variație**. Este o metrică care arată cât de similari sunt pixelii vecini ai imaginii. Minimizarea pierderii de variație face imaginea mai netedă și elimină zgomotul - dezvăluind astfel modele mai atractive vizual. Iată un exemplu de astfel de imagini "ideale", care sunt clasificate ca pisică și ca zebră cu o probabilitate mare:
![Pisică Ideală](../../../../../translated_images/ideal-cat.203dd4597643d6b0bd73038b87f9c0464322725e3a06ab145d25d4a861c70592.ro.png) | ![Zebră Ideală](../../../../../translated_images/ideal-zebra.7f70e8b54ee15a7a314000bb5df38a6cfe086ea04d60df4d3ef313d046b98a2b.ro.png)
![Pisică Ideală](../../../../../translated_images/ideal-cat.203dd4597643d6b0.ro.png) | ![Zebră Ideală](../../../../../translated_images/ideal-zebra.7f70e8b54ee15a7a.ro.png)
-----|-----
*Pisică Ideală* | *Zebră Ideală*
O abordare similară poate fi utilizată pentru a efectua așa-numitele **atacuri adversariale** asupra unei rețele neuronale. Să presupunem că dorim să păcălim o rețea neuronală și să facem un câine să arate ca o pisică. Dacă luăm imaginea unui câine, care este recunoscută de rețea ca fiind un câine, putem apoi să o ajustăm puțin folosind optimizarea gradient descent, până când rețeaua începe să o clasifice ca fiind o pisică:
![Imaginea unui Câine](../../../../../translated_images/original-dog.8f68a67d2fe0911f33041c0f7fce8aa4ea919f9d3917ec4b468298522aeb6356.ro.png) | ![Imaginea unui câine clasificat ca pisică](../../../../../translated_images/adversarial-dog.d9fc7773b0142b89752539bfbf884118de845b3851c5162146ea0b8809fc820f.ro.png)
![Imaginea unui Câine](../../../../../translated_images/original-dog.8f68a67d2fe0911f.ro.png) | ![Imaginea unui câine clasificat ca pisică](../../../../../translated_images/adversarial-dog.d9fc7773b0142b89.ro.png)
-----|-----
*Imagine originală a unui câine* | *Imaginea unui câine clasificat ca pisică*

View File

@ -21,7 +21,7 @@
"\n",
"Deoarece antrenăm autoencoderul să capteze cât mai multe informații din imaginea originală pentru o reconstrucție precisă, rețeaua încearcă să găsească cea mai bună **reprezentare** a imaginilor de intrare pentru a surprinde semnificația.\n",
"\n",
"![Diagrama AutoEncoder](../../../../../translated_images/autoencoder_schema.5e6fc9ad98a5eb6197f3513cf3baf4dfbe1389a6ae74daebda64de9f1c99f142.ro.jpg)\n",
"![Diagrama AutoEncoder](../../../../../translated_images/autoencoder_schema.5e6fc9ad98a5eb61.ro.jpg)\n",
"\n",
"> Imagine de pe [blogul Keras](https://blog.keras.io/building-autoencoders-in-keras.html)\n",
"\n",

View File

@ -19,7 +19,7 @@
"\n",
"Deoarece antrenăm autoencoderul să capteze cât mai multe informații din imaginea originală pentru o reconstrucție precisă, rețeaua încearcă să găsească cea mai bună **reprezentare** a imaginilor de intrare pentru a surprinde semnificația.\n",
"\n",
"![Diagrama AutoEncoder](../../../../../translated_images/autoencoder_schema.5e6fc9ad98a5eb6197f3513cf3baf4dfbe1389a6ae74daebda64de9f1c99f142.ro.jpg)\n",
"![Diagrama AutoEncoder](../../../../../translated_images/autoencoder_schema.5e6fc9ad98a5eb61.ro.jpg)\n",
"\n",
"*Imagine preluată de pe [blogul Keras](https://blog.keras.io/building-autoencoders-in-keras.html)*\n",
"\n",

View File

@ -19,7 +19,7 @@ Totuși, s-ar putea să dorim să folosim date brute (neetichetate) pentru a ant
Deoarece antrenăm un autoencoder pentru a captura cât mai multă informație din imaginea originală pentru o reconstrucție precisă, rețeaua încearcă să găsească cea mai bună **reprezentare** a imaginilor de intrare pentru a surprinde semnificația acestora.
![Diagrama Autoencoder](../../../../../translated_images/autoencoder_schema.5e6fc9ad98a5eb6197f3513cf3baf4dfbe1389a6ae74daebda64de9f1c99f142.ro.jpg)
![Diagrama Autoencoder](../../../../../translated_images/autoencoder_schema.5e6fc9ad98a5eb61.ro.jpg)
> Imagine de pe [blogul Keras](https://blog.keras.io/building-autoencoders-in-keras.html)

View File

@ -13,7 +13,7 @@ Modelele de clasificare a imaginilor pe care le-am abordat până acum au luat o
## [Chestionar înainte de lecție](https://ff-quizzes.netlify.app/en/ai/quiz/21)
![Detectarea Obiectelor](../../../../../translated_images/Screen_Shot_2016-11-17_at_11.14.54_AM.b4bb3769353287be1b905373ed9c858102c054b16e4595c76ec3f7bba0feb549.ro.png)
![Detectarea Obiectelor](../../../../../translated_images/Screen_Shot_2016-11-17_at_11.14.54_AM.b4bb3769353287be.ro.png)
> Imagine de pe [site-ul YOLO v2](https://pjreddie.com/darknet/yolov2/)
@ -25,7 +25,7 @@ Presupunând că dorim să găsim o pisică într-o imagine, o abordare foarte n
2. Aplicăm clasificarea imaginilor pe fiecare secțiune.
3. Secțiunile care generează o activare suficient de mare pot fi considerate ca conținând obiectul în cauză.
![Detectare Naivă a Obiectelor](../../../../../translated_images/naive-detection.e7f1ba220ccd08c68a2ea8e06a7ed75c3fcc738c2372f9e00b7f4299a8659c01.ro.png)
![Detectare Naivă a Obiectelor](../../../../../translated_images/naive-detection.e7f1ba220ccd08c6.ro.png)
> *Imagine din [Notebook-ul de exerciții](ObjectDetection-TF.ipynb)*
@ -42,7 +42,7 @@ Este posibil să întâlniți următoarele seturi de date pentru această sarcin
* [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/) - 20 clase
* [COCO](http://cocodataset.org/#home) - Obiecte Comune în Context. 80 clase, casete de delimitare și măști de segmentare
![COCO](../../../../../translated_images/coco-examples.71bc60380fa6cceb7caad48bd09e35b6028caabd363aa04fee89c414e0870e86.ro.jpg)
![COCO](../../../../../translated_images/coco-examples.71bc60380fa6cceb.ro.jpg)
## Metrice pentru Detectarea Obiectelor
@ -50,7 +50,7 @@ Este posibil să întâlniți următoarele seturi de date pentru această sarcin
În timp ce pentru clasificarea imaginilor este ușor să măsurăm cât de bine performează algoritmul, pentru detectarea obiectelor trebuie să măsurăm atât corectitudinea clasei, cât și precizia locației casetei de delimitare inferate. Pentru aceasta din urmă, folosim așa-numita **Intersecția peste Uniune** (IoU), care măsoară cât de bine se suprapun două casete (sau două zone arbitrare).
![IoU](../../../../../translated_images/iou_equation.9a4751d40fff4e119ecd0a7bcca4e71ab1dc83e0d4f2a0d66ff0859736f593cf.ro.png)
![IoU](../../../../../translated_images/iou_equation.9a4751d40fff4e11.ro.png)
> *Figura 2 din [acest articol excelent despre IoU](https://pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/)*
@ -98,11 +98,11 @@ Există două clase largi de algoritmi de detectare a obiectelor:
[R-CNN](http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf) folosește [Selective Search](http://www.huppelen.nl/publications/selectiveSearchDraft.pdf) pentru a genera o structură ierarhică de regiuni ROI, care sunt apoi trecute prin extractoare de caracteristici CNN și clasificatoare SVM pentru a determina clasa obiectului, și regresie liniară pentru a determina coordonatele *casetei de delimitare*. [Lucrare oficială](https://arxiv.org/pdf/1506.01497v1.pdf)
![RCNN](../../../../../translated_images/rcnn1.cae407020dfb1d1fb572656e44f75cd6c512cc220591c116c506652c10e47f26.ro.png)
![RCNN](../../../../../translated_images/rcnn1.cae407020dfb1d1f.ro.png)
> *Imagine de van de Sande et al. ICCV11*
![RCNN-1](../../../../../translated_images/rcnn2.2d9530bb83516484ec65b250c22dbf37d3d23244f32864ebcb91d98fe7c3112c.ro.png)
![RCNN-1](../../../../../translated_images/rcnn2.2d9530bb83516484.ro.png)
> *Imagini din [acest blog](https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e)*
@ -110,7 +110,7 @@ Există două clase largi de algoritmi de detectare a obiectelor:
Această abordare este similară cu R-CNN, dar regiunile sunt definite după ce straturile de convoluție au fost aplicate.
![FRCNN](../../../../../translated_images/f-rcnn.3cda6d9bb41888754037d2d9763e2298a96de5d9bc2a21db3147357aa5da9b1a.ro.png)
![FRCNN](../../../../../translated_images/f-rcnn.3cda6d9bb4188875.ro.png)
> Imagine din [Lucrarea Oficială](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 @@ Această abordare este similară cu R-CNN, dar regiunile sunt definite după ce
Ideea principală a acestei abordări este de a folosi o rețea neuronală pentru a prezice ROI-urile - așa-numita *Rețea de Propunere a Regiunilor*. [Lucrare](https://arxiv.org/pdf/1506.01497.pdf), 2016
![FasterRCNN](../../../../../translated_images/faster-rcnn.8d46c099b87ef30ab2ea26dbc4bdd85b974a57ba8eb526f65dc4cd0a4711de30.ro.png)
![FasterRCNN](../../../../../translated_images/faster-rcnn.8d46c099b87ef30a.ro.png)
> Imagine din [lucrarea oficială](https://arxiv.org/pdf/1506.01497.pdf)
@ -130,7 +130,7 @@ Acest algoritm este chiar mai rapid decât Faster R-CNN. Ideea principală este
2. Caracteristicile sunt procesate de **Position-Sensitive Score Map**. Fiecare obiect din $C$ clase este împărțit în regiuni $k\times k$, și antrenăm pentru a prezice părți ale obiectelor.
3. Pentru fiecare parte din regiunile $k\times k$, toate rețelele votează pentru clasele de obiecte, iar clasa de obiect cu votul maxim este selectată.
![r-fcn image](../../../../../translated_images/r-fcn.13eb88158b99a3da50fa2787a6be5cb310d47f0e9655cc93a1090dc7aab338d1.ro.png)
![r-fcn image](../../../../../translated_images/r-fcn.13eb88158b99a3da.ro.png)
> Imagine din [lucrarea oficială](https://arxiv.org/abs/1605.06409)
@ -141,7 +141,7 @@ YOLO este un algoritm în timp real, cu o singură trecere. Ideea principală es
* Imaginea este împărțită în regiuni $S\times S$.
* Pentru fiecare regiune, **CNN** prezice $n$ obiecte posibile, coordonatele *casetei de delimitare* și *încrederea*=*probabilitatea* * IoU.
![YOLO](../../../../../translated_images/yolo.a2648ec82ee8bb4ea27537677adb482fd4b733ca1705c561b6a24a85102dced5.ro.png)
![YOLO](../../../../../translated_images/yolo.a2648ec82ee8bb4e.ro.png)
> Imagine din [lucrarea oficială](https://arxiv.org/abs/1506.02640)

View File

@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Viziune Computerizată
![Rezumat al conținutului despre Viziune Computerizată într-un desen](../../../../translated_images/ai-computervision.6506ebebac3fbf76cdb78989d7d3dfea87e88285c0feaade53aa7804a22b248f.ro.png)
![Rezumat al conținutului despre Viziune Computerizată într-un desen](../../../../translated_images/ai-computervision.6506ebebac3fbf76.ro.png)
În această secțiune vom învăța despre:

View File

@ -199,7 +199,7 @@
"\n",
"Reprezentarea vectorială **Bag of Words** (BoW) este cea mai utilizată metodă tradițională de reprezentare vectorială. Fiecare cuvânt este asociat unui index vectorial, iar elementul vectorului conține numărul de apariții ale unui cuvânt într-un document dat.\n",
"\n",
"![Imagine care arată cum este reprezentată în memorie metoda bag of words.](../../../../../translated_images/bag-of-words-example.606fc1738f1d7ba98a9d693e3bcd706c6e83fa7bf8221e6e90d1a206d82f2ea4.ro.png) \n",
"![Imagine care arată cum este reprezentată în memorie metoda bag of words.](../../../../../translated_images/bag-of-words-example.606fc1738f1d7ba9.ro.png) \n",
"\n",
"> **Note**: Poți să te gândești la BoW și ca la o sumă a tuturor vectorilor one-hot-encoded pentru cuvintele individuale din text.\n",
"\n",

View File

@ -188,7 +188,7 @@
"\n",
"Reprezentarea vectorială **Bag-of-words** (BoW) este cea mai simplă de înțeles dintre reprezentările vectoriale tradiționale. Fiecare cuvânt este asociat unui index vectorial, iar un element al vectorului conține numărul de apariții ale fiecărui cuvânt într-un document dat.\n",
"\n",
"![Imagine care arată cum este reprezentată în memorie o reprezentare vectorială bag-of-words.](../../../../../translated_images/bag-of-words-example.606fc1738f1d7ba98a9d693e3bcd706c6e83fa7bf8221e6e90d1a206d82f2ea4.ro.png) \n",
"![Imagine care arată cum este reprezentată în memorie o reprezentare vectorială bag-of-words.](../../../../../translated_images/bag-of-words-example.606fc1738f1d7ba9.ro.png) \n",
"\n",
"> **Note**: Poți considera BoW și ca o sumă a tuturor vectorilor one-hot-encoded pentru cuvintele individuale din text.\n",
"\n",

View File

@ -62,7 +62,7 @@
"\n",
"Folosind stratul de embedding ca prim strat în rețeaua noastră, putem trece de la modelul bag-of-words la modelul **embedding bag**, unde mai întâi convertim fiecare cuvânt din textul nostru în embedding-ul corespunzător, iar apoi calculăm o funcție de agregare peste toate aceste embedding-uri, cum ar fi `sum`, `average` sau `max`.\n",
"\n",
"![Imagine care arată un clasificator embedding pentru cinci cuvinte dintr-o secvență.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eeec8e68bfe11636c5b97d6eaa067515a129bfb1d0034b1ac5b.ro.png)\n",
"![Imagine care arată un clasificator embedding pentru cinci cuvinte dintr-o secvență.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eee.ro.png)\n",
"\n",
"Rețeaua noastră neuronală de clasificare va începe cu un strat de embedding, urmat de un strat de agregare și un clasificator liniar deasupra acestuia:\n"
]
@ -176,7 +176,7 @@
"\n",
"În arhitectura anterioară, a fost necesar să completăm toate secvențele la aceeași lungime pentru a le încadra într-un minibatch. Aceasta nu este cea mai eficientă metodă de a reprezenta secvențele de lungime variabilă - o altă abordare ar fi utilizarea unui vector de **offset**, care ar conține offset-urile tuturor secvențelor stocate într-un singur vector mare.\n",
"\n",
"![Imagine care arată o reprezentare a secvențelor cu offset](../../../../../translated_images/offset-sequence-representation.eb73fcefb29b46eecfbe74466077cfeb7c0f93a4f254850538a2efbc63517479.ro.png)\n",
"![Imagine care arată o reprezentare a secvențelor cu offset](../../../../../translated_images/offset-sequence-representation.eb73fcefb29b46ee.ro.png)\n",
"\n",
"> **Note**: În imaginea de mai sus, este prezentată o secvență de caractere, dar în exemplul nostru lucrăm cu secvențe de cuvinte. Totuși, principiul general de reprezentare a secvențelor cu un vector de offset rămâne același.\n",
"\n",
@ -311,7 +311,7 @@
"\n",
"CBoW este mai rapid, în timp ce skip-gram este mai lent, dar oferă o reprezentare mai bună pentru cuvintele rare.\n",
"\n",
"![Imagine care arată algoritmii CBoW și Skip-Gram pentru conversia cuvintelor în vectori.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.ro.png)\n",
"![Imagine care arată algoritmii CBoW și Skip-Gram pentru conversia cuvintelor în vectori.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.ro.png)\n",
"\n",
"Pentru a experimenta cu încapsulările word2vec pre-antrenate pe setul de date Google News, putem folosi biblioteca **gensim**. Mai jos găsim cuvintele cele mai similare cu 'neural'.\n",
"\n",

View File

@ -37,7 +37,7 @@
"\n",
"Folosind un strat de embedding ca prim strat în rețeaua noastră, putem trece de la modelul bag-of-words la un model **embedding bag**, unde mai întâi convertim fiecare cuvânt din textul nostru în embedding-ul corespunzător, iar apoi calculăm o funcție agregată pentru toate aceste embedding-uri, cum ar fi `sum`, `average` sau `max`.\n",
"\n",
"![Imagine care arată un clasificator embedding pentru cinci cuvinte dintr-o secvență.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eeec8e68bfe11636c5b97d6eaa067515a129bfb1d0034b1ac5b.ro.png)\n",
"![Imagine care arată un clasificator embedding pentru cinci cuvinte dintr-o secvență.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eee.ro.png)\n",
"\n",
"Rețeaua noastră neurală de clasificare constă din următoarele straturi:\n",
"\n",
@ -283,7 +283,7 @@
"\n",
"CBoW este mai rapid, iar skip-gram, deși mai lent, face o treabă mai bună în reprezentarea cuvintelor rare.\n",
"\n",
"![Imagine care ilustrează algoritmii CBoW și Skip-Gram pentru conversia cuvintelor în vectori.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.ro.png)\n",
"![Imagine care ilustrează algoritmii CBoW și Skip-Gram pentru conversia cuvintelor în vectori.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.ro.png)\n",
"\n",
"Pentru a experimenta cu încapsularea Word2Vec preantrenată pe setul de date Google News, putem folosi biblioteca **gensim**. Mai jos găsim cuvintele cele mai similare cu 'neural'.\n",
"\n",

View File

@ -19,7 +19,7 @@ Astfel, stratul de încapsulare ar lua un cuvânt ca intrare și ar produce un v
Folosind un strat de încapsulare ca prim strat în rețeaua noastră de clasificare, putem trece de la un model bag-of-words la un model **embedding bag**, unde mai întâi convertim fiecare cuvânt din textul nostru în încapsularea corespunzătoare, și apoi calculăm o funcție agregată peste toate aceste încapsulări, cum ar fi `sum`, `average` sau `max`.
![Imagine care arată un clasificator bazat pe încapsulări pentru cinci cuvinte dintr-o secvență.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eeec8e68bfe11636c5b97d6eaa067515a129bfb1d0034b1ac5b.ro.png)
![Imagine care arată un clasificator bazat pe încapsulări pentru cinci cuvinte dintr-o secvență.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eee.ro.png)
> Imagine realizată de autor
@ -40,7 +40,7 @@ Pentru a face acest lucru, trebuie să pre-antrenăm modelul de încapsulare pe
CBoW este mai rapid, în timp ce skip-gram este mai lent, dar face o treabă mai bună în reprezentarea cuvintelor rare.
![Imagine care arată algoritmii CBoW și Skip-Gram pentru conversia cuvintelor în vectori.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.ro.png)
![Imagine care arată algoritmii CBoW și Skip-Gram pentru conversia cuvintelor în vectori.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.ro.png)
> Imagine din [acest articol](https://arxiv.org/pdf/1301.3781.pdf)

View File

@ -23,7 +23,7 @@ Ideea principală din spatele modelării limbajului este antrenarea acestora pe
* **Continuous Bag-of-Words** (CBoW), când prezicem tokenul din mijloc $W_0$ într-o secvență de tokeni $W_{-N}$, ..., $W_N$.
* **Skip-gram**, unde prezicem un set de tokeni vecini {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} pornind de la tokenul din mijloc $W_0$.
![imagine dintr-un articol despre convertirea cuvintelor în vectori](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.ro.png)
![imagine dintr-un articol despre convertirea cuvintelor în vectori](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.ro.png)
> Imagine din [acest articol](https://arxiv.org/pdf/1301.3781.pdf)

View File

@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
Pentru a capta sensul unei secvențe de text, trebuie să utilizăm o altă arhitectură de rețea neuronală, numită **rețea neuronală recurentă**, sau RNN. În RNN, trecem propoziția prin rețea, un simbol la un moment dat, iar rețeaua produce un **stare**, pe care o trecem din nou prin rețea împreună cu următorul simbol.
![RNN](../../../../../translated_images/rnn.27f5c29c53d727b546ad3961637a267f0fe9ec5ab01f2a26a853c92fcefbb574.ro.png)
![RNN](../../../../../translated_images/rnn.27f5c29c53d727b5.ro.png)
> Imagine realizată de autor
@ -61,7 +61,7 @@ Am discutat despre rețelele recurente care operează într-o singură direcție
O rețea recurentă, fie unidirecțională, fie bidirecțională, captează anumite modele dintr-o secvență și le poate stoca într-un vector de stare sau le poate transmite ca ieșire. La fel ca în cazul rețelelor convoluționale, putem construi un alt strat recurent deasupra primului pentru a capta modele de nivel superior și a construi din modelele de nivel inferior extrase de primul strat. Acest lucru ne conduce la noțiunea de **RNN multistrat**, care constă din două sau mai multe rețele recurente, unde ieșirea stratului anterior este transmisă stratului următor ca intrare.
![Imagine care arată un RNN LSTM multistrat](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe58b429db833932d734c81f211cad2783797a9608984acb8c.ro.jpg)
![Imagine care arată un RNN LSTM multistrat](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe.ro.jpg)
*Imagine din [acest articol minunat](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) de Fernando López*

View File

@ -422,7 +422,7 @@
"\n",
"O rețea recurentă, fie unidirecțională, fie bidirecțională, captează anumite modele dintr-o secvență și le poate stoca în vectorul de stare sau le poate transmite în ieșire. La fel ca în cazul rețelelor convoluționale, putem construi un alt strat recurent deasupra primului pentru a capta modele de nivel superior, construite din modelele de nivel inferior extrase de primul strat. Acest lucru ne conduce la conceptul de **RNN multilayer**, care constă din două sau mai multe rețele recurente, unde ieșirea stratului anterior este transmisă stratului următor ca intrare.\n",
"\n",
"![Imagine care arată un RNN multilayer cu memorie pe termen lung și scurt](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe58b429db833932d734c81f211cad2783797a9608984acb8c.ro.jpg)\n",
"![Imagine care arată un RNN multilayer cu memorie pe termen lung și scurt](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe.ro.jpg)\n",
"\n",
"*Imagine din [această postare minunată](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) de Fernando López*\n",
"\n",

View File

@ -10,7 +10,7 @@
"\n",
"Pentru a capta semnificația unei secvențe de text, vom folosi o arhitectură de rețea neuronală numită **rețea neuronală recurentă**, sau RNN. Când utilizăm o RNN, trecem propoziția prin rețea, un token pe rând, iar rețeaua produce un **statut**, pe care îl transmitem din nou rețelei împreună cu următorul token.\n",
"\n",
"![Imagine care arată un exemplu de generare a unei rețele neuronale recurente.](../../../../../translated_images/rnn.27f5c29c53d727b546ad3961637a267f0fe9ec5ab01f2a26a853c92fcefbb574.ro.png)\n",
"![Imagine care arată un exemplu de generare a unei rețele neuronale recurente.](../../../../../translated_images/rnn.27f5c29c53d727b5.ro.png)\n",
"\n",
"Având secvența de intrare de tokeni $X_0,\\dots,X_n$, RNN creează o secvență de blocuri de rețea neuronală și antrenează această secvență cap-coadă folosind retropropagarea. Fiecare bloc de rețea ia o pereche $(X_i,S_i)$ ca intrare și produce $S_{i+1}$ ca rezultat. Statutul final $S_n$ sau ieșirea $Y_n$ este transmisă unui clasificator liniar pentru a produce rezultatul. Toate blocurile de rețea împărtășesc aceleași greutăți și sunt antrenate cap-coadă folosind o singură trecere de retropropagare.\n",
"\n",
@ -369,7 +369,7 @@
"\n",
"Rețelele recurente, unidirecționale sau bidirecționale, captează modele dintr-o secvență și le stochează în vectori de stare sau le returnează ca ieșire. La fel ca în cazul rețelelor convoluționale, putem construi un alt strat recurent care urmează primului pentru a capta modele de nivel superior, construite din modelele de nivel inferior extrase de primul strat. Acest lucru ne conduce la noțiunea de **RNN multilayer**, care constă din două sau mai multe rețele recurente, unde ieșirea stratului anterior este transmisă stratului următor ca intrare.\n",
"\n",
"![Imagine care arată un RNN multilayer cu memorie pe termen lung și scurt](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe58b429db833932d734c81f211cad2783797a9608984acb8c.ro.jpg)\n",
"![Imagine care arată un RNN multilayer cu memorie pe termen lung și scurt](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe.ro.jpg)\n",
"\n",
"*Imagine din [această postare minunată](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) de Fernando López.*\n",
"\n",

View File

@ -119,7 +119,7 @@
"\n",
"Modul în care vom antrena RNN pentru a genera text este următorul. La fiecare pas, vom lua o secvență de caractere de lungime `nchars` și vom cere rețelei să genereze următorul caracter de ieșire pentru fiecare caracter de intrare:\n",
"\n",
"![Imagine care arată un exemplu de generare RNN a cuvântului 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d63a7c16ea9c1b86cb70e6e1eae6a742b56b7b37468576b17.ro.png)\n",
"![Imagine care arată un exemplu de generare RNN a cuvântului 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d.ro.png)\n",
"\n",
"În funcție de scenariul concret, este posibil să dorim să includem și câteva caractere speciale, cum ar fi *sfârșit-de-secvență* `<eos>`. În cazul nostru, dorim doar să antrenăm rețeaua pentru generarea continuă de text, așa că vom fixa dimensiunea fiecărei secvențe să fie egală cu `nchars` tokeni. Prin urmare, fiecare exemplu de antrenament va consta din `nchars` intrări și `nchars` ieșiri (care sunt secvența de intrare deplasată cu un simbol spre stânga). Un minibatch va consta din mai multe astfel de secvențe.\n",
"\n",

View File

@ -111,7 +111,7 @@
"\n",
"Modul în care vom antrena RNN pentru a genera titluri de știri este următorul. La fiecare pas, vom lua un titlu, care va fi introdus într-un RNN, iar pentru fiecare caracter de intrare vom cere rețelei să genereze următorul caracter de ieșire:\n",
"\n",
"![Imagine care arată un exemplu de generare RNN a cuvântului 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d63a7c16ea9c1b86cb70e6e1eae6a742b56b7b37468576b17.ro.png)\n",
"![Imagine care arată un exemplu de generare RNN a cuvântului 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d.ro.png)\n",
"\n",
"Pentru ultimul caracter al secvenței noastre, vom cere rețelei să genereze token-ul `<eos>`.\n",
"\n",

View File

@ -19,7 +19,7 @@ Rețelele Neuronale Recurente (RNN) și variantele lor cu celule cu porți, cum
Acest lucru permite diferite arhitecturi neuronale, așa cum sunt prezentate în imaginea de mai jos:
![Imagine care arată modele comune de rețele neuronale recurente.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42dce6c42d8a56c184729aa2378d059b851be4ce12b993033df.ro.jpg)
![Imagine care arată modele comune de rețele neuronale recurente.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42d.ro.jpg)
> Imagine din articolul [Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) de [Andrej Karpathy](http://karpathy.github.io/)
@ -32,7 +32,7 @@ Acest lucru permite diferite arhitecturi neuronale, așa cum sunt prezentate în
Vom antrena acest RNN pentru a genera text pas cu pas. La fiecare pas, vom lua o secvență de caractere de lungime `nchars` și vom cere rețelei să genereze următorul caracter de ieșire pentru fiecare caracter de intrare:
![Imagine care arată un exemplu de generare RNN a cuvântului 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d63a7c16ea9c1b86cb70e6e1eae6a742b56b7b37468576b17.ro.png)
![Imagine care arată un exemplu de generare RNN a cuvântului 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d.ro.png)
Când generăm text (în timpul inferenței), începem cu un **prompt**, care este trecut prin celulele RNN pentru a genera starea intermediară, iar apoi, din această stare, începe generarea. Generăm un caracter pe rând și transmitem starea și caracterul generat unei alte celule RNN pentru a genera următorul, până când generăm suficiente caractere.

View File

@ -20,13 +20,13 @@ Cu RNN-uri, sarcinile de tip sequence-to-sequence sunt implementate prin două r
**Mecanismele de Atenție** oferă o modalitate de a pondera impactul contextual al fiecărui vector de intrare asupra fiecărei predicții de ieșire a RNN-ului. Modul în care este implementat constă în crearea unor scurtături între stările intermediare ale RNN-ului de intrare și RNN-ul de ieșire. Astfel, atunci când generăm simbolul de ieșire y<sub>t</sub>, vom lua în considerare toate stările ascunse de intrare h<sub>i</sub>, cu diferiți coeficienți de greutate &alpha;<sub>t,i</sub>.
![Imagine care arată un model encoder/decoder cu un strat de atenție aditiv](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567aa2898c94b17b3289087f6705c11907df8301df9e5eeb3de.ro.png)
![Imagine care arată un model encoder/decoder cu un strat de atenție aditiv](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567.ro.png)
> Modelul encoder-decoder cu mecanism de atenție aditiv din [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), citat din [acest articol de blog](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)
Matricea de atenție {&alpha;<sub>i,j</sub>} ar reprezenta gradul în care anumite cuvinte de intrare contribuie la generarea unui cuvânt dat în secvența de ieșire. Mai jos este un exemplu al unei astfel de matrice:
![Imagine care arată o aliniere exemplară găsită de RNNsearch-50, preluată din Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af11de6c82d2d197830ba5f4528d9ea430eb65fd3a75065973.ro.png)
![Imagine care arată o aliniere exemplară găsită de RNNsearch-50, preluată din Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af.ro.png)
> Figură din [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Fig.3)
@ -66,7 +66,7 @@ Rezultatul pe care îl obținem cu încorporarea pozițională încorporează at
Următorul pas este capturarea unor tipare în cadrul secvenței noastre. Pentru a face acest lucru, transformerele folosesc un mecanism de **auto-atenție**, care este, în esență, atenție aplicată aceleași secvențe ca intrare și ieșire. Aplicarea auto-atenției ne permite să luăm în considerare **contextul** din propoziție și să vedem care cuvinte sunt inter-relaționate. De exemplu, ne permite să vedem care cuvinte sunt referite prin coreferințe, cum ar fi *it*, și să luăm contextul în considerare:
![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d68d8d0039d06a71a151f18a796b8b1330239d3590bd4947eb.ro.png)
![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d6.ro.png)
> Imagine din [Blogul Google](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html)
@ -91,7 +91,7 @@ Deoarece fiecare poziție de intrare este mapată independent la fiecare poziți
**BERT** (Bidirectional Encoder Representations from Transformers) este o rețea transformer foarte mare, cu mai multe straturi: 12 straturi pentru *BERT-base* și 24 pentru *BERT-large*. Modelul este mai întâi pre-antrenat pe un corpus mare de date text (Wikipedia + cărți) folosind antrenare nesupravegheată (prezicerea cuvintelor mascate într-o propoziție). În timpul pre-antrenării, modelul dobândește niveluri semnificative de înțelegere a limbajului, care pot fi apoi utilizate cu alte seturi de date prin ajustare fină. Acest proces se numește **învățare transferabilă**.
![imagine de pe http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362e39ee4381aab7cad06b5465a0b5f053a0f2aa05fbe14e746.ro.png)
![imagine de pe http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362.ro.png)
> Imagine [sursă](http://jalammar.github.io/illustrated-bert/)