Skip to content

Commit

Permalink
Merge pull request microsoft#124 from juliamuiruri4/main
Browse files Browse the repository at this point in the history
added new quiz app links
  • Loading branch information
juliamuiruri4 authored Jul 18, 2022
2 parents 4ca020b + 861fc53 commit 89d8477
Show file tree
Hide file tree
Showing 28 changed files with 51 additions and 51 deletions.
2 changes: 1 addition & 1 deletion etc/TRANSLATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Similar to Readme's, please translate the assignments as well.

3. Edit the quiz-app's [translations index.js file](https://github.com/microsoft/AI-For-Beginners/blob/main/etc/quiz-app/src/assets/translations/index.js) to add your language.

4. Finally, edit ALL the quiz links in your translated README.md files to point directly to your translated quiz: https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/1 becomes https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/1?loc=id
4. Finally, edit ALL the quiz links in your translated README.md files to point directly to your translated quiz: https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/1 becomes https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/1?loc=id

**THANK YOU**

Expand Down
4 changes: 2 additions & 2 deletions lessons/1-Intro/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

> Sketchnote by [Tomomi Imura](https://twitter.com/girlie_mac)
## [Pre-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/101)
## [Pre-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/101)

**Artificial Intelligence** is an exciting scientific discipline that studies how we can make computers exhibit intelligent behavior, e.g. do those things that human beings are good at doing.

Expand Down Expand Up @@ -139,7 +139,7 @@ Over the past few years we have witnessed huge successes with large language mod

Do a tour of the internet to determine where, in your opinion, AI is most effectively used. Is it in a Mapping app, or some speech-to-text service or a video game? Research how the system was built.

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/201)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/201)

## Review & Self Study

Expand Down
4 changes: 2 additions & 2 deletions lessons/1-Intro/translations/README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

> Sketchnote by [Tomomi Imura](https://twitter.com/girlie_mac)
## [事前クイズ](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/101)
## [事前クイズ](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/101)

**Artificial Intelligence** is an exciting scientific discipline that studies how we can make computers exhibit intelligent behavior, e.g. do those things that human beings are good at doing.

Expand Down Expand Up @@ -139,7 +139,7 @@ Over the past few years we have witnessed huge successes with large language mod

Do a tour of the internet to determine where, in your opinion, AI is most effectively used. Is it in a Mapping app, or some speech-to-text service or a video game? Research how the system was built.

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/201)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/201)

## レビュー&セルフスタディ

Expand Down
4 changes: 2 additions & 2 deletions lessons/2-Symbolic/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
The quest for artificial intelligence is based on a search for knowledge, to make sense of the world similar to how humans do. But how can you go about doing this?

## [Pre-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/102)
## [Pre-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/102)

In the early days of AI, the top-down approach to creating intelligent systems (discussed in the previous lesson) was popular. The idea was to extract the knowledge from people into some machine-readable form, and then use it to automatically solve problems. This approach was based on two big ideas:

Expand Down Expand Up @@ -230,7 +230,7 @@ Nowadays, AI is often considered to be a synonym for *Machine Learning* or *Neur

In the Family Ontology notebook associated to this lesson, there is an opportunity to experiment with other family relations. Try to discover new connections between people in the family tree.

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/202)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/202)

## Review & Self Study

Expand Down
4 changes: 2 additions & 2 deletions lessons/3-NeuralNetworks/03-Perceptron/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Introduction to Neural Networks: Perceptron

## [Pre-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/103)
## [Pre-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/103)

One of the first attempts to implement something similar to a modern neural network was done by Frank Rosenblatt from Cornell Aeronautical Laboratory in 1957. It was a hardware implementation called "Mark-1", designed to recognize primitive geometric figures, such as triangles, squares and circles.

Expand Down Expand Up @@ -76,7 +76,7 @@ In this lesson, you learned about a perceptron, which is a binary classification

