# 《深度学习》郭剑雄 (February 21, 2023)

<img src="https://s2.loli.net/2023/02/21/refuhKiR9np6zgX.png" width="3136" title="" crop="0,0,1,1" id="PeNOa" class="ne-image">

[《神经网络与深度学习》](https://nndl.github.io/)

---

## 第1章 绪论
神经网络：一种以（人工）神经元为基本单元的模型

深度学习：一类机器学习问题，主要解决贡献度分配问题

---

深度学习框架

+ 简易和快速的原型设计
+ 自动提督计算
+ CPU/GPU无缝切换
+ 分布式计算

---

##### 人工智能的研究领域
图灵测试是促使人工智能从哲学探讨到科学研究的一个重要因素，引导了人工智能的很多研究方向

因为要使得计算机能通过图灵测试，计算机必须具备理解语言、学习、记忆、推理、决策等能力

+ 让机器具有人类的智能
    - 机器感知（计算机视觉、语音信息处理、模式识别）
    - 学习（机器学习、强化学习）
    - 语言（自然语言处理）
    - 记忆（知识表示）
    - 决策（规划、数据挖掘）

---

如何开发一个人工智能系统？

+ 专家知识（人工规则）
+ 机器学习 ≈ 构建一个映射函数

---

### 1.3 表示学习
```markdown
原始数据 -> **数据预处理 -> 特征提取 -> 特征转换** -> **预测** -> 结果
             -----------------------------        ----
                         特征处理                 浅层学习
```

底层特征 VS 高层语义

人们对文本、图像的理解无法从字符串或者图像的底层特征直接获得

#### 什么是好的数据表示（representation）？
好的表示是主观概念，没有明确标准

一个好的表示通常具有以下优点：

+ 应该具有很强的表示能力
+ 应该使后续的学习任务变得简单
+ 应该具有一般性，是任务或领域独立的

**数据表示**是机器学习的核心问题

+ 特征工程：需要借助人类智能

---

#### 表示形式
局部表示

+ 离散表示、符号表示
+ One-Hot向量

分布式（distributed）表示

+ 压缩、低维、稠密向量
+ 用O(N)个参数表示O(2^k)区间
    - k为非0参数，k < N



|   | 局部表示 | 分布式表示 |
| --- | --- | --- |
| A | [ 1 0 0 0 ] | [ 0.25 0.5 ] |
| B | [ 0 1 0 0 ] | [ 0.2 0.9 ] |
| C | [ 0 0 1 0 ] | [ 0.8 0.2 ] |
| D | [ 0 0 0 1 ] | [ 0.9 0.1 ] |




---

#### 语义表示
```markdown
局部(符号)表示 -> 分布式表示
------------    ---------
 知识库、规则    嵌入(embedding)：压缩、低维、稠密向量
```

#### 表示学习
表示学习：如何自动从数据中学习好的表示

通过构建具有一定"深度"的模型，可以让模型来自动学习好的特征表示（从底层特征，到中层到高层），从而最终提升预测或者识别的准确性

传统的特征提取

+ 特征提取
    - 线性投影（子空间）：PCA、LDA
    - 非线性嵌入：LLE、Isomap、谱方法
    - 自编码器

特征提取 VS 表示学习

+ 特征提取：基于任务或先验对去除无用特征
+ 表示学习：通过深度模型学习高层语义特征

#### 表示学习与深度学习
一个好的表示学习策略必须具备一定的深度

+ 特征重用：指数级的表示能力
+ 抽象表示与不变性：抽象表示需要多步的构造

```markdown
深度学习 = 表示学习 + 决策（预测）学习

原始数据 -> 数据预处理 -> 特征提取 -> 特征转换 -> 预测 -> 结果
           -----------------------------
                       表示学习
           -------------------------------------
                           深度学习
```

> 贡献度分配问题
>

---

<img src="https://s2.loli.net/2023/02/21/o2iwaWlqpUAKLDs.png" width="3614" title="" crop="0,0,1,1" id="amO49" class="ne-image">

---

#### 神经网络如何学习？
赫布法则 Hebb's Rule

---

人脑有两种记忆，如果一个经验重复足够的次数，此经验就可储存在长期记忆中

短期记忆转化为长期记忆的过程称为**凝固作用**

---

#### 人工神经网络
人工神经网络由神经元模型构成，这种由许多神经元组成的信息处理网络具有并行分布结构

> 虽然这里将神经网络结构大体上分为三种类型，但是大多数网络都是复合型结构，即一个神经网络中包括多种网络结构
>

+ 前馈网络
+ 记忆网络
+ 图网络

---

## 第2章 机器学习概述
机器学习：通过算法使得机器能从大量数据中学习规律从而对新的样本做决策

+ 规律：决策（预测）函数

---

#### 学习准则
+ 期望风险未知，通过经验风险近似

经验风险最小化

+ 在选择合适的风险函数后，我们寻找一个参数θ*，使得经验风险函数最小化

机器学习问题转化为最优化问题

---

#### 随机梯度下降法
每次迭代时只采集一个样本

在经过足够次数迭代时，也可以收敛到局部最优解

优点：每次计算开销少，支持在线学习

缺点：无法充分利用计算机的并行计算能力

##### 小批量（Mini-Batch）随机梯度下降法
+ 随机选取一小部分训练样本来计算梯度并更新参数

---

范化误差 = 经验误差 - 期望误差

+ 优化：经验风险最小
+ 正则化
    - 增加优化约束（L1/L2约束、数据增强）
    - 干扰优化过程（权重衰减、随机梯度下降、提前停止）

---