深度学习预备知识
本系列为跟着李沐学习深度学习系列整理的笔记,在此自己总结梳理一遍,加深理解和记忆。更详细的视频教程可参考动手学深度学习 PyTorch版,笔记教程可参考动手学习深度学习
系列文章目录
前言
本节主要讲了开始学习深度学习之前的一些预备知识,包括深度学习的起源和发展,深度学习的关键以及在处理深度学习问题中一些常用的pytorch函数
一、深度学习概念
1.深度学习的起源和发展
深度学习是机器学习的一个分支领域,是一种以人工神经网络为架构,对数据进行表征学习的算法。深度学习主要在于学习样本数据所存在的内在规律和表示幅度,数种深度学习框架已被成功应用在计算机视觉、语音识别、图像处理等领域并获取了极好的效果。
深度学习离不开神经网络技术的发展,它通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。最早的神经网络的思想起源于1943年的 MP 人工神经元模型。MP模型是模仿神经元的结构和工作原理,构成出的一个基于神经网络的数学模型,本质上是一种“模拟人类大脑”的神经元模型。MP模型作为人工神经网络的起源,开创了人工神经网络的新时代,也奠定了神经网络模型的基础
1949年,加拿大著名心理学家唐纳德·赫布在《行为的组织》中提出了一种基于无监督学习的规则——海布学习规则(Hebb Rule),建立了一种模仿人类认知世界的网络模型,为以后神经网络学习算法奠定了基础。20世纪50年代末期,美国科学家罗森布拉特在基于MP模型和海布学习规则的研究基础上,提出了感知机学习算法,并于1958年,正式提出了由两层神经元组成的神经网络,称之为“感知器”。感知器的提出吸引了大量科学家对人工智能领域的兴趣,然而,在1969年,马文·明斯基证明了单层感知器无法解决线性不可分问题,使得人工进入了第一个寒冬期。
直至1986年,深度学习之父杰弗里·辛顿提出了一种适用于多层感知器的反向传播算法——BP算法。BP算法在传统神经网络正向传播的基础上,增加了误差的反向传播过程。反向传播过程不断地调整神经元之间的权值和阈值,直到输出的误差达到减小到允许的范围之内,或达到预先设定的训练次数为止[6]。这个算法完美解决了非线性分类问题,让人工神经网络再次活跃起来。不过,由于当时的计算能力有限,加上当神经网络规模扩大时,BP算法会出现梯度消失的现象,人工神经网络并未彻底火爆起来。
2006年,杰弗里·辛顿以及他的学生鲁斯兰·萨拉赫丁诺夫正式提出了深度学习的概念,很多人也把这一年看作是深度学习元年。杰弗里·辛顿给出了梯度消失算法的解决方案,即通过无监督的学习方法逐层训练算法,再使用有监督的反向传播算法进行调优。该算法的提出,在学术圈引起了巨大的反响。在2012年的ImageNet图像识别大赛中,杰弗里·辛顿领导的小组采用深度学习模型AlexNet一举夺冠,让大家看到了深度学习在图像识别等领域的巨大潜力。
自此之后,深度学习真正成为了当前最为热门的领域之一,在全球引爆了神经网络的狂潮。深度学习目前在图像识别、语音识别、数据挖掘、自然语言处理等领域都取得了很多的成果,大大促进了人工智能领域的发展。由于深度学习在计算机视觉和语音识别方优于过传统方法,其中一些好的方法经过改进,也适用于其他领域。例如深度学习在处理海量数据时在 并行处理、进行模式识别特征提取、数据预测等方面都有巨大的优势,这与声学研究具有极大的契合性,因此可以在声学处理上运用深度学习解决部分问题。
2.深度学习的关键
深度学习的核心思想:用数据编程。
深度学习是具有多级表示的表征学习方法。它可以逐级表示越来越抽象的概念或模式。
机器学习传统的训练过程:
- 从一个随机初始化参数的模型开始,这个模型基本毫不“智能”。
- 获取一些数据样本。
- 调整参数,使模型在这些样本中表现得更好。
- 重复第2步和第3步,直到模型在任务中的表现令你满意
关键组件:
- 我们可以学习的数据(data)。
- 如何转换数据的模型(model)。
- 一个目标函数(objective function)(损失函数),用来量化模型的有效性。
- 调整模型参数以优化目标函数的算法(最小化损失函数)
机器学习分类
-
监督学习
- 回归
- 分类
- 标记
- 搜索
- 推荐系统
- 序列学习
-
无监督学习
- 聚类
- 主成分分析
- 生成对抗网络
- 因果分析和概率图模型问题
-
强化学习
二、深度学习预备知识
1.数据操作
import torch
#创建Tensor
x = torch.arange(1,12,2) #创建行向量 1-12.,步长为2
X = x.reshape(3,4) #把张量变成矩阵
x = torch.zeros(5, 3, dtype=torch.long)#创建一个5x3的long型全0的矩阵
x = torch.ones((2,3,4))#创建一个形状为(2,3,4)的全1矩阵