【DL学习笔记】1:深度学习中的基础知识

一些全局认识

AGI

通用AI,因为AI目前已成为机器学习、统计分析的代名词,故用AGI来代表AI原来的意思,即真正的强人工智能。

CV

计算机视觉,目的是让计算机"理解"图像,即从图像或多维数据中感知。

NLP

自然语言处理,目的是让计算机和人之间用自然语言有效通信,上学期模式识别的课程项目就是在做NLP。

ML

机器学习,让机器从训练数据中自动进步,从经验中自动学习。DL属于ML。

专家系统

是ML之外,AI之内的领域,机器用人类定义的规则进行逻辑推理。目前它被包装了一个新名字——“知识图谱”。

强化学习

即再励学习、评价学习,只能系统从环境到行为映射的学习,使奖励信号(强化信号)函数值最大。

预测学习

目的是让机器具有"共识"(世界如何运作的常识),从获得的信息中感知对象的过去、现在和将来的某些属性。

ANN

人工神经网络,一般直接说神经网络(NN)就是指ANN了,由一层层的神经元构成。传统的ANN架构是前馈神经网络,包括多层感知机(MLP)。

泛化

在ML里学过,学习机器不依赖于训练样本,具有推广能力。反映在DL上就是ANN的"举一反三"的能力。

过拟合

和ML中的意思一样,如果只能解决训练用的样本,遇到新的样本就容易出现各种错误,就是over-fitting。
过拟合是机器学习的一大难点,在ML中一般模型的参数太多就容易产生过拟合,模型越简单越可能是正确的。
在DL中恰好相反,DL的参数很多,但是却往往比ML的方法更能避免过拟合,但其真正原因还没有研究出,彭博叔叔的理解是DNN的逐层结构可以实现对概念的不断抽象,与自然界的规律吻合。

生成模型

生成模型最经典的代表是GAN,可以生成与现有数据类似的新数据,或者在多种数据中实现自动相互转换。

数据增强

让网络提前见识那些变种但合理的数据,或是不那么常见的数据。如围棋中的一些冷门打法,手写文字的各种扭曲字体等。

特征工程

这是早期的分类程序的方法,需要人工构造许多特征,困难且低效。ANN则是自动发现特征,但这些特征并不容易用人类的思维解释。

逻辑规律和统计规律

逻辑规律是确实的真理,具有逻辑关联;统计规律是某种来自数据的经验,具有统计意义。
统计规律很强大,所以只要数据量够大,ML和DL能解决很多问题。但它们都不擅长逻辑推理,容易犯低级错误,目前可以结合蒙特卡洛树搜索等方法弥补。

符号主义

即计算主义、逻辑主义,认为AI需要通过精确的逻辑推理实现,如专家系统。

统计主义

更注重从数据和经验中学习统计规律,大多ML方法皆是如此。

一些基本概念

神经元

电脑的ANN采用浮点数作为神经元之间的通信手段,而生物的NN采用电脉冲信号作为通信手段。
在DL中提到神经元都是指ANN的神经元,一个神经元相当于一个感知器,输出y是输入的x向量的各个分量通过w向量的线性组合,再加上偏置 b。

多层感知机

全连接神经网络,层和层之间的神经元相互完全连接( m ⋅ n m \cdot n mn)。

ANN的训练过程

每层对数据进行变换,ANN会自动逐步调整每层的参数(而不是超参数),让最终输出趋近期望输出。

损失函数

是一类函数,并非一个具体的函数,但都表征实际输出和期望输出之间的误差大小。

MSE损失(L2损失)

在彭博叔叔的这本书里定义为 L O S S = ( O U T − 期 望 输 出 ) 2 LOSS=(OUT-期望输出)^2 LOSS=(OUT)2,在不同的文献中会不一样。

优化器

即ANN中自我训练的那一部分程序。会根据LOSS和ANN的情况更新ANN的参数,使LOSS缩小。

梯度下降

对于ANN的任何参数w,在学习速率为 η \eta η下,梯度下降的训练公式:
w n e w = w − η ⋅ ∂ L O S S ∂ w w^{new}=w-\eta \cdot \cfrac{\partial LOSS}{\partial w} wnew=wηwLOSS
下降后的新的损失:
L O S S n e w ≈ L O S S − η ⋅ ( ∂ L O S S ∂ w ) 2 LOSS^{new}\approx LOSS-\eta \cdot \left(\cfrac{\partial LOSS}{\partial w}\right)^2 LOSSnewLOSSη(wLOSS)2
####训练ANN时要注意的通用事项

  • 初始参数不能全设置为0。
  • 要逐渐缩小学习速率。
  • 每次训练时打乱样本,让训练顺序随机化,以使最终的ANN尽量少受训练顺序影响。
batch大小

即批大小,是每次训练选取的样本数目。在之前模式识别学习感知机的时候感受很深刻,批大小太小则太具有随机性,批大小太大也不能获得最有效精准的调整。

epoch

每学习一遍数据集,称为一个epoch。按照前面的注意事项,最好每个epoch打乱数据的顺序。

计算图

是一种DAG图,如:
这里写图片描述

静态图框架

先构造计算图,再运行,运行时不能再修改。如TensorFlow、Caffe、MXNet。

动态图框架

计算图会动态构造,根据程序语句动态生成。如PyTorch、Chainer、MXNet Gluon(动态图支持)。

某些常见DL框架的特点

TensorFlow(Google)

最热门,适合大规模集群部署,训练速度较慢,使用和调试较繁琐。

MXNet

训练速度快,代码结构清晰。

CNTK(Microsoft)

有一些特别的功能,如支持C#、支持1-bit网络。

PyTorch(Facebook)

采用动态图计算,适合学术研究。

Keras

并非独立的DL框架,而是现有框架之上的封装。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值