update new
This commit is contained in:
parent
70c08639d2
commit
5bbac02fa0
|
@ -5,9 +5,7 @@
|
|||
AI平台以深度学习技术研究和业务应用为基础,集深度学习核心框架、基础模型库、端到端开发套件、工具组件和服务平台于一体, 是全面开源开放、技术领先、功能完备的产业级深度学习平台。AI平台源于产业实践,始终致力于与产业深入融合。
|
||||
|
||||
\section{功能介绍}
|
||||
本平台主要包含\textbf{开发平台}、\textbf{开放能力}、\textbf{知识学习}三个模块。其中开发平台集成了主流深度学习工具的开发接口,开放能力集成了多领域的端到端的模型训练和预测服务,知识学习模块包含了当下主流的机器学习算法的介绍,例如:算法描述、优点、缺点、适用范围、实现方法、应用场景等。
|
||||
\subsection{开发平台}
|
||||
集成了主流工具的API介绍,包括TensorFlow、PyTorch、Sklearn等,用户通过点击查阅即可了解相关API的知识。
|
||||
本平台主要包含\textbf{开放能力}、\textbf{实践平台}、\textbf{知识学习}三个模块。其中开发平台集成了主流深度学习工具的开发接口,开放能力集成了多领域的端到端的模型训练和预测服务,知识学习模块包含了当下主流的机器学习算法的介绍,例如:算法描述、优点、缺点、适用范围、实现方法、应用场景等。
|
||||
\subsection{开放能力}
|
||||
平台开放的能力包含了当下主流的可供学习使用的机器学习任务,涉及智能图像处理、自然语言处理、智能语音等多领域多方面的服务,可以让用户根据自身需要,依据自己的数据获得端到端的AI模型服务。\\
|
||||
\indent 用户可以依据当前的进行该任务所选择的机器学习算法进行自主调节参数,用户在选择完参数之后可以自主决定是否选择上传本地的训练数据文件,如果选择上传,则会依据上传的数据文件训练模型,如果不选择上传,则会使用平台默认的数据文件进行训练。在参数和文件全部输入完毕后,用户点击“训练开始”即可开始训练模型。在模型训练完毕后,则会给出模型相应的性能指标。
|
||||
|
@ -20,7 +18,7 @@ AI平台以深度学习技术研究和业务应用为基础,集深度学习核
|
|||
自然语言处理模块(Natural Language Process,NLP)深度整合了顶级的NLP技术,包括文本情感分类、机器翻译、智能阅读理解、语义匹配、对话系统、文本生成、句法分析等模块,主要利用Transformer模型建模,提供端到端的预测服务。
|
||||
\subsubsection{智能语音模块}
|
||||
智能语音模块包含智能语音合成(Text To Speech, TTS)和智能语音识别(Automatic Speech Recognition,ASR)功能,智能语音合成将用户输入的文本合成成音频,智能语音识别则可以将用户上传的语音中的文字识别出来。
|
||||
\subsubsection{其他模块}
|
||||
本模块包括了鸢尾花识别等基础分类任务的训练和预测功能。
|
||||
\subsection{实践平台}
|
||||
考虑到真实应用场景的个性化需求,在实践平台上,针对一些典型任务,进行了代码层面的建模示例。用户可以根据平台代码给出的训练模型的框架中,基于自己的实际数据进行本地化建模、训练和应用。在实践平台中,我们主要提供了基于PyTorch, Tensorflow以及其他一些经典模型或框架进行机器学习和深度学习模型训练的详细教程,包括数据预处理、模型搭建、参数调整,希望能给予用户一站式建模体验。
|
||||
\subsection{知识学习}
|
||||
知识学习模块主要包含了对主流的监督学习、无监督学习、半监督学习、强化学习等不同机器学习、深度学习方法的讲解。用户可以在该模块了解传统机器学习和前沿模型的建模思路和特点,以便于在自己建模时选择合适的模型。
|
||||
|
|
|
@ -1,10 +1,44 @@
|
|||
\chapter{开发平台}
|
||||
|
||||
%%%%%% 目录结构
|
||||
%%%这里的用处不明,建议后期把这一模块砍去,或者改成带有代码的教程
|
||||
基于端到端的模型往往很难在预测真实场景的数据上有好的表现,我们在解决具体业务问题时,需要根据真实数据的特点,进行个性化的建模。\\
|
||||
\indent
|
||||
因此,本章节将基于Tensorflow和Pytorch框架,将可执行的代码与建模解决实际问题的方案相结合,使用者可以基于代码和建模思路,与自己的应用场景相结合,选择合适的建模方式解决问题。\\
|
||||
\indent 此外,本章节还集成了sklearn用于科学计算的使用方法,以及其他经典框架、算法的具体应用实例,以方便使用者进行比较和使用。
|
||||
\section{Tensorflow}
|
||||
TensorFlow$^\text{TM}$,是一个基于数据流编程的符号数学系统,被广泛应用于各类机器学习算法的编程实现。TensorFlow由谷歌人工智能团队谷歌大脑(Google Brain)开发和维护,拥有包括TensorFlow Hub、TensorFlow Lite、TensorFlow Research Cloud在内的多个项目以及各类应用程序接口。
|
||||
\subsection{基于交互式匹配的文本匹配算法}
|
||||
\subsubsection{模型介绍}
|
||||
交互式(Interaction-based)匹配是指将两个文本拼接在一起当成单文本进行分类,原本是信息检索中用于判断两条查询是否匹配的技术。在上文介绍的语义匹配中,我们使用了交互式匹配的方法来判断两句文本是不是同义。这里我们将给出建模的示例。
|
||||
\subsubsection{建模示例}
|
||||
建模及训练过程详见:
|
||||
\begin{Verbatim}[]
|
||||
/example/TensorFlow/semantic_match.html
|
||||
\end{Verbatim}
|
||||
\section{PyTorch}
|
||||
Pytorch是一个开源的机器学习框架,它可以加速从科研原型到实际生产部署这一过程。
|
||||
\subsection{基于UNet的光伏图像分割教程}
|
||||
\subsubsection{模型介绍}
|
||||
光伏图像的分割是深度学习在遥感图像方面的重要应用之一,其目的是从图像中识别出光伏板区域,并加以区分。
|
||||
segmentation\_models\_pytorch是基于Pytorch的开源图像分割模型框架,平台基于该框架为例介绍如何实现并训练一个图像分割的Unet模型。
|
||||
\subsubsection{建模示例}
|
||||
代码示例详见:
|
||||
\begin{Verbatim}[]
|
||||
/example/PyTorch/smp_example.html
|
||||
\end{Verbatim}
|
||||
\section{Sklearn}
|
||||
\section{其他经典开源模型}
|
||||
|
||||
|
||||
\section{其他经典框架或模型}
|
||||
\subsection{eXtreme Gradient Boosting(Xgboost)}
|
||||
\subsubsection{模型介绍}
|
||||
xgboost是基于boost的大规模并行树形模型,在很多kaggle任务中都取得了良好的表现。平台以前文的波士顿房价预测项目为例,给出基于Xgboost进行回归预测的代码示例。
|
||||
\subsubsection{建模示例}
|
||||
代码示例详见:
|
||||
\begin{Verbatim}[]
|
||||
/example/Others/xgboost.html
|
||||
\end{Verbatim}
|
||||
\subsection{Prophet}
|
||||
\subsubsection{模型介绍}
|
||||
Prophet是由Facebook公司提出端到端的时间序列建模预测工具,拥有Python和R语言两个版本。它能够提供完整的自动化预测,也允许使用者根据需求自主调试。Prophet仅需要时间和历史值两列数据作为输入。平台以光伏发电的时间序列为例,给出Prophet模型由建模到分析的示例。
|
||||
\subsubsection{建模示例}
|
||||
代码示例详见:
|
||||
\begin{Verbatim}[]
|
||||
/example/Others/prophet.html
|
||||
\end{Verbatim}
|
|
@ -102,7 +102,7 @@
|
|||
\end{figure}
|
||||
\item \textbf{特征独热编码} 对于离散型的特征,需要将其进行独热编码(one-hot),才能转变为机器可以识别的特征。
|
||||
\end{enumerate}
|
||||
经过数据预处理后,平台采用xgboost模型进行回归建模。xgboost(eXtreme Gradient Boosting)是一种基于GBDT的算法,具有高效、灵活和轻便的特点,在数据挖掘、推荐系统等领域得到广泛的应用。通过预设的超参数集合,将训练样本输入xgboost模型中,经过数轮迭代后得到训练好的模型。
|
||||
经过数据预处理后,平台采用xgboost模型\cite{chen2016xgboost}进行回归建模。xgboost(eXtreme Gradient Boosting)是一种基于GBDT的算法,具有高效、灵活和轻便的特点,在数据挖掘、推荐系统等领域得到广泛的应用。通过预设的超参数集合,将训练样本输入xgboost模型中,经过数轮迭代后得到训练好的模型。
|
||||
\subsubsection{模型训练}
|
||||
平台提供了用户上传数据和自定义超参数训练模型的功能。用户可定义的超参数如表\ref{hyperparams_xgb}所示
|
||||
\begin{table}[htb]
|
||||
|
@ -130,13 +130,50 @@
|
|||
\subsubsection{模型预测}
|
||||
用户可以选择使用自训练模型进行预测,也可以选择使用平台已经训练好的模型进行预测。预测时需要按照波士顿房价预测问题官方给出的数据集格式准备好自己的数据,并将数据在指定界面上传,平台将返回符合官方要求的数据格式的文件。
|
||||
\subsection{碳排放预测}
|
||||
使用人工智能技术预测碳排放水平成为碳核算的重要手段之一,平台基于机组信息特征数据对燃煤发电$CO_2$排放强度进行预测。
|
||||
\subsubsection{模型构建}
|
||||
平台仍然使用xgboost进行相关的建模和预测。
|
||||
\subsubsection{模型训练}
|
||||
首先对训练集和样本外数据特征缺失比例进行分析,得到表\ref{co2_miss_rate}
|
||||
\begin{table}[H]
|
||||
\centering
|
||||
\begin{tabular}{|c|c|c|}
|
||||
\hline
|
||||
特征名称 & \textbf{训练集缺失比例 } & \textbf{样本外缺失比例} \\
|
||||
\hline
|
||||
地区 & 0.00\% & 0.00\% \\
|
||||
\hline
|
||||
机组容量 & 0.00\% & 0.09\% \\
|
||||
\hline
|
||||
投产时间 & 1.29\% & 0.52\% \\
|
||||
\hline
|
||||
机组类型 & 0.00\% & 55.40\% \\
|
||||
\hline
|
||||
机组参数 & 0.00\% & 55.99\% \\
|
||||
\hline
|
||||
冷却方式 & 0.00\% & 55.78\% \\
|
||||
\hline
|
||||
煤种 & 0.00\% & 90.82\% \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{co2_miss_rate}
|
||||
\end{table}
|
||||
由此可知,煤种作为特征,在样本外数据的覆盖度较差,为了提高模型的泛化能力,实际训练时不采用该维度的特征。
|
||||
\subsubsection{模型预测}
|
||||
用户输入\textbf{地区}、\textbf{机组容量}、\textbf{投产时间}、\textbf{机组类型}、\textbf{机组参数}、\textbf{冷却方式}几个变量,模型预测后得出$CO_2$的排放强度。
|
||||
\subsection{股票预测}
|
||||
股票预测是机器学习在量化投资方向的重要应用之一,在机器学习引入量化领域的早期,由于算力受限,通常使用的是较为简单的模型,例如基于统计学的预测、logistics回归等,随着相关技术的发展,基于深度神经网络、强化学习的方法逐渐产生。
|
||||
\subsubsection{模型构建}
|
||||
我们将股票预测抽象为简单的时间序列预测,以股票预测为基础,给出时间序列预测的具有普适性的建模方法。平台集成了Facebook的开源时间序列框架Prophet\cite{Taylor2018Forecasting}。Prophet将时间序列拆解为包含趋势、周期性和节假日的广义加性模型(Generalized Additive Model),即
|
||||
\begin{equation}
|
||||
y(t) = g(t) + s(t) + h(t) + \epsilon(t)
|
||||
\label{gam}
|
||||
\end{equation}
|
||||
其中$g(t)$是趋势模型,$s(t)$是周期性模型,$h(t)$表示节假日带来的影响,$\epsilon(t)$表示一些噪声。Prophet通过训练数据得到加性模型。
|
||||
\subsubsection{模型训练}
|
||||
由式\ref{gam}可知,模型仅依靠纯时间序列即可完成训练。用户需要提交包含时间和预测值两列的csv文件,并且将两列命名为\code{ds}和\code{y},其中ds列需要处理为时间格式。模型接收数据后即可完成训练。
|
||||
\subsubsection{模型预测}
|
||||
通过输入\textbf{预测时长}和\textbf{预测频率},即可获得模型针对训练数据,对未来一定时长内,按照一定频率的预测值。
|
||||
\section{智能图像}
|
||||
机器视觉(Machine Vision)是人工智能领域中发展迅速的一个重要分支,目前正处于不断突破、走向成熟的阶段。智能图像处理是指一类基于计算机的自适应于各种应用场合的图像处理和分析技术,本身是一个独立的理论和技术领域,但同时又是机器视觉中的一项十分重要的技术支撑。\\
|
||||
\indent 智能图像处理的主要技术包括图像预处理、图像分割、目标识别和分类、目标检测和跟踪等主要研究方向。近年来,随着深度学习技术的不断发展,利用深度神经网络完成相关任务成为智能图像处理领域的主流方法。\\
|
||||
|
@ -152,7 +189,7 @@ MNIST手写体数据集来自美国国家标准与技术研究所(National Insti
|
|||
\label{MNIST_sample}
|
||||
\end{figure}
|
||||
\subsubsection{模型构建}
|
||||
由于任务相对简单,我们以经典的LeNet-5来完成MNIST手写体识别任务。LeNet-5网络结构如图\ref{LeNet}\cite{lecun1995convolutional}所示
|
||||
由于任务相对简单,我们以经典的LeNet-5来完成MNIST手写体识别任务。LeNet-5网络结构如图\ref{LeNet}所示
|
||||
\begin{figure}[htb]
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{images/ch03/vision/LeNet-5.png}
|
||||
|
@ -172,7 +209,7 @@ MNIST手写体数据集来自美国国家标准与技术研究所(National Insti
|
|||
\subsection{图片文字识别}
|
||||
光学字符识别(Optical Character Recognition, OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。亦即将图像中的文字进行识别,并以文本的形式返回。
|
||||
\subsubsection{模型构建}
|
||||
平台集成了开源离线OCR工具tr,用户只需要上传图片,就可以得到图片中的文字。
|
||||
平台集成了开源离线OCR工具tr\cite{myhub2021tr},用户只需要上传图片,就可以得到图片中的文字。
|
||||
\subsubsection{模型训练}
|
||||
暂不支持自训练。
|
||||
\subsubsection{模型预测}
|
||||
|
@ -184,7 +221,7 @@ MNIST手写体数据集来自美国国家标准与技术研究所(National Insti
|
|||
\label{ocr_pred}
|
||||
\end{figure}
|
||||
\subsection{目标检测}
|
||||
YOLO(You Only Look Once)系列算法采用单个神经网络直接预测物品边界和类别概率,实现端到端的物品检测。该方法的特点是将目标检测任务看作目标区域预测和类别预测的回归问题,实现快速检测的同时还达到较高的准确率。平台采用YOLOv5框架作为目标检测模型的基础框架。
|
||||
YOLO(You Only Look Once)\cite{Redmon2015YOLO}系列算法采用单个神经网络直接预测物品边界和类别概率,实现端到端的物品检测。该方法的特点是将目标检测任务看作目标区域预测和类别预测的回归问题,实现快速检测的同时还达到较高的准确率。平台采用相对更轻量级且推理速度更快的YOLOv5框架\cite{glenn_jocher_2022_7002879}作为目标检测模型的基础框架。
|
||||
\subsubsection{模型构建}
|
||||
YOLOv5的网络结构如图\ref{yolov5}所示,
|
||||
\begin{figure}[H]
|
||||
|
@ -193,7 +230,7 @@ YOLOv5的网络结构如图\ref{yolov5}所示,
|
|||
\caption{YOLOv5网络结构图}
|
||||
\label{yolov5}
|
||||
\end{figure}
|
||||
由于模型代码已经开源(\href{https://github.com/ultralytics/yolov5}{https://github.com/ultralytics/yolov5}),平台直接利用了其开源代码搭建模型。
|
||||
由于模型代码已经开源,平台直接利用了其开源代码搭建模型。
|
||||
\subsubsection{模型训练}
|
||||
通过YOLOv5的开源代码,我们可以利用预训练好的代码和权重进行训练。通过以下指令,就完成了基于yolov5n的网络结构和COCO数据集,BATCH大小为128的模型的训练。
|
||||
\begin{Verbatim}[H]
|
||||
|
@ -201,7 +238,7 @@ YOLOv5的网络结构如图\ref{yolov5}所示,
|
|||
\end{Verbatim}
|
||||
该模型训练耗时和算力消耗都比较大,因此平台不提供自主数据训练。
|
||||
\subsubsection{模型预测}
|
||||
平台支持使用不同参数量的YOLOv5模型进行预测,用户通过上传本地的图片,选择YOLOv5模型的版本,进行目标检测模型的预测。具体版本类型如表\ref{yolov5_version}所示:\\
|
||||
平台支持使用不同参数量的YOLOv5模型进行预测,用户通过上传本地的图片,选择YOLOv5模型的版本,进行目标检测模型的预测。具体版本类型如表\ref{yolov5_version}所示:
|
||||
\begin{table}[H]
|
||||
\centering
|
||||
\begin{tabular}{|c|c|c|c|c|}
|
||||
|
@ -222,7 +259,6 @@ YOLOv5的网络结构如图\ref{yolov5}所示,
|
|||
\caption{YOLOv5可选版本及其部分参数}
|
||||
\label{yolov5_version}
|
||||
\end{table}
|
||||
\newpage
|
||||
\indent 使用YOLOv5x对图片进行分割的结果如图\ref{yolov5x_rst}所示
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
|
@ -236,11 +272,11 @@ YOLOv5的网络结构如图\ref{yolov5}所示,
|
|||
图像分割技术是目前计算机视觉领域最热门的技术之一,许多应用了计算机视觉的场景都需要对图像进行智能分割,以充分理解图像中的内容,以便于机器分析图像中各个部分之间的关系。图像分割技术主要分为语义分割和实例分割等。\\
|
||||
\indent 光伏发电站,是指一种特殊材料电子元件(诸如晶硅板、逆变器等)组成的利用太阳能发电的体系,与电网相连并向电网输送电力。利用遥感图像和图像分割技术,可以对光伏发电站的空间分布进行精准确定。因此,本平台以光伏发电站的遥感图像为例,提供了光伏板智能图像分割服务。
|
||||
\subsubsection{模型构建}
|
||||
U-Net是一种U型的类Encoder-Decoder卷积神经网络,最初被应用于医疗图像分割,后来实验证明其在其他领域的图像分割也有较好的效果,是实现语义分割或实例分割的较为基础的模型,其网络结构如图\ref{unet}\cite{2020UNet}所示:
|
||||
U-Net是一种U型的类Encoder-Decoder卷积神经网络,最初被应用于医疗图像分割,后来实验证明其在其他领域的图像分割也有较好的效果,是实现语义分割或实例分割的较为基础的模型,其网络结构如图\ref{unet}所示:
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[scale=0.53]{images/ch03/vision/unet.png}
|
||||
\caption{U-Net的网络结构图}
|
||||
\caption{U-Net的网络结构图\cite{2020UNet}}
|
||||
\label{unet}
|
||||
\end{figure}
|
||||
\indent 模型首先通过卷积操作进行特征融合,通过池化层进行降维,然后再通过卷积层进行上采样,最后通过$1\times 1$的卷积进行结果的输出。
|
||||
|
@ -370,9 +406,34 @@ FuseDream是一个结合CLIP(Connecting Text and Images)和GAN的开源文本生
|
|||
\subsubsection{模型预测}
|
||||
用户可以使用自主训练的模型,输入文本进行翻译,也可以基于平台的预训练中译英模型,输入中文来获得对应的英文。
|
||||
\subsection{阅读理解}
|
||||
\subsubsection{模型构建}
|
||||
机器阅读(Machine Reading Comprehension)是一种让机器像人一样有阅读理解能力的任务,区别于基于检索式的文本问答,更侧重与对文本细致化语言的理解与推理能力,其问题的一般表现形式有以下几种:
|
||||
\begin{enumerate}
|
||||
\item 区间答案型。即答案完全出现在文章中,需要模型识别出文章中正确答案的起止位置。
|
||||
\item 多项选择型。即模型需要从若干个选项中选出正确答案。
|
||||
\item 完形填空型。即在原文中去处若干处,让模型生成对应位置的词语。
|
||||
\item 自由回答型。即让模型自由生成答案。
|
||||
\end{enumerate}
|
||||
此外,一些数据集中也设计了“无法回答”的问题,即给出的文本中难以获得合适的答案,需要模型输出空或者没有答案(unanswerable)。我们针对第一种问题进行了建模。
|
||||
\subsubsection{模型构建}
|
||||
对于此类问题,无论是基于[CLS]输出答案位置坐标进行训练,还是基于Seq2Seq的方式生成答案,均可以完成阅读理解任务。不过相较于前者,后者更符合人的阅读习惯。因此我们采用了基于语言模型(Masked Model Language, MLM),以非自回归的方式训练了阅读理解模型。相较于自回归的Seq2Seq形式,提高了解码速度。\\
|
||||
\indent 给定最大答案长度$l_{max}$,将文章与问题用[SEP]字符拼接起来,再拼接$l_{max}$个[Mask]字符,最后用Mask字符与正确答案进行训练,用MASK位置的编码进行解码得到答案即可。模型结构如下图\ref{MRC}所示:
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[scale=0.35]{images/ch03/nlp/MLM_MRC.png}
|
||||
\caption{注意力机制的Endcoer-Decoder模型\cite{kexuefm-7148}}
|
||||
\label{MRC}
|
||||
\end{figure}
|
||||
\subsubsection{模型训练}
|
||||
基于开源数据集WebQA\cite{Li2016Dataset}和SogouQA\cite{cips2018sogou}进行训练。两个数据集均给出了围绕一个问题的多段文本,以及这个问题的答案。经过去除无效答案后,按照\ref{MRC}进行建模训练。
|
||||
\subsubsection{模型预测}
|
||||
用户需要输入问题和围绕问题的一段或数段描述,模型将根据问题和描述返回答案,例如:
|
||||
\begin{Verbatim}[H]
|
||||
问题:嬴政在哪里出生?
|
||||
描述1:"嬴政出生于赵国都城邯郸,后回到秦国,公元前247年继承王位,时年十三岁。",
|
||||
描述2:"嬴政建立起一个中央集权的统一的多民族国家——秦朝",
|
||||
描述3:"公元前221年,秦国统一六国。",
|
||||
答案:邯郸
|
||||
\end{Verbatim}
|
||||
\subsection{语义匹配}
|
||||
语义匹配是NLP领域的基础任务之一,直接目标就是判断两句话是否表达了相同或相似意思。语义匹配可应用于推荐系统、智能问答、搜索引擎、文本查重等。传统的文本匹配技术有词袋模型(Bag of Words)、TF-IDF、Jaccard矩阵、SimHash等算法,主要基于词的层级进行匹配,近年来,结合预训练模型的深度神经网络模型逐渐成为这一领域的主流模型。
|
||||
\subsubsection{模型构建}
|
||||
|
@ -398,7 +459,7 @@ FuseDream是一个结合CLIP(Connecting Text and Images)和GAN的开源文本生
|
|||
\label{lm}
|
||||
\end{figure}
|
||||
\subsubsection{模型训练}
|
||||
按照建模思路,平台将使用NEZHA\ref{2019NEZHA}的预训练权重作为语言模型。由于文章续写只依赖于文字本身,因此不需要使用segment\_id来区分更多细节。
|
||||
按照建模思路,平台使用NEZHA\cite{Wei2019NEZHA}的预训练权重作为语言模型。由于文章续写只依赖于文字本身,因此不需要使用segment\_id来区分更多细节。
|
||||
\subsubsection{模型预测}
|
||||
模型解码时,按照自回归的方式逐步解码,并依据概率,在解码空间内随机采样,逐步生成后续的文本。用户使用时,只需要输入一段文本作为开头,模型会自动进行续写。
|
||||
\subsection{对话系统}
|
||||
|
@ -407,7 +468,7 @@ FuseDream是一个结合CLIP(Connecting Text and Images)和GAN的开源文本生
|
|||
我们选择非任务导向性对话系统作为平台的智能对话系统,相对于一般的文本生成任务,对话任务有两个难点,一是需要对说话人的身份予以区分,二是生成的文本需要符合上文的语境和连贯性。利用基于预训练模型的Transformer结构进行微调,其网络结构如下图\ref{chatbot}所示
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[scale=0.35]{images/ch03/nlp/chatbot.png}
|
||||
\includegraphics[scale=0.45]{images/ch03/nlp/dialog.png}
|
||||
\caption{闲聊机器人模型架构\cite{kexuefm-7718}}
|
||||
\label{chatbot}
|
||||
\end{figure}
|
||||
|
@ -419,17 +480,17 @@ FuseDream是一个结合CLIP(Connecting Text and Images)和GAN的开源文本生
|
|||
\subsection{句法分析}
|
||||
句法分析的主要任务是识别出句子所包含的句法成分以及这些成分之间的关系,主要分为以下两个任务:
|
||||
\begin{enumerate}
|
||||
\item 成分句法分析(Constituency Parsing): 分析句子的成分,给出一棵树由终结符和非终结符构成的句法树。
|
||||
\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}
|
||||
\includegraphics[scale=0.5]{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{模型训练}
|
||||
|
@ -465,7 +526,7 @@ FuseDream是一个结合CLIP(Connecting Text and Images)和GAN的开源文本生
|
|||
\item 模型搭建。传统方式是音学模型和语言模型分别建模,即音学模型使用隐马尔科夫模型和高斯混合模型学习信号的动态和静态特征;语言模型基于音学模型的特征求解$P(W|O)$,常用的方法基于n元语法(n-gram Grammar)或RNN。端到端的方法可以使用连接时序分类,(Connectionist temporal classification, CTC)或者Attention的方法。
|
||||
\end{enumerate}
|
||||
\subsubsection{模型训练}
|
||||
平台使用WeNet\ref{yao2021wenet}模型作为语音识别模型的训练和预测工具,其使用conformer网络结构和CTC/attention loss联合优化方法,具备统一的流式/非流式语音识别方案。训练过程如下:
|
||||
平台使用WeNet\cite{yao2021wenet}模型作为语音识别模型的训练和预测工具,其使用conformer网络结构和CTC/attention loss联合优化方法,具备统一的流式/非流式语音识别方案。训练过程如下:
|
||||
\begin{enumerate}
|
||||
\item \textbf{数据准备}。首先要按照如下形式准备wav.scp和text两个文件。\\
|
||||
\begin{minipage}[t]{0.48\textwidth}
|
||||
|
@ -511,10 +572,4 @@ Tacotron2原模型是针对英文语音合成的模型,要训练针对中文
|
|||
数据处理完成后,即可使用原有脚本进行本地训练。
|
||||
\subsubsection{模型预测}
|
||||
用户可以输入中文句子,也可以输入拼音进行合成。合成后的音频结果可以在平台直接播放,也可以点击下载进行下载保存。
|
||||
%\section{其他任务}
|
||||
\begin{subappendices}
|
||||
\section{各模块模型服务接口文档}
|
||||
\subsection{回归预测}
|
||||
\subsubsection{海浪高度预测}
|
||||
\end{subappendices}
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
\usepackage{graphicx}
|
||||
\usepackage{enumitem}
|
||||
\usepackage{setspace}
|
||||
\usepackage{siunitx}
|
||||
\usepackage{fontspec}
|
||||
\usepackage{supertabular}
|
||||
\usepackage{multirow}
|
||||
|
@ -18,6 +19,7 @@
|
|||
\usepackage{appendix} %%!!!!!!!!
|
||||
\usepackage{subfigure}
|
||||
\usepackage{url}
|
||||
\usepackage{fancyvrb}
|
||||
\definecolor{VerbatimColor}{rgb}{0.9,0.9,0.9}
|
||||
|
||||
\begin{document}
|
||||
|
@ -46,11 +48,12 @@
|
|||
% 概述
|
||||
\include{chapter/c1}
|
||||
|
||||
% 模型介绍
|
||||
\include{chapter/c3}
|
||||
|
||||
% API介绍
|
||||
\include{chapter/c2}
|
||||
|
||||
% 模型介绍
|
||||
\include{chapter/c3}
|
||||
\bibliographystyle{unsrt}
|
||||
\bibliography{ref}
|
||||
\end{document}
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 62 KiB |
Binary file not shown.
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 22 KiB |
153
ref.bib
153
ref.bib
|
@ -9,11 +9,25 @@
|
|||
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},
|
||||
@article{2017Attention,
|
||||
author = {Ashish Vaswani and
|
||||
Noam Shazeer and
|
||||
Niki Parmar and
|
||||
Jakob Uszkoreit and
|
||||
Llion Jones and
|
||||
Aidan N. Gomez and
|
||||
Lukasz Kaiser and
|
||||
Illia Polosukhin},
|
||||
title = {Attention Is All You Need},
|
||||
journal = {CoRR},
|
||||
volume = {abs/1706.03762},
|
||||
year = {2017},
|
||||
url = {http://arxiv.org/abs/1706.03762},
|
||||
eprinttype = {arXiv},
|
||||
eprint = {1706.03762},
|
||||
timestamp = {Sat, 23 Jan 2021 01:20:40 +0100},
|
||||
biburl = {https://dblp.org/rec/journals/corr/VaswaniSPUJGKP17.bib},
|
||||
bibsource = {dblp computer science bibliography, https://dblp.org}
|
||||
}
|
||||
|
||||
@online{kexuefm-7718,
|
||||
|
@ -114,8 +128,131 @@
|
|||
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. },
|
||||
@article{Wei2019NEZHA,
|
||||
author = {Junqiu Wei and
|
||||
Xiaozhe Ren and
|
||||
Xiaoguang Li and
|
||||
Wenyong Huang and
|
||||
Yi Liao and
|
||||
Yasheng Wang and
|
||||
Jiashu Lin and
|
||||
Xin Jiang and
|
||||
Xiao Chen and
|
||||
Qun Liu},
|
||||
title = {{NEZHA:} Neural Contextualized Representation for Chinese Language
|
||||
Understanding},
|
||||
journal = {CoRR},
|
||||
volume = {abs/1909.00204},
|
||||
year = {2019},
|
||||
url = {http://arxiv.org/abs/1909.00204},
|
||||
eprinttype = {arXiv},
|
||||
eprint = {1909.00204},
|
||||
timestamp = {Tue, 21 Dec 2021 15:05:23 +0100},
|
||||
biburl = {https://dblp.org/rec/journals/corr/abs-1909-00204.bib},
|
||||
bibsource = {dblp computer science bibliography, https://dblp.org}
|
||||
}
|
||||
@online{kexuefm-7148,
|
||||
title={“非自回归”也不差:基于MLM的阅读理解问答},
|
||||
author={苏剑林},
|
||||
year={2019},
|
||||
month={Dec},
|
||||
howpublished={\url{https://spaces.ac.cn/archives/7148}},
|
||||
}
|
||||
|
||||
@article{Li2016Dataset,
|
||||
title={Dataset and Neural Recurrent Sequence Labeling Model for Open-Domain Factoid Question Answering},
|
||||
author={ Li, P. and Li, W. and He, Z. and Wang, X. and Cao, Y. and Zhou, J. and Xu, W. },
|
||||
year={2016},
|
||||
}
|
||||
@online{cips2018sogou,
|
||||
title={CIPS-SOGOU问答比赛},
|
||||
howpublished={\url{http://task.www.sogou.com/cips-sogou_qa/}},
|
||||
}
|
||||
@misc{myhub2021tr,
|
||||
author={myhub},
|
||||
title={{tr - Text Recognition}},
|
||||
version={2.3.1},
|
||||
month=dec,
|
||||
year=2021,
|
||||
publisher={GithubRepository},
|
||||
howpublished={\url{github.com/myhub/tr}},
|
||||
}
|
||||
|
||||
@article{Redmon2015YOLO,
|
||||
author = {Joseph Redmon and
|
||||
Santosh Kumar Divvala and
|
||||
Ross B. Girshick and
|
||||
Ali Farhadi},
|
||||
title = {You Only Look Once: Unified, Real-Time Object Detection},
|
||||
journal = {CoRR},
|
||||
volume = {abs/1506.02640},
|
||||
year = {2015},
|
||||
url = {http://arxiv.org/abs/1506.02640},
|
||||
eprinttype = {arXiv},
|
||||
eprint = {1506.02640},
|
||||
timestamp = {Mon, 13 Aug 2018 16:48:08 +0200},
|
||||
biburl = {https://dblp.org/rec/journals/corr/RedmonDGF15.bib},
|
||||
bibsource = {dblp computer science bibliography, https://dblp.org}
|
||||
}
|
||||
|
||||
@software{glenn_jocher_2022_7002879,
|
||||
author = {Glenn Jocher and
|
||||
Ayush Chaurasia and
|
||||
Alex Stoken and
|
||||
Jirka Borovec and
|
||||
NanoCode012 and
|
||||
Yonghye Kwon and
|
||||
TaoXie and
|
||||
Kalen Michael and
|
||||
Jiacong Fang and
|
||||
imyhxy and
|
||||
Lorna and
|
||||
Colin Wong and
|
||||
曾逸夫(Zeng Yifu) and
|
||||
Abhiram V and
|
||||
Diego Montes and
|
||||
Zhiqiang Wang and
|
||||
Cristi Fati and
|
||||
Jebastin Nadar and
|
||||
Laughing and
|
||||
UnglvKitDe and
|
||||
tkianai and
|
||||
yxNONG and
|
||||
Piotr Skalski and
|
||||
Adam Hogan and
|
||||
Max Strobel and
|
||||
Mrinal Jain and
|
||||
Lorenzo Mammana and
|
||||
xylieong},
|
||||
title = {{ultralytics/yolov5: v6.2 - YOLOv5 Classification
|
||||
Models, Apple M1, Reproducibility, ClearML and
|
||||
Deci.ai integrations}},
|
||||
month = aug,
|
||||
year = 2022,
|
||||
publisher = {Zenodo},
|
||||
version = {v6.2},
|
||||
doi = {10.5281/zenodo.7002879},
|
||||
url = {https://doi.org/10.5281/zenodo.7002879}
|
||||
}
|
||||
|
||||
@article{Taylor2018Forecasting,
|
||||
title={Forecasting at Scale},
|
||||
author={Taylor and Sean and J. and Letham and Benjamin},
|
||||
journal={American Statistician},
|
||||
year={2018},
|
||||
}
|
||||
|
||||
@article{chen2016xgboost,
|
||||
author = {Tianqi Chen and
|
||||
Carlos Guestrin},
|
||||
title = {XGBoost: {A} Scalable Tree Boosting System},
|
||||
journal = {CoRR},
|
||||
volume = {abs/1603.02754},
|
||||
year = {2016},
|
||||
url = {http://arxiv.org/abs/1603.02754},
|
||||
eprinttype = {arXiv},
|
||||
eprint = {1603.02754},
|
||||
timestamp = {Mon, 13 Aug 2018 16:47:00 +0200},
|
||||
biburl = {https://dblp.org/rec/journals/corr/ChenG16.bib},
|
||||
bibsource = {dblp computer science bibliography, https://dblp.org}
|
||||
}
|
Loading…
Reference in New Issue