本文约1000字,建议阅读5分钟。
本课程内容涵盖了深度学习的基础内容,以及较新的强化学习、GAN等。[导读]CMU深度学习秋季课程开课了!课程的主讲老师是深度学习大牛、CMU计算机学院的BhikshaRaj,课程内容涵盖了深度学习的基础内容,以及较新的强化学习、GAN等。在深度学习研究领域CMU一直走在世界前列,其课程几乎是入门首选材料,课程的slides和video将随着课程进度陆续公开,想要系统地学习并掌握深度学习的读者千万不要错过。课程简介
以深度神经网络为代表的“深度学习”系统越来越多地在各种AI任务中大显神威,包括语言理解、语音和图像识别、机器翻译、规划、甚至游戏和自动驾驶。因此,掌握深度学习方面的专业知识已经逐渐从高深莫测转变为现在许多高级学术问题中必须掌握的背景知识,并且深度学习人才在就业市场中也有很大的优势。
在这个课程中,我们将学习深度神经网络的基础知识,以及它们在各种AI任务中的应用。在课程结束后,学生将对课程主题有足够的了解,并能够将深度学习应用于各种任务。学生还将阅读当前关于该领域的大量文献,并通过进一步的研究扩展自己的专业知识。
这门课程涉及的概念很全面。它将帮助学生理解深度学习的基础。课程从MLP(多层感知器)讲始,逐步深入到更复杂的概念,例如注意力模型和sequence-to-sequence模型。学生需要完全掌握PyTorch,这对于实现深度学习模型非常重要。
作为学生,你将学习构建深度学习模型所需的各种工具。作业通常有两个部分,即Autolab和Kaggle。Kaggle部分允许我们探索多种架构,并了解如何调优并持续改进模型。所有作业的任务都是相似的,学习如何使用多种深度学习方法解决相同的任务是很有趣的。总的来说,在本课程结束时,你将有足够的信心构建和调优深度学习模型。
先修要求
1.我们将使用一个主流的工具包中(主要是PyTorch)。工具包主要用Python编程。你需要能够使用至少一种语言进行编程。或者,你可以使用熟悉的语言进行编程,但必须自行查找和学习对应的工具包。
2.你需要熟悉基本的微积分(微分,链式法则),线性代数和基本概率知识。
教材
这门课程不会按照某一本教材来进行,而是会选择许多资料。我们列出相关书目,并且会为每个单元提供相关阅读资料的链接。学生需要在上课前熟悉这些材料。阅读材料有时会晦涩难懂;但是不用担心,我们会在课堂上给出更简单的解释。
讨论板:Piazza
我们使用Piazza进行讨论,链接:
你可以在这里了解当前文献中的模型目录:
如果现在还不能完全理解,我们希望在课程结束时,你能够理解wiki和目录上的多数模型架构。
Kaggle:
Kaggle是一个很受欢迎的数据科学平台,参与者通过竞赛创造学习或分析一个数据集的最佳模型。本课程的作业将需要把评估结果提交到Kaggleleaderboard。
相关书目
DeepLearningByIanGoodfellow,YoshuaBengio,AaronCourvilleOnlinebook,2017
NeuralNetworksandDeepLearningByMichaelNielsenOnlinebook,2016
DeepLearningStepbyStepwithPython:AVeryG
ParallelDistributedProcessingByRumelhartandMcClellandOutofprint,1986
课程内容
第1讲(8.29):
深度学习简介
课程安排
神经计算的历史和认知基础
感知机和多层感知机
第2讲(8.31):
神经网络:一个通用的近似器
第3讲(9.5):
训练一个神经网络
感知器学习法则
经验风险最小化
利用梯度下降法进行优化
第4讲(9.10):
反向传播
反向传播的微积分学
第5讲(9.12):
神经网络的收敛问题
收敛速度
损失函数
学习率和优化方法
RMSProp,Adagrad,Momentum
第6讲(9.17):
随机梯度下降
加速
过拟合和正则化
小技巧:选择散度(损失)函数、Batchnormalization,Dropout
第7讲(9.19):
训练回顾
学生QA
第8讲(9.24):
继续优化问题
第9讲(9.26):
卷积神经网络(CNNs)
Weightsastemplates
平移不变性
使用参数共享进行训练
第10讲(10.1):
视觉模型
神经认知机(Neocognitron)
CNN的数学细节
Alexnet,Inception,VGG
第11讲(10.3):
循环神经网络(RNNs)
序列建模
通过时间反向传播
双向RNN
第12讲(10.8):
模型稳定性
梯度爆炸/消失
长短期记忆单元(LSTM)及其变种
Resnets
第13讲(10.10):
循环网络的损失函数
序列预测
第14讲(10.15):
序列到序列方法
联结主义时间分类器(CTC)
第15讲(10.17):
序列到序列模型、注意力模型(语音和语言的示例)
第16讲(10.22):
网络代表什么?
自动编码器和降维
学习表示
第17讲(10.24):
变分自动编码器(VAE)
第18讲(10.29):
生成对抗网络(GANs)第一部分
第18讲(10.31):
生成对抗网络(GANs)第二部分
第19讲(11.5):
Hopfield神经网络
玻尔兹曼机(BoltzmannMachines)
第20讲(11.7):
训练Hopfield网络
随机Hopfield网络
第21讲(11.12):
受限玻尔兹曼机
深度玻尔兹曼机
第22讲(11.14):
强化学习1
第23讲(11.19):
强化学习2
第24讲(11.21):
感恩节假期
第25讲(11.26):
强化学习3
第26讲(11.28):
强化学习4
第27讲(12.3):
强化学习4
Q学习
深度Q学习
第28讲(12.5):
新模型以及深度学习的趋势
课程回顾
CMU深度学习第一课PPT节选