Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
mtbookv2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
NiuTrans
mtbookv2
Commits
e0392d26
Commit
e0392d26
authored
Dec 21, 2020
by
曹润柘
Browse files
Options
Browse Files
Download
Plain Diff
合并分支 'caorunzhe' 到 'master'
Caorunzhe 查看合并请求
!652
parents
fe64968e
4a458dc0
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
232 行增加
和
49 行删除
+232
-49
Chapter16/chapter16.tex
+1
-20
Chapter17/Figures/figure-audio-processing.tex
+42
-0
Chapter17/Figures/figure-cascading-speech-translation.tex
+46
-0
Chapter17/Figures/figure-framing-schematic.tex
+17
-0
Chapter17/Figures/figure-joint-encoder-mode.tex
+17
-0
Chapter17/Figures/figure-three-ways-of-dual-decoder-speech-translation.tex
+45
-0
Chapter17/chapter17.tex
+0
-0
Chapter4/chapter4.tex
+0
-0
Chapter9/chapter9.tex
+0
-0
bibliography.bib
+64
-29
没有找到文件。
Chapter16/chapter16.tex
查看文件 @
e0392d26
...
...
@@ -333,15 +333,6 @@
\parinterval
无监督对偶学习为我们提供了一个思路
\upcite
{
qin2020dual
}
。假设目前有两个比较弱的翻译模型,一个原始任务模型
$
f
$
将源语言句子
$
\seq
{
x
}$
翻译成目标语言句子
$
\seq
{
y
}$
,一个对偶任务模型
$
g
$
将目标语言句子
$
\seq
{
y
}$
翻译成源语言句子
$
\seq
{
x
}$
。翻译模型可由有限的双语训练或者使用无监督机器翻译的方法得到。如图
\ref
{
fig:16-10
}
所示,无监督对偶学习的做法是,先通过原始任务模型
$
f
$
将一个源语言单语句子
$
x
$
翻译为目标语言句子
$
y
$
,由于没有参考译文,我们无法判断
$
y
$
的正确性。但通过语言模型,可以判断这个句子是否通顺、符合语法规范,这些信息可用来评估翻译模型
$
f
$
的翻译流畅性。随后,再通过对偶任务模型
$
g
$
将目标语言句子
$
y
$
再翻译为源语言句子
$
x
^{
'
}$
。如果模型
$
f
$
和
$
g
$
的翻译性能较好,那么
$
x
^{
'
}$
和
$
x
$
会十分相似。通过计算二者的
{
\small\bfnew
{
重构损失
}}
\index
{
重构损失
}
(Reconstruction Loss)
\index
{
Reconstruction Loss
}
,就可以优化模型
$
f
$
和
$
g
$
的参数。这个过程可以多次迭代,从大量的无标注单语数据上不断提升性能。
\parinterval
从统计建模的角度看,如果在有监督对偶学习对联合分布
$
\funp
{
P
}
(
y|x
)
$
建模的基础上把
$
y
$
看作一个隐变量,那么可以得到边缘分布
$
\funp
{
P
}
(
x
)
$
,也就是关于
$
x
$
的语言模型:
\begin{eqnarray}
\funp
{
P
}
(
\seq
{
x
}
)
&
=
&
\sum
_{
\seq
{
y
}}
\funp
{
P
}
(
\seq
{
x
}
,
\seq
{
y
}
)
\nonumber
\\
&
\ge
&
\sum
_{
\seq
{
y
}}
\funp
{
P
}
(
\seq
{
x
}
|
\seq
{
y
}
)
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
\label
{
eq:16-6
}
\end{eqnarray}
\parinterval
公式
\eqref
{
eq:16-6
}
使用了
$
\funp
{
P
}
(
\seq
{
x
}
|
\seq
{
x
}
,
\seq
{
y
}
)
\ge
\funp
{
P
}
(
\seq
{
x
}
|
\seq
{
y
}
)
$
。这样,
$
\sum
_{
\seq
{
y
}}
\funp
{
P
}
(
\seq
{
x
}
|
\seq
{
y
}
)
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
$
描述了
$
\funp
{
P
}
(
\seq
{
x
}
)
$
的一个下界。因此,如果直接优化(最大化)公式
\eqref
{
eq:16-6
}
右端,相当于对
$
\funp
{
P
}
(
\seq
{
x
}
|
\seq
{
y
}
)
$
和
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
$
施加了
{
\small\sffamily\bfnew
{
循环一致性
}}
\index
{
循环一致性
}
(Circle Consistency)
\index
{
Circle Consistency
}
的约束
\upcite
{
DBLP:conf/iccv/ZhuPIE17
}
,也就是对于一个句子
$
\seq
{
x
}$
,通过
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
$
把它翻译成
$
\seq
{
y
}$
后,根据
$
\funp
{
P
}
(
\seq
{
x
}
|
\seq
{
y
}
)
$
应该能重新翻译出
$
\seq
{
x
}$
,如图
\ref
{
fig:16-10
}
所示。公式
\eqref
{
eq:16-6
}
给出了同时优化
$
\funp
{
P
}
(
\seq
{
x
}
|
\seq
{
y
}
)
$
和
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
$
的一个目标函数形式。这个目标函数的一个额外的好处是它本质上是在学习一个由
$
\funp
{
P
}
(
\seq
{
x
}
|
\seq
{
y
}
)
$
和
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
$
组成的语言模型
$
\funp
{
P
}
(
\seq
{
x
}
)
$
,而
$
\funp
{
P
}
(
\seq
{
x
}
)
$
的学习依赖于单语数据,这意味着这个目标函数可以很自然地直接使用大量单语数据来同时训练两个翻译模型。相同的结论可以推广到
$
\funp
{
P
}
(
\seq
{
y
}
)
$
上
\upcite
{
DBLP:conf/nips/HeXQWYLM16
}
。
%----------------------------------------------
\begin{figure}
[htp]
\centering
...
...
@@ -351,17 +342,7 @@
\end{figure}
%----------------------------------------------
\parinterval
但是直接使用公式
\eqref
{
eq:16-6
}
作为目标函数需要解决两个问题:
\begin{itemize}
\vspace
{
0.5em
}
\item
计算公式
\eqref
{
eq:16-6
}
要枚举所有可能的隐变量
$
\seq
{
y
}$
的取值,也就是所有可能产生的目标语言句子,而这是不可能的,因此一般会通过平均多个随机产生的
$
\seq
{
y
}$
对应的损失来近似真正的目标函数值;
\vspace
{
0.5em
}
\item
从公式
\eqref
{
eq:16-6
}
可以看到,在
$
\funp
{
P
}
(
\seq
{
x
}
)
$
上计算完目标函数值后,得到的梯度首先传递给
$
\funp
{
P
}
(
\seq
{
x
}
|
\seq
{
y
}
)
$
,然后通过
$
\funp
{
P
}
(
\seq
{
x
}
|
\seq
{
y
}
)
$
传递给
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
$
。由于
$
\funp
{
P
}
(
\seq
{
x
}
|
\seq
{
y
}
)
$
的输入
$
\seq
{
y
}$
是由
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
$
采样得到,而采样操作不可导,这会导致梯度的传播在
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
$
的输出处断开了,因此
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
$
接收不到任何梯度来进行更新。常见的解决方案是使用策略梯度
\upcite
{
DBLP:conf/nips/SuttonMSM99
}
。策略梯度的基本思想如下:如果在执行某个动作之后,获得了一个不错的反馈,那么可以调整策略来增加这个状态下执行该动作的概率;反之,如果采取某个动作后获得了一个负反馈,就需要调整策略来降低这个状态下执行该动作的概率。在算法的实现上,首先对两个翻译模型求梯度,然后在策略调整时选择将梯度加到模型上(获得正反馈)或者减去该梯度(获得负反馈)。
\vspace
{
0.5em
}
\end{itemize}
\parinterval
这个过程与强化学习的流程非常相似。在训练过程中,模型无法知道某个状态下正确的行为是什么,只能通过这种试错-反馈的机制来反复调整。训练这两个模型可以用已有的强化学习算法来训练,比如策略梯度方法
\upcite
{
DBLP:conf/nips/SuttonMSM99
}
。策略梯度的基本思想如下:如果我们在执行某个动作之后,获得了一个不错的反馈,那么我们会调整策略来增加这个状态下执行该动作的概率;反之,如果采取某个动作后获得了一个负反馈,就需要调整策略来降低这个状态下执行该动作的概率。在算法的实现上,首先对两个翻译模型求梯度,然后在策略调整时选择将梯度加到模型上(获得正反馈)或者减去该梯度(获得负反馈)。
%----------------------------------------------------------------------------------------
% NEW SECTION
...
...
Chapter17/Figures/figure-audio-processing.tex
0 → 100644
查看文件 @
e0392d26
\tikzstyle
{
process
}
= [rectangle,very thick,rounded corners,minimum width=4.7cm,minimum height=2.5cm,text centered,draw=black!70,fill=red!20]
\tikzstyle
{
cir
}
= [circle,thick,rounded corners,minimum width=0.7cm,text centered,draw=black,fill=green!25]
\begin{tikzpicture}
[node distance = 0,scale = 0.7]
\tikzstyle
{
every node
}
=[scale=0.7]
\node
(voice)[scale=1.0]
{
声波
}
;
\node
(microphone)[rectangle,right of = voice,xshift=1.4cm,yshift=-1cm,minimum width=0.32cm,minimum height=0.35cm,fill=black!85,draw=black!85]
{}
;
\draw
[black!85,line width=1.8]
([yshift=0.38cm,xshift=-0.4cm]microphone.north)arc(180:360:0.4cm);
\node
(microphone
_
1)[rectangle,minimum width=0.4cm,minimum height=0.8cm,rounded corners=3pt,above of =microphone,yshift=0.75cm,draw=black!85,line width=2.5]
{}
;
\draw
[-,black!85,very thick]
([yshift=0.4cm,xshift=-0.2cm]microphone.north)--([yshift=0.4cm,xshift=-0cm]microphone.north);
\draw
[-,black!85,very thick]
([yshift=0.5cm,xshift=-0.2cm]microphone.north)--([yshift=0.5cm,xshift=-0cm]microphone.north);
\draw
[-,black!85,very thick]
([yshift=0.6cm,xshift=-0.2cm]microphone.north)--([yshift=0.6cm,xshift=-0cm]microphone.north);
\draw
[-,black!85,line width=1.8]
([yshift=0.6cm,xshift=-0.4cm]microphone.north)--([yshift=0.37cm,xshift=-0.4cm]microphone.north);
\draw
[-,black!85,line width=1.8]
([yshift=0.6cm,xshift=0.4cm]microphone.north)--([yshift=0.37cm,xshift=0.4cm]microphone.north);
\draw
[black!85,line width=1]
([yshift=0.8cm,xshift=-0.8cm]microphone.north)arc(-45:45:0.3cm);
\draw
[black!85,line width=1]
([yshift=0.75cm,xshift=-0.7cm]microphone.north)arc(-45:45:0.4cm);
\draw
[black!85,line width=1]
([yshift=0.7cm,xshift=-0.6cm]microphone.north)arc(-45:45:0.5cm);
\node
(process
_
1)[process,right of = microphone,xshift=4.7cm,yshift=0.5cm]
{}
;
\node
(text
_
1)[below of = process
_
1,yshift=-2cm,scale=1.3]
{
采样
}
;
\draw
[very thick,rounded corners=10pt]([xshift=-2.2cm,yshift=-1cm]process
_
1.center)--([xshift=-1.8cm,yshift=1cm]process
_
1.center)--([xshift=-1.4cm,yshift=0cm]process
_
1.center)--([xshift=-1.1cm,yshift=0.8cm]process
_
1.center)--([xshift=-0.8cm,yshift=-0.4cm]process
_
1.center)--([xshift=-0.5cm,yshift=0.4cm]process
_
1.center);
\draw
[->,very thick]([xshift=-0.3cm]process
_
1.center)to([xshift=0.3cm]process
_
1.center);
\draw
[very thick,rounded corners=10pt,densely dotted]([xshift=0.5cm,yshift=-1cm]process
_
1.center)--([xshift=0.9cm,yshift=1cm]process
_
1.center)--([xshift=1.3cm,yshift=0cm]process
_
1.center)--([xshift=1.6cm,yshift=0.8cm]process
_
1.center)--([xshift=1.9cm,yshift=-0.4cm]process
_
1.center)--([xshift=2.2cm,yshift=0.4cm]process
_
1.center);
\node
(process
_
2)[process,right of = process
_
1,xshift=6.6cm]
{}
;
\node
(text
_
2)[below of = process
_
2,yshift=-2cm,scale=1.3]
{
量化
}
;
\draw
[very thick,rounded corners=10pt,densely dotted]([xshift=-2.2cm,yshift=-1cm]process
_
2.center)--([xshift=-1.8cm,yshift=1cm]process
_
2.center)--([xshift=-1.4cm,yshift=0cm]process
_
2.center)--([xshift=-1.1cm,yshift=0.8cm]process
_
2.center)--([xshift=-0.8cm,yshift=-0.4cm]process
_
2.center)--([xshift=-0.5cm,yshift=0.4cm]process
_
2.center);
\draw
[->,very thick]([xshift=-0.3cm]process
_
2.center)to([xshift=0.3cm]process
_
2.center);
\draw
[very thick,]([xshift=0.5cm,yshift=-0.8cm]process
_
2.center)--([xshift=0.5cm,yshift=0.3cm]process
_
2.center)--([xshift=0.7cm,yshift=0.3cm]process
_
2.center)--([xshift=0.7cm,yshift=0.8cm]process
_
2.center)--([xshift=1cm,yshift=0.8cm]process
_
2.center)--([xshift=1cm,yshift=0.2cm]process
_
2.center)--([xshift=1.3cm,yshift=0.2cm]process
_
2.center)--([xshift=1.3cm,yshift=0.6cm]process
_
2.center)--([xshift=1.6cm,yshift=0.6cm]process
_
2.center)--([xshift=1.6cm,yshift=-0.3cm]process
_
2.center)--([xshift=1.8cm,yshift=-0.3cm]process
_
2.center)--([xshift=1.8cm,yshift=0.3cm]process
_
2.center)--([xshift=2cm,yshift=0.3cm]process
_
2.center);
\node
(text1)[left of = process
_
1,xshift=-3.2cm,yshift=-0.5cm,align=center]
{
模拟
\\
语音信号
}
;
\node
(text2)[right of = process
_
1,xshift=3.3cm,yshift=-0.5cm,align=center]
{
离散
\\
时间信号
}
;
\node
(text3)[right of = process
_
2,xshift=3.2cm,yshift=-0.5cm,align=center]
{
数字离散
\\
时间信号
}
;
\draw
[->,very thick]
(process
_
1.east)to(process
_
2.west);
\draw
[->,very thick]
([xshift=-1.8cm]process
_
1.west)to(process
_
1.west);
\draw
[->,very thick]
(process
_
2.east)to([xshift=1.8cm]process
_
2.east);
%%%%音频
\node
(signal)[right of = process
_
2,xshift=5.5cm]
{}
;
\draw
[-,thick,]
([xshift=-1.2cm]signal.center)--([xshift=1.2cm]signal.center);
\draw
[-,thick]
([xshift=-1cm,yshift=-0.8cm]signal.center)--([xshift=-0.9cm,yshift=0.4cm]signal.center)--([xshift=-0.8cm,yshift=-0.3cm]signal.center)--([xshift=-0.7cm,yshift=0.7cm]signal.center)--([xshift=-0.6cm,yshift=-0.1cm]signal.center)--([xshift=-0.5cm,yshift=0.3cm]signal.center)--([xshift=-0.4cm,yshift=-0.5cm]signal.center)--([xshift=-0.3cm,yshift=0.7cm]signal.center)--([xshift=-0.2cm,yshift=-0.2cm]signal.center)--([xshift=-0.1cm,yshift=0.4cm]signal.center)--([xshift=0cm,yshift=-0.9cm]signal.center)--([xshift=0.1cm,yshift=0.5cm]signal.center)--([xshift=0.2cm,yshift=-0.4cm]signal.center)--([xshift=0.3cm,yshift=0.3cm]signal.center)--([xshift=0.4cm,yshift=-0.2cm]signal.center)--([xshift=0.5cm,yshift=0.1cm]signal.center)--([xshift=0.6cm,yshift=-0.8cm]signal.center)--([xshift=0.7cm,yshift=0.4cm]signal.center)--([xshift=0.8cm,yshift=-0.6cm]signal.center)--([xshift=0.9cm,yshift=0.7cm]signal.center)--([xshift=1cm,yshift=-0.2cm]signal.center);
\end{tikzpicture}
\ No newline at end of file
Chapter17/Figures/figure-cascading-speech-translation.tex
0 → 100644
查看文件 @
e0392d26
\tikzstyle
{
process
}
= [rectangle,very thick,rounded corners,minimum width=3.2cm,minimum height=3cm,text centered,draw=black!70,fill=red!20]
\tikzstyle
{
cir
}
= [circle,thick,rounded corners,minimum width=0.7cm,text centered,draw=black,fill=green!25]
\begin{tikzpicture}
[node distance = 0,scale = 0.5]
\tikzstyle
{
every node
}
=[scale=0.5]
\node
(process
_
1)[process]
{}
;
\draw
[-,thick]
([xshift=-1.2cm]process
_
1.center)--([xshift=1.2cm]process
_
1.center);
\draw
[-,thick]
([xshift=-1cm,yshift=-0.8cm]process
_
1.center)--([xshift=-0.9cm,yshift=0.4cm]process
_
1.center)--([xshift=-0.8cm,yshift=-0.3cm]process
_
1.center)--([xshift=-0.7cm,yshift=0.7cm]process
_
1.center)--([xshift=-0.6cm,yshift=-0.1cm]process
_
1.center)--([xshift=-0.5cm,yshift=0.3cm]process
_
1.center)--([xshift=-0.4cm,yshift=-0.5cm]process
_
1.center)--([xshift=-0.3cm,yshift=0.7cm]process
_
1.center)--([xshift=-0.2cm,yshift=-0.2cm]process
_
1.center)--([xshift=-0.1cm,yshift=0.4cm]process
_
1.center)--([xshift=0cm,yshift=-0.9cm]process
_
1.center)--([xshift=0.1cm,yshift=0.5cm]process
_
1.center)--([xshift=0.2cm,yshift=-0.4cm]process
_
1.center)--([xshift=0.3cm,yshift=0.3cm]process
_
1.center)--([xshift=0.4cm,yshift=-0.2cm]process
_
1.center)--([xshift=0.5cm,yshift=0.1cm]process
_
1.center)--([xshift=0.6cm,yshift=-0.8cm]process
_
1.center)--([xshift=0.7cm,yshift=0.4cm]process
_
1.center)--([xshift=0.8cm,yshift=-0.6cm]process
_
1.center)--([xshift=0.9cm,yshift=0.7cm]process
_
1.center)--([xshift=1cm,yshift=-0.2cm]process
_
1.center);
\node
(text
_
1)[below of = process
_
1,yshift=-2cm,scale=1.5]
{
语音信号
}
;
\node
(process
_
2)[process,right of = process
_
1,xshift=7.0cm,text width=4cm,align=center]
{
\baselineskip
=4pt
\LARGE
{
[[0.2,...,0.3],
\qquad
...,
\qquad
0.3,...,0.5]]
}
\par
}
;
\node
(text
_
2)[below of = process
_
2,yshift=-2cm,scale=1.5]
{
语音特征
}
;
\node
(process
_
3)[process,,minimum width=6cm,minimum height=5cm,right of = process
_
2,xshift=8.2cm,text width=4cm,align=center]
{}
;
\node
(text
_
3)[below of = process
_
3,yshift=-3cm,scale=1.5]
{
源语文本及其词格
}
;
\node
(cir
_
s)[cir,very thick, below of = process
_
3,xshift=-2.2cm,yshift=1.1cm]
{
\LARGE
S
}
;
\node
(cir
_
a)[cir,right of = cir
_
s,xshift=1cm,yshift=0.8cm]
{
\LARGE
a
}
;
\node
(cir
_
c)[cir,right of = cir
_
a,xshift=1.2cm,yshift=0cm]
{
\LARGE
c
}
;
\node
(cir
_
f)[cir,right of = cir
_
c,xshift=1.2cm,yshift=0cm]
{
\LARGE
f
}
;
\node
(cir
_
E)[cir,very thick,right of = cir
_
f,xshift=1cm,yshift=-0.8cm]
{
\LARGE
E
}
;
\node
(cir
_
b)[cir,right of = cir
_
s,xshift=1cm,yshift=-0.8cm]
{
\Large
b
}
;
\node
(cir
_
d)[cir,right of = cir
_
b,xshift=1cm,yshift=0.6cm]
{
\Large
d
}
;
\node
(cir
_
e)[cir, right of = cir
_
b,xshift=1cm,yshift=-0.8cm]
{
\LARGE
e
}
;
\node
(cir
_
g)[cir,right of = cir
_
e,xshift=1cm,yshift=0.8cm]
{
\LARGE
g
}
;
\draw
[-latex]
(cir
_
s)node[above,xshift=0.3cm,yshift=0.4cm]
{
0.4
}
to(cir
_
a);
\draw
[-latex]
(cir
_
a)node[above,xshift=0.6cm,yshift=0cm]
{
1
}
to(cir
_
c);
\draw
[-latex]
(cir
_
c)node[above,xshift=0.6cm,yshift=0cm]
{
1
}
to(cir
_
f);
\draw
[-latex]
(cir
_
f)node[above,xshift=0.6cm,yshift=-0.3cm]
{
1
}
to(cir
_
E);
\draw
[-latex]
(cir
_
s)node[above,xshift=0.7cm,yshift=-0.4cm]
{
0.6
}
to(cir
_
b);
\draw
[-latex]
(cir
_
b)node[above,xshift=0.3cm,yshift=0.3cm]
{
0.8
}
to(cir
_
d);
\draw
[-latex]
(cir
_
b)node[above,xshift=0.7cm,yshift=-0.4cm]
{
0.2
}
to(cir
_
e);
\draw
[-latex]
(cir
_
e)node[above,xshift=0.3cm,yshift=0.3cm]
{
1
}
to(cir
_
g);
\draw
[-latex]
(cir
_
d)node[above,xshift=0.7cm,yshift=0cm]
{
1
}
to(cir
_
f);
\draw
[-latex]
(cir
_
g)node[above,xshift=0.6cm,yshift=0.3cm]
{
1
}
--(cir
_
E);
\node
(text)[below of = process
_
3,yshift=-1.8cm,scale=1.8]
{
你是谁
}
;
\node
(process
_
4)[process,right of = process
_
3,xshift=8.2cm,text width=4cm,align=center]
{
\Large\textbf
{
Who are you?
}}
;
\node
(text
_
4)[below of = process
_
4,yshift=-2cm,scale=1.5]
{
翻译译文
}
;
\draw
[->,very thick]
(process
_
1.east)to(process
_
2.west);
\draw
[->,very thick]
(process
_
2.east)to(process
_
3.west);
\draw
[->,very thick]
(process
_
3.east)to(process
_
4.west);
\node
(arrow
_
text1)[right of = process
_
1,xshift=3.2cm,yshift=0.7cm,scale=1.4,align=center]
{
音频
\\
特征提取
}
;
\node
(arrow
_
text2)[right of = process
_
2,xshift=3.6cm,yshift=0.7cm,scale=1.4,align=center]
{
语音
\\
识别系统
}
;
\node
(arrow
_
text3)[right of = process
_
3,xshift=4.5cm,yshift=0.4cm,scale=1.4]
{
翻译系统
}
;
\end{tikzpicture}
\ No newline at end of file
Chapter17/Figures/figure-framing-schematic.tex
0 → 100644
查看文件 @
e0392d26
\tikzstyle
{
process
}
= [rectangle,very thick,rounded corners,minimum width=5cm,minimum height=2.5cm,text centered,draw=black!70,fill=red!25]
\tikzstyle
{
cir
}
= [circle,thick,rounded corners,minimum width=0.7cm,text centered,draw=black,fill=green!25]
\begin{tikzpicture}
[node distance = 0,scale = 1]
\tikzstyle
{
every node
}
=[scale=1]
\node
[anchor=center](ori) at (-0.2,-0.2)
{$
O
$}
;
\draw
[->,thick]
(-0.5,0)--(5,0)node[below]
{$
t
$}
;
\draw
[->,thick]
(0,-2)--(0,2)node[left,scale=0.8]
{
量化值
}
;
\draw
[-,thick]
(0,0)sin(0.7,1.5)cos(1.4,0)sin(2.1,-1.5)cos(2.8,0)sin(3.5,1.5)cos(4.2,0);
\draw
[-,thick,dashed]
(0.5,-1.8)--(0.5,1.8);
\draw
[-]
(1.2,-1.8)--(1.2,1.8);
\draw
[-,thick,dashed]
(1.9,-1.8)--(1.9,1.8);
\draw
[<->,thick]
(0,-1.1)--(1.2,-1.1)node[left,xshift=-0.05cm,yshift=0.15cm,scale=0.6]
{
帧长
}
;
\draw
[<->,thick]
(0,-1.4)--(0.5,-1.4)node[left,xshift=0.05cm,yshift=-0.25cm,scale=0.6]
{
帧移
}
;
\draw
[<->,thick]
(0.5,-1.4)--(1.9,-1.4);
\end{tikzpicture}
\ No newline at end of file
Chapter17/Figures/figure-joint-encoder-mode.tex
0 → 100644
查看文件 @
e0392d26
\tikzstyle
{
coder
}
= [rectangle,thick,rounded corners,minimum width=2.3cm,minimum height=1cm,text centered,draw=black!70,fill=red!25]
\begin{tikzpicture}
[node distance = 0,scale = 0.75]
\tikzstyle
{
every node
}
=[scale=0.75]
\node
(encoder)[coder]
{
\large
{
编码器
}}
;
\node
(decoder
_
1)[coder,above of =encoder,xshift=-1.6cm,yshift=2.4cm,fill=blue!20]
{
\large
{
解码器
}}
;
\node
(decoder
_
2)[coder,above of =encoder, xshift=1.6cm,yshift=2.4cm,fill=yellow!25]
{
\large
{
解码器
}}
;
\node
(s)[below of = encoder,yshift=-1.8cm,scale=1.6]
{$
s
$}
;
\node
(y)[above of = decoder
_
2,yshift=1.8cm,scale=1.6]
{$
y
$}
;
\draw
[->,thick]
(s.north)to(encoder.south);
\draw
[->,thick]
(decoder
_
1.east)to(decoder
_
2.west);
\draw
[->,thick]
(decoder
_
2.north)to(y.south);
\draw
[->,thick]
(encoder.north)--([yshift=0.6725cm]encoder.north)--([yshift=-0.7cm]decoder
_
1.south)--(decoder
_
1.south);
\draw
[->,thick]
(encoder.north)--([yshift=0.6725cm]encoder.north)--([yshift=-0.7cm]decoder
_
2.south)--(decoder
_
2.south);
\end{tikzpicture}
\ No newline at end of file
Chapter17/Figures/figure-three-ways-of-dual-decoder-speech-translation.tex
0 → 100644
查看文件 @
e0392d26
\tikzstyle
{
coder
}
= [rectangle,thick,rounded corners,minimum width=2.3cm,minimum height=1cm,text centered,draw=black!70,fill=red!20]
\begin{tikzpicture}
[node distance = 0,scale = 0.75]
\tikzstyle
{
every node
}
=[scale=0.75]
\node
(encoder)[coder]at (0,0)
{
\large
{
编码器
}}
;
\node
(decoder
_
1)[coder,above of =encoder,xshift=-1.6cm,yshift=2.8cm,fill=blue!20]
{
\large
{
解码器
}}
;
\node
(decoder
_
2)[coder,above of =encoder, xshift=1.6cm,yshift=2.8cm,fill=yellow!20]
{
\large
{
解码器
}}
;
\node
(s)[below of = encoder,yshift=-1.8cm,scale=1.6]
{$
s
$}
;
\node
(x)[above of = decoder
_
1,yshift=1.8cm,scale=1.6]
{$
x
$}
;
\node
(y)[above of = decoder
_
2,yshift=1.8cm,scale=1.6]
{$
y
$}
;
\draw
[->,thick]
(s.north)to(encoder.south);
\draw
[->,thick]
(decoder
_
1.north)to(x.south);
\draw
[->,thick]
(decoder
_
2.north)to(y.south);
\draw
[->,thick]
(encoder.north)--([yshift=0.7cm]encoder.north)--([xshift=-4.16em,yshift=0.7cm]encoder.north)--(decoder
_
1.south);
\draw
[->,thick]
(encoder.north)--([yshift=0.7cm]encoder.north)--([xshift=4.16em,yshift=0.7cm]encoder.north)--(decoder
_
2.south);
\node
[anchor=north](pos1) at (s.south)
{
(a) 单编码器-双解码器方式
}
;
%%%%%%%%%%%%%%%%%%%%%%%%级联
\node
(encoder-2)[coder]at ([xshift=10.0em]encoder.east)
{
\large
{
编码器
}}
;
\node
(decoder
_
1-2)[coder,above of =encoder-2,yshift=1.4cm,fill=blue!20]
{
\large
{
解码器
}}
;
\node
(decoder
_
2-2)[coder,above of =decoder
_
1-2, yshift=1.4cm,fill=yellow!20]
{
\large
{
解码器
}}
;
\node
(s-2)[below of = encoder-2,yshift=-1.8cm,scale=1.6]
{$
s
$}
;
\node
(y-2)[above of = decoder
_
2-2,yshift=1.8cm,scale=1.6]
{$
y
$}
;
\draw
[->,thick]
(s-2.north)to(encoder-2.south);
\draw
[->,thick]
(encoder-2.north)to(decoder
_
1-2.south);
\draw
[->,thick]
(decoder
_
1-2.north)to(decoder
_
2-2.south);
\draw
[->,thick]
(decoder
_
2-2.north)to(y-2.south);
\node
[anchor=north](pos2) at (s-2.south)
{
(b) 级联编码器方式
}
;
%%%%%%%%%%%%%%%%%%%%%%%%联合
\node
(encoder-3)[coder]at([xshift=10.0em]encoder-2.east)
{
\large
{
编码器
}}
;
\node
(decoder
_
1-3)[coder,above of =encoder-3,xshift=-1.6cm,yshift=2.8cm,fill=blue!20]
{
\large
{
解码器
}}
;
\node
(decoder
_
2-3)[coder,above of =encoder-3, xshift=1.6cm,yshift=2.8cm,fill=yellow!20]
{
\large
{
解码器
}}
;
\node
(s-3)[below of = encoder-3,yshift=-1.8cm,scale=1.6]
{$
s
$}
;
\node
(y-3)[above of = decoder
_
2-3,yshift=1.8cm,scale=1.6]
{$
y
$}
;
\draw
[->,thick]
(s-3.north)to(encoder-3.south);
\draw
[->,thick]
(decoder
_
1-3.east)to(decoder
_
2-3.west);
\draw
[->,thick]
(decoder
_
2-3.north)to(y-3.south);
\draw
[->,thick]
(encoder-3.north)--([yshift=0.7cm]encoder-3.north)--([xshift=-4.16em,yshift=0.7cm]encoder-3.north)--(decoder
_
1-3.south);
\draw
[->,thick]
(encoder-3.north)--([yshift=0.7cm]encoder-3.north)--([xshift=4.16em,yshift=0.7cm]encoder-3.north)--(decoder
_
2-3.south);
\node
[anchor=north](pos3) at (s-3.south)
{
(c) 联合编码器方式
}
;
\end{tikzpicture}
\ No newline at end of file
Chapter17/chapter17.tex
查看文件 @
e0392d26
差异被折叠。
点击展开。
Chapter4/chapter4.tex
查看文件 @
e0392d26
差异被折叠。
点击展开。
Chapter9/chapter9.tex
查看文件 @
e0392d26
差异被折叠。
点击展开。
bibliography.bib
查看文件 @
e0392d26
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论