李宏毅【機器學習2021】笔记

只有一半左右,因为主要目标是nlp,剩下的就随缘看了,要杀nlp一个回马枪了!

文章目录

  • 預測本頻道觀看人數 (上) - 機器學習基本概念簡介
    • 什么是机器学习
    • 不同类型的函数
    • How to find a function? A Case Study
      • 写一个新的函数,使得预测函数更加复杂更加符合实际(一周为周期)
  • 預測本頻道觀看人數 (下) - 深度學習基本概念簡介
    • 线性model太简单了
    • Sigmoid Function
    • 重新定义一些符号。。。
    • 至此我们改进了前面提到的机器学习框架的第一步:Function with unknown
    • Loss
    • Batch
    • ReLU
    • 实战效果
    • 多层神经网络
      • 实战效果
    • 此即深度学习
    • 为什么不将网络变胖而是把它变深, 留待讲解,插眼。
    • Overfitting
  • 機器學習任務攻略
    • Framework of ML
    • General Guide
    • Model bias
    • Optimization Issue
    • 如何判断是model Bias 还是Optimization Issue的原因?
    • Overfitting
      • 解决方案
    • Cross Validation
    • N-fold Cross Validation
    • Mismatch
  • 類神經網路訓練不起來怎麼辦 (一): 局部最小值 (local minima) 與鞍點 (saddle point)
    • 当 gradient 接近零,学习速度也就接近0,其原因有可能为:
    • 如何确定到底是哪个原因?
      • Tayler Series Approximation
    • Saddle Point v.s. Local Minima
  • 類神經網路訓練不起來怎麼辦 (二): 批次 (batch) 與動量 (momentum)
    • Review
    • Small Batch vs Large Batch
    • 考虑到GPU平行运算的问题更大的batch不一定就比小的batch花的时间多
    • 更新参数所拥有的数据越多,更新越精准,batch越多,更新一次batch的数据越少,噪音越大,然而效果反而更好。
    • 即使train data效果差不多,在test data里小的batch size也会得到更好的效果。
    • 总结
    • Momentum
  • 類神經網路訓練不起來怎麼辦 (三):自動調整學習速率 (Learning Rate)
    • 训练卡住了,loss不再下降,并不意味着到了local minima 或者鞍点之类的
    • But training can be difficult even without critical points
    • Different Parameters needs different learning rate
    • RMSProp
    • Adam
    • Learning Rate Scheduling
    • Residual Network
    • Summary of Optimization
    • Next Time
  • 類神經網路訓練不起來怎麼辦 (四):損失函數 (Loss) 也可能有影響
    • To learn more
    • Classification as Regression?
    • Loss of Classification
    • 为什么相较于MSE Cross-entropy更常被用到
  • 類神經網路訓練不起來怎麼辦 (五): 批次標準化 (Batch Normalization) 簡介
    • Changing Landscape
    • Feature Normalization
    • Considering Deep Learning
    • Batch Normalization[插眼,没看太懂]
      • BN in Test
    • Internal Covariate Shift?
  • 卷積神經網路 (Convolutional Neural Networks, CNN)
    • Image Classification
    • Observation 1 //引出receptive field
    • Simplification 1
      • receptive field
      • Typical Setting
    • Observation 2 //引出filter
    • Simplification 2
      • Typical Setting
    • Benefit of Convolutional Layer
    • Convolutional layer //另一种说法
    • Comparison of Two Stories
    • Observation 3 //引出pooling
    • The Whole CNN
      • Flatten 把所有数值拉直变成向量
    • Application: Playing Go
    • Why CNN for GO playing
    • More Applications
    • To learn more
  • 自注意力機制 (Self-attention) (上)
    • Vector as Input
    • What is the output?
      • 输入数量与输出数量一致
      • 输入输出数量不一致
    • Sequence Labeling
    • Self-attention
    • Part of attention network
  • 自注意力機制 (Self-attention) (下)
    • Multi-head self-attention
    • Positional Encoding
    • Application
      • Speech
      • Image
      • Self-attention for Graph
        • To Learn more about GNN
    • Self-attention v.s. CNN
    • Self-attention vs RNN
      • To learn more about RNN
    • To Learn More
  • Transformer(上) Encoder
    • Sequence-to-sequence's application
      • Seq2seq for Chatbot
      • Seq2seq for Syntactic parsing
      • seq2seq for multi-label classification
      • Seq2Seq for Object Detection
    • Seq2seq
      • Encoder
    • To learn more
  • Transformer (下) Decoder
    • Autoregressive(Speech Recognition as example)(AT)
    • Decoder
      • Masked multi-head attention
      • Stop Token: We don't know the correct output length
    • Non-autoregressive(NAT)
      • To learn more about nat
    • Encode-Decoder
      • Cross Attention
      • train
      • Teacher Forcing
    • tips about train seq2seq
      • Copy Mechanism
        • To learn more
      • Summarization
      • Guided Attention
    • Beam Search
    • Optimizing Evaluation Metrics?
    • 训练和测试不一致(Exposure bias)
      • Scheduled Sampling
  • 生成式對抗網路 (Generative Adversarial Network, GAN) (一) – 基本概念介紹
    • Network as Generator
    • 为什么要输出一个分布?
    • GAN
      • Anime Face Generation
      • Discriminator
      • Basic Idea of GAN
      • Algorithm
    • Progressive GAN
  • 生成式對抗網路 (Generative Adversarial Network, GAN) (二) – 理論介紹與WGAN
    • Our Objective
    • How to solve the problem of divergency(sample and discriminator)
      • Discriminator
    • can we use other divergence?
    • Tips of gan
      • JS divergence is not suitable
    • Wasserstein distance
    • WGAN
  • 生成式對抗網路 (Generative Adversarial Network, GAN) (三) – 生成器效能評估與條件式生成
    • GAN is still challenging
    • GAN for Sequence Generation
      • For more
    • 为什么用GAN
    • Possible Solution
    • Quality of Image
    • Diversity - Mode Collapse
    • Diversity - Mode Dropping
    • Frechet inception Distance(FID)(插眼)
    • We don't want memory GAN
    • Conditional Generation
      • Text to image
    • Application
  • 生成式對抗網路 (Generative Adversarial Network, GAN) (四) – Cycle GAN
    • Learning from Unpaired Data(无监督)
    • more
    • SELFIE2ANIME
    • Text Style Transfer
  • 自督導式學習 (Self-supervised Learning) (一) – 芝麻街與進擊的巨人
  • 自督導式學習 (Self-supervised Learning) (二) – BERT簡介
    • Self-supervised Learning
    • Masking Input
    • Next Sentence Prediction
    • Downstream Tasks 将前面的训练结果用在其他训练上
    • GLUE
    • How to use BERT
      • Case 1 input asq output class
      • Case 2 input seq output same as seq
      • Case 3 input two seq output class
      • Case 4 input document and query output answer
    • Training BERT is challenging
    • BERT Embryology(胚胎学)
    • Pre-training a seq2seq model
  • 自督導式學習 (Self-supervised Learning) (三) – BERT的奇聞軼事
    • Why does BERT work
    • Applying BERT to protein,DNA,music classification
    • Multi-lingual BERT
      • Cross-lingual Alignment(一种解释)
  • 自督導式學習 (Self-supervised Learning) (四) – GPT的野望
    • How to use GPT
    • Few-shot learning (no gradient descent) "In-context" Learning
    • Beyond Text
      • Image
      • Speech
    • Application of self supervised
  • 自編碼器 (Auto-encoder) (上) – 基本概念
    • Outline
    • review of self-supervised learning frame work
    • auto-encoder in image
      • Dimension reduction
      • for more
    • Why auto-encoder?
    • Auto-encoder is not a new idea
    • De-noising Auto-encoder
  • 自編碼器 (Auto-encoder) (下) – 領結變聲器與更多應用
    • Feature Disentangle
      • Representation includes information of different aspects
    • Application: voice conversion
    • discrete representation
    • Text as representation
    • Tree as Embedding
    • Generator
    • Compression
    • Anomaly Detection
    • For More
  • 來自人類的惡意攻擊 (Adversarial Attack) (上) – 基本概念
    • Motivation
    • How to arrack
      • Example of attack
      • 含恶意的噪音
      • Non-perceivable
    • Attack Approach
  • 來自人類的惡意攻擊 (Adversarial Attack) (下) – 類神經網路能否躲過人類深不見底的惡意?
    • White Box vs Black Box
    • Black Box
    • One pixel attack
    • Universal Adversarial Attack
    • Beyond Images
    • Attack in the Physical World
    • Backdoor in Model
    • Solution
  • 機器學習模型的可解釋性 (Explainable ML) (上) – 為什麼類神經網路可以正確分辨寶可夢和數碼寶貝呢?
    • Why we need Explainable ML?
    • Interpretable vs powerful
    • Goal of Explainable ML
    • Explainable ML
      • Local Exception
      • A test
      • SmoothGrad
      • Gradient Saturation
    • How a net work process the input data
      • 为了观察过程压缩中间向量的维度
      • 很多问题尚待研究。。
      • 用探针处理中间向量
      • example
  • 機器學習模型的可解釋性 (Explainable ML) (下) –機器心中的貓長什麼樣子?
    • What does a filter detect?(插眼,他在说什么)
    • Outlook
  • 概述領域自適應 (Domain Adaptation)
    • Domain shift
    • Basic idea
    • Domain Adversarial Training
    • Limitation(插眼)
    • Outlook
    • More condition in domain Adaptation
      • little unlabel
      • Know nothing
        • Domain Generation

