1.1 ⼈⼯智能概述
学习⽬标
-
了解⼈⼯智能在现实⽣活中的应⽤
-
知道⼈⼯智能发展必备三要素
-
知道⼈⼯智能和机器学习、深度学习三者之间的关系
1 ⼈⼯智能应⽤场景

2 ⼈⼯智能⼩案例
案例⼀:

参考链接:https://quickdraw.withgoogle.com
案例⼆:

参考链接:https://pjreddie.com/darknet/yolo/
案例三:


查看更多:https://deepdreamgenerator.com/
3 ⼈⼯智能发展必备三要素:
-
数据
-
算法
-
计算⼒
CPU,GPU,TPU
-
计算⼒之CPU、GPU对⽐:
(1)CPU主要适合I\O密集型的任务
(2)GPU主要适合计算密集型任务
-
提问:什么类型的程序适合在GPU上运⾏?
(1)计算密集型的程序
所谓计算密集型(Compute-intensive)的程序,就是其⼤部分运⾏时间花在了寄存器运算上,寄存器的速度和处理器的速度相当,从寄存器读写数据⼏乎没有延时。可以做⼀下对⽐,读内存的延迟⼤概是⼏百个时钟周期;读硬盘的速度就不说了,即便是SSD, 也实在是太慢了。
(2)易于并⾏的程序。
GPU其实是⼀种SIMD(Single Instruction Multiple Data)架构, 他有成百上千个核,每⼀个核在同⼀时间最好能做同样的事情。
CPU和GPU的区别:
http://www.sohu.com/a/201309334_468740
Google TPU 介绍:
https://buzzorange.com/techorange/2017/09/27/what-intel-google-nvidiamicrosoft-do-for-ai-chips/
4 ⼈⼯智能、机器学习和深度学习

⼈⼯智能和机器学习,深度学习的关系
-
机器学习是⼈⼯智能的⼀个实现途径
-
深度学习是机器学习的⼀个⽅法发展⽽来
1.2 ⼈⼯智能发展历程
学习⽬标
-
了解⼈⼯智能阶段发展历程
1 ⼈⼯智能的起源
1.1 图灵测试
测试者与被测试者(⼀个⼈和⼀台机器)隔开的情况下,通过⼀些装置(如键盘)向被测试者随意提问。
多次测试(⼀般为5min之内),如果有超过30%的测试者不能确定被测试者是⼈还是机器,那么这台机器就通过了测试,并被认为具有⼈类智能。

