深入浅出深度学习
- 人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。
- 机器学习是人工智能的一个分支,它是研究计算机如何通过数据学习的科学。它是人工智能的核心,是实现人工智能的主要手段。
- 深度学习是机器学习的一个分支,它是研究计算机如何通过多层神经网络学习的科学。它是机器学习的核心,是实现机器学习的主要手段。
- 深度学习的本质是通过多层神经网络对数据进行特征提取和转换,从而实现对数据的理解和预测。它的核心是神经网络,神经网络是一种模拟人脑神经元结构和功能的计算模型,它由大量的神经元(节点)和连接(权重)组成,通过对输入数据进行加权求和和非线性变换,实现对数据的表示和处理。
- 深度学习的优势在于它能够自动地从数据中学习特征,而不需要人工设计特征,这使得它在处理复杂数据(如图像、语音、文本等)时表现出色。它的应用范围非常广泛,包括计算机视觉、自然语言处理、语音识别、推荐系统等领域。
- 本文将对深度学习的基本原理进行介绍,并使用 进行深度学习的实践。
张量
几何代数中定义的张量是基于向量和矩阵的推广,比如可以将标量视为零阶张量,矢量可以视为一阶张量,矩阵就是二阶张量。
| 张量维度 | 代表含义 |
|---|---|
| 0维张量 | 代表的是标量(数字) |
| 1维张量 | 代表的是向量 |
| 2维张量 | 代表的是矩阵 |
| 3维张量 | 时间序列数据 股价 文本数据 单张彩色图片(RGB) |
张量是现代机器学习的基础。它的核心是一个数据容器,多数情况下,它包含数字,有时候它也包含字符串,但这种情况比较少。因此可以把它想象成一个数字的水桶。
这里有一些存储在各种类型张量的公用数据集类型:
- 3维 = 时间序列
- 4维 = 图像
- 5维 = 视频
创建张量
| 函数 | 功能 |
|---|---|
| Tensor(sizes) | 基础构造函数 |
| tensor(data) | 类似于np.array |
| ones(sizes) | 全1 |
| zeros(sizes) | 全0 |
| eye(sizes) | 对角为1,其余为0 |
| arange(s,e,step) | 从s到e,步长为step |
| linspace(s,e,steps) | 从s到e,均匀分成step份 |
| rand/randn(sizes) | rand是[0,1)均匀分布;randn是服从N(0,1)的正态分布 |
| normal(mean,std) | 正态分布(均值为mean,标准差是std) |
| randperm(m) | 随机排列 |
操作张量
PyTorch中的 Tensor 支持超过一百种操作,包括转置、索引、切片、数学运算、线性代数、随机数等等,具体使用方法可参考官方文档。