https://speech.ee.ntu.edu.tw/~hylee/ml/2021-spring.php

預測本頻道觀看人數 (上) - 機器學習基本概念簡介

什么是机器学习

机器学习就是让机器具备找一个函数的能力。

例子:

  • 语音识别
  • 图像识别
  • α GO

李宏毅【機器學習2021】笔记_第1张图片

不同类型的函数

  • Regression: The function outputs a scalar.
  • Classification: Given options(classes),the function outputs the correct one,
  • Structured Learning, create something with structure(image,document)

李宏毅【機器學習2021】笔记_第2张图片

李宏毅【機器學習2021】笔记_第3张图片

How to find a function? A Case Study

输入Youtube历史资料输出是第二天的浏览人数

  • Function with Unknown Parameters
  • Define Loss from Training Data
  • Optimization

李宏毅【機器學習2021】笔记_第4张图片 i

李宏毅【機器學習2021】笔记_第5张图片

李宏毅【機器學習2021】笔记_第6张图片

这个图是error surface

李宏毅【機器學習2021】笔记_第7张图片

步伐取决于斜率和learningrate

Hyperparameters 超参数

Gradient descent并不是总能停在global minima 而是停在了local minima.

该问题可以被解决,并不是gradient descent真正的通点(插眼,我猜是计算量太大,引出随机梯度下降)

李宏毅【機器學習2021】笔记_第8张图片

李宏毅【機器學習2021】笔记_第9张图片

李宏毅【機器學習2021】笔记_第10张图片

写一个新的函数,使得预测函数更加复杂更加符合实际(一周为周期)

李宏毅【機器學習2021】笔记_第11张图片

似乎观看人数的循环规律止于7之28天之间

預測本頻道觀看人數 (下) - 深度學習基本概念簡介

线性model太简单了

这种情况叫做Model Bias

李宏毅【機器學習2021】笔记_第12张图片

李宏毅【機器學習2021】笔记_第13张图片

Sigmoid Function

李宏毅【機器學習2021】笔记_第14张图片

李宏毅【機器學習2021】笔记_第15张图片

李宏毅【機器學習2021】笔记_第16张图片

用多个feature加到一起去近似

李宏毅【機器學習2021】笔记_第17张图片

引入离散数学:

李宏毅【機器學習2021】笔记_第18张图片

李宏毅【機器學習2021】笔记_第19张图片

李宏毅【機器學習2021】笔记_第20张图片

最终得到李宏毅【機器學習2021】笔记_第21张图片

重新定义一些符号。。。

李宏毅【機器學習2021】笔记_第22张图片

至此我们改进了前面提到的机器学习框架的第一步:Function with unknown

课外知识:Hard Sigmoid

Loss

李宏毅【機器學習2021】笔记_第23张图片