-
约翰 · ⻨卡锡( John McCarthy )
-
⻢⽂ · 闵斯基( Marvin Minsky ,⼈⼯智能与认知学专家)
-
克劳德 · ⾹农( Claude Shannon ,信息论的创始⼈)
-
艾伦 · 纽厄尔( Allen Newell ,计算机科学家)
-
赫伯特 · ⻄蒙( Herbert Simon ,诺⻉尔经济学奖得主
2 发展历程
⼈⼯智能充满未知的探索道路曲折起伏。如何描述⼈⼯智能⾃1956年以来60余年的发展历程,学术界可谓仁者⻅仁、智者⻅智。我们将⼈⼯智能的发展历程划分为以下6个阶段:
-
第⼀是起步发展期:1956年—20世纪60年代初。⼈⼯智能概念提出后,相继取得了⼀批令⼈瞩⽬的研究成果,如机器定理证明、跳棋程序等,掀起⼈⼯智能发展的第⼀个⾼潮。
-
第⼆是反思发展期:20世纪60年代—70年代初。⼈⼯智能发展初期的突破性进展⼤⼤提升了⼈们对⼈⼯智能的期望,⼈们
开始尝试更具挑战性的任务,并提出了⼀些不切实际的研发⽬标。然⽽,接⼆连三的失败和预期⽬标的落空(例如,⽆法⽤机器证明两个连续函数之和还是连续函数、机器翻译闹出笑话等),使⼈⼯智能的发展⾛⼊低⾕。
-
第三是应⽤发展期:20世纪70年代初—80年代中。20世纪70年代出现的专家系统模拟⼈类专家的知识和经验解决特定领域的问题,实现了⼈⼯智能从理论研究⾛向实际应⽤、从⼀般推理策略探讨转向运⽤专⻔知识的重⼤突破。专家系统在医疗、化学、地质等领域取得成功,推动⼈⼯智能⾛⼊应⽤发展的新⾼潮。
-
第四是低迷发展期:20世纪80年代中—90年代中。随着⼈⼯智能的应⽤规模不断扩⼤,专家系统存在的应⽤领域狭窄、缺乏常识性知识、知识获取困难、推理⽅法单⼀、缺乏分布式功能、难以与现有数据库兼容等问题逐渐暴露出来。
-
第五是稳步发展期:20世纪90年代中—2010年。由于⽹络技术特别是互联⽹技术的发展,加速了⼈⼯智能的创新研究,促使⼈⼯智能技术进⼀步⾛向实⽤化。1997年国际商业机器公司(简称IBM)深蓝超级计算机战胜了国际象棋世界冠军卡斯帕罗夫,2008年IBM提出“智慧地球”的概念。以上都是这⼀时期的标志性事件。
-
第六是蓬勃发展期:2011年⾄今。随着⼤数据、云计算、互联⽹、物联⽹等信息技术的发展,泛在感知数据和图形处理器等计算平台推动以深度神经⽹络为代表的⼈⼯智能技术⻜速发展,⼤幅跨越了科学与应⽤之间的“技术鸿沟”,诸如图像分类、语⾳识别、知识问答、⼈机对弈、⽆⼈驾驶等⼈⼯智能技术实现了从“不能⽤、不好⽤”到“可以⽤”的技术突破,迎来爆发式增⻓的新⾼潮。

1.3 ⼈⼯智能主要分⽀
1 主要分⽀介绍
通讯、感知与⾏动是现代⼈⼯智能的三个关键能⼒,在这⾥我们将根据这些能⼒/应⽤对这三个技术领域进⾏介绍:
-
计算机视觉(CV)
-
⾃然语⾔处理(NLP) 在 NLP 领域中,将覆盖⽂本挖掘/分类、机器翻译和语⾳识别。
-
机器⼈
1.1 分⽀⼀:计算机视觉
计算机视觉(CV)是指机器感知环境的能⼒。这⼀技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。物体检测和⼈脸识别是其⽐较成功的研究领域。
当前阶段:
计算机视觉现已有很多应⽤,这表明了这类技术的成就,也让我们将其归⼊到应⽤阶段。随着深度学习的发展,机器甚⾄能在特定的案例中实现超越⼈类的表现。但是,这项技术离社会影响阶段还有⼀定距离,那要等到机器能在所有场景中都达到⼈类的同等⽔平才⾏(感知其环境的所有相关⽅⾯)。
发展历史:


1.2 分⽀⼆:语⾳识别
语⾳识别是指识别语⾳(说出的语⾔)并将其转换成对应⽂本的技术。相反的任务(⽂本转语⾳/TTS)也是这⼀领域内⼀个类似的研究主题。
当前阶段:
语⾳识别已经处于应⽤阶段很⻓时间了。最近⼏年,随着⼤数据和深度学习技术的发展,语⾳识别进展颇丰,现在已经⾮常接近社会影响阶段了。语⾳识别领域仍然⾯临着声纹识别和「鸡尾酒会效应」等⼀些特殊情况的难题。现代语⾳识别系统严重依赖于云,在离线时可能就⽆法取得理想的⼯作效果。
发展历史:

百度语⾳识别:
-
距离⼩于1⽶,中⽂字准率97%+
-
⽀持⽿语、⻓语⾳、中英⽂混合及⽅⾔
1.3 分⽀三:⽂本挖掘/分类
这⾥的⽂本挖掘主要是指⽂本分类,该技术可⽤于理解、组织和分类结构化或⾮结构化⽂本⽂档。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。
当前阶段:
我们将这项技术归类到应⽤阶段,因为现在有很多应⽤都已经集成了基于⽂本挖掘的情绪分析或垃圾信息检测技术。⽂本挖掘技术也在智能投顾的开发中有所应⽤,并且提升了⽤户体验。
⽂本挖掘和分类领域的⼀个瓶颈出现在歧义和有偏差的数据上。
发展历史:

1.4 分⽀四:机器翻译
机器翻译(MT)是利⽤机器的⼒量⾃动将⼀种⾃然语⾔(源语⾔)的⽂本翻译成另⼀种语⾔(⽬标语⾔)。
当前阶段:
机器翻译是⼀个⻅证了⼤量发展历程的应⽤领域。该领域最近由于神经机器翻译⽽取得了⾮常显著的进展,但仍然没有全⾯达到专业译者的⽔平;但是,我们相信在⼤数据、云计算和深度学习技术的帮助下,机器翻译很快就将进⼊社会影响阶段。在某些情况下,俚语和⾏话等内容的翻译会⽐较困难(受限词表问题)。专业领域的机器翻译(⽐如医疗领域)表现通常不好。
发展历史:

1.5 分⽀五:机器⼈
机器⼈学(Robotics)研究的是机器⼈的设计、制造、运作和应⽤,以及控制它们的计算机系统、传感反馈和信息处理。
机器⼈可以分成两⼤类:固定机器⼈和移动机器⼈。固定机器⼈通常被⽤于⼯业⽣产(⽐如⽤于装配线)。常⻅的移动机器⼈应⽤有货运机器⼈、空中机器⼈和⾃动载具。机器⼈需要不同部件和系统的协作才能实现最优的作业。其中在硬件上包含传感器、反应器和控制器;另外还有能够实现感知能⼒的软件,⽐如定位、地图测绘和⽬标识别。
当前阶段:
⾃上世纪「Robot」⼀词诞⽣以来,⼈们已经为⼯业制造业设计了很多机器⼈。⼯业机器⼈是增⻓最快的应⽤领域,它们在 20 世纪 80 年代将这⼀领域带⼊了应⽤阶段。在安川电机、Fanuc、ABB、库卡等公司的努⼒下,我们认为进⼊ 21 世纪之后,机器⼈领域就已经进⼊了社会影响阶段,此时各种⼯业机器⼈已经主宰了装配⽣产线。此外,软体机器⼈在很多领域也有⼴泛的应⽤,⽐如在医疗⾏业协助⼿术或在⾦融⾏业⾃动执⾏承销过程。但是,法律法规和「机器⼈威胁论」可能会妨碍机器⼈领域的发展。还有设计和制造机器⼈需要相对较⾼的投资。
发展历史:

总的来说,⼈⼯智能领域的研究前沿正逐渐从搜索、知识和推理领域转向机器学习、深度学习、计算机视觉和机器⼈领域。
⼤多数早期技术⾄少已经处于应⽤阶段了,⽽且其中⼀些已经显现出了社会影响⼒。⼀些新开发的技术可能仍处于⼯程甚⾄研究阶段,但是我们可以看到不同阶段之间转移的速度变得越来越快。
1.4 机器学习⼯作流程
1 什么是机器学习
机器学习是从数据中⾃动分析获得模型,并利⽤模型对未知数据进⾏预测。

所谓模型,就是一个包含了大量未知参数的函数,所谓训练,就是通过大量的数据去迭代逼近这些未知参数的最优解。
机器学习:是一门专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的学科。简单的说,就是“从样本中学习的智能程序”。
深度学习:深度学习的概念源于人工神经网络的研究,是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。
不论是机器学习还是深度学习,都是通过对大量数据的学习,掌握数据背后的分布规律,进而对符合该分布的其他数据进行准确预测。
2 机器学习⼯作流程

机器学习⼯作流程总结
-
1.获取数据
-
2.数据基本处理
-
3.特征⼯程
-
4.机器学习(模型训练)
-
5.模型评估
- 结果达到要求,上线服务
- 没有达到要求,重新上⾯步骤
2.1 获取到的数据集介绍



数据简介
在数据集中⼀般:
-
⼀⾏数据我们称为⼀个样本
-
⼀列数据我们成为⼀个特征
-
有些数据有⽬标值(标签值),有些数据没有⽬标值(如上表中,电影类型就是这个数据集的⽬标值)
数据类型构成:
-
数据类型⼀:特征值+⽬标值(⽬标值是连续的和离散的)
-
数据类型⼆:只有特征值,没有⽬标值
数据分割:
机器学习⼀般的数据集会划分为两个部分:
- 训练数据:⽤于训练,**构建模型**
- 测试数据:在模型检验时使⽤,⽤于**评估模型是否有效**
划分⽐例:
- 训练集:70% 80% 75%
- 测试集:30% 20% 25%
2.2 数据基本处理
即对数据进⾏缺失值、去除异常值等处理
2.3 特征⼯程
2.3.1 什么是特征⼯程
特征⼯程(Feature Engineering)是使⽤专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作⽤的过程。
意义:会直接影响机器学习的效果
2.3.2 为什么需要特征⼯程
机器学习领域的⼤神Andrew Ng(吴恩达)⽼师说“Coming up with features is
difficult, time-consuming, requires expert knowledge. “Applied machine
learning” is basically feature engineering. ”
注:业界⼴泛流传:数据和特征决定了机器学习的上限,⽽模型和算法只是
逼近这个上限⽽已。
2.3.3 特征⼯程包含内容
-
特征提取
-
特征预处理
-
特征降维
2.3.4 特征⼯程类别介绍
-
特征提取
将任意数据(如⽂本或图像)转换为可⽤于机器学习的数字特征

-
特征预处理
通过⼀些转换函数将特征数据转换成更加适合算法模型的特征数据过程

-
特征降维
指在某些限定条件下,降低随机变量(特征)个数,得到⼀组“不相关”主变量的过程

2.4 机器学习
指在某些限定条件下,降低随机变量(特征)个数,得到⼀组“不相关”主变量的过程

2.5 模型评估
对训练好的模型进⾏评估(具体内容⻅1.6)
1.5 机器学习算法分类
根据数据集组成不同,可以把机器学习算法分为:
-
监督学习
-
⽆监督学习
-
半监督学习
-
强化学习
1 监督学习
-
定义:
输⼊数据是由输⼊特征值和⽬标值所组成。
- 函数的输出可以是⼀个连续的值(称为回归),
- 或是输出是有限个离散值(称作分类)。
1.1 回归问题
回归任务是对连续值进行预测,根据每个样本的值/特征预测该样本的具体数值,例如房价预测,股票预测等,相当于学习到了这一组数据背后的分布,能够根据数据的输入预测该数据的取值。
例如:预测房价,根据样本集拟合出⼀条连续曲线。

1.2 分类问题
分类任务是对离散值进行预测,根据每个样本的值/特征预测该样本属于类型A、类型B 还是类型C,例如情感分类、内容审核,相当于学习了一个分类边界(决策边界),用分类边界把不同类别的数据区分开来。
例如:根据肿瘤特征判断良性还是恶性,得到的是结果是“良性”或者“恶性”,是离散的。

实际上,分类与回归的根本区别在于输出空间是否为一个度量空间。

对于分类问题,目的是寻找决策边界,其输出空间B不是度量空间,即“定性”。也就是说,在分类问题中,只有分类“正确”与“错误”之分,至于分类到了类别A还是类别B,没有分别,都是错误数量+1。
对于回归问题,目的是寻找最优拟合,其输出空间B是一个度量空间,即“定量”,通过度量空间衡量预测值与真实值之间的“误差大小”。当真实值为10,预测值为5时,误差为5,预测值为8时,误差为2。
2 ⽆监督学习
-
定义:
输⼊数据是由输⼊特征值组成,没有⽬标值
输⼊数据没有被标记,也没有确定的结果。样本数据类别未知;
需要根据样本间的相似性对样本集进⾏类别划分。
举例:


3 半监督学习
-
定义:
训练集同时包含有标记样本数据和未标记样本数据。
举例:
-
监督学习训练⽅式:

半监督学习训练⽅式

4 强化学习
-
定义:
实质是make decisions 问题,即⾃动进⾏决策,并且可以做连续决策。
举例:
⼩孩想要⾛路,但在这之前,他需要先站起来,站起来之后还要保持平衡,接下来还要先迈出⼀条腿,是左腿还是右腿,迈出⼀步后还要迈出下⼀步。⼩孩就是 agent,他试图通过采取⾏动(即⾏⾛)来操纵环境(⾏⾛的表⾯),并且从⼀个状态转变到另⼀个状态(即他⾛的每⼀步),当他完成任务的⼦任务(即⾛了⼏步)时,孩⼦得到奖励(给巧克⼒吃),并且当他不能⾛路时,就不会给巧克⼒。
主要包含五个元素:agent, action, reward, environment, observation;

强化学习的⽬标就是获得最多的累计奖励。
监督学习和强化学习的对⽐
| 监督学习 | 强化学习 | |
| 反馈映射 | 输出的是之间的关系,可以告诉算法什么样的输⼊对应着什么样的输出。 | 输出的是给机器的反馈 rewardfunction,即⽤来判断这个⾏为是好是坏。 |
| 反馈时间 | 做了⽐较坏的选择会⽴刻反馈给算法。 | 结果反馈有延时,有时候可能需要⾛了很多步以后才知道以前的某⼀步的选择是好还是坏。 |
| 输⼊特征 | 输⼊是独⽴同分布的。 | ⾯对的输⼊总是在变化,每当算法做出⼀个⾏为,它影响下⼀次决策的输⼊。 |
拓展概念:什么是独⽴同分布:
拓展阅读:Alphago进化史 漫画告诉你Zero为什么这么⽜:
http://sports.sina.com.cn/chess/weiqi/2017-10-21/doc-ifymyyxw4023875.shtml
总结
|
In
|
Out
|
⽬的
|
案例
| |
|
监督学习(supervisedlearning)
|
有标签
|
有反馈
|
预测结果
|
猫狗分类房价预测
|
|
无监督学习(unsupervised learning)
|
⽆标签
|
无反馈
|
发现潜在结构
|
“物以类聚,人以群分”
|
|
半监督学习(Semi-Supervised Learning)
|
部分有标签,部分无标签
|
部分有标签,部分无标签
|
降低数据标记的难度
| |
|
强化学习(reinforcement learning)
|
决策流程及激励系统
|
一系列行动
|
长期利益最大化
|
学下棋
|
1.6 模型评估
-
准确率
预测正确的数占样本总数的⽐例。
-
其他评价指标:精确率、召回率、F1-score、AUC指标等
2 回归模型评估

均⽅根误差(Root Mean Squared Error,RMSE)
-
RMSE是⼀个衡量回归模型误差率的常⽤公式。 不过,它仅能⽐较误差是相同单位的模型。

注意: a 为真实值;p 为预测值
举例:
假设上⾯的房价预测,只有五个样本,对应的
真实值为:100,120,125,230,400
预测值为:105,119,120,230,410
那么使⽤均⽅根误差求解得:

其他评价指标:
-
相对平⽅误差(Relative Squared Error,RSE)、
-
平均绝对误差(Mean Absolute Error,MAE)、
-
相对绝对误差(Relative Absolute Error,RAE)
3 拟合
模型评估⽤于评价训练好的的模型的表现效果,其表现效果⼤致可以分为两类:过拟合、⽋拟合。
在训练过程中,你可能会遇到如下问题:
训练数据训练的很好啊,误差也不⼤,为什么在测试集上⾯有问题呢?
当算法在某个数据集当中出现这种情况,可能就出现了拟合问题。
3.1 ⽋拟合

因为机器学习到的天鹅特征太少了,导致区分标准太粗糙,不能准确识别出天鹅。
⽋拟合(under-fitting):模型学习的太过粗糙,连训练集中的样本数据特征关系都没有学出来。
3.2 过拟合

机器已经基本能区别天鹅和其他动物了。然后,很不巧已有的天鹅图⽚全是⽩天鹅的,于是机器经过学习后,会认为天鹅的⽻⽑都是⽩的,以后看到⽻⽑是⿊的天鹅就会认为那不是天鹅。
过拟合(over-fitting):所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在测试数据集中表现不佳。
1.7 Azure机器学习模型搭建实验
Azure平台简介

Azure Machine Learning(简称“AML”)是微软在其公有云Azure上推出的基于Web使⽤的⼀项机器学习服务,机器学习属⼈⼯智能的⼀个分⽀,它技术借助算法让电脑对⼤量流动数据集进⾏识别。这种⽅式能够通过历史数据来预测未来事件和⾏为,其实现⽅式明显优于传统的商业智能形式。微软的⽬标是简化使⽤机器学习的过程,以便于开发⼈员、业务分析师和数据科学家进⾏⼴泛、便捷地应⽤。这款服务的⽬的在于“将机器学习动⼒与云计算的简单性相结合”。AML⽬前在微软的Global Azure云服务平台提供服务,⽤户可以通过站点:
https://studio.azureml.net/ 申请免费试⽤。

-
Azure机器学习实验
实验⽬的:了解机器学习从数据到建模并最终评估预测的整个流程。
1.8 深度学习简介
1 深度学习 —— 神经⽹络简介
深度学习(Deep Learning)(也称为深度结构学习【Deep Structured Learning】、层次学习【Hierarchical Learning】或者是深度机器学习【Deep Machine Learning】)是⼀类算法集合,是机器学习的⼀个分⽀。

深度学习⽅法近年来,在会话识别、图像识别和对象侦测等领域表现出了惊⼈的准确性。但是,“深度学习”这个词语很古⽼,它在1986年由Dechter在机器学习领域提出,然后在2000年有Aizenberg等⼈引⼊到⼈⼯神经⽹络中。⽽现在,由于AlexKrizhevsky在2012年使⽤卷积⽹络结构赢得了ImageNet⽐赛之后受到⼤家的瞩⽬。
卷积⽹络之⽗:Yann LeCun

深度学习演示 (链接:http://playground.tensorflow.org)

2 深度学习各层负责内容
神经⽹络各层负责内容:
1层:负责识别颜⾊及简单纹理
2层:⼀些神经元可以识别更加细化的纹理,布纹,刻纹,叶纹等

3层:⼀些神经元负责感受⿊夜⾥的⻩⾊烛光,⾼光,萤⽕,鸡蛋⻩⾊等。

4层:⼀些神经元识别萌狗的脸,宠物形貌,圆柱体事物,七星瓢⾍等的存在。

5层:⼀些神经元负责识别花,⿊眼圈动物,⻦,键盘,原型屋顶等。

1.9 模型训练的基本概念
基础名词解释
样本:一条数据;
特征:被观测对象的可测量特性,例如西瓜的颜色、瓜蒂、纹路、敲击声等;
特征向量:用一个 d 维向量表征一个样本的所有或部分特征;
标签(label)/真实值:样本特征对应的真实类型或者真实取值,即正确答案;
数据集(dataset):多条样本组成的集合;
训练集(train):用于训练模型的数据集合;
评估集(eval):用于在训练过程中周期性评估模型效果的数据集合;
测试集(test):用于在训练完成后评估最终模型效果的数据集合;
模型:可以从数据中学习到的,可以实现特定功能/映射的函数;
误差/损失:样本真实值与预测值之间的误差;
损失函数:又称目标函数,用于计算真实值与预测值之间误差的函数;
预测值:样本输入模型后输出的结果;
模型训练:使用训练数据集对模型参数进行迭代更新的过程;
模型收敛:任意输入样本对应的预测结果与真实标签之间的误差稳定;
模型评估:使用测试数据和评估指标对训练完成的模型的效果进行评估的过程;
模型推理/预测:使用训练好的模型对数据进行预测的过程;
模型部署:使用服务加载训练好的模型,对外提供推理服务;
机器学习任务流程

模型训练基本流程

模型训练详细流程

前向传播与反向传播

梯度:梯度是一个向量(矢量),函数在一点处沿着该点的梯度方向变化最快,变化率最大。换而言之,自变量沿着梯度方向变化,能够使因变量(函数值)变化最大。


Learning Rate
学习率(Learning Rate,LR)决定了模型参数的更新幅度,学习率越高,模型参数更新越激进,即相同 Loss 对模型参数产生的调整幅度越大,反之越小。

如果学习率太小,会导致网络 loss 下降非常慢;如果学习率太大,那么参数更新的幅度就非常大,产生振荡,导致网络收敛到局部最优点,或者 loss 不降反增。

模型训练详细流程

Batch size
Batch size 决定了模型一次能看到多少数据,也就是模型每次基于多少数据进行参数的调整。

Batch size 是一次向模型输入的数据数量,Batch size 越大,模型一次处理的数据量越大,能够更快的运行完一个 Epoch,反之运行完一个 Epoch 越慢。由于模型一次是根据一个 Batch size 的数据计算 Loss,然后更新模型参数,如果 Batch size 过小,单个 Batch 可能与整个数据的分布有较大差异,会带来较大的噪声,导致模型难以收敛。与此同时,Batch size 越大,模型单个 Step 加载的数据量越大,对于 GPU 显存的占用也越大,当 GPU 显存不够充足的情况下,较大的 Batch size 会导致 OOM,因此,需要针对实际的硬件情况,设置合理的 Batch size 取值。
Batch size
在合理范围内,更大的 Batch size 能够:
• 提高内存利用率,提高并行化效率;
• 一个 Epoch 所需的迭代次数变少,减少训练时间;
• 梯度计算更加稳定,训练曲线更平滑,下降方向更准,能够取得更好的效果;
对于传统模型,在较多场景中,较小的 Batch size 能够取得更好的模型性能;对于大模
型,往往更大的 Batch size 能够取得更好的性能。
1690

被折叠的 条评论
为什么被折叠?



