蒋思源 刘晓坤参与

吴恩达授课,斯坦福CS230深度学习课程资源开放

近日由吴恩达与 Kian Katanforoosh 指导的 CS230(深度学习)课程已经结束并放出了课程资料。这一门课程结合 Coursera 课外教学与课内教学展示了深度学习的基本概念与完整结构,机器之心简要介绍了该课程及基本内容。

课程地址:https://web.stanford.edu/class/cs230/

课程简介深度学习是 AI 领域中最受欢迎的技能之一。这门课程将帮助你学好深度学习。你将学到深度学习的基础,理解如何构建神经网络,并学习如何带领成功的机器学习项目。你将学到卷积神经网络(CNN)、循环神经网络(RNN)、长短期记忆网络(LSTM)、Adam 优化器、Dropout 方法、BatchNorm 方法、Xavier/He 初始化方法等。你将在医疗、自动驾驶、手语识别、音乐生成和自然语言处理等领域中进行案例研究。你不仅能掌握理论,还能看到深度学习如何应用到产业中。我们将需要使用 Python 和 TensorFlow 来实现所有的项目,课程中也会教这一部分。完成这门课程后,你将能以创新的方式将深度学习应用到你的工作中。该课程是以翻转课堂的形式教学的。你将先在家里观看 Coursera 视频、完成编程任务以及在线测验,然后来到课堂上做进一步讨论和完成项目。该课程将以开放式的最终项目结束,教学团队会在过程中提供帮助。

CS230 采取课内和 Coursera 在线课程相结合的形式,其中每一个课程的模块都需要在 Coursera 上观看视频、做测试并完成编程作业。一周的课程约需要在 Cousera 上在线学习两个模块再加上 80 分钟的课内时间。

这门课程要求学生有一些背景知识,首先学生需要了解计算机科学基本原理与技能,并且能写合理、简洁的计算机程序。其次学生需要熟悉概率论与线性代数等基本的数学知识。

目前 CS230 的结课项目报告与 Poster 展示都已经发布,包含多种主题,如音乐生成、情绪检测、电影情感分类、癌症检测等。课程报告和 Poster 前三名已经公布:

报告第一名:Image-to-Image Translation with Conditional-GAN (Weini Yu, Jason Hu, Yujo Zhouchangwan Yu)

该报告使用条件生成对抗网络(C-GAN)研究航空图图像翻译。参与者首先复现了 Isola 等人提出的 C-GAN 模型,然后探索了不同的网络架构、损失函数和训练策略。对不同模型进行了定性和定量评估,得出结论:基于残差的模型在仅使用 1000 个训练样本的情况下得到了非常高质量的图像。

C-GAN 网络架构


生成器网络架构

报告第二名:Deep Knowledge tracing and Engagement with MOOCs (Klint Kanopka, Kritphong Mongkhonvanit, David Lang)

该报告利用深度知识追踪网络以及 MOOC 课程互动协变量,计算学生的课程参与度,发现该方法能够以超过 88% 的准确率预测学生的下一个项目反应。利用这些预测可以向学生提供针对性的干预,也可以对课程进行针对性的改进。

模型结构

报告第三名:Deep Learning for Improving Power-Accuracy of Heart Rate Monitors (Albert Gural)

该报告利用深度学习方法解决从低采样率 PPG 中确定心率以及如何确定运动伪影中的加速度计信号的问题。

Poster 第一名:Painting Outside the Box: Image Outpainting with GANs (Mark Sabini, Gili Rusak)

Poster 第二名:LeafNet: A Deep Learning Solution to Tree Species Identification (Krishna Rao, Elena Herrero, Gabrielle Pacalin)

该 Poster 使用残差网络基于图像对北美 185 个树种进行分类。

Poster 第三名:Earthquake warning system: Detecting earthquake precursor signals using deep neural networks (Mustafa Al Ibrahim, Jihoon Park, Noah Athens)

该 Poster 对 1D CNN、2D CNN、RNN 的地震预测性能进行了评估。

