丰富报告内容

This commit is contained in:
赵敬皓 2022-08-16 17:44:25 +08:00
parent e1b579d019
commit 70c08639d2
13 changed files with 319 additions and 57 deletions

View File

@ -50,7 +50,7 @@
\label{ocean_train_result}
\end{figure}
\subsubsection{模型预测}
平台支持使用用户自定义和模型进行预测和使用平台预先训练好的模型进行训练,以用户自训练模型预测(图\ref{ocean_prediction}为例
平台支持使用用户自定义和模型进行预测和使用平台预先训练好的模型进行训练,以用户自训练模型预测(图\ref{ocean_prediction})为例
\begin{figure}[htb]
\centering
\includegraphics[width=0.55\textwidth]{images/ch03/regression/ocean_prediction.png}
@ -60,7 +60,7 @@
用户输入一条特征数据,点击\textbf{预测浪高}按钮,等待模型预测完成后,即可获得海浪高度的预测值。
\newpage
\subsection{波士顿房价预测}
波士顿房价预测属于经典的机器学习回归问题之一该任务需要对79个与房价有关的特征进行处理和建模最终得到能够预测房价的回归模型。该任务的评价指标是均方根误差(Root Mean Square Error, RMSE)
波士顿房价预测属于经典的机器学习回归问题之一该任务需要对79个与房价有关的特征进行处理和建模最终得到能够预测房价的回归模型。该任务的评价指标是均方根误差(Root Mean Square Error, RMSE)\cite{kaggle}
\begin{equation}
RMSE(y) = \sqrt{\sum_{i=1}^{n}(y_i-\hat{y_i})^2}
\label{rmse}
@ -124,20 +124,25 @@
\textbf{early\_stopping\_rounds}&\textbf{提前终止训练}&\textbf{200}\\
\hline\hline
\end{tabular}
\caption{海浪高度预测模型的数据特征及说明}
\caption{房价预测模型的参数及说明}
\label{hyperparams_xgb}
\end{table}
\subsubsection{模型预测}
用户可以选择使用自训练模型进行预测,也可以选择使用平台已经训练好的模型进行预测。预测时需要按照波士顿房价预测问题官方给出的数据集格式准备好自己的数据,并将数据在指定界面上传,平台将返回符合官方要求的数据格式的文件。
\subsection{碳排放预测}
\subsubsection{模型构建}
\subsubsection{模型训练}
\subsubsection{模型预测}
\subsection{股票预测}
\subsubsection{模型构建}
\subsubsection{模型训练}
\subsubsection{模型预测}
\section{智能图像}
机器视觉Machine Vision是人工智能领域中发展迅速的一个重要分支目前正处于不断突破、走向成熟的阶段。智能图像处理是指一类基于计算机的自适应于各种应用场合的图像处理和分析技术本身是一个独立的理论和技术领域但同时又是机器视觉中的一项十分重要的技术支撑。\\
\indent 智能图像处理的主要技术包括图像预处理、图像分割、目标识别和分类、目标检测和跟踪等主要研究方向。近年来,随着深度学习技术的不断发展,利用深度神经网络完成相关任务成为智能图像处理领域的主流方法。\\
\indent 在本模块中,平台基于深度神经网络技术,实现了综合性的图像智能处理功能。包括基础问题建模(MNIST手写体分类、图片文字识别),智能目标检测、智能图像分割、人体关键点检测、智能图像生成(通过文字描述生成图像)等应用,可以快速根据需求生成所需的结果。
\subsection{MNIST手写体分类}
MNIST手写体数据集来自美国国家标准与技术研究所(National Institute of Standards and Technology, NIST). 训练集有60000个样本测试集有10000个样本。样本经过归一化后每张图片的大小是相同的。该数据集由Yann LeCun等人维护。其中部分数据如\ref{MNIST_sample}所示
MNIST手写体数据集来自美国国家标准与技术研究所(National Institute of Standards and Technology, NIST). 训练集有60000个样本测试集有10000个样本。样本经过归一化后每张图片的大小是相同的。该数据集由Yann LeCun等人维护。图\ref{MNIST_sample}展示了部分样本转换为图片后的样式。
\begin{figure}[H]
\centering
\includegraphics[width=0.2\textwidth]{images/ch03/vision/1.jpg}
@ -147,11 +152,11 @@ MNIST手写体数据集来自美国国家标准与技术研究所(National Insti
\label{MNIST_sample}
\end{figure}
\subsubsection{模型构建}
由于任务相对简单我们以经典的LeNet-5来完成MNIST手写体识别任务。LeNet-5网络结构如图\ref{LeNet}所示
由于任务相对简单我们以经典的LeNet-5来完成MNIST手写体识别任务。LeNet-5网络结构如图\ref{LeNet}\cite{lecun1995convolutional}所示
\begin{figure}[htb]
\centering
\includegraphics[width=0.8\textwidth]{images/ch03/vision/LeNet-5.png}
\caption{LeNet-5网络结构}
\caption{LeNet-5网络结构\cite{lecun1995convolutional}}
\label{LeNet}
\end{figure}
\subsubsection{模型训练}
@ -191,7 +196,7 @@ YOLOv5的网络结构如图\ref{yolov5}所示,
由于模型代码已经开源(\href{https://github.com/ultralytics/yolov5}{https://github.com/ultralytics/yolov5}),平台直接利用了其开源代码搭建模型。
\subsubsection{模型训练}
通过YOLOv5的开源代码我们可以利用预训练好的代码和权重进行训练。通过以下指令就完成了基于yolov5n的网络结构和COCO数据集BATCH大小为128的模型的训练。
\begin{Verbatim}[h]
\begin{Verbatim}[H]
python train.py --data coco.yaml --cfg yolov5n.yaml --weights '' --batch-size 128
\end{Verbatim}
该模型训练耗时和算力消耗都比较大,因此平台不提供自主数据训练。
@ -231,7 +236,7 @@ YOLOv5的网络结构如图\ref{yolov5}所示,
图像分割技术是目前计算机视觉领域最热门的技术之一,许多应用了计算机视觉的场景都需要对图像进行智能分割,以充分理解图像中的内容,以便于机器分析图像中各个部分之间的关系。图像分割技术主要分为语义分割和实例分割等。\\
\indent 光伏发电站,是指一种特殊材料电子元件(诸如晶硅板、逆变器等)组成的利用太阳能发电的体系,与电网相连并向电网输送电力。利用遥感图像和图像分割技术,可以对光伏发电站的空间分布进行精准确定。因此,本平台以光伏发电站的遥感图像为例,提供了光伏板智能图像分割服务。
\subsubsection{模型构建}
U-Net是一种U型的类Encoder-Decoder卷积神经网络最初被应用于医疗图像分割后来实验证明其在其他领域的图像分割也有较好的效果是实现语义分割或实例分割的较为基础的模型其网络结构如图\ref{unet}所示:\\
U-Net是一种U型的类Encoder-Decoder卷积神经网络最初被应用于医疗图像分割后来实验证明其在其他领域的图像分割也有较好的效果是实现语义分割或实例分割的较为基础的模型其网络结构如图\ref{unet}\cite{2020UNet}所示:
\begin{figure}[H]
\centering
\includegraphics[scale=0.53]{images/ch03/vision/unet.png}
@ -241,7 +246,7 @@ U-Net是一种U型的类Encoder-Decoder卷积神经网络最初被应用于
\indent 模型首先通过卷积操作进行特征融合,通过池化层进行降维,然后再通过卷积层进行上采样,最后通过$1\times 1$的卷积进行结果的输出。
\subsubsection{模型训练}
\begin{enumerate}
\item \textbf{数据准备}。 U-Net模型训练需要同时准备原图像和标注图像其示例如图\ref{unet-data}所示,标注图像需标注出光伏板的位置
\item \textbf{数据准备}。 U-Net模型训练需要同时准备原图像和标注图像平台使用了zenodo上的开源遥感光伏数据集\cite{jiang_hou_2021_5171712}来建模,其示例如图\ref{unet-data}所示,标注图像需标注出光伏板的位置
\begin{figure}[H]
\centering
\includegraphics[scale=0.4]{images/ch03/vision/unet-ori.jpg}
@ -256,7 +261,7 @@ U-Net是一种U型的类Encoder-Decoder卷积神经网络最初被应用于
模型预测支持单张图片预测,也支持批量预测,用户通过平台上传本地图片,模型运行完成后会返回分割后的结果。最终分割的效果如图\ref{unet-out}所示
\begin{figure}[H]
\centering
\includegraphics[scale=0.4]{images/ch03/vision/unet_photovoltaic.png}
\includegraphics[scale=0.33]{images/ch03/vision/unet_photovoltaic.png}
\caption{U-Net分割光伏图像}
\label{unet-out}
\end{figure}
@ -265,7 +270,7 @@ U-Net是一种U型的类Encoder-Decoder卷积神经网络最初被应用于
\begin{figure}[H]
\centering
\includegraphics[scale=0.6]{images/ch03/vision/pose_esti.jpg}
\caption{二维人体关键点检测}
\caption{二维人体关键点检测\cite{aliyun2018pose}}
\label{pose_esti}
\end{figure}
\subsubsection{模型构建}
@ -298,11 +303,11 @@ FuseDream是一个结合CLIP(Connecting Text and Images)和GAN的开源文本生
\label{gan}
\end{figure}
生成对抗网络模型由两部分组成,一个是生成模型(Generator),一个是判别模型(Discriminator Network)。生成模型的任务是尽力模仿输入的数据生成类似的数据。判别模型的任务是判断给定的实例是否是由生成器伪造的。
\item \textbf{CLIP}。CLIP的英文全称是Contrastive Language-Image Pre-training即一种基于对比学习的文本-图像对的预训练模型。如下图\ref{clip}所示CLIP包括两个模型Text Encoder和Image Encoder其中Text Encoder用来提取文本的特征可以采用transformer模型而Image Encoder用来提取图像的特征可采用CNN模型。
\item \textbf{CLIP模块}。CLIP的英文全称是Contrastive Language-Image Pre-training即一种基于对比学习的文本-图像对的预训练模型。如下图\ref{clip}所示CLIP包括两个模型Text Encoder和Image Encoder其中Text Encoder用来提取文本的特征可以采用transformer模型而Image Encoder用来提取图像的特征可采用CNN模型。
\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth]{images/ch03/vision/CLIP.jpg}
\caption{CLIP结构图}
\caption{CLIP结构图\cite{radford2021learning}}
\label{clip}
\end{figure}
\end{enumerate}
@ -337,7 +342,7 @@ FuseDream是一个结合CLIP(Connecting Text and Images)和GAN的开源文本生
\begin{figure}[H]
\centering
\includegraphics[scale=0.6]{images/ch03/nlp/bert_classify.png}
\caption{Bert文本分类}
\caption{Bert文本分类\cite{devlin2018bert}}
\label{bert_cls}
\end{figure}
构建模型时,采用 RoBERTa 作为基础的预训练模型相比于BertRoBERTa基于更大的训练数据和更长的预训练时间进行预训练。
@ -345,41 +350,169 @@ FuseDream是一个结合CLIP(Connecting Text and Images)和GAN的开源文本生
平台支持文本分类任务的自主训练,用户同时上传训练数据集和测试数据集,平台建模完成后,会提供预测的结果文件,可供用户下载。
\subsubsection{模型预测}
用户也可以只提交测试文件,平台基于线上模型进行预测,同时返回预测结果。
%\subsection{机器翻译}
%\subsubsection{模型构建}
%\subsubsection{模型训练}
%\subsubsection{模型预测}
%\subsection{阅读理解}
%\subsubsection{模型构建}
%\subsubsection{模型训练}
%\subsubsection{模型预测}
%\subsection{语义匹配}
%\subsubsection{模型构建}
%\subsubsection{模型训练}
%\subsubsection{模型预测}
%\subsection{对话系统}
%\subsubsection{模型构建}
%\subsubsection{模型训练}
%\subsubsection{模型预测}
%\subsection{文本生成}
%\subsubsection{模型构建}
%\subsubsection{模型训练}
%\subsubsection{模型预测}
%\subsection{词法分析}
%\subsubsection{模型构建}
%\subsubsection{模型训练}
%\subsubsection{模型预测}
%\section{智能语音}
%\subsection{语音识别}
%\subsubsection{模型构建}
%\subsubsection{模型训练}
%\subsubsection{模型预测}
%\subsection{语音生成}
%\subsubsection{模型构建}
%\subsubsection{模型训练}
%\subsubsection{模型预测}
\subsection{机器翻译}
机器翻译(Machine Translation),是利用计算机把一种自然语言翻译为另一种自然语言的过程。早期的机器翻译一般是利用规则或者统计模型,基于规则或统计学模型进行翻译。近年来,随着深度神经网络和编码器-解码器(Encoder-Decoder)模型的发展,使用这类模型完成机器翻译任务逐渐成为主流方式。
\subsubsection{模型构建}
平台采用了基于编码器-解码器和注意力机制的Transformer模型来训练英译中模型。结构如图\ref{attention}所示:
\begin{figure}[H]
\centering
\includegraphics[scale=0.25]{images/ch03/nlp/attention.png}
\caption{注意力机制的Endcoer-Decoder模型\cite{2017Attention}}
\label{attention}
\end{figure}
各部分的构成如下:
\begin{enumerate}
\item {编码器Encoder}。首先通过字向量与位置编码将原文映射然后多次重复x个encoder块每个encoder块包括注意力机制(Attention)层、层归一化(Layer Normalization, LN)和前馈神经网络(FFN)层。
\item {解码器Decoder}。解码器将译文作为输入同时接收编码器的输出经过Attention层、FFN层和层归一化后得到对应位置每个词的输出概率。
\end{enumerate}
\subsubsection{模型训练}
平台支持用户自训练模型,用户可以自己准备训练语料,将分词后的原文、译文按照“原文+ Tab + 译文”的格式上传(原文、译文可以选择任意语种)。
\subsubsection{模型预测}
用户可以使用自主训练的模型,输入文本进行翻译,也可以基于平台的预训练中译英模型,输入中文来获得对应的英文。
\subsection{阅读理解}
\subsubsection{模型构建}
\subsubsection{模型训练}
\subsubsection{模型预测}
\subsection{语义匹配}
语义匹配是NLP领域的基础任务之一直接目标就是判断两句话是否表达了相同或相似意思。语义匹配可应用于推荐系统、智能问答、搜索引擎、文本查重等。传统的文本匹配技术有词袋模型(Bag of Words)、TF-IDF、Jaccard矩阵、SimHash等算法主要基于词的层级进行匹配近年来结合预训练模型的深度神经网络模型逐渐成为这一领域的主流模型。
\subsubsection{模型构建}
我们利用Bert的[SEP]字符的特性,可以将两句话拼接在一起,然后基于[CLS]字符来表示两句话是否具有相近语义,构造一个简单的二分类任务,网络框架如下图\ref{simi}所示
\begin{figure}[H]
\centering
\includegraphics[scale=0.35]{images/ch03/nlp/simi_match.png}
\caption{注意力机制的Endcoer-Decoder模型}
\label{simi}
\end{figure}
\subsubsection{模型训练}
训练用数据集每行由两列文本和一列标记组成标记用1/0来表示相似/不相似。经过tokenizer后变为上图中bert的输入。损失函数选择cross\_entropy优化器选择Adam进行训练。
\subsubsection{模型预测}
用户在页面输入待预测的两段文本,模型最后返回其预测结果。
\subsection{文本生成}
文本生成是基于给出的信息,生成近似于自然语言的文本序列。根据应用场景,自然语言处理下的文本生成任务又可以用于机器翻译、对话系统、故事、诗歌生成、摘要生成等。近年来,随着多模态应用的兴起,根据图片、视频生成文本方面也出现了很多优秀的模型。本平台提供的文本生成服务是基于语言模型(Language Model)和随机采样的文章续写。
\subsubsection{模型构建}
基于单向语言模型,以自回归的方式进行解码的方式进行建模。单向语言模型结构如下图\ref{lm}所示即在预测t时刻的字符时只能依赖t时刻以前已知的字符进行推理。而自回归解码器将解码器自己当前步的输出加入下一步的输入通过这种方式可以逐步推导接下来最可能生成的文字直至推导出结束符\code{<EOS>}或达到最大长度。
\begin{figure}[H]
\centering
\includegraphics[scale=0.35]{images/ch03/nlp/lm.png}
\caption{单向语言模型}
\label{lm}
\end{figure}
\subsubsection{模型训练}
按照建模思路平台将使用NEZHA\ref{2019NEZHA}的预训练权重作为语言模型。由于文章续写只依赖于文字本身因此不需要使用segment\_id来区分更多细节。
\subsubsection{模型预测}
模型解码时,按照自回归的方式逐步解码,并依据概率,在解码空间内随机采样,逐步生成后续的文本。用户使用时,只需要输入一段文本作为开头,模型会自动进行续写。
\subsection{对话系统}
智能对话系统按照需求类型一般分为任务导向型(task-oriented)对话系统和非任务导向型(non-task-oriented)对话系统。任务型对话系统是基于一定的任务目标,通过预设流程或者插槽填充(slot filling)的方式引导对话完成非任务导向性对话系统一般是以闲聊为目的利用Encoder-Decoder模型基于大量聊天对话语料进行训练基于当前对话以及上文内容自动生成回复内容。
\subsubsection{模型构建}
我们选择非任务导向性对话系统作为平台的智能对话系统相对于一般的文本生成任务对话任务有两个难点一是需要对说话人的身份予以区分二是生成的文本需要符合上文的语境和连贯性。利用基于预训练模型的Transformer结构进行微调其网络结构如下图\ref{chatbot}所示
\begin{figure}[H]
\centering
\includegraphics[scale=0.35]{images/ch03/nlp/chatbot.png}
\caption{闲聊机器人模型架构\cite{kexuefm-7718}}
\label{chatbot}
\end{figure}
模型的输入文本是历史的对话记录,将每句话用[SEP]符号分隔开同时以不同的Segment Id作为说话人角色的区分同时使用相对位置编码的NEZHA作为基础的预训练模型。与基于Bert的分类任务不同基于Bert的生成任务不再以[CLS]的输出作为结果而是利用decoder进行解码再通过集束搜索(Beam Search)或贪婪搜索(Greedy Search)等方式将输出结果映射到解码空间。
\subsubsection{模型训练}
平台基于LCCC数据集\cite{wang2020large}和GPT预训练模型进行训练。数据集给出一段段对话记录每一段对话记录都可以通过拆解获得多条训练样本每条样本包含一句或多句历史对话和一句目标文本历史对话用于输入模型目标文本用于验证模型的输出、计算损失并优化模型。
\subsubsection{模型预测}
模型支持两人之间的对话,用户通过将历史对话输入平台,平台运行模型得到最后的输出。
\subsection{句法分析}
句法分析的主要任务是识别出句子所包含的句法成分以及这些成分之间的关系,主要分为以下两个任务:
\begin{enumerate}
\item 成分句法分析(Constituency Parsing): 分析句子的成分,给出一棵树由终结符和非终结符构成的句法树。
\item 依存句法分析(Dependency Parsing): 分析句子中词与词之间的依存关系,给一棵由词语依存关系构成的依存句法树。
\end{enumerate}
成分句法分析constituent parsing是自然语言处理中的一个基础任务它的任务是给定一个句子分析出句子的短语结构句法树。例如给定句子“The little boy likes red tomatoes .”,它的成分句法树如下图\ref{syntax_tree}所示:
\begin{figure}[H]
\centering
\includegraphics[scale=0.35]{images/ch03/nlp/syntactic_tree.png}
\caption{Syntactic tree\cite{liu2017order}}
\label{syntax_tree}
\end{figure}
依存句法分析则是为了分析句子中各个部分,即主、谓、宾、定、状、补,以及他们之间的依存关系,如主谓关系、动宾关系等。我们可以将依存分析抽象为一棵树\ref{label}
\subsubsection{模型构建}
我们基于HanLP框架\cite{he-choi-2021-stem}构建了句法分析的服务HanLP是面向生产环境的多语种自然语言处理工具包支持PyTorch和Tensorflow框架。
\subsubsection{模型训练}
框架嵌套了基于预训练模型的算法,因此不需要外部数据的训练。
\subsubsection{模型预测}
用户输入待预测的句子,模型分析完成后返回词的成分以及词之间的依存关系,结果如图\ref{dependency_tree}所示
\begin{Verbatim}[H]
中心旨在紧密围绕山东省和国家需求,构建互联互通的泛能源大数据数据体系。
\end{Verbatim}
\begin{figure}[H]
\centering
\includegraphics[scale=0.25]{images/ch03/nlp/dependency_analysis.png}
\caption{依存句法树}
\label{dependency_tree}
\end{figure}
\section{智能语音}
早期的语音技术主要包括利用信号处理的相关知识,进行语音的去噪、波形分析等,随着人工智能技术的发展和计算机算力的提升,基于深度学习模型的智能语音技术蓬勃发展。广义的智能语音技术主要包括\textbf{矢量信号处理(Vector Signal Processing, VSP)}\textbf{自动语音识别(Automatic Speech Recognition, ASR)}\textbf{自然语言处理(Natural Language Processing, NLP)},以及\textbf{语音合成(Text to Speech, TTS)}。这几个模块构成了一个完整的\textbf{语音交互(Voice User Interface)}系统,其结构如下图\ref{vui}所示
\begin{figure}[H]
\centering
\includegraphics[scale=0.45]{images/ch03/audio/vui.jpg}
\caption{语音交互系统\cite{zhinengyuyindongcha2020}}
\label{vui}
\end{figure}
其中,语音识别和语音合成属于智能语音技术的核心部分。
\subsection{语音识别}
语音识别是将音频文件转为自然语言文字的技术,主要由特征提取、声学模型、语言模型构成。其衍生技术包括声纹识别、机器唤醒、情绪识别等。\\
\indent 语音识别最终是统计优化问题,给定输入序列$O=\{O_1,\dots,O_n\}$,寻找最可能的词序列$W=\{W_1,...,W_m\}$,即寻找使得概率$P(W|O)$最大的词序列。最开始的研究都是分别求取声学和语言模型。随着深度学习和大数据的端到端End-to-End方法发展起来能将声学和语言模型融为一体直接计算$P(W|O)$
\subsubsection{模型构建}
构建语音识别模型主要步骤包以下步骤:
\begin{enumerate}
\item 特征提取。特征提取是将语音的波形信号转换为机器能识别的特征主要方法包括梅尔频谱特征、FBank(Filter Bank)特征提取和梅尔倒谱系数(Mel-scaleFrequency Cepstral Coefficients, MFCC)特征提取
\item 建立数据集。语音选择的基本单位是帧Frame一帧数据是由一小段语音经过ASR前端的声学特征提取模块产生的整段语音就可以整理为以帧为单位的向量组。每帧的维度固定不变但跨度可调以适应不同的文本单位比如音素、字、词、句子。
\item 模型搭建。传统方式是音学模型和语言模型分别建模,即音学模型使用隐马尔科夫模型和高斯混合模型学习信号的动态和静态特征;语言模型基于音学模型的特征求解$P(W|O)$常用的方法基于n元语法n-gram Grammar或RNN。端到端的方法可以使用连接时序分类(Connectionist temporal classification, CTC)或者Attention的方法。
\end{enumerate}
\subsubsection{模型训练}
平台使用WeNet\ref{yao2021wenet}模型作为语音识别模型的训练和预测工具其使用conformer网络结构和CTC/attention loss联合优化方法具备统一的流式/非流式语音识别方案。训练过程如下:
\begin{enumerate}
\item \textbf{数据准备}。首先要按照如下形式准备wav.scp和text两个文件。\\
\begin{minipage}[t]{0.48\textwidth}
\begin{tabular}{|c|c|c|}
\hline
列名 & \textbf{wav\_id } & \textbf{wav\_path} \\
\hline
示例 & id001 & /path/to/id001.wav \\
\hline
\end{tabular}
\captionof{table}{wav.scp}
\end{minipage}
\begin{minipage}[t]{0.48\textwidth}
\begin{tabular}{|c|c|c|}
\hline
列名 & wav\_id & text\_label \\
\hline
示例 & id001 & text of id001.wav \\
\hline
\end{tabular}
\captionof{table}{text}
\label{wav_data}
\end{minipage}
\item \textbf{提取cmvn特征(可选)}。提取倒谱均值方差归一化(cepstral mean and variance normalization, CMVN)系数,用于对声学特征归一化。
\item \textbf{生成文本和token的对应词典}。由于计算机无法直接理解汉字,所以需要将音频中出现的汉字以及特殊字符如静默字符\code{<blank>},未知字符\code{<unk>},音频开始/结束字符\code{<sos/eos>}映射到数值上一般用自增的整数来表示每个字符这些整数称为token。
\item \textbf{构造WeNet可识别的数据格式}。wenet模型需要以json格式表示的表征音频和文本的统一数据格式\code{key}, \code{value}\code{txt} 三个键值对组成,示例如下:\\
\verb|{"key":"id001", "wav":"/path/to/001.wav", "txt":"本段音频的文本内容"}|
\item \textbf{模型训练}。使用\code{run.sh}中的脚本进行训练。
\end{enumerate}
\subsubsection{模型预测}
用户上传wav音频文件后平台通过识别最后得到该段文本的文字并将文本展示到界面上。
\subsection{语音生成}
智能语音合成(TTS)是把文字智能地转化为自然语音流的技术,即输入文本 输出机器可以解析的波形。近年来个性化TTS、带有情绪的TTS等逐渐成为研究的热点。
\subsubsection{模型构建}
我们使用了基于Tacotron2的模型训练了TTS模型。Tacotron是Google Brain推出的端到端的开源TTS深度神经网络模型Tacotron是一个带有Attention机制的序列到序列(Sequence-To-SequenceSeq2Seq)生成模型。使用<文本序列,语音声谱>配对的方式进行训练。Tacotron2是Tacotron的改进版使用了LSTM和卷积层代替了原来的CBHG模块并且使用WaveNet的声码器代替了Griffin-Lim算法。
\subsubsection{模型训练}
Tacotron2原模型是针对英文语音合成的模型要训练针对中文的模型首先要对数据进行\textbf{拼音化处理},即:
\begin{enumerate}
\item 对于输入文本从左向右遍历,优先从词拼音库中以词的方式匹配读音,若没有匹配到词语,从字拼音库中获取该汉字的拼音;
\item 对于数字、ip地址等首先根据规则转化成文字再转化为拼音
\item 由于输入是文字转化而来的拼音序列,所以在合成阶段,允许部分或全部的拼音输入。
\end{enumerate}
数据处理完成后,即可使用原有脚本进行本地训练。
\subsubsection{模型预测}
用户可以输入中文句子,也可以输入拼音进行合成。合成后的音频结果可以在平台直接播放,也可以点击下载进行下载保存。
%\section{其他任务}
\begin{subappendices}%%!!!!!!!
\begin{subappendices}
\section{各模块模型服务接口文档}
\subsection{回归预测}
\subsubsection{海浪高度预测}

Binary file not shown.

View File

@ -4,6 +4,7 @@
\documentclass[twoside]{linux_thesis}
\usepackage{latexsym,bm}
\usepackage{amsmath}
\usepackage{soul}
\usepackage{amsfonts}
\usepackage{graphicx}
\usepackage{enumitem}
@ -16,14 +17,22 @@
\usepackage{hyperref}
\usepackage{appendix} %%!!!!!!!!
\usepackage{subfigure}
%\linespread{1.3}
\usepackage{url}
\definecolor{VerbatimColor}{rgb}{0.9,0.9,0.9}
\begin{document}
\newcommand{\shell}[1]{\noindent\texttt{\$: #1}}
\definecolor{Seashell}{RGB}{255, 245, 238} %背景色浅一点的
\definecolor{Firebrick4}{RGB}{255, 0, 0}%文字颜色红一点的
% 自定义指令
\newcommand{\code}[1]{
\begingroup
\sethlcolor{Seashell}%背景色
\textcolor{Firebrick4}{\hl{#1}}%textcolor里面对应文字颜色
\endgroup
}
%\begin{titlepage}
%\titleLY
%\end{titlepage}
@ -34,15 +43,14 @@
\tableofcontents
% 文档介绍
% 概述
\include{chapter/c1}
% 通用样式
% API介绍
\include{chapter/c2}
% 通用样式
% 模型介绍
\include{chapter/c3}
%\include{chapter/appendix}
\bibliographystyle{unsrt}
\bibliography{ref}
\end{document}

BIN
images/ch03/audio/vui.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

BIN
images/ch03/nlp/chatbot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

BIN
images/ch03/nlp/dialog.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

BIN
images/ch03/nlp/lm.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

121
ref.bib Normal file
View File

@ -0,0 +1,121 @@
@article{lecun1995convolutional,
title={Convolutional networks for images, speech, and time series},
author={LeCun, Yann and Bengio, Yoshua and others},
journal={The handbook of brain theory and neural networks},
volume={3361},
number={10},
pages={1995},
year={1995},
publisher={Cambridge, MA USA}
}
@inproceedings{2017Attention,
title={Attention Is All You Need},
author={ Vaswani, A. and Shazeer, N. and Parmar, N. and Uszkoreit, J. and Jones, L. and Gomez, A. N. and Kaiser, L. and Polosukhin, I. },
booktitle={arXiv},
year={2017},
}
@online{kexuefm-7718,
title={动手做个DialoGPT基于LM的生成式多轮对话模型},
author={苏剑林},
year={2020},
month={Sep},
howpublished={\url{https://spaces.ac.cn/archives/7718}},
}
@online{kaggle,
title={House Prices - Advanced Regression Techniques},
howpublished={\url{https://www.kaggle.com/competitions/house-prices-advanced-regression-techniques/overview}},
}
@online{aliyun2018pose,
title={计算机视觉方向简介 | 人体骨骼关键点检测综述},
howpublished={\url{https://developer.aliyun.com/article/639017}},
}
@article{2020UNet,
title={UNet++: Redesigning Skip Connections to Exploit Multiscale Features in Image Segmentation},
author={ Zhou, Z. and Siddiquee, Mmr and Tajbakhsh, N. and Liang, J. },
journal={IEEE Transactions on Medical Imaging},
volume={39},
number={6},
pages={1856-1867},
year={2020},
}
@dataset{jiang_hou_2021_5171712,
author = {Jiang Hou and
Yao Ling and
Liu Yujun},
title = {{Multi-resolution dataset for photovoltaic panel
segmentation from satellite and aerial imagery}},
month = aug,
year = 2021,
note = {{Data document can refer to the preprint https://es
sd.copernicus.org/preprints/essd-2021-270/}},
publisher = {Zenodo},
version = {v1.0},
doi = {10.5281/zenodo.5171712},
url = {https://doi.org/10.5281/zenodo.5171712}
}
@article{devlin2018bert,
title={Bert: Pre-training of deep bidirectional transformers for language understanding},
author={Devlin, Jacob and Chang, Ming-Wei and Lee, Kenton and Toutanova, Kristina},
journal={arXiv preprint arXiv:1810.04805},
year={2018}
}
@inproceedings{radford2021learning,
title={Learning transferable visual models from natural language supervision},
author={Radford, Alec and Kim, Jong Wook and Hallacy, Chris and Ramesh, Aditya and Goh, Gabriel and Agarwal, Sandhini and Sastry, Girish and Askell, Amanda and Mishkin, Pamela and Clark, Jack and others},
booktitle={International Conference on Machine Learning},
pages={8748--8763},
year={2021},
organization={PMLR}
}
@inproceedings{wang2020large,
title={A large-scale chinese short-text conversation dataset},
author={Wang, Yida and Ke, Pei and Zheng, Yinhe and Huang, Kaili and Jiang, Yong and Zhu, Xiaoyan and Huang, Minlie},
booktitle={CCF International Conference on Natural Language Processing and Chinese Computing},
pages={91--103},
year={2020},
organization={Springer}
}
@article{liu2017order,
title={In-order transition-based constituent parsing},
author={Liu, Jiangming and Zhang, Yue},
journal={Transactions of the Association for Computational Linguistics},
volume={5},
pages={413--424},
year={2017},
publisher={MIT Press}
}
@inproceedings{he-choi-2021-stem,
title = "The Stem Cell Hypothesis: Dilemma behind Multi-Task Learning with Transformer Encoders",
author = "He, Han and Choi, Jinho D.",
booktitle = "Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing",
month = nov,
year = "2021",
address = "Online and Punta Cana, Dominican Republic",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2021.emnlp-main.451",
pages = "5555--5577",
abstract = "Multi-task learning with transformer encoders (MTL) has emerged as a powerful technique to improve performance on closely-related tasks for both accuracy and efficiency while a question still remains whether or not it would perform as well on tasks that are distinct in nature. We first present MTL results on five NLP tasks, POS, NER, DEP, CON, and SRL, and depict its deficiency over single-task learning. We then conduct an extensive pruning analysis to show that a certain set of attention heads get claimed by most tasks during MTL, who interfere with one another to fine-tune those heads for their own objectives. Based on this finding, we propose the Stem Cell Hypothesis to reveal the existence of attention heads naturally talented for many tasks that cannot be jointly trained to create adequate embeddings for all of those tasks. Finally, we design novel parameter-free probes to justify our hypothesis and demonstrate how attention heads are transformed across the five tasks during MTL through label analysis.",
}
@online{zhinengyuyindongcha2020,
title={智能语音专题(一):智能语音交互的概念},
howpublished={\url{https://zhuanlan.zhihu.com/p/109885562}},
}
@inproceedings{yao2021wenet,
title={WeNet: Production oriented Streaming and Non-streaming End-to-End Speech Recognition Toolkit},
author={Yao, Zhuoyuan and Wu, Di and Wang, Xiong and Zhang, Binbin and Yu, Fan and Yang, Chao and Peng, Zhendong and Chen, Xiaoyu and Xie, Lei and Lei, Xin},
booktitle={Proc. Interspeech},
year={2021},
address={Brno, Czech Republic },
organization={IEEE}
}
@article{2019NEZHA,
title={NEZHA: Neural Contextualized Representation for Chinese Language Understanding},
author={ Wei, J. and Ren, X. and Li, X. and Huang, W. and Liao, Y. and Wang, Y. and Lin, J. and Jiang, X. and Chen, X. and Liu, Q. },
year={2019},
}