第二次作业:深度学习基础

Assginment2:Basis of Deep Learning

本博客为OUC2022秋季软件工程第二周作业

一、问题

【第一部分】视频学习心得及问题总结

根据视频的学习内容,写一个总结,最后列出没有学明白的问题,针对大家的疑问,下次课会讨论一下,大家可提前把问题列出来。

【第二部分】代码练习

在谷歌 Colab 上完成 pytorch 代码练习中的 2.1 pytorch基础练习、2.2 螺旋数据分类,关键步骤截图,并附一些自己的想法和解读。

二、作业内容

ps:最后的实验体会有惊喜!

Part1 视频心得和问题总结

视频心得:
绪论部分:

机器学习并非最初用于有解析解的问题,而是用于给出一个近似解,但是随着问题复杂度的提升,后期也会有人采用使用机器学习解决存在解析解的问题。

参数模型:对数据分布做了假设

非参数模型:不对数据分布进行假设,数据的所有统计特性都来源于数据本身,且非参数模型的时空复杂度一般比参数模型大得多

AI方向在17年左右缺口较大,但是目前存在过热的趋势,且目前AI方向的应用并非很多,大致可行的落地项目分为cv和nlp两大类,在3,4年后这个行业是否会存在竞争压力过大而难以就业的问题

深度学习概述部分:

深度学习的概念起源于人工神经网络的研究,有多个隐层的多层感知器是深度学习模型的一个很好的范例。
深度学习的基本思想:假设有系统S,它有n层(S1,…,Sn),输入为I,输出为O,可形象的表示为:I=>S1=>S2=>… =>Sn=>O。为了使输出O尽可能的接近输入I,可以通过调整系统中的参数,这样就可以得到输入I的一系列层次特征S1,S2,…,Sn。对于堆叠的多个层,其中一层的输出作为其下一层的输入,以实现对输入数据的分级表达,这就是深度学习的基本思想。

深度神经网络是由多个单层非线性网络叠加而成的,常见的单层网络按照编码解码情况分为3类:只包含编码器部分、只包含解码器部分、既有编码器部分也有解码器部分。编码器提供从输入到隐含特征空间的自底向上的映射,解码器以重建结果尽可能接近原始输入为目标将隐含特征映射到输入空间。

1、 前馈深度网络

典型的前馈神经网络有多层感知机和卷积神经网络等。

(1) 单层卷积神经网络:

卷积阶段,通过提取信号的不同特征实现输入信号进行特定模式的观测。

(2) 卷积神经网络:

将单层的卷积神经网络进行多次堆叠,前一层的输出作为后一层的输入,便构成卷积神经网络。

(3) 卷积神经网络的特点:

卷积神经网络的特点在于,采用原始信号(一般为图像)直接作为网络的输入,避免了传统识别算法中复杂的特征提取和图像重建过程。

2、 反馈深度网络

典型的反馈深度网络有反卷积网络、层次稀疏编码网络等。

(1) 单层反卷积网络:

反卷积网络是通过先验学习,对信号进行稀疏分解和重构的正则化方法。

(2) 反卷积网络:

单层反卷积网络进行多层叠加,可得到反卷积网络。多层模型中,在学习滤波器组的同时进行特征图的推导,第L层的特征图和滤波器是由第L-1层的特征图通过反卷积计算分解获得。反卷积网络训练时,使用一组不同的信号y,求解C(y),进行滤波器组f和特征图z的迭代交替优化。训练从第1层开始,采用贪心算法,逐层向上进行优化,各层间的优化是独立的。

(3) 反卷积网络的特点:

反卷积网络的特点在于,通过求解最优化输入信号分解问题计算特征,而不是利用编码器进行近似,这样能使隐层的特征更加精准,更有利于信号的分类或重建。

3、 双向深度网络

典型的双向深度网络有深度玻尔兹曼机、深度信念网络、栈式自编码器等。

(1) 受限玻尔兹曼机:

