09 2021 档案
摘要:GoogLeNet 虽然现在NiN基本没有被使用,但是GoogLeNet还是被比较多的使用。 这个网路出来的时候也是吓了大家一跳,就是做到了一个几乎快到100层的卷积层,基本可以认为是第一个超过百层的卷积神经网。虽然不是直接有100层深,但确实卷积个数超过了100。 NiN严重影响了GoogLeNe
阅读全文
摘要:RNN从零开始实现 简洁实现 QA num_step是做什么用的? 就是那个T,那个时间维度。 比如下面"你好,世界!",输入这个句子有6个字符,那么这里的num_step/T=6。反过来可以认为这是一个6个样本的分类问题,就是每一个词都是要进行下一个词的预测。这是一个多分类问题,T=6,所以要做到
阅读全文
摘要:NiN NiN Network in Network,网络中的网络,这个网路现在用的不多,几乎很少被用到,但是它里面提出了比较重要的一些概念,在后面很多网络中都会持续的被用到。 MLP其实是不错的,但是缺点就是参数量实在是太大了! 卷积层的参数相对于MLP会少很多,而且$1*1$卷积是可以达到于ML
阅读全文
摘要:RNN 来将我们第一个对序列模型的神经网络——循环神经网络 RNN。 x是“你”,然后会去更新隐变量,要去预测“好”字。 接下来观察到了“好”,更新隐变量后要输一个逗号。 $o_t$是来match$x_t$的输入,但是生成$o_t$的时候你是不能看到$x_t$的。也就是当前时刻的输出是为了预测当前时
阅读全文
摘要:VGG AlexNet最大的问题是什么呢?最大的问题就是长得不规则,虽然说它是一个变大的LeNet,但是感觉很随意,这里加一点,那里加一点。它的结构不够清晰,大家问了很多问题,为什么要这样,为什么要那样,要怎么变深怎么变宽都不知道。 如果想要把网络变得更深更大,那么就要把网络变得更加regular点
阅读全文
摘要:语言模型 一只猴子打字,就算是打到宇宙毁灭,他也打不出莎士比亚的文章。 语言模型的核心是估计联合概率$p(x_1,...,x_t)$,序列模型的核心其实也就是预测整个文本序列出现的概率。 我们使用一个最简单的计数模型来进行建模。 一元只有一个变量,也就是自己,那么就可以认为每个变量都是独立的.. 这
阅读全文
摘要:AlexNet AlexNet从2012年开始到今天,真正的引爆了深度学习的热潮。 2000年之前,最火的机器学习方法应该是核方法。 特征提取 & 选择核函数来计算相关性 & 凸优化问题 & 漂亮的定理。 使用核方法,可以变换这个空间,将这个空间拉成我们想要的样子,通过核函数计算之后就会成为一个凸优
阅读全文
摘要:代码 我们把文本当作一个时序序列,这也是整个自然语言处理干的事情。NLP说白了就是把文本拿过来,把里面的每一个字符,词当作一个变量,作为一个样本,然后样本之间是有时序信息的。可以认为文本就是一条很长的序列。 文本预处理:核心思想就是如何把这些文本变成可以训练的东西。 tokens:这里是按照行来分词
阅读全文
摘要:LeNet 上面是LeNet的结构示意图。 模型定义 net = nn.Sequential( # 这里输出是28*28,所以要padding=2,填充为32*32 nn.Conv2d(1, 6, kernel_size=5, padding=2), nn.Sigmoid(), nn.AvgPool
阅读全文
摘要:序列模型 我们这个是第四部分的一开始,叫做序列模型的东西,也就是 Sequence Model。其实就是整个RNN,整个NLP都是在处理一个序列。我们之前看到的图片是一个空间信息,而我们现在要考虑一个时间信息的模型,这个就是很不一样的地方。 之前我们都是假设有t个独立的随机变量,也就是这张图片和上一
阅读全文
摘要:池化层 卷积层对于位置是非常敏感的! 这里用检测垂直边缘作为例子,有的时候卷积对位置太敏感也不是好事,比如拍照的时候手抖之类的,边缘就不会那么整齐,所以有时候我们是需要一定程度的平移不变形的。 池化操作也是使用滑动窗口来取值。 上面实际上是没有padding的,所以大小不一致。其实应该是要paddi
阅读全文
摘要:多输入输出通道 通道数 channel,这个确实是大家通常回去仔细设的超参数。 我感觉沐神想说的就是下面的说法,一个多通道的卷积核大小可以是$(k_h,k_w,input_{channel},output_{channel})$ 怎么理解呢?$(k_h,k_w)$就很好理解了,input_chann
阅读全文
摘要:填充和步幅 先将两个控制卷积层输出大小的超参数:填充 & 步幅。 上面是一个例子,如果是一张$3232$的图片,使用一个$55$的kernel来进行卷积,那么在第7层的时候图片大小会变成$4*4$,那么就不能在进行卷积了,换句话说就是,卷积层最多只能进行7层。 那如果要做深应该怎么办?(其实深度学习
阅读全文
摘要:从全连接到卷积 卷积是深度学习中最重要的概念之一,今天就学习下卷积的基本知识。 36M*100=3.6B。 使用MLP来处理图片会遇到权重参数过多的问题。 就是100个单元的单隐层,这里的权重都需要 3.6*1e9 * 4 / 1024 / 1024 / 1024 = 13.4GB的内存,这就需要很
阅读全文
摘要:竞赛总结 我们讲知识,也不可能所有东西都cover到,让大家竞赛不是让大家去学某个特定的知识,而是说大家遇到一个问题,怎么去找一个解决方案。这一次的解决方案和下一次的会不一样,但是问题是你怎么去找这个东西,去问人也行,去搜索也行。 私榜和公开榜是不一样的,大家能看到的都是公榜的(私榜就是为了防止大家
阅读全文
摘要:使用GPU 其实如果没有钱买GPU的话,使用Google Colab也是一个不错的选择,大概是10 dollar一个月。 算力其实是很贵的... 利用好算力是一件很重要的事情! 关于Nvidia Driver too old的问题,如果是服务器的话,这里不要盲目的去更新显卡驱动,这样子会把别人的环境
阅读全文
摘要:模型构造 这里主要是要继承nn.Module这个类,然后书写其中的__init__() & forward()方法即可。 参数管理 假设我们已经定义好我们的模型了,那我们参数应该怎么去访问? 自定义层 自定层其实和自定义网络没有什么区别,因为层也是nn.Module的一个子类。 读写文件 读写文件,
阅读全文
摘要:实战Kaggle比赛:预测房价 这里主要看自己训练的时候验证和真正提交的时候的差别。 操作总结 # deeplearning 直接省去特征工程这些步骤 # 数据清洗也很简单:标准化 & 离散化 课程竞赛:加州2020年房价预测 沐神说他是使用了AutoML来训练的模型.. 现在的目标就是超过沐神就可
阅读全文
摘要:数值稳定性 数值的稳定性,这个是机器学习中比较重要的一点,特别是当你的神经网络变的很深的时候,你的数值变的非常容易不稳定。 上面这里的t表示的层,而不是时间。$h^{t-1}$表示t-1层的输出。 这里的y还不是预测值,因为还多了一个损失函数。 向量对向量求导得到的一个矩阵,我们的主要问题就来自这个
阅读全文
摘要:丢弃法 dropout可能会比之前讲的权重衰退效果更好,应用于防止模型过拟合。 像上图,不管加入多少个点,都要让图片是可以看清的。 使用有噪音的数据,就等价于一个叫做T正则。(正则就是是的权重的值不要太大,避免模型过拟合) **在数据中加入噪音,等价于一个正则。**跟之前加入的噪音不一样,之前是固定
阅读全文
摘要:权重衰退 如何控制模型的容量呢? 模型参数个数 参数的取值范围 权重衰退就是控制参数的取值范围来控制模型容量的。 上面的$||w||^2 \leq \theta$ ,则表示为每一个$w$都是要小于$\sqrt{\theta}$。其实也就是强行设置参数的取值的上限。 加了这个罚之后,w确实会变小很多。
阅读全文
摘要:模型选择 我们其实关心的是泛化误差,并不太关心训练误差。 训练误差:模拟考试成绩。 泛化误差:真实考试成绩。 所以我们会来计算我们训练误差和泛化误差呢?一般会有两种数据集,一个叫做验证集,一个叫做测试集。 一个常犯的错误:验证集和训练集混在一起。 经常在代码中的出现的test_dataset其实并不
阅读全文
摘要:感知机 1960年的“物理感知机”。 感知机是人工智能最早最早的一个模型。 感知机就是线性回归套了一层激活函数。 因为感知机的输出只有一个元素,所以只能做为一个二分类的问题。 可以理解为感知机使用了$l(y,x,w)=max(0,-y<w,x>)$这个损失函数。(只预测正确的) 多层感知机 多层感知
阅读全文
摘要:Softmax回归 首先简单理解softmax:就是将一个回归值转换成一个概率(也就是把一个实数,定在[0,1.]中) Softmax回归名字叫做回归,但其实是一个分类问题。(基本是个老师都会重复讲这句话) 分类和回归的差别就在,回归只有一个输出,而分类是有多个输出。一般是有几个类别多少个输出。 并
阅读全文
摘要:线性回归 线性回归是机器学习中最基础的模型,也是后面我们理解所有模型的一个基础。 之所以在深度学习中讲解线性模型,是因为它可以看作是一个单层神经网络(输出层可以不看做一个层,将权重和输入层看作一层)。 训练数据当然是越多越好,但是也会受限于很多事情,房子售卖数据非常有限。所有我们有很多技术来处理,当
阅读全文
摘要:自动求导 链式法则,如果扩展到向量,最最重要的还是看形状。 <x,w>这是内积的写法。 自动求导涉及到一个计算图的概念,虽然Pytorch不用要求大家理解计算图,但是理解了对使用TensorFlow等都是有好处的。 计算图其实本质上就和刚刚求导链式法则的过程。 显示构造,就是先构造好这个公式,然后再
阅读全文
摘要:矩阵计算 矩阵计算其实主要就是讲矩阵怎么求导数,对于机器学习和深度学习,我们要知道怎么求导数,因为所有的优化模型都是通过求导数来进行的。 矩阵计算这部分的内容是在矩阵论中进行学习的,这里涉及到优化了... 将导数扩展到向量,通常我们叫做梯度。(下面就是有关矩阵论的内容了... 实在不明白就先跳过吧)
阅读全文
摘要:线性代数 其实我们不需要太多线性代数的知识,但是还是稍微讲一下作为一个数学上的入门。 向量的距离使用 ||vecotr|| 来表示。 ||a||2这个是L2范式,其实就是把向量里面的元素平方再求和,最后开方。 向量的点积: a^T b 向量的正交: a^T b = 0 矩阵乘法,左边看行,右边看列(
阅读全文
摘要:数据操作 图片是三维的: w*h*channel 图片集是四维的:batch_size*w*h*channel 一个视频批量是五维的:batch_size*t*w*h*channel 这里解释最后一个,行::3表示从第一个开始,每次步长为3,::2表示从第一个开始,每次步长为2 数据操作实现 操作总
阅读全文
摘要:ssh rowrycho@ip_address # ssh连接服务器 sudo apt update # 更新一下 sudo apt install build-essential # 安装基础C/Cpp编译环境 wget miniconda安装包链接 bash xxx.sh # 安装minicon
阅读全文
摘要:安装 | 01 安装 | 01 数据操作+数据预处理 | 02 数据操作+数据预处理 | 02 线性代数 | 03 线性代数 | 03 矩阵计算 | 04 矩阵计算 | 04 自动求导 | 05 自动求导 | 05 线性回归+基础优化算法 | 06 线性回归+基础优化算法 | 06 Softmax回
阅读全文
摘要:特征值与特征向量 特征空间 上图就是使用特征向量进行了压缩的图片(保留了主要的信息),虽然模糊了一些,但是图片基本是没有变化的。 特征值分解 奇异值分解(SVD)
阅读全文
摘要:行列式 矩阵 矩阵的秩 内积与正交
阅读全文
摘要:微积分的基本思想 定积分 牛顿—莱布尼茨公式
阅读全文

浙公网安备 33010602011771号