动手学深度学习Task8

一、文本分类;
二、数据增强;
三、模型微调

一、文本分类
文本情感分类
文本分类是自然语言处理的一个常见任务,它把一段不定长的文本序列变换为文本的类别。本节关注它的一个子问题:使用文本情感分类来分析文本作者的情绪。这个问题也叫情感分析,并有着广泛的应用。

同搜索近义词和类比词一样,文本分类也属于词嵌入的下游应用。在本节中,我们将应用预训练的词向量和含多个隐藏层的双向循环神经网络与卷积神经网络,来判断一段不定长的文本序列中包含的是正面还是负面的情绪。后续内容将从以下几个方面展开:

文本情感分类数据集
使用循环神经网络进行情感分类
使用卷积神经网络进行情感分类

TextCNN 模型
TextCNN 模型主要使用了一维卷积层和时序最大池化层。假设输入的文本序列由 n 个词组成,每个词用 d 维的词向量表示。那么输入样本的宽为 n ,输入通道数为 d 。TextCNN 的计算主要分为以下几步。

定义多个一维卷积核,并使用这些卷积核对输入分别做卷积计算。宽度不同的卷积核可能会捕捉到不同个数的相邻词的相关性。
对输出的所有通道分别做时序最大池化,再将这些通道的池化输出值连结为向量。
通过全连接层将连结后的向量变换为有关各类别的输出。这一步可以使用丢弃层应对过拟合。
下图用一个例子解释了 TextCNN 的设计。这里的输入是一个有 11 个词的句子,每个词用 6 维词向量表示。因此输入序列的宽为 11,输入通道数为 6。给定 2 个一维卷积核,核宽分别为 2 和 4,输出通道数分别设为 4 和 5。因此,一维卷积计算后,4 个输出通道的宽为 11−2+1=10,而其他 5 个通道的宽为 11−4+1=8。尽管每个通道的宽不同,我们依然可以对各个通道做时序最大池化,并将 9 个通道的池化输出连结成一个 9 维向量。最终,使用全连接将 9 维向量变换为 2 维输出,即正面情感和负面情感的预测。
在这里插入图片描述
二、数据增强
大规模数据集是成功应用深度神经网络的前提。图像增广(image augmentation)技术通过对训练图像做一系列随机改变,来产生相似但又不同的训练样本,从而扩大训练数据集的规模。图像增广的另一种解释是,随机改变训练样本可以降低模型对某些属性的依赖,从而提高模型的泛化能力。例如,我们可以对图像进行不同方式的裁剪,使感兴趣的物体出现在不同位置,从而减轻模型对物体出现位置的依赖性。我们也可以调整亮度、色彩等因素来降低模型对色彩的敏感度。可以说,在当年AlexNet的成功中,图像增广技术功不可没。本节我们将讨论这个在计算机视觉里被广泛使用的技术。
三、模型微调
微调由以下4步构成。

1.在源数据集(如ImageNet数据集)上预训练一个神经网络模型,即源模型。
2.创建一个新的神经网络模型,即目标模型。它复制了源模型上除了输出层外的所有模型设计及其参数。我们假设这些模型参数包含了源数据集上学习到的知识,且这些知识同样适用于目标数据集。我们还假设源模型的输出层跟源数据集的标签紧密相关,因此在目标模型中不予采用。
3.为目标模型添加一个输出大小为目标数据集类别个数的输出层,并随机初始化该层的模型参数。
4.在目标数据集(如椅子数据集)上训练目标模型。我们将从头训练输出层,而其余层的参数都是基于源模型的参数微调得到的。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了在GPU上搭建动手深度习pytorch环境,你需要按照以下步骤进行操作。 首先,你需要安装Anaconda来管理你的Python环境。你可以从官方网站 https://www.anaconda.com/ 下载适用于你操作系统的Anaconda安装程序。安装完成后,你可以使用conda命令创建一个新的环境。 接下来,你需要安装CUDA。CUDA是用于支持GPU计算的NVIDIA的并行计算平台和API模型。你可以从NVIDIA的官方网站下载适用于你的显卡型号的CUDA安装程序进行安装。 然后,你需要安装CUDNN。CUDNN是一个针对深度神经网络加速的GPU库。你可以从NVIDIA的开发者网站下载CUDNN并按照安装说明进行安装。 接下来,你可以使用conda命令来安装pytorch。你可以复制以下命令,在新建的环境中输入: ``` conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch ``` 安装完成后,你可以在命令行中输入python进入Python解释器环境,并导入torch模块来测试pytorch的安装。你可以使用以下代码进行测试: ```python import torch from __future__ import print_function x = torch.rand(5, 3) print(x) print(torch.cuda.is_available()) # 测试CUDA是否可用 ``` 这样,你就成功搭建了动手深度习pytorch环境,并且可以在GPU上进行深度习任务了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [01 动手习深度习-配置环境pytorch](https://blog.csdn.net/qq_44653420/article/details/123883400)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值