课程主要内容

CS230 与吴恩达在 Coursera 上的深度学习专项课程一样分 5 部分,即神经网络深度学习、提升深度神经网络机器学习项目的策略、卷积神经网络及序列模型。

在第一课中介绍了神经网络深度学习的基础。主要在课堂内介绍了深度学习的直观概念,并借助两个模块从头开始学习神经网络到底是什么。

其中第一课的第一个模块 C1M1 主要从线性回归与房价预测引出神经网络,并着重介绍了监督式深度学习的基本概念。如下 C1M1 展示了基本神经网络的类别:

其中标准神经网络即我们常见的全连接网络,它是最基础也是最本质的「神经网络式」层级表征方法。标准神经网络简单而言即后一层的单个神经元接收前一层所有神经元激活值的加权和,并判断本神经元是不是需要激活。而卷积网络与全连接网络最大的区别是后一层的神经元只与前一层神经元部分连接,且神经元之间存在权重共享,这样的神经网络减少了冗余参数,并有利于建模如图像那样有局部结构的数据。最后的循环网络又与前两个前馈网络不同,它在不同时间步上使用相同的神经网络函数,并每一个时间步都利用前面时间步的必要信息,这样的网络能有效处理自然语言等序列问题。

随后在 C1M2 中,该课程开始具体介绍神经网络。当然理解神经网络还是需要从 Logistic 回归与感知机算法开始,而最基础的梯度下降与如何计算导数也是必须的。

如上所示为 Logistic 回归的主要过程,我们先根据初始化的参数计算激活值 a,再根据预测值与标注值之间的差距计算损失函数,最后推导损失函数对各参数的梯度就能使用梯度下降更新参数

第二课介绍深度学习模型的内部数学结构,从浅层网络逐步过渡到深度网络,理解「深度」的重要意义。掌握了这些概念之后,对于如何从零开始构建深度学习网络,能有一个基本的思路。

然后是深度模型的优化或调参技巧,例如初始化、正则化、数据集划分、Dropout、归一化、梯度检查等,和各种经典的学习率衰减方法,如动量算法、Adam 等。

在 C1M3 中,吴恩达主要描述了感知机与神经网络的表征方法,这里仍需要推导大量的表达式。但只要理解了多层感知机的表达方法,那么深度全连接网络与其它深度神经网络的理解就会变得容易得多。如下所示为感知机向量化的表达式,其中主要是将前一层激活值的加权和 z 表示为矩阵运算。

若理解的感知机或浅层网络的计算过程与表达式,那么深度前馈网络的推断过程就能轻松掌握。不过对于深度前馈网络,另一个非常重要的过程是反向传播。因为模型参数需要梯度才能更新,因此将根据损失函数计算出来的梯度反向传递到各个层级就非常有必要了。如下,C1M4 主要就介绍了这种反向传播:

如上所示,当我们根据损失函数 L(y hat, y) 计算出最后一层的梯度,我们需要根据求导的链式法则将梯度反向传递到前层。

此外,这一部分 C2M1 和 C2M2 分别介绍了深度学习的技巧与基本的最优化方法。其中虽优化方法从批量梯度下降和小批量梯度下降开始到 Adam 最优化方法介绍了基本的学习过程。如下是手推的小批量梯度下降,但我们更常见的称呼是随机梯度下降

小批量与批量的不同在于计算梯度的样本比较少,一般是 32、64 等。这样每一次迭代所需要的计算量就大大减少,且还能通过引入噪声增加收敛结果的鲁棒性。

第三课介绍结构化机器学习项目。基础部分涉及超参数调整、批规一化方法等,以及深度学习框架(如 TensorFlow、PyTorch)的应用。然后是机器学习策略,包括垂直化调参、评估指标设置、数据集划分等。

这一课会介绍如何在实际案例中应用深度学习,Pranav Rajpurkar 将教你构建医疗领域的深度学习应用,即吴恩达团队开发的 Chest X-Rays 项目。

