机器学习特征工程
特征工程是将原始数据转换为机器学习算法输入的过程。为了在机器学习算法中应用该过程,必须将特征输入到特征向量中,而特征向量是代表每个特征值的数字向量。情感分析需要将文本数据输入到词向量中,这些词向量是代表每个单词值的数字向量。可以使用计数技术(如 Bag of Words (BoW)、bag-of-ngrams 或 Term Frequency/Inverse Document Frequency (TF-IDF))将输入文本编码为词向量。
使用监督式机器学习进行情感分类。
将输入文本转换为词向量后,分类机器学习算法可用于情感分类。分类是一系列监督式机器学习算法,基于已标记的数据(例如标记为积极或消极的文本)来识别物品所属的类别(例如文本是消极还是积极)。
以下分类机器学习算法可用于情感分析:
- Naïve Bayes 是一系列概率算法,用于确定输入数据类别的条件概率。
- 支持向量机在 N 维空间(N 为特征数)中查找对数据点进行明显分类的超平面。
- 逻辑回归使用逻辑函数对特定类别的概率进行建模。
使用深度学习进行情感分析
深度学习 (DL) 是机器学习 (ML) 的一个分支,其使用多层人工神经网络精准完成 NLP 和其他任务。DL 词嵌入技术(例如 Word2Vec)通过学习词关联、含义、语义和语法,以有意义地对词进行编码。DL 算法还支持 NLP 模型的端到端训练,而无需手动从原始输入数据中设计特征。
深度学习算法有许多不同的变体。时间递归神经网络是解析语言模式和序列数据的数学工具。这些自然语言处理大脑,可为 Amazon Alexa 提供听力和语音,也可用于语言翻译、股票预测和算法交易。Transformer 深度学习模型,如 BERT (Bidirectional Encoder Representations from Transformers),是时间递归神经网络的一个替代方案,它应用了一种注意力技术 – 通过将注意力集中在前后最相关的词上来解析一个句子。BERT 通过在意图识别、情感分析等基准上提供与人类基准相媲美的准确性,彻底改变了 NLP 的进展。它具有深度双向的优势,相比于其他文本编码机制,它能够更好地理解和保留上下文。训练语言模型时,遭遇的一个关键挑战是缺少标记数据。BERT 在无监督任务上接受训练,通常使用书籍语料库、英语维基百科等的非结构化数据集。
GPU:加速 NLP 和情感分析
自然语言处理中近年来不断取得的进步和突破是驱动 NLP 增长的一个因素,其中重要的是部署 GPU 来处理日渐庞大且高度复杂的语言模型。
一个由数百个核心组成的 GPU,可以并行处理数千个线程。GPU 已成为训练 ML 和 DL 模型及执行推理的首选平台,因为它们的性能比纯 CPU 平台高 10 倍。
先进的深度学习神经网络可能有数百万乃至十亿以上的参数需要通过反向传播进行调整。此外,它们需要大量的训练数据才能实现较高的准确度,这意味着成千上万乃至数百万的输入样本必须同时进行向前和向后传输。由于神经网络由大量相同的神经元构建而成,因此本质上具有高度并行性。这种并行性会自然映射到 GPU,因此相比仅依赖 CPU 的训练,计算速度会大幅提高。因此,GPU 已成为训练基于神经网络的大型复杂系统的首选平台,推理运算的并行性质也有助于在 GPU 上执行。此外,像 BERT 这样基于 Transformer 的深度学习模型不需要按顺序处理连续数据,与 RNN 相比,可以在 GPU 上实现更多的并行化,并减少训练时间。
NVIDIA GPU 加速 AI 库
借助 NVIDIA GPU 和 CUDA-X AI™ 库,可快速训练和优化大量的先进语言模型,从而在几毫秒或几千分之一秒内运行推理。这是一项重大进步,可以结束快速 AI 模型与大型复杂 AI 模型之间的权衡。在与复杂语言模型协作时,NVIDIA GPU 的并行处理能力和 Tensor Core 架构可实现更高的吞吐量和可扩展性,从而为 BERT 的训练和推理提供优异的性能。
NVIDIA GPU 加速的端到端数据科学
基于 CUDA-X AI 构建的 NVIDIA RAPIDS™ 软件库套件使您能够自由地在 GPU 上执行端到端数据科学和分析流程。此套件依靠 NVIDIA® CUDA® 基元进行低级别计算优化,但通过用户友好型 Python 接口能够实现 GPU 并行化和高带宽显存速度。
NVIDIA GPU 加速的深度学习框架
GPU 加速 DL 框架为设计和训练自定义深度神经网络带来灵活性,并为 Python 和 C/C++ 等常用编程语言提供编程接口。MXNet、PyTorch、TensorFlow 等广泛使用的深度学习框架依赖于 NVIDIA GPU 加速库,能够提供高性能的多 GPU 加速训练。