Nanodegree

# 弱人工智能 - nanodegree


《弱人工智能 - nanodegree》分几个学位:


 * 机器学习(入门)
 * 机器学习(进阶)
 * 深度学习
 * 自然语言处理工程师
 * 无人驾驶工程师(中级)
 * 无人驾驶工程师(高级)
 * 机器人开发
 * 人工智能工程师


## 机器学习(入门)
* Python 语法与数据结构
- 在这个部分,你将了解 Python 的整数和字符串数据类型,学会使用变量存储数据,掌握使用内置的函数和方法。你将会学习条件语句,循环语句完成复杂的统计。同时你将学会使用集合数据类型,包括列表、集合和字典等多种数据结构。
* Python文件与网络
- 你会使用 Python 标准库和第三方库中的模块,认识 Python 强大的库。并学会读取磁盘上的文件中的数据,使用在线资源解决实际问题。最后你将练习编写一个网络抓取程序来跟踪维基百科文章之间的链接。


* 数据分析与入门
- 学习使用 Python 了解数据分析流程的主要步骤,运用 Python 和 Pandas 处理多个数据集;并通过两个数据分析实战案例,学习使用 Python、Numpy 和 Pandas 进行数据清洗、探索、分析和可视化;


* 线性代数基础
- 线性代数是深度神经网络的基础。在这一部分中,你将从0基础开始学习线性代数中的向量以及交点知识以及实现向量的基本操作。


* 模型的评估与验证
- 模型的评价指标是深度学习建模过程中非常重要的一环。在这一部分中,你将学习如何衡量深度学习模型以及其他机器学习模型好坏。


* 实践项目
- 分析电话和短信记录,在这个项目中,你将会挑战一个数据分析的任务。你会应用你在课程中学到的数据结构,字符串处理,循环等技巧,从电话和短信记录的数据中发现一些端倪。
- 探索美国共享单车数据,你需要借助 Python 完成对美国 3 个城市的共享单车行程数据的数据分析。你将编写交互式代码来查询数据,计算描述性统计数据。
- 数据分析入门,学习使用 Python 了解数据分析流程的主要步骤,运用 Python 和 Pandas 处理多个数据集;并通过两个数据分析实战案例,学习使用 Python、Numpy 和 Pandas 进行数据清洗、探索、分析和可视化;
- 线性代数,通过代码实现一个矩阵求逆,更深刻的理解线性代数的本质。
- 预测未来房价,运用机器学习原理与基础统计分析工具针对房地产数据建立一个模型、评估模型的表现好坏并利用这个模型预测未来房价。


## 机器学习(进阶)
先修知识,掌握中级编程知识、中级统计学知识、中级微积分和线性代数知识。


* 机器学习基础
- 在这里,你可以学习到机器学习的基础知识,并初步了解一些机器学习可以完成的任务,如分类与回归问题,包括机器学习涉及到的统计分析知识以及模型评估和验证知识。
* 监督学习
- 监督学习是通过已标注过的训练数据来完成分类或回归任务的一类机器学习方法。在这一部分中,你将学习决策树,神经网络,支持向量机等监督学习算法。
* 非监督学习
- 当数据样本没有标签的情况下,非监督学习是其解决问题的最佳方案。在这一部分中,你将学习聚类,特征工程和降维等非监督学习算法。


* 强化学习
- 强化学习也是一类重要的机器学习方法,它是一个序列决策问题。在这一部分中,你将学习Markov 决策过程与博弈论等强化学习知识。
* 深度学习
- 深度学习是当今世界上最火热的一类机器学习方法,在许多领域中甚至超过了人类的能力。在这一部分中,你将学会使用 Tensorflow,并且学习卷积神经网络等知识。


* 毕业项目
- 选择一个你最感兴趣的内容,用你所学的机器学习和技术解决它。在毕业报告中,如果有引用,也一定要注明出处。


