Top Related Projects
Documentation for Google's Gen AI site - including the Gemini API and Gemma
12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all
10 Weeks, 20 Lessons, Data Science for All!
An Open Source Machine Learning Framework for Everyone
Tensors and Dynamic neural networks in Python with strong GPU acceleration
🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.
Quick Overview
AI For Beginners is a 12-week, 24-lesson curriculum created by Microsoft to teach the fundamentals of Artificial Intelligence. It covers various AI topics, including machine learning, deep learning, natural language processing, and computer vision, providing a comprehensive introduction to AI for beginners.
Pros
- Comprehensive curriculum covering a wide range of AI topics
- Free and open-source, making it accessible to anyone interested in learning AI
- Includes hands-on projects and exercises to reinforce learning
- Created by Microsoft, ensuring high-quality content and industry relevance
Cons
- May be too broad for those seeking in-depth knowledge in specific AI areas
- Requires some basic programming knowledge, which might be challenging for complete beginners
- The course is self-paced, which may lack the structure some learners prefer
- Content may become outdated as AI technologies rapidly evolve
Getting Started
To get started with AI For Beginners:
- Visit the GitHub repository: https://github.com/microsoft/AI-For-Beginners
- Clone the repository or download the course materials
- Review the syllabus and course structure in the README file
- Start with Lesson 1 and follow the curriculum sequentially
- Complete the exercises and projects associated with each lesson
- Join the course's Discord channel for community support and discussions
Note: This is not a code library, so there are no code examples or quick start instructions. The course provides Jupyter notebooks and other resources for hands-on learning throughout the lessons.
Competitor Comparisons
Documentation for Google's Gen AI site - including the Gemini API and Gemma
Pros of generative-ai-docs
- Focuses specifically on generative AI, providing in-depth coverage of this cutting-edge technology
- Offers practical examples and code snippets for implementing generative AI models
- Regularly updated with the latest advancements in Google's AI technologies
Cons of generative-ai-docs
- Limited scope compared to AI-For-Beginners, which covers a broader range of AI topics
- May be more challenging for absolute beginners due to its focus on advanced generative AI concepts
- Less structured learning path compared to AI-For-Beginners' curriculum-style approach
Code Comparison
AI-For-Beginners:
import numpy as np
X = np.array([[1, 2], [3, 4], [5, 6]])
y = np.array([2, 4, 6])
model = LinearRegression().fit(X, y)
generative-ai-docs:
import google.generativeai as genai
genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))
model = genai.GenerativeModel('gemini-pro')
response = model.generate_content("Tell me a joke")
This comparison highlights the different focus areas of the two repositories. AI-For-Beginners provides a broader introduction to AI concepts, while generative-ai-docs delves deeper into specific generative AI technologies and implementations using Google's tools.
12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all
Pros of ML-For-Beginners
- More comprehensive coverage of machine learning topics
- Includes hands-on projects and quizzes for practical learning
- Offers content in multiple languages
Cons of ML-For-Beginners
- Less focus on deep learning and neural networks
- May not cover the latest AI advancements as extensively
Code Comparison
ML-For-Beginners:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = RandomForestClassifier(n_estimators=100)
model.fit(X_train, y_train)
AI-For-Beginners:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(64, activation='relu', input_shape=(input_dim,)),
tf.keras.layers.Dense(1, activation='sigmoid')
])
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
The ML-For-Beginners repository focuses on traditional machine learning algorithms and techniques, while AI-For-Beginners delves more into deep learning and neural networks. ML-For-Beginners provides a broader foundation in machine learning concepts, making it suitable for beginners. AI-For-Beginners, on the other hand, offers more advanced topics in artificial intelligence, catering to those interested in cutting-edge AI technologies.
10 Weeks, 20 Lessons, Data Science for All!
Pros of Data-Science-For-Beginners
- More comprehensive coverage of data science fundamentals
- Includes practical exercises and projects for hands-on learning
- Stronger focus on statistical analysis and data visualization techniques
Cons of Data-Science-For-Beginners
- Less emphasis on advanced machine learning algorithms
- Fewer resources on deep learning and neural networks
- Limited coverage of AI-specific topics like natural language processing
Code Comparison
Data-Science-For-Beginners:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('dataset.csv')
plt.scatter(data['x'], data['y'])
plt.show()
AI-For-Beginners:
import tensorflow as tf
from tensorflow import keras
model = keras.Sequential([
keras.layers.Dense(64, activation='relu', input_shape=(10,)),
keras.layers.Dense(1, activation='sigmoid')
])
The code snippets highlight the different focus areas of the two repositories. Data-Science-For-Beginners emphasizes data manipulation and visualization using libraries like pandas and matplotlib, while AI-For-Beginners delves into machine learning model creation using TensorFlow and Keras.
Both repositories offer valuable resources for beginners in their respective fields, with Data-Science-For-Beginners providing a broader foundation in data analysis and AI-For-Beginners offering more specialized knowledge in artificial intelligence and machine learning techniques.
An Open Source Machine Learning Framework for Everyone
Pros of TensorFlow
- Comprehensive, production-ready deep learning framework
- Extensive ecosystem with tools like TensorBoard for visualization
- Supports multiple programming languages and platforms
Cons of TensorFlow
- Steeper learning curve for beginners
- More complex setup and configuration
- Larger codebase, which can be overwhelming for newcomers
Code Comparison
AI-For-Beginners (Python example):
import numpy as np
def sigmoid(x):
return 1 / (1 + np.exp(-x))
# Simple neural network forward pass
def forward(X, W1, W2):
Z1 = np.dot(X, W1)
A1 = sigmoid(Z1)
Z2 = np.dot(A1, W2)
return sigmoid(Z2)
TensorFlow (Python example):
import tensorflow as tf
# Define a simple neural network
model = tf.keras.Sequential([
tf.keras.layers.Dense(64, activation='relu', input_shape=(10,)),
tf.keras.layers.Dense(32, activation='relu'),
tf.keras.layers.Dense(1, activation='sigmoid')
])
# Compile and train the model
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.fit(X_train, y_train, epochs=10, batch_size=32)
Tensors and Dynamic neural networks in Python with strong GPU acceleration
Pros of PyTorch
- Comprehensive deep learning framework with extensive functionality
- Large, active community providing support and contributions
- Widely used in industry and research, with frequent updates
Cons of PyTorch
- Steeper learning curve for beginners
- More complex setup and installation process
- Less focused on educational content for AI newcomers
Code Comparison
AI-For-Beginners (using TensorFlow):
model = tf.keras.Sequential([
tf.keras.layers.Dense(64, activation='relu'),
tf.keras.layers.Dense(10, activation='softmax')
])
PyTorch:
model = nn.Sequential(
nn.Linear(784, 64),
nn.ReLU(),
nn.Linear(64, 10),
nn.Softmax(dim=1)
)
Summary
AI-For-Beginners is designed as an educational resource for those new to AI, offering structured lessons and examples. PyTorch, on the other hand, is a powerful, production-ready deep learning framework used by professionals and researchers. While PyTorch provides more advanced capabilities, it may be overwhelming for beginners. AI-For-Beginners offers a gentler introduction to AI concepts but lacks the depth and flexibility of PyTorch for complex projects.
🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.
Pros of transformers
- Extensive library of pre-trained models for various NLP tasks
- Actively maintained with frequent updates and new features
- Seamless integration with popular deep learning frameworks
Cons of transformers
- Steeper learning curve for beginners
- Focused primarily on NLP, less suitable for general AI education
- Requires more computational resources for training and inference
Code Comparison
AI-For-Beginners:
import numpy as np
def sigmoid(x):
return 1 / (1 + np.exp(-x))
def neural_network(input_layer, weights, bias):
return sigmoid(np.dot(input_layer, weights) + bias)
transformers:
from transformers import AutoTokenizer, AutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased")
inputs = tokenizer("Hello, world!", return_tensors="pt")
outputs = model(**inputs)
The AI-For-Beginners code demonstrates a simple neural network implementation, while the transformers code showcases the ease of using pre-trained models for complex NLP tasks.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Artificial Intelligence for Beginners - A Curriculum
AI For Beginners - Sketchnote by @girlie_mac |
Explore the world of Artificial Intelligence (AI) with our 12-week, 24-lesson curriculum! It includes practical lessons, quizzes, and labs. The curriculum is beginner-friendly and covers tools like TensorFlow and PyTorch, as well as ethics in AI
What you will learn
In this curriculum, you will learn:
- Different approaches to Artificial Intelligence, including the "good old" symbolic approach with Knowledge Representation and reasoning (GOFAI).
- Neural Networks and Deep Learning, which are at the core of modern AI. We will illustrate the concepts behind these important topics using code in two of the most popular frameworks - TensorFlow and PyTorch.
- Neural Architectures for working with images and text. We will cover recent models but may be a bit lacking in the state-of-the-art.
- Less popular AI approaches, such as Genetic Algorithms and Multi-Agent Systems.
What we will not cover in this curriculum:
Find all additional resources for this course in our Microsoft Learn collection
- Business cases of using AI in Business. Consider taking Introduction to AI for business users learning path on Microsoft Learn, or AI Business School, developed in cooperation with INSEAD.
- Classic Machine Learning, which is well described in our Machine Learning for Beginners Curriculum.
- Practical AI applications built using Cognitive Services. For this, we recommend that you start with modules Microsoft Learn for vision, natural language processing, Generative AI with Azure OpenAI Service and others.
- Specific ML Cloud Frameworks, such as Azure Machine Learning, Microsoft Fabric, or Azure Databricks. Consider using Build and operate machine learning solutions with Azure Machine Learning and Build and Operate Machine Learning Solutions with Azure Databricks learning paths.
- Conversational AI and Chat Bots. There is a separate Create conversational AI solutions learning path, and you can also refer to this blog post for more detail.
- Deep Mathematics behind deep learning. For this, we would recommend Deep Learning by Ian Goodfellow, Yoshua Bengio and Aaron Courville, which is also available online at https://www.deeplearningbook.org/.
For a gentle introduction to AI in the Cloud topics you may consider taking the Get started with artificial intelligence on Azure Learning Path.
Content
Each lesson contains
- Pre-reading material
- 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 notebook (either PyTorch or TensorFlow).
- Labs available for some topics, which give you an opportunity to try applying the material you have learned to a specific problem.
- Some sections contain links to MS Learn modules that cover related topics.
Getting Started
- We have created a setup lesson to help you with setting up your development environment. - For Educators, we have created a curricula setup lesson for you too!
- How to Run the code in a VSCode or a Codepace
Don't forget to star (ð) this repo to find it easier later.
Meet other Learners
Join our official AI Discord server to meet and network with other learners taking this course and get support.
Quizzes
A note about quizzes: All quizzes are contained in the Quiz-app folder in etc\quiz-app, They are linked from within the lessons the quiz app can be run locally or deployed to Azure; follow the instruction in the
quiz-app
folder. They are gradually being localized.
Help Wanted
Do you have suggestions or found spelling or code errors? Raise an issue or create a pull request.
Special Thanks
- âï¸ Primary Author: Dmitry Soshnikov, PhD
- ð¥ Editor: Jen Looper, PhD
- ð¨ Sketchnote illustrator: Tomomi Imura
- â Quiz Creator: Lateefah Bello, MLSA
- ð Core Contributors: Evgenii Pishchik
Other Curricula
Our team produces other curricula! Check out:
Top Related Projects
Documentation for Google's Gen AI site - including the Gemini API and Gemma
12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all
10 Weeks, 20 Lessons, Data Science for All!
An Open Source Machine Learning Framework for Everyone
Tensors and Dynamic neural networks in Python with strong GPU acceleration
🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot