面试官面试的所有问题罗列出来

1.自我介绍

思路:介绍内容要与个人简历相一致:表述方式上尽量口语化;要切中要害,不谈无关、无用的内容;条理要清晰,层次要分明;事先以文字的形式写好背熟
自我介绍:

  • 各位老师好,我是来自北京工业大学电子信息工程的研究生许颖,我可以从学校经历、项目经理、实习经历及相关技能四个方面进行一个简单的自我介绍。
  • 第一个方面在学校时由于学业上及科研上发表了一些相关科研成果,因此也荣获了国家奖学金,小米特等奖学金,还有科技创新特等奖等。我在学校的科研方向是基于数据驱动的污水处理过程监测,隶属于北京工业大学数字社区。
  • 第二方面的话,我从我在学校的相关项目来进行一个简单介绍,这里,然后在学校跟和老师参与了两个自然科学基金的项目,分别是城市污水处理过程异常工况监测及相关的相关性指标软测量,第二个项目的话是面向青霉素发酵过程的日常工况监测,在这两个项目中也通过搭建来完成这个过程的宽度学习模型、深度学习模型,并对相应的模型进行结构上的改进、性能上的提高来完成相关的任务。如果过程中发生了故障人会及时诊断发生故障的原因,并且及时采取相应的措施对故障进行一个处理。同时我们还要关注一些比较难以测量的一些一些关键的指标。化学需氧量和生物需氧量,其实这些指标可以直接海洋物质处理过程的一个处理效果,但是我们很难直接进行一个测量,所以我们通知当时通过当天一些软测量模式来完成关键指标一些进对进行一些回归。通过我们的实验也可以发现我们的这种回归效果和真实的这个话其实理合性会比较好,因而我们可以通过这种方式来降低到一些。在一些指标测量上的一些时间成本和金钱成本的一些消耗。在这两项目中,我通过用matlab及python等编程语言并结合深度学习框架如tensorflow来完成相关模型的搭建完成一些数据处理。并最终完成了一个对过程状态的一个检测和关键指标的软测量,共发表四篇论文在SCI一区上。
  • 第三个方面的话,我可以给你介绍一下我的实习经历。我是从今年三月份到现在,在北京阳光伟烨网络技术有限公司实习。我主要是参加了两个项目,第一个项目的话是完成一个图像分类,在这个图像分类研究中,我们主要基于resnet搭建对比学习模型来完成对图像的分类,保证模型图像分类的精确度的前提下,提升模型的公平性。该项目主要就是为了防止,因为某些对某些敏感特征有偏见的数据导致我们所训练模型它对某些特征存在一种歧视,而我们要做的就是要降低模型对某些敏感特征的一些歧视性。敏感特征可能包括年龄、性别还有肤色等。第二个项目是关于LLM大模型的调研,当时我们是利用清华大学开发团队的一个ChatGLM。模型来完成一个牛奶广告的对话任务。我主要是通过加载他们已经训练好的开源模型来完成一个简单对话一个任务,然后基于我们本地的一些相关数据集(自制了100条数据)对这个模型去微调。通过微调之后可以发现所生成的对话,它更符合我们这个牛奶广告领域对它的一些表达方式。
  • 第四个方面,可以介绍一下我的相关学专业技能,由于学校的项目及实习经历,其实主要是通过MATLAB,还有Python,同时结合还有一些深度学习框架如tensorflow来完成一些相关机器学习模型的一些开发,同时也对相关模型的一些改进。对一些循环网络,长短记忆网络,门控单元网络其实都是相对比较了解的。主要搭建的模型是使用宽度实际网络。同时我也咨一自学了测试理论相关知识,学习了计算机网络原理,也了解一些我们的计算机网络体系,以及Java语言等mysql数据库等课程。

以上就是我的一些基本情况,谢谢各位老师!

2.介绍一下你的项目

在研究生期间,我主要是参加了两个项目,分别是一个污水处理过程,还有一个是针对青霉素发酵过程的一个故障检测啊,我会针对这两个项目分别进行一个简单介绍,首先针对污水处理过程,我可以先介绍一下我们污水处理过程的一个研究背景。

  • 污水处理过程的话,要保证污水处理过程里的高效运行,保证我们污水处理它一个处理后的污水它一个达标的话,要保证污水处理过程中。不存在故障或者有故障的话,我们要及时给他解决。要保证污水处理过程的高效运行的话,一个有效的方法就是在故障发生早期我们就可以检测到,然后对故障进行采取相应的措施,然后解决故障。要完成一个故障检测的话,我们的模型必须要可以对故障进行一个精确的一个检测,也就是模型的检测精度是一个必须考虑的一个目标。第二的话,其实要结合我们的一些。具体具体场景。模型的监测精度是一个首要考虑的一个目的,但是除此之外,我们还要考虑到一个模型的时间开销。综合这两个点的话,我们选通过第二页那很多相关一些论文确定为宽度学习作为我们主要的一个研究研究模型。