* 实践项目
- 预测房价,在此项目中,我们将对为马萨诸塞州波士顿地区的房屋价格收集的数据应用基本机器学习概念,以预测新房屋的销售价格。首先,你将探索这些数据以获取数据集的重要特征和描述性统计信息。接下来,你要正确地将数据拆分为测试数据集和训练数据集,并确定适用于此问题的性能指标。然后,你将使用不同的参数和训练集大小分析学习算法的性能图表。以上这些能够让你挑选最好地泛化到未见过的数据的最佳模型。最后,你将根据一个新样本测试此最佳模型并将预测的销售价格与统计数据进行比较。
- 慈善机构寻找捐助者
在该项目中,你将把你学到的应用监督学习技术和分析数据的能力应用到美国人口普查收集到的数据中,来帮助一个慈善机构确定哪些人最有可能做捐助。首先你要了解普查数据是什么样的。其次,你要使用一系列数据转换和数据前处理技巧来把数据转变成可以工作的形式。你将把你选择的监督学习的算法应用在数据集上,找出最适合的算法。然后,你要优化你选出的这个模型,把他展示给慈善机构。最后,你需要深入探索这个模型以及它的预测,来看一下他对于给定的数据集表现如何。
- 创建客户细分
在这个项目中,你将应用无监督学习技能研究葡萄牙里斯本的一家批发经销商产品花销数据,用于找出数据背后的客户群体。你会先选择一小部分样本,确定是否有任何产品类别是相互高度关联来进行数据研究。之后,你将通过扩展每个产品类别然后识别不需要的异常值来进行数据预处理。对完整的客户开支进行 PCA 转换,并利用聚类算法将数据进行分组。最后将此分组数据与其它分类方式得出来的分组进行比较,并思考这些信息如何帮助批发经销商改善日后的服务。
- 训练机器人走迷宫
在这个项目中,你会需要实现一个 Q-learning算法来解决走迷宫问题。同时你有机会将你的算法应用在股市中,让机器学习出高收益策略。
- 小狗品种分类
在这个项目中,你将设计并训练一个卷积神经网络(CNN),来分析狗的图像,并据此准确区分他们的品种。使用迁移学习和其他知名架构来优化这一模型——为更进阶的应用做好准备!
- 毕业项目 , 选择一个你最感兴趣的内容,用你所学的机器学习和技术解决它。在毕业报告中,如果有引用,也一定要注明出处。选择一:训练特斯拉 - 根据车辆的前置相机所拍摄的路况图像,实现对车辆转向角度的预测。选择二:驾驶员状态检测 - 使用深度学习方法检测驾驶员的状态,有效降低事故发生。选择三:猫狗大战 - 使用深度学习方法识别图片中是猫还是狗。选择四:文档自动分类 - 利用自然语言处理技术对大量分档实现精准自动归类。选择五:语音性别识别 - 使用机器学习的方法判断一段音频信号是男性还是女性。选择六:预测Rossmann未来的销售额 - 根据Rossmann药妆店的信息(比如促销,竞争对手,节假日)以及在过去的销售情况,来预测Rossmann未来的销售额。选择七:识别机器人用户 - 根据提供的拍卖数据,识别出混在正常用户中的机器人用户。


## 深度学习


* 第一学期 (跟机器学习入门一样)
- 针对零基础学员,掌握 Python、微积分、线性代数和统计学知识,迈出成为深度学习工程师的第一步!
* 第二学期
- 针对已掌握中级编程、统计、微积分和线性代数知识的学员,学会使用 Keras 和 TensorFlow 两大主流深度学习框架,学习并掌握卷积神经网络、循环神经网络和生成对抗网络,并在实战中用他们来实现前沿应用。


