diff --git a/.github/workflows/azure-static-web-apps-red-field-0a6ddfd03.yml b/.github/workflows/azure-static-web-apps-red-field-0a6ddfd03.yml index b0409ac5..d27e2273 100644 --- a/.github/workflows/azure-static-web-apps-red-field-0a6ddfd03.yml +++ b/.github/workflows/azure-static-web-apps-red-field-0a6ddfd03.yml @@ -11,8 +11,18 @@ on: jobs: build_and_deploy_job: + permissions: + actions: write + checks: none if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') runs-on: ubuntu-latest + permissions: + actions: read + contents: read + deployments: read + packages: none + pull-requests: write + security-events: write name: Build and Deploy Job steps: - uses: actions/checkout@v2 @@ -36,6 +46,13 @@ jobs: if: github.event_name == 'pull_request' && github.event.action == 'closed' runs-on: ubuntu-latest name: Close Pull Request Job + permissions: + actions: read + contents: read + deployments: read + packages: none + pull-requests: write + security-events: write steps: - name: Close Pull Request id: closepullrequest diff --git a/README.md b/README.md index cf5d2da6..3f22ddce 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ |:---:| | AI For Beginners - _Sketchnote by [@girlie_mac](https://twitter.com/girlie_mac)_ | -Azure Cloud Advocates at Microsoft are pleased to offer a 12-week, 24-lesson curriculum all about **Artificial Intelligence**. +Explore the world of **Artificial Intelligence** (AI) with Microsoft's 12-week, 24-lesson curriculum! Dive into Symbolic AI, Neural Networks, Computer Vision, Natural Language Processing, and more. Hands-on lessons, quizzes, and labs enhance your learning. Perfect for beginners, this comprehensive guide, designed by experts, covers TensorFlow, PyTorch, and ethical AI principles. Start your AI journey today!" In this curriculum, you will learn: @@ -36,6 +36,21 @@ What we will not cover in this curriculum: For a gentle introduction to *AI in the Cloud* topics you may consider taking the [Get started with artificial intelligence on Azure](https://docs.microsoft.com/learn/paths/get-started-with-artificial-intelligence-on-azure/?WT.mc_id=academic-77998-cacaste) Learning Path. + +## Announcement - New Curriculum on Generative AI was just released! + +We just released a 12 lesson curriculum on generative AI. Come learn things like: + +- prompting and prompt engineering +- text and image app generation +- search apps + +As usual, there's a lesson, assignments to complete, knowledge checks and challenges. + +Check it out: + +> https://aka.ms/genai-beginners + --- # Content @@ -171,7 +186,13 @@ Would you like to contribute a translation? Please read our [translation guideli Our team produces other curricula! Check out: +- [AI for Beginners](https://aka.ms/ai-beginners) +- [Data Science for Beginners](https://aka.ms/datascience-beginners) +- [Generative AI for Beginners](https://aka.ms/genai-beginners) +- [**NEW** Cybersecurity for Beginners](https://github.com/microsoft/Security-101??WT.mc_id=academic-96948-sayoung) - [Web Dev for Beginners](https://aka.ms/webdev-beginners) - [IoT for Beginners](https://aka.ms/iot-beginners) - [Machine Learning for Beginners](https://aka.ms/ml-beginners) -- [Data Science for Beginners](https://aka.ms/datascience-beginners) +- [XR Development for Beginners](https://aka.ms/xr-dev-for-beginners) +- [Mastering GitHub Copilot for AI Paired Programming](https://aka.ms/GitHubCopilotAI) + diff --git a/etc/how-to-run.md b/etc/how-to-run.md index ea791fe0..ff3b05f6 100644 --- a/etc/how-to-run.md +++ b/etc/how-to-run.md @@ -28,6 +28,7 @@ Probably the best way to use the curriculum is to open it in [Visual Studio Code You can also use Jupyter environment right from the browser on your own computer. Actually, both classical Jupyter and Jupyer Hub provide quite convenient development environment with auto-completion, code highlighting, etc. To start Jupyter locally, go to the directory of the course, and execute: + ```bash jupyter notebook ``` diff --git a/etc/quiz-app/package-lock.json b/etc/quiz-app/package-lock.json index 2a22a3a0..49069f69 100644 --- a/etc/quiz-app/package-lock.json +++ b/etc/quiz-app/package-lock.json @@ -11194,9 +11194,9 @@ "dev": true }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", + "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -19724,9 +19724,9 @@ "dev": true }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", + "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", "dev": true }, "wrap-ansi": { diff --git a/lessons/1-Intro/README.md b/lessons/1-Intro/README.md index 11f9291e..5601c824 100644 --- a/lessons/1-Intro/README.md +++ b/lessons/1-Intro/README.md @@ -24,8 +24,14 @@ There are some tasks, however, that we do not explicitly know how to solve. Cons ## Weak AI vs. Strong AI -The task of solving a specific human-like problem, such as determining a person's age from a photo, can be called **Weak AI**, because we are creating a system for only one task, and not a system that can solve many tasks, such as can be done by a human being. Of course, developing a generally intelligent computer system is also extremely interesting from many points of view, including for students of the philosophy of consciousness. Such system would be called **Strong AI**, or **[Artificial General Intelligence](https://en.wikipedia.org/wiki/Artificial_general_intelligence)** (AGI). +Weak AI | Strong AI +---------------------------------------|------------------------------------- +Weak AI refers to AI systems that are designed and trained for a specific task or a narrow set of tasks.|Strong AI, or Artificial General Intelligence (AGI), refers to AI systems with human-level intelligence and understanding. +These AI systems are not generally intelligent; they excel in performing a predefined task but lack true understanding or consciousness.|These AI systems have the ability to perform any intellectual task that a human being can do, adapt to different domains, and possess a form of consciousness or self-awareness. +Examples of weak AI include virtual assistants like Siri or Alexa, recommendation algorithms used by streaming services, and chatbots that are designed for specific customer service tasks.|Achieving Strong AI is a long-term goal of AI research and would require the development of AI systems that can reason, learn, understand, and adapt across a wide range of tasks and contexts. +Weak AI is highly specialized and does not possess human-like cognitive abilities or general problem-solving capabilities beyond its narrow domain.|Strong AI is currently a theoretical concept, and no AI system has reached this level of general intelligence +for more infomation refer **[Artificial General Intelligence](https://en.wikipedia.org/wiki/Artificial_general_intelligence)** (AGI). ## The Definition of Intelligence and the Turing Test One of the problems when dealing with the term **[Intelligence](https://en.wikipedia.org/wiki/Intelligence)** is that there is no clear definition of this term. One can argue that intelligence is connected to **abstract thinking**, or to **self-awareness**, but we cannot properly define it. diff --git a/lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb b/lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb index d356632f..6df73e93 100644 --- a/lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb +++ b/lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb @@ -166,7 +166,7 @@ " \\end{cases} \\\\\n", "$$\n", "\n", - "However, a generic linear model should also have a bias, i.e. ideally we should compute $y$ as $y=f(\\mathbf{w}^{\\mathrm{T}}\\mathbf{x})+\\mathbf{b}$. To simplify our model, we can get rid of this bias term by adding one more dimension to our input features, which always equals to 1:" + "However, a generic linear model should also have a bias, i.e. ideally we should compute $y$ as $y=f(\\mathbf{w}^{\\mathrm{T}}\\mathbf{x}+\\mathbf{b})$. To simplify our model, we can get rid of this bias term by adding one more dimension to our input features, which always equals to 1:" ] }, { @@ -215,7 +215,7 @@ " \n", "We will use the process of **gradient descent**. Starting with some initial random weights $\\mathbf{w}^{(0)}$, we will adjust weights on each step of the training using the gradient of $E$:\n", "\n", - "$$\\mathbf{w}^{\\tau + 1}=\\mathbf{w}^{\\tau} - \\eta \\nabla E(\\mathbf{w}) = \\mathbf{w}^{\\tau} + \\eta \\mathbf{x}_{n} t_{n}$$\n", + "$$\\mathbf{w}^{\\tau + 1}=\\mathbf{w}^{\\tau} - \\eta \\nabla E(\\mathbf{w}) = \\mathbf{w}^{\\tau} + \\eta\\sum_{n \\in \\mathcal{M}}\\mathbf{x}_{n} t_{n}$$\n", "\n", "where $\\eta$ is a **learning rate**, and $\\tau\\in\\mathbb{N}$ - number of iteration.\n", "\n", diff --git a/lessons/5-NLP/18-Transformers/README.md b/lessons/5-NLP/18-Transformers/READMEtransformers.md similarity index 100% rename from lessons/5-NLP/18-Transformers/README.md rename to lessons/5-NLP/18-Transformers/READMEtransformers.md diff --git a/lessons/5-NLP/20-LangModels/README.md b/lessons/5-NLP/20-LangModels/READMELargeLang.md similarity index 93% rename from lessons/5-NLP/20-LangModels/README.md rename to lessons/5-NLP/20-LangModels/READMELargeLang.md index 36627216..5acb7959 100644 --- a/lessons/5-NLP/20-LangModels/README.md +++ b/lessons/5-NLP/20-LangModels/READMELargeLang.md @@ -10,7 +10,7 @@ The idea of a neural network being able to do general tasks without downstream t > Understanding and being able to produce text also entails knowing something about the world around us. People also learn by reading to the large extent, and GPT network is similar in this respect. -Text generation networks wor;k by predicting probability of the next word $$P(w_N)$$ However, unconditional probability of the next word equals to the frequency of the this word in the text corpus. GPT is able to give us **conditional probability** of the next word, given the previous ones: $$P(w_N | w_{n-1}, ..., w_0)$$ +Text generation networks work by predicting probability of the next word $$P(w_N)$$ However, unconditional probability of the next word equals to the frequency of the this word in the text corpus. GPT is able to give us **conditional probability** of the next word, given the previous ones: $$P(w_N | w_{n-1}, ..., w_0)$$ > You can read more about probabilities in our [Data Science for Beginers Curriculum](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/1-Introduction/04-stats-and-probability)