我们基于宽度学习,然后结合污水处理过程,我个人总共是发表两篇SCI论文。

  • 首先我可以简单介绍一下我的论文一。在这篇论文中我提出来一种动态堆叠宽度学习网络。动态动态堆叠宽度学习网络主要用到的相关技术是岭回归算法、伪逆技术、独热编码、时滞思想、集成学习、残差连接、增量学习等技术。在这个项目中对统计方法如KPCA、深度学习如SAE、RNN、LSTM等技术也进行了研究,并作为对比实验。动态堆叠宽度学习网网络是对我们传统的宽度学习网络的一种改进,之所以会提出该模型是为了解决当前宽度学习系统在污水处理过程中关于时间相关性提取的问题以及精度的问题。污水处理过程是这个时间样本序列,其实它本身就具有很强的一种非线性和时间相关性。当使用传统的宽度学习网络完成污水处理过程监测时的精度其实并不是特别高效的,我应该找一种办法来提高宽度学习网络。第二个方面的话,宽度学习网络,它并不能取取到时间序列数据之间的时间相关性。为了改进宽度实际网络在污水处理方面一些缺陷,我调研了很多方法,结合一种时间序列处理方法-------时滞思想来对宽度学习系统进行了改进。在我们输入层的话,我对时间样本进行了一个动,采用时滞思想对它进行一种动态扩展,这种动态扩展是将历史样本补充到我们当前样本的一种方式,通过这种设计,动态的宽度学习网络就可以挖掘到样本之间的相关性,而这种样本之间的相关性被提取到,这对我们进行故障监测具有很重要的一些影响。通过实验也验证这种改进方法是有效的。针对宽度学习的第二种改进措施的话,是我们采用这种集成学习的方式,将多个宽度学习网络建成一种集成。因为我们知道单个模型的话存在一些不确定性,误差也会比较大。我们当时采用这种方法是通过训练多个宽度学习网络,将这些宽度学习集成到一块来完成监测任务。具体来讲,我们使用宽度学习系统来学习上一个宽度学习系统的误差,因为如果我们知道浅层网络它一个是的误差之后,我们可以把误差补充到我们之前的模型中。通过这样的方式可以降低模型的误差,从而实现模型精度的提升。我从这两个点出发,然后提出了动态堆叠宽度学习网络,然后完善污水处理过程的监测,通过时间验证的话,这种改进方法都是有效的,它相对于传统的宽度学习网络,在监测程度上提高了大概3个百分点。

其次,我针对我的研究成果二,我提出一种慢特征宽度学习网络。我们也是要针对一个大的背景,即要保证模型监测精度的前提下降低模型更新的时间开销。在宽度慢特征学习系统中,我们主要使用了宽度学习系统、慢特征分析技术。基于python、numpy、pandas、tensorflow等工具完成了相关对比实验如DKPCA、SAE、LSTM等模型。慢特征宽度学习网络主要是针对污水处理过程的一种动态特性,因为我们知道污水处理过程是一个时间时间样本序列。时间样本在动态变化,而过程的本质特征隐含在这种动态变化中难以提取,我们通过这种在宽度学习网络的输入层中嵌入了一种慢特征提取机制。这种机制提取过程中缓慢变化的特征,这种缓慢特征与过程的状态具有很强的拟合性。基于这种缓慢的特性,我们再进行关于它的非线性特征提取,最终实现一个过程监测。相对于传统的宽度学习网络,它在监测精度上提高了大概有8个百分点。
关于慢特征的解释:在输入层中构建慢特征窗口,每一个慢特征窗口基于两种技术获得,白化技术和广义特征分解技术来求解优化问题来实现。具体来说通过白化技术来去除特征之间的相关性。慢特征的提取是一个优化问题,目标函数是时间序列之间变化最慢。为了保证所提取的慢特征是有效的,对慢特征进行了三个条件约束,分别是零均值、单位方差和独立。这三个条件用于保证慢特征不是一个常量,且慢特征之间不存在信息冗余。这种优化问题可以用广义特征分解技术来是实现。最终我们可以获得映射慢特征的奇异矩阵,最终实现慢特征的计算。

关于青霉素发酵过程:
在青霉素发酵过程是一个间歇过程,需要菌种选择、菌种培养、发酵罐发酵、青霉素制备等阶段。我们主要关注于发酵罐发酵的这一个过程。在这个封闭的发酵罐中,我们需要根据菌种的不同生长阶段,调整发酵罐的一些参数,如PH、温度、底物浓度(营养物质,如葡萄糖等)。各个控制设备必须密切配合才能保证菌种在发酵过程中产出合格的青霉素。如果出现控制设备的故障或者控制设备之间的协同出现差错可能会到导致最终生产的青霉素产品不合格。如果不合格的产品流入到市场势必带来更多的不利影响。因此我们要对发酵过程密切监测,如果有发生故障的风险就及时报警,在故障发生早期完成故障的处理,保障青霉素的稳定生产。我们主要针对发酵过程中最常见的三种故障进行监测,分别是通风速率异常、搅拌速率异常、以及底物流异常。
在这个背景下,我主要搭建出两个模型,一个围绕在宽度学习系统,一个围绕在深度学习。针对青霉素发酵过程的特点,我提出了针对宽度学习和深度学习的增强模型。增强模型在非高斯性特征方面的提取能力,主要改进为在宽度学习和深度学习的输入层中的神经元中嵌入一种通过广义协方差矩阵获得独立原子的方式,通过这种方式可以实现特征的非高斯特征提取。经过独立原子完成对原始特征的一个映射。映射后的特征在宽度学习中经过特征层和增强层完成数据非线性特征的进一步提取,最终实现故障分类的任务。在深度学习中,通过门控单元网络(GRU)实现数据的非线性和时间相关性的双重特征提取。这种GRU网络依靠更新门和重置门可以有效地降低梯度消失带来的风险。为了提高宽度学习系统在时间序列方面的特征提取能力,我们在增强型的宽度学习输入层的中在计算独立原子之前通过时滞思想来完成数据的扩展。基于这种时滞思想和独立原子结合的办法最终实现青霉素发酵过程数据特征的深度挖掘,最终可以有效地监测发酵罐中的异常现象,并及时对异常进行处理。