玻尔兹曼机(Boltzmann machine, BM)是一种随机的递归神经网络,由G. E.Hinton等提出,是能通过学习数据固有内在表示、解决复杂学习问题的最早的人工神经网络之一。

(2) 深度玻尔兹曼机:

将多个受限玻尔兹曼机堆叠,前一层的输出作为后一层的输入,便构成了深度玻尔兹曼机。

问题总结

1.有个讲了很久的东西,结果一个小时后你告诉我他过时了,有点仙人跳啊!

2.反卷积听得不是很明白

3.受限玻尔兹曼机有点疑问。

4.对梯度消失的理解

最底层的参数改变,传递到前面层的时候影响减小,被忽略。多层神经网络没办法传递,收敛情况没有单层神经网络好。梯度数学公式推导没有理解,存在一些问题。有什么其他方法解决梯度消失?梯度消失的解决在代码中应该怎么体现?

Part2 代码练习

感谢施雪雯同学贡献的代码和截图~
大家做的都很好,我就随便取了一个人的代码截图了。

2.1 pytorch 基础练习

凡是用Tensor进行各种运算的,都是Function

最终,还是需要用Tensor来进行计算的,计算无非是:

基本运算,加减乘除,求幂求余
布尔运算,大于小于,最大最小
线性运算,矩阵乘法,求模,求行列式
基本运算包括: abs/sqrt/div/exp/fmod/pow ,及一些三角函数 cos/ sin/ asin/ atan2/ cosh,及 ceil/round/floor/trunc

布尔运算包括: gt/lt/ge/le/eq/ne,topk, sort, max/min

线性计算包括: trace, diag, mm/bmm,t,dot/cross,inverse,svd 等

2.1.1. 定义数据

一般定义数据使用torch.tensor(), tensor的意思是张量,是数字各种形式的总称
assert
assert

Tensor支持各种各样类型的数据,包括:
torch.float32, torch.float64, torch.float16, torch.uint8, torch.int8, torch.int16, torch.int32, torch.int64
创建Tensor有多种方法,包括:ones, zeros, eye, arange, linspace, rand, randn, normal, uniform, randperm
assert
assert
assert

2.1.2. 定义操作

assert
assert
assert

transpose()只能一次操作两个维度

函数返回输入矩阵input的转置

input (Tensor) – 输入张量,必填

dim0 (int) – 转置的第一维,默认0,可选

dim1 (int) – 转置的第二维,默认1,可选
assert

assert

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于深度学习的文本分类任务是指利用深度学习模型对文本进行情感分类。在这个任务中,我们使用了CNN和RNN模型来进行文本分类。数据集包含了15万余项英文文本,情感分为0-4共五类情感。任务的流程如下:输入数据→特征提取→神经网络设计→结果输出。 在特征提取阶段,我们使用了词嵌入(Word embedding)技术。词嵌入是一种将单词映射到低维向量空间的方法,它可以将单词的语义信息编码为向量表示。在本次任务中,我们参考了博客\[NLP-Beginner 任务二:基于深度学习的文本分类\](https://pytorch.org/Convolutional Neural Networks for Sentence Classification)中的方法,使用了预训练的词嵌入模型。 神经网络设计阶段,我们采用了卷积神经网络(CNN)和循环神经网络(RNN)的结合。具体来说,我们使用了四个卷积核,大小分别为2×d, 3×d, 4×d, 5×d。这样设计的目的是为了挖掘词组的特征。例如,2×d的卷积核用于挖掘两个连续单词之间的关系。在模型中,2×d的卷积核用红色框表示,3×d的卷积核用黄色框表示。 最后,我们将模型的输出结果进行分类,得到文本的情感分类结果。这个任务的目标是通过深度学习模型对文本进行情感分类,以便更好地理解和分析文本数据。 #### 引用[.reference_title] - *1* *3* [NLP-Brginner 任务二:基于深度学习的文本分类](https://blog.csdn.net/m0_61688615/article/details/128713638)[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^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [NLP基本任务二:基于深度学习的文本分类](https://blog.csdn.net/Mr_green_bean/article/details/90480918)[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^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值