多任务学习(Multi-task learning)
在迁移学习中,你的步骤是串行的,你从任务A里学习只是然后迁移到任务B。在多任务学习中,你是同时开始学习的,试图让单个神经网络同时做几件事情,然后希望这里每个任务都能帮到其他所有任务。
我们来看一个例子,假设你在研发无人驾驶车辆,那么你的无人驾驶车可能需要同时检测不同的物体,比如检测行人、车辆、停车标志,还有交通灯各种其他东西。比如在左边这个例子中,图像里有个停车标志,然后图像中有辆车,但没有行人,也没有交通灯。
如果这是输入图像x^((i)),那么这里不再是一个标签 y^((i)),而是有4个标签。在这个例子中,没有行人,有一辆车,有一个停车标志,没有交通灯。
然后如果你尝试检测其他物体,也许 y^((i))的维数会更高,现在我们就先用4个吧,所以 y((i))是个4×1向量。如果你从整体来看这个训练集标签和以前类似,我们将训练集的标签水平堆叠起来,像这样y((1))一直到y^((m)):
不过现在y^((i))是4×1向量,所以这些都是竖向的列向量,所以这个矩阵Y现在变成4×m矩阵。而之前,当y是单实数时,这就是1×m矩阵。
那么你现在可以做的是训练一个神经网络,来预测这些y值,你就得到这样的神经网络&