3.为什么不用比较常用的时序模型,而选择宽度学习

关于为什么选择宽度学习而不选择其他时间序列模型?
在污水处理过程中我们选用宽度学习的主要原因是考虑到一个现象,即污水处理过程在持续的进行,每天都会有各种地方的污水流入污水处理厂,同时处于一个室外环境,很容易受到天气、温度等各种外部工况的一个影响。这导致污水处理厂一直处在一个持续变化的过程中,即是一个动态系统。对于这种动态系统,我们应该构建一个可以动态更新的模型才能更好地适配。虽然传统的深度学习在离线数据上获得了很高的监测精度,但是深度学习一般都通过迭代进行梯度下降来完成模型的训练,这个过程常常需要花费较长的时间。这就带来一个问题如果未来我需要对模型进行更新,无论是改变模型结构还是增加数据量,都需要对模型进行重新的训练,因此很难快速地完成模型的更新。而对于工况多变的污水处理过程常常需要模型能够实时地进行响应,可以发现深度学习在实时性上需要增强。而我们采用的宽度学习系统可以通过增量学习的方式完成模型的更新,这种增量学习可以在短时间内完成模型的更新。在我们的数据集上进行了验证,宽度学习的更新时间大概在0.2s左右,而深度学习如SAE在45s左右,提高了接近200倍,这几乎可以视为一个在线更新模型。因此我们决定用宽度学习来完成污水处理过程的监测。

4.介绍一下宽度学习

宽度学习我可以从结构上、训练方式及增量学习三个方面进行一个介绍。在结构上,宽度学习共有三层结构,特征提取层、特征增强层和输出层。这个三层结构都属于深度学习中的全连接层的结构,特征提取层—特征增强层----输出层,但是不同之处是输出层同时接收特征提取层和特征增强层两个层的输出,即采用一种残差连接的方式将特征提取层连接到输出层中。训练方式上,宽度学习有两种计算权重的方式,

5.你说的这种增量学习能否用在深度学习上

在深度学习网络的最后一层使用增量学习的方式进行更新是完全可行。但是如果在中间隐藏层中使用增量学习的话,需要有一个先验条件就是我需要确定该隐藏层的理想输出,即隐藏层的标签应该是什么,如果我们可以对隐藏层的输出进行确定的话。我们也可以对隐藏层采用增量学习的方式进行更新。就我的理解,增量学习一种基于权重A的基础上,通过严谨的理论推导公式,这段关于权重更新的公式可以通过简单的矩阵乘积获得,获得的更新后的权重B。在这个过程中没有梯度下降,没有迭代过程,因此可以快速地完成模型的更新。如果未来在深度学习中引入增量学习的机制,我相信一定可以扩展深度学习在更多领域的应用。

6.你接触过resnet吗?

对resnet有过一定的了解。有过两次使用resnet的经历,第一次是研究生课程神经网络与原理中使用resnet-18完成手写字体识别的任务。第二次是在实习时构建了基于resnet-50的对比学习模型完成人脸图片的分类。ResNet18 网络是指是带有权重的 18层,这18层包括卷积层和全连接层。resnet本身是一个卷积神经网络,但通过残差连接的方式对模型进行了改进。残差网络的目的是为了解决深层网络存在模型退化的问题(即输入发生变化但是在深层神经元的输出并没有受到较大的影响,即不同输入对应类似的输出),以及深度网络在训练时出现的梯度消失问题。通过残差连接的引入使得误差可以直接反馈到前一层网络,从而有效地降低梯度消失带来的风险。

7.你项目中的数据集是什么样子?,有没有图像、视频数据?

在我们科研项目中,我们的数据集是一批时间序列数据,这种时间序列数据主要是通过我们在污水处理厂它的各个反应池,还有沉淀池布置相关的一些传感器来进行数据采集。我们所提到特征共有18种,例如温度,酸碱度,还有它的溶氧浓度,丝状菌微生物的一些浓度、含氮浓度、含磷浓度。这些可以反映出污水处理的一个过程状态。我们的数据集就是这样的时间样本序列,每隔15min进行一次采样。对时间样本序列数据进行一个分析,对它进行特征提取,通过这些特征来预测出当前的一个污水处理过程的一个状态。

