当前位置:   article > 正文

阿里巴巴大厂面试参考指南【第24篇,三年Python开发

阿里巴巴大厂面试参考指南【第24篇,三年Python开发

我们认为一个好的表示应该能够在它所属的流形空间中找到合适的投影,并促进后续客观任务的成功。例如,如图 3 所示,如果目标类别可以通过投影空间中的超平面成功分类,那将是最好的结果。在上面的例子中,我们可以通过投影向量和隐式表示的内积来达到降低流形空间维数,有效完成各种任务的目的。

image-20220106184530105

3.2. 内核空间对齐


多任务和多头神经网络中,内核空间未对齐是一个常见问题,图 4.(a) 说明了多任务和多头 NN 中内核空间未对齐的示例。 为了解决这个问题,我们可以对输出特征和隐式表示进行加法和乘法,从而可以平移、旋转和缩放核空间以对齐神经网络的每个输出核空间,如图4(b)所示。 . 上述操作模式可以广泛应用于不同领域,例如特征金字塔网络(FPN)[8]中大对象和小对象的特征对齐,使用知识蒸馏来整合大模型和小模型,以及 处理零样本域转移和其他问题。

image-20220106184826761

3.3. 更多功能


除了可以应用于不同任务的功能外,隐性知识还可以扩展到更多的功能中。 如图5所示,通过引入加法,可以使神经网络预测中心坐标的偏移。 还可以引入乘法来自动搜索锚的超参数集,这是基于锚的对象检测器经常需要的。 此外,可以分别使用点乘法和串联法来执行多任务特征选择并为后续计算设置前提条件。

image-20220106184950306

4、我们统一网络中的隐性知识

=========================================================================

在本节中,我们将比较传统网络和提出的统一网络的目标函数,并解释为什么引入隐性知识对于训练多用途网络很重要。 同时,我们还将详细阐述本工作中提出的方法的细节。

4.1. 隐性知识的形成


常规网络:对于常规网络训练的目标函数,我们可以用(1)表示如下:

y = f θ ( x ) + ϵ y=f_{\theta}(\mathbf{x})+\epsilon y=fθ​(x)+ϵ

​ minimize ϵ \epsilon ϵ

其中 x 是观察值,θ 是神经网络的参数集, f θ f_{θ } fθ​表示神经网络的操作,是误差项,y 是给定任务的目标。

在传统神经网络的训练过程中,通常会最小化 ϵ \epsilon ϵ使 f θ ( x ) f_{θ}(x) fθ​(x) 尽可能接近目标。 这意味着我们期望对同一目标的不同观察是由 fθ 获得的子空间中的单个点,如图 6.(a) 所示。 换句话说,我们期望获得的解空间仅对当前任务 t i t_{i} ti​具有判别性,并且对各种潜在任务中的 t i t_{i} ti​ 以外的任务不变, T \ t i T \backslash t_{i} T\ti​,其中 T = { t 1 , t 2 , … , t n } T=\left\{t_{1}, t_{2}, \ldots, t_{n}\right\} T={t1​,t2​,…,tn​}。

对于通用神经网络,我们希望得到的表征可以服务于所有属于 T T T 的任务。因此,我们需要放松,使得可以在流形空间上同时找到每个任务的解,如图 6 所示 .(b)。 但是,上述要求使我们无法使用简单的数学方法,例如one-hot向量的最大值或欧几里得距离的阈值来获得 t i t_{i} ti​的解。 为了解决这个问题,我们必须对误差项进行建模以找到不同任务的解决方案,如图 6.©

image-20220106200821510

统一网络:


为了训练提出的统一网络,我们一起使用显性和隐性知识对误差项进行建模,然后用它来指导多用途网络训练过程。 对应的训练方程如下:

y = f θ ( x ) + ϵ + g ϕ ( ϵ e x ( x ) , ϵ i m ( z ) )  minimize  ϵ + g ϕ ( ϵ e x ( x ) , ϵ i m ( z ) )

y=fθ(x)+ϵ+gϕ(ϵex(x),ϵim(z)) minimize ϵ+gϕ(ϵex(x),ϵim(z))
​y=fθ​(x)+ϵ+gϕ​(ϵex​(x),ϵim​(z)) minimize ϵ+gϕ​(ϵex​(x),ϵim​(z))​

其中 ϵ e x \epsilon_{e x} ϵex​ 和 ϵ i m \epsilon_{i m} ϵim​ 是分别建模来自观察 x 和潜在代码 z 的显式误差和隐式误差的操作。 g ϕ g_{\phi} gϕ​ 在这里是一个特定于任务的操作,用于从显性知识和隐性知识中组合或选择信息。

