07_Hugging Face生态使用 1 概述 Hugging Face 是一个专注于人工智能的开源生态平台,类似 AI 界的 GitHub + 应用商店,提供了丰富的模型、数据集、应用、工具等资源。 Hugging Face 生态核心包括: Transformers:最核心的库,支持主流深度学习框架,包含大量预训练模型,比如 BERT、GPT、RoBERTa 等。 AutoModel:预训练模型,包含多种模型,比如 BERT、G 2024-08-26 自然语言处理 #NLP #HuggingFace
06_迁移学习 1 迁移学习 早期 NLP 领域针对每个具体任务单独构建并从头训练模型,这种方式不仅严重依赖高质量的标注数据,且模型之间无法共享语言知识,导致训练成本高昂、泛化能力差, 迁移学习是机器学习的一种思想或者说方法论,核心是将一个模型在一个任务中学到的知识(特征、权重等),应用到另一个任务中。 在过渡阶段,Word2Vec、GloVe 和 fastText 都是早期类似迁移学习的思想,核心是基于特征的迁 2024-08-24 自然语言处理 #NLP #BERT #GPT #T5
04_Transformer架构详解 1 概述 1.1 发展历程 Seq2Seq 虽然通过注意力机制在一定程度上增强了模型能力,但是由于整体结构还是依赖于 RNN 等序列模型,依然存在计算效率低、难以建模长距离依赖等结构性限制。 为了解决这些问题,Google 在 2017 年发表了一篇论文《Attention Is All You Need》,提出了 Transformer 架构,该模型完全抛弃了 RNN 等序列模型,通过注意力机制 2024-08-21 自然语言处理 #NLP #Transformer
03_Seq2Seq与注意力机制 1 Seq2Seq 模型 Seq2Seq 并不是一种全新的网络架构,而是传统序列模型的一种应用。传统的自然语言处理任务(如文本分类、序列标注)以静态输出为主,其目标是预测固定类别或标签。 而在机器翻译、文本摘要、问答系统等任务中,输入和输出都是长度动态可变的序列,使用传统的单一序列模型,只能完成 N vs 1,或者 N vs N,因此提出了 Seq2Seq(Sequence to Sequence 2024-08-18 自然语言处理 #NLP #Seq2Seq #Attention
02_传统序列模型 1 RNN 在上一节中,已经解决了词向量的表示,虽然已经可以表示出每个 token 的语义信息,但是对于自然语言来说,token 的顺序对于理解句子的含义非常重要,比如“猫吃鱼”和“鱼吃猫”的含义完全不同。 因此在 1980 年代提出了一种新的方法 RNN(Recurrent Neural Network,循环神经网络),RNN 通过逐个读取 token 的信息,并在每一步结合当前词和上下文信息, 2024-08-14 自然语言处理 #RNN #NLP #LSTM #GRU
01_文本处理与词表示 1 文本处理基本方法 1.1 分词 分词(Tokenization) 是将原始文本切分为若干具有独立语义的最小单元(即 token) 的过程,是所有 NLP 任务的起点。 不同语言有不同的分词策略: 英文 词级分词:用空格或标点进行分割,容易出现 OOV(Out-Of-Vocabulary,未登录词)问题。通常会将其统一替换为特殊标记(如 <UNK>),从而导致语义信息的丢失。 字 2024-08-12 自然语言处理 #NLP #Word2Vec #fastText #Gensim
05_RNN循环神经网络 1 自然语言概述 自然语言处理 (Natural Language Processing,NLP)的目标就是让计算机理解人类语言,发展至今大致可以分为下面几个阶段: 1950年代 - 1970年代:基于规则的系统,如 ELIZA 聊天机器人。 1980年代 - 1990年代:基于统计方法,如 N-gram、隐马尔可夫(HMM)和最大熵模型。 1990年代 - 2010年代:基于机器学习阶段,如逻 2024-08-10 深度学习 #深度学习 #RNN
03_损失函数和优化算法 1 损失函数 损失函数(loss function),也叫代价函数(cost function)、误差函数(error function)、目标函数(objective function),是用来衡量模型参数质量的函数,衡量的方式是比较网络输出(预测值)和真实输出(真实值)的差异。模型通过最小化损失函数的值来调整参数,使其输出更接近真实值。主要有性能评估和优化指导两大作用。 1.1 分类任务 1. 2024-08-07 深度学习 #深度学习