在我们的项目中,其实并没有使使用到关于一些图像或者视频的一些数据,但是我觉得如果如果我们未来可以搭建一些多模态模型,我们完全可以将一些相关图像或视频数据引入到我们的数据集中,因为我觉得构建一个高效地模型需要从模型和数据集两个角度出发。如果想要全方位地监测污水处理厂,我们应该使我们的数据更加丰富多样,因为我觉得不同模态的一些数据可以反映出不同角度的一个污水处理厂的一个状态。我们当前其实主要还是受到数据集的限制。因为我们目前的数据有两种获取方式,第一种是我们根据国际水协会所发布的污水处理过程模拟平台BSM,我们通过这个平台可以模拟出污水处理厂相关的运行工况,同时我们也可以人为的设置某些故障,从而获得一些丰富的数据集。第二个是我们项目组和北京的十八里店水厂有一个合作的关系,水厂给我们提供了一部分水厂实际运行过程的时间样本数据,我们基于这些数据进行一个相关的一些监测。其实无论是国际水学会还是十八里店水厂,所能够提供给我们的数据都是一些时间样本序列的数据啊,因而我们受限在数据集的种类上,因此目前并没有使用到图像和视频数据。但我觉得这是一个很好的方向,相信未来一定会有更多多模态模型在污水处理过程中出现。

8.介绍一下transformer

Transformer它首先被提出来,是用于机器翻译的任务。Transformer分为编码器和解码器,编码器和解码器的结构是类似的。首先我们可以简单介绍一下transformer的编码器部分。在编码器的过程中,它的核编码器的核心的话是一个多头注意力机制。Transformer的编码器部分其实主要是由四个部分组成,多头注意力机制、前馈神经网络、残差连接,还有一个batch normalization层。Transformer的一个核心是多头助力机制。我可以针对Transformer的一个多头注意力机制进行一个简单的介绍。在解释多头注意力机制之前,我们首先认识一下注意力机制。Transformer的中使用的是一种自助力机制模型。关于自注意力机制,我们可以举一个关于文本翻译的样例进行介绍。例如针对一批英文单词,每一个单词我们都可以用一个词向量进行表示。在transformer中针对每一个词向量,在三种不同的空间进行一个表示,这三个空间分别叫做query,key, value。其实query,key, value都是对词向量这三种不同空间一个表示,当然它们这三种都有一些不同的作用。通过query,key, value,我们可以计算出不同词向量之间的相关关系,也可以计算出上下文之间的关系。这就是传统中自注意力机制模型。而Transformer又使用了一种新的方式叫多头自注意力机制,这种多头自注意力机制可以参考卷积神经网络中卷积核的一个概念。也就是我们可以在不同的空间(即不同的头)计算它的注意力机制,这样可以使我们的注意力机制更加准确,而并不会因为某一个头它有一定随机性而导致它的注意力机制的误差较大的一个现象出现。通过多头注意力机制,我们在每个头内部就计算它的一个自注意力机制,最终我们可以获得在整个空间中的一个注意力的分配。在此基础上,添加残差连接,还有Batchnormlization层,还有前馈神经网络,最终完成一个编码器的构建。Transformer的解码器部分和编码器是类似的结构,唯一不同的话是在解码器负责接收在线样本的输入,而我们在进行测试的时候,其实我们是看不到未来的样本的。因为未来样本并没有发生,所以我们在Transformer的解码器中,对未来样本进行了一个mask标记,使得我们的模型对未来的一些样本进行一个遮挡。这样模型会更加符合一种逻辑上的这种表达。这种Transformer模型在机器翻译领域得到一个很好的验证,像当今比较流行的一些GPT模型,其实他们的也都是一些Transformer的一个衍生版本。我相信Transformer的这种结构也会随着我们对大模型的不断研究,得到更加广泛的推广。

