机器学习视频 | 李宏毅 | 2019

课程相关

视频地址:

课程主页:

The Next Step for Machine Learning

Meta-learning / Learn to learn

image.png

Few-shot learning / Zero-shot learning

Reinforcement Learning

强化学习,增强式学习

缺点:需要花费时间过多,天资不佳勤奋不懈。

Network Compression

神经网络压缩

image.png

痛点

  • 几乎所有的 Training DataTesting Data 一样,实际工程可能会有区别

image.png

总结

image.png

Anomaly Detection

解决问题:找出和训练数据不一样的输入

image.png

Applications

  • Fraud Detection
  • Network Intrusion Detection
  • Cancer Detection
  • ……

    Binary Classification

    No, “anomaly” is not easy to get and define.

    Label Case / With Classifier

    先训练一个分类器,对已知类别进行分类。当应用于 Anomaly Detection 时,给出一个置信分数(confidence score,e.g. 取最大的概率),与一个门限进行比较。

    Confidence Score

    image.png
    image.png

    Framework

    image.png

    Evaluation

  • Accuracy Rate :√+1,X -1 —-> bad —-> 漏警代价比虚警概率代价更大

  • 实际中博弈:李宏毅机器学习 | 笔记 - 图9

    Novelty Detection with GAN

    手动产生更多的样本(anomaly)同时训练分类和信心分数(confidence score)。
    image.png

    Twitch Plays Pokemon

  • Maximum Likelihood ( Estimate the 李宏毅机器学习 | 笔记 - 图11 )

    • 李宏毅机器学习 | 笔记 - 图12

其中,李宏毅机器学习 | 笔记 - 图13李宏毅机器学习 | 笔记 - 图14 的均值(mean),李宏毅机器学习 | 笔记 - 图15 是 协方差矩阵(covariance matrix)

  • 李宏毅机器学习 | 笔记 - 图16 李宏毅机器学习 | 笔记 - 图17 李宏毅机器学习 | 笔记 - 图18
  • 李宏毅机器学习 | 笔记 - 图19
  • 李宏毅机器学习 | 笔记 - 图20
    • More Features,使模型更加完善

image.png

  • Auto-encoder

根据还原度来判断

Attack and Defense

训练出来的模型不仅在模型中要强鲁棒性,在实际生活部署中也要可以应对(defense)各种情况(attack)。 Attack and Defense the Model.

Attack

通过给图片输入加噪使得 Loss Function 变大。使得模型输出 李宏毅机器学习 | 笔记 - 图22 far from 目标输出 李宏毅机器学习 | 笔记 - 图23

maybe 可以训练处来一种模型,这种模型的输入是各种被 attack 的图片,通过不断训练,使模型可以对图片中决定性元素的权值进行加重,比如通过给一张猫的图片中改变猫的颜色,使颜色的权值降低,从而使其他判断这张图片为猫的权值升高,可能这就是一种简单的增强数据集的方法?但是这种方法对于大规模的图片无法进行处理,可能需要一个新的方法处理数据?

Loss Function

image.png

  • 训练模型时是调整模型参数
  • Attack 时是调整给输入加的噪声(即输入)
    • 有目标:输出 李宏毅机器学习 | 笔记 - 图25李宏毅机器学习 | 笔记 - 图26 尽可能接近(此时调整后的输入和原输入“距离”,e.g. 范式距离,很近)
    • 无目标:输出 李宏毅机器学习 | 笔记 - 图27 和目标输出 李宏毅机器学习 | 笔记 - 图28 越来越远越好

      Distance

      李宏毅机器学习 | 笔记 - 图29 表示两个向量之间的差距最大可能有多大
      image.png

      Train

      Train 李宏毅机器学习 | 笔记 - 图31 but not 李宏毅机器学习 | 笔记 - 图32

李宏毅机器学习 | 笔记 - 图33

初始化时 李宏毅机器学习 | 笔记 - 图34 就是原始图片,采取GD(Gradient Descent)
更新方法:类似于自适应滤波中的更新权值的方法,逐步逼近最优点,步长可调。

Example

