作为小白问下成W都双流区公寓贷款最长期限一般是多长的时间?

转载自小白大神 的一篇当前全网热门预训练模型梳理整合的文章,从他入门Python到NLP,今天刚好两个月,大二学生,同样是两个月的寒假,你和别人的差距有多大?(每天学习15个小时以上的人还真有)原文链接:,转载略有改动。


过去两年可谓是NLP领域的高光年,自从18年BERT提出,狂刷了11项下游任务的记录之后,全网络预训练模型开启了NLP嵌入表示的新时代,真正意义上实现了自然语言处理的迁 移学习。
作为一个刚入坑没多久的白中白,真心感叹自己接触太晚,但是又愁于感天动地的英文阅读能力,再加上原论文有些语句的描述实在是晦涩难懂,在翻阅大量博客和视屏之后,总 算花了一整天时间,把过去几年最火的几个模型原理大致梳理明白了。借此写一篇博客,虽然许多内容参考了其他blog,但也是经过自己消化理解,按照自己的思路罗列的。目的只 是为了把一些记下来的零散的东西梳理清楚,put all these 文章的篇幅比较长,提及多个模型的要点,并将其按照顺序梳理,想要一次性读完有点困难。像我一样的初学者可以把这篇文章当做map,有些不懂的地方可以穿越到文末罗列的参 考文章去,至于大佬…饶弟弟一命。

1.1 传统词嵌入的问题

不管是基于local训练的Word2vec,还是基于全局的Glove,传统词嵌入存在的一个很大的问题:一旦预训练词向量,就只能将其按照训练 结果嵌入模型中,这样会导致词向量无法根据具体语境作动态的调整。比如说下面这个句子:

第一个jam是堵塞,第二个jam是果酱。明显,两个单词的含义完全不同。如果仅仅只是将jam用同一个词向量表示,无疑给下游任务造成了巨大的噪声。因此传统词嵌入只能依 据具体语境去训练Embedding(或者在有更多语料的相似语境训练),无法像CV一样做迁移学习(VGGNet)。

ELMo结构其实就是一个Bi-LSTM,他的输入是词向量列表(可以是Word2vec、Glove),把这些词向量先从左向右encoding得到一个token间的联系(图中红色),再从右到左(图中紫 色),最后将这两部分拼接得到句子的context信息。
而这个拼接的过程异常简单,只是做了一个头尾连接,再加权求和得到一个融合了上下文语境的词向量(图中蓝色)。

  1. 不完全双向:虽然明面上叫做Bi-LSTM,但其实只是两个单向的LSTM的隐藏层强行拼接之后做了一个线性组合,而这两个LSTM是分开计算的,并没有做到同时考虑上下文注意,这里讲的是同时双向
  2. 照镜子:又叫做“套娃”,也就是在执行预测的时候,某个位置的token可能已经提前察觉到了自己的信息,就如同照镜子一 般。这个是考虑双向的模型都要面对的一个棘手问题,因为在ELMo训练的过程中,模型的task是预测下一个单词的概率分布,随着层数的增加,某个位置的单词在某个方向预测的 时候可能会被底层间接地透露要预测的答案
    如上图,假如说现在要预测第二列第二行,那么这个cell获悉的信息将是下层B输出的内容,它左边是A,右边是CD,因此这个cell在预测的时候获知了A|CD
    接下来如果要继续预测第二列第三行,还是依据下层的输出来预测,显然,它获悉了从左边过来的BCD,和从右边过来的AB|D,也就是将ABCD的信息全部透露给了这个cell,这对于 模型的训练是不利的(考试作弊一般)
  3. 需要有针对下游任务的接口:这是ELMo本身决定的,因为它是通过语言模型任务得到句子中单词的 embedding 表示,以此作为补充的新特征给下游任务使 用,是一种基于特征的预训练(Feature-based Pre-Training <下文会讲到 BERT是一种 Fine-tuning 的模式 >)。也可以这样 理解:ELMo是将每一层的隐藏向量加权求和得到最终的向量,每一层可以当作是一个独立的功能模块。例如,原论文中设定了两个隐层,第一隐层可以学到对词性、句法等信息, 对此有明显需求的任务可以对第一隐层参数学到比较大的值;第二隐层更适合对词义消歧有需求的任务,从而对特定任务可以分配更高权重。
  4. LSTM的长期依赖:这个是LSTM,或者说是RNN一直以来存在的一个问题,虽然说LSTM利用偷窥孔连接的机制很大程度上缓解了这个问题,但是并没有从根本 上解决反向传播过程中的梯度消失。
  5. 基于LSTM的模型特征抽取能力偏弱:这点是通过和Transformer比较得出的,下文将会提到(没有比较就没有伤害)

下图,红色小不点是ELMo,黄色长脸冲顶一字眉的是BERT
BERT的灵感来源是OpenAI在17年发布过的一篇名为“Attention is all your need”论文中提到的Transformer模型,刚好ELMo又率先提出了上下文语境这一关键的概念,给BERT的诞 生创造了非常好的条件。所以可以这样说–BERT是站在巨人的肩膀之上的
由于Transformer是BERT的一个至关重要的概念,因此下面重点介绍一下Transformer模型。

Transformer由17年一篇著名论文“Attention is All Your Need”提出(敢这么取title的也真的不多),现在是谷歌云TPU推荐的参考模型.。在论文中,作者提出了一种全新的 注意力机制-- self-Attention,做到了仅仅利用Attention代替了传统的RNN(作者还大力诟病RNN,从title也可以看出其不屑),实现了快速并行计算,挖掘了DNN的特性。其模型结 构特别适用于MNT,能够大程度地提升翻译的准确率。

Transformer主要分为两个部分:编码组件+解码组件,这点和传统的RNN编码、解码的结构很像,但是内部结构完全不同。
编码组件由多个encoder(编码器)堆叠而成(原论文中是6个,也可以换成其他数量)
FFN就是再熟悉不过的MLP(多层感知器架构),重点和创新点就在于self-Attention层。它的输入是一个单词经过词嵌入处理的句子,也就是一个词向量列表(下图中的 x,论文中是512维),输出是结合了句子本身上下文注意力之后的融合向量(下图中 z)。
什么叫做融合了自身上下文注意力?比方说现在有一个句子:

对于我们学过英语的人来说,我们心里很清楚句子里的那个 ‘it’ 指代的是前文的 ‘animal’,不是‘apple’,也不是 ‘Tom’;而它现在的状态是‘tired’,不是‘excited’,也不 是‘sexy’.因为我们知道在处理‘it’这个单词的时候,应该把注意力投入到哪里。把注意力这个抽象的概念可视化就可以得到下面这幅图:
如图,颜色越深说明这个单词和‘it’的关系越大,投入的注意力自然就越多。从图中可以看出,“The”、“animal”是和“it”关系最大的,这符合常理。