If you'd like to try to build your own perceptron, try [this lab on Microsoft Learn](https://docs.microsoft.com/en-us/azure/machine-learning/component-reference/two-class-averaged-perceptron?WT.mc_id=academic-57639-dmitryso) which uses the [Azure ML designer](https://docs.microsoft.com/en-us/azure/machine-learning/concept-designer?WT.mc_id=academic-57639-dmitryso).

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/203)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/203)

## Review & Self Study

Expand Down
4 changes: 2 additions & 2 deletions lessons/3-NeuralNetworks/04-OwnFramework/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ In this section we will extend this model into a more flexible framework, allowi

We will also develop our own modular framework in Python that will allow us to construct different neural network architectures.

## [Pre-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/104)
## [Pre-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/104)

## Formalization of Machine Learning

Expand Down Expand Up @@ -72,7 +72,7 @@ In the accompanying notebook, you will implement your own framework for building

Proceed to the [OwnFramework](OwnFramework.ipynb) notebook and work through it.

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/204)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/204)

## Review & Self Study

Expand Down
2 changes: 1 addition & 1 deletion lessons/3-NeuralNetworks/05-Frameworks/Overfitting.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ In this lesson, you learned about the differences between the various APIs for t

In the accompanying notebooks, you will find 'tasks' at the bottom; work through the notebooks and complete the tasks.

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/205)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/205)

## Review & Self Study

Expand Down
2 changes: 1 addition & 1 deletion lessons/3-NeuralNetworks/05-Frameworks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ As we have learned already, to be able to train neural networks efficiently we n
* To operate on tensors, eg. to multiply, add, and compute some functions such as sigmoid or softmax
* To compute gradients of all expressions, in order to perform gradient descent optimization

## [Pre-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/105)
## [Pre-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/105)

While the `numpy` library can do the first part, we need some mechanism to compute gradients. In [our framework](../04-OwnFramework/OwnFramework.ipynb) that we have developed in the previous section we had to manually program all derivative functions inside the `backward` method, which does backpropagation. Ideally, a framework should give us the opportunity to compute gradients of *any expression* that we can define.

Expand Down
4 changes: 2 additions & 2 deletions lessons/4-ComputerVision/06-IntroCV/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[Computer Vision](https://wikipedia.org/wiki/Computer_vision) is a discipline whose aim is to allow computers to gain high-level understanding of digital images. This is quite a broad definition, because *understanding* can mean many different things, including finding an object on a picture (**object detection**), understanding what is happening (**event detection**), describing a picture in text, or reconstructing a scene in 3D. There are also special tasks related to human images: age and emotion estimation, face detection and identification, and 3D pose estimation, to name a few.

## [Pre-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/106)
## [Pre-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/106)

One of the simplest tasks of computer vision is **image classification**.

Expand Down Expand Up @@ -96,7 +96,7 @@ Sometimes, relatively complex tasks such as movement detection or fingertip dete

Watch [this video](https://docs.microsoft.com/shows/ai-show/ai-show--2021-opencv-ai-competition--grand-prize-winners--cortic-tigers--episode-32?WT.mc_id=academic-57639-dmitryso) from the AI show to learn about the Cortic Tigers project and how they built a block-based solution to democratize computer vision tasks via a robot. Do some research on other projects like this that help onboard new learners into the field.

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/206)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/206)

## Review & Self Study

Expand Down
2 changes: 1 addition & 1 deletion lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ In this unit, you have learned the main concept behind computer vision neural ne

In the accompanying notebooks, there are notes at the bottom about how to obtain greater accuracy. Do some experiments to see if you can achieve higher accuracy.

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/207)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/207)

## Review & Self Study

Expand Down
2 changes: 1 addition & 1 deletion lessons/4-ComputerVision/07-ConvNets/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

We have seen before that neural networks are quite good at dealing with images, and even one-layer perceptron is able to recognize handwritten digits from MNIST dataset with reasonable accuracy. However, the MNIST dataset is very special, and all digits are centered inside the image, which makes the task simpler.

