跳转至

Neural Network

  • Problem: Linear classifier is not powerful
  • Solution:
    • Feature transfers

Image Features - Color Histogram - Histogram of Oriented Gradients (HoG)方向梯度直方图: 1.计算每个像素的边缘方向强度。 2.将图像划分为 nxn 的区域。 3.在每个区域内,计算一个由边缘强度加权的边缘方向直方图。 - Bags of words(Data Driven!) - Build codebook,从一系列图像中 提取随机图像块 (Extract random patches),然后 将这些图像块进行聚类,以形成由“视觉词汇 (visual words)”组成的“码本 (codebook)” - 对图片使用codebook中的图像块进行编码 - 可以将不同的特征向量拼接起来,组合成一个长向量

Neural Networks

  • Linear Score Function: \(f=Wx\)
  • 2-layer Neural Networks: \(f = W_2 \max{(0, W_1 x)}\)

Fully-Connected Neural Networks

Deep Neural Networks

将神经网络推广至多层 0,x depth: number of layers layers: 权重矩阵的数量 width: size of each layer 向量长度

Activation Functions

如果不使用激活函数的话,权重矩阵相乘仍然相当于一个linear classifier

  • \(ReLU(x) = \max(0,x)\): Rectified Linear Unit
  • \(\sigma(x) = \frac{1}{1+e^{-x}}\):Sigmoid
  • \(\tanh(x)\)
  • \(Leakly ReLU(x)=\max(0.1x, x)\)
  • \(Maxout(x): \max(w_1^T x + b_1, w_2^T x + b_2)\)
  • \(ELU(x) = \left\{\begin{matrix}x ,x > 0 \\ \alpha(e^x - 1) x \leq 0 \end{matrix}\right.\)

ReLU is a good default choice for most problems

Neurons: organized into regular layers for computational efficiency

Space Warping

data points 都在高维空间中,线性分类器的每一行在输入空间的特征空间中产生了一些平面

隐藏层增加->越来越复杂的决策边界

Regularization

不通过减小模型本身的规模来防止过拟合,而是先构建一个足够大的、有能力过拟合的模型(高容量模型),然后使用L2正则化等技术来约束它的复杂度

Universal Approximation

一个足够大的、仅包含一个隐藏层的神经网络,原则上可以模拟(或逼近)任何复杂的连续函数,并且精度可以达到我们想要的任何程度

使用多个ReLU function 组合可以得到任意Bump Function,从而可以用大量的的 Bump Function 来拟合连续函数

Convex Functions 凸函数

A function \(f : X \subseteq \mathbb{R}^N \rightarrow \mathbb{R}\) is convex if for all \(x_1, x_2 \in X, t \in [0, 1]\), \(\(f(tx_1 + (1-t)x_2) \le t f(x_1) + (1-t) f(x_2)\)\)

Generally speaking, convex functions are easy to optimize: can derive theoretical guarantees about converging to global minimum*

  • 一般来说,凸函数易于优化: 可以从理论上保证其收敛到全局最小值*。

大多数神经网络需要进行非凸优化

  • 关于收敛性的保证很少或没有。
  • 根据经验,它似乎仍然有效。
  • 这是一个活跃的研究领域。