先随机找一组θ初始值,以后可以有更好的方法,而不是随机的。之后根据梯度不断更新。

李宏毅【機器學習2021】笔记_第24张图片

李宏毅【機器學習2021】笔记_第25张图片

Batch

将data随机分为多个batch,每次学习一个batch

李宏毅【機器學習2021】笔记_第26张图片

每更新一次参数(学习一个batch)叫一次update,每更新完一轮data(学习了多个batch)叫一个epoch。

ReLU

李宏毅【機器學習2021】笔记_第27张图片

李宏毅【機器學習2021】笔记_第28张图片

李宏毅【機器學習2021】笔记_第29张图片

实战效果

李宏毅【機器學習2021】笔记_第30张图片

多层神经网络

李宏毅【機器學習2021】笔记_第31张图片

实战效果

李宏毅【機器學習2021】笔记_第32张图片

此即深度学习

Deep = Many hidden layers

李宏毅【機器學習2021】笔记_第33张图片

为什么不将网络变胖而是把它变深, 留待讲解,插眼。

Overfitting

训练数据loss减少,测试数据loss增大

李宏毅【機器學習2021】笔记_第34张图片

機器學習任務攻略

Framework of ML

李宏毅【機器學習2021】笔记_第35张图片

General Guide

李宏毅【機器學習2021】笔记_第36张图片

Model bias

函数弹性不够大

李宏毅【機器學習2021】笔记_第37张图片

Optimization Issue

李宏毅【機器學習2021】笔记_第38张图片

如何判断是model Bias 还是Optimization Issue的原因?

李宏毅【機器學習2021】笔记_第39张图片

注意training data上的效果, 多出来的层数不进行操作都可以达到20层的效果,弹性应该比他大得多, 说明优化有问题

test data上出现这种情况可能是由于过拟合,但一定要在training data上验证了才可以确定

李宏毅【機器學習2021】笔记_第40张图片

Overfitting

image-20220303175509274

李宏毅【機器學習2021】笔记_第41张图片

测试数据过少,模型预测函数的自由度太大(由于弹性太大)。

解决方案

  1. 增加训练资料
  2. Data augmentation李宏毅【機器學習2021】笔记_第42张图片
  3. Constrained model(根据实际情况降低model的弹性),限制要适量,过度的话就拟合不出来了。李宏毅【機器學習2021】笔记_第43张图片

李宏毅【機器學習2021】笔记_第44张图片

李宏毅【機器學習2021】笔记_第45张图片

李宏毅【機器學習2021】笔记_第46张图片

选mse最低的不一定就是最好的model

李宏毅【機器學習2021】笔记_第47张图片

Cross Validation

李宏毅【機器學習2021】笔记_第48张图片

N-fold Cross Validation

李宏毅【機器學習2021】笔记_第49张图片

Mismatch

由于没有将一些情况考虑进去,比如春节,data中不包含春节的经验,所以模型在考虑结果时当然不会考虑到春节的影响。

李宏毅【機器學習2021】笔记_第50张图片

類神經網路訓練不起來怎麼辦 (一): 局部最小值 (local minima) 與鞍點 (saddle point)

Optimization Fails because…

当 gradient 接近零,学习速度也就接近0,其原因有可能为:

  1. local minima
  2. saddle point
  3. critical point

李宏毅【機器學習2021】笔记_第51张图片

如何确定到底是哪个原因?

Tayler Series Approximation

李宏毅【機器學習2021】笔记_第52张图片

可以根据二阶导数来判断:[ToL]

李宏毅【機器學習2021】笔记_第53张图片

李宏毅【機器學習2021】笔记_第54张图片

李宏毅【機器學習2021】笔记_第55张图片

李宏毅【機器學習2021】笔记_第56张图片

李宏毅【機器學習2021】笔记_第57张图片

实际上用到的机会少,因为随着模型规模的增大,二阶倒数太难算了

Saddle Point v.s. Local Minima

低维的local minima很有可能是高维的saddle point

李宏毅【機器學習2021】笔记_第58张图片

Eigen value 为负的话还是有路可以降低loss

類神經網路訓練不起來怎麼辦 (二): 批次 (batch) 與動量 (momentum)

Review

李宏毅【機器學習2021】笔记_第59张图片

每次epoch重新分batch,每次这样的操作叫一次epoch

Small Batch vs Large Batch

李宏毅【機器學習2021】笔记_第60张图片

考虑到GPU平行运算的问题更大的batch不一定就比小的batch花的时间多

李宏毅【機器學習2021】笔记_第61张图片

李宏毅【機器學習2021】笔记_第62张图片

更新参数所拥有的数据越多,更新越精准,batch越多,更新一次batch的数据越少,噪音越大,然而效果反而更好。

李宏毅【機器學習2021】笔记_第63张图片

即使train data效果差不多,在test data里小的batch size也会得到更好的效果。

李宏毅【機器學習2021】笔记_第64张图片

总结

李宏毅【機器學習2021】笔记_第65张图片

李宏毅【機器學習2021】笔记_第66张图片

Momentum

李宏毅【機器學習2021】笔记_第67张图片

李宏毅【機器學習2021】笔记_第68张图片

李宏毅【機器學習2021】笔记_第69张图片

李宏毅【機器學習2021】笔记_第70张图片

所以有种说法说惯性受过去所有运动的影响。

李宏毅【機器學習2021】笔记_第71张图片

類神經網路訓練不起來怎麼辦 (三):自動調整學習速率 (Learning Rate)

训练卡住了,loss不再下降,并不意味着到了local minima 或者鞍点之类的

李宏毅【機器學習2021】笔记_第72张图片

这样的点叫Critical point

But training can be difficult even without critical points

李宏毅【機器學習2021】笔记_第73张图片

步伐(Learning rite)太大会在两边回荡,即critical point, 但是步伐太小又会使学习缓慢

Different Parameters needs different learning rate

李宏毅【機器學習2021】笔记_第74张图片

李宏毅【機器學習2021】笔记_第75张图片

李宏毅【機器學習2021】笔记_第76张图片

RMSProp

李宏毅【機器學習2021】笔记_第77张图片

李宏毅【機器學習2021】笔记_第78张图片

Adam

李宏毅【機器學習2021】笔记_第79张图片

