
动手学深度学习19天
阿光light
这个作者很懒,什么都没留下…
展开
-
动手学深度学习Task10
生成对抗式网络(GAN)给定一个数据xxx,预测它的标签yyy。之前我们用神经网络来建模xxx到yyy的映射,这种模型叫判别模型。但有时候,有些数据集是没有标签的。比如给定一些照片,照片中有狗,但并没有标注狗的标签。我们无法建立判别模型,但可以学习这个数据集的分布,然后生成一些很像是来自数据集的狗的照片,它符合数据集分布,这个就是生成式学习。从数学角度解释,判别模型就是建模p(y∣x)p(y|x...原创 2020-02-25 20:35:37 · 155 阅读 · 0 评论 -
动手学深度学习Task09
目标检测基础目标检测框的显示要在图像中画出一个检测框,只需要知道左上角以及右下角两个点的坐标即可,但在利用matplotlib进行显示的时候,需要将其转换为(左上x,左上y,宽,高)。锚框(Anchor)在生成多个检测框时,有一个重要的概念,锚框,也就是检测框。在这里着重记录一下代码里是生成锚框的。首先我们看图,最外面蓝色的框为图像大小,宽为w,高为h。里面红色的小框表示需要画出...原创 2020-02-25 20:35:14 · 376 阅读 · 0 评论 -
动手学深度学习 Task06
批量归一化和残差网络利用神经网络训练模型时,我们总希望输入数据的特征分布相近,这样便于网络的收敛。尤其是深度神经网络,如果每次输入的batch数据分布相差太大的话,网络则每次都需要较大步幅更新参数,这样不利于网络的收敛。因此,对于浅层模型,通常对输入进行标准化,使得处理后的任意一个特征在数据集中所有样本上的均值为0、标准差为1。标准化处理输入数据能够使各个特征的分布相近。而对于深度模型,则采用批...原创 2020-02-25 20:34:45 · 170 阅读 · 0 评论 -
动手学深度学习Task05
LeNet用全连接层的局限性:图像在同一列邻近的像素在这个向量中可能相距较远。它们构成的模式可能难以被模型识别。对于大尺寸的输入图像,使用全连接层容易导致模型过大。使用卷积层的优势:卷积层保留输入形状。卷积层通过滑动窗口将同一卷积核与不同位置的输入重复计算,从而避免参数尺寸过大。LeNet结构LeNet分为卷积层块和全连接层块两个部分。网络模型与输入#netclas...原创 2020-02-19 21:12:20 · 130 阅读 · 0 评论 -
动手学深度学习Task04
笔记摘自课程内容。机器翻译和数据集机器翻译(MT):将一段文本从一种语言自动翻译为另一种语言,用神经网络解决这个问题通常称为神经机器翻译(NMT)。 主要特征:输出是单词序列而不是单个单词。 输出序列的长度可能与源序列的长度不同。数据预处理数据清洗主要去除多余字符以及特殊字符(通常指计算机无法编码)。其次是进行分词,将字符串组成由单词构成的列表,然后再建立词典,即单词id组成的列表。En...原创 2020-02-19 21:11:50 · 158 阅读 · 0 评论 -
动手学深度学习Task03
第七课 过拟合、欠拟合及其解决方案验证数据集作用是对由训练数据集训练出的模型进行选择,比如调参。理由:因为训练误差无法估计泛化误差,因此不该只依赖与训练数据来选择模型。而测试集只能在所有超参数和模型参数选定都使用一次。因此,可以预留出训练集和测试集以外的数据,作为验证数据集。K折交叉验证将原始训练数据集划分为K个不重合的子数据集,每次用其中K-1个子数据集进行训练,第K个子数据集进行验证,...原创 2020-02-19 21:10:26 · 137 阅读 · 0 评论 -
动手学深度学习Task02
第四课 文本预处理文本是一类序列数据,一篇文章可以看作是字符或单词的序列。用神经网络处理文本时会存在一个问题,文本实际上是字符串,但神经网络是做数值处理,无法直接作用于字符串,因此,我们需要对文本进行预处理。接下来介绍一些基础的步骤。读入文本用H.G.Well的Time Machine作为示例。import collectionsimport redef read_time_mac...原创 2020-02-14 18:59:32 · 205 阅读 · 0 评论 -
动手学深度学习Task01
第一课 线性回归模型模型简述以预测房价为例,影响房价的只有两个因素:面积(平方米)以及房龄(年)。这里影响房价的因素称为特征(feature),真实的房价称为标签(label)。假设房价与特征之间呈线性相关,我们就可以构建一个线性回归模型如下:price=ωarea⋅xarea+ωage⋅xage+b\text{price}=\omega_{area}\cdot x_{area}+\ome...原创 2020-02-14 18:56:31 · 160 阅读 · 0 评论 -
动手学深度学习第六课:循环神经网络基础
循环神经网络以循环神经网络实现语言模型为例。下面分析构造。假设Xt∈Rn×dX_t\in\mathbb{R}^{n\times d}Xt∈Rn×d是时间步ttt的小批量输入,Ht∈Rn×hH_t\in\mathbb{R}^{n\times h}Ht∈Rn×h是该时间步的隐藏变量,则Ht=Φ(XtWxh+Ht−1Whh+bh).H_t = \Phi(X_tW_{xh}+H_{t-1}W_...原创 2020-02-14 18:51:00 · 232 阅读 · 0 评论 -
动手学深度学习第五课:语言模型
语言模型什么是语言模型?给定一个长度为TTT的词的序列x1,x2,⋯ ,xTx_1,x_2,\cdots,x_Tx1,x2,⋯,xT,语言模型的目标就是就是评估改序列是否合理,即计算序列的概率:P(x1,x2,⋯ ,xT).P(x_1,x_2,\cdots,x_T).P(x1,x2,⋯,xT).概率越大,合理性越高。本节课介绍基于统计的语言模型,主要是nnn元语法(n-gram)...原创 2020-02-12 20:43:09 · 228 阅读 · 0 评论 -
动手学深度学习第四课:文本预处理
文本预处理文本是一类序列数据,一篇文章可以看作是字符或单词的序列。用神经网络处理文本时会存在一个问题,文本实际上是字符串,但神经网络是做数值处理,无法直接作用于字符串,因此,我们需要对文本进行预处理。接下来介绍一些基础的步骤。读入文本用H.G.Well的Time Machine作为示例。import collectionsimport redef read_time_machine...原创 2020-02-12 14:13:53 · 278 阅读 · 0 评论 -
动手学深度学习第三课:多层感知机(MLP)
多层感知机多层感知机的基本介绍激活函数关于激活函数的选择多层感知机代码解读其他函数多层感知机的基本介绍课程讲解的十分详尽,这里就简记一下知识点。下图展示了一个多层感知机的神经网络图,它含有一个隐藏层,该层中有5个隐藏单元。含单隐藏层的多层感知机,其输出On×qO^{n\times q}On×q计算为(nnn是批量大小,qqq是输出类别数):H=XWh+bhH=XW_h+b_hH=XWh...原创 2020-02-12 00:05:59 · 510 阅读 · 0 评论 -
动手学深度学习第二课:softmax和分类模型
DAY1 softmax和分类模型softmax的基本概念softmax回归模型交叉熵损失函数其他函数softmax的基本概念关于softmax的基本概念,课程中讲解的十分详细,且优快云上也有诸多相关文章,这里就不赘述。仅记下重要公式。softmax回归模型o1=x1ω11+x2ω21+x3ω31+x4ω41+b1o_1=x_1\omega_{11}+x_2\omega_{21}+x_...原创 2020-02-11 23:50:34 · 176 阅读 · 0 评论 -
动手学深度学习第一课:线性回归
DAY1 线性回归线性回归模型模型简述数据集损失函数优化函数-随机梯度下降法线性回归的代码实现线性回归从零开始实现线性回归模型的PyTorch实现构建多层网络的三种方法线性回归模型模型简述以预测房价为例,影响房价的只有两个因素:面积(平方米)以及房龄(年)。这里影响房价的因素称为特征(feature),真实的房价称为标签(label)。假设房价与特征之间呈线性相关,我们就可以构建一个线性回归...原创 2020-02-11 23:48:11 · 340 阅读 · 0 评论