- 深度学习简介
了解你将在这门课程中学到什么,探索深度学习网络在不同领域的应用,你还将通过一系列简短的课程,踏出你深度学习的第一步,学习使用深度学习相关工具,如 Anaconda 和 Jupyter notebooks。
- 神经网络(你的第一个神经网络)
神经网络是深度学习的基石。在这部分课程中,你将学习神经网络的基本原理,并在实战项目中用 Python 和 Numpy 从头开始构建一个神经网络。你还将简要了解 TensorFlow,以及如何用它来搭建深度神经网络。
- 卷积神经网络(狗狗品种识别)
卷积神经网络是解决视觉问题的标准答案。在无人驾驶车,面部识别,医学影像等领域,都有它的应用。在这部分课程中,你将了解卷积神经网络的基本原理,并在实战项目中用它来解决图片分类问题。
- 循环神经网络(生成电视剧剧本)
用 Keras 和 TensorFlow 打造属于你的循环神经网络(RNN)和长短期记忆神经网络(LSTM),并将其运用在文本情感分析、生成文本等前沿领域。挑战“生成电视剧剧本”实战项目。
- 生成对抗网络(生成人脸)
跟随生成对抗网络之父 Ian Goodfellow,学习并掌握深度卷积生成对抗网络(DCGAN)模型,来模拟生成真实图像。
- 深度强化学习(训练四轴飞行器学会飞行)
使用深度神经网络,来设计一个可以在模拟环境中进行决策的系统。把强化学习应用到电子游戏和机器人开发等复杂的领域中。


## 第一部分:自然语言处理工程师
- 该纳米学位的课程涵盖许多 “经典” 主题,包括使用隐马尔可夫模型(HMM)完成词性标注等任务,使用统计语言模型(SLM)来提高语言翻译和识别任务的准确性,以及学习用于信息检索系统的词频-反转文件频率(tf-idf)技术。
- 自然语言处理入门-词性标注技术
学习文本处理的基础知识,包括词干分解和词形还原,探索情感分析的机器学习方法,并建立一个词性标注模型。
- 自然语言运算-搭建机器翻译模型
学习词汇嵌入和深度学习注意机制等进阶技术,并使用递归神经网络结构建立一个机器翻译模型。
- 自然语言交流 - 搭建语音识别模型
学习可以将语音和文本相互转化的语音交互界面技术,并使用深度学习网络搭建一个语音识别模型。




- 包含深度学习知识
课程中你将使用递归神经网络(RNN)模型完成机器翻译(AMT)等顺序数据任务,还将卷积神经网络(CNN)或双向 RNN 等结构进行自动语音识别(ASR),并将在你的深度学习模型中加入注意机制。
- 先修要求
在加入本纳米学位项目之前,你必须完整学习过深度学习课程,其课程内容等同于优达学城深度学习纳米学位项目。此外,你还需要以下知识: 中级 Python 编程知识,包括:


字符串、数字和变量
陈述、运算符和表达式
列表、元组和字典
条件和循环
生成器和解析式
程序、对象、模块和库
排查和调试
调查和记录
解决问题
算法和数据结构


撰写基础 shell 脚本:


通过命令行运行程序
排查错误信息和反馈
配置环境变量
建立远程连接


基础统计知识,包括:


总体和样本
均值、中值和众数
标准误差
变异与标准差
正态分布


中级微分和线性代数知识,包括:


导数与积分
级数展开
通过特征向量和特征值进行矩阵运算


## 无人驾驶工程师(中级)
在这门课中,你将磨砺你的 Python、C++ 矩阵和微积分知识,并了解基础计算机视觉和机器学习。在无人驾驶开发中,你需要用到这些知识。完成课程后,你将获得无人驾驶入门基石纳米学位认证!


  - 贝叶斯思维(快乐思维)
  在本节课程中,你将学习贝叶斯推断框架。了解无人车是如何通过感知自身及周边环境,做出合理判断及预测。