## [Pre-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/107)
## [Pre-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/107)

In real life, we want to be able to recognize objects on a picture regardless of their exact location in the image. Computer vision is different from generic classification, because when we are trying to find a certain object in the picture, we are scanning the image looking for some specific **patterns** and their combinations. For example, when looking for a cat, we first may look for horizontal lines, which can form whiskers, and then certain a combination of whiskers can tell us that it is actually a picture of a cat. Relative position and presence of certain patterns is important, and not their exact position on the image.

Expand Down
4 changes: 2 additions & 2 deletions lessons/4-ComputerVision/08-TransferLearning/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Training CNNs can take a lot of time, and a lot of data is required for that task. However, much of the time is spent learning the best low-level filters that a network can use to extract patterns from images. A natural question arises - can we use a neural network trained on one dataset and adapt it to classify different images without requiring a full training process?

## [Pre-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/108)
## [Pre-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/108)

This approach is called **transfer learning**, because we transfer some knowledge from one neural network model to another. In transfer learning, we typically start with a pre-trained model, which has been trained on some large image dataset, such as **ImageNet**. Those models can already do a good job extracting different features from generic images, and in many cases just building a classifier on top of those extracted features can yield a good result.

Expand Down Expand Up @@ -66,7 +66,7 @@ Using transfer learning, you are able to quickly put together a classifier for a

In the accompanying notebooks, there are notes at the bottom about how transfer knowledge works best with somewhat similar training data (a new type of animal, perhaps). Do some experimentation with completely new types of images to see how well or poorly your transfer knowledge models perform.

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/208)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/208)

## Review & Self Study

Expand Down
6 changes: 3 additions & 3 deletions lessons/4-ComputerVision/09-Autoencoders/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

When training CNNs, one of the problems is that we need a lot of labeled data. In the case of image classification, we need to separate images into different classes, which is a manual effort.

## [Pre-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/109)
## [Pre-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/109)

However, we might want to use raw (unlabeled) data for training CNN feature extractors, which is called **self-supervised learning**. Instead of labels, we will use training images as both network input and output. The main idea of **autoencoder** is that we will have an **encoder network** that converts input image into some **latent space** (normally it is just a vector of some smaller size), then the **decoder network**, whose goal would be to reconstruct the original image.

Expand Down Expand Up @@ -71,7 +71,7 @@ Learn more about autoencoders in these corresponding notebooks:
* **Lossy** - the reconstructed image is not the same as the original image. The nature of loss is defined by the *loss function* used during training
* Works on **unlabeled data**

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/209)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/209)

## Conclusion

Expand All @@ -81,7 +81,7 @@ In this lesson, you learned about the various types of autoencoders available to

In this lesson, you learned about using autoencoders for images. But they can also be used for music! Check out the Magenta project's [MusicVAE](https://magenta.tensorflow.org/music-vae) project, which uses autoencoders to learn to reconstruct music. Do some [experiments](https://colab.research.google.com/github/magenta/magenta-demos/blob/master/colab-notebooks/Multitrack_MusicVAE.ipynb) with this library to see what you can create.

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/208)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/208)

## Review & Self Study

Expand Down
4 changes: 2 additions & 2 deletions lessons/4-ComputerVision/10-GANs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

In the previous section, we learned about **generative models**: models that can generate new images similar to the ones in the training dataset. VAE was a good example of a generative model.

## [Pre-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/110)
## [Pre-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/110)

However, if we try to generate something really meaningful, like a painting at reasonable resolution, with VAE, we will see that training does not converge well. For this use case, we should learn about another architecture specifically targeted at generative models - **Generative Adversarial Networks**, or GANs.

Expand Down Expand Up @@ -75,7 +75,7 @@ The way it works is the following:

## ✍️ Example: [Style Transfer](StyleTransfer.ipynb)

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/210)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/210)

## Conclusion

Expand Down
4 changes: 2 additions & 2 deletions lessons/4-ComputerVision/11-ObjectDetection/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

