diff --git a/3-NeuralNetworks/05-Frameworks/README.md b/3-NeuralNetworks/05-Frameworks/README.md index df3e6a940370b23b9bc7122bbc0d897e1bb9f740..2b721e8e10b9a1e5d3077d30ace25ad89d42b831 100644 --- a/3-NeuralNetworks/05-Frameworks/README.md +++ b/3-NeuralNetworks/05-Frameworks/README.md @@ -9,9 +9,9 @@ While `numpy` library can do the first part, we need some mechanism to compute g Another important thing is to be able to perform computations on GPU, or any other specialized compute units, such as [TPU](https://en.wikipedia.org/wiki/Tensor_Processing_Unit). Deep neural network training requires *a lot* of computations, and to be able to parallelize those computations on GPUs is very important. -Currently, there are two most popular neural frameworks: [Tensorflow](http://tensorflow.org), and [PyTorch](https://pytorch.org/). Both provide low-level API to operate with tensors on both CPU and GPU. On top of the low-level API, there is also higher-level API, called [Keras](https://keras.io/) and [PyTorch Lightning](https://pytorchlightning.ai/) correspondingly. +Currently, there are two most popular neural frameworks: [TensorFlow](http://TensorFlow.org), and [PyTorch](https://pytorch.org/). Both provide low-level API to operate with tensors on both CPU and GPU. On top of the low-level API, there is also higher-level API, called [Keras](https://keras.io/) and [PyTorch Lightning](https://pytorchlightning.ai/) correspondingly. -Low-Level API | [TensorFlow](http://tensorflow.org) | [PyTorch](https://pytorch.org/) +Low-Level API | [TensorFlow](http://TensorFlow.org) | [PyTorch](https://pytorch.org/) --------------|-------------------------------------|-------------------------------- High-level API| [Keras](https://keras.io/) | [PyTorch Lightning](https://pytorchlightning.ai/) @@ -25,7 +25,7 @@ It is also important to understand that you can use both APIs together, eg. you ## Learning -In this course, we offer most of the content both for PyTorch and Tensorflow. You can chose your preferred framework and only go through the corresponding notebooks. If you are not sure which framework to chose - read some discussions on the internet regarding **PyTorch vs. Tensorflow**. You can also have a look at both frameworks to get better understanding. +In this course, we offer most of the content both for PyTorch and TensorFlow. You can chose your preferred framework and only go through the corresponding notebooks. If you are not sure which framework to chose - read some discussions on the internet regarding **PyTorch vs. TensorFlow**. You can also have a look at both frameworks to get better understanding. Where possible, we will use High-Level APIs for simplicity. However, we believe it is important to understand how neural networks work from the ground up, thus in the beginning we start by working with low-level API and tensors. However, if you want to get going fast and do not want to spend a lot of time on details, you can skip those, and go straight into high-level API notebooks. diff --git a/3-NeuralNetworks/README.md b/3-NeuralNetworks/README.md index 16b735179731cf43629981927573a6e6dbcd1bc1..a5598b610aa05d157e7f56562a609d6b727564a0 100644 --- a/3-NeuralNetworks/README.md +++ b/3-NeuralNetworks/README.md @@ -40,5 +40,5 @@ where f is some non-linear **activation function**. In this section we will learn about: * [Perceptron](03-Perceptron/README.md), one of the earliest neural network models for two-class classification * [Multi-layered networks](04-OwnFramework/README.md) and [how to build our own framework](04-OwnFramework/OwnFramework.ipynb) -* [Neural Network Frameworks](05-Frameworks/README.md), such as [PyTorch](05-Frameworks/IntroPyTorch.ipynb) and [Keras/Tensorflow](05-Frameworks/IntroKerasTF.ipynb) +* [Neural Network Frameworks](05-Frameworks/README.md), such as [PyTorch](05-Frameworks/IntroPyTorch.ipynb) and [Keras/TensorFlow](05-Frameworks/IntroKerasTF.ipynb) * [Overfitting](05-Frameworks/Overfitting.md) diff --git a/4-ComputerVision/07-ConvNets/README.md b/4-ComputerVision/07-ConvNets/README.md index 669f662a658226fe6391d6e4251a47999accfbd1..9c004a8c5362843762105018125021479d0f3584 100644 --- a/4-ComputerVision/07-ConvNets/README.md +++ b/4-ComputerVision/07-ConvNets/README.md @@ -30,7 +30,7 @@ The way CNNs work is based on the following important ideas: Let's continue exploring how convolutional neural networks work, and how we can achieve trainable filters, in corresponding notebooks: * [Convolutional Neural Networks - PyTorch](ConvNetsPyTorch.ipynb) -* [Convolutional Neural Networks - Tensorflow](ConvNetsTF.ipynb) +* [Convolutional Neural Networks - TensorFlow](ConvNetsTF.ipynb) ## Pyramid Architecture diff --git a/4-ComputerVision/08-TransferLearning/README.md b/4-ComputerVision/08-TransferLearning/README.md index 331e5b20c9558759e0330418dffb69b8b83a2b23..2a7d995d64803f2f42d5a0c8de871e86ad08e6ef 100644 --- a/4-ComputerVision/08-TransferLearning/README.md +++ b/4-ComputerVision/08-TransferLearning/README.md @@ -23,4 +23,4 @@ In this example, we will use a dataset of [Cats and Dogs](https://www.microsoft. Let's see transfer learning in action in corresponding notebooks: * [Transfer Learning - PyTorch](TransferLearningPyTorch.ipynb) -* [Transfer Learning - Tensorflow](TransferLearningTF.ipynb) +* [Transfer Learning - TensorFlow](TransferLearningTF.ipynb) diff --git a/4-ComputerVision/09-Autoencoders/README.md b/4-ComputerVision/09-Autoencoders/README.md index 548496867e60cc4079c4e23a12cf6984fa505d95..b3c3107e42dafc54470ae2e8549ec499e3784618 100644 --- a/4-ComputerVision/09-Autoencoders/README.md +++ b/4-ComputerVision/09-Autoencoders/README.md @@ -49,7 +49,7 @@ Observe how images blend into each other, as we start getting latent vectors fro ## Continue to Notebooks -* [Autoencoders in Tensorflow](AutoencodersTF.ipynb) +* [Autoencoders in TensorFlow](AutoencodersTF.ipynb) ## Properties of Autoencoders diff --git a/4-ComputerVision/10-GANs/README.md b/4-ComputerVision/10-GANs/README.md index a711f99e076fb32579706c58bf3f9050b087d2c4..53a62e503fb4ab4e7aec6ccad3feb3a12e034167 100644 --- a/4-ComputerVision/10-GANs/README.md +++ b/4-ComputerVision/10-GANs/README.md @@ -39,7 +39,7 @@ The training happens in two stages: During this process, both generator and discriminator losses are not going down significantly. In the ideal situation, they should oscillate, corresponding to both networks improving their performance. ## Go to Notebook -* [GAN Notebook in Tensorflow/Keras](GANs.ipynb) +* [GAN Notebook in TensorFlow/Keras](GANs.ipynb) ### Problems with GAN training diff --git a/5-NLP/13-TextRep/README.md b/5-NLP/13-TextRep/README.md index 3853e33a3d437dd26ff310cc6da57287f3e8100b..c76f384f53440ba9761cbe027240a9604b16bc53 100644 --- a/5-NLP/13-TextRep/README.md +++ b/5-NLP/13-TextRep/README.md @@ -45,4 +45,4 @@ However, none of those approaches can fully take into account the semantics of t ## Continue to Notebooks * [Text Representation with PyTorch](TextRepresentationPyTorch.ipynb) -* [Text Representation with Tensorflow](TextRepresentationTF.ipynb) +* [Text Representation with TensorFlow](TextRepresentationTF.ipynb) diff --git a/5-NLP/14-Embeddings/README.md b/5-NLP/14-Embeddings/README.md index b94abb0f3e7f4a0c88ea9a26494804b2b57fb434..ef024409f74e92c25cccf68c538ed9bad647bc74 100644 --- a/5-NLP/14-Embeddings/README.md +++ b/5-NLP/14-Embeddings/README.md @@ -13,7 +13,7 @@ By using embedding layer as a first layer in our classifier network, we can swit ## Continue in Notebooks * [Embeddings with PyTorch](EmbeddingsPyTorch.ipynb) -* [Embeddings Tensorflow](EmbeddingsTF.ipynb) +* [Embeddings TensorFlow](EmbeddingsTF.ipynb) ## Semantic Embeddings: Word2Vec diff --git a/5-NLP/15-LanguageModeling/README.md b/5-NLP/15-LanguageModeling/README.md index 7541e1f5a8f589befe78e87075f7fd095be5ea1d..95f55196ab8efeae7eab7b361c1808b3eade74c1 100644 --- a/5-NLP/15-LanguageModeling/README.md +++ b/5-NLP/15-LanguageModeling/README.md @@ -16,5 +16,5 @@ The idea of CBoW is exactly predicting a missing word, however, to do this we ta ## More Info * [Official PyTorch tutorial on Language Modeling](https://pytorch.org/tutorials/beginner/nlp/word_embeddings_tutorial.html). -* [Official TensorFlow tutorial on training Word2Vec model](https://www.tensorflow.org/tutorials/text/word2vec). +* [Official TensorFlow tutorial on training Word2Vec model](https://www.TensorFlow.org/tutorials/text/word2vec). * Using **gensim** framework to train most commonly used embeddings in a few lines of code is as described [in this documentation](https://pytorch.org/tutorials/beginner/nlp/word_embeddings_tutorial.html). diff --git a/5-NLP/16-RNN/README.md b/5-NLP/16-RNN/README.md index df1db0ed1f7b80c52d0d975ba84f2d1122d41c41..240afefe2a49068c6e7b0c717f9b1b05a35fe5af 100644 --- a/5-NLP/16-RNN/README.md +++ b/5-NLP/16-RNN/README.md @@ -50,7 +50,7 @@ Recurrent network, one-directional or bidirectional, captures certain patterns w ## Continue to Notebooks * [RNNs with PyTorch](RNNPyTorch.ipynb) -* [RNNs with Tensorflow](RNNTF.ipynb) +* [RNNs with TensorFlow](RNNTF.ipynb) ## RNNs for other tasks diff --git a/5-NLP/17-GenerativeNetworks/README.md b/5-NLP/17-GenerativeNetworks/README.md index 5011a4854d728329a03caec45e32b8a14834bfa6..903b98c3822ce2f1b194ec6631303921f7485485 100644 --- a/5-NLP/17-GenerativeNetworks/README.md +++ b/5-NLP/17-GenerativeNetworks/README.md @@ -27,7 +27,7 @@ When generating text (during inference), we start with some **prompt**, which is ## Continue to Notebooks * [Generative Networks with PyTorch](GenerativePyTorch.ipynb) -* [Generative Networks with Tensorflow](GenerativeTF.ipynb) +* [Generative Networks with TensorFlow](GenerativeTF.ipynb) ## Soft text generation and temperature diff --git a/5-NLP/18-Transformers/README.md b/5-NLP/18-Transformers/README.md index 2497dbd4764753608b63052638446ef2d86dc9b8..0e102279c122cda16d47fed1f67bd098c2ebbf17 100644 --- a/5-NLP/18-Transformers/README.md +++ b/5-NLP/18-Transformers/README.md @@ -55,7 +55,7 @@ Next, we need to capture some patterns within our sequence. To do this, transfor In transformers, we use **Multi-Head Attention**, in order to give network the power to capture several different types of dependencies, eg. long-term vs. short-term word relations, co-reference vs. something else, etc. -[Tensorflow Notebook](TransformersTF.ipynb) contains more detains on the implementation of transformer layers. +[TensorFlow Notebook](TransformersTF.ipynb) contains more detains on the implementation of transformer layers. ### Encoder-Decoder Attention @@ -75,12 +75,12 @@ Since each input position is mapped independently to each output position, trans  -There are many variations of Transformer architectures including BERT, DistilBERT. BigBird, OpenGPT3 and more that can be fine tuned. The [HuggingFace package](https://github.com/huggingface/) provides repository for training many of these architectures with both PyTorch and Tensorflow. +There are many variations of Transformer architectures including BERT, DistilBERT. BigBird, OpenGPT3 and more that can be fine tuned. The [HuggingFace package](https://github.com/huggingface/) provides repository for training many of these architectures with both PyTorch and TensorFlow. ## Continue to Notebooks * [Transformers in PyTorch](TransformersPyTorch.ipynb) -* [Transformers in Tensorflow](TransformersTF.ipynb) +* [Transformers in TensorFlow](TransformersTF.ipynb) ## Related materials diff --git a/5-NLP/README.md b/5-NLP/README.md index 89b9f55a726f60f3152f950f8691053ed14a9211..742a7bacb1f5b4f044a97e0687288d00f68cf2b5 100644 --- a/5-NLP/README.md +++ b/5-NLP/README.md @@ -28,7 +28,7 @@ If you are using local Python installation to run this course, you may need to i ```bash pip install -r requirements-torch.txt ``` -**For Tensorflow** +**For TensorFlow** ```bash pip install -r requirements-tf.txt ``` @@ -39,7 +39,7 @@ In this section, in some of the examples we will be training quite large models. When running on GPU, you may experience situations when you run out of GPU memory. During training, the amount of GPU memory consumed depends on many factors, including minibatch size. If you experience any memory problems - you may try to minimize the minibatch size in the code. -Also, some older versions of Tensorflow do not release GPU memory correctly if we are training multiple models in one Python kernel. In order to use GPU memory cautiously, you may set tensorflow option to grow GPU memory allocation only when required. You would need to include the following code in your notebooks: +Also, some older versions of TensorFlow do not release GPU memory correctly if we are training multiple models in one Python kernel. In order to use GPU memory cautiously, you may set TensorFlow option to grow GPU memory allocation only when required. You would need to include the following code in your notebooks: ```python physical_devices = tf.config.list_physical_devices('GPU') diff --git a/5-NLP/requirements-tf.txt b/5-NLP/requirements-tf.txt index 1ecdc307c093a463ca6a80275b17e4bd82fbb8ac..18b4002d7fb6b9571d2a1e3330b6407970892e2a 100644 --- a/5-NLP/requirements-tf.txt +++ b/5-NLP/requirements-tf.txt @@ -7,7 +7,7 @@ opencv-python==4.5.1.48 Pillow==7.1.2 scikit-learn scipy -tensorflow -tensorflow_datasets -tensorflow_text +TensorFlow +TensorFlow_datasets +TensorFlow_text transformers==4.3.3 \ No newline at end of file diff --git a/Mindmap.md b/Mindmap.md index 677325f982970a0a4611510247990b79f63215a1..7624cc72481341faa424c4a498bb2b7098298560 100644 --- a/Mindmap.md +++ b/Mindmap.md @@ -14,7 +14,7 @@ - [Multi-Layered Networks](https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/04-OwnFramework/README.md) - [Intro to Frameworks](https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/05-Frameworks/README.md) - [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb) - - [Tensorflow](https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/05-Frameworks/IntroKerasTF.md) + - [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/05-Frameworks/IntroKerasTF.md) - [Overfitting](https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/05-Frameworks/Overfitting.md) ## Computer Vision diff --git a/Mindmap.svg b/Mindmap.svg index 26887ea832c965b029be9d76b21f7256a8936476..fabdd4fd74b67fd02fba49ca86cb420be096f964 100644 --- a/Mindmap.svg +++ b/Mindmap.svg @@ -11,4 +11,4 @@ .mm-rl4bst-3-fo strong { font-weight: bolder; } .mm-rl4bst-3-fo pre { margin: 0; padding: .2em .4em; } -</style><g class="mm-rl4bst-3-g" transform="translate(48.58416538752408,251.6475527263076) scale(0.5589194225224282)"><path d="M112,10C152,10,152,-345,192,-345" stroke="rgb(255, 127, 14)" stroke-width="2"></path><path d="M112,10C152,10,152,-277.5,192,-277.5" stroke="rgb(140, 86, 75)" stroke-width="2"></path><path d="M112,10C152,10,152,-195,192,-195" stroke="rgb(188, 189, 34)" stroke-width="2"></path><path d="M112,10C152,10,152,-25,192,-25" stroke="rgb(140, 86, 75)" stroke-width="2"></path><path d="M112,10C152,10,152,182.5,192,182.5" stroke="rgb(140, 86, 75)" stroke-width="2"></path><path d="M112,10C152,10,152,340,192,340" stroke="rgb(188, 189, 34)" stroke-width="2"></path><path d="M112,10C152,10,152,365,192,365" stroke="rgb(44, 160, 44)" stroke-width="2"></path><path d="M329,-345C369,-345,369,-370,409,-370" stroke="rgb(44, 160, 44)" stroke-width="1.5"></path><path d="M329,-345C369,-345,369,-345,409,-345" stroke="rgb(214, 39, 40)" stroke-width="1.5"></path><path d="M329,-345C369,-345,369,-320,409,-320" stroke="rgb(148, 103, 189)" stroke-width="1.5"></path><path d="M301,-277.5C341,-277.5,341,-290,381,-290" stroke="rgb(227, 119, 194)" stroke-width="1.5"></path><path d="M301,-277.5C341,-277.5,341,-265,381,-265" stroke="rgb(127, 127, 127)" stroke-width="1.5"></path><path d="M327,-195C367,-195,367,-235,407,-235" stroke="rgb(23, 190, 207)" stroke-width="1.5"></path><path d="M327,-195C367,-195,367,-210,407,-210" stroke="rgb(31, 119, 180)" stroke-width="1.5"></path><path d="M327,-195C367,-195,367,-155,407,-155" stroke="rgb(255, 127, 14)" stroke-width="1.5"></path><path d="M326,-25C366,-25,366,-100,406,-100" stroke="rgb(227, 119, 194)" stroke-width="1.5"></path><path d="M326,-25C366,-25,366,-75,406,-75" stroke="rgb(127, 127, 127)" stroke-width="1.5"></path><path d="M326,-25C366,-25,366,-50,406,-50" stroke="rgb(31, 119, 180)" stroke-width="1.5"></path><path d="M326,-25C366,-25,366,-25,406,-25" stroke="rgb(255, 127, 14)" stroke-width="1.5"></path><path d="M326,-25C366,-25,366,0,406,0" stroke="rgb(44, 160, 44)" stroke-width="1.5"></path><path d="M326,-25C366,-25,366,25,406,25" stroke="rgb(214, 39, 40)" stroke-width="1.5"></path><path d="M326,-25C366,-25,366,50,406,50" stroke="rgb(148, 103, 189)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,80,499,80" stroke="rgb(227, 119, 194)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,135,499,135" stroke="rgb(23, 190, 207)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,160,499,160" stroke="rgb(44, 160, 44)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,185,499,185" stroke="rgb(214, 39, 40)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,210,499,210" stroke="rgb(148, 103, 189)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,235,499,235" stroke="rgb(140, 86, 75)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,260,499,260" stroke="rgb(227, 119, 194)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,285,499,285" stroke="rgb(127, 127, 127)" stroke-width="1.5"></path><path d="M334,340C374,340,374,315,414,315" stroke="rgb(23, 190, 207)" stroke-width="1.5"></path><path d="M334,340C374,340,374,340,414,340" stroke="rgb(31, 119, 180)" stroke-width="1.5"></path><path d="M334,340C374,340,374,365,414,365" stroke="rgb(255, 127, 14)" stroke-width="1.5"></path><path d="M566,-155C606,-155,606,-180,646,-180" stroke="rgb(44, 160, 44)" stroke-width="1.5"></path><path d="M566,-155C606,-155,606,-155,646,-155" stroke="rgb(214, 39, 40)" stroke-width="1.5"></path><path d="M566,-155C606,-155,606,-130,646,-130" stroke="rgb(148, 103, 189)" stroke-width="1.5"></path><path d="M591,-75C631,-75,631,-87.5,671,-87.5" stroke="rgb(188, 189, 34)" stroke-width="1.5"></path><path d="M591,-75C631,-75,631,-62.5,671,-62.5" stroke="rgb(23, 190, 207)" stroke-width="1.5"></path><path d="M658,80C698,80,698,67.5,738,67.5" stroke="rgb(127, 127, 127)" stroke-width="1.5"></path><path d="M658,80C698,80,698,92.5,738,92.5" stroke="rgb(188, 189, 34)" stroke-width="1.5"></path><path d="M676,135C716,135,716,122.5,756,122.5" stroke="rgb(31, 119, 180)" stroke-width="1.5"></path><path d="M676,135C716,135,716,147.5,756,147.5" stroke="rgb(255, 127, 14)" stroke-width="1.5"></path><g transform="translate(756, 127.5)"><rect x="-1" y="19.25" width="65" height="1.5" fill="rgb(255, 127, 14)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="47" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">GloVE</div></foreignObject></g><g transform="translate(756, 102.5)"><rect x="-1" y="19.25" width="92" height="1.5" fill="rgb(31, 119, 180)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="74" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Word2Vec</div></foreignObject></g><g transform="translate(738, 72.5)"><rect x="-1" y="19.25" width="68" height="1.5" fill="rgb(188, 189, 34)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="50" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">TF/IDF</div></foreignObject></g><g transform="translate(738, 47.5)"><rect x="-1" y="19.25" width="115" height="1.5" fill="rgb(127, 127, 127)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="97" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Bag of Words</div></foreignObject></g><g transform="translate(671, -82.5)"><rect x="-1" y="19.25" width="112" height="1.5" fill="rgb(23, 190, 207)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="94" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Architectures</div></foreignObject></g><g transform="translate(671, -107.5)"><rect x="-1" y="19.25" width="122" height="1.5" fill="rgb(188, 189, 34)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="104" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Training Tricks</div></foreignObject></g><g transform="translate(646, -150)"><rect x="-1" y="19.25" width="91" height="1.5" fill="rgb(148, 103, 189)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="73" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/05-Frameworks/Overfitting.md">Overfitting</a></div></foreignObject></g><g transform="translate(646, -175)"><rect x="-1" y="19.25" width="95" height="1.5" fill="rgb(214, 39, 40)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="77" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/05-Frameworks/IntroKerasTF.md">Tensorflow</a></div></foreignObject></g><g transform="translate(646, -200)"><rect x="-1" y="19.25" width="76" height="1.5" fill="rgb(44, 160, 44)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="58" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb">PyTorch</a></div></foreignObject></g><g transform="translate(414, 345)"><rect x="-1" y="19.25" width="165" height="1.5" fill="rgb(255, 127, 14)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="147" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Multi-Agent Systems</div></foreignObject></g><g transform="translate(414, 320)"><rect x="-1" y="19.25" width="232" height="1.5" fill="rgb(31, 119, 180)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="214" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Deep Reinforcement Learning</div></foreignObject></g><g transform="translate(414, 295)"><rect x="-1" y="19.25" width="153" height="1.5" fill="rgb(23, 190, 207)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="135" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Genetic Algorithms</div></foreignObject></g><g transform="translate(499, 265)"><rect x="-1" y="19.25" width="200" height="1.5" fill="rgb(127, 127, 127)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="182" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Text Generation and GPT</div></foreignObject></g><g transform="translate(499, 240)"><rect x="-1" y="19.25" width="203" height="1.5" fill="rgb(227, 119, 194)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="185" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Named Entity Recognition</div></foreignObject></g><g transform="translate(499, 215)"><rect x="-1" y="19.25" width="191" height="1.5" fill="rgb(140, 86, 75)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="173" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Transformers and BERT</div></foreignObject></g><g transform="translate(499, 190)"><rect x="-1" y="19.25" width="243" height="1.5" fill="rgb(148, 103, 189)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="225" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Generative Recurrent Networks</div></foreignObject></g><g transform="translate(499, 165)"><rect x="-1" y="19.25" width="211" height="1.5" fill="rgb(214, 39, 40)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="193" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Recurrent Neural Networks</div></foreignObject></g><g transform="translate(499, 140)"><rect x="-1" y="19.25" width="159" height="1.5" fill="rgb(44, 160, 44)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="141" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Language Modeling</div></foreignObject></g><g transform="translate(499, 115)"><rect x="-1" y="19.25" width="179" height="1.5" fill="rgb(23, 190, 207)"></rect><circle stroke-width="1.5" cx="177" cy="20" r="6" stroke="rgb(23, 190, 207)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="161" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Semantic Embeddings</div></foreignObject></g><g transform="translate(499, 60)"><rect x="-1" y="19.25" width="161" height="1.5" fill="rgb(227, 119, 194)"></rect><circle stroke-width="1.5" cx="159" cy="20" r="6" stroke="rgb(227, 119, 194)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="143" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Text Representation</div></foreignObject></g><g transform="translate(406, 30)"><rect x="-1" y="19.25" width="117" height="1.5" fill="rgb(148, 103, 189)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="99" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Segmentation</div></foreignObject></g><g transform="translate(406, 5)"><rect x="-1" y="19.25" width="137" height="1.5" fill="rgb(214, 39, 40)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="119" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Object Detection</div></foreignObject></g><g transform="translate(406, -20)"><rect x="-1" y="19.25" width="251" height="1.5" fill="rgb(44, 160, 44)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="233" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Generative Adversarial Networks</div></foreignObject></g><g transform="translate(406, -45)"><rect x="-1" y="19.25" width="192" height="1.5" fill="rgb(255, 127, 14)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="174" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Autoencoders and VAEs</div></foreignObject></g><g transform="translate(406, -70)"><rect x="-1" y="19.25" width="152" height="1.5" fill="rgb(31, 119, 180)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="134" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Trasnsfer Learning</div></foreignObject></g><g transform="translate(406, -95)"><rect x="-1" y="19.25" width="187" height="1.5" fill="rgb(127, 127, 127)"></rect><circle stroke-width="1.5" cx="185" cy="20" r="6" stroke="rgb(127, 127, 127)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="169" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Convolutional Networks</div></foreignObject></g><g transform="translate(406, -120)"><rect x="-1" y="19.25" width="164" height="1.5" fill="rgb(227, 119, 194)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="146" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Intro to CV. OpenCV</div></foreignObject></g><g transform="translate(407, -175)"><rect x="-1" y="19.25" width="161" height="1.5" fill="rgb(255, 127, 14)"></rect><circle stroke-width="1.5" cx="159" cy="20" r="6" stroke="rgb(255, 127, 14)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="143" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/05-Frameworks/README.md">Intro to Frameworks</a></div></foreignObject></g><g transform="translate(407, -230)"><rect x="-1" y="19.25" width="187" height="1.5" fill="rgb(31, 119, 180)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="169" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/04-OwnFramework/README.md">Multi-Layered Networks</a></div></foreignObject></g><g transform="translate(407, -255)"><rect x="-1" y="19.25" width="97" height="1.5" fill="rgb(23, 190, 207)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="79" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/03-Perceptron/README.md">Perceptron</a></div></foreignObject></g><g transform="translate(381, -285)"><rect x="-1" y="19.25" width="131" height="1.5" fill="rgb(127, 127, 127)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="113" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Expert Systems</div></foreignObject></g><g transform="translate(381, -310)"><rect x="-1" y="19.25" width="211" height="1.5" fill="rgb(227, 119, 194)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="193" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Knowledge Representation</div></foreignObject></g><g transform="translate(409, -340)"><rect x="-1" y="19.25" width="140" height="1.5" fill="rgb(148, 103, 189)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="122" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/1-Intro/README.md#different-approaches-to-ai">Approaches to AI</a></div></foreignObject></g><g transform="translate(409, -365)"><rect x="-1" y="19.25" width="105" height="1.5" fill="rgb(214, 39, 40)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="87" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/1-Intro/README.md#different-approaches-to-ai">History of AI</a></div></foreignObject></g><g transform="translate(409, -390)"><rect x="-1" y="19.25" width="105" height="1.5" fill="rgb(44, 160, 44)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="87" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/1-Intro/README.md#different-approaches-to-ai">AI Definition</a></div></foreignObject></g><g transform="translate(192, 345)"><rect x="-1" y="19" width="82" height="2" fill="rgb(44, 160, 44)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="64" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">AI Ethics</div></foreignObject></g><g transform="translate(192, 320)"><rect x="-1" y="19" width="144" height="2" fill="rgb(188, 189, 34)"></rect><circle stroke-width="1.5" cx="142" cy="20" r="6" stroke="rgb(188, 189, 34)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="126" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Other Techniques</div></foreignObject></g><g transform="translate(192, 162.5)"><rect x="-1" y="19" width="229" height="2" fill="rgb(140, 86, 75)"></rect><circle stroke-width="1.5" cx="227" cy="20" r="6" stroke="rgb(140, 86, 75)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="211" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Natural Language Processing</div></foreignObject></g><g transform="translate(192, -45)"><rect x="-1" y="19" width="136" height="2" fill="rgb(140, 86, 75)"></rect><circle stroke-width="1.5" cx="134" cy="20" r="6" stroke="rgb(140, 86, 75)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="118" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Computer Vision</div></foreignObject></g><g transform="translate(192, -215)"><rect x="-1" y="19" width="137" height="2" fill="rgb(188, 189, 34)"></rect><circle stroke-width="1.5" cx="135" cy="20" r="6" stroke="rgb(188, 189, 34)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="119" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/README.md">Neural Networks</a></div></foreignObject></g><g transform="translate(192, -297.5)"><rect x="-1" y="19" width="111" height="2" fill="rgb(140, 86, 75)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="93" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Sybmbolic AI</div></foreignObject><circle stroke-width="1.5" cx="109" cy="20" r="6" stroke="rgb(140, 86, 75)" fill="rgb(255, 255, 255)"></circle></g><g transform="translate(192, -365)"><rect x="-1" y="19" width="139" height="2" fill="rgb(255, 127, 14)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="121" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Introduction to AI</div></foreignObject><circle stroke-width="1.5" cx="137" cy="20" r="6" stroke="rgb(255, 127, 14)" fill="rgb(255, 255, 255)"></circle></g><g transform="translate(80,-10)"><rect x="-1" y="18" width="34" height="4" fill="rgb(31, 119, 180)"></rect><circle stroke-width="1.5" cx="32" cy="20" r="6" stroke="rgb(31, 119, 180)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="16" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">AI</div></foreignObject></g></g></svg> \ No newline at end of file +</style><g class="mm-rl4bst-3-g" transform="translate(48.58416538752408,251.6475527263076) scale(0.5589194225224282)"><path d="M112,10C152,10,152,-345,192,-345" stroke="rgb(255, 127, 14)" stroke-width="2"></path><path d="M112,10C152,10,152,-277.5,192,-277.5" stroke="rgb(140, 86, 75)" stroke-width="2"></path><path d="M112,10C152,10,152,-195,192,-195" stroke="rgb(188, 189, 34)" stroke-width="2"></path><path d="M112,10C152,10,152,-25,192,-25" stroke="rgb(140, 86, 75)" stroke-width="2"></path><path d="M112,10C152,10,152,182.5,192,182.5" stroke="rgb(140, 86, 75)" stroke-width="2"></path><path d="M112,10C152,10,152,340,192,340" stroke="rgb(188, 189, 34)" stroke-width="2"></path><path d="M112,10C152,10,152,365,192,365" stroke="rgb(44, 160, 44)" stroke-width="2"></path><path d="M329,-345C369,-345,369,-370,409,-370" stroke="rgb(44, 160, 44)" stroke-width="1.5"></path><path d="M329,-345C369,-345,369,-345,409,-345" stroke="rgb(214, 39, 40)" stroke-width="1.5"></path><path d="M329,-345C369,-345,369,-320,409,-320" stroke="rgb(148, 103, 189)" stroke-width="1.5"></path><path d="M301,-277.5C341,-277.5,341,-290,381,-290" stroke="rgb(227, 119, 194)" stroke-width="1.5"></path><path d="M301,-277.5C341,-277.5,341,-265,381,-265" stroke="rgb(127, 127, 127)" stroke-width="1.5"></path><path d="M327,-195C367,-195,367,-235,407,-235" stroke="rgb(23, 190, 207)" stroke-width="1.5"></path><path d="M327,-195C367,-195,367,-210,407,-210" stroke="rgb(31, 119, 180)" stroke-width="1.5"></path><path d="M327,-195C367,-195,367,-155,407,-155" stroke="rgb(255, 127, 14)" stroke-width="1.5"></path><path d="M326,-25C366,-25,366,-100,406,-100" stroke="rgb(227, 119, 194)" stroke-width="1.5"></path><path d="M326,-25C366,-25,366,-75,406,-75" stroke="rgb(127, 127, 127)" stroke-width="1.5"></path><path d="M326,-25C366,-25,366,-50,406,-50" stroke="rgb(31, 119, 180)" stroke-width="1.5"></path><path d="M326,-25C366,-25,366,-25,406,-25" stroke="rgb(255, 127, 14)" stroke-width="1.5"></path><path d="M326,-25C366,-25,366,0,406,0" stroke="rgb(44, 160, 44)" stroke-width="1.5"></path><path d="M326,-25C366,-25,366,25,406,25" stroke="rgb(214, 39, 40)" stroke-width="1.5"></path><path d="M326,-25C366,-25,366,50,406,50" stroke="rgb(148, 103, 189)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,80,499,80" stroke="rgb(227, 119, 194)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,135,499,135" stroke="rgb(23, 190, 207)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,160,499,160" stroke="rgb(44, 160, 44)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,185,499,185" stroke="rgb(214, 39, 40)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,210,499,210" stroke="rgb(148, 103, 189)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,235,499,235" stroke="rgb(140, 86, 75)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,260,499,260" stroke="rgb(227, 119, 194)" stroke-width="1.5"></path><path d="M419,182.5C459,182.5,459,285,499,285" stroke="rgb(127, 127, 127)" stroke-width="1.5"></path><path d="M334,340C374,340,374,315,414,315" stroke="rgb(23, 190, 207)" stroke-width="1.5"></path><path d="M334,340C374,340,374,340,414,340" stroke="rgb(31, 119, 180)" stroke-width="1.5"></path><path d="M334,340C374,340,374,365,414,365" stroke="rgb(255, 127, 14)" stroke-width="1.5"></path><path d="M566,-155C606,-155,606,-180,646,-180" stroke="rgb(44, 160, 44)" stroke-width="1.5"></path><path d="M566,-155C606,-155,606,-155,646,-155" stroke="rgb(214, 39, 40)" stroke-width="1.5"></path><path d="M566,-155C606,-155,606,-130,646,-130" stroke="rgb(148, 103, 189)" stroke-width="1.5"></path><path d="M591,-75C631,-75,631,-87.5,671,-87.5" stroke="rgb(188, 189, 34)" stroke-width="1.5"></path><path d="M591,-75C631,-75,631,-62.5,671,-62.5" stroke="rgb(23, 190, 207)" stroke-width="1.5"></path><path d="M658,80C698,80,698,67.5,738,67.5" stroke="rgb(127, 127, 127)" stroke-width="1.5"></path><path d="M658,80C698,80,698,92.5,738,92.5" stroke="rgb(188, 189, 34)" stroke-width="1.5"></path><path d="M676,135C716,135,716,122.5,756,122.5" stroke="rgb(31, 119, 180)" stroke-width="1.5"></path><path d="M676,135C716,135,716,147.5,756,147.5" stroke="rgb(255, 127, 14)" stroke-width="1.5"></path><g transform="translate(756, 127.5)"><rect x="-1" y="19.25" width="65" height="1.5" fill="rgb(255, 127, 14)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="47" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">GloVE</div></foreignObject></g><g transform="translate(756, 102.5)"><rect x="-1" y="19.25" width="92" height="1.5" fill="rgb(31, 119, 180)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="74" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Word2Vec</div></foreignObject></g><g transform="translate(738, 72.5)"><rect x="-1" y="19.25" width="68" height="1.5" fill="rgb(188, 189, 34)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="50" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">TF/IDF</div></foreignObject></g><g transform="translate(738, 47.5)"><rect x="-1" y="19.25" width="115" height="1.5" fill="rgb(127, 127, 127)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="97" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Bag of Words</div></foreignObject></g><g transform="translate(671, -82.5)"><rect x="-1" y="19.25" width="112" height="1.5" fill="rgb(23, 190, 207)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="94" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Architectures</div></foreignObject></g><g transform="translate(671, -107.5)"><rect x="-1" y="19.25" width="122" height="1.5" fill="rgb(188, 189, 34)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="104" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Training Tricks</div></foreignObject></g><g transform="translate(646, -150)"><rect x="-1" y="19.25" width="91" height="1.5" fill="rgb(148, 103, 189)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="73" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/05-Frameworks/Overfitting.md">Overfitting</a></div></foreignObject></g><g transform="translate(646, -175)"><rect x="-1" y="19.25" width="95" height="1.5" fill="rgb(214, 39, 40)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="77" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/05-Frameworks/IntroKerasTF.md">TensorFlow</a></div></foreignObject></g><g transform="translate(646, -200)"><rect x="-1" y="19.25" width="76" height="1.5" fill="rgb(44, 160, 44)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="58" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb">PyTorch</a></div></foreignObject></g><g transform="translate(414, 345)"><rect x="-1" y="19.25" width="165" height="1.5" fill="rgb(255, 127, 14)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="147" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Multi-Agent Systems</div></foreignObject></g><g transform="translate(414, 320)"><rect x="-1" y="19.25" width="232" height="1.5" fill="rgb(31, 119, 180)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="214" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Deep Reinforcement Learning</div></foreignObject></g><g transform="translate(414, 295)"><rect x="-1" y="19.25" width="153" height="1.5" fill="rgb(23, 190, 207)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="135" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Genetic Algorithms</div></foreignObject></g><g transform="translate(499, 265)"><rect x="-1" y="19.25" width="200" height="1.5" fill="rgb(127, 127, 127)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="182" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Text Generation and GPT</div></foreignObject></g><g transform="translate(499, 240)"><rect x="-1" y="19.25" width="203" height="1.5" fill="rgb(227, 119, 194)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="185" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Named Entity Recognition</div></foreignObject></g><g transform="translate(499, 215)"><rect x="-1" y="19.25" width="191" height="1.5" fill="rgb(140, 86, 75)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="173" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Transformers and BERT</div></foreignObject></g><g transform="translate(499, 190)"><rect x="-1" y="19.25" width="243" height="1.5" fill="rgb(148, 103, 189)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="225" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Generative Recurrent Networks</div></foreignObject></g><g transform="translate(499, 165)"><rect x="-1" y="19.25" width="211" height="1.5" fill="rgb(214, 39, 40)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="193" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Recurrent Neural Networks</div></foreignObject></g><g transform="translate(499, 140)"><rect x="-1" y="19.25" width="159" height="1.5" fill="rgb(44, 160, 44)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="141" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Language Modeling</div></foreignObject></g><g transform="translate(499, 115)"><rect x="-1" y="19.25" width="179" height="1.5" fill="rgb(23, 190, 207)"></rect><circle stroke-width="1.5" cx="177" cy="20" r="6" stroke="rgb(23, 190, 207)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="161" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Semantic Embeddings</div></foreignObject></g><g transform="translate(499, 60)"><rect x="-1" y="19.25" width="161" height="1.5" fill="rgb(227, 119, 194)"></rect><circle stroke-width="1.5" cx="159" cy="20" r="6" stroke="rgb(227, 119, 194)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="143" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Text Representation</div></foreignObject></g><g transform="translate(406, 30)"><rect x="-1" y="19.25" width="117" height="1.5" fill="rgb(148, 103, 189)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="99" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Segmentation</div></foreignObject></g><g transform="translate(406, 5)"><rect x="-1" y="19.25" width="137" height="1.5" fill="rgb(214, 39, 40)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="119" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Object Detection</div></foreignObject></g><g transform="translate(406, -20)"><rect x="-1" y="19.25" width="251" height="1.5" fill="rgb(44, 160, 44)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="233" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Generative Adversarial Networks</div></foreignObject></g><g transform="translate(406, -45)"><rect x="-1" y="19.25" width="192" height="1.5" fill="rgb(255, 127, 14)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="174" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Autoencoders and VAEs</div></foreignObject></g><g transform="translate(406, -70)"><rect x="-1" y="19.25" width="152" height="1.5" fill="rgb(31, 119, 180)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="134" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Trasnsfer Learning</div></foreignObject></g><g transform="translate(406, -95)"><rect x="-1" y="19.25" width="187" height="1.5" fill="rgb(127, 127, 127)"></rect><circle stroke-width="1.5" cx="185" cy="20" r="6" stroke="rgb(127, 127, 127)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="169" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Convolutional Networks</div></foreignObject></g><g transform="translate(406, -120)"><rect x="-1" y="19.25" width="164" height="1.5" fill="rgb(227, 119, 194)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="146" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Intro to CV. OpenCV</div></foreignObject></g><g transform="translate(407, -175)"><rect x="-1" y="19.25" width="161" height="1.5" fill="rgb(255, 127, 14)"></rect><circle stroke-width="1.5" cx="159" cy="20" r="6" stroke="rgb(255, 127, 14)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="143" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/05-Frameworks/README.md">Intro to Frameworks</a></div></foreignObject></g><g transform="translate(407, -230)"><rect x="-1" y="19.25" width="187" height="1.5" fill="rgb(31, 119, 180)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="169" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/04-OwnFramework/README.md">Multi-Layered Networks</a></div></foreignObject></g><g transform="translate(407, -255)"><rect x="-1" y="19.25" width="97" height="1.5" fill="rgb(23, 190, 207)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="79" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/03-Perceptron/README.md">Perceptron</a></div></foreignObject></g><g transform="translate(381, -285)"><rect x="-1" y="19.25" width="131" height="1.5" fill="rgb(127, 127, 127)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="113" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Expert Systems</div></foreignObject></g><g transform="translate(381, -310)"><rect x="-1" y="19.25" width="211" height="1.5" fill="rgb(227, 119, 194)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="193" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Knowledge Representation</div></foreignObject></g><g transform="translate(409, -340)"><rect x="-1" y="19.25" width="140" height="1.5" fill="rgb(148, 103, 189)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="122" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/1-Intro/README.md#different-approaches-to-ai">Approaches to AI</a></div></foreignObject></g><g transform="translate(409, -365)"><rect x="-1" y="19.25" width="105" height="1.5" fill="rgb(214, 39, 40)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="87" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/1-Intro/README.md#different-approaches-to-ai">History of AI</a></div></foreignObject></g><g transform="translate(409, -390)"><rect x="-1" y="19.25" width="105" height="1.5" fill="rgb(44, 160, 44)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="87" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/1-Intro/README.md#different-approaches-to-ai">AI Definition</a></div></foreignObject></g><g transform="translate(192, 345)"><rect x="-1" y="19" width="82" height="2" fill="rgb(44, 160, 44)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="64" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">AI Ethics</div></foreignObject></g><g transform="translate(192, 320)"><rect x="-1" y="19" width="144" height="2" fill="rgb(188, 189, 34)"></rect><circle stroke-width="1.5" cx="142" cy="20" r="6" stroke="rgb(188, 189, 34)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="126" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Other Techniques</div></foreignObject></g><g transform="translate(192, 162.5)"><rect x="-1" y="19" width="229" height="2" fill="rgb(140, 86, 75)"></rect><circle stroke-width="1.5" cx="227" cy="20" r="6" stroke="rgb(140, 86, 75)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="211" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Natural Language Processing</div></foreignObject></g><g transform="translate(192, -45)"><rect x="-1" y="19" width="136" height="2" fill="rgb(140, 86, 75)"></rect><circle stroke-width="1.5" cx="134" cy="20" r="6" stroke="rgb(140, 86, 75)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="118" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Computer Vision</div></foreignObject></g><g transform="translate(192, -215)"><rect x="-1" y="19" width="137" height="2" fill="rgb(188, 189, 34)"></rect><circle stroke-width="1.5" cx="135" cy="20" r="6" stroke="rgb(188, 189, 34)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="119" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://github.com/microsoft/AI-For-Beginners/blob/main/3-NeuralNetworks/README.md">Neural Networks</a></div></foreignObject></g><g transform="translate(192, -297.5)"><rect x="-1" y="19" width="111" height="2" fill="rgb(140, 86, 75)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="93" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Sybmbolic AI</div></foreignObject><circle stroke-width="1.5" cx="109" cy="20" r="6" stroke="rgb(140, 86, 75)" fill="rgb(255, 255, 255)"></circle></g><g transform="translate(192, -365)"><rect x="-1" y="19" width="139" height="2" fill="rgb(255, 127, 14)"></rect><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="121" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">Introduction to AI</div></foreignObject><circle stroke-width="1.5" cx="137" cy="20" r="6" stroke="rgb(255, 127, 14)" fill="rgb(255, 255, 255)"></circle></g><g transform="translate(80,-10)"><rect x="-1" y="18" width="34" height="4" fill="rgb(31, 119, 180)"></rect><circle stroke-width="1.5" cx="32" cy="20" r="6" stroke="rgb(31, 119, 180)" fill="rgb(255, 255, 255)"></circle><foreignObject class="mm-rl4bst-3-fo" x="8" y="0" height="20" width="16" style="opacity: 1;"><div xmlns="http://www.w3.org/1999/xhtml">AI</div></foreignObject></g></g></svg> \ No newline at end of file diff --git a/README.md b/README.md index d12d8c407b0dd158a88d71b6c57f98b1b3396076..a610df6eae28c8214c69c7bc42ba4d1786f53b14 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Azure Cloud Advocates at Microsoft are pleased to offer a 12-week, 24-lesson curriculum all about **Artificial Intelligence**. In this curriculum, you will learn: * Different approaches to Artificial Intelligence, including "good old" symbolic approach with **Knowledge Representation** and reasoning. -* **Neural Networks** and **Deep Learning**, which are at the core of modern AI. We will try to illustrate all ideas using code in two most popular frameworks - Tensorflow(http://tensorflow.org) and PyTorch(http://pytorch.org). +* **Neural Networks** and **Deep Learning**, which are at the core of modern AI. We will try to illustrate all ideas using code in two most popular frameworks - TensorFlow(http://TensorFlow.org) and PyTorch(http://pytorch.org). * **Neural Architectures** for working with Images and Text. We will try to cover very recent models, but may lack a little bit on state-of-the-art. * Less popular AI approaches, such as **Genetic Algorithms** @@ -29,7 +29,7 @@ For a gentle introduction to *AI in the Cloud* topic you may consider taking [Ge # Content <table> -<tr><th>No</th><th>Lesson</th><th>Intro</th><th>PyTorch</th><th>Keras/Tensorflow</th><th>Lab</th></tr> +<tr><th>No</th><th>Lesson</th><th>Intro</th><th>PyTorch</th><th>Keras/TensorFlow</th><th>Lab</th></tr> <tr><td>I</td><td colspan="4"><b>Introduction to AI</b></td><td>PAT</td></tr> <tr><td>1</td><td>Introduction and History of AI</td><td><a href="1-Intro/README.md">Text</a></td><td></td><td></td><td></td></tr> @@ -42,42 +42,42 @@ For a gentle introduction to *AI in the Cloud* topic you may consider taking [Ge <td colspan="2"><a href="3-NeuralNetworks/03-Perceptron/Perceptron.ipynb">Notebook</a></td><td></td></tr> <tr><td>4 </td><td>Multi-Layered Perceptron and Creating our own Framework</td><td><a href="3-NeuralNetworks/04-OwnFramework/README.md">Text</a></td><td colspan="2"><a href="3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb">Notebook</a><td></td></tr> <tr><td>5</td> - <td>Intro to Frameworks (PyTorch/Tensorflow)<br/>Overfitting</td> + <td>Intro to Frameworks (PyTorch/TensorFlow)<br/>Overfitting</td> <td><a href="3-NeuralNetworks/05-Frameworks/README.md">Text</a><br/><a href="3-NeuralNetworks/05-Frameworks/Overfitting.md">Text</a></td> <td><a href="3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb">PyTorch</td> - <td><a href="3-NeuralNetworks/05-Frameworks/IntroKerasTF.md">Keras/Tensorflow</td><td></td></tr> + <td><a href="3-NeuralNetworks/05-Frameworks/IntroKerasTF.md">Keras/TensorFlow</td><td></td></tr> <tr><td>IV</td><td colspan="2"><b><a href="4-ComputerVision/README.md">Computer Vision</a></b></td> <td><a href="https://docs.microsoft.com/learn/modules/intro-computer-vision-pytorch/?WT.mc_id=academic-33554-dmitryso">MS Learn</a></td> - <td><a href="https://docs.microsoft.com/learn/modules/intro-computer-vision-tensorflow/?WT.mc_id=academic-33554-dmitryso">MS Learn</a></td> + <td><a href="https://docs.microsoft.com/learn/modules/intro-computer-vision-TensorFlow/?WT.mc_id=academic-33554-dmitryso">MS Learn</a></td> <td>PAT</td></tr> <tr><td>6</td><td>Intro to Computer Vision. OpenCV</td><td>Text<td colspan="2">Notebook</td><td></td></tr> -<tr><td>7</td><td>Convolutional Neural Networks<br/>CNN Architectures<br/>Training Tricks</td><td><a href="4-ComputerVision/07-ConvNets/README.md">Text</a><br/><a href="4-ComputerVision/07-ConvNets/CNN_Architectures.md">Text</a></td><td><a href="4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb">PyTorch</a></td><td><a href="4-ComputerVision/07-ConvNets/ConvNetsTF.ipynb">Tensorflow</a></td><td></td></tr> -<tr><td>8</td><td>Pre-trained Networks and Transfer Learning</td><td><a href="4-ComputerVision/08-TransferLearning/README.md">Text</a><br/><a href="4-ComputerVision/08-TransferLearning/TrainingTricks.md">Text</a></td><td><a href="4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb">PyTorch</a></td><td><a href="4-ComputerVision/08-TransferLearning/TransferLearningTF.ipynb">Tensorflow</a><br/><a href="4-ComputerVision/08-TransferLearning/Dropout.ipynb">Dropout sample</a></td><td></td></tr> -<tr><td>9</td><td>Autoencoders and VAEs</td><td><a href="4-ComputerVision/09-Autoencoders/README.md">Text</a></td><td>PyTorch</td><td><a href="4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb">Tensorflow</a></td><td></td></tr> -<tr><td>10</td><td>Generative Adversarial Networks</td><td><a href="4-ComputerVision/10-GANs/README.md">Text</a></td><td>PyTorch</td><td><a href="4-ComputerVision/10-GANs/GANs.ipynb">Tensorflow</a></td><td></td></tr> -<tr><td>11</td><td>Object Detection</td><td>Text</td><td>PyTorch</td><td>Tensorflow</td><td></td></tr> -<tr><td>12</td><td>Instance Segmentation. U-Net</td><td>Text</td><td>PyTorch</td><td>Tensorflow</td><td></td></tr> +<tr><td>7</td><td>Convolutional Neural Networks<br/>CNN Architectures<br/>Training Tricks</td><td><a href="4-ComputerVision/07-ConvNets/README.md">Text</a><br/><a href="4-ComputerVision/07-ConvNets/CNN_Architectures.md">Text</a></td><td><a href="4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb">PyTorch</a></td><td><a href="4-ComputerVision/07-ConvNets/ConvNetsTF.ipynb">TensorFlow</a></td><td></td></tr> +<tr><td>8</td><td>Pre-trained Networks and Transfer Learning</td><td><a href="4-ComputerVision/08-TransferLearning/README.md">Text</a><br/><a href="4-ComputerVision/08-TransferLearning/TrainingTricks.md">Text</a></td><td><a href="4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb">PyTorch</a></td><td><a href="4-ComputerVision/08-TransferLearning/TransferLearningTF.ipynb">TensorFlow</a><br/><a href="4-ComputerVision/08-TransferLearning/Dropout.ipynb">Dropout sample</a></td><td></td></tr> +<tr><td>9</td><td>Autoencoders and VAEs</td><td><a href="4-ComputerVision/09-Autoencoders/README.md">Text</a></td><td>PyTorch</td><td><a href="4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb">TensorFlow</a></td><td></td></tr> +<tr><td>10</td><td>Generative Adversarial Networks</td><td><a href="4-ComputerVision/10-GANs/README.md">Text</a></td><td>PyTorch</td><td><a href="4-ComputerVision/10-GANs/GANs.ipynb">TensorFlow</a></td><td></td></tr> +<tr><td>11</td><td>Object Detection</td><td>Text</td><td>PyTorch</td><td>TensorFlow</td><td></td></tr> +<tr><td>12</td><td>Instance Segmentation. U-Net</td><td>Text</td><td>PyTorch</td><td>TensorFlow</td><td></td></tr> <tr><td>V</td><td colspan="2"><b><a href="5-NLP/README.md">Natural Language Processing</a></b></td> <td><a href="https://docs.microsoft.com/learn/modules/intro-natural-language-processing-pytorch/?WT.mc_id=academic-33554-dmitryso">MS Learn</a></td> - <td><a href="https://docs.microsoft.com/learn/modules/intro-natural-language-processing-tensorflow/?WT.mc_id=academic-33554-dmitryso">MS Learn</a></td> + <td><a href="https://docs.microsoft.com/learn/modules/intro-natural-language-processing-TensorFlow/?WT.mc_id=academic-33554-dmitryso">MS Learn</a></td> <td>PAT</td></tr> -<tr><td>13</td><td>Text Representation. Bow/TF-IDF</td><td><a href="5-NLP/13-TextRep/README.md">Text</a></td><td><a href="5-NLP/13-TextRep/TextRepresentationPyTorch.ipynb">PyTorch</a></td><td><a href="5-NLP/13-TextRep/TextRepresentationTF.ipynb">Tensorflow</td><td></td></tr> -<tr><td>14</td><td>Semantic word embeddings. Word2Vec and GloVe</td><td><a href="5-NLP/14-Embeddings/README.md">Text</td><td><a href="5-NLP/14-Embeddings/EmbeddingsPyTorch.ipynb">PyTorch</a></td><td><a href="5-NLP/14-Embeddings/EmbeddingsTF.ipynb">Tensorflow</a></td><td></td></tr> -<tr><td>15</td><td>Language Modeling. Training your own embeddings</td><td><a href="5-NLP/15-LanguageModeling">Text</a></td><td>PyTorch</td><td>Tensorflow</td><td></td></tr> -<tr><td>16</td><td>Recurrent Neural Networks</td><td><a href="5-NLP/16-RNN/README.md">Text</a></td><td><a href="5-NLP/16-RNN/RNNPyTorch.ipynb">PyTorch</a></td><td><a href="5-NLP/16-RNN/RNNTF.ipynb">Tensorflow</a></td><td></td></tr> -<tr><td>17</td><td>Generative Recurrent Networks</td><td><a href="5-NLP/17-GenerativeNetworks/README.md">Text</a></td><td><a href="5-NLP/17-GenerativeNetworks/GenerativePyTorch.md">PyTorch</a></td><td><a href="5-NLP/17-GenerativeNetworks/GenerativeTF.md">Tensorflow</a></td><td></td></tr> -<tr><td>18</td><td>Transformers. BERT.</td><td><a href="5-NLP/18-Transformers/README.md">Text</a></td><td><a href="5-NLP/18-Transformers/TransformersPyTorch.md">PyTorch</a></td><td><a href="5-NLP/18-Transformers/TransformersTF.md">Tensorflow</a></td><td></td></tr> -<tr><td>19</td><td>Named Entity Recognition</td><td>Text</td><td>PyTorch</td><td>Tensorflow</td><td></td></tr> -<tr><td>20</td><td>Text Generation using GPT</td><td>Text</td><td>PyTorch</td><td>Tensorflow</td><td></td></tr> +<tr><td>13</td><td>Text Representation. Bow/TF-IDF</td><td><a href="5-NLP/13-TextRep/README.md">Text</a></td><td><a href="5-NLP/13-TextRep/TextRepresentationPyTorch.ipynb">PyTorch</a></td><td><a href="5-NLP/13-TextRep/TextRepresentationTF.ipynb">TensorFlow</td><td></td></tr> +<tr><td>14</td><td>Semantic word embeddings. Word2Vec and GloVe</td><td><a href="5-NLP/14-Embeddings/README.md">Text</td><td><a href="5-NLP/14-Embeddings/EmbeddingsPyTorch.ipynb">PyTorch</a></td><td><a href="5-NLP/14-Embeddings/EmbeddingsTF.ipynb">TensorFlow</a></td><td></td></tr> +<tr><td>15</td><td>Language Modeling. Training your own embeddings</td><td><a href="5-NLP/15-LanguageModeling">Text</a></td><td>PyTorch</td><td>TensorFlow</td><td></td></tr> +<tr><td>16</td><td>Recurrent Neural Networks</td><td><a href="5-NLP/16-RNN/README.md">Text</a></td><td><a href="5-NLP/16-RNN/RNNPyTorch.ipynb">PyTorch</a></td><td><a href="5-NLP/16-RNN/RNNTF.ipynb">TensorFlow</a></td><td></td></tr> +<tr><td>17</td><td>Generative Recurrent Networks</td><td><a href="5-NLP/17-GenerativeNetworks/README.md">Text</a></td><td><a href="5-NLP/17-GenerativeNetworks/GenerativePyTorch.md">PyTorch</a></td><td><a href="5-NLP/17-GenerativeNetworks/GenerativeTF.md">TensorFlow</a></td><td></td></tr> +<tr><td>18</td><td>Transformers. BERT.</td><td><a href="5-NLP/18-Transformers/README.md">Text</a></td><td><a href="5-NLP/18-Transformers/TransformersPyTorch.md">PyTorch</a></td><td><a href="5-NLP/18-Transformers/TransformersTF.md">TensorFlow</a></td><td></td></tr> +<tr><td>19</td><td>Named Entity Recognition</td><td>Text</td><td>PyTorch</td><td>TensorFlow</td><td></td></tr> +<tr><td>20</td><td>Text Generation using GPT</td><td>Text</td><td>PyTorch</td><td>TensorFlow</td><td></td></tr> <tr><td>VI</td><td colspan="4"><b>Other AI Techniques</b></td><td>PAT</td></tr> <tr><td>21</td><td>Genetic Algorithms</td><td>Text<td colspan="2">Notebook</td><td></td></tr> -<tr><td>22</td><td>Deep Reinforcement Learning</td><td>Text</td><td>PyTorch</td><td>Tensorflow</td><td></td></tr> +<tr><td>22</td><td>Deep Reinforcement Learning</td><td>Text</td><td>PyTorch</td><td>TensorFlow</td><td></td></tr> <tr><td>23</td><td>Multi-Agent Systems</td><td>Text</td><td></td><td></td><td></td></tr> <tr><td>VII</td><td colspan="4"><b>AI Ethics</b></td><td>PAT</td></tr> <tr><td>24</td><td>AI Ethics and Responsible AI</td><td>Text</td><td></td><td></td><td></td></tr> </table> -Each lesson contains some pre-reading material (linked as **Text** above), and some executable Jupyter Notebooks, which are often specific to the framework (**PyTorch** or **Tensorflow**). The executable notebook also contains a lot of theoretical material, so to understand the topic you need to go through at least one version of the notebooks (either PyTorch or Tensorflow). There are also **Labs** available for some topics, which give you an opportunity to try applying the material you have learnt to some specific problem. +Each lesson contains some pre-reading material (linked as **Text** above), and some executable Jupyter Notebooks, which are often specific to the framework (**PyTorch** or **TensorFlow**). The executable notebook also contains a lot of theoretical material, so to understand the topic you need to go through at least one version of the notebooks (either PyTorch or TensorFlow). There are also **Labs** available for some topics, which give you an opportunity to try applying the material you have learnt to some specific problem. Some sections also contain links to **MS Learn** modules that cover related topics. Microsoft Learn provides convenient GPU-enabled learning environment, although in terms of content you can expect this curriculum to go a bit deeper. @@ -92,7 +92,7 @@ However, if you are serious about the course, we suggest to fork the entire repo - Start with a pre-lecture quiz. - Read the intro text for the lecture -- If the lecture has additional notebooks, go through them, reading and executing the code. If both Tensorflow and PyTorch notebooks are provided, you can focus on one of them - chose your favourite framework. +- If the lecture has additional notebooks, go through them, reading and executing the code. If both TensorFlow and PyTorch notebooks are provided, you can focus on one of them - chose your favourite framework. - Notebooks often contain some of the challenges that require you to tweak the code a little bit to experiment. Do not by lazy and do it! - Take the post-lecture quiz. - If there is a lab attached to the module - complete the assignment. diff --git a/ai-for-beginners.png b/ai-for-beginners.png new file mode 100644 index 0000000000000000000000000000000000000000..77e62c337aa056e09cfb8d1e0a192961dde07746 Binary files /dev/null and b/ai-for-beginners.png differ