- 使用矩阵(执行矩阵类)
本课程将重点介绍两种对无人驾驶汽车工程师至关重要的基础知识:面向对象编程和线性代数。
-  C++基础知识,将 PYTHON 转化成 C++
- 用 C++ 编写高性能代码
本课程将带你探索和学习如何编写正确运行的好代码。在主要关注 C++ 语言特性的同时,还将讨论一些最佳的实践方案。
- 浏览复杂的数据结构,在本课程中,你将重点关注无人驾驶汽车最常见的一些数据结构和算法。规划最佳路径


- 可视化微积分和控制
在本节课中,你将学习基础微积分--连续性数学,同时你好将学习如何使用 Python 中最流行的可视化库。
- 机器学习与计算机视觉
在本课程中,你将了解计算机如何查看图像,以及如何使用机器学习来教会计算机以编程的方式识别图像。


## 无人驾驶工程师(高级)


* 先修知识
- 你需要有中级 Python 及 C++ 编程能力,并掌握基础线性代数、微积分、统计学及物理知识。


* 深度学习
- 深度学习已经成为机器学习和自动化交通发展中最关键的组成部分!来自 NVIDIA 和 Uber ATG 的专家将会教你利用现实世界和优达模拟装置中的数据,来进行深度神经网络架构和训练。


* 计算机视觉
- 你将会整合摄像头、软件和机器学习的相关知识,进行多种路况下的车道检测和车辆跟踪。同时,你会着手校正摄像头,处理图像,应用支持向量机和决策树来从视频中提取信息。


* 传感器融合
- 长时间追踪对象是了解车辆周围环境的一项重大挑战。来自梅赛德斯-奔驰的传感器融合工程师将向你展示如何编程卡尔曼滤波器的基本数学工具。这些滤波器可以准确预测并确定道路上其他车辆的位置。


* 定位
- 定位是用于确定我们的车辆在世界上的位置。GPS 定位无疑是伟大的,但它只能在方圆几米内保持准确。我们需要精确到厘米级的精度!为了实现这一点,来自梅赛德斯-奔驰的工程师将教你使用马尔科夫定位的原理来编制粒子滤波器,该滤波器能够使用数据和地图来确定车辆的精确位置。


* 控制
- 一辆无人驾驶车归根结底是一辆汽车,我们需要发出转向,油门和刹车等指令来运行汽车。Uber ATG 将指导你构建比例积分微分(PID)控制器和模型预测控制器。在学习这些控制算法中,你将熟悉起动车辆的基础和先进技术。


* 路径规划
- 梅赛德斯-奔驰智能汽车团队将带你进行路径规划的三个阶段。首先,你将运用模型驱动和数据驱动的方法来预测道路上其他车辆的行为。然后,你将构建一个有限状态机,以决定你自己的车辆应该执行几次操作。最后,你将设计出一条安全舒适的轨迹来执行该操作。


* 深度学习进阶
- 在与 NVIDIA 深度学习研究所共同设计的这门课程中,你将学习语义分割与推理优化,了解深度学习研究中的活跃领域。这门课是选修课,你可以选择完成深度学习进阶或功能安全任意一门课以达到毕业要求。


* 功能安全
- 在与 Elektrobit 合作设计的这门功能安全课程中,你将学习功能安全框架,以确保车辆在系统和组件级别都是安全的。这门课是选修课,你可以选择完成深度学习进阶或功能安全任意一门课以达到毕业要求。


* 系统集成
  - 这是整个无人驾驶工程师纳米学位的巅峰压轴之作!我们将介绍 Carla - Udacity 无人驾驶车以及控制她的机器人操作系统。你将与其他同学一起进行团队合作,结合你在整个项目课程中学到的内容,驱动 Carla —— 一辆真正的无人驾驶车,并在 Udacity 测试道路上进行无人驾驶测试!