李宏毅【機器學習2021】笔记_第80张图片

Learning Rate Scheduling

随着终点的临近让学习率下降(Learning rate decay)

李宏毅【機器學習2021】笔记_第81张图片

Residual Network

在transformer中引用了warm up的方法

李宏毅【機器學習2021】笔记_第82张图片

Summary of Optimization

李宏毅【機器學習2021】笔记_第83张图片

两个都考虑所有历史,但是一个更注重方向,一个只注重大小。

Next Time

李宏毅【機器學習2021】笔记_第84张图片

類神經網路訓練不起來怎麼辦 (四):損失函數 (Loss) 也可能有影響

To learn more

李宏毅【機器學習2021】笔记_第85张图片

Classification as Regression?

李宏毅【機器學習2021】笔记_第86张图片

暗示12关系比较近,13比较远,所以不是很可行,所以选择one-hot编码。

李宏毅【機器學習2021】笔记_第87张图片

李宏毅【機器學習2021】笔记_第88张图片

SoftMax 将可以为任何值的数值映射到0~1之间

李宏毅【機器學習2021】笔记_第89张图片

当只有两类时softmax和sigmoid是相同的 (插眼,没太懂)

Loss of Classification

李宏毅【機器學習2021】笔记_第90张图片

Minimizing cross-entropy is equivalent to maximizing likelihood.

Pytorch Cross-entropy 内含Softmax

为什么相较于MSE Cross-entropy更常被用到

MSE计算loss不容易从loss大的地方走下来,因为那里梯度太小了

李宏毅【機器學習2021】笔记_第91张图片

類神經網路訓練不起來怎麼辦 (五): 批次標準化 (Batch Normalization) 簡介

Changing Landscape

李宏毅【機器學習2021】笔记_第92张图片

上图很6

Feature Normalization

Feature Normalization是上图的解决办法,以下是Feature Normalization的一种方法

李宏毅【機器學習2021】笔记_第93张图片

In general, feature normalization makes gradient scent converge faster.

Considering Deep Learning

李宏毅【機器學習2021】笔记_第94张图片

李宏毅【機器學習2021】笔记_第95张图片

李宏毅【機器學習2021】笔记_第96张图片

李宏毅【機器學習2021】笔记_第97张图片

Batch Normalization[插眼,没看太懂]

李宏毅【機器學習2021】笔记_第98张图片

BN in Test

在训练时先将测试时没有的参数算出来

李宏毅【機器學習2021】笔记_第99张图片

Internal Covariate Shift?

How Does Batch Normalization help Optimization

李宏毅【機器學習2021】笔记_第100张图片

李宏毅【機器學習2021】笔记_第101张图片

卷積神經網路 (Convolutional Neural Networks, CNN)

Image Classification

李宏毅【機器學習2021】笔记_第102张图片

李宏毅【機器學習2021】笔记_第103张图片

Observation 1 //引出receptive field

y隐藏层一个节点观测图片的一小部分

李宏毅【機器學習2021】笔记_第104张图片

Simplification 1

receptive field

李宏毅【機器學習2021】笔记_第105张图片

  • Can different neurons have different sizes of receptive field?
  • Cover only some channels.
  • Not square receptive field?

Typical Setting

Kernel size

stride

overlap

padding

李宏毅【機器學習2021】笔记_第106张图片

Observation 2 //引出filter

李宏毅【機器學習2021】笔记_第107张图片

Simplification 2

两个节点照顾的位置不一样,但是参数是一样的

李宏毅【機器學習2021】笔记_第108张图片

Typical Setting

李宏毅【機器學習2021】笔记_第109张图片

Benefit of Convolutional Layer

李宏毅【機器學習2021】笔记_第110张图片

弹性逐渐减小

李宏毅【機器學習2021】笔记_第111张图片

Convolutional layer //另一种说法

李宏毅【機器學習2021】笔记_第112张图片

李宏毅【機器學習2021】笔记_第113张图片

李宏毅【機器學習2021】笔记_第114张图片

李宏毅【機器學習2021】笔记_第115张图片

虽然只有3*3,但是后面的层的节点考虑到的会更大

Comparison of Two Stories

李宏毅【機器學習2021】笔记_第116张图片

李宏毅【機器學習2021】笔记_第117张图片

Observation 3 //引出pooling

李宏毅【機器學習2021】笔记_第118张图片

李宏毅【機器學習2021】笔记_第119张图片

Pooling 把图片变小

李宏毅【機器學習2021】笔记_第120张图片

最主要的理由是减少运算量

The Whole CNN

Flatten 把所有数值拉直变成向量

李宏毅【機器學習2021】笔记_第121张图片

Application: Playing Go

下围棋是一个分类的问题

李宏毅【機器學習2021】笔记_第122张图片

李宏毅【機器學習2021】笔记_第123张图片

α Go每个棋盘上的位置都有48个属性

Why CNN for GO playing

上面讲的observation跟围棋有相似性。

李宏毅【機器學習2021】笔记_第124张图片

但要注意下围棋不适合用pooling

More Applications

李宏毅【機器學習2021】笔记_第125张图片

To learn more

李宏毅【機器學習2021】笔记_第126张图片

自注意力機制 (Self-attention) (上)

regression输出是一个数值 输入是一个向量

classification 输出是一个类别 输入是一个向量

如果更复杂?

李宏毅【機器學習2021】笔记_第127张图片

Vector as Input

李宏毅【機器學習2021】笔记_第128张图片

语音,社交网络,分子结构等可以转化为多个向量作为输入

李宏毅【機器學習2021】笔记_第129张图片

李宏毅【機器學習2021】笔记_第130张图片

What is the output?

输入数量与输出数量一致

李宏毅【機器學習2021】笔记_第131张图片

输入输出数量不一致

李宏毅【機器學習2021】笔记_第132张图片

Sequence Labeling

输入与输出一样多

李宏毅【機器學習2021】笔记_第133张图片

I saw a saw

不能用fully-connected network,因为同一个词汇出现两次对于fully-connected network 来说是一样的,所以要用窗口,

但是由于输入长度不一定,窗口也就不一定,由此引出self -attention

Self-attention

李宏毅【機器學習2021】笔记_第134张图片

