Class 2

CONV & APP (low level)

  • 时间, 2019年8月29日 下午4:24

  • 图片上的一阶导和二阶导

    • 一阶导是灰度值的变化率
    • 图像函数, $$y = f(x)$$
    • 一阶导,粗边(缘)$$f\prime(x) = y\prime = f(x+1) - f(x)$$
    • 二阶导是一阶导的导数
    • 二阶导,精细结构敏感(sensetive),双边效应(double edge) $$f\prime\prime(x) = f\prime(x+1) - f\prime(x) = f(x+2) -f(x+1)-f(x+1)+f(x)$$
  • 特别的kernels

    • 高斯核(gaussian kernel)/中值化(median kernel),图像模糊
    • 拉普拉斯(laplacian kernel), 图像锐化,颗粒感更强, ori+edge
    • sobel kernel, 边缘检测

mid level

Class 3

  • 面试要求

      1. concept(说出具体流程) & code(写出代码)
      1. corner case(边界情况怎么处理)
      1. 分析算法时间复杂度
  • 链式法则,chain Rule

    • Problems, 梯度爆炸和梯度弥失
    • coding more
  • regularization (正则化)

Class 7

Initialization Methods

  • 网络参数初始化是一个很重要的开始,因为好的初始化会让网络更好更快的收敛。
  • 常见的参数初始化方法
    • Gaussian / Xavier / Kaiming Initialization,都是把参数初始化成一个均值(mean=0)为零,标准差为一个常数(constant)的正态分布。
    • 原因是, Help to pass the gradient/less explosion & vanishing
    • Xavier: [Bengio 2010], $$std(标准差)=\sqrt{\frac{2} {f_{in}+f_{out}}}$$, $$f_{in} = input_channels * kernel_w * kernel_h$$,针对的是没有activation function或者activation function是线性的或者tanh等
    • Kaiming (MSRA/He) [He, 2015],$$std(标准差)=\sqrt{\frac{2} {f_{in}}}$$,针对的activation function是relu

Image Preprocessing

  • Traditional Ways

    • Mean subtraction

      1
      X -= np.mean(X, axis=0) # 0: row, 1: col
    • Normalization

      1
      X /= np.std(X, axis=0)
    • PCA

      1
      2
      3
      4
      5
      6
      X = np.random.randn(1000, 500)
      X -= np.mean(X, axis=0)
      cov = np.dot(X.T, X) / (X.shape[0] - 1)
      U, S, V = np.linalg.svd(cov)
      # Xrot = np.dot(X, U)
      Xrot_reduced = np.dot(X, U[:, :100])
      • 找到相互正交投影方向,使得数据投影后最大的方差。方差越大,结果不可预测,信息量越大。
      • 先找一个轴,报上去方差最大
      • 再找2nd轴,报上去方差最大
      • 。。。
      • 那如何找到方差最大的轴呢?
    • Whitening (Seldom use)

      1
      Xwhite = Xrot / np.sqrt(S + 1e-5)