* 实践项目
- 检测车道线
在这一项目中,你将编写代码来检测道路上的车道线,首先在图像中,然后在视频流中(实际上只是一系列图像)完成。要完成此项目,你将使用你在本课中学到的工具,并以此为基础完成项目。
- 交通标志识别与分类
你已经刚刚接触到了深度学习,现在是时候检验你的相关技能了!你将通过深度学习来对不同的交通标志进行识别和分类。在这一项目中,你将利用深层神经网络和卷积神经网络的相关知识对交通标志进行分类。
- 行为克隆
这一项目将会检验你的深度学习技能。你将架构和训练一个深度神经网络,在模拟器中驾驶汽车并克隆你自己的驾驶行为模式!
- 高级车道检测
在这一项目中,你的目标是编写一个软件管道,来识别汽车前置摄像头视频中的车道边界。
- 车辆检测与跟踪
在这一项目中,你的目标是编写一个软件管道,来识别汽车前置摄像头视频中的车辆。
- 扩展卡尔曼滤波器
在这一项目中,你将通过在 C++ 中完成扩展卡尔曼滤波器,在实际中应用你迄今为止所学到的关于传感器融合的所有内容!
- 无迹卡尔曼滤波器
这一项目将测试你的技能!你将使用 C++ 编码来追踪非线性运动的无损卡尔曼滤波器。
- 被绑架的汽车!
在这一项目中,你将构建一个粒子滤波器,并将其与实际地图组合,来定位被绑架的车辆!
- PID 控制器
在这一项目中,你将从行为克隆项目中重新考察湖泊车道。然而,这一次,你将在 C++ 中实现一个 PID 控制器来操纵车道上的车辆!
- 模型预测控制
在这一项目中,你将实现模型预测控制,即使在命令之间有额外的延迟,也可以在车道上驾驶车辆!
- 高速公路行驶
在这一项目中,你将设计一个路径规划器,能够创建平稳、安全的路径,使汽车沿着一个3车道高速公路实现流畅平稳的驾驶。
- 标记道路
在这一项目中,你将使用全卷积神经网络(FCN)在图像中标记道路的像素。


## 机器人开发


掌握机器人软件工程高级技能,获得成功解决机器人和 AI 难题的实战经验,跟随全球顶尖企业,加入机器人开发
机器人正在深刻改变全球各行各业,极大提高了制造业和交通领域的生产力和安全性,提供了前所未有的先进医疗解决方案,并解放了我们人类的大脑和手脚。机器人正在进驻越来越多的行业,而我们与 NVIDIA 和 Electric Movement 共同设计的这一课程将让你走在新一代工程师的前沿,为未来机器人世界创造更多的可能性!




Jetson TX2 具有无可匹敌的嵌入式计算能力,代表了智能嵌入式机器人学的变革性新纪元。通过让领先的设备实现服务器级 AI 计算性能,Jetson TX2 成为了自动化机器端到端 AI 管道的理想平台。它是现今速度最快、能效最高的嵌入式 AI 计算设备。


在成功完成本课程第二学期报名流程并支付所有学费之后,合格的已报名学员将获得 NVIDIA Jetson TX2 开发者套件教育折扣。


### 第一学期
* ROS 基础,认知和控制
  - 开始探索机器人软件,并使用 ROS 框架进行实用、侧重于系统的机器人编程。利用传统力学和现代深度学习技巧来实现关键的感知与控制机器人功能。


* 先修知识
  - 熟练掌握基础微积分,线性代数,概率,统计学,基础物理学和中级 Python。我们推荐你事先掌握好中级 C++ 和机器学习技术知识,但这不是必需的。
* 机器人学简介(搜索和采样返回)
  - 在这门课程中,你将简单了解本纳米学位,并学习机器人学的三大基本要素:感知、决策和驱动。你还将构建你的首个实战项目,该项目以 NASA 火星探路者挑战项目为基础。
* ROS 基础知识
  - 机器人操作系统 (ROS) 是一种灵活统一的软件环境,使我们能够以模块化和可重复利用的形式开发机器人。在这门课程中,你将学习如何管理项目中的现有 ROS 软件包,以及如何用 Python 编写自己的 ROS 节点。
