在此之后,用GRU对烹饪步骤进行顺序编码。在初始阶段使用
F
i
a
t
t
e
n
d
F_{i_{attend}}
Fiattend??,该设计的目的是模仿烹饪的过程(因为一步一步的将Instruction特征加进去,就像烹饪做菜一样,有步骤的把菜放入锅中),每一个烹饪的结果显然易见的是GRU的隐藏状态,这里将
φ
i
n
s
\varphi_{ins}
φins?表示为一个烹饪步骤序列。第
j
j
j个通道GRU的最后一个隐藏状态表示为:
F
i
c
o
o
k
j
=
G
R
U
(
F
i
a
t
t
e
n
d
j
,
φ
i
n
s
)
F_{i_{cook_j}}=GRU(F_{i_{attend_j}},\varphi_{ins})
Ficookj???=GRU(Fiattendj???,φins?)
也就是说
F
i
a
t
t
e
n
d
F_{i_{attend}}
Fiattend??中的每个通道都需要与GRU和
φ
i
n
s
\varphi_{ins}
φins?进行编码。其中
F
i
c
o
o
k
j
F_{i_{cook_j}}
Ficookj???为第
i
i
i个scale“cooked”特征图的第
j
j
j个通道。最终cooked feature maps与
V
i
V_i
Vi?有相同的维数,然后将
V
i
V_i
Vi?、
F
i
a
t
t
e
n
d
F_{i_{attend}}
Fiattend??和
F
i
c
o
o
k
F_{i_{cook}}
Ficook??三组feature map串联之后接入残差块中,然后得到的特征映射成为下一轮图像上采样的输入。