Machine Learning Notes

ML

第一章 introduction

supervised learning: classification
unsupervised learning: GAN
anomaly detection: 异常检测,面对不在学习分布的数据是否能给出不知道的回答
transfer learning: 迁移学习,训练的数据和测试的数据是不同分布时如何学习
meta learning: 赋予机器学习如何学习的能力,学习如何学习的演算法
life-long learning: 终身学习,学习任务1后继续学任务2等等
reinforcement learning: 强化学习
explainable AI: 不仅给出分类结果等还给出理由
adversarial attack: 面对刻意的攻击
network compression: 模型压缩

第二章regression

  • 股票预测

  • 自动驾驶

    sensor和镜头等的输入,输出方形盘角度

  • 推荐系统

    输入使用者A和商品B,输出使用者A购买商品B的可能性

overfitting

  • 并不是说模型越复杂,效果越好。在训练集上取得很好的结果而在测试集上的结果就很差,造成了过拟合。

regularization

  • 权重的平方和越接近0,函数越平滑。即输出对有较大的变化的输入不敏感,不会发生太大变化。不考虑bias,bias只影响上下移动
  • 如果输入有较多的噪声,输出会受到比较小的影响
  • 损失函数加上正则项,lambda表示考虑两者的权衡。
  • L1是模型各个参数的绝对值之和。L2是模型各个参数的平方和的开方值。
    • L1会趋向于产生少量的特征,而其他的特征都是0. 因为最优的参数值很大概率出现在坐标轴上,这样就会导致某一维的权重为0 ,产生稀疏权重矩阵
    • L2会选择更多的特征,这些特征都会接近于0。最优的参数值很小概率出现在坐标轴上,因此每一维的参数都不会是0。当最小化||w||时,就会使每一项趋近于0

estimator

误差来自于bias和方差

  • 简单的模型受到样本的影响较小,方差较小;复杂的模型受到样本的影响较大,方差较大。
  • 简单的模型bias比较大;复杂的则较小。简单模型
  • 如果误差主要来自方差,则overfitting;如果主要来自bias,则underfitting
  • 对于bias大,可重设计模型考虑更多的影响因素;对于方差较大,可以增加数据和正则项,加入正则项可能会损害bias因为可能使函数空间不包含目标函数。

第三章CNN

第四章GNN

第五章RNN

  • slot filling

    1-of-N encoding,word hashing

    bidirectional rnn双向

  • LSTM long short-term memory

    LSTM可以解决梯度消失的问题。在LSTM,原memory和输入是相加再放到新的memoty中,如果今天的w的值会影响memory的值的话,那么这种影响就会永远存在除非忘记门被关闭。

  • GRU: 两个门,只有把旧的值清掉才可以把新的值写进去。

  • CTC:语音辨识,输出一般比输入短

  • sequence to sequence输入输出的长度不同

第六掌explainable AI

local explanation

为什么你觉得这张图像是猫

  • 我们想知道事物的哪些component对判断是重要的哪些是不重要的

    component:
        image: pixel,segment,etc
        Text: word

    将某个组将拿掉或者改变,看其是否对结果产生显著影响。

  • saliency map:计算输出对每个pixel的gradient,判断哪些pixels对现在的判断是重要的还是不重要的。

    Reference:
    Grad-CAM:https://arxiv.org/abs/1610.02391
    SmoothGrad: https://arxiv.org/abs/1706.03825
    ...

global explanation

你认为猫看起来是什么样的

  • reguration from generator:固定已经训练好的generator和clssifier,找到一个z,希望输出的y越大越好

    reference,则有generator产生的图像就是y最大时的解释

  • 使用可解释的model去模拟不可解释的model的行为。

    • LIME

      1.given a data point you want tot explain
      2.sample at the nearby , each imange is represented as a set of superpixels(segments)
      3. fit with linear(or interpretable) model
      4.interpret the model you learned
        y = wx,wi的权重的大小表示了第i个segment的重要性
    • Decision Tree

      希望决策树不要太大,在训练的时候就考虑被解释的时候的决策树不能太大。即加上Tree regularization.

