郑州阿里巴巴网站建设,民治网站设计圳网站建设公司,wordpress打赏后看全部,成都网站建设网[1] 项目架构 在我们深入古诗生成AI项目的具体实践之前#xff0c;让我们首先理解整个项目的架构。本项目的代码流程主要分为三个关键阶段#xff1a; 1、数据处理阶段#xff1b; 2、模型训练阶段#xff1b; 3、文本生成阶段。 第一步#xff1a;在数据处理阶段… [1] 项目架构 在我们深入古诗生成AI项目的具体实践之前让我们首先理解整个项目的架构。本项目的代码流程主要分为三个关键阶段 1、数据处理阶段 2、模型训练阶段 3、文本生成阶段。 第一步在数据处理阶段我们将重点放在文本的分割、清洗和标准化上。这个阶段的开始是对原始文本进行清洗然后进行字级别的分词处理。例如将“床前明月光”分词为[床前明月光]。这样的处理后我们接着构建词典vocabulary并从官方词向量库中提取出词典中的词对应的向量。 注意如果你是初学者可能会对词典构建和官方词向量的概念感到困惑。不用担心我们将在后续的章节中详细解释这些概念。 第二步模型训练阶段。这一阶段的核心任务是加载数据集将其处理成模型可接受的输入input和标签label格式并进行训练。训练完成后模型的保存变得至关重要。我们会保存训练好的模型以便在不同环境中重复使用避免每次都从头开始训练。同时我们还会特别保存那些表现最佳的模型以便于后续生成高质量的古诗。 第三步文本生成阶段。在这一阶段我们将使用保存好的模型来处理新的文本数据。这里的“文本数据”可以是空的即直接从模型中生成古诗。经过模型处理后我们将得到新生成的古诗文本。 接下来我们将逐一深入每个阶段详细解析它们的工作流程和关键点。 [1.1] 数据处理阶段 数据处理阶段流程图如下 为了确保项目代码具有高度的灵活性和扩展性使其能够轻松适应其他数据集和不同的下游任务我们精心设计了任务加载器task和预处理器processor。 通过任务加载器task和预处理器processor的处理数据集中的所有字符被有效地整理和组织形成了一个全面的字典。这个过程至关重要因为它决定了模型如何理解和处理文本数据。值得注意的是虽然第三方Word2Vec库通常非常庞大大约有1GB的大小并且包含了30万到100万个单字和词汇但我们的字典大小大约只有7千左右比如Bert的词典大小也只有3万。因此一个关键的步骤是从这些庞大的第三方Word2Vec中精确地提取出与我们字典中的词汇相对应的词向量。 这一过程不仅优化了我们模型的存储和运算效率而且确保了模型能够准确地理解和处理我们特定的数据集。这样的设计思路使得整个项目更加高效、灵活为后续的不同应用场景奠定了坚实的基础。 [1.2] 模型训练阶段 模型训练阶段流程图如下 同理为了使项目代码有较强的拓展性方便拓展到其他数据集上和其他下游任务上我们设计了模型包装器wrapper真正的模型结构model放入模型包装器wrapper。 在训练结束后将最好的模型结果保存下来。 [1.3] 文本生成阶段 文本生成阶段流程图如下 在我们的模型训练完成之后一个令人兴奋的阶段就是利用训练好的模型来生成文本。在这个阶段你可以选择输入一些自定义的前缀词或者完全不输入任何内容。这取决于你想要模型生成的古诗的风格和内容。 一旦输入如果有的话被送入模型模型就会根据输入预测下一个最可能的字。这个预测的字接着被拼接到原始输入的末尾形成新的输入字符串。然后这个更新后的字符串再次被送入模型。这个过程不断重复直到生成了一整段文本。 这个生成过程非常有趣因为它不仅展示了模型学习古诗的结构和语言风格的能力而且还允许我们以创造性的方式使用模型无论是模仿经典古诗风格还是创作全新的诗句。这种交互式的文本生成过程为探索AI在文学创作领域的潜力提供了一个有趣的窗口。 [2] 古诗生成训练原理 理解整个实战项目的架构之后你一定好奇模型的输入输出是什么训练的目标是什么如何让模型可以有生成能力呢请参考下面的模型原理图 在讨论古诗生成模型的细节之前让我们先看一下典型的序列生成模型的架构。在这种模型中输入通常是一个序列例如一句或一整首古诗。这个模型的目标是生成一个与输入序列往左偏移一个单位的输出序列。 为了让模型能够识别古诗的开头和结尾我们引入了特殊的符号来表示开始和结束。具体的符号并不重要但为了示例我们可以将开始符设为BBegin和结束符设为EEnd。 现在让我们来详细探讨一下训练目标。 例如如果输入序列是[B床前明月光E]那么我们将这个序列向左偏移一个单位作为训练标签即目标序列是[床前明月光EE]。当输入通过模型处理后我们希望每个输入元素都能准确地预测其下一个元素。也就是说我们期望输入‘B’时模型预测出的字是‘床’输入‘床’时预测出的字是‘前’以此类推。当到达结束符‘E’时我们预期模型接下来不断预测出‘E’这表示古诗生成的结束。 图中的长方形“model”代表神经网络模型本身。这个模型通常是一个多层神经网络比如循环神经网络RNN、长短期记忆网络LSTM或门控循环单元GRU。这些类型的网络非常擅长处理序列数据并能记住前面的信息这对于生成连贯和有吸引力的古诗至关重要。 [3] 进行下一篇实战 【古诗生成AI实战】之三——任务加载器与预处理器