有一些现有的方法可以将显性知识整合到 f θ f_{\theta} fθ​中,因此我们可以将(2)重写为(3)。

y = f θ ( x ) ⋆ g ϕ ( z ) y=f_{\theta}(\mathbf{x}) \star g_{\phi}(\mathbf{z}) y=fθ​(x)⋆gϕ​(z)

其中 ⋆ \star ⋆ 表示可以组合 f θ f_{\theta} fθ​ 和 g ϕ g_{\phi} gϕ​ 的一些可能的算子。 在这项工作中,将使用第 3 节中介绍的运算符,即加法、乘法和连接。

如果我们将误差项的推导过程扩展到处理多个任务,我们可以得到以下等式:

F ( x , θ , Z , Φ , Y , Ψ ) = 0 F(\mathbf{x}, \theta, \mathbf{Z}, \Phi, Y, \Psi)=0 F(x,θ,Z,Φ,Y,Ψ)=0

其中 Z = { z 1 , z 2 , … , z T } \mathbf{Z}=\left\{\mathbf{z}_{1}, \mathbf{z}_{2}, \ldots, \mathbf{z}_{T}\right\} Z={z1​,z2​,…,zT​} 是T个不同任务的一组隐式潜在代码。 Φ 是可用于从 Z 生成隐式表示的参数。 Ψ \Psi Ψ 用于从显式表示和隐式表示的不同组合计算最终输出参数。

对于不同的任务,我们可以使用下面的公式来获得对所有 z ∈ Z z \in Z z∈Z的预测:

d Ψ ( f θ ( x ) , g Φ ( z ) , y ) = 0 d_{\Psi}\left(f_{\theta}(\mathbf{x}), g_{\Phi}(\mathbf{z}), y\right)=0 dΨ​(fθ​(x),gΦ​(z),y)=0

对于所有任务,我们从一个通用的统一表示 f θ ( x ) f_{\theta}(x) fθ​(x) 开始,经过特定任务的隐式表示 g Φ ( z ) g_{\Phi}(\mathbf{z}) gΦ​(z),最后使用特定任务的判别器 d Ψ d_{\Psi} dΨ​ 完成不同的任务。

4.2. 隐性知识建模


我们提出的隐性知识可以通过以下方式建模:

向量/矩阵/张量:

z z z

直接使用向量 z z z 作为隐式知识的先验,直接作为隐式表示。 这时,必须假设每个维度都是相互独立的。

神经网络:

W z W_{z} Wz​

使用向量 z z z作为隐式知识的先验,然后使用权重矩阵W进行线性组合或非线性化,成为隐式表示。 这时,必须假设每个维度都是相互依赖的。 我们还可以使用更复杂的神经网络来生成隐式表示。 或者使用马尔可夫链来模拟不同任务之间隐式表示的相关性。

矩阵分解:

Z T c Z^{T}c ZTc

使用多个向量作为隐式知识的先验,这些隐式先验基Z和系数c将形成隐式表示。 我们还可以进一步对 c 做稀疏约束,将其转化为稀疏表示形式。 此外,我们还可以对 Z 和 c 施加非负约束,将它们转换为非负矩阵分解(NMF)形式。

4.3. 训练


假设我们的模型在开始时没有任何先验的隐性知识,也就是说,它不会对显式表示 fθ(x) 产生任何影响。 当组合运算符 ⋆ ∈ \star \in ⋆∈{addition; concatenation },初始隐式先验 Z ∼ N ( 0 , σ ) \mathbf{Z} \sim N(0, \sigma) Z∼N(0,σ),以及何时组合算子 ⋆ \star ⋆ 是乘法, z ∼ N ( 1 , σ ) \mathbf{z} \sim N(1, \sigma) z∼N(1,σ)。 这里,σ 是一个非常小的值,接近于零。 对于 z 和 φ,它们都在训练过程中使用反向传播算法进行训练。

4.4. 推理


由于隐式知识与观察x无关,无论隐式模型gφ有多复杂,都可以在推理阶段执行之前将其简化为一组常数张量。 换句话说,隐含信息的形成对我们算法的计算复杂度几乎没有影响。 另外,当上面的算子是乘法的时候,如果后面的层是卷积层,那么我们就用下面的(9)来积分。 当遇到加法算子,如果前一层是卷积层,没有激活函数,那么就用下图的(10)来积分。

image-20220106231251487

5、实验

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
img

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

员的圈子,让我们一起学习成长!**](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/545573
推荐阅读
相关标签
  

闽ICP备14008679号