第七章Attack and Defense

机器仅仅强不够,还要应付来自人类的恶意。

Attack

  • loss function for Attack

    • 训练的时候,我们希望 越小越好

    • 无目标攻击的时候,当模型参数确定后,我们希望找到, 使得 越小越好,即被判断为的可能性越小越好。

    • 有目标攻击的时候,当模型参数确定后,我们希望找到, 使得 越小越好,即被判断为的可能性越小越好且被判断为越大越好

    • 同时希望满足一定的约束:,即稍微的改动不被发现

      可为L2-norm或者L-infinity。

  • how to attack

    使用gradient descent 得到对应的

    • FGSMreference

      一次update便达到攻击的目标

  • attack approaches

    不同的attack方法在于不同的优化方法,不同的约束

  • 白箱攻击vs黑箱攻击

    白箱攻击:即需要知道网络参数的情况下进行的攻击

    黑箱攻击:使用与待攻击的network相同的训练集来训练一个代理network,然后攻击代理network,用样可能对待攻击的network成功attack

  • attack in the real world

    人脸辨识系统和自动驾驶等

Defense

被动防卫:不改变模型,给模型加上一层防护罩

主动防卫:在训练模型的时候就把防御加到模型中

passive defense

  • 加上一层filter,进行平滑
  • 对图像进行random resize或者padding

proactive defense

repeat: 找出漏洞->补起来

第八章Network Compression

network pruning

如果某个神经元输出或者权重一直为0或者接近0,则将这些权重或者神经元剪掉,再fine-tune

pretrained network -> evaluate the importance -> remove -> fine-tune -> back to 2->yes

为什么需要剪枝?

因为小的network难train,大的network较容易train。此外可把大的network看成由多个小的network组成的network,有些小的network不发挥作用是可以剪掉的。

  • weight pruning

    实际上剪掉weight后得到的network是不规则的,难以使用GPU加速。实战中可将weight设为0,也就是没有真正改变原来的网络。

  • neuron pruning

    剪掉神经元后的network仍是规则的

knowledge distillation

知识蒸馏reference

让学生直接做对题目太难了,可以让他偷看老师是如何想/解出题目的。通常只用在classification

  • 将一个大的 teacher network的输入输出作为训练资料来训练一个小的student network。

    使用cross-entropy minimiation会比MSE更好。前者衡量的是两个分布之间的KL距离。

  • 也可以将ensemble 的models变为一个小的model

  • Temperature

Parameter Quantization

  • 使用较小的位存放一个权重
  • weight clustering权重聚类
  • 使用哈夫曼编码,较常出现的权重使用较少的bits表示,出现较少的权重使用较多的bits表示
  • Binary connect

architecture design

​ 比如在两层之间加上一层线性层,即没有激活函数,原来的权重数量由NxM可变成Nxk+kxM=k(N+M)。但是会有限制,即r(W)=r(UV)<=K原来的矩阵的秩会小于等于k。

Depthwise Separable Convolution

  1. depthwise convolution

    • filter number = input channel number (eg. 3x3)
    • each filter only considers one channel
  2. pointwise convolution

    使用1x1filter,each filter considers input channels

    于是便达到同样的输出featrue maps,但比一般的CNN的参数数量少很多

I:number of input channels
O: number of output channels
kxk : kernel size
CNN: kxkxIxO
dscnn: kxkxI +IxO
dscnn/cnn : 1/O+1/(kxk)
k为3时参数量约为原来的1/9

reference: MobileNet, SqueezeNet

Dynamic Computation

减少运算量,先求有在求好

解决方法

  • Train multiple classifiers训练多个模型
  • 使用中间层来进行决策

第九章Generation && Attention

9.1Generation

一个一个组件的生成一个有结构的物体

  • 使用RNN一个个生成单词或像素

conditional Generation

9.2Attention

Dynamic Conditional Generation

Machine Translation

  • Attention-based model

Speech Recognition

Image caption generation

reference: Show, Attend and Tell

Memory Network

可用于阅读理解任务中

Neural Turing Machine