在这个项目中,你将以 DenseNet 为骨干网络架构,实现对肺部 X 射线图像的分类(是否有肺炎)。其中涉及了数据集构建、模型训练和模型评估等,可以体验深度学习产业化的完整过程。

在这一课的几个模块中,C3M1 和 C3M2 都介绍了机器学习中的策略。机器学习中的策略主要关注于如何训练模型,例如什么时候需要调整样本数、怎么样算过拟合以及度量方法等。这里最经典的就是偏差与方差问题,我们常常需要根据偏差与方差确定我们的模型到底出现了什么状况,例如过拟合与欠拟合等。

其中高偏差代表拟合数据集的函数集合并不包含真正的那个,即偏离正确答案有点远。而高方差表示拟合数据集的函数集合确实包含了真正的那个,但这个函数集合太大了,以至于每次搜索的都不准。

第四课介绍卷积神经网络,卷积神经网络主要用于处理空间型数据,如图像、视频等,因此在计算机视觉中应用甚广。在这一部分课程期间有一个期中测验,可以帮助你重温之前学习过的内容。

CNN 的基础部分涉及卷积运算、步幅、池化等,然后进一步介绍了几个经典的 CNN 架构,如 LeNet-5、AlexNet、VGG、ResNet、Inception 等。之后给出了几个 CNN 开发过程中的建议,涉及迁移学习、数据增强等。最后介绍了 CNN 领域的当前研究现状。

这一部分以目标检测应用为主,详细介绍了目标检测的整个工作流,并在最后以 YOLO 算法为例进行整合。之后还介绍了一些特殊的应用,例如人脸识别、神经风格迁移(画风迁移)等,其中神经风格迁移有更为详细的工作流介绍。

在 C4M1 中,吴恩达重点介绍了 CNN 及各个模块,包括卷积层、池化层、卷积步幅和 Padding 等。其中卷积层试图将神经网络中的每一小块进行更加深入的分析,从而得出抽象程度更高的特征。一般来说通过卷积层处理的神经元结点矩阵会变得更深,即神经元的组织在第三个维度上会增加。

以上展示了经典的 LeNet-5 架构,正如 LeCun 在 LeNet-5 原论文中所说,卷积网络结合了三种关键性思想来确保模型对图像的平移、缩放和扭曲具有一定程度的不变性,这三种关键思想即局部感受野、权重共享和空间/时间子采样。其中局部感受野表示卷积核只关注图像的局部特征,而权重共享表示一个卷积核在整张图像上都使用相同的权值,最后的子采样即我们常用的池化操作,它可以精炼抽取的特征。

第五课介绍序列模型。序列模型主要用于处理序列型数据,如音乐、语音、文本等。序列模型主要以循环神经网络为代表,本课将介绍 RNN 的基础结构、类型、计算过程等,并以语言建模作为典型案例进行分析。之后是一些著名的 RNN 变体,例如 GRU、LSTM、双向 RNN、深度 RNN 等。

这一部分先简单概述深度强化学习,然后开始以自然语言处理词嵌入为主题,进一步讲解 RNN 的进阶应用。词嵌入是很多自然语言处理模型的基础,这一部分以词嵌入为主,强调了词嵌入技术的迁移学习作用,然后介绍几个经典的词嵌入模型,例如 Word2Vec、GloVe word vectors 等,最后以情感分类作为应用案例。

在 C5M1 中,吴恩达重点解释了循环神经网络,循环神经网络是一类用于处理序列问题的神经网络,它可以扩展到更长的序列。循环网络相比经典的全连接网络有非常大的提升,例如参数共享和构建长期依赖关系等。对于语句的序列建模,全连接网络会给每个输入特征分配一个单独的参数,所以它需要分别学习句子每个位置的所有语言规则。而循环神经网络会在多个时间步内共享相同的参数,因此不必学习句子每个位置的所有语言规则。此外,循环网络会有一个记忆机制为当前时间步的预测提供前面时间步的信息。

