关于书中对应各章节的要点,稍晚些时候补充,这里先给出汤晓鸥教授和陈玉琨教授的一些点评,我个人读后收获非常大。

人工智能基础(高中版)教材补充和资源分享之二 机器人学矩阵_python

.参考:https://www.ithome.com/html/it/345470.htm

人工智能基础(高中版)教材补充和资源分享之二 机器人学矩阵_ide_02

.参考:http://epaper.oeeee.com/epaper/H/html/2017-01/04/content_749.htm

文末附机器人学习能力矩阵,包括:小学、初中、高中、学士、硕士、博士。

补充知识和阅读材料:

人工智能基础(高中版)教材补充和资源分享之二 机器人学矩阵_ide_03

人工智能基础(高中版)教材补充和资源分享之二 机器人学矩阵_ide_04

人工智能基础(高中版)教材补充和资源分享之二 机器人学矩阵_ide_05

--一份为高中生准备的机器学习与人工智能入门指南--

 

Being a high schooler myself and having studied Machine Learning and Artificial Intelligence for a year now, I believe that there fails to exist a learning path in this field for High School students. This is my attempt at creating one.

 

A guide for High School students to learning Machine Learning and Artificial Intelligence

Being a high schooler myself and having studied Machine Learning and Artificial Intelligence for a year now, I believe that there fails to exist a learning path in this field for High School students. This is my attempt to create one.

Over the past few months, I've tried to spend a couple of hours every day understanding this field, be it watching Youtube videos or undertaking projects. I've been guided by older peers who've had far more experience than me, and now feel that I have ample experience to share my insights.

All the information that I have compiled in this guide is intended for high schoolers wishing to excel in this up and coming field. It is intended to be followed chronologically, and unlike most guides/learning paths that I've come across, doesn't require an understanding of linear algebra, partial derivatives and other complex mathemathical concepts which one cannot find in their high school syllabuses.

If you work through this path on a regular basis, I believe that you could get to a pretty high level in about three months. However, this learning path does provide content that can keep you learning for the rest of your high school stay.

So, lets get to it.

1. Learning Python, which you will code your algorithms in.

I strongly suggest Python for this - not only is it extremely easy to learn, it supports pretty much any good library used in Machine Learning. While R is useful, I just find that Python in general is far more suitable for high school students. Besides basic programming, for Machine Learning in particular, the libraries that are most useful are Numpy, Pandas and Matplotlib.

Great! Now you should be set in the core programming needed to learn Machine Learning and Artificial Intelligence.

2. Getting into the basics of Machine Learning.

