《动手学深度学习》第一次打卡--Laneveri

知识摘要

一、单神经层下的两种回归

(1)线性回归
线性回归输出是一个连续值,因此适用于回归问题。而线性回归需要具备以下几个要素:
1、生成数据集
2、读取数据
3、初始化模型参数
4、模型定义
5、模型训练,其中包括训练数据、定义损失函数(平方差损失函数)、优化算法
6、模型预测
附pytorch的简洁实现
(2)softmax回归
softmax回归的输出为离散值,因此适用于分类问题。同样,softmax回归也要具备一些要素:
1、获取和读取数据
2、初始化模型参数
3、实现softmax模型运算
4、模型定义
5、定义损失函数(交叉熵损失函数)
6、计算分类准确率
7、模型训练
8、预测
附pytorch的简洁实现

二、多层感知机

(1)多层感知机主要是多层神经网络的概念,多层感知机在单层神经网络的基础上引入了一到多个隐藏层 (hidden layer),隐藏层位于输入层和输出层之间。
(2)多层神经网络需要解决的一个问题是激活函数,即对隐藏变量使用按元素运算的非线性函数进行变换, 然后再作为下一个全连接层的输入,常见的激活函数有以下几种:
1、ReLU函数:ReLU(x)=max(x,0).
2、sigmoid函数:sigmoid(x)= (1+exp(−x))/ 1
3、tanh函数:tanh(x)= (1+exp(−2x)) / 1−exp(−2x)
(3)多层感知机的实现部分与单层神经网络大致相同

三、文本预处理以及语言模型

(1)文本预处理的步骤:
1、读入文本
2、分词,将一个句子转换成一个词的序列
3、建立字典,将每个词映射到一个唯一的索引(index)
4、将文本从词的序列转换为索引的序列,方便输入模型
(2)语言模型:
​1、一段自然语言文本可以看作是一个离散时间序列,给定一个长度为的词的序列 ,语言模型的目标就是评估该序列是否合理,即计算该序列的概率。
2、基于统计的语言模型为n元语法,n 元语法通过马尔可夫假设简化模型,马尔科夫假设是指一个词的出现只与前面 n 个词相关,即 n 阶马尔可夫链。数学形式可以写为:P(w1,w2,…,wT)=∏t=1TP(wt∣wt−(n−1),…,wt−1).
3、读取数据集并建立字符索引
4、时序数据的采用,有随机采样和相邻采样两种方法,区别为相邻采样中相邻的两个随机小批量在原始序列上的位置相毗邻而随机采样中不一定

循环神经网络基础

(1)循环神经网络目的是基于当前的输入与过去的输入序列,预测序列的下一个字符。循环神经网络引入一个隐藏变量 H ,用 Ht 表示 H 在时间步 t 的值。 Ht 的计算基于 Xt 和 Ht−1 ,可以认为 Ht 记录了到当前字符为止的序列信息,利用 Ht 对序列的下一个字符进行预测。
在这里插入图片描述
.(2)实现流程:
1、读入数据
2、将字符表示成one-hot向量
3、初始化模型参数
4、定义模型
5、梯度裁剪(应对梯度爆炸)
6、定义预测函数
7、用困惑度评价模型
8、定义模型训练函数并训练模型

课后错题

1、在这里插入图片描述
错因:pytorch中的​.veiw(-1)含义是转换为[1,n]的向量,而B选项中的操作会导致两者维度不统一

2、
在这里插入图片描述
错因:softmax函数表达式是:sigmoid(x)= (1+exp(−x))/ 1,通过计算可得正确答案

3、在这里插入图片描述
错因:元素数量之和为:256乘256乘1000+1000乘10

4、在这里插入图片描述
错因:两个批量为[0,1,2,3,4]、[5,6,7,8,9],又因为时间步数为2,所以第二个批量为[2,3]和[7,8]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值