如上展示了循环网络的基本结构,它只使用前一个时间步的隐藏单元信息和当前时间步的输入信息,并利用相同的函数计算下一个隐藏单元的值。

完成这些课程后,就可以开始准备最终项目了。

理论斯坦福大学吴恩达计算机视觉课程
61
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

自动驾驶技术技术

从 20 世纪 80 年代首次成功演示以来(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自动驾驶汽车领域已经取得了巨大进展。尽管有了这些进展,但在任意复杂环境中实现完全自动驾驶导航仍被认为还需要数十年的发展。原因有两个:首先,在复杂的动态环境中运行的自动驾驶系统需要人工智能归纳不可预测的情境,从而进行实时推论。第二,信息性决策需要准确的感知,目前大部分已有的计算机视觉系统有一定的错误率,这是自动驾驶导航所无法接受的。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

GloVe技术

Stanford开发的用于词向量表示的一个库/工具

词嵌入技术

词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

人脸识别技术

广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。 人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

LeNet技术

LeNet 诞生于 1994 年,是最早的卷积神经网络之一,并且推动了深度学习领域的发展。自从 1988 年开始,在许多次成功的迭代后,这项由 Yann LeCun 完成的开拓性成果被命名为 LeNet5。LeNet5 的架构基于这样的观点:(尤其是)图像的特征分布在整张图像上,以及带有可学习参数的卷积是一种用少量参数在多个位置上提取相似特征的有效方式。在那时候,没有 GPU 帮助训练,甚至 CPU 的速度也很慢。因此,能够保存参数以及计算过程是一个关键进展。这和将每个像素用作一个大型多层神经网络的单独输入相反。LeNet5 阐述了那些像素不应该被使用在第一层,因为图像具有很强的空间相关性,而使用图像中独立的像素作为不同的输入特征则利用不到这些相关性。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

线性回归技术

在现实世界中,存在着大量这样的情况:两个变量例如X和Y有一些依赖关系。由X可以部分地决定Y的值,但这种决定往往不很确切。常常用来说明这种依赖关系的最简单、直观的例子是体重与身高,用Y表示他的体重。众所周知,一般说来,当X大时,Y也倾向于大,但由X不能严格地决定Y。又如,城市生活用电量Y与气温X有很大的关系。在夏天气温很高或冬天气温很低时,由于室内空调、冰箱等家用电器的使用,可能用电就高,相反,在春秋季节气温不高也不低,用电量就可能少。但我们不能由气温X准确地决定用电量Y。类似的例子还很多,变量之间的这种关系称为“相关关系”,回归模型就是研究相关关系的一个有力工具。

梯度下降技术

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

随机梯度下降技术

梯度下降(Gradient Descent)是遵循成本函数的梯度来最小化一个函数的过程。这个过程涉及到对成本形式以及其衍生形式的认知,使得我们可以从已知的给定点朝既定方向移动。比如向下朝最小值移动。 在机器学习中,我们可以利用随机梯度下降的方法来最小化训练模型中的误差,即每次迭代时完成一次评估和更新。 这种优化算法的工作原理是模型每看到一个训练实例,就对其作出预测,并重复迭代该过程到一定的次数。这个流程可以用于找出能导致训练数据最小误差的模型的系数。

Alex网络技术

AlexNet是一个卷积神经网络的名字,最初是与CUDA一起使用GPU支持运行的,AlexNet是2012年ImageNet竞赛冠军获得者Alex Krizhevsky设计的。该网络达错误率大大减小了15.3%,比亚军高出10.8个百分点。AlexNet是由SuperVision组设计的,由Alex Krizhevsky, Geoffrey Hinton和Ilya Sutskever组成。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

链式法则技术

是求复合函数导数的一个法则, 是微积分中最重要的法则之一。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

动量技术

优化器的一种,是模拟物理里动量的概念,其在相关方向可以加速SGD,抑制振荡,从而加快收敛

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

推荐文章
CS230深度学习课程和coursera上的deeplearning.ai课程内容是一样的吗?