9.3Tips for Generation

  • Attention
  • scheduled sampling 使用一个综合的方法来train我们的model, 下一个时间点的输入以一定的概率来自model的输出或者reference
  • Beam Search
  • Objet level vs Component level 使用Reinforcement learning来训练generator,调整参数maximize模型reward

9.4Pointer Network

给定data point, 寻找某些data point进行相连使得可以把其余的点包含进去。

9.5 Transformer

self-attention

使用self-attention来代替RNN

  • self-attention 拿每个query q去对每个key k 做attention。attention要做的事情本质上就是吃两个向量,输出告诉你两这个向量有多接近。

  • A表示Attention maxtrix大小为A就变成了seq_len*seq_len, A中的element表示的是input中的sequence两两之间的attention。

multi-head self-attention

使用q产生新的,k,v同理。不同的head关注不同信息,各司其职,比如local或global的信息。

源码中使用transpose将q分解,最后得到的A大小为num_attention_headsXseq_lenXseq_len

positional Encoding

在self-attention中没有考虑位置信息,每个位置都有一个独特的位置向量,将其加到

seq2seq with Attention

第十章Unsupervised Learning

Linear Methods

clustering(k-means.HAC),distributed representation,Dimension reduction(PCA)

  • pca
    • matrix factorization

Neighbor Embedding

mainfold learning流体学习(LLE,Laplacian Eigenmaps,t-SNE),deep auto-encoder

Auto-encoder

text retrieval

similar image search

denoising auto-encoder

more than reconstruction error

beyond reconstruction,使用discriminator,输入image,embedding判断是否为pair。如果训练完成后,Loss_D很小则表示emdding能够很好的represent image,否则表示对于机器来说很难判断image和embdding是否pair,即embedding不具有代表性。reference DIM

sequential Data

  • skip thought
  • quick thought
  • cpc
more interpretable embedding

Feature Disentangle解开

将embedding的维度进行分解分别代表不同的信息比如语法信息语义信息等

  • voice conversion

    • adversarial Training

    用encoder的前100维的向量训练一个语者classifier,encoder则努力骗过语者classifier。如果今天的classifier成功的骗过了语者encoder,则给encoder则学会将有关语者的任何信息都不能放到前100维中而放在后100维,于是前100维只剩下内容的信息。

    • designed network architecture

discrete representation

  • Vector Quantized Variational Auto-encoder VQVAE

Sequence as Embedding

假设latent representation不再是向量而是sequence即一串文字

  • seq2seq2seq auto-encoder

    但是为了是产生的sequence不是随机产生的人类看不懂的文字,可以使用到GAN的概念

Word Embedding

  • 生成word embedding vector是非监督问题。能否使用auto-encoder来解决这个问题?是不能的

  • 一个词汇能够通过上下文来了解其含义

  • 如何利用上下文语境呢

    • count based

      • 如果两个词汇同时频繁出现,则这两个词汇的embedding是接近的
      • glove vector类似于矩阵分解
    • prediction based

      • 给定上一个词汇,预测下一个词汇
      • 或者使用多个词汇来预测下一个词汇

      预测词汇时,便把语义的信息考虑进网络中,于是将第一个hidden layer的输出作为word embedding,表示词汇。

      • sharing parameters 使得对于同样word的1-of-N encoding能够输出相同的word embedding

      • 变形

        1. continuous bag of word model (CBOW). 使用前后词汇预测中间的词汇。意思是给定上下文语境来预测单词

        2. skip-gram。使用词汇预测前后词汇。意思是给定词汇来预测上下文语境

        3. 这些模型不是deep的

第十一章 ELMO BERT GPT

introduction of ELMO,BERT,GPT

1-of-N Encoding -> word class -> word embedding ->

contextualized word embedding

​ 每个token都有不同的word embedding

ELMO

Embedding from Language Model

不同层的embedding的权重可以通过下游任务继续学习到

Bert

Bidirectional Encoder Representations from Transformers

BERT = Encoder of Transformer, bert实际上做的是输入一个句子输出对应的Embedding