If there's one universal course for Machine Learning, it has to be Andrew Ng's course. This course is nothing short of brilliant, though for high school students, it may seem slightly challenging at times, as it refers to concepts such as partial derivatives (though these aren't required to understand the course). I found it beneficial to re-watch some lectures in Weeks 3 to 5 - it may be a bit fast the first time around.

I encourage everyone to go through this and take notes, though doing the programming-related tutorials and exercises is not needed, as its done in Matlab, which (in my experience) is often too tough for high schoolers to grasp. But don't worry, we will be doing the very same (and far more advanced) algorithms in Python in just a short amount of time.

The link to this free course is: https://www.coursera.org/learn/machine-learning

3. Learning an assortment of machine learning algorithms and understand how to implement them in real-world scenarios.

Now, understanding machine learning algorithms without the knowledge of university-level maths - this should be hard in theory, however, a team from Australia resolved this issue.

Kirill Eremenko and Hadelin de Ponteves - a pair from the SuperDataScience team - are absolutely fantastic at finding relevant ways to apply simple algorithms in real life. Furthermore, they go into a suitable amount of depth to understand the functionality of the algorithm, but without the complex mathics that a high school would not be able to understand.

Their course covers both Python and R, though you don't have to worry about R - simply go through the Python tutorials. Also, if you find that they are going a bit too slow, play this course at 1.25x speed (I did that and found it much better).

Their course is on Udemy, and is paid, though Udemy regularly has discounts of 90% or more on their courses. It can be found at https://www.udemy.com/machinelearning/learn/v4/overview, and is usually around $10.

It covers everything from basic regression algorithms to deep and convolutional neural networks. If you wish to explore even more advanced areas, their Deep Learning course is offered at the end of the Machine Learning for a 90% discount. However, concepts in this second course may be a little advanced and lack proper documentation, since they are so new.

If you're unwilling to pay for this course, you can check out Google's free Deep Learning course at https://www.udacity.com/course/deep-learning--ud730 or University of Michigan's free course at https://www.coursera.org/learn/python-machine-learning. However, these are far from as well-rounded as the SuperDataScience team's courses.

For these courses, taking notes aren't a necessity - there are tons of 'algorithm cheat sheets' online, which offer a quick intution on how they work. This website (https://www.analyticsvidhya.com/blog/2017/02/top-28-cheat-sheets-for-machine-learning-data-science-probability-sql-big-data/) lists a few.

4. Explore, explore and explore.

Now, you've covered a wide range of machine learning concepts, and have learnt a vast amount of skills. Its time for you to independently use these on basic projects. I'd suggest going to Kaggle (https://www.kaggle.com/) or the UCI Machine Learning repository (http://archive.ics.uci.edu/ml/datasets.html), finding a dataset you have an interest in, and simply modelling some solutions to these. Play around with different algorithms, and try to optimize performance.

Ensure that the datasets you use are simple and clean in nature - they shouldn't require too much pre-processing or modifying. Some easy dataset (off the top of my head) are the Iris, Wine, Breast Cancer Wisconsin, Autism Screening, Congress Voting, Handwritten Digits MNIST and Fashion MNIST ones.

If you ever come across a road block, Stack Overflow (https://stackoverflow.com/) is your best friend - they have an answer to almost any question that you'd have. If it doesn't, just post one - you should get replies within a couple of hours!

There's nothing much more I need to say here - when you find that you've become comfortable with the whole modelling process, feel free to move on!

5. Find an area of particular interest, and dive deeper.

Now you've got a great and broad understanding of all the basics. However, there's only a limit to what you can do with this. Thus, I suggest you find an area of interest in the broad field of Machine Learning, and look deeper into it. You probably won't have time to become experts in all of these in your high school tenure, but try and conquer one, if not two.

I'll list some possible areas, but before you begin one of these, understand what it is you're getting into. A simple Youtube search for a high-level explanation will give you all you need.

  • Computer Vision: Probably the hottest field in Machine Learning/AI right now - making computers see and understand things using a special type of neural network. Stanford publishes their course in this online (http://cs231n.stanford.edu/), with lectures, course notes and assignments available online. Go through this, though if the math is too complicated, don't worry - the course is simply to deepen your knowledge. Alternatively, you could look to OpenCV, a computer vision library that does a lot of the complex stuff for you. A great tutorial can be found at https://www.youtube.com/watch?v=Z78zbnLlPUA&list=PLQVvvaa0QuDdttJXlLtAJxJetJcqmqlQq. Once you're done with these, look at more advanced image datasets on Kaggle and UCI, or even enter Kaggle Competitions.

  • Natural Language Processing: Understanding how computers learn to speak is also a prominent topic today. Once again, Stanford offers a great course thats online (http://web.stanford.edu/class/cs224n/). If you don't understand some of the Math concepts, don't worry, just gain an understanding of how this field works. For implementations, you could undertake this Udemy course: https://www.udemy.com/data-science-natural-language-processing-in-python/. However, you could alternatively go through some of well-known Machine Learner Siraj Raval's videos (such as https://www.youtube.com/watch?v=9zhrxE5PQgY). One you've done these, try undertaking simple, well-known projects like building a chatbot, sentiment analysis or creating lyrics to a song - simple Youtube searches should help you out.

  • Reinforcement Learning: This domain focuses on how machines learn to act in a particular way, and its most popular application is in the field of video games. Siraj Raval again has a pretty good playlist on this (https://www.youtube.com/watch?v=i_McNBDP9Qs&list=PL2-dafEMk2A5FZ-MnPMpp3PBtZcINKwLA). David Silver's UCL course is great, though beginners may find it a bit tricky - http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html. Once you're done with these, its pretty logical to just start downloading base projects from online, and adding an element of Artificial Intelligence to modify how the agents they act. Simple walkthroughs can again be found via a simple Youtube search.

  • Data Science: This field is a budding domain with tons of exciting job oppurtunities. I suggest undertaking either SuperDataScience's paid course (https://www.udemy.com/datascience/) or UC San Diego's Python-based free course (https://www.edx.org/course/python-data-science-uc-san-diegox-dse200x), though you should find a specific learning path for data science with a simple Google search. You must also learn SQL (https://www.khanacademy.org/computing/computer-programming/sql) as well as Matplotlib (https://www.youtube.com/watch?v=q7Bo_J8x_dw). The advantage in learning this at a student level is employability - I have friends in high school who've been offered data science internships, as the data gained from their work can instantly be monetized by companies. Its easy for companies to find a way to use a data scientist.

  • There are also areas like Representation Learning (used for recommendation systems), Adversial Networks (AI improving AI) and Genetic Algorithms (improving a solution to a problem in a way similar to natural evolution), but in my opinion, these are a stretch for most high school students. Do feel free to explore these if you have a particular passion for one of them, though they aren't as well covered as the other domains, largely due to the fact that they aren't currently monetized as much as the other fields.

BONUS (extremely important). Truly understand the field of Artificial Intelligence.

If you want to work in this field in the long run, its crucial to understand what it is about, groundbreaking discoveries and its implications on society. You should start doing things listed in this section as soon as you have the necessary understanding of how the technology works - I believe that this is after Section 4 of this learning path (as you start delving into an area of interest). This kind of information may not particularly help you when implementing algorithms, but its an impressive sign for universities or companies when their prospects are so knowledgeable in the field itself, rather than just the code.

There's a few things that a high schooler should do to deepen their general understanding of the field and make them more knowledgeable, which I'll list here:

  1. Start reading research papers: They really aren't as challenging as they sound. A good portion of them can be almost completely comprehended with a high school Math level. If you ever come across one you don't understand, just put it down - theres more than enough alternatives. This link (https://www.kdnuggets.com/2017/04/top-20-papers-machine-learning.html) offers a host of great papers, though after you finish those, this (http://www.jmlr.org/papers/) offers the most up-to-date list - simply read ones you're interested in or related to your area of 'expertise' from section 5.

  2. Listen to the pioneers: People like Andrew Ng, Ian Goodfellow and Yann LeCunn are regularly interviewed, and give the perspective of engineers of this field on the subject of AI. This Youtube channel (https://www.youtube.com/user/Maaaarth/videos) gathers the best of these talks, and compiles them into a central resource - watch one a night, and I guarantee that you'll feel like an expert within weeks.

  3. Stay up-to-date with the field: Wired is one of the best platforms for anyone interested in tech. It publishes multiple AI-related stories every day, which can be found at https://www.wired.com/tag/artificial-intelligence/. Its simply a great way to understand the trends of the time. Alternatively, subsribe to TechCrunch's Facebook Messenger bot - it often has interested AI-related articles, and prompts you every day.

  4. Understand the implications: There's no better way to do this than listening to TED talks. Their speakers are extremely knowledgeable in the field, and there is an increasing emphasis on AI in their speeches. A host of videos can be found at https://www.youtube.com/user/TEDtalksDirector/videos

  5. The Philosophy: AI has its supporters and its opposers. The philosphy behind it, however, is intriguing. My favourite books that explore this area, and are suitable for High School students, include 'How to Create a Mind' by Ray Kurzweil and 'Life 3.0' by Max Tegmark (http://s3.amazonaws.com/arena-attachments/1446178/cffa5ebc74cee2b1edf58fa9a5bbcb1c.pdf?1511265314) - do try and read these.

  6. Contributing: If you're the kind of person who likes to learn from others experience, check out the Artificial Intelligence & Deep Learning Facebook group. Alternatively, if you prefer conversations, check out Reddit's thread on AI at https://www.reddit.com/r/artificial/.

  7. Delve into the math: Yes, you do need university level math skills, but if you're an extremeley strong math student, there's nothing stopping you from taking some online courses. This quora thread (https://www.quora.com/How-do-I-learn-mathematics-for-machine-learning) has some great resources that you should check out. 3Blue1Brown (https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw/playlists) is a famous name in the community too, as his Youtube videos are fantastic for learning the maths behind some of these more complicated concepts.

Conclusion

I wish everyone the best of luck in undertaking this learning path. I've heard too many people say Machine Learning and Artificial Intelligence is too complicated to learn as a high school student to not write this - with a well-paved learning path, it can be done by anyone. Its just that due to the field being so new and generally thought of as a graduate field of study, theres a lack of one for high school students.

If anyone has additions, suggestions, queries or feedback, feel free to write to me @ kj.jaisingh@gmail.com.

--机器人方向--

MIT Zero Robotics中学计划:http://zerorobotics.mit.edu/ms/

--NASA机器人学矩阵--

涵盖了从幼儿园到博士的全部内容。五星推荐。https://robotics.nasa.gov/edu/matrix.php

----

 

人工智能基础(高中版)教材补充和资源分享之二 机器人学矩阵_ide_06 Educational Robotics Matrix 人工智能基础(高中版)教材补充和资源分享之二 机器人学矩阵_人工智能基础(高中版)_07

Check back often as this list always continues to develop. If you have any suggestions for additional content, or to report broken links, please direct your e-mail to arc-rap@mail.nasa.gov 

人工智能基础(高中版)教材补充和资源分享之二 机器人学矩阵_python_08

Interested in how the National Science Education Standards relate to robotics?
Find out at BotBalls' Website!

人工智能基础(高中版)教材补充和资源分享之二 机器人学矩阵_python_08

Find National Standards for the following subjects:
MathScienceEngineeringTechnology (ITEEA and ISTE), Language ArtsSocial Studies

 

--具体内容如下--



Curriculum

Competitions

Internships

K to 5th

Squeakland
Let younger children try their hand at programming.
+ More information

ImagiBotics
Robotics classroom activities, articles, and interviews at Imagiverse
+ More information

Pre-K-12 Engineering
Standards-aligned engineering activities for grades Pre-K to 12th Grade.
+ More information

Make Your Own Rover
Eleven activities designed to help students learn about robotics.
+ More information

Classroom Robotics on the Web
Lessons, materials, and rubrics developed in a Texas classroom using RoboLab.
+ More information

Imagine Mars
Students explore their own community and decide which arts, scientific and cultural elements will be important as they develop an ideal community on Mars.
+ More information

Build a Nanorover
Learn how to make your own balloon-powered nanorover!
+ More information

Robotics Activities
Design, build and program a real robot using sensors, controllers and actuators.
+ More information

Robotics Starter Kits for Educators
A guide to different robotics kits.
+ More information

RoboCupJunior
+ More information

Trinity Fire-Fighting Robot Contest
+ More information

FIRST® LEGO® League Junior
Designed to introduce STEM concepts to kids ages 6 to 10
+ More information

Robofest
Robofest is an annual autonomous robotics competition focusing on learning STEM for students in grades 5 - 12.
+ More information

FIRST® LEGO® League 
Immerses kids in real-world science and technology challenges.
+ More information

Storming Robots
Storming Robots offers classes for those interested in participating in robotics competitions, robotics technology clubs, computer programming classes, etc. 
+ More information

EARLY Robotics
Engineering And Robotics Learned Young (EARLY) is a program that exposes our youth to engineering. EARLY provides 7 to 12 year olds the opportunity to participate in a robotics competition every fall and spring.
+ More information

ID Tech Camps
+ More information

Space Camp
+ More information

6th to 8th

ImagiBotics
Robotics classroom activities, articles, and interviews at Imagiverse
+ More information

Pre-K-12 Engineering
Standards-aligned engineering activities for grades Pre-K to 12th Grade.
+ More information

Make Your Own Rover
Eleven activities designed to help students learn about robotics.
+ More information

Imagine Mars
Students explore their own community and decide which arts, scientific and cultural elements will be important as they develop an ideal community on Mars.
+ More information

Robotics Activities
Design, build and program a real robot using sensors, controllers and actuators.
+ More information

Robotics Starter Kits for Educators
A guide to different robotics kits.
+ More information

Robotics Academy Camp-on-a-Disk
+ More information

Botball and Computer Science Curriculum
Curricular materials to promote hands-on learning.
+ More information

Multi-unit Robotics Curriculum
Give students meaningful exercises that introduce or reinforce applied physics and mathematics concepts.
+ More information

BotBall
+ More information

RoboCupJunior
+ More information

Trinity Fire-Fighting Robot Contest
+ More information

Battlebots IQ
+ More information

Robofest
Robofest is an annual autonomous robotics competition focusing on learning STEM for students in grades 5 - 12.
+ More information

FIRST® LEGO® League 
Immerses kids in real-world science and technology challenges.
+ More information

Storming Robots
Storming Robots offers classes for those interested in participating in robotics competitions, robotics technology clubs, computer programming classes, etc. 
+ More information

ID Tech Camps
+ More information

Space Camp
+ More information

9th to 12th

Pre-K-12 Engineering
Standards-aligned engineering activities for grades Pre-K to 12th Grade.
+ More information

Robotics Starter Kits for Educators
A guide to different robotics kits.
+ More information

Robotics Academy Camp-on-a-Disk
+ More information

Botball and Computer Science Curriculum
Curricular materials to promote hands-on learning.
+ More information

Multi-unit Robotics Curriculum
Give students meaningful exercises that introduce or reinforce applied physics and mathematics concepts.
+ More information

IntelliBrain-Bot
Java-programmable educational robot.
+ More information

GEARS Educational Systems
Robotics platform with projects and suggested curriculum.
+ More information

Battlebots IQ
Educational lessons about robotics.
+ More information

Robotic Autonomy Activities
A series of exercises intended to explore principles of autonomous robotics.
+ More information

Robotics Programming
Simulate robotics missions and learning BASIC programming.
+ More information

Robotics Technology Curriculum
Select activities to suit the learner from elementary to advanced and manual robot control to computer program modes.
+ More information

Stamps in Class
Introduction to topics such as microcontrollers, analog and digital, and advanced robotics.
+ More information

EST Foundations
The EST Foundations curriculum is comprised of project based lesson plans to introduce students to engineering. Students will explore the new product development process, how marketing impacts engineering, and careers in engineering and science. There are eleven fully developed one-week modules. 
+ More information

BotBall
+ More information

RoboCupJunior
+ More information

Trinity Fire-Fighting Robot Contest
+ More information

Battlebots IQ
+ More information

BEST Robotics
+ More information

FIRST® Robotics Competition 
+ More information

Robofest
Robofest is an annual autonomous robotics competition focusing on learning STEM for students in grades 5 - 12.
+ More information

Storming Robots
Storming Robots offers classes for those interested in participating in robotics competitions, robotics technology clubs, computer programming classes, etc. 
+ More information

FIRST® Tech Challenge 
+ More information

VEX Robotics Competition
+ More information

NASA Student Opportunities
+ More information

ID Tech Camps
+ More information

Robotics Boot Camp
At San Jose City College
+ More information

NASA Summer High School Apprenticeship Research Program (SHARP)
+ More information

NASA MSFC Robotics Academy
+ More information

BA/BS

List of universities offering robotics programs
+ More information

Autonomous Multirobot Systems
Key issues and current research in autonomous multirobot systems.
+ More information

General Robotics Course
Overview of robotics in practice and research.
+ More information

CMU Undergraduate Minor in Robotics
Focus on robotics.
+ More information

Universities
Study and research programs in robotics.
+ More information

Trinity Fire-Fighting Robot Contest
+ More information

Battlebots IQ
+ More information

Collaborative Research Experience
For women in undergraduate computer science and engineering
+ More information

RoboCup
+ More information

VEX Robotics Competition
+ More information

NASA Student Opportunities
+ More information

NASA Jobs
+ More information

Storming Robots Internship
+ More information

iD Tech Camps Jobs
+ More information

NASA MSFC Robotics Academy
+ More information

MA/MS

List of universities offering robotics programs
+ More information

Autonomous Multirobot Systems
Key issues and current research in autonomous multirobot systems.
+ More information

General Robotics Course
Overview of robotics in practice and research.
+ More information

Carnegie Mellon University Robotics Institute
Graduate education in robotics.
+ More information

Universities
Study and research programs in robotics.
+ More information

Trinity Fire-Fighting Robot Contest
+ More information

RoboCup
+ More information

NASA Student Opportunities
+ More information

NASA Jobs
+ More information

Planetary Science Summer School
+ More information

Ph.D

List of universities offering robotics programs
+ More information

Autonomous Multirobot Systems
Key issues and current research in autonomous multirobot systems.
+ More information

General Robotics Course
Overview of robotics in practice and research.
+ More information

Carnegie Mellon University Robotics Institute
Graduate education in robotics.
+ More information

Universities
Study and research programs in robotics.
+ More information

Trinity Fire-Fighting Robot Contest
+ More information

RoboCup
+ More information

NASA Student Opportunities
+ More information

NASA Jobs
+ More information

Planetary Science Summer School
+ More information

 

----

机器人世界与机器人操作系统(ROS):https://www.edx.org/course/hello-real-world-with-ros-robot-operating-system

 

你有兴趣采取机器人技术的第一步吗?你是否寻求切实可行的方法,并希望通过这样做来学习?加入我们的课程,学习如何使用ROS编写完整的真实世界机器人系统!

机器人操作系统(ROS)使您能够通过访问大量开源软件和工具来快速构建机器人应用程序。多年来,ROS已经成为机器人专家的必备工具。一个大型社区围绕着ROS,工业用户在这些工具的开发中已经有了大量的投入。

用于操纵,感知和导航的许多新的高级机器人功能都是使用ROS开发的。像空客和波音这样的公司正在使用ROS来处理他们的一些应用。代尔夫特理工大学的代尔夫特机器人系统团队在2016年亚马逊机器人挑战赛上赢得了两项挑战,其中使用ROS开发的机器人。

在本课程中,您将学习使用不同的ROS工具来创建一个完整的机器人应用程序。您将在基于物理学的仿真引擎Gazebo上使用您自己的独立Ubuntu-Linux安装以及工业和移动机器人。您将学习编程和配置基本的机器人任务,例如拾取和放置对象,并浏览障碍物。然后,您将整合所有这些知识,用两个机器人手臂和一个移动机器人构建工业生产线。

最好的最终项目将在代尔夫特的工业示范设施中的真实机器人上进行测试!

你准备好让你的机器人用ROS来向你的(真实)世界说“你好”吗?


本课程的课程资料属于代尔夫特理工大学版权所有,并根据知识共享署名 - 非商业性使用 - 相同方式(CC-BY-NC-SA)4.0国际许可证授权。

更多文章请关注《万象专栏》