Part of attention network

李宏毅【機器學習2021】笔记_第135张图片

李宏毅【機器學習2021】笔记_第136张图片

李宏毅【機器學習2021】笔记_第137张图片

李宏毅【機器學習2021】笔记_第138张图片

谁的关联性更大,其向量就会更占支配地位,b1就会更像谁

李宏毅【機器學習2021】笔记_第139张图片

自注意力機制 (Self-attention) (下)

李宏毅【機器學習2021】笔记_第140张图片

李宏毅【機器學習2021】笔记_第141张图片

李宏毅【機器學習2021】笔记_第142张图片

李宏毅【機器學習2021】笔记_第143张图片

Multi-head self-attention

得到qi,ki,vi后再乘两个矩阵得到两个结果。

李宏毅【機器學習2021】笔记_第144张图片

李宏毅【機器學習2021】笔记_第145张图片

Positional Encoding

之前的公式没有结合位置信息

李宏毅【機器學習2021】笔记_第146张图片

这里每个位置的向量是订好的

后来有了新的动态生成的办法

Application

李宏毅【機器學習2021】笔记_第147张图片

Speech

用于语音识别时要有所更改,因为语音识别所生成的向量太大了,如果结合所有输入的话计算量可能接受不了。

李宏毅【機器學習2021】笔记_第148张图片

Image

李宏毅【機器學習2021】笔记_第149张图片

李宏毅【機器學習2021】笔记_第150张图片

Self-attention for Graph

李宏毅【機器學習2021】笔记_第151张图片

To Learn more about GNN

李宏毅【機器學習2021】笔记_第152张图片

Self-attention v.s. CNN

CNN 可以看作Self-attention的子集,

李宏毅【機器學習2021】笔记_第153张图片

李宏毅【機器學習2021】笔记_第154张图片

资料少时用CNN,多时用self-attention,因为self-attention弹性更大(插眼,为啥?),需要的资料更多。

李宏毅【機器學習2021】笔记_第155张图片

Self-attention vs RNN

RNN:

  • 很难考虑远处的信息
  • 不是平行的

self-attention:

  • 相反

李宏毅【機器學習2021】笔记_第156张图片

image-20220307143107347

To learn more about RNN

李宏毅【機器學習2021】笔记_第157张图片

To Learn More

李宏毅【機器學習2021】笔记_第158张图片

Transformer(上) Encoder

Sequence-to-sequence’s application

transformer 是一个Sequence-to-sequence(Swq2seq) model

输出长度是由模型决定的

李宏毅【機器學習2021】笔记_第159张图片

由闽南语音直接转为汉字

李宏毅【機器學習2021】笔记_第160张图片

在翻译倒装句时错误率会更高

Seq2seq for Chatbot

Question Answering 可以理解为Seq2seq model 的问题

李宏毅【機器學習2021】笔记_第161张图片

Seq2seq for Syntactic parsing

输入句子输出文法分析树

李宏毅【機器學習2021】笔记_第162张图片

李宏毅【機器學習2021】笔记_第163张图片

将文法视作一种语言用翻译的模型得到结果

seq2seq for multi-label classification

李宏毅【機器學習2021】笔记_第164张图片

Seq2Seq for Object Detection

李宏毅【機器學習2021】笔记_第165张图片

Seq2seq

李宏毅【機器學習2021】笔记_第166张图片

Encoder

李宏毅【機器學習2021】笔记_第167张图片

先讲个其他的,再回来进行比对

李宏毅【機器學習2021】笔记_第168张图片

Block原来更加复杂:

batch normalization:对不同example 不同feature同一dimension 计算mean 和 standard deviation,在这里没有用到,用到的是layer normalization,他是对不同统一example 同一feature的不同dimension计算mean 和standard deviation.

李宏毅【機器學習2021】笔记_第169张图片

最后回到encoder的结构,其实是一样的

李宏毅【機器學習2021】笔记_第170张图片

To learn more

李宏毅【機器學習2021】笔记_第171张图片

Transformer (下) Decoder

李宏毅【機器學習2021】笔记_第172张图片

Autoregressive(Speech Recognition as example)(AT)

一步错步步错

李宏毅【機器學習2021】笔记_第173张图片

Decoder

李宏毅【機器學習2021】笔记_第174张图片

除了篮框这部分其他的和encoder很像,除了multi-attention 加了mask

李宏毅【機器學習2021】笔记_第175张图片

Masked multi-head attention

在计算b2时没办法把考虑a3,a4,因为还没生成出来,模型是从左至右计算的

李宏毅【機器學習2021】笔记_第176张图片

李宏毅【機器學習2021】笔记_第177张图片

Stop Token: We don’t know the correct output length

李宏毅【機器學習2021】笔记_第178张图片

Non-autoregressive(NAT)

优势在于平行输出,所以时间会变快。而且可以控制输出长度。

李宏毅【機器學習2021】笔记_第179张图片

To learn more about nat

李宏毅【機器學習2021】笔记_第180张图片

Encode-Decoder

李宏毅【機器學習2021】笔记_第181张图片

李宏毅【機器學習2021】笔记_第182张图片

李宏毅【機器學習2021】笔记_第183张图片

Cross Attention

李宏毅【機器學習2021】笔记_第184张图片

train

使用已经有结果的数据

给正确答案,希望输出越接近越好

李宏毅【機器學習2021】笔记_第185张图片

Teacher Forcing

李宏毅【機器學習2021】笔记_第186张图片

tips about train seq2seq

Copy Mechanism

李宏毅【機器學習2021】笔记_第187张图片

To learn more

李宏毅【機器學習2021】笔记_第188张图片

Summarization

李宏毅【機器學習2021】笔记_第189张图片

Guided Attention

强迫attention有一定固定的行为,比如语音识别必须由左向右

李宏毅【機器學習2021】笔记_第190张图片

李宏毅【機器學習2021】笔记_第191张图片

Beam Search

尝试多种可能性

李宏毅【機器學習2021】笔记_第192张图片

有争议,很多人说很烂

因为有可能说重复的话,但是加入一点杂音反而会好很多,说明分数最高的路不一定就是最好的答案。

有明确答案的任务效果更好,需要发散思路的问题可能更需要加入杂音。