而从xz的过程,就要借助self-Attention层的三个隐藏的权重矩阵—WQ (查询矩阵)、WK(键矩阵) 、WV(值矩阵)

    相乘,得到三种中间向量Q(查询向量) K键向量V值向量)。例如我们现在有两个单词:“Thinking”和“Machines”的初始词向量x1和x2,我们做的操作如 下:
    可能到这里你会觉得很懵逼,为什么要有这三个中间向量?这里先卖个关子,下文会解释其中的原因。
  1. 接下来我们将用Q和K这两个中间向量来计算self-Attention的分数。比方说我们想要知道“Thinking”这个单词应该对句子上下文的其他单词投 入多少注意力,我们要做的就是计算Q1*K1、Q1*K2,然后把这两个分数除以一个常数(目的是为了让梯度更稳定),再经过softmax归一化,如下图
    经过计算,“Thinking”自己和自己的关系最近,self-Attention分数达到0.88,这个值就代表了之前我们可视化过的 注意力程度(8是论文中使用 的键向量的维数64的平方根,这里也可以使用其它值,8只是默认值)
  2. 最后,我们将上面得到的归一化之后的分数和第一步获得的中间向量V1 V2相乘求和,随后就得到了“Thinking”这个单词在该层的自注意力向量z1,如下图。

很多blog在谈及这三个向量的时候总是顺理成章地带过,很少有解释的。其实这三个中间向量对应三个概念:Queries、Key、Value,其灵感来自于早期的文件检索。
比如说我们现在要检索的内容是“iron man”,而我们的文件库中有下面的信息:

这个时候Q就是我们要查询的内容‘iron man’,利用Q分别和文件库中的K1 K2 K3相乘得到一个相似程度的分数,比方说结果是0.73 0.07 0.20,根据这个分数查找到我们需要检索的内容,即“iron man --史塔克” 。
self-Attention就是运用了这个灵感,来计算每个单词和其他单词之间的关联程度,即自注意力大小。

到现在为止,你应该已经对Transformer的核心概念有了直观的理解。事实上,为了能够从不同角度捕捉不同的关联程度,Transformer利用了一种"多头"的self-Attention机制 。即一个self-Attention层拥有多组WQWKWV ,每组分别用于不同的特征提取 。
下面这幅图是之前已经见过的注意力可视化:
如果把橘色当作是“it”指代名词的投入注意力程度,那么也可以用其他颜色,从其他角度,来展示其他单词和"it"关系的远近。比方说下面的绿色就可以表示“it”现在所处状态:
可以看到和“it”关系最大的是‘tired’,同样我们可以把其他head都可视化:
也就是说,每个“头”都将生成一组独立的z
把上述整个过程放到一起:
到此,我们对self-Attention层也算是彻底讲清楚了

由于self-Attention的机制,使其不能像RNN那样捕捉到token之间的空间、序列关系,即很有可能会丢失位置信息。比方说:

我吃坏了'东西',得去拉'肚子' vs 我吃坏了'肚子',得去拉'东西'

 
 

如果仅仅利用self-Attention,很有可能模型会对上述两个句子产生混淆(显然后者并不那么文雅…),因为“肚子”、“东西”这两个名词和“吃”、"拉"两个动词之间貌似并没有 很强的关联性(别问我为什么没有关联性,问就是奥里给!)
解决的办法就是引入一个新的Embedding:Position Encoding(位置编码),而Transformer采用的是正弦波,目的是为了模拟信号的周期变化。这种周期性的循环 一定程度上会加强模型的泛化能力。
通过将融入Position Encoding之后的向量可视化,可以观察到两个token的空间距离越近,他们位置编码的点积结果就越大,这也符合逻辑。
当然,也可以选择其他的Position Encoding策略,甚至可以一开始把Position Encoding随机初始化,通过训练来更新(BERT的做法)

  1. Residual:残差最初是出现在CV中的ResNet,用于解决网络层数过深导致训练无法收敛的问题。具体细节可以参考其他blog.这里不作过多赘述。

  2. 至于这两者之间的区别可以用下面这张图体现(红色是Batch,黄色是Layer):
    也就是说在进行Layer Normalization的时候,我们并不去关心Batch中其他的向量,只关心当前一层进行正则化,从而避免了和Batch的强相关(Batch normalization则是以Batch为单位求均值、方差,进行正则划)

最终,一个完整的encoder将会是这样:

解码器和编码器的工作原理几乎相同。编码器的顶端最后会输出一个包含K、V的注意力向量集合,这个向量集将被为给解码器的“编码解码注意力层”,这些层可以帮助解码器关 注输入序列哪些位置需要被添加注意力。
解码器最终的输出将会经过一个softmax的转换,得到下一个要吐出来的单词的概率分布(其实就是个Language Model了)。具体细节这里不再过多赘述,若觉得有地方显得模糊可 以参考blog:

上文花了大量笔墨介绍Transformer,因为它对于BERT来说是一个关键点,到这里相信你已经对BERT的核心-Transformer有了比较直观的理解了,接下来对于BERT的理解也将变 得简单。
PS:如果你对 Transformer还有不清楚的,建议跳转到文末,查询对应的 blog,或者自行查阅资料。

基于ELMo和Transformer,BERT想要做的就是 既保留ELMo的序列结构,又拥有Transformer的真正双向的特点,和它的并行计算的能力,从而进一步增加词向量模型泛化能力,充分描述字符级、词级、句子级甚至句间关系特征。因此,BERT采用了一种“Bi-Transformer”的 为了达到这个目的,BERT就必须解决ELMo遗留的问题,尤其是如何解决照镜子的难题,这对于任何一个想要同时考虑双向的模型来说都是绕不过去的。

Masked language Model(随机掩盖原词)这个任务是这样的:给定一句话,随机将这句话中15%的token给Mask掉,然后利用剩下的token去预测被Mask掉的原词。
由于Mask这个操作是与训练过程中引入的,对于下游的NLP具体任务来说,Mask并不存在,因此BERT在Mask的位置按照一定比例进行了如下操作来更改token:

这个任务带来的好处是会迫使模型去理解上下文,并且赋予了模型一定程度的纠错能力。这很好理解,就和我们自己高中的时候刷完型一样,为了填空,我 们必须仔细地斟酌上下文地语境,根据语境去预测这个Mask是动词、名词或者形容词?动词的话时态如何,是否第三人称单数?名词的话是否是单复数+s?更何况这还不是一般的完 形填空,因为MLM的机制,不仅可能把原词Mask了,更可怕的是会出现随机替换的现象(比方说上面的 This sexy boy is my girlfriend),这无疑是一种困难 版地完形填空,给人的感觉就仿佛是在有意刁难。但是正是这种刁难,让模型的训练变得十分有效果,它必须尽全力去观测上下文,时态、指代…
而BERT的每一个cell采用的是Transformer,这很大地促动了模型对于任务的达成。因为我们已经知道,Transformer擅长的就是通过Multi-head来抽取语料 中不同的上下文特征。

