自然语言处理 (NLP) 和计算机视觉 (CV) 是人工智能的不同子领域,它们关注不同类型的数据并使用不同的技术方法。 NLP 处理理解和生成人类语言,而计算机视觉处理和解释视觉数据,如图像或视频。 核心区别在于它们的输入数据:NLP 处理文本(单词、句子),而 CV 处理像素、形状和空间关系。 例如,NLP 模型可能会分析推文中的情绪,而 CV 系统可以识别照片中的对象。
每个领域中使用的技术方法也不同。 NLP 严重依赖于诸如分词(将文本分解为单词或子词)、嵌入(将单词映射到数值向量)和注意力机制(识别重要上下文)之类的技术。 诸如 BERT 或 GPT 之类的模型处理顺序数据,通常使用 transformers 来处理语言中的长程依赖关系。 相比之下,计算机视觉采用卷积神经网络 (CNN) 来检测网格状像素数据中的模式。 例如,CNN 可能会使用过滤器来识别图像中的边缘,然后再识别更高层次的特征(如面部)。 虽然 transformers 最近已用于 CV(例如,Vision Transformers),但视觉数据的空间层次结构仍然是关键重点。
应用和挑战也突出了这些差异。 NLP 为聊天机器人、翻译服务(例如,Google 翻译)和文本摘要提供支持,但在歧义、讽刺或低资源语言方面存在困难。 计算机视觉支持面部识别、医学影像分析和自动驾驶汽车导航,但面临诸如遮挡(对象相互阻挡)或不同的光照条件等问题。 开发 NLP 的开发人员可能会使用诸如 spaCy 或 Hugging Face Transformers 之类的库,而 CV 工程师可能会利用 OpenCV 或 PyTorch 以及诸如 ResNet 之类的 CNN 架构。 这两个领域都需要特定领域的预处理:NLP 处理停用词删除和词形还原,而 CV 规范化像素值并应用诸如旋转或裁剪之类的数据增强。