另外,tts需要加入杂音才能更好的产生结果

李宏毅【機器學習2021】笔记_第193张图片

Optimizing Evaluation Metrics?

训练用Cross entry评价用BLEU score.

李宏毅【機器學習2021】笔记_第194张图片

训练和测试不一致(Exposure bias)

训练永远看到的是正确的东西,测试会有错的

李宏毅【機器學習2021】笔记_第195张图片

Scheduled Sampling

训练时给点错误的

李宏毅【機器學習2021】笔记_第196张图片

生成式對抗網路 (Generative Adversarial Network, GAN) (一) – 基本概念介紹

Network as Generator

李宏毅【機器學習2021】笔记_第197张图片

两个结合输出一个新的分布。

为什么要输出一个分布?

由于问题的发散产生了分支(过于发散),这时往往会需要输出一个分支

李宏毅【機器學習2021】笔记_第198张图片

训练中可能会出现同时向左向右转的现象

李宏毅【機器學習2021】笔记_第199张图片

李宏毅【機器學習2021】笔记_第200张图片

GAN

Anime Face Generation

image-20220310162322633

Discriminator

李宏毅【機器學習2021】笔记_第201张图片

Basic Idea of GAN

两相竞争

李宏毅【機器學習2021】笔记_第202张图片

Algorithm

discriminator不断的将生成的和实际的图片分类出来,generator为了不被分辨出来儿不断进步

李宏毅【機器學習2021】笔记_第203张图片

李宏毅【機器學習2021】笔记_第204张图片

李宏毅【機器學習2021】笔记_第205张图片

Progressive GAN

李宏毅【機器學習2021】笔记_第206张图片

生成式對抗網路 (Generative Adversarial Network, GAN) (二) – 理論介紹與WGAN

Our Objective

李宏毅【機器學習2021】笔记_第207张图片

But it is too hard to compute the divergence

How to solve the problem of divergency(sample and discriminator)

image-20220311140722260

Discriminator

D* 与divergence 相关

李宏毅【機器學習2021】笔记_第208张图片

李宏毅【機器學習2021】笔记_第209张图片

李宏毅【機器學習2021】笔记_第210张图片

can we use other divergence?

李宏毅【機器學習2021】笔记_第211张图片

Tips of gan

JS divergence is not suitable

李宏毅【機器學習2021】笔记_第212张图片

如果取样太少的话,命名generator已经取得了进步但是无法在discriminator 体现不出来

李宏毅【機器學習2021】笔记_第213张图片

只要没有相交js divergence就为log2,但是有可能已经进步了,只不过没有达到那个程度。

李宏毅【機器學習2021】笔记_第214张图片

Wasserstein distance

让一个分布与另一个分布重合所用的精力

李宏毅【機器學習2021】笔记_第215张图片

但是当分布复杂时,想让它们重合有不同的moving plan,所以需要穷举。

李宏毅【機器學習2021】笔记_第216张图片

李宏毅【機器學習2021】笔记_第217张图片

李宏毅【機器學習2021】笔记_第218张图片

WGAN

李宏毅【機器學習2021】笔记_第219张图片

李宏毅【機器學習2021】笔记_第220张图片

生成式對抗網路 (Generative Adversarial Network, GAN) (三) – 生成器效能評估與條件式生成

GAN is still challenging

如果一方停下了,没办法再前进的话,另一方也会停下。

李宏毅【機器學習2021】笔记_第221张图片

GAN for Sequence Generation

如果有多个输出且去max的话,那么其他输出的参数因参数的变化而增长是无法体现出来的

李宏毅【機器學習2021】笔记_第222张图片

李宏毅【機器學習2021】笔记_第223张图片

For more

李宏毅【機器學習2021】笔记_第224张图片

李宏毅【機器學習2021】笔记_第225张图片

为什么用GAN

因为GAN目前效果比VAE FLOW好。。。即使是它比较难train也比其他的方法也不会难太多

Possible Solution

Train一个输入向量,输出图片的模型

李宏毅【機器學習2021】笔记_第226张图片

Quality of Image

李宏毅【機器學習2021】笔记_第227张图片

李宏毅【機器學習2021】笔记_第228张图片

Diversity - Mode Collapse

Discriminator万一有弱点被generator抓到的话。。。

Diversity - Mode Dropping

看似分布和质量都合理,但是其实真实数据比这更大

李宏毅【機器學習2021】笔记_第229张图片

用分类器分类的结果如果过去集中则可能是这个问题

如果够平均则可能没有这个问题。

李宏毅【機器學習2021】笔记_第230张图片

李宏毅【機器學習2021】笔记_第231张图片

Frechet inception Distance(FID)(插眼)

李宏毅【機器學習2021】笔记_第232张图片

We don’t want memory GAN

产生的跟训练资料的一模一样是不行的

Conditional Generation

Text to image

李宏毅【機器學習2021】笔记_第233张图片

李宏毅【機器學習2021】笔记_第234张图片

李宏毅【機器學習2021】笔记_第235张图片

Application

李宏毅【機器學習2021】笔记_第236张图片

李宏毅【機器學習2021】笔记_第237张图片

李宏毅【機器學習2021】笔记_第238张图片

生成式對抗網路 (Generative Adversarial Network, GAN) (四) – Cycle GAN

Learning from Unpaired Data(无监督)

李宏毅【機器學習2021】笔记_第239张图片

李宏毅【機器學習2021】笔记_第240张图片

李宏毅【機器學習2021】笔记_第241张图片

李宏毅【機器學習2021】笔记_第242张图片

没有成对的资料来训练

李宏毅【機器學習2021】笔记_第243张图片

由于有了还原,产生的图片就不能和输入差太多(保证有一些关系(即使很奇怪(暂时还没啥好解法)))

李宏毅【機器學習2021】笔记_第244张图片

李宏毅【機器學習2021】笔记_第245张图片

more

李宏毅【機器學習2021】笔记_第246张图片

李宏毅【機器學習2021】笔记_第247张图片

SELFIE2ANIME

李宏毅【機器學習2021】笔记_第248张图片

Text Style Transfer

李宏毅【機器學習2021】笔记_第249张图片

Other

李宏毅【機器學習2021】笔记_第250张图片