The image classification models we have dealt with so far took an image and produced a categorical result, such as the class 'number' in a MNIST problem. However, in many cases we do not want just to know that a picture portrays objects - we want to be able to determine their precise location. This is exactly the point of **object detection**.

## [Pre-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/111)
## [Pre-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/111)

![Object Detection](images/Screen_Shot_2016-11-17_at_11.14.54_AM.png)

Expand Down Expand Up @@ -163,7 +163,7 @@ Read through these articles and notebooks about YOLO and try them for yourself
* Yolo: [Keras implementation](https://github.com/experiencor/keras-yolo2), [step-by-step notebook](https://github.com/experiencor/basic-yolo-keras/blob/master/Yolo%20Step-by-Step.ipynb)
* Yolo v2: [Keras implementation](https://github.com/experiencor/keras-yolo2), [step-by-step notebook](https://github.com/experiencor/keras-yolo2/blob/master/Yolo%20Step-by-Step.ipynb)

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/211)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/211)

## Review & Self Study

Expand Down
4 changes: 2 additions & 2 deletions lessons/4-ComputerVision/12-Segmentation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

We have previously learned about Object Detection, which allows us to locate objects in the image by predicting their *bounding boxes*. However, for some tasks we do not only need bounding boxes, but also more precise object localization. This task is called **segmentation**.

## [Pre-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/112)
## [Pre-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/112)

Segmentation can be viewed as **pixel classification**, whereas for **each** pixel of image we must predict its class (*background* being one of the classes). There are two main segmentation algorithms:

Expand Down Expand Up @@ -47,7 +47,7 @@ Open the notebooks below to learn more about different semantic segmentation arc
* [Semantic Segmentation Pytorch](SemanticSegmentationPytorch.ipynb)
* [Semantic Segmentation TensorFlow](SemanticSegmentationTF.ipynb)

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/212)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/212)

## Conclusion

Expand Down
4 changes: 2 additions & 2 deletions lessons/5-NLP/13-TextRep/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Representing Text as Tensors

## [Pre-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/113)
## [Pre-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/113)

## Text Classification

Expand Down Expand Up @@ -64,7 +64,7 @@ So far, we have studied techniques that can add frequency weight to different wo

Try some other exercises using bag-of-words and different data models. You might be inspired by this [competition on Kaggle](https://www.kaggle.com/competitions/word2vec-nlp-tutorial/overview/part-1-for-beginners-bag-of-words)

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/213)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/213)

## Review & Self Study

Expand Down
4 changes: 2 additions & 2 deletions lessons/5-NLP/14-Embeddings/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Embeddings

## [Pre-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/114)
## [Pre-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/114)

When training classifiers based on BoW or TF/IDF, we operated on high-dimensional bag-of-words vectors with length `vocab_size`, and we were explicitly converting from low-dimensional positional representation vectors into sparse one-hot representation. This one-hot representation, however, is not memory-efficient. In addition, each word is treated independently from each other, i.e. one-hot encoded vectors do not express any semantic similarity between words.

Expand Down Expand Up @@ -56,7 +56,7 @@ In this lesson, you discovered how to build and use embedding layers in TensorFl

Word2Vec has been used for some interesting applications, including generating song lyrics and poetry. Take a look at [this article](https://www.politetype.com/blog/word2vec-color-poems) which walks through how the author used Word2Vec to generate poetry. Watch [this video by Dan Shiffmann](https://www.youtube.com/watch?v=LSS_bos_TPI&ab_channel=TheCodingTrain) as well to discover a different explanation of this technique. Then try to apply these techniques to your own text corpus, perhaps sourced from Kaggle.

## [Post-lecture quiz](https://victorious-sand-043ca7603.1.azurestaticapps.net/quiz/214)
## [Post-lecture quiz](https://red-field-0a6ddfd03.1.azurestaticapps.net/quiz/214)

## Review & Self Study

Expand Down
Loading

0 comments on commit 89d8477

Please sign in to comment.