Next Sentence Prediction(下一个句子预测)这个任务是这样的:给定一个句对,通过对这两句话的分析,判断第二句话是否真的是第一句话在原文 中的下一句。
训练时,句对的第二句将会以50%的概率从全部文本(注意这里的“全部文本”,下文介绍的ALBERT抓住了这一点进行了优化)中随机抽取,剩下50%的概率选取第 一个句子在原文中的真正的下一句。
熟悉Word2vec的同学可能会想到负采样,其实这里也是一样,即随机抽选一个负样本,在挑出正样本,通过二分类进行预测,只不过NSP是建立在sentence-level之上的。

正是由于sentence-level的加入,BERT在一些需要依赖句子级信息的NLP下游任务中迸发了很强的潜力,(QA、SLI…)而不是仅仅学到一堆token级 别的词向量,这点也很好地解决了ELMo中,需要根据下游任务调整各层隐藏层权重的问题。

  1. [SEP] 很好理解,作为一个句子结尾的记号,关键在于对 [CLS] 的理解。 [CLS] 的作用其实就是将整个句对/句子的上层抽象信息作为最终的最高隐层输入softmax中。
    最终将会提取到有关于两个句对之间的高层抽象关系
    如下图,提取的有关于句对的信息将会被输入到一个分类器,输出预测结果。

相较于ELMo,BERT的成功总结一下有下面几点:

  1. 遮住了镜子:禁止套娃。在介绍ELMo的时候提到过,双向条件会让每个词在多层次语境中间接地看到自己。而BERT解决这个问题的一个杀招就是MLM,即掩 码。MLM这个任务被加入到BERT的训练,产生的效果就是直接把镜子遮住了,或者说直接把自己给遮住了。
    在预测15%被Mask掉的token时,模型根本没办法,或者说根本不敢去相信自己察觉到的信息,因为很有可能这个信息是个错误的引导(典型的DAE LM,引入噪音,增加鲁棒,下文会提到)
  2. 模型更加复杂化:采用两种任务联合训练的模式,使得模型输出的每个字、词都尽可能地、全面地、准确地刻画出文本的整体信息,为后续的fine-tuning 做了更多有效的工作。另外不得不提的一点是,BERT相较于ELMo,拥有更多的训练数据和模型参数。(参数过多其实也是一个潜在的缺点,而ALBERT的优化也抓住了这一点,下文会 介绍)

至于BERT的缺点,将会在下文介绍XLNet之前罗列。

ALBERT是19年由Google蓝振忠等人发表的一种轻量级BERT,是BERT众多变体中的一种。可谓是将原先的BRET进行了一次“大瘦身”。其最初的设计灵感来源于卷积视觉中的AlexNet(因为蓝振忠博士在研究生阶段就是做CV出身的),旨在通过将BERT中的模型参数大幅度减少,解决参数过多超出内存导致无法将网络加深、加宽的问题。
下图展示了AlexNet在网络加深情况下,模型效果的变化,可以看出随着模型深度增加,其精度也在大幅上升。

蓝振忠博士和其组内成员分析了BERT的参数组成,将模型参数分为两部分:

因此,蓝博决定从上面两个方向去对BERT参数进行改动。

这种做法带来的副作用是很明显的:

  • 反向传播更新参数,只能更新hot的那一个点,过于稀疏(比方说词表长度为3W,每次却只能更新一个)
  • Token Embedding 时,每个token还是上下文无关的(context independent)而没有融合上下文信息的token,其含义其实是非常简单的(你可以理解成词与词之间是正交的, one-hot之间毫无关联),因此没有必要将其展成那么高的维度。

因此可以采用如下方法将Token Embedding层参数减少:
在Token Embedding的过程中,先将向量压缩成一个低维的表示,在真正需要进行Attention操作之前,再把Token Embedding的维度提升。这样的做法会带来两个好处:

  • size减小:Token Embedding size维度减少.上图中最左边的那一层需要通过和一个矩阵相乘得到第二层,一旦第二层维度减少这个矩阵参数也自然变少。
  • 参数转移:很明显,对于BERT来说,其参数有用的部分是集中在context dependent的层上,而不涉及context的Token EMbedding 拥有的大量参数是浪费的 。一旦将这部分参数减少,就可以将后面的Hidden-layer embeddings 加深(上图红色层),提高参数的利用率。

所以这一步通过将原本一个高纬度网络分解为两个较低维度的中间网络,实现了从O(V x H)到O(V x E + E x H)的转变(E是远小于H的)
通过实验验证得到结果(采用多个下游任务取Average进行评估):
可以看到实验结果表示,在模型性能基本不变的情况下(0.6%),Token Embedding层的参数减少了80%以上。

其参数在结构上呈现一种相似性(下图中的第一列其实就是[CLS]标记,每一个encoder层除了参数大小不一样,分布结构上呈现很强的一致性):
如果能够把所有 Attention&Feed-Forward 层的参数进行共享,那么BERT模型的参数又将是下降一个数量级的
在模型深度保持不变的前提下,将 Attention&Feed-Forward 层的所有参数共享,使得参数从原先的108M降低到了31M,而精度并没有太大的降低(2.5%)
如果再观察地仔细一点,会发现只共享FFN参数的精度和将attention&FFN所有参数共享的精度几乎一致(0.3%),而FFN参数一旦共享,精度就会下降比较明显。说明 精度的降低主要是因为FFN参数的共享。从这个角度来看,Attetion层的参数完全可以放心大胆共享
但是考虑到Attention层的参数占整个encoder的不到3/8,因此蓝博决定将所有参数进行共享

3.2.3 瘦身之后的结果

随后,兰博团队将压缩之后的网络进行了大规模的加宽、加深,并且进行了长时间的训练。最终的结果如下:

