基于特征的迁移神经网络轴承智能故障诊断

2022-08-19 10:58王业统吴海威
机械设计与制造 2022年8期
关键词:源域轴承标签

王业统,吴海威,李 美,苏 明

(1.海南科技职业大学信息工程学院,海南 海口 571126;2.海南大学机电工程学院,海南 海口 570228;3.海南科技职业大学机电工程学院,海南 海口 571126)

1 引言

滚动轴承是旋转机械的重要组成部分,轴承的失效直接影响机械的性能,甚至导致严重的事故[1]。实际机器中使用的轴承(Bearings in Real-Case Machines,BRMS)大多在健康状态下运行,故障很少发生,因此,故障数据比健康数据更难收集。另外,数据量持续增长,由于噪声大、知识依赖性强,用信号处理的方法来表示数据是不合适的[2]。

因此,提出在实验室中模拟各种故障,然后从轴承试验机(Bearings in Laboratory Machines,BLM)上收集足够的标记数据,然而,由于测量环境的多样性、运行条件的多样性、振动传递路径的多样性等因素的影响,BLM和BRMS采集到的数据分布存在很大差异[3]。

迁移学习的目标是使用源域中包含的知识来减少分布差异并提高目标域预测模型的性能。为了实现这一目标,基于特征的学习方法作为一种常用的迁移学习方法得到了广泛的研究,该方法致力于从源域和目标域的数据中提取可转换特征,以减少跨域差异。文献[4]提出了一种基于域自适应的轴承故障诊断深度神经网络,利用源域的频谱数据和目标域的部分标记数据对其进行训练。文献[5]采用稀疏自动编码器从不同运行条件下的轴承中提取频谱数据的特征,然后最小化最大平均偏差(MMD)以适应学习到的可迁移特征的分布。文献[6]采用基于域自适应的深度卷积神经网络(CNN)完成不同噪声环境下的轴承故障诊断。

虽然上述方法取得了一定效果,但是存在三个缺点:

(1)它们是在同一台机器上进行的诊断知识的迁移学习任务,能否在不同的机器之间进行迁移学习还需探讨。(2)上述方法存在性能下降的问题,并且忽略了振动数据的平移不变性。(3)上述方法部分地利用了目标域数据的分布信息,由于缺乏标记信息,没有充分利用目标域中未标记的数据来训练智能诊断模型[7-8]。

为了克服上述缺点,提出了一种基于特征的迁移神经网络轴承智能故障诊断方法,该方法能够学习跨域差异小、类间距离小的可迁移特征。实验结果证明了提出方法的有效性。

2 基本理论

2.1 问题描述

令Ds和Dt分别表示源域和目标域,如果将样本空间表示Xs∈Ds和Xt∈Dt,源域和目标域的数据样本分别为xs∈Xs和xt∈Xt。将标签样本表示为y={1 ,2,3,...,k} ,其中,包含k种正常工作状态。假设从BLM和BRM采集的数据样本服从边际概率分布P(xs)和Q(xt)。

(1)利 用Ds={Xs,P(xs)}的ns标记 样本 构 建 源 域Xs=,以提供诊断信息。

(3)源域应该为目标域提供足够的诊断信息,即yt⊆ys⊆y,其中ys和yt分别是源域和目标域中的标签空间。

由于从不同的方位采集源域和目标域的振动数据,因此,这些数据的分布存在严重的差异。如果使用智能诊断模型同时从这些数据中学习特征,学习到的特征也会受到分布偏差的严重影响。从图1(a)可以看出,通过最小化域共享分类器h( · )仅用源域样本训练,这意味着基于所学习的特征可以实现分类任务,该分类器也可以很好地用于目标域。然而,域共享分类器h( · )在目标域上的泛化误差却很大,即分类器h( · )由于分别从源域和目标域中的样本中学习到的特征之间存在严重的分布差异,因此对目标域样本的分类结果基本上是错误的。因此,这里目标是建立一个智能诊断模型,从收集的数据中提取可迁移的特征,以减少跨域差异,然后强制域共享分类器h( · )以最小化的目标域风险。如图1(b)所示,智能诊断模型期望学习具有相似分布的可迁移特征。因此,域共享分类器可以根据源域提供的诊断信息正确识别目标域样本。

图1 基于特征的转移学习智能故障诊断Fig.1 Intelligent Fault Diagnosis Based on Feature Transfer Learning

2.2 MMD

最大平均差异(Maximum Mean Discrepancy,MMD)是一种非参数距离度量,用于度量两个数据集之间的分布差异。如果数据集和分别遵循概率分布p和q,则数据集X和Y之间的MMD定义如下。

式中:sup( · )—输入集合的上界;H—再生核Hilbert 空间(Reproducing Kernel Hilbert Space,RKHS);Φ( · )—原始特征空间到RKHS的非线性映射[9]。

通过分布的核平均嵌入,RKHS由拉普拉斯核和高斯核等特征核生成。因此,基于核均值嵌入的MMD经验估计的计算表达式如下:

式中:k(·,· )—特征核。

3 提出方法

3.1 整体结构

目的是建立一个基于特征迁移方法的智能诊断模型。该方法包括四个步骤:域划分、特征提取、域自适应和故障识别,如图2所示。

图2 提出方法的总体结构Fig.2 The Overall Structure of the Proposed Method

在域划分的一步中,源域包含标记样本以提供诊断信息,而目标域中的未标记样本则期望利用源域中的诊断信息进行分类。对于特征提取,采用非线性特征映射从源域和目标域的数据中提取可迁移的特征。注意,源域和目标域中的数据同时由相同的非线性特征映射处理。在域自适应方面,首先用一个非参数距离指标MMD来度量学习的可迁移特征的分布差异。然后,以学习到的可迁移特征的分布差异作为优化目标,反向传播,训练非线性特征映射的参数。优化的目的是使学习到的可迁移特征的分布差异最小化,从而得到具有较小跨域差异的特征。在故障识别中,最后利用域共享分类器对目标域中未标记样本进行正确分类。分类器充分地从源域样本中学习特征的分布。基于域自适应训练,目标域样本的学习特征分布与源域样本相似。因此,域共享分类器还能够正确地对目标域中未标记的样本进行分类。

3.2 FTNN

3.2.1 域共享CNN

FTNN的结构,如图3所示。该模型利用一个域共享CNN从源域和目标域的原始振动数据中提取可迁移特征。然后,通过多层域自适应来减小学习的可迁移特征的分布差异。最后,对目标域中未标记的样本分配伪标签,训练域共享的CNN。当同时处理源域和目标域中的样本时,域共享CNN需要根据参数集进行训练网络。参数设置,如表1所示。通常,域共享CNN由卷积层、池化层和全连接层组成。

图3 提出的FTNN模型的体系结构Fig.3 The Architecture of the Proposed FTNN Model

表1 域共享CNN的参数Tab.1 Parameters of Domain Shared CNN

在卷积层中,域共享CNN采用共享核kl∈RH×L×D对l- 1层的输出向量进行卷积,其中,H—核的高度;l和D—核的长度和深度。由于原始振动数据为一维(1D)矢量,因此L设为1。假设前一层的输出特征是,则第l层的输出特征如下所示。

式中:D={s,t}—源域和目标域的索引—从上一层l- 1 的特征中学习到的可迁移特性;bl—C1层偏差;σr( · )—矩形线性单位(ReLU),是解决梯度消失问题的常用的激活函数。

在此基础上,利用池化层的下采样过程来减少训练参数的个数,从而有效地克服过拟合问题。本研究采用最大池化的下采样方式,将可迁移特征划分为若干个不重叠的部分,并返回每个部分的最大值。源域和目标域中的合并特征表示为:

式中:max( · )—返回向量的最大值;s—非重叠像素的高度。

可以根据层叠卷积层和池化层依次提取高层特征。然后将这些特征扩展为一维向量。例如,层P2中的可迁移特征被扩展成一维特征向量,作为全连接层F1的输出。与多层神经网络结构类似,F2层的输出如下所示。

分类过程中,最后一个全连接层F3中使用softmax函数来预测样本xsi和xti的类别。层F3的输出表示样本类别的概率分布,其表示如下:

3.2.2 多层域自适应

为了减少分布差异,通过最小化学习到的可迁移特征的MMD 来训练域共享CNN 的参数。相关研究证明高层次特征在全连接层中的分布不一致,因此,最后一层神经网络除了用于分类外,还有必要调整学习的可迁移特征在层F1和F2中的分布。此外,在域共享CNN的训练过程中,学习特征的分布随网络参数的更新而变化,定义为内部协变量偏移。为了缓解此问题,还需要调整卷积层C1和C2中学习到的可迁移特征的分布。因此,学习到的可迁移特征的多层MMD计算公式如下:

域共享CNN有利于学习具有特定域特性的可迁移特征,这使多层MMD值的变化较大。具体来说,高层特征的MMD值远大于浅层特征的MMD 值,因此,使用一个权衡参数Kl来平衡多层MMD的大小。该权衡参数是动态的,以扩大浅层特征的贡献度,降低高层特征的贡献度。

式(7)表明,核宽和时间复杂度严重影响MMD。一方面,以高斯核为例,式中:γ—核宽。如果γ→0,MMD会趋于0;同样,如果选择较大带宽,也会降到0,比如γ→∞。为了解决这一问题,通过选取核带宽γ作为所有样本对之间的中值距离。另一方面,式(7)的时间复杂度为O(n2×l),在共享域CNN的训练过程中消耗了大量的时间,为了解决这个问题,引入了的无偏估计来计算MMD。因此,式(7)可简化为:

其中,2n=ns=nt。式(8)的时间复杂度减小到O( )n×l,有效地加快了模型的训练速度。

最后通过最小化代价函数来减小学习的可迁移特征的分布差异。

式中:θc—C1,C2,F1和F2的参数集合。

3.2.3 伪标签学习

基于可迁移特征的多层自适应可以减少可迁移特征的差异分布。然而,由于缺乏标记的样本,目标域中的未标记样本不能用于训练F3层中的参数。为此,引入伪标签学习来解决这一问题。一个样本的伪标签就是把预测概率最大的标签当作真标签来选取,伪标签的生成包括两个步骤:标签的概率预测和伪标签的转换。F3层中的softmax函数预测目标域中样本的标签概率分布。因此,结合等式(6),伪标签可由下式计算:

源域和目标域的样本都是用来训练共享域CNN,因此,伪标签学习的优化目标表示为:

式中:J( ·,· )—损失函数;yis—源域中第i个样本的真实标签;α—权衡参数;θ—域共享CNN的参数集合。

3.3 训练过程

提出的FTNN 模型通过三个正则项最小化来训练:(1)源域样本的预测标签与真实标签之间的误差;(2)目标域样本的预测标签与伪标签之间的误差;(3)从跨域数据中学习可迁移特征的多层MMD。通过式(9)和式(11),FTNN 模型最终的计算表达式如下:

式中:β—权衡参数;n—梯度下降的最小批量样本数。

本研究采用交叉熵损失函数,定义如下:

利用式(12)中的三个正则化项,提出的FTNN也会有相应特征。首先,FTNN能够学习可迁移特征,并根据这些特征对输入样本进行分类。对源域中的标记样本进行训练,得到诊断信息。其次,伪标签学习将目标域样本中的学习特征按预测的类别集合起来,扩大了学习特征的类间距离,便于识别。最后一个阶段,训练后的FTNN能够在最小化学习到的可迁移特征的分布差异后,学习到服从相似分布的可迁移特征。通过同时训练FTNN以及这三个正则化项,可以将来自源域的诊断信息应用于目标域中的相关诊断任务。

在FTNN模型的训练过程中,采用Adam优化算法对式(12)进行优化,有效地加快了训练过程,解决了参数量大的问题,FTNN模型的训练过程的流程图,如图4所示。在域划分阶段,分别将BLMs和BRMs采集的数据集作为源域和目标域。在特征提取过程中,源域和目标域的样本向前传播到域共享CNN中,从而逐层获得可迁移的特征。对于域自适应,学习的可迁移特征的多层MMD由式(8)计算。其次,由式(10)生成目标域中未标记样本的伪标签。然后,正则化项对域共享CNN的参数集合进行约束。最后对提出的FTNN模型进行训练,直到满足停止条件为止。在故障识别阶段,利用FTNN模型对BRMs中的样本进行训练。

图4 FTNN训练流程图Fig.4 FTNN Training Flow Chart

4 提出算法研究

4.1 数据集

通过两个轴承故障诊断实例,验证了所提出的FTNN模型的有效性。在案例研究中,尝试分别利用实验室电机轴承和实验室齿轮箱轴承的诊断信息来识别机车轴承的工作状况。这三种数据集的介绍如下:实验室中使用的电机轴承的数据集由凯斯西储大学提供,轴承(SKF6205)的振动数据是通过放置在实验室电机驱动端的加速度计获得的[10]。在实验室用电火花加工技术模拟了轴承的单点故障,得出轴承的工作状态包括正常(N)、内圈故障(IF)、滚子故障(RF)和外圈故障(OF)。此外,还指出,每种断层的直径为0.0014英寸。实验中,采样频率设为12kHz。如表2所示,数据集A是在无负载(电机转速约为1797r∕min)的情况下采集的,数据集B是在电机负载为3HP(电机转速约为1730r∕min)的情况下采集的。数据集A和B共有404个样本,每个样本有1200个采样点。

表2 数据集介绍Tab.2 Introduction of Data Sets

实验室齿轮箱轴承的数据集是从一个试验台上收集的,该试验台包括一台电动机、一个两级固定轴齿轮箱、一个行星齿轮箱和一个磁力制动器。电机的输出转速和转矩依次通过定轴齿轮箱和行星齿轮箱传递,然后驱动磁力制动器带负荷运行。试验轴承(LDK UER204)安装在固定轴齿轮箱的第一级输入轴上,振动数据由安装在齿轮箱壳体轴承座上的加速度计采集。实验中,测试轴承包括N、IF、RF 和OF 四种工作状态,采样频率设定为12.8kHz,采集不同工作状态下的振动数据。同时,电机转速设定为1200r∕min,如表2所示。数据集C包含404个样本,每个样本有1200个采样点。

另一个数据集来自机车轴承,测试轴承(552732QT)安装在液压马达驱动系统中。此外,试验轴承还包括正常、内圈碰摩故障、滚子碰摩故障和外圈碰摩故障四种工作状态。振动数据由安装在试验轴承外圈的加速计收集,在测试中,采样频率设置为12.8kHz。试验轴承由液压缸加载,载荷为9800N(轴转速约500r∕min)。如表2所示,数据集D包含四个故障类别和404个样本,每个样本有1200个采样点。

根据表2,创建了三个迁移学习任务,即A→D、B→D、还有C→D、数据集A、B和C为提供诊断信息的源域,而数据集D为目标域。这些迁移学习任务的目标是尽可能准确地对数据集D中的样本进行分类。

4.2 从实验室电机轴承向机动车轴承迁移学习

4.2.1 FTNN的迁移结果

本小节验证了FTNN 模型对迁移学习任务A→D的有效性。在该方法中,α和β是重要的权衡参数,严重影响了FTNN的迁移效果,因此,应该分析参数的选取。分类精度与F2层中学习到的可迁移特征有关,这些特征是分类前的最高层次特征。因此,在选取不同参数后,利用F2层学习到的可迁移特征的MMD来分析FTNN的迁移结果。参数α的取值范围为{0,0.01,0.05,0.1,0.5,1},参数b的取值范围为{0.01,0.05,0.1,0.5,1,5,10,50}。注意,每个实验进行10次,计算平均值。

如图5所示,当参数α和β分别设为0.01和5时,有效地减小了学习的可迁移特征的MMD。具体地说,当权衡参数β小于0.5时,MMD明显大于其他情况下的MMD,这表明学习的可迁移特征的分布是欠适应的。一旦权衡参数α较大时,例如大于0.5,跨域差异也很难被校正。因此,伪标记学习的性能与跨域差异有关,较大的权衡参数α将限制学习的可迁移特征的分布适应性。解决这一问题的一个有效途径是选择一个小的权衡参数,它能够平衡伪标签学习和分布适应在代价函数中的影响程度。

图5 不同折衷参数下学习的可转移特征的MMDFig.5 MMD of Transferable Features Learned under Different Compromise Parameters

在用不同的权衡参数训练FTNN模型后,数据集D的分类精度,如图6所示。当参数α小于0.1,参数β大于1时,FTNN在数据集D上的分类准确率在(80~85)%之间。特别是当α和β分别设为0.01和5时,分类精度可以达到最大值。结合图5和图6中所示的结果,可以发现分类精度随学习的可迁移特征的MMD而变化。可迁移特征的MMD越小,分类精度越高。

图6 不同折衷参数下数据集D的分类精度Fig.6 Classification Accuracy of Data set Dwith Different Compromise Parameters

4.2.2 与其他方法的比较

将该方法与CNN[11]、TCA[12]、DAFD[13]、DDC[14]和多层自适应CNN(MACNN)[15]的迁移结果和迁移性能进行了比较。CNN的模型结构与FTNN相同,TCA是一种常用的迁移学习方法,正则项的权衡参数的取值范围为{0.01,0.1,1,10,100},子空间维数的取值范围为{2,4,8,16,32,64,128}。DAFD是一种能够成功地完成轴承在不同工况下的迁移学习任务的智能诊断模型。对于正则化项,有两个重要的权衡参数,它们的取值范围均为10-5到105。DDC的模型结构与FTNN相同,但它只是通过最小化F2层学习特征的MMD来减小分布差异。MACNN是FTNN的简化版本,不进行伪标签学习。TCA和DAFD的输入是频谱数据,而其它方法的输入是原始振动数据。研究表明,每种方法都有适合迁移学习任务的最优参数。此外,每个实验进行10次,平均值,如表3所示。从表3中可知,FTNN的平均分类准确率为84.32%,是六种方法中分类准确率最高的一种。由于缺乏域自适应,CNN的平均准确率达到51.04%,低于FTNN 的准确率。 TCA 的平均准确率为46.04%,DAFD的准确率为55.05%。这两种方法的精度比FTNN差,因为它们无法从样本中提取高层特征,并且可能不适合处理跨域差异严重的任务。对于DDC,它的平均准确率为76.23%,低于FTNN 的精度,因为DDC 只是通过最小化最高层次特征的MMD 来减小分布差异。对于MACNN,其平均分类准确率为80.55%,比FTNN小,但高于其它方法。实验结果验证了引入多层域自适应和伪标签学习的有效性。

表3 迁移学习的分类精度(%)Tab.3 Classification Accuracy of Transfer Learning

通过引入迁移损耗和迁移比来比较FTNN与其他方法的迁移性能。在得到迁移损耗和迁移比的度量标准之前,需要考虑两个指标,即迁移误差err(S,T)和基线域内误差errb(T,T)。传递误差是一种在源域S上训练并在目标域T上进行测试得到的误差。如果一个基线模型在目标域上训练并在同一个域上进行测试,则将其测试误差定义为基线域内误差。基于这些定义,迁移损耗是迁移误差与域内基线误差之间的差值。对于特定的迁移学习任务,较小的迁移损失会产生更好的迁移性能,迁移率的计算公式为用于评价一种方法在m个迁移学习任务上的整体迁移性能,迁移比越大,表示迁移性能越好。CNN作为指标计算的基线模型,数据集D分为训练集和测试集,训练集包含数据集D中50%的样本,其余用于测试的样本用于计算域内基线误差。CNN的体系结构与FTNN相同,经过10次试验,基线模型在数据集D上的平均分类准确率为99.02%,因此,域内基线误差误差T为0.98%。然后对各种方法的迁移损耗和迁移比进行了计算结果,如表4 所示。对于任务A→D、FTNN 的迁移损耗为15.33%,低于其它方法。在任务B→D的所有方法中,FTNN的迁移损耗最低,为14.07%。另外,FTNN 的迁移率为0.84,是这六种方法中最高的。结果表明,FTNN模型比其他方法具有更好的迁移性能。

表4 不同迁移任务A→D和B→D的迁移效果Tab.4 Migration Effects of Different Migration Tasks A→Dand B→D

为了直观地理解迁移学习过程,引入了t分布随机邻域嵌入(t-SNE)算法。该算法能够降低学习特征的维数,并能直接绘制学习特征的分布图。以任务BD为例,FTNN学习的可迁移特征,如图7(f)所示。为了方便观察比较结果,图7(a)~图7(e)中分别显示了由CNN、TCA、DAFD、DDC 和MACNN 等其他方法提取的可迁移特征。