9.你在论文中应用宽度学习系统,有对宽度学习进行哪些改进,为什么要这样做?

  1. 污水处理过程是这个时间样本序列,其实它本身就具有很强的一种非线性和时间相关性。当使用传统的宽度学习网络完成污水处理过程监测时的精度其实并不是特别高效的,我应该找一种办法来提高宽度学习网络。第二个方面的话,宽度学习网络,它并不能取取到时间序列数据之间的时间相关性。为了改进宽度实际网络在污水处理方面一些缺陷,我调研了很多方法,结合一种时间序列处理方法-------时滞思想来对宽度学习系统进行了改进。在我们输入层的话,我对时间样本进行了一个动,采用时滞思想对它进行一种动态扩展,这种动态扩展是将历史样本补充到我们当前样本的一种方式,通过这种设计,动态的宽度学习网络就可以挖掘到样本之间的相关性,而这种样本之间的相关性被提取到,这对我们进行故障监测具有很重要的一些影响。通过实验也验证这种改进方法是有效的。针对宽度学习的第二种改进措施的话,是我们采用这种集成学习的方式,将多个宽度学习网络建成一种集成。因为我们知道单个模型的话存在一些不确定性,误差也会比较大。我们当时采用这种方法是通过训练多个宽度学习网络,将这些宽度学习集成到一块来完成监测任务。具体来讲,我们使用宽度学习系统来学习上一个宽度学习系统的误差,因为如果我们知道浅层网络它一个是的误差之后,我们可以把误差补充到我们之前的模型中。通过这样的方式可以降低模型的误差,从而实现模型精度的提升。我从这两个点出发,然后提出了动态堆叠宽度学习网络,然后完善污水处理过程的监测,通过时间验证的话,这种改进方法都是有效的,它相对于传统的宽度学习网络,在监测程度上提高了大概3个百分点。
  2. 我提出一种慢特征宽度学习网络。我们也是要针对一个大的背景,即要保证模型监测精度的前提下降低模型更新的时间开销。慢特征宽度学习网络主要是针对污水处理过程的一种动态特性,因为我们知道污水处理过程是一个时间时间样本序列。时间样本在动态变化,而过程的本质特征隐含在这种动态变化中难以提取,我们通过这种在宽度学习网络的输入层中嵌入了一种慢特征提取机制。这种机制提取过程中缓慢变化的特征,这种缓慢特征与过程的状态具有很强的拟合性。基于这种缓慢的特性,我们再进行关于它的非线性特征提取,最终实现一个过程监测。相对于传统的宽度学习网络,它在监测精度上提高了大概有8个百分点。

10.介绍一下你这个慢特征是什么?为什么要提取慢特征呢?

关于慢特征的解释:在输入层中构建慢特征窗口,每一个慢特征窗口基于两种技术获得,白化技术和广义特征分解技术来求解优化问题来实现。具体来说通过白化技术来去除特征之间的相关性。慢特征的提取是一个优化问题,目标函数是时间序列之间变化最慢。为了保证所提取的慢特征是有效的,对慢特征进行了三个条件约束,分别是零均值、单位方差和独立。这三个条件用于保证慢特征不是一个常量,且慢特征之间不存在信息冗余。这种优化问题可以用广义特征分解技术来是实现。最终我们可以获得映射慢特征的奇异矩阵,最终实现慢特征的计算。

11.你说的模型融合技术能介绍一下吗?

在我的科研项目中,还有我的实习经历中,确实做了很多相关一些模型融合,为什么要做模型融合,其实还是考虑到单一模型其实很多问题和不足。每个模型他们本身都有各自的优点和缺点,通过这种模型融合结构可以让他们构建一种新的增强模型。可以使他们的优点得到一个增强,缺点得到一个互补。因为我我选的模型融合的话,是考虑到模型之间在性能上有互补的。例如我们在论文中提出了有一种叫做增强型GRU。这种增强型GRU其实是结合了统计方法,如采用一种独立充分分析的方法,同时也结合了一些深度学习技术。传统的独立成熟分析方法虽然能提取到它的非高斯特性,但是他们在数据的非线性提取和时间相关性的提取方面存在不足。而GRU网络可以很好的提取非线性和时间相关性特征,但是它很难完成一个非高斯性特征的提取。但是我们通过这种将独立分成分析嵌入到GRU网络中的输入层,通过这种技术可以搭建一种增强性的GRU模型,它可以同时完成非线性、时间相关性的提取。这种挖掘到到数据中更加丰富的特征的模型会更加适合这种污水处理过程。

12.你论文中这些模型代码部分请问是你自己写的吗?

在我论文中,其实我所提出的一些相关模型,例如宽度学习网络,还有我所提出的一些关于深度学习的一些增强方法,关于这部分增强方法,还有宽度学习系统的一些相关改进方法,这部分都是我通过matlab和python基于理论公式手写出来的。当然关于一些其他对比算法的话,我也借助了一些深度学习框架,如tensorflow等。因为其实这种深度学习框架给我们就是给我们应用一种人工智能技术提供了很便利的方式。在对比方法,我主要是通过一些相关的学术论文,还有一些网上网友相关的的介绍,我了解到模型的一些工作原理,了解到模型结构的细节。当然确实考虑到一些时间还有一些个人的精力,并不能将每一个对比方法都通过手撕代码来实现。未来也会不断督促自己可以熟练的将经典的网络模型自己搭建出来。

13.你能介绍一下常用的优化器,他们有什么不同呢?

在机器学习和深度学习中,优化器是用于最小化(或最大化)损失函数的算法。我可以就一些经典的优化器进行一个简单的介绍。随机梯度下降(SGD) 是最基础的优化算法之一,通过计算损失函数对参数的梯度,并沿着梯度的负方向更新参数。
批量梯度下降(BGD) 与SGD不同,BGD使用整个训练数据集计算梯度。这样的做法可能更稳定,但在大型数据集上的计算代价较高。小批量梯度下降(Mini-Batch Gradient Descent)是上述SGD和BGD的折中,每次更新时使用一小部分训练数据。通常在实践中使用,因为它兼具计算效率和较好的收敛性。

14.你了解反向传播吗?公式有自己推导过吗?

