Pytorch深度学习(7) -- 文本情感分类 CNN

1. 文本情感分类:使用卷积神经网络(textCNN)

在“卷积神经网络”一章中我们探究了如何使用二维卷积神经网络来处理二维图像数据。在之前的语言模型和文本分类任务中,我们将文本数据看作是只有一个维度的时间序列,并很自然地使用循环神经网络来表征这样的数据。其实,我们也可以将文本当作一维图像,从而可以用一维卷积神经网络来捕捉临近词之间的关联。本节将介绍将卷积神经网络应用到文本分析的开创性工作之一:textCNN [1]。

首先导入实验所需的包和模块。

import os
import torch
from torch import nn
import torchtext.vocab as Vocab
import torch.utils.data as Data
import  torch.nn.functional as F

import sys
sys.path.append("..") 
import d2lzh_pytorch as d2l

os.environ["CUDA_VISIBLE_DEVICES"] = "0"
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

DATA_ROOT = "/S1/CSCL/tangss/Datasets"

1.1 一维卷积层

在介绍模型前我们先来解释一维卷积层的工作原理。与二维卷积层一样,一维卷积层使用一维的互相关运算。在一维互相关运算中,卷积窗口从输入数组的最左方开始,按从左往右的顺序,依次在输入数组上滑动。当卷积窗口滑动到某一位置时,窗口中的输入子数组与核数组按元素相乘并求和,得到输出数组中相应位置的元素。如图10.4所示,输入是一个宽为7的一维数组,核数组的宽为2。可以看到输出的宽度为 7 − 2 + 1 = 6 7-2+1=6 72+1=6,且第一个元素是由输入的最左边的宽为2的子数组与核数组按元素相乘后再相加得到的: 0 × 1 + 1 × 2 = 2 0\times1+1\times2=2 0×1+1×2=2

图10.4 一维互相关运算
下面我们将一维互相关运算实现在`corr1d`函数里。它接受输入数组`X`和核数组`K`,并输出数组`Y`。
def corr1d(X, K):
    w = K.shape[0]
    Y = torch.zeros((X.shape[0] - w + 1))
    for i in range(Y.shape[0]):
        Y[i] = (X[i: i + w] * K).sum()
    return Y

让我们复现图10.4中一维互相关运算的结果。

X, K = torch.tensor([0, 1, 2, 3, 4, 5, 6]), torch.tensor([1, 2])
corr1d(X, K)

输出:

tensor([ 2.,  5.,  8., 11., 14., 17.])

多输入通道的一维互相关运算也与多输入通道的二维互相关运算类似:在每个通道上,将核与相应的输入做一维互相关运算,并将通道之间的结果相加得到输出结果。图10.5展示了含3个输入通道的一维互相关运算,其中阴影部分为第一个输出元素及其计算所使用的输入和核数组元素: 0 × 1 + 1 × 2 + 1 × 3

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 2022年10月,PyTorch深度学习框架将继续保持其在深度学习领域的领先地位。随着人工智能技术的不断发展,PyTorch将不断更新和改进,以适应新的挑战和需求。此时,PyTorch已经成为实现机器学习和深度学习的最先进、最强大的框架之一,广泛应用于各种领域,如图像识别、自然语言处理、语音识别等。 随着深度学习技术的普及和不断发展,PyTorch将不断优化其已有的功能和性能,提供更多的高级算法和工具。这将使得开发者可以更加轻松地实现更为复杂和精细的深度学习模型,从而提高机器学习的效率和精度。另外,PyTorch还将与其他先进技术结合,比如对抗生成网络(GANs)和强化学习,以实现更为高级的应用。 2022年10月,PyTorch深度学习框架还将更加注重安全和隐私保护,增加安全性和使用方便性,为用户提供更为广泛的应用场景。同时,PyTorch团队将持续进行社区建设,与全球的开发者和研究者合作,探索更具前瞻性的深度学习技术和应用。这将为2022年和未来的深度学习领域带来更多的新机遇和挑战。 ### 回答2: pytorch是一个开源机器学习框架,广泛应用于深度学习领域。随着人工智能和机器学习技术的不断进步,pytorch也在不断发展和完善。到2022年10月,pytorch肯定会有更多强大的功能和特性。 在未来,pytorch会更加注重开发人员的使用体验,提供更加易用和便捷的API和工具。同时,pytorch也将进一步推进自动化领域的研究和开发,自动化超参数、模型结构等方面的选择,不仅能够大幅提高模型训练的效率,同时也能够减少人工智能研究者的工作量和时间成本。 随着AI和大数据技术的不断发展,pytorch也会更加注重数据处理和分析能力,在大规模数据集和复杂任务下进行更加高效、准确和可靠的数据分析和处理。 总之,pytorch作为深度学习领域的知名框架,将会不断发展和完善,为广大人工智能开发者和研究人员带来更加优秀的工具和平台,助力科学家们实现更多技术的创新和改变。 ### 回答3: 2022年10月,PyTorch深度学习已经成为当今最受欢迎和使用的深度学习框架之一。PyTorch是一个由Facebook开发和维护的开源深度学习框架,它具有高度的灵活性、易于使用和热门的社区支持,而且在深度学习域内受到了广泛的认可。 在2022年10月,PyTorch深度学习应用已开始深入我们的生活和工作领域,它被应用于各种各样的领域,包括计算机视觉、自然语言处理、自动驾驶、医疗诊断等。 在计算机视觉领域,PyTorch深度学习被广泛应用于图像分类和目标检测,例如使用Convolutional Neural Network (CNN)实现人脸识别和图像分割。 在自然语言处理领域,PyTorch深度学习可用于文本分类情感分析、机器翻译等任务,以及生成模型的研究和开发。 在自动驾驶领域,PyTorch深度学习可以用于道路识别、车辆识别和自动驾驶决策的学习和优化等。 在医疗诊断领域,PyTorch深度学习被应用于疾病识别、医学影像分类等任务中,帮助医生进行更准确、及时、可靠的诊断。 因此,可以预见,在2022年10月,PyTorch深度学习将继续在其应用范围和影响力上发挥着重大的作用,它将继续为深度学习领域带来更多的创新和进步。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值