从图7(a)所示的结果来看,由CNN学习的可迁移特征存在严重的分布差异。此外,目标域中的特征集合效果差,类间距离小。因此,当只利用源域中的样本训练模型时,CNN无法有效地对目标域中未标记的样本进行分类。从图7(b)和图7(c)可以看出,通过使用TCA和DAFD不能有效地适应所学习的可迁移特征的分布。具体地说,在正常情况下和滚筒故障情况下,样本的可迁移特征仍然存在严重的分布差异。结果表明,TCA和DAFD的分类准确率在50%左右。对于图7(d),DDC在层F2中调整学习的可迁移特征的分布,并且跨域差异明显减小。因此,与CNN、TCA 和DAFD 相比,DDC 在数据集C上获得了更高的诊断准确率。至于图7(e),学习到的可迁移特征比图7(d)所示的分布差异小。这一结果直观地解释了多层域自适应的有效性。图7(f)表明,FTNN不仅有效地适应了学习可迁移特征的分布,而且扩大了学习可迁移特征的类间距离。因此,可以很容易区分它们,而且分布差异很小,因此,可以对目标域中的样本进行正确的分类。

图7 数据集B和数据集D上学习特征的可视化Fig.7 Visualization of Learning Features on Dataset Band Dataset D

4.3 从实验室齿轮箱轴承到机动车轴承的迁移学习

希望利用实验室齿轮箱轴承的诊断知识来识别机车轴承的健康状态,即迁移学习任务C→D,对于这项任务同样进行了10次试验,数据集D的平均诊断准确率,如表5所示。根据表5的结果,FTNN的平均精度为74.81%,任务C→D的FTNN迁移性能也可以通过迁移损耗和迁移比来评估。从表5的结果来看,FTNN的迁移损耗和迁移比分别为24.21和0.76。

表5 迁移任务C→D的迁移效果Tab.5 Migration Effect of Migration Task C→D

将所提出的FTNN用于任务C→D的迁移结果和迁移性能与Case I中的其他5种方法进行了比较,结果表明,每种方法的迁移结果和迁移性能都是在最优参数选择下获得的。根据表5的比较结果发现,在这六种方法中,所提出的FTNN 对数据集D的诊断精度最高。此外,FTNN的迁移损耗比其它方法低,迁移比也比其他方法高。与其他方法相比,这些结果也显示了该方法的优越性。通过t-SNE算法,CNN、DDC和FTNN学习到的可迁移特征,如图8所示。根据学习特征的可视化,数据集D上迁移结果的混淆矩阵,如图9所示。

图8 数据集C和数据集D上学习特征的可视化Fig.8 Visualization of Learning Features on Data set Cand Data set D

图9 数据集D的传输结果的混淆矩阵Fig.9 Confusion Matrix of Data set D

从图8(a)可以看出,CNN 学习到的可迁移特征存在严重的分布差异。结果,当CNN用数据集C训练时,其对数据集D的分类精度接近预测值,即25%,如图9(a)所示。对于DDC,可以通过最小化学习到的高级可迁移特征的MMD来调整跨域数据中可迁移特征的分布。因此,从图8(b)的结果在一定程度上校正了跨域差异。此外,数据集D的DDC 分类精度高于CNN,如图9(b)所示。从图8(c)可以看出,所提出的FTNN 能够修正不同方位数据的学习可迁移特征之间的分布差异。此外,由于源域和目标域的子类别样本之间的可迁移性不同,子类别样本的分布差异得到了非对称校正。例如,经过迁移学习后,带射频的跨域样本的分布差异仍然严重,而其他三类故障的分布差异得到了有效的修正。因此,根据图9(c)所示的结果,FTNN 模型能够正确地分类N、IF 和RF 的类别,但是对于未标记的目标域样本错误地识别类别RF。

5 结论

为了提升传统迁移学习故障诊断中信息挖掘深度,实现不同机器间的迁移学习,提出了一种基于特征的迁移神经网络轴承智能故障诊断方法。

通过多个实验结果可以得出如下结论:

(1)FTNN模型能够在无标记数据的情况下更好地识别轴承的状态,与其他方法相比,该方法具有更高的分类精度。

(2)FTNN模型比其他方法具有更好的传输性能,具有更低的迁移损耗,更高的迁移率。

(3)引入多层域自适应能够自适应学习可迁移特征的分布,从而校正跨域差异,引入伪标签学习能够扩大可迁移特征的类间距离。

猜你喜欢
源域轴承标签
轴承知识
轴承知识
轴承知识
轴承知识
基于参数字典的多源域自适应学习算法
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
从映射理论视角分析《麦田里的守望者》的成长主题
让衣柜摆脱“杂乱无章”的标签
科学家的标签