最终30%参数减少的情况下,还提升了ALBERT 3.5%的精度,这个结果可以说是非常不错的了。但是这样做的代价同样很昂贵,ALBERT花了BERT3倍的时间才将模型训练至收敛。(因为毕竟网络被加宽加 深,模型变得比BERT还要复杂,而这些新增的参数还是需要被更新,更何况这些参数还都是被refine共享过的,所以在计算上没有地方可以偷懒。一种典型的以时间换空间的做法

除了将BERT的体积大幅减少,ALBERT还针对BERT隐藏的一些缺点进行了修正。

我们知道BERT的sentence-level实现的很重要的一点就是进行了NSP(Next Sentence Prediction)。其意图是为了训练模型对句子连续性的把握,但是对于负样本的采样,BERT的策略却是从整个语料库中随机抽取样本,这将会带来一个潜在的问题:网络很有可能学到句对间topic的判别,而不是句对连续性的把握。显然 ,前者的难度远低于后者,但是这并不是BERT的本意。这也就是为何在许多下游任务中,将NSP这个任务去掉,BERT产生的性能反而更好的原因。
ALBERT做出的一个很重要的改进就是强制让模型去辨别句对连续性,即SOP(Sentence Oder Prediction),而它采用的策略极其简单—负样本的获得,是通过正样本两个 句对顺序的颠倒。看似简单的操作,却保障了负样本的两个句子是从属于同一个topic,而句序是明显错误的效果。
下图是SOP代替了NSP之后产生的效果:
可以看到SOP不管是在真正的SOP任务上,精度达到86.5%,同时对于真正的下游NSP任务,效果也不是很差,达到了78.9%(蓝色框)。但是NSP明显只能在NSP任务上取得high score(一方面也是因为这样的任务更简单)

这个操作其实不难理解。可以从两个角度去解释:

  • BERT的训练本就是基于大量的网络文本、书籍文献。从这个角度讲,BERT其实完全没有必要去担心over fitting.由于MLM本身就是一个非常有难度的任务(困难版完形),没 必要再去添加噪声刁难它,只要拥有足够的算力,BERT理论上只会越学越好。
  • MLM这个操作其实已经引入了很强的噪声(DAE LM),从这个角度看,drop out 也只是多此一举。

在去掉了drop out 之后,下游任务貌似只有轻微的提升:
但是它带来的内存上的优化却是十分明显的:
红色框圈起来的地方是去除drop out之前,可以明显看出其内存占用更高(每一个条纹宽度是去除drop out之后的三倍左右)。这也是可以解释的,因为drop out 会产生许多临时变量,而这些变量对于ALBERT来说是没有用处的。

前文已经将BERT、ALBERT的大致内容介绍了,为了介绍最后一个XLNet,必须先知道两个很重要的概念:AutoregressiveAuto-encoding。从XLNet的关注点,去分析这两大范式的优缺点。

  • Autoregressive(自回归模型):自回归是时间序列分析或者信号处理领域喜欢用的一个术语。可以直接理解成语言模型,即一种基于上文预测下文,或者 基于下文预测上文的语言模型。典型的代表是GPT、ELMo.
  • Auto-encoding(自编码模型):什么叫做自编码?说的通俗一点,其实就是一个自个儿和自个儿玩的模型(自己和自己下棋 ,自己和自己对唱…玩着玩着棋艺就变高了,玩着玩着唱功就变好了)。最开始自编码的提出是想要通过一个深度网络,对数据进行压缩成低纬,之后解压缩还原原始数据,目的为 了获得输入数据的更加有效的表示。但是这样的一种模式非常适用于无监督的pre-training.
    和CV不同,在NLP领域,我们不得不面对的一个问题就是我们有大量的数据,可是我们没有标注。正是由于这个原因,完全无监督预训练网络对于许多label稀少的下游任务来说十 分重要,而Auto-encoding这种LM则正是NLP迁移学习的一个理想模型,就如本文开篇说的那样。而BERT就是Auto-encoding的一个典型代表。不仅如此,BERT采用了MLM,在输入层
  • Autoregressive:自回归模型的一般形式可以用下面这幅图表示
    自回归模型旨在利用序列的单向迭代,通过已知的上文信息Pθ(Xt | X<t)的累积,来预测某个位置单词的概率Pθ(X),模 型的目标是最大化这个预测概率。这是一种再常见不过的LM。
  1. training和fine-tuning具有一致性,天然匹配某些下游任务。(文本生成类,一个个往外面吐字的,如机器翻译、摘要…)
  2. 模型没有基于条件独立假设(目标函数中用的是"="符号,从概率的角度讲这个性质很好,这点需要和Auto-encoding进行对比)。
  • 无法实现同时双向(这点已经强调很多次了)

  • 由于是DAE LM,因此在目标函数中加了一个mt,取值为[0,1],作用相当于对被Mask掉的单词的开关。
    有人可能会注意到,这里的目标函数和Autoregressive不一样,很重要的一点是Auto-encoding的目标函数中间用的是约等于符号。这是因为等号右边式子的值 并不服从product rule(条件概率的乘法法则),所以Auto-encoding模型具有独立性假设
    剩下的也失去了原本含义,因为本身这两个token是属于一个单词的。在遇到这种情况时,Auto-encoding的条件独立假设就会存在比较严重的问题,因为它强行将token之间原本可能存在的关联性给打破了。接下来列一下Auto-encoding的优缺点。
  1. training和fine-tuning不一致(因为在训练过程中引入了特殊的掩码Mask,这是下游任务不存在的)

在XLNet诞生之前,预训练方面存在着两大阵营,分别是以ELMo、GPT一众为代表的AR(Auto regressive) 和以BERT为首的 AE(Auto-encoding)。这两大阵营都存在着各自的优点和缺点,但是其优缺点大致上呈现一种互补关系。为了能够同时兼顾这两大范式的优点,19年Google brain结合了当时最先进的自回归模型Transformer-XL,提出了一种采用泛化自回归,克服BERT等自编码模型缺点的新模型—XLNet.
XLNet一出,BERT之前连战11项的巅峰记录被无情刷了下去。XLNet在20 个任务上超过了BERT的表现,并在18个任务上取得了当前最佳效果,其中包括了包括机器问答、自然语言推 断、情感分析和文档排序。
那么XLNet到底是采用了什么方法进行AR与AE的融合的呢?
归根到底一句话:似乱非乱两相随

XLNet采用的是自回归模型,同时运用了BERT引以为傲的MLM训练模式,即给定一个句子,将其中的一部分单词进行Mask,然后利用剩下的句子信息去还原被mask的单词。由于是 采用自回归,BERT这种自编码模型的两个缺点:训练与下游不协调、独立性假设损失关联性, XLNet就可以很自然地避开。那么XLNet要解决的首要问题就是如

所谓乱序,道理很简单,就是把输入的句子进行全排列,每一种排列方式进行一次Mask预测,最后取所有全排列下的期望值。比方说现在输入的句子是:boy next door,把’next‘用Mask替换掉,如果不采用全排列,直接将输入喂给AR,也就是"boy [Mask] door",那么模型只能单向地提取到"boy"的信息。

对于每一种排列,单向地计算[Mask]位置的原词概率,计算的公式就是之前讲过的AR的product rule.
最后将6种排列的结果取一个期望,由于所有的排列情况都被考虑进去,在预测过程中,Mask的位置就已经获得了上下文的全部信息
XLNet就是通过这种将输入顺序打乱重排的方法,来实现基于AR的同时双向。
当然,在实际训练的过程中,由于输入的长度会很大,因此计算所有排列情况实际上是不可行的,这会产生巨大的时间消耗。因此XLNet每次只在全排列中取一部分。

在实现这个乱序采样的过程中,XLNet做的并不是真的将输入打乱顺序,而是采用了打乱order的方法。具体过程如下图:
ZT 表示所有order组成的集合。拿之前那个例子来说就是:

然后重复上述抽样过程。


再详细一点,假如说现在输入有四个单词,被Mask的是3号位置的单词,我们可以看一下不同order下的不同处理。
如果现在随机抽到的order是【3,2,4,1】,那么这个过程就会像下图。由于现在的order里,3是第一个,所以它获取不到任何信息,因此计算 h3(1) 只会用到一个默认的cell–mem。
假设order是【2,4,3,1】,那么计算 h3(1) 将会需要2、4的信息:
所以可以看到,所谓的打乱并不会真的改变输入序列的顺序,只是将order随机打乱,再根据order去获得预测Mask需要考虑位置。因此可以说Permutation Language Model是 似乱非乱.


比方说现在要预测4,那么需要考虑的上文是3和2, Attention Mask 矩阵的第4行就只有2,3两列是1,其他地方是0;再比如要预测3,这个order下3前面没有 任何信息,所以 Attention Mask 矩阵的第三行全为0.

5.3.1 位置信息的丢失

到目前位置,我们可以看到,利用全排序的XLNet既解决了自编码模型的缺点,又能同时捕捉上下文信息。那么它是否已经是没有问题存在的了呢?答案是否定的。

我们知道,标准的AR目标函数是长这幅样子的:
hθ函数用于将A与B包含的信息经过线性转换融合为张量,e函数则将C也转换成张量的形式,即AB融合的张量与C张量做点积。因为 P(A)*P(B|A)*P(C|AB)的含义不就是在考虑A与B的条件下,计算C吗。所以可以通过这种转化为张量的方式,以hθ(A:B) 和 e( C )点积,得到两个张量的相近程度。这从逻辑上是可以解释的 。
所以,上述AR的标准目标函数还可以转化成下面这种形式:
X1:t-1表示的是t位置之前的所有时间步,经过hθ转化为张量和e( C)点积。由于等式左边是概率,因此我们将点积结果经过softmax的归一化,变成概率的 形式。

这样的标准形式存在的一个问题就是会导致位置信息的丢失
比方说现在的输入是这样一个句子:

哈利 波特 是 一个 优秀的 魔 

 
 

假设我们运气不好,Mask的时候"哈利"、"波特"两个字刚好都被遮住了。

随后我们按照XLNet的做法对order集合 ZT 进行抽样,我们运气又很差,抽到下面这个排列:

由于被预测的两个Mask都被排在最后两个字,因此在从左到右计算任何一个位置的Mask时,计算出来的"哈利"和"波特"概率结果是一模一样的(如果现在问你这两个Mask哪个是 "哈利",你也不知道了,这就是乱序带来的问题)。

为了解决位置信息丢失的问题,XLNet在标准目标函数的基础上加了一个位置信息 Zt (区别于之前的order集合 ZT ),得到了新的目标函数:
所以这个位置信息 Zt 应该怎样结合到我们的输入里面去呢?
回忆一下BERT,BERT也会遇到有关于位置信息丢失的情况(我吃坏了'东西',得去拉'肚子' vs 我吃坏了'肚子',得去拉'东西'),而它采用的做法十分暴力,直接 将position Embedding 和输入的Token Embedding直接拼接。那么是否在XLNet里也可以把位置信息(position Embedding)和内容信息(Token


假如说现在的order是【3,2,4,1】,如果我们想要去预测位置2(这里偷不到图,只能手画了…怕乱,所以只画了一部分)
由于2前面只有一个3,那么我们只需要获得3的信息,同时我们也需要获得2的位置信息,因此X2需要向高层仅传递位置信息,而不能透露有关于2的 内容。也就是说现在面临的情况是:我们需要将位置信息和内容信息分开

正是由于需要将位置信息和内容信息分开,XLNet使用了一种叫做Two-Stream Self-Attention(双流自注意力)的方法。它将每个Transformer cell分为两个部分:

所以还是之前的那个例子,现在的模型将会变成如下(画的丑了点,将就一下…):
红色的路径表示位置信息的传播,黑色的是全部信息,可以看到实现双流自注意力之后,XLNet可以做到不向模型透露内容的前提下,加入有关于预测位置的位置信息。

上面为了简单,将每一个Transformer cell看作是两部分,实际上XLNet实现双流用到了之前讲到过的,self-Attention层的三个中间矩阵:WK、WQ、WV
为了实现双流自注意力,XLNet的做法是将Mask仅与 WQ 做点积,而将其与WK WV 完 全隔绝。
这样的做法不难理解,因为之前讲过,Transformer的每一个输出 Z ,其内容来源是 V1:t ,通过将 V 与一 个分数加权求和得到 Z , 而这个分数是来自Q K 的点积再经过归一得到的概率,以此分配每个 V 的权重。因此对于上层来说,V内容信息的组成,而 K分配注意力权重的依据。所以这两个信息自然不能混入有关Mask的内容。
比如上面这幅图,黑线代表全部信息,后面三个词的全部信息将会传给K与V;红线、蓝线分别代表位置和内容,第一个词仅内容信息传递给K、V,而其全部信息是作为查询向量传 入Q的。
这种做法还有另一个好处,由于K、V无法获得有关于Mask的信息,使得BERT之前存在的与下游任务fine-tuning不一致的问题也得到了解决。因此这种做法也可以应用到BERT中。

最后给出h、g函数的数学表达:
对于content representation而言,它和传统的Transformer一样,是包含了所有上下文信息的表示,计算公式如下:
可以看到,它的对角线是空的,因为每个位置只能包含当前位置信息。


到这里为止,有关于XLNet的主要内容也算是介绍好了,其实还有一部分关于Transformer-XL的细节这里没有提及,碍于篇幅暂且省略(其实是懒 )。具体细节如果还 有不明白的可以参考下面这篇blog:
有关于XLNet具体细节可以尝试阅读原论文:

我夜观天象,掐指一算,看到这里之人必定是骨骼精奇,若是给打通了任督二脉,还不得飞上天去
首先,能看到这里的说明朋友你耐心不错,还是想感谢一下的。这篇文章将近两万字,也花了自己一天一夜,中间没怎么休息。刚开始也想过把文章分成5篇,但是考虑到发文初衷 就是为了能够把有关BERT的前因后果,往来始终串起来,若是打散,就失去了梳理、整合的初心。还是想通过这篇文章,一方面让自己做个总结,另一方面帮助到一些像我一样的 小白。很多内容都是自己花了心思的,渴求能够把一些核心的思想直观通俗地表达出去。
有关于这些前沿的模型,光看blog是不够的,只有摸过论文、代码才能正真get好多细节。
另外,自己是初学,可能有很多地方理解或者描述地不到位的,还望指正。


昨天早上还刚听到小道消息,Google发布了24个小型BERT模型()真实感叹业内发展之快,我才刚摸了一点点BERT,这都小型BERT了,还是得抓紧学啊。


以上就是大神的原文了,这里再加几句,如果还没有学Python的同学或者是刚开始学的同学,要注意Python作为一门语言是重要的基础,要好好学习,打好基础。如果是学过别的编程语言,Python上手是挺容易的。如果已经大致过完一遍Python的同学建议可以看看自己要发展的方向,可以拓展一下兴趣,比如爬虫、Web之类的可以玩玩,数据分析挖掘也可以先折腾起来,机器学习这块也可以自己在各种平台上先看看资料,一些经典的书籍和视频可以跟着学习学习。时间在自己手上,能怎么利用就看自己啦!

IT狗来回答下这个问题。

四川人,工薪家庭,成都某IT狗最多的大学毕业。07年开始工作。08年汶川地震后北漂,11年回到成都。11年月薪大概1W出头,在西门外金沙首付3成买了一套二手房。08年交房的小区,92平米三房,赠送多,买到高点,6900。20年月供大概4000,利率还是基准无优惠,此后几年房价基本不动。。。感觉是挺失败的,但是刚需没办法。12年底贷款买了辆20多万的车。

14年认识了老婆,老婆家也是工薪家庭,家境比自己家好一些,09年她在新北小区买了一套刚需房子,均价才平米出头三房,由于总价低,没有贷款。此后在14年初认识我之前,她贷款买了一套天府二街的品牌开发商楼盘,单价9000左右。

15年结婚,然后15年-16年我由于工作原因,经常出差深圳和上海。在和两地的同学朋友接触的过程中得知房价的变化。自己也注意到涨价潮流逐渐蔓延到合肥,武汉,总觉得成都要涨,然后15年底开始做老婆工作,开始换房/买房计划。同时到处看房。主要围绕高新和天府新区。

从15年10月开始花了三个月时间说服老婆,终于,在16年1月,同意卖掉新北小区的房子,挂出去三周,以1.1万均价卖掉。然后用这笔钱还掉外金沙和天府二街的剩余贷款,剩余的卖房款在6月贷款买了一套天府新区的大套三,单价6500,面积170,首付三成,利率9折。

中间有个插曲,卖掉新北小区房子之后,岳父岳母觉得这下退休以后来成都没地方住了,和女儿女婿挤又有点不爽,所以在16年3月,卖了老家的一套房,跑来天府三街附近买了一套小KFS的便宜尾盘,单价8400。

以上操作,相当于换房,没有花掉存款。

然后从7月开始,成都楼市就开始启动了。。。

天府新区的楼盘到10月已经1.3万了,目瞪狗呆。

天府二街自住房,从16年6月到年底,涨了一万。

外金沙刚需房,16年基本没变,17年到现在补涨到1.5万。

岳母的天府三街房涨价到两万。

到了17年3月,我手上还有几十万没有花掉,刚好遇见一个机会,双流新城一个楼盘开盘,而且这个楼盘居然没怎么涨的感觉,研究了下政策,我居然还可以贷款。。。,认贷不认房,算二套。首付四成,利率上浮10%。果断下手,7500单价,120平米。

网签下来第三天出了412新政。。。

现在这楼盘已经基本卖完。刚才看了下二手价格,11000左右。

16年4月,给亲戚朋友说成都房价要涨,都觉得我是疯子。

5月把表妹拽到天府新区一个河南开发商的新城楼盘,让她买,均价5900的70+平米小套三,5号线地铁口,学区,挨着品牌开发商,全款也只要40多万,她老公不同意,无果。前两天广告,尾盘改成精装,18000。

6月带表哥看天府新区石笋街小学附近二手房,均价6000送车位,装修过的7000,他说华阳的房子没搞头。二手房价目前大户型1.3,小户型1.2。

7月把表姐带去自己买的天府新区的楼盘,均价7200,看了嫌弃,觉得不够大气,不值。

17年7月,我有了小孩。目前的状态是,再也不关心成都房价,认真上班,专心带娃。

目前的房价,记录如下:

外金沙刚需房,二手成交价1.9;

天府二街自住房,二手成交价2.9;

天府三街岳父母房,二手成交价2.3;

双流新城投资房,二手成交价1.6;

天府新区的改善房被另外一个开发商收购了,还没有拿证,没有二手房卖,新接盘的开发商据说开下一期大概在1.7起。

最近表妹的同事跑去把表妹没买的天府新区的房子的二手房买了。单价1.67万,送个车位。

目前的房价,更新如下:

外金沙刚需房,二手成交价1.8,最低为2018年底1.6,准备这个月底挂出去卖了;

天府二街自住房,二手成交价2.8,最低到2.4;

天府三街岳父母房,二手成交价2.4,这个反而一直没跌过,可能因为离大源CBD太近?

双流新城投资房,二手成交价1.4,这个居然还没有交房,月底才交;

天府新区改善房,已经给了两年的物业费未装修,房产证到手一年可以卖。目前二手实际成交价1.8,楼下400米规划了麓山大道6号线,同户型邻居花了40万装修的现在出租给秦皇寺上班的高管,一个月不带车位6800(带车位7000),考虑自己装修了住。

表妹没买的天府新区的房子,对的,就是鑫都汇,84平米套三,前两天二手卖150万。。。最高到过160实际成交价(当年48万)。

成都房价基本是稳住的。调控还是有效果,毕竟之前涨太凶了。2018年有一堆限价新盘的影响,加上限购,2018年末有个小小的谷底,跌了10%-20%。但是2019年新开了一堆3万的高价地新盘,主要是武侯新城。。。加上快两年了,先前落户有资格的人又开始慢慢多起来,二手房价开始回暖。个人猜一猜,从现在到2021初年可能都会保持稳住,最多缓涨。2022年可能会再来一波较大涨幅。

其实我个人而言,还真的想再置换一套带学区的改善,但是真的没资格。外金沙的房子满十年准备出手了,天府二街自住房带学区没法卖,双流的那一套月底才交房,拿证至少2020,也没法卖。。。只有再等等看。

我感觉以后成都的楼盘会分化很大,不会再是16年这样的普涨。超过10年的楼盘,建议大家都置换掉。不要看链家上成都二手房一大堆,筛选一下你会发现70%都是老破小。另外,同样的价格,天府新区位置好的,比如锦江生态带这些位置,现在1.4-1.5的价格,从升值角度来看,我觉得是最值得买的区域和板块。

说点题外话,本身作为一个爱出差的IT狗,我是不太喜欢买房的,但是一是北漂的时候被望京那次暴涨教育;二是深圳出差的时候,也就是差不多11年我买第一套外金沙楼盘还是单身狗的时候,深圳工作的同学和在投行工作的老婆一起2万3买了香蜜湖一百平米出头的房子(当时我觉得是天价,他请我在香蜜湖吃生蚝的时候我都觉得他疯了),后面就一路涨,到15年8万多他卖掉了房子回了福州老家。这些经历深刻的教育和提醒了我,成都应该也会有一波,时刻要注意观察。16年总算是兑现了。

目前的国情,房子对一个家庭意味着什么?其实我的想法特别简单,这是一件一辈子的事情,我一定要尽早尽快解决好,不然这辈子估计都会很累。现在也奔四了,娃马上要读幼儿园,父母也在慢慢变老。如果我没有早做准备,那么可能到了再过十年我45了,仍然在为了一套改善型住房而奋斗,我理想中的改善住房是140-200平米的大平层,4房,带学区,生个二胎,父母偶尔能来住。这大概也是很多中产的追求。目前这种楼盘,实际上在成都,不管你去买最近新开盘的新房(金茂府为例),还是买大源或者攀成钢的二手改善(金融城都不说了,当前均价4万大户型近千万实在是CEO层次的不考虑了),都在均价3万左右,这种理想的改善房买到手至少450万-600万。我的整个操作,只能说对冲了涨幅,没有被收割。。。大部分成都人这一轮其实是被收割了的,没上车的话,至少多牺牲自己十年辛苦工作的时间来弥补房价涨幅。

至于说变化。只能说后顾之忧少了。平时工作上底气足一些,生活上也对自己好一些了。

外金沙刚需房,已签约出售,等待买家放款。91.8平米,绿中介实际成交价167万。


尾款已到账,建行额度很紧张,拖了很久,最后找了关系插队放款。然后刚好这两天成都限购政策轻微调整,利好天府新区。看了下卖掉这套同户型的,现在挂162万卖不出去,然后前天旁边的地被拍了,兴城拿了,11900底价拿了,配建20%...感觉这套卖的时机还不错。下一步打算等双流的楼盘拿证挂出去卖掉。

外金沙刚需房,167万绿中介已卖已交接完毕,到手165.3万;

天府二街自住房,三房,二手成交价2.7-2.8,算稳定价格;

天府三街岳父母房,二手成交价差距很大。小户型97套二的2.1万,套三套四的成交和挂牌价都在2.4左右。当初购入价格基本一样,大户型甚至还便宜点。感觉和限购政策相关。楼下大源公园地铁5号线月底开通。

双流新城投资房,二手成交价清水1.2,装修1.3。很明显后继乏力,阴跌中,最后一批次1.1还2%中奖率买到的邻居估计心里在骂娘。

天府新区改善房,一路阴跌到1.5,同户型有邻居250万清水卖了。但是12月4日天府新区限购解除以后,开始回暖。目前有买家给到260万没人卖。

我个人感觉 天府CBD太久了,未来5年比较看好锦江生态带。

目前的房价,更新如下:

天府二街自住房,二手成交价2.9;

天府三街岳父母房,大户型2.5,小户型2.3;

双流新城投资房,前天7月4日挂出去,昨天中介拍照,今天告诉我可以签约成交了。没满两年,买家实际给到1.5;

天府新区改善房,目前装修过的成交价2万,清水1.8,准备赠与父母,腾个资格。

最近股市疯了,我个人最新判断,高新和主城区优质板块,又会开始起来涨一波。我自己也准备腾个资格买套改善四房。

昨天成都出来了914新政,满两年免增值税变成了满五年。

天府二街自住房,二手成交价3;

天府三街岳父母房,2.5,链家上大户型基本没了;

双流新城投资房已卖,到手160万,买家给所有费用,给到178,包括增值税,老婆本来让我等等明年6月满两年再卖。幸好没等。

天府新区改善房,9月9日已经赠予父母。

总结一下。答主已经被新政策打翻在地。高新区普通资格,贵的买不起,便宜的没资格,囧。

成都链家前天开始已经不显示成交价。

天府二街自住房,二手成交价3.8;

天府三街岳父母房,2.8;

天府新区改善房,2.5。

21年开年,深圳房价暴涨一波,很快这股风传递到成都。

之前在大源看好的二手改善,如复地雍湖湾,保利,统统涨价50-80万。

万五,中州,凯德,我作为普通户,抽奖资格都没有。

最近开盘的,兴隆湖北的德信,天府三街的合景泰富臻林,单价3.3,公摊很大,看得上的户型都要650-700万,买不起。

卖了两套房的钱拿在手上如坐针毡,去年11月拿了一百多万去买基金,今天刚好清仓,赔了1万6,是的,搞了这么久还赔钱。

公司老板兼大学同学去年11月买了万家湾的城投绿城凤起兰庭改善,总价497万。短期借了30万给他。上个月已还。

好朋友上个月咬牙买了茶店子的新希望德商锦麟天玺改善,总价670万。短期借了40万首付给她。(3月底已还)

如果不是因为借钱给他们,基金股票亏更多,囧。。。

有时候很郁闷。真的,想想自己天府新区改善的那一套,176平米,总价110万就给了三层首付34万,最近带装修成交价已经达到了440万;前东家的老同事L,16年买的仁恒三期140+的精装四房,单价1.7万,总价250万首套首付两层50万还利率八折,最新成交价630万;另外一个老同事H,16年同一时间买了旁边的中州中央城邦267平米超大户型, 单价1.2万,最新二手挂牌价格1000万+;大学室友Y,16年买的蓝光雍景阁精装,现在接近翻倍;大学室友Z,16年买的德商御府天骄188平米端头联排大赠送,1.2万单价入手,最新链家成交了一套750万,他连房产证都还没去拿;老婆的大学室友Y,天悦府开盘买的138平米三房,单价1万左右,最近挂牌价格单价4万7;她另外一个大学室友L,2016年初来天悦府捡漏买了一套168平米的,198万房价,加上税费和中介费220万,最近挂牌价800万+。。。还有很多身边的实例。。。也就五年时间,这楼市收益率,关键还不费时间精力。

回头再看看最近国家鼓励进入的权益市场(基金+股市),最近才进去的小伙伴应该都是和我一样遭到毒打,可以说是风险收益极度不成正比了。

所以这房价怎么可能不涨。。。已经成为信仰。

但是话说回来,茅台都跌了。。。

所以我的看法可能还是,看深圳的风向吧,深圳的楼市趋势,三个月到半年之后大概率传导到成都。

至于我自己的改善需求,可能只有缓一缓了,年底看看有没有好点的入手机会。实在不行就只有把天府新区的这一套装了自己住,这一套的缺陷是一个大三房,并不是真正意义的四房,所以一直我也没觉得是个真的改善。

上个月又有个大学好友买了西三环外西派金沙152的三房,总价450,短期借了18万给他凑首付。

深圳开始重拳出击打击深房理这样的职业炒房团体。

成都也开始查经营贷流入楼市。

我自己在20年6月开始关注的几十套大源改善二手房,一年内普遍二手挂价涨了50%,随便发两个:

中间有个插曲,去年8月我有个高中同桌同学,大学毕业以后在成都某研究所工作。听说我住的大源区位不错,自己刚好又卖了温江的房子有点钱在手上,就来找我带他看了一下大源的二手房。我就带他逛了一圈,推荐给他一些房源,他一周过后就下手买了。

结果上个月他过来把房子出租出去了,然后非要给我一个礼物,说是刚拿到房产证房价就涨了,我一看,1.69单价涨到2.5挂价。238万买的现在挂出来同户型的卖350+,然后我就心安理得的收了他的礼物。

礼物:正版J20飞机模型一个

老板兼同学说他买的城投绿城凤起兰庭的尾盘已经涨了15%以上。

另外一位在天府四街头部互联网企业工作的大学同学,昨天碰面说他准备买华府西苑的益小学区房,160四房,卖家说低于540万不考虑。

我自己判断,短期成都房价又到达一个局部高点,不说下行,至少要振荡大半年,如果还没有入手的,也不要太着急了入手了,不然有短期站岗的可能。我之前看了房没有买的兴隆湖北的德信,天府三街的合景泰富臻林,都打来电话说还有房源顺销,问还要不要捡漏买。

我自己觉得,还是缓一缓。虽然最近权益市场行情比较不好,但是长期来看,货币的流向还是在稍微的转变。一部分资产用来投放在权益市场也是比较好的选择。

买房其实也是有涨有跌的,只是周期比较长。强如深圳,15-18年其实都是横盘没涨。成都楼市18-19年也是很不景气的,只是没有长期研究的人没注意罢了。另外二手市场需要三个月到半年才会降温,有需求的还是建议等一等。

答主最近没怎么关心房子。卖房的钱暂时拿来靠谱信托+部分理财+股票。收益波动率比较大,有几天单日的浮盈和浮亏都超过全年工资。但是现在还算习惯了。这段时间的楼市政策,应该说国家的打压楼市的意愿空前强烈,答主也不是特别紧迫的刚需,所以决定响应国家号召投身权益市场。

前段时间成都发布了一个补丁,赠与的路也堵死了。

顺便说一个个人判断,从现在到未来一两年,成都新房可能会是一个振荡下跌的趋势,回撤20%左右。

深圳有房的朋友最近遇见中介给她出飞机票让她从成都过去买房。。。这位朋友之前1100万卖的深圳南山的房,现在同户型900万左右卖不出去。本来她想尽快置换的,现在也不着急了。

最近各种救楼市政策。银行贷款利率+地方政策放松。

成都链家和贝壳又开始放松挂牌价了,但是挂价很虚,最好直接找附近中介确认实际成交价。

天府二街自住房,二手成交价3.4;

天府三街岳父母房,二手成交价3;

天府新区改善房,二手成交价2.3。

我的看法还是维持,至少到2023年底,还是会持续阴跌。

政策刺激是刺激,现在是改善置业的信心失去了。

答主在某为,某里,某讯的所有同学,校友,亲戚,收入均大幅减少,特别是某里,当初300的股价分的股票,现在就不到100的价格,身家缩水几十万到几百万不等。某为大量离职。某讯的股价腰斩。

只有搞国产替代的,跳槽到最近密集上市的国产芯片设计公司的,10年左右研发经验的同学收入暴涨,从以前几十万一年涨到两百万一年收入(期权+年薪)

还有就是金融行业的朋友收入还能稳住,没有大幅度缩水。

权益市场也被血洗,答主自己的股票+基金+私募,一共亏损大几十万。。。太难了。最近一年,周围玩股票的朋友,10人里面只有1人挣钱。

如果某为,某里,某讯这样的头部企业的员工都不敢轻易置换买成都五百万以上的改善了,那真没法止跌。如果后续政策降低首付门槛,在我看来,更悬。

500万的房子,就算首付四成200万,那300万按照现在的利率贷款,等额本息,每个月也是还款两万。经济好的时候,在互联网头部企业工作的,一个月实际收入几万块,两万五这都不是事儿。六七年前,我也曾经一个月还2万5,坚持了三年。但是现在你让我这样我不敢,因为大环境不好,换了单位,收入也降低了,得量入为出啊。信心没了。

冷静下来的时候就会算细账,如果你有200万现金,这钱是卖了老房子或者掏光了六个钱包来的,拿去存定期或者R2理财,一年3%-5%收益,拿来买500万的房,300万贷款,扣除贷款利息,一年不涨10%,那就真是亏。。。

所以当房价不涨或者阴跌,很多快速追涨上车买500万以上房子的人冷静下来一算账,自己亏了,疫情影响,收入再一降低的话,干脆就当老赖了。这两年成都法拍房数量那涨得叫一个块,这种情况挺多。

普通刚需可能觉得跌一跌挺好,实际上,持有普通刚需房的更惨。很简单的例子,我自己之前两三年出掉的刚需房,到今天都没涨。。。现在更难卖了。

500万的新房都跌了,那么150万-200万的二手房只会更没人买。成都的置换链本来就有一个鸿沟,正常情况应该是刚需卖了自己原来的房子,努努力就能买改善了。成都并不是这样,是割裂的,刚需房一般就能卖个150万左右,但是改善稍微好一些都没有400万以下的选择。这就割裂了。所以实际上成都的500万改善市场一直不是真刚需在玩。就好比茅台股票,上车一手就十几万,并不是大部分散户能玩的。

实际上房子的风险是挺大的,很多人只看到赚钱,没看到挨打,这两年有的地方已经开始看到了,慢慢地都会看到。

我要回帖

更多关于 成都橙堡公寓 的文章

 

随机推荐