mirror of
https://github.com/huggingface/deep-rl-class.git
synced 2026-02-13 15:27:48 +08:00
Create quiz for unit 5
This commit is contained in:
87
units/en/unit5/quiz.mdx
Normal file
87
units/en/unit5/quiz.mdx
Normal file
@@ -0,0 +1,87 @@
|
||||
# Quiz
|
||||
|
||||
The best way to learn and [to avoid the illusion of competence](https://www.coursera.org/lecture/learning-how-to-learn/illusions-of-competence-BuFzf) **is to test yourself.** This will help you to find **where you need to reinforce your knowledge**.
|
||||
|
||||
|
||||
### Q1: What of the following statemets are true about Unity ML-Agents?
|
||||
|
||||
<Question
|
||||
choices={[
|
||||
{
|
||||
text: "It allows you to create learning environments from the Unity ´Scene´ objects",
|
||||
explain: "",
|
||||
correct: true,
|
||||
},
|
||||
{
|
||||
text: "It allows you to create and train your agents using Reinforcement Learning",
|
||||
explain: "",
|
||||
correct: true,
|
||||
},
|
||||
{
|
||||
text: "Its `Communicator` component manages the communication between Unity's C# Environments/Agents and the Python back-end",
|
||||
explain: "",
|
||||
correct: true,
|
||||
},
|
||||
{
|
||||
text: "The library which carries out the actual training is Pytorch",
|
||||
explain: ""
|
||||
correct: "true"
|
||||
},
|
||||
{
|
||||
text: "Unity ML-Agents only support Proximal Policy Optimization (PPO)",
|
||||
explain: "No, Unity ML-Agents supports several families of algorithms, including Actor-Critic which is going to be explained in the next section"
|
||||
correct: "false"
|
||||
},
|
||||
{
|
||||
text: "Unity's programming language is C++",
|
||||
explain: "It's C#. If you are interested in programming in C++, take a look at Unreal Engine `Learning Agents`"
|
||||
correct: "false"
|
||||
},
|
||||
]}
|
||||
/>
|
||||
|
||||
### Q2: Explain with your own words what is the role of the `Academy`.
|
||||
|
||||
<details>
|
||||
<summary>Solution</summary>
|
||||
|
||||
The `Academy` is the orchestrating module in charge of attending the requests from the Python API and sending them to the agents (e.g, `collect observations`)
|
||||
|
||||
<img src="https://huggingface.co/datasets/huggingface-deep-rl-course/course-images/resolve/main/en/unit5/academy.png" alt="Academy"/>
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
### Q3: What are the differences between capturing the environment using `frames` or `raycasts`?
|
||||
|
||||
<Question
|
||||
choices={[
|
||||
{
|
||||
text: "By using `frames`, the environment is defined by each of the pixels of the screen. By using `raycasts`, we only send a sample of those pixels.",
|
||||
explain: "`Raycasts` don't have anything to do with pixels. They are projections of geometric shapes, normally lines, that we spawn to check for collisions.",
|
||||
correct: false,
|
||||
},
|
||||
{
|
||||
text: "By using `raycasts`, the environment is defined by each of the pixels of the screen. By using `frames`, we spawn a geometric shape (normally lines) to check what objects it collides with",
|
||||
explain: "It's the other way around - `frames` collect pixels, `raycasts` check for collisions.",
|
||||
correct: false,
|
||||
},
|
||||
{
|
||||
text: "By using `frames`, we collect all the pixels of the screen, which define the environment. By using `raycast`, we don't use pixels, we spawn geometric shapes (normally lines) and check for collisions",
|
||||
explain: "",
|
||||
correct: true,
|
||||
},
|
||||
]}
|
||||
/>
|
||||
|
||||
|
||||
### Q4: Name several input variables which were used in any of the Snowball or Pyramid environments
|
||||
<details>
|
||||
<summary>Solution</summary>
|
||||
- Collisions of the raycasts in charge of detecting blocks, (invisible) walls, stones, our target, switches, etc. in the environment.
|
||||
- Traditional inputs describing agent features, as its speed (it could also be position, rotation, etc. although that is covered by our raycast already).
|
||||
- Some boolean vars, as the switch (on/off) in Pyramids or the `can I shoot?` in the SnowballTarget.
|
||||
</details>
|
||||
|
||||
|
||||
Congrats on finishing this Quiz 🥳, if you missed some elements, take time to read the chapter again to reinforce (😏) your knowledge.
|
||||
Reference in New Issue
Block a user