试图解释:在某些维度上,李宏毅机器学习 | 笔记 - 图35李宏毅机器学习 | 笔记 - 图36 在输入稍微改变一点时,输出就会发生很大的变化。

Approaches

  • 采用不用的优化方法(different optimization methods)
  • 使用不同的约束方法(different constraints)

    类似于拉格朗日乘子法
    e.g.
    FGSM(Fast Gradient Sign Method)
    相当于只在意梯度的方向而不在意梯度的大小,用 sign 函数(+1,-1)来表示方向,一次得出 李宏毅机器学习 | 笔记 - 图37 ,
    李宏毅机器学习 | 笔记 - 图38image.png
    在二维中,相当于通过更新将 李宏毅机器学习 | 笔记 - 图40 拉到(李宏毅机器学习 | 笔记 - 图41)上。

    Black Box Attack v.s. White Box Attack

  • 已知训练数据,通过训练数据来进行训练模型(Proxy)并攻击黑箱(Black)

image.png

Universal Adversarial Attack

找到一个 Attack SIgnal,可以用它来攻击所有类别

Adversarial Reprogramming

Adversarial Reprogramming of Neural Network (ICLR,2019)

image.png

Attack in the Real World

maybe we can use a pair of glasses to attack face-recognition
limits
image.png

Beyond Images

Defense

  • Passive Defense

被动防御,给已经训练好的模型增加防御。
image.png

  • Feature Defense

image.png

  • Randomization at Inference Phase

图片进行缩放(resize)之后在周围加上 padding

  • 缺点
    • 当前面加的 filter 泄露之后,attack 时把这个 filter 当做一个 layer 来进行训练
      • Proactive Defense

主动防御,在训练时考虑这种情况。(在训练时,找出漏洞,然后把这些漏洞数据作为训练资料,再训练模型,补起来漏洞。注意:补齐一个漏洞之后可能会有新的漏洞,要进行多次的训练)
image.png

Explainable ML

  • Local Explanation

为什么你认为这张图片是猫

  • Global Explanation

你认为猫是什么样子的

Author’s view

image.png

Application

  • 判别履历
  • 判断罪犯是否可以假释
  • 模型诊断:机器学到了什么,可解释性深度学习
  • 经济机器学习
  • ……

    Interpretable v.s. Powerful

    image.png
    maybe decision tree ? Forest

    Local Explanation

    基本思想:
    观察一个输入(e.g. 图片)的某些特征(pixel,component…)对模型的决策影响的大小。
    通过改变(e.g. 掩盖)这些特征观察模型输出和 ground truth 的差别,从而得出那些特征对判断类别是重要的。(saliency map)

  • gradient

    • intergrated gradient
    • deep lift

Global Explanation

基本思想:
找一个图片,使得某一类的输出最大(李宏毅机器学习 | 笔记 - 图50),要画出人可是别的 saliency map 还需要很多调整。

Image Generator

  • GAN
  • VAE
  • …….

image.png

e.g. https://arxiv.org/abs/1612.00005

与 GAN 不同的是,这里的 GeneratorClassifier 是固定的。

Using a model to explain another

类似于自适应滤波里面的应用,用一个模型(e.g. linear)去预测一个模型,可以只去预测某些特征

LIME

image.png
Steps:
image.png
image.png
image.png

Decision Tree

In order to make the tree not too large, we can train a network that is easy to be interpreted by decision tree.

https://arxiv.org/pdf/1711.06178.pdf

Life Long Learning

Difficulties

  • Knowledge Retention
  • Knowledge Transfer
  • Model Expansion

    Knowledge Retention

  • catastrophic forgetting

    • multi-task learning

image.png

  • Generating Data

image.png

  • Computation issue
  • Storage issue

    EWC

    Elastic Weight Consolidation

基本思想:
再次训练时,只改变不重要的参数
具体方法:
给每一个参数增加一个 guard 李宏毅机器学习 | 笔记 - 图58, 给损失函数加上新的一项。
李宏毅机器学习 | 笔记 - 图59
李宏毅机器学习 | 笔记 - 图60
e.g. the 2nd derivative
image.png

