一对一免费咨询: 18215660330

多任务学习是深度学习的一个子领域。建议您熟悉神经网络的概念,以了解多任务学习的含义。

什么是多任务学习?

多任务学习是机器学习的一个子领域,旨在利用不同任务之间的相似性,同时解决多个不同任务。这可以提高学习效率,还可以充当正则化器,我们将在稍后讨论。
正式地,如果有n个任务(传统的深度学习方法旨在使用1个特定模型仅解决1个任务),而这n个任务或它们的一个子集彼此相关但并不完全相同,则称为多任务学习(MTL)通过使用所有n个任务中包含的知识,将有助于改善特定模型的学习。

多任务学习(MTL)背后的直觉:
通过使用深度学习模型,我们通常旨在学习很好地表示输入数据的特征或属性,以预测特定值。形式上,我们的目标是通过训练模型并微调超参数,直到无法进一步提高性能来针对特定功能进行优化。
通过使用MTL,有可能通过迫使模型学习(而不是针对一个特定任务,而是针对一堆任务)学习(更新其权重)更广泛的表示,从而进一步提高性能。
在生物学上,人类以相同的方式学习。如果我们学习多个相关任务,而不是长时间专注于一项特定任务,我们会学得更好。

MTL作为正则化器:

在机器学习的术语中,MTL也可以看作是一种导致偏差的方法。它是归纳转移的一种形式,使用多个任务会导致偏向,偏向于偏好可以解释所有n个任务的假设。
如上所述,MTL通过引入感应偏置来充当正则化器。它显着降低了过拟合的风险,并且还降低了模型在训练过程中适应随机噪声的能力。

现在,让我们讨论使用MTL的主要和流行技术。

硬参数共享–
所有任务都使用一个通用的隐藏层,但是在模型结束时,几个特定于任务的层保持不变。该技术非常有用,因为通过使用公共隐藏层学习各种任务的表示形式,我们可以降低过度拟合的风险。

硬参数共享

软参数共享–
每个模型都有其自己的权重和偏差集,并且对不同模型中这些参数之间的距离进行了规范化,以使参数变得相似并可以代表所有任务。

软参数共享

假设和注意事项–仅当任务非常相似时,使用MTL在任务之间共享知识才非常有用,但是如果违反了此假设,性能将大大下降。

应用程序:
MTL技术有多种用途,其中一些主要的应用程序是-

物体检测和面部识别
自动驾驶汽车:可以同时检测到行人,停车标志和其他障碍物
Web应用程序的多域协作过滤
库存预测
语言建模和其他NLP应用程序

成都软件开发 最好的成都软件定制开发公司
18215660330