反向传播(Backpropagation)是一种在神经网络中用于训练模型的优化算法。它通过计算损失函数对网络参数的梯度,并使用梯度下降或其他优化算法来调整参数,从而最小化损失函数。

以下是反向传播的基本步骤:

前向传播(Forward Propagation): 在训练数据上进行前向传播,通过神经网络计算模型的预测值。

计算损失(Compute Loss): 计算预测值与实际标签之间的损失,表示模型的性能差异。

反向传播(Backward Propagation): 通过链式法则,计算损失函数对每个参数的梯度。链式法则是微积分中的一条规则,用于计算复合函数的导数。

更新参数(Update Parameters): 使用梯度下降或其他优化算法,沿着梯度的反方向更新模型的参数,以降低损失函数的值。

这一过程在整个训练集上迭代多次,直到模型收敛到一个合适的状态。反向传播是通过有效地传递误差信号来调整网络参数,以提高模型的性能。这种方法允许神经网络学习复杂的特征和模式,使其能够在未见过的数据上进行泛化。

15.我看你不是学计算机的,那这些关于深度学习的知识你是怎么学习的?

关于学生的学习的知识的话,其实我主要是三种渠道进行一个学习,第一的话是网上有很多优质的一些资源课程,比如在B站上有很多公开课程,但是我主要是就会浏览更多的是。中国大学慕课那里面有很多一些大学教授相关的一些课程,我觉得这些课程都是就是质量会比较高的一些课程,通过在慕课中的学习,我对机器学习、深度学习,还有一些统计模型都进行一个系统学习,也了解到关于模型训练方面的知识,例如反向传播及优化器的选择。
第二种渠道的话,是通过一些网友网上进行一些博客的一些分享,当然其实这在这方面的话,博客分享其实就是内容会参差不齐,甚至也会存在一些错误的一些内容。我会借鉴他们一些建议和内容,当然也会结合一些自自己的理解,然后对他们的需求进行一个就是校验吧。
第三种的话,就是在研究生期间的话,在整个课题组还有与老师的沟通,是一个很高效的一个学习方式,因为在这个过程既既有知识的传输,又有自己自学技能的一个体现。我老师他本身就是在计算机系任任教的一一个老师,他对整个深度学习,机器学习有一个系统的认知。他经常会提出一些比较建设性,比较专业性的一些建议,也通过和他一些交流,让我对整个模型有了更加全面的一些认识。

16.numpy、pandas、matplotlib这些工具箱你会使用吗?

17.如果给你一个项目,目标是什么其实并不清晰,怎么评价也知道,需求也很模糊,请问对于这个项目你会怎么开展?

明确项目目标: 首先,与项目相关的各方进行沟通,包括项目发起人、利益相关者和团队成员。尽量从他们那里获取更多信息,以明确项目的目标和期望成果。
制定项目计划: 根据初步了解的信息,制定一个灵活的项目计划。这个计划应该包括项目的阶段性目标、关键任务和预计的时间表。同时,要明确项目的优先级和资源需求。
进行需求分析: 虽然需求模糊,但可以尝试进行初步的需求分析。通过与相关人员交流、研究类似项目的经验,收集更多信息,以便更好地理解项目的要求。
制定临时目标: 在明确项目整体目标之前,可以制定一些短期、可达到的目标。这些目标可以帮助项目团队保持动力和前进的方向,并且在实现这些目标的过程中,更多地了解项目的需求和方向。
敏捷开发方法: 考虑使用敏捷开发方法,例如Scrum。敏捷方法允许团队在不断迭代的过程中逐渐明确项目需求,同时及时调整和改善项目计划。
持续沟通: 与项目相关的各方要保持持续的沟通。定期举行会议,确保项目的进展和方向得到及时的反馈,以便及时调整和纠正。
风险管理: 对于目标不明确的项目,风险可能更高。因此,在项目计划中加入风险评估和管理步骤,及时应对可能的问题。
迭代优化: 随着项目的进行,不断进行迭代优化。根据学到的经验和新的信息,及时调整项目计划和方向。

18.你们数据量有多大,介绍一下你的数据集?

19.你是怎么评估的,像污水处理厂的数据每天都会更新,数据量会越来越大,你们又是如何评估污水处理厂的状态呢?

对污水处理厂的话,我们是以14天进行一个周期进行一个评估的。一般在这十四天中,我们会更加关注后七天污水处理厂的运行情况。14天是因为就是一批次污水,它处理完成的整个流程的是14天,所以我们会更加关注这14天内它的一个表现情况。在这14天的话,我们是每个15分钟进行一个采样,所以14天总共的数据样本量是1344条。

以下是如果我作为面试官我可能会问的一些问题:

1.介绍一下你的增量学习

关于我们宽度学习的增量学习过程,我们采用这种方式的话,是通过横向添加神经元,获得一个新的输入层,我们通过一种方式可以计算出新的输入层的伪逆。基于新的输入层的伪逆和它的标签输出,通过它矩阵乘积运算就可以获得更新后的一个连接权重,接着来完成我们去模型一个更。所以在我们的增高学习过程中,其实只涉及到一个输入层的一个稳定计算,通过计算中稳定的话,其实我们并不需要记录下降,然后不需要多次带来获得,所以它在时间上是更快的。所以几乎它。可以选一个。我想在线更。

