\begin{tikzpicture} \begin{scope} \node [anchor=center] (node1-1) at (0,0) {\small{$y'$}}; \node[anchor=south,line width=0.6pt,draw,rounded corners,minimum height=1.5em,minimum width=4.3em,fill=blue!20](node1-2) at ([yshift=-3em]node1-1.south) {\small{Softmax}}; \node[anchor=north,line width=0.6pt,draw,rounded corners,minimum height=2.2em,minimum width=4.3em,fill=blue!20](node1-3) at ([yshift=-2.0em]node1-2.south) {\small{解码器}}; \node[anchor=north,line width=0.6pt,draw,rounded corners,minimum height=2.2em,minimum width=4.3em,fill=yellow!20](node3-3) at ([yshift=-2.0em]node1-3.south) {\small{语言模型}}; \node[anchor=west,line width=0.6pt,draw,rounded corners,minimum height=1.5em,minimum width=4.3em,fill=blue!20](node3-2) at ([xshift=2em]node3-3.east) {\small{Softmax}}; \node [anchor=north] (node3-1) at ([yshift=3.0em]node3-2.north) {\small{$z'$}}; \node[anchor=north](node3-41) at ([xshift=-0.6em,yshift=-2em]node3-3.south) {\small{$y$}}; \node[anchor=north](node3-42) at ([xshift=0.6em,yshift=-2em]node3-3.south) {\small{$z$}}; \node[anchor=east,line width=0.6pt,draw,rounded corners,minimum height=2.2em,minimum width=4.3em,fill=red!20](node2-1) at ([xshift=-2em]node1-3.west) {\small{编码器}}; \node[anchor=north](node2-2) at ([yshift=-2em]node2-1.south) {\small{$x$}}; \node [rectangle,rounded corners,draw=red,line width=0.2mm,densely dashed,inner sep=0.4em] [fit = (node3-2) (node3-3)] (inputshadow) {}; \draw [->,thick](node1-3.north)--(node1-2); \draw [->,thick](node1-2.north)--(node1-1); \draw [->,thick](node2-2.north)--(node2-1); \draw[->,thick](node2-1.east)--(node1-3.west); \draw [->,thick](node3-41.north)--([xshift=-0.6em]node3-3.south); \draw [->,thick](node3-42.north)--([xshift=0.6em]node3-3.south); \draw [->,thick](node3-3.north)--(node1-3.south); \draw [->,thick](node3-2.north)--(node3-1); \draw[->,thick](node3-3.east)--(node3-2.west); \node [anchor=east] (node2-1-1) at ([xshift=-12.0em,yshift=-4.25em]node1-1.west) {\small{$y'$}}; \node[anchor=south,line width=0.6pt,draw,rounded corners,minimum height=1.5em,minimum width=4.3em,fill=blue!20](node2-1-2) at ([yshift=-3em]node2-1-1.south) {\small{Softmax}}; \node[anchor=north,line width=0.6pt,draw,rounded corners,minimum height=2.2em,minimum width=4.3em,fill=blue!20](node2-1-3) at ([yshift=-2.0em]node2-1-2.south) {\small{解码器}}; \node[anchor=east,line width=0.6pt,draw,rounded corners,minimum height=2.2em,minimum width=4.3em,fill=red!20](node2-2-1) at ([xshift=-2em]node2-1-3.west) {\small{编码器}}; \node[anchor=north](node2-2-2) at ([yshift=-2em]node2-2-1.south) {\small{$x$}}; \node[anchor=north](node2-2-3) at ([yshift=-2em]node2-1-3.south) {\small{$y$}}; \draw [->,thick](node2-1-2.north)--(node2-1-1); \draw [->,thick](node2-2-2.north)--(node2-2-1); \draw[->,thick](node2-2-1.east)--(node2-1-3.west); \draw [->,thick](node2-1-3.north)--(node2-1-2.south); \draw [->,thick](node2-2-3.north)--(node2-1-3); \node [anchor=east] (node1) at ([xshift=-2.0em,yshift=4em]node2-1-1.west) {\small{$x,y$:双语数据}}; \node [anchor=north] (node2) at ([xshift=0.45em]node1.south) {\small{$z$}:单语数据}; \node [anchor=north](pos1) at ([yshift=-3.5em]node3-3.south) {\small{(b)多任务学习}}; \node [anchor=east](pos2) at ([xshift=-10.0em]pos1.west) {\small{(a)单任务学习}}; \end{scope} \end{tikzpicture}