image.png
Different methods(different way to calculate 李宏毅机器学习 | 笔记 - 图63

Knowledge Transfer

How to evaluate

image.png

GEM

https://arxiv.org/abs/1706.08840

使得更新时内积为正,不要伤害过去的参数。
image.png

A-GEM

https://arxiv.org/abs/1812.00420

Model Expansion

Expand with Parameter Efficiency

Progressive Neural Network

image.png

Expert Gate

image.png

Net2Net

image.png

Curriculum Learning (the Proper Learning Order)

image.png

Meta Learning (MAML)

Make the machine learn to learn ( a better learner )

Difference

  • life-long: 一个模型适应所有的 task
  • meta-learning: 根据资料找一个 找一个函数f的 函数F的能力

image.pngimage.png

Steps

  • Define a set of learning algorithm
    • 如CNN的网络架构
    • 让机器去设计网络架构中某些结构.
  • Define the goodness of a function F
    • Loss function
    • 李宏毅机器学习 | 笔记 - 图72, 其中李宏毅机器学习 | 笔记 - 图73是不同task的loss function
  • FInd the best function 李宏毅机器学习 | 笔记 - 图74
    • 李宏毅机器学习 | 笔记 - 图75

Omniglot

Few-shot Classification N-ways K-shots

image.png

MAML

Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks 学习一个好的初始化参数

image.png

Different from Model Pre-training

  • MAML (之后的Model)

image.png

  • Model Pre-training (现在的Model)

    image.png

    Why only one-step training

    image.png

    Toy Example

  • Model Pre-training

image.png

  • MAML

image.png

Real Implementation
MAML : 取第二次的gradient来更新
image.png

Reptile

image.png

Different from others

image.png

Meta Learning (Gradient Descent as LSTM)

RNN

(略)

LSTM

Meta Learning (Metric-based)

同时输入一个训练和一个侧式, 网络会给出结果

Siamese Network

类似于一个二分类问题, 输入两张图片, 判断两种图片是否是一个人.

不同于Auto-Encoder的是可能Siamese Network可能会忽略一些东西 (如背景)
image.png

N-way Few/One-shot Learning

  • Prototypical Network ( https: //arxiv.org/abs/1703.05175 )

image.png

  • Matching Network

image.png

  • Relation Network

image.png

Few-shot Learning for Imaginary Data

image.png

Train and Test as RNN

Auto-encoder

image.png

More than minimizing reconstruction error

Embedding : Beyond Reconstruction, 将一种将源数据映射到另外一个空间.

  • Skip thought
  • QUick thought

    More interpretable embedding

    Feature Disentangle

将向量中特征分开 (内容,音色…) , 之后可以重组 (变声)
e.g.1
image.pngimage.png

e.g.2
image.png

VQVAE

image.png

Sequence as Embedding

image.png

总结

image.png

Network Compression

Network Pruning

原因 : 网络中很多参数是有多余的, 彼此之间不是正交 ?

  • 评价权值是否很重要
  • 评价神经元是否很重要
  • 移除不重要的部分

image.png

Why Pruning

大的网络比较容易训练,所以先训练大的网络,之后才Pruning,而不是直接训练小的模型

  • Lottery Ticket Hypothesis
  • Rethinking the Value of Network Pruning

    Practical Issue

    不是真正移除 而是将要移除的变为0

  • Weight pruning

image.png

  • Neuron pruning (easy to implement)

image.png

Knowledge Distillation

先train一个大的network 然后train一个小的network去学习这个大的

image.png
Ensemble
为了区别pruning 采用(可能实用不是有用)
image.png

Parameter Quantization

类似于编码 Huffman编码之类balabala

Architecture Design

Low rank approximation

image.png

Depthwise Separable Convolution

不同于CNN(左), 其(右)先在每个channel上分别做局部卷积, 之后用1x1的卷积层进行通道信息的融合

image.pngimage.png

Details

image.png

Dynamic Computation

根据device的当前状态(computation)来进行不同的计算方式(e.g. nums_layers)

image.png
image.png


OVER !