* 运动学(机器臂:抓取和放置)
  - 在构建与现实世界进行交互的机器人时,运动是最令人兴奋的元素之一。在这门课程中,你将学习如何使用逆向运动学控制具有六自由度的机械手臂做出拾取和放置动作。
* 感知(三维感知)
  - 机器人通过传感器感知周围的世界。处理传感器感知数据是机器人学的核心要素。在这门课程中,你将利用随机抽样一致和集群等技巧对三维点云数据进行细分。
* 控制
  - 控制系统是大多数机器人的核心组件。在这门课程中,你将学习如何用方程式描述机械系统。然后,你将学习如何使用控制器管理系统的行为。最后,你将有机会观察模拟中的控制器。
* 机器人深度学习(追踪我)
  - 机器人学领域的很多重大发展都要归功于深度学习的技术革新。在此课程中,你将学习卷积神经网络(CNN)、全卷积神经网络(FCN)和语义分割。然后,你会将深度神经网络与四轴模拟无人机集成到一起。






### 第二学期


* 定位、地图构建和导航
- 在这一学期,你将学习由我们与 NVIDIA 深度学习学院合作开发的课程,并利用概率和深度强化学习算法解决定位、地图构建和导航问题。
* 简介
- 在此课程中,你将简单了解第二学期的内容,并学习机器人学中常用的硬件。你将学习使用常用传感器,以及支持这些传感器用到的 ROS 软件包。拥有 NVIDIA Jetson TX2 开发者套件硬件的学员将学习如何设置该系统并与外部硬件交互。
* 机器人系统部署(自动推理)
- 在此课程中,你将从在托管系统上编程转为在目标系统上编程,并学习新的工具和嵌入式工作流程。你将利用这些新工具处理一个熟悉的问题,然后将所学的知识运用到项目中。


* 定位(我在哪)
- 了解如何使用高斯滤波器估算有噪声的传感器读数,以及如何利用蒙特卡罗定位(MCL)估算机器人相对于已知环境地图的位姿。


* SLAM(绘制我的世界地图机器人)
- 了解如何利用 ROS 软件包和 C++ 实现即时定位与地图构建(SLAM)系统。你将运用地图构建算法和在定位课程中学到的知识来实现该系统。


* 机器人学强化学习(通过深度学习拾取和放置)
- 首先学习如何构建基础端到端强化学习代理,即深度 Q 网络 (DQN)。然后对该网络进行强化,创建一个能够通过视觉输入执行拾取和放置操作的复杂代理。


* 道路规划和导航(家务机器人)
- 利用更加高级的导航技术完善你的强化学习引擎,并将这些技术与经典方法进行比较。最后,将 SLAM 和导航技术集成到一个综合项目中。


## 人工智能工程师


从 NASA 的火星探测车到 DeepMind 的 AlphaGo Zero,你所熟知的 AI 创举,均由核心算法驱动。你将学习这些算法,亲手编写 AI 程序。你还将掌握定向搜索、随机登山算法、贝叶斯网络以及隐马尔可夫模型等知识。


* 约束满足问题(建立一个求解数独的人工智能)
- 运用约束传播与搜索的方法建立具有人类推理思维的人工智能,以高效解决任何数独谜题。


* 搜索、优化和规划(搭建可自主规划的人工智能)
- 建立像 NASA 的“好奇号”和“勇气号”火星探测车那样,能够使用搜索和符号逻辑推理来达成目标的人工智能


* 对抗搜索(搭建在对抗游戏中超人类的人工智能)
- 将传统搜索延伸至对抗领域,建立能够在无人为干预的情况下做出良好决策的人工智能——就像 DeepMind 的 AlphaGo 那样。


* 概率图模型基础(词性标注)
学习通过概率模拟真实世界的不确定性来进行模式识别。










{% include "./common/inscribe.md" %}

你可能感兴趣的:(Nanodegree)