2.如果让你把增量学习添加到深度学习中,你会怎么操作?

3.如果数据量不足,此时你会怎么训练模型?

当面临数据量不足的情况时,可以考虑以下策略来训练模型,如数据增强(Data Augmentation): 对现有数据进行一些随机的变换,以生成更多的训练样本。在图像领域,可以进行旋转、缩放、翻转等操作;在文本领域,可以进行词语替换、删除或插入等变换。迁移学习(Transfer Learning): 利用在一个大规模数据集上训练过的预训练模型的特征,然后在目标任务上进行微调。这可以减轻数据量不足的问题,特别是在源任务和目标任务有相似特征的情况下。使用预训练模型: 使用在大规模数据集上预训练的模型,例如在自然语言处理中使用BERT或在计算机视觉中使用ImageNet上预训练的模型。这些模型已经学到了通用的特征,可以在小数据集上表现良好。
在我们的青霉素生产过程或者污水处理过程中,由于可以通过仿真平台生成海量的相关数据,因而并不存在这样的问题。不过我们为了增强模型的鲁棒性,我们会给数据加上不同程度的噪声,来丰富数据的多样性。

4.出现数据缺失怎么办

数据缺失问题可以通过多种方式进行缺失值的填充。如均值、中位数、众数填充: 使用整个特征的均值、中位数或众数填充缺失值。这对于数值型数据或者离散型数据都是有效的方法,尤其在数据分布不明显时。使用相似样本填充: 基于相似性的原则,使用其他样本的信息来填充缺失值。可以通过计算距离或相似性指标来找到最相似的样本进行填充。使用机器学习模型进行填充: 利用其他特征建立模型,预测缺失值。这可以是回归模型、决策树、随机森林等,具体选择模型取决于数据的性质。
在我们仿真平台生成的过程中其实并不存在数据缺失的现象。不过为了模拟真实的污水处理过程的数据缺失情况,我们对样本进行了删除,并通过构建机器学习模型对缺失值进行填充,最终实现故障检测的任务。

5.数据集有多少个特征?都有哪些?为什么要选择这些特征?

在我们的污水处理过程中的话,我们总共是关注18个特征,这些18个特征是并不在污水处理过程中的,它的五个反应池,还有最后沉淀池中。这18个特征包括如PH值,溶氧浓度,温度,还有它的营养物质浓度,还有如含氮浓度,含磷浓度等。针对特征选择方面,其实我们有两种方法,第一种我们也是参考了很多论文,一般他们因为其实在这个领域的话,其实有很多相关研究学者做了很多相关工作,我们所选择的这些特征,也是比较有代表性的特征。当前进行污水处理过程,无论是监测还是关键指标的测量,是他们所要关注的一些特征。基于我们选择了这些特征之后,我们还会特征进行一个预处理从中选择出更加关键一些特征,在这预处理方式,我们可能会通过一些白化处理,还有一些独立充分。分析或者一些因子分析方法,我们把关键特征进行提取出来,接着完成我们目前的下一步的一个训练。

6.介绍一下在GRU这篇论文中,你是怎么训练模型,怎么监测的?OICA是干什么用的,为什么需要提取非高斯特征。难道这种特征神经网络提取不到吗?

关于我怎么训练模型这个过程的话,我可以分两部分进行一个介绍,首先可以看一下我们的数据集,我们的数据集是一个时间样本序列数据,数据集总共有30批次,其中每批次有1344个样本,所以一共是40320个样本,每个样本有18个特征。然后每一个样本包含18个特征,同时也对应一个过程状态的标记,过程状态分为四种状态,分别是正常、污泥膨胀、毒性冲击和栖息地破坏四种故障,用独热编码的形式对这四种状态进行标记。当我们获得这些有标记的数据集之后,我们就可以基于这些已标记的数据集对架构好的模型进行有监督训练。模型的训练过程是基于一个反向传播的训练方法,通过每一层神经元的映射,如OICA层、GRU层、全连接层。将输入和输出频的误差反向传播到输入层,对通过多次迭代对层与层之间的连接权重进行一个更新,最终完成模型的一个收敛。其中OICA的目的是挖掘到数据中的非高斯特征。首先我们明白污水处理过程是一个多阶段的过程,过程的阶段与微生物的生长阶段息息相关,微生物分为生长期、稳定期和衰亡期,这也影响着污水处理过程的阶段。每个阶段内在稳定变化,但是阶段之间变化特征是相互迥异的,因此在整个周期内,它表现一种非高斯特性的变化。但是这种非高斯性隐藏在过程数据中,通过我们传统的深度网络,其实很难挖掘到非高斯变化特征,而OICA要做的就是把非高斯特征从数据中挖掘出来。OICA是通过构建独立原子来实现构建一个映射权重,最终实现数据到一个非高斯特征数据的一个映射。当你获得非高斯特征数据之后,我们用加入对非高斯特征继续模型的训练,这最终挖掘到数据中的非高斯特征。