自督導式學習 (Self-supervised Learning) (一) – 芝麻街與進擊的巨人

李宏毅【機器學習2021】笔记_第251张图片

自督導式學習 (Self-supervised Learning) (二) – BERT簡介

Self-supervised Learning

李宏毅【機器學習2021】笔记_第252张图片

Masking Input

李宏毅【機器學習2021】笔记_第253张图片

Next Sentence Prediction

分辨两个句子是不是该接在一起

被认为不是很有用,model没有学到很多东西

李宏毅【機器學習2021】笔记_第254张图片

Downstream Tasks 将前面的训练结果用在其他训练上

李宏毅【機器學習2021】笔记_第255张图片

GLUE

李宏毅【機器學習2021】笔记_第256张图片

How to use BERT

Case 1 input asq output class

李宏毅【機器學習2021】笔记_第257张图片

Case 2 input seq output same as seq

李宏毅【機器學習2021】笔记_第258张图片

Case 3 input two seq output class

李宏毅【機器學習2021】笔记_第259张图片

李宏毅【機器學習2021】笔记_第260张图片

Case 4 input document and query output answer

李宏毅【機器學習2021】笔记_第261张图片

李宏毅【機器學習2021】笔记_第262张图片

Training BERT is challenging

李宏毅【機器學習2021】笔记_第263张图片

BERT Embryology(胚胎学)

了解BERT学习到知识的细节

李宏毅【機器學習2021】笔记_第264张图片

Pre-training a seq2seq model

李宏毅【機器學習2021】笔记_第265张图片

输入encoder弄坏的数据,decoder输出没坏的数据

李宏毅【機器學習2021】笔记_第266张图片

自督導式學習 (Self-supervised Learning) (三) – BERT的奇聞軼事

Why does BERT work

同一个字有不同的意义

李宏毅【機器學習2021】笔记_第267张图片

一个词汇的意思取决于它的上下文

李宏毅【機器學習2021】笔记_第268张图片

Applying BERT to protein,DNA,music classification

李宏毅【機器學習2021】笔记_第269张图片

李宏毅【機器學習2021】笔记_第270张图片

Multi-lingual BERT

训练在英文反而在中文的test上取得了进步

李宏毅【機器學習2021】笔记_第271张图片

李宏毅【機器學習2021】笔记_第272张图片

Cross-lingual Alignment(一种解释)

李宏毅【機器學習2021】笔记_第273张图片

李宏毅【機器學習2021】笔记_第274张图片

似乎不同语言向量的差异就是语言的信息?

李宏毅【機器學習2021】笔记_第275张图片

李宏毅【機器學習2021】笔记_第276张图片

自督導式學習 (Self-supervised Learning) (四) – GPT的野望

如下,只不过是数据量特别大

李宏毅【機器學習2021】笔记_第277张图片

How to use GPT

李宏毅【機器學習2021】笔记_第278张图片

Few-shot learning (no gradient descent) “In-context” Learning

只用很少的资料去训练。效果见仁见智

李宏毅【機器學習2021】笔记_第279张图片

李宏毅【機器學習2021】笔记_第280张图片

Beyond Text

李宏毅【機器學習2021】笔记_第281张图片

Image

李宏毅【機器學習2021】笔记_第282张图片

李宏毅【機器學習2021】笔记_第283张图片

Speech

语音方面暂时没有公认的像GLUE的资料库

李宏毅【機器學習2021】笔记_第284张图片

他自己做了一个

李宏毅【機器學習2021】笔记_第285张图片

Application of self supervised

李宏毅【機器學習2021】笔记_第286张图片

自編碼器 (Auto-encoder) (上) – 基本概念

Outline

李宏毅【機器學習2021】笔记_第287张图片

review of self-supervised learning frame work

学习没有标注资料的任务,在有bert gpt之前,就有了auto-encoder。

auto-encoder in image

Dimension reduction

李宏毅【機器學習2021】笔记_第288张图片

for more

李宏毅【機器學習2021】笔记_第289张图片

Why auto-encoder?

李宏毅【機器學習2021】笔记_第290张图片

并不是3*3的向量都是图片,其形式是有限的,所以可以用更小的维度表示3*3的图片。

李宏毅【機器學習2021】笔记_第291张图片

Auto-encoder is not a new idea

李宏毅【機器學習2021】笔记_第292张图片

De-noising Auto-encoder

李宏毅【機器學習2021】笔记_第293张图片

李宏毅【機器學習2021】笔记_第294张图片

自編碼器 (Auto-encoder) (下) – 領結變聲器與更多應用

Feature Disentangle

分解中间向量,理解其信息

Representation includes information of different aspects

李宏毅【機器學習2021】笔记_第295张图片

李宏毅【機器學習2021】笔记_第296张图片

Application: voice conversion

不需要资料库中两个人说一样的话。

李宏毅【機器學習2021】笔记_第297张图片

discrete representation

李宏毅【機器學習2021】笔记_第298张图片

李宏毅【機器學習2021】笔记_第299张图片

image-20220314141833087

固定输出的可能性,不是无限的而是离散的

Text as representation

李宏毅【機器學習2021】笔记_第300张图片

强迫encoder train出人话一样的中间向量。

李宏毅【機器學習2021】笔记_第301张图片

李宏毅【機器學習2021】笔记_第302张图片

李宏毅【機器學習2021】笔记_第303张图片

Tree as Embedding

李宏毅【機器學習2021】笔记_第304张图片

Generator

李宏毅【機器學習2021】笔记_第305张图片

Compression

李宏毅【機器學習2021】笔记_第306张图片

Anomaly Detection

李宏毅【機器學習2021】笔记_第307张图片

李宏毅【機器學習2021】笔记_第308张图片

用来探测异常交易,异常请求,异常病情等

和分类器还是有区别的,因为训练资料大多数只有一类

李宏毅【機器學習2021】笔记_第309张图片

李宏毅【機器學習2021】笔记_第310张图片

李宏毅【機器學習2021】笔记_第311张图片

For More

李宏毅【機器學習2021】笔记_第312张图片

來自人類的惡意攻擊 (Adversarial Attack) (上) – 基本概念

Motivation

需要在有人试图欺骗他的情况下正常工作

