常用的线性回归模型
常用线性回归模型
多元线性回归
多元线性回归是最常用的预测数值型目标的建模方法,也常用于数据分析中的多因素分析。
\[
\min_w||Xw-y||_2^2
\]
后面几种回归都是在它基础上稍做修改。当特征数多于实例数,某些数据有问题,或者某些特征相关性高时,线性回归得到的参数常常数值很大,常用
Lasso 回归和 Ridge 回归解决这一问题,防止模型过拟合。
lasso 回归(套索回归)
lasso
回归倾向于减少有效参数,使模型更加简单。具体方法是修改损失函数,将 L1
范数(各个元素绝对值之和)加入惩罚项,它可生成稀疏的模型参数。常用于特征存在共线性的情况,实现模型特征选择。
\[
\min_w\frac{1}{2n_{samples}}||Xw-y||_2^2+\alpha||w||_1
\] ### Ridge 回归(岭回归)
和 Lasso 回归类似,将 L2
范数(向量所有元素的平方和的开平方)加入惩罚项。常用于数据个数小于数据维度的情况,它限制参数大小,使之逼近
0。
\[
\min_w||Xw-y||_2^2+\alpha||w||_2^2
\] ### Huber ...
主题笔记_模型压缩
模型压缩
对于复杂问题建模时,深度学习模型在容纳更多参数的情况下,效果一般更好,但是模型占内存大,预测时间长的,往往限制其在小型或普通配制的硬件上使用。一般使用模型压缩方法给模型减肥,主要方法总结如下。
模型剪枝
移除对结果作用很小的参数权重,如接近0的参数。具体如去掉某些卷积核,或者卷积核中的某些权重,还有对通通道的减枝,对层的减枝,对注意力头的减枝等。
#### 非结构剪枝
非结构剪枝相对比较底层,使模型结构受到影响,pytorch,tensorflow不能支持。常用结构剪枝,相对简单,但没有非结构剪枝效果好。
结构剪枝方法如:DropOut,DropConnect让神经元或连接失活,置0,但仍然会参与计算。
有一些改进,比如根据全局所有参数的分布来计算某一道通路是否被减掉。 ####
结构剪枝 移除通道(Network slimming,
2017),通过减枝和微调不断迭代,可以把yolo3减掉70%。 彩票假设(The
Lottery Tickets Hypothesis, ICLR
2019),找彩票子网络(比较特殊的子网络)。 彩票代码:
torch.nn.utils.pr ...
EasyNLP
EasyNLP 中文 NLP 算法框架
作者:PAI(阿里云人工智能平台)算法团队
平台:基于 PyTorch
优势:中文预训练模型
提供:AppZoo 和预训练 ModelZoo,ModelZoo 有很多预训练模型,EasyNLP
可以无缝接入 huggingface/transformers 的模型;AppZoo
支持文本分类,文本匹配,序列标注等任务。
工具:
支持小样本训练:Contrastive Prompt Tuning。
大模型知识蒸馏技术:让跨领域典型性的样本在学习阶段有更大的权重。
数据:DataHub 还支持一些中文训练数据
项目开源地址:https://github.com/alibaba/EasyNLP
蒸馏算法实现:EasyNLP/examples/knowledge_distillation/metakd
论文阅读_对比学习_SimCSE
英文题目:SimCSE: Simple Contrastive Learning of Sentence
Embeddings
中文题目:SimCSE:用简单的对比学习提升句嵌入的质量
论文地址:https://export.arxiv.org/pdf/2104.08821.pdf
领域:自然语言处理,对比学习
发表时间:2021.04
作者:Tianyu Gao, 普林斯顿大学,清华大学
出处:EMNLP
被引量:83
代码和数据:https://github.com/princeton-nlp/SimCSE
阅读时间:2022.09.18
(周五同事分享,简单整理笔记)
读后感
主要用于提升句嵌入的质量。方法很简单,利用 BERT 模型本身的 dropout
性质,通过同一输入输出不同嵌入作为正例对,然后取同一 batch
下的反例对训练模型。
介绍
自监督学习主要包含:生成式,对比式,对抗式。其中的对比学习原理是:利用无监督数据,通过巧妙的方法构造正例/反例(一般是一个正例对应多个反例),训练模型,让正例距离足够近,反例距离足够远,以利用无监督数据,进行更好地表示(表征)。
一般 ...
论文阅读_模型蒸馏_TinyBERT
英文题目:TINYBERT: DISTILLING BERT FOR NATURAL LAN-GUAGE
UNDERSTANDING
中文题目:TinyBERT: 提炼 BERT 的自然语言理解能力
论文地址:https://arxiv.org/pdf/1909.10351.pdf
领域:NLP,知识蒸馏
发表时间:2020
作者:Xiaoqi Jiao, 华中科技大学
出处:ICLR
被引量:67
代码和数据:
https://github.com/huawei-noah/Pretrained-Language-Model/tree/master/TinyBERT
https://github.com/Lisennlp/TinyBert
https://github.com/qiangsiwei/bert_distill(数据是中文的)
阅读时间:22.09.16
读后感
对 BERT
模型进行蒸馏,老师模型和学生模型都使用Transformer架构,但是层数和每层的输出维度可以不同,从而实现对模型的精减。
介绍
预训练的大模型难以应用到资源受限的系统中,文中提出针对 Trans ...
论文阅读_BERT知识蒸馏
英文题目:Distilling Task-Specific Knowledge from BERT into Simple
Neural Networks
中文题目:从 BERT 中蒸馏指定任务知识到简单网络
论文地址:https://arxiv.org/pdf/1903.12136.pdf
领域:自然语言,深度学习
发表时间:2019
作者:Raphael Tang, 滑铁卢大学
被引量:226
代码和数据:https://github.com/qiangsiwei/bert_distill
阅读时间:2022.09.11
读后感
第一次对大型自然语言模型的蒸馏:将 BERT 模型蒸馏成 BiLSTM 模型。
介绍
在自然语言处理方面,随着 BERT,GPT
等大规模预训练模型的发展,浅层的深度学习模型似乎已经过时了。但由于资源的限制,又需要使用小而快的模型。
文章的动机是讨论:浅层模型是否真的不具备对文本的表示能力?并展示了针对于具体的任务,将
BERT 蒸馏成单层 BiLSTM
模型的方法和效果。也通过大模型(起初训练的复杂的模型,后称
Teacher/T)和小模型(蒸馏后的模型 ...
论文阅读_知识蒸馏_Meta-KD
英文题目:Meta-KD: A Meta Knowledge Distillation Framework for
Language Model Compression across Domains
中文题目:Meta-KD: 跨领域语言模型压缩的元知识蒸馏框架
论文地址:http://export.arxiv.org/pdf/2012.01266v1.pdf
领域:自然语言处理, 知识蒸馏
发表时间:2020.12
作者:Haojie Pan,阿里团队
出处:ACL
被引量:1
代码和数据:https://github.com/alibaba/EasyNLP(集成于 EasyNLP)
阅读时间:2022-09-17
读后感
结合元学习和蒸馏学习:元学习使得模型获取调整超参数的能力,使其可以在已有知识的基础上快速学习新任务。
介绍
预训练的自然语言模型虽然效果好,但占空间大,预测时间长,使模型不能应用于实时预测任务。典型的方法是使用基于老师/学生模型的知识蒸馏。而模型一般面向单一领域,忽略了不同领域知识的知识转移。本文提出元蒸馏算法,致力于基于元学习的理论,让老师模型具有更大的转移能力 ...
论文阅读_知识蒸馏_MobileBERT
英文题目:MobileBERT: a Compact Task-Agnostic BERT for
Resource-Limited Devices
中文题目:MobileBERT:面向资源有限设备的任务无关的压缩模型
论文地址:https://arxiv.org/pdf/2004.02984
领域:自然语言处理,模型蒸馏
发表时间:2020
作者:Zhiqing Sun,卡内基梅隆大学,谷歌
出处:ACL
被引量:162
代码和数据:https://github.com/google-research/google-research/tree/master/mobilebert
阅读时间:22.06.16
读后感
使用了瓶颈结构,同时微调模型实现加速,最终实现了任务无关的蒸馏 BERT
模型。
介绍
大模型效果好,但受资源限制。文中提出了 MobileBERT 模型对 BERT
模型进行压缩和加速,它和原始 BERT
一样,是任务无关的,可以泛化到不同下游任务。MobileBERT
是对 BERT LARGE
的优化,使用瓶颈结构。具体实现分两步:先训练一个倒瓶颈的特殊的老师模型,然 ...
论文阅读_神经网络知识蒸馏_DK
英文题目:Distilling the Knowledge in a Neural Network
中文题目:神经网络知识蒸馏
论文地址:https://arxiv.org/pdf/1503.02531.pdf
领域:深度学习
发表时间:2015
作者:Geoffrey Hinton,谷歌
出处:NIPS
被引量:6972
阅读时间:2022.09.21
读后感
这是最早提出蒸馏模型的文章,它训练老师 Teacher/学生 Student
两个模型,首先训练大而全的 Teacher,然后用 Teacher 蒸馏出小而精的
Student,S 不仅学习 T
的对错判断,还学到更多细节,比如为什么错(错的离不离谱)。
介绍
作者提出训练和部署的模型未必是同一模型。大而复杂的模型效果
(后简称 Teacher/T)
好,但相对复杂,预测时间长,占空间更大。作者提出如何把集成模型或大模型用一个小模型
(后简称 Student/S)
实现。训练阶段产出大而全的模型,然后用蒸馏技术提炼小模型,以便部署。
和压缩参数相比,在输入输出之间建立新的映射可能是更好的模型瘦身方法。一般建模方法是:模型主要学 ...
论文阅读_自然语言模型加知识图谱_DKPLM
英文题目:DKPLM: Decomposable Knowledge-enhanced Pre-trained Language
Model for Natural Language Understanding
中文题目:DKPLM: 可分解的利用知识增强的预训练语言模型
论文地址:https://arxiv.org/abs/2112.01047
领域:自然语言处理, 知识图谱
发表时间:2021.12
作者:Taolin Zhang 等,华东师范大学,阿里团队
出处:AAAI-2022
代码和数据:https://github.com/alibaba/EasyNLP(集成于 EasyNLP)
阅读时间:2022.09.11
读后感
自然语言和知识图结合的一种新尝试,几种优化方法比较有意思。尤其是他对长尾信息的分析,很有启发性:即使在无监督学习的情况下,也要尽量使用重要的数据训练模型。另外,还给出了具体方法,比如实体出现频率高于均值,则忽略它…
介绍
加入知识增强的自然语言模型简称 KEPLM,它将知识图中的三元组注入 NLP
模型,以提升模型对语言的理解能力。在模型使用时需要知识搜索 ...