,而bert里面的架构就是Transformer里的encoder。训练的时候只需要train encoder。

  • 对于中文来说,将字作为token会比词作为token要好,因为中文的字的数量是有限的,将其表示为1-hot vector的维度不会太长,方便实际操作。

  • 如何训练?假设我们没有label data,只是收集一大堆没有annotation注解的句子。

    • approach 1 : Masked LM(Language model)
      • 随机选择输入句子的15%的token进行mask, bert的任务就是去猜测被盖掉的词汇。
      • bert填回去的方法是将mask的token对应的embedding, 输入到linear multi-class classifier,到vocabulary size的分布进而预测被mask的词汇。
      • 如果两个词汇填在同一个地方没有差别,那它们就有相类似的embedding,代表它们的语义是相类似的。bert便学会抽取语义上相类似的embedding.
    • approah 2: Next Sentence Prediction
      • 给定两个句子,bert的任务是判断两者是否是接在一起的。
      • 引入特别的符号:[SEP]代表两个句子的交界。[CLS]表示要对这两个句子要做分类,通常放在句子的开头,其对应的embedding输入到Linear Binary Classifier,判断这两个句子是否该被接在一起。
      • 为什么将[CLS]放在开头呢?因为bert内部的架构使用的是self-attention,其具有天涯若比邻的特点两个相邻的word和相距较远的word对其来说都是一样的,若不考虑positional encoding,一个token放在句子开头或者结尾对self-attention来说是没有差别的。
  • aprroach1,2是同时使用的。如何使用?将bert的model和接下来要做的任务一起训练。

    • case1:
      • 输入一个句子输出类别,比如情感分析,文档分类
      • 从头学习的参数只包含linear classifier,而bert的参数只需要微调。
    • case2:
      • 输入一个句子,输出每个句子的类别。比如slot filling、词性标注
    • case3:
      • 输入两个句子,输出类别判断。比如自然语言推断:给定一个前提,判断假设是对错还是无法判断
    • case4:
      • extraction-based question answering 比如SQuAD.
      • 但答案一定出现在文章里面。输入文档D,和问题q,输出标量s和e,表示答案为文档的第s到第e个token.
  • 为中文设计的bert: ERNIE

    reference

  • bert每一个层究竟学了什么

    ref1ref2 即类似于ELMO用于下游任务一样,通过train得到不同层embedding的weight来比较不同层embedding对于不同任务的重要性.

    从相对低层到高层的hidden layer embedding适合的任务分别如下:

    POS > Consts > Deps > Entities > SRL > Coref > Relations

    越往上层,得到的embedding的特征越抽象,越适合用于复杂的nlp任务。

  • Multilingual Bert 在104语言上进行训练

    只教会其英文data的分类,其便会在没有学过中文文档分类的情况下完成中文文档的分类。

GPT

Generative Pre-Training

ELMO(94m), BERT(340M), GPT(1542M)

GPT实际上是Transformer的decoder. 给定一个词汇生成下一个词汇

  • reading comprehension

  • summarization

  • Translation

  • visualization 分析GPT2的attention做的事情是什么 ref

第十二章 Anomaly Detection

problem formulation

  • 给定训练数据
  • 我们希望找到一个函数来侦测输入是否和训练数据相似

第十三章Meta learning

learn to learn

第十四章

Model Fine-tuning

  • 任务描述

    • 目标数据 很少
    • 源数据数量很多
  • idea: 用源数据训练model,然后使用目标数据进行fine-tune

    • 遇到的问题:少量的目标数据可能会导致过拟合

    • tricks:conservative training。加入regularization,新的model和旧的model在旧的数据上的output不会相差太大

    • Layer Transfer. 将source data训练得到的model中的某些layer的参数copy到新的model,只用少量的目标数据训练未copy的layer的参数。
    • 在语音上通常copy最后几层,最后几层携带语者信息较少。
    • 在图像上通常是copy前几层。
全部评论
请问这是什么课程呢?
点赞 回复 分享
发布于 2022-11-28 19:23 江苏

相关推荐

2 收藏 评论
分享
牛客网
牛客企业服务