7.我了解到时间序列都具有一定的时间相关性,对这一特征,你都是怎么处理的?

自回归模型(ARIMA)模型是一种常用的时间序列预测模型,它结合了自回归和滑动平均的成分。ARIMA模型的差分操作可以帮助处理时间序列的非平稳性。
使用时间特征: 将时间信息作为特征引入模型中。例如,将日期转换为星期几、月份、季度等,并利用这些特征来捕捉时间上的变化。
时滞思想:通过时滞思想对数据进行动态扩展。

LSTM和GRU等深度学习模型: 针对复杂的时间序列模式,可以考虑使用深度学习模型,如长短时记忆网络(LSTM)和门控循环单元(GRU)等。

8. 介绍一下adam相较于sgd做了哪些改进?

ADAM全称是用自适应学习算法,SGD的话是有随机梯度下降算法,自适应算法的话,在随机梯度算法的基础上做了一些改进,可以总结为包括三种改进方式。第一针对学习率的进行调整,随机梯度下降算法,它采用的是固定学习率的一个更新方式,就是在每一个参数,它们的学习率都是统一的,但是我们在自身的学习方法中,每个参数都有自己的学习率。第二方面的话,在ADAM中有了一个动量项,这种动量项可以帮助算法在优化过程中更快的进行收敛,并且有助于处于那种稀疏特征。第三方面的话,是ADAM中引入了一个二次去估计的方法,这个二阶矩估计可以看做是对梯度变化的方向进行了估计,通过这种方法可以进行一个学习的有效的一个调整。ADAM通过上述这种三种肯定方式,使得模型的训练更加高效和稳定。

9.你都学习过哪些关于深度学习的知识?

深度学习模型的训练过程,梯度下降方法。优化器的选择、激活函数的选择、模拟退火方法、注意力机制等方法。在这个过程中我也认识到很多深度学习模型,如RNN、LSTM、GRU、SAE、CNN、Transformer、Bert等模型,通过对模型原理的分析我对深度学习有了更深刻的认识。

自监督学习、无监督学习和有监督学习的区别?

首先我谈谈我对有监督学习算法的一个认识,在有监督学习算法中,模型接收带有标签的数据,它的每一个样本中都有一个明确的标签。一般我们用有监督学习的话,目标是为了学习从输入到输出的一种映射,从而最小化我们预测值和实际之间的误差,并将误差进行反向传播,来不断完成模型的训练。
对于无监督学习它没有目标输出。模型接收未标签的训练数据,没有目标输出。模型需要自行发现数据中的模式和结构。
关于自监督学习的认识的话,自监督学习是通过设计一些认知的模型,可以从输入数据中学习到有意义的特征,我认为它是一种特殊的无监督学习。一般自监督学习通常是对数据如图片进行变换或者遮蔽来实现,然后生成一些伪标签模型,通过这种伪标签的话,就会像有监督学习一样进行一个训练啊。一般自监督学习的话,采用的方法是例如对图像。进行进去的话,我会将图像中的一部分进行一个遮挡,使得模型通过通过我们数据中来学到遮遮挡的一些信息,通过就是我们现有的数据并不需要进行标记,而然后进行一个遮遮挡。那我是认识到一个图片,一些相关内容。例如我在对比我所提的,例如我在项目中的公平性对比学习,公平对比学习的话,其实他们之前的学习和有监督学习两种方法,在自前的学习中的话,我们是相相对很多就是跟。数据集中某一张图片,我们对图片进行进对,我们可以进行裁剪、截取、翻转等多种形式,获得关于同一张图的不同表现形式。我们将这些图片进入一个。要么一个正样本比其他,要么定一个负样本,通过这种这种生成伪标签对模型进行的训练,让模型用到一些特征。

关于实习的问题

介绍一下你实习时公平性对比学习模型做图像分类的任务

介绍一下数据集,从哪里获得的,是什么样的

你怎么对数据集进行划分的?训练集、验证集、测试集都是什么

你说说你是怎么做到提高模型的公平性的

怎么评价模型的公平性

什么是敏感性特征?

在这个项目中你负责什么部分?

这个数据集本身就是对敏感特征有偏见吗,比如你说的对年龄、性别?

你这个项目用什么工具完成的?硬件设备是什么?

一般面试都会围绕数据集、创新,解决问题的方法进行询问。个别会问一些深度学习的基础知识,如梯度下降,优化器,激活函数,损失函数等
之后会结合部门的业务问一些你的经历,如CV算法,NLP算法。CV方面你可以说用过resnet、CNN、BLS进行数字识别,YOLO进行目标定位。NLP方面你就说transformer实现机器翻译,在这个过程中对词向量、句向量有了更多的认识,接触到了CBOW模型、bert、gpt。在NLP中文字通过编码也可以转换为时间序列数据,而我们污水处理过程也是在处理时间序列数据,因此了解到了很多时间序列模型,GRU、RNN、LSTM、双向LSTM,我也使用GRU发表了污水处理过程的论文一篇。
关于CV算法和这些NLP算法的介绍,我总结道另一篇博客中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值