李宏毅【機器學習2021】笔记_第313张图片

How to arrack

Example of attack

李宏毅【機器學習2021】笔记_第314张图片

李宏毅【機器學習2021】笔记_第315张图片

正常的错误应该是这样的

含恶意的噪音

尽量让正确的目标概率变小,让目标概率变大,同时尽量让差距小于人类能感知的差异的最小值

李宏毅【機器學習2021】笔记_第316张图片

Non-perceivable

李宏毅【機器學習2021】笔记_第317张图片

Attack Approach

image-20220314152519619

李宏毅【機器學習2021】笔记_第318张图片

來自人類的惡意攻擊 (Adversarial Attack) (下) – 類神經網路能否躲過人類深不見底的惡意?

White Box vs Black Box

李宏毅【機器學習2021】笔记_第319张图片

Black Box

李宏毅【機器學習2021】笔记_第320张图片

李宏毅【機器學習2021】笔记_第321张图片

不同的数据产生的结果截然不同

李宏毅【機器學習2021】笔记_第322张图片

One pixel attack

只改变一点导致结果改变

李宏毅【機器學習2021】笔记_第323张图片

Universal Adversarial Attack

李宏毅【機器學習2021】笔记_第324张图片

Beyond Images

李宏毅【機器學習2021】笔记_第325张图片

Attack in the Physical World

李宏毅【機器學習2021】笔记_第326张图片

Backdoor in Model

李宏毅【機器學習2021】笔记_第327张图片

Solution

模糊化,让攻击信号被改变

李宏毅【機器學習2021】笔记_第328张图片

李宏毅【機器學習2021】笔记_第329张图片

但是如果被知道了使用了这种方法,攻击时也可以加上这个,所以可以加上随机性

李宏毅【機器學習2021】笔记_第330张图片

## Proactive Defense

自己攻击自己然后把攻击数据学习进去

李宏毅【機器學習2021】笔记_第331张图片

機器學習模型的可解釋性 (Explainable ML) (上) – 為什麼類神經網路可以正確分辨寶可夢和數碼寶貝呢?

Why we need Explainable ML?

李宏毅【機器學習2021】笔记_第332张图片

李宏毅【機器學習2021】笔记_第333张图片

Interpretable vs powerful

李宏毅【機器學習2021】笔记_第334张图片

李宏毅【機器學習2021】笔记_第335张图片

李宏毅【機器學習2021】笔记_第336张图片

Goal of Explainable ML

李宏毅【機器學習2021】笔记_第337张图片

人们只是需要一个理由去接受 - .-

Explainable ML

李宏毅【機器學習2021】笔记_第338张图片

Local Exception

改造或删除某部分导致结论错误,那么它就是原因

李宏毅【機器學習2021】笔记_第339张图片

李宏毅【機器學習2021】笔记_第340张图片

更改向量的值,计算偏导数,得出是哪个参数更重要

Saliency Map

李宏毅【機器學習2021】笔记_第341张图片

A test

李宏毅【機器學習2021】笔记_第342张图片

李宏毅【機器學習2021】笔记_第343张图片

结果是由于数据错误,,,背景问题

因为介绍文字而判断图片

李宏毅【機器學習2021】笔记_第344张图片

SmoothGrad

李宏毅【機器學習2021】笔记_第345张图片

Gradient Saturation

如果在平滑处取导数的话会得出鼻子长度与判读大象无关的结论

李宏毅【機器學習2021】笔记_第346张图片

image-20220314165946718

How a net work process the input data

为了观察过程压缩中间向量的维度

李宏毅【機器學習2021】笔记_第347张图片

李宏毅【機器學習2021】笔记_第348张图片

很多问题尚待研究。。

李宏毅【機器學習2021】笔记_第349张图片

用探针处理中间向量

但注意Classifier的正确情况

李宏毅【機器學習2021】笔记_第350张图片

example

李宏毅【機器學習2021】笔记_第351张图片

在不同层加探针看语音到底在那里失去了性别信息,或者杂音。

李宏毅【機器學習2021】笔记_第352张图片

機器學習模型的可解釋性 (Explainable ML) (下) –機器心中的貓長什麼樣子?

What does a filter detect?(插眼,他在说什么)

通过filter观察模型在观察什么

李宏毅【機器學習2021】笔记_第353张图片

图示是某个filter

李宏毅【機器學習2021】笔记_第354张图片

下图是被攻击了,命名看不出来是什么,机器却觉得是0123456789。

李宏毅【機器學習2021】笔记_第355张图片

李宏毅【機器學習2021】笔记_第356张图片

要得到如下的结果要大量的知识和处理。

或者通过generator达到目的(插眼,他在说什么)

李宏毅【機器學習2021】笔记_第357张图片

并不是在乎机器真正的注意点,而是将注意点转成人能理解的形式

Outlook

用简单的linear模型模拟复杂的deep learning模型,再用简单的模型理解复杂的模型

李宏毅【機器學習2021】笔记_第358张图片

概述領域自適應 (Domain Adaptation)

Domain shift

有一些改变就会犯错

李宏毅【機器學習2021】笔记_第359张图片

李宏毅【機器學習2021】笔记_第360张图片

需要考虑两种情况

李宏毅【機器學習2021】笔记_第361张图片

李宏毅【機器學習2021】笔记_第362张图片

Basic idea

李宏毅【機器學習2021】笔记_第363张图片

Domain Adversarial Training

李宏毅【機器學習2021】笔记_第364张图片

Domain Classifier用来分辨是黑白的还是彩色的,训练到它分别不出来且loss不再下降

李宏毅【機器學習2021】笔记_第365张图片

李宏毅【機器學習2021】笔记_第366张图片

Limitation(插眼)

李宏毅【機器學習2021】笔记_第367张图片

李宏毅【機器學習2021】笔记_第368张图片

Outlook

有两者数据不完全重合的情况

李宏毅【機器學習2021】笔记_第369张图片

More condition in domain Adaptation

little unlabel

李宏毅【機器學習2021】笔记_第370张图片

Know nothing

李宏毅【機器學習2021】笔记_第371张图片

Domain Generation

李宏毅【機器學習2021】笔记_第372张图片

你可能感兴趣的:(NLP,自然语言处理)