人工智能
自己学习深度学习的一些笔记,心得
东阳z
从大数据到深度学习到C++到Java
展开
-
图像分割01-FCN
东阳的学习记录,坚持就是胜利!文章目录图像分割概念语义分割概念辨析语义分割研究现状传统方法存在的问题深度学习方法存在的问题语义分割常用指标研究意义历史意义当前应用摘要分割术语引言全局信息和局部信息感受域平移不变性(貌似被证伪了)Shift-and-stitch上采样网络结构使用分类器做密集预测训练技巧结果分析结果思考与展望图像分割概念语义分割语义分割是计算机视觉中的关键任务之一。 现实中, 越来越多的应用场景需要从影像中推理出相关的知识或语义( 即由具体到抽象的过程) 。 作为计算机视觉的核心问.原创 2020-09-05 15:54:56 · 639 阅读 · 0 评论 -
cv基础算法08-ResNext
东阳的学习记录,坚持就是胜利!文章目录研究背景及意义研究背景研究意义摘要聚合变换研究背景及意义研究背景VGG:堆叠相同block,结构简单ResNet:Residual ConnetionInception系列:多分支结构,split-transform-merge思想ImageNet挑战赛研究意义总结提出了split-transform-merge思想,对卷积神经网络的设计起到重要作用提炼block堆叠思想,并引入了cardinality指标,为CNN模型设计提供新思路摘.原创 2020-08-31 17:08:52 · 203 阅读 · 0 评论 -
cv基础算法07-GoogleNet-v4
东阳的学习之路,坚持就是胜利!文章目录研究背景及意义研究背景及意义原创 2020-08-26 17:20:12 · 174 阅读 · 0 评论 -
cv基础算法06-Resnet
东阳的学习记录,坚持就是胜利!文章目录研究背景及意义研究背景Highway Network研究意义摘要残差结构研究背景及意义研究背景Highway Network首个成功训练成百上千层(100层及900层)的卷积神经网络思路:借鉴LSTM, 引入门控单元,将传统前向传播增加一条计算路径, 变成公式( 3) 形式增加了额外训练参数W_T(这是一个缺点,并且再resnet中避免了)研究意义简洁高效(没有花里胡哨的训练技巧和网络结构)的ResNet受到工业界宠爱, 自提出以来已经成为工业.原创 2020-08-24 14:42:30 · 219 阅读 · 0 评论 -
cv基础算法05-GoogleNet-v3
东阳的学习记录,坚持就是胜利!文章目录研究背景及意义研究背景研究意义本文提出的问题意义设计准则卷积分解辅助分类层高效的特征图下降策略标签平滑Inception-v2/v3结构conv_blockinception_ainception_binception_cinception_d,e辅助损失层结构总览低分辨率图像分类策略实验结果单模型多模型融合思考与展望key word:Design Principles, 标签平滑,非对称卷积研究背景及意义研究背景GoogleNet-v3是GoogleNe.原创 2020-08-22 15:06:02 · 329 阅读 · 0 评论 -
pytorch中gather函数的理解
东阳的学习记录,坚持就是胜利!文章目录官方文档中的说明简单明了的理解!网上的很多人的文章都是说的很模糊,或者根本就是错的!!!官方文档中的说明torch.gather(input, dim, index, out=None) → Tensor Gathers values along an axis specified by dim. For a 3-D tensor the output is specified by: out[i][j][k] = input.原创 2020-08-21 22:52:57 · 129 阅读 · 0 评论 -
cv基础算法04-GoogleNet-v2
东阳的学习记录,坚持就是胜利!文章目录GoogleNet系列论文第二篇,这篇在v1的基础上,增加了BN(批标准化操作)(主要),但对v1的网络结构并没有提出大的改进。原创 2020-08-20 11:46:59 · 217 阅读 · 0 评论 -
cv基础算法03-GoogleNet-v1
东阳的学习记录,坚持就是胜利!文章目录论文目录研究背景及意义研究背景研究意义网络结构Inception module一个Naive版本例子:一个年长的例子论文目录IntroductionRelated WorkMotivation and High Level ConsiderationsArchitectural DetailsGoogLeNetTraining MethodologyILSVRC 2014 Classification Challenge Setup and Re.原创 2020-08-18 15:34:55 · 244 阅读 · 2 评论 -
cv基础算法02-VGG
东阳的学习记录,坚持就是胜利!文章目录研究意义网络结构5个结构的相同点和不同点深度的增加并不会带来参数数量的大量增加Vgg16结构示意图Vgg的pytorch官方实现Vgg的特点模型训练细节数据增强尺度扰动模型初始化模型测试细节多尺度测试稠密测试Multi-Crop测试Multi-crop & Dense结果分析单尺度评估多尺度评估模型融合(什么是模型融合)研究意义开启小卷积核时代:3*3卷积核成为主流模型作为各类图像任务的骨干网络结构:分类、定位、检测、分割一系列图像任务大都有VGG.原创 2020-08-16 16:12:41 · 1535 阅读 · 0 评论 -
pytorch进阶-图像预处理transform和数据读取Dataloader
东阳的学习记录,坚持就是胜利!Dataloader和transform的关系dataloader是一个多进程迭代器class torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, batch_sampler=None, num_workers=0, collate_fn=, pin_memory=False, drop_last=False)[source]Data loader. Comb.原创 2020-08-14 10:25:36 · 1306 阅读 · 0 评论 -
cv基础算法01-Alexnet
东阳的学习记录,坚持就是胜利!Alexnet有着划时代的意义:拉开卷积神经网络统治计算机视觉的序幕加速计算机视觉应用落地网络结构pytorch官方实现class AlexNet(nn.Module): def __init__(self, num_classes=1000): super(AlexNet, self).__init__() self.features = nn.Sequential( # conv 1 .原创 2020-08-12 19:56:06 · 485 阅读 · 0 评论 -
pytorch进阶-计算图与动态图机制
东阳的学习之路,坚持就是胜利!文章目录计算图动态图机制计算图不对理论做过多描述:见下图在pytorch维护了这样一个计算图,同时在pytorch中只保存叶子结点的梯度信息,如果需要保存非叶子结点的梯度信息则需要使用retain_grad()pytorch还记录了梯度的类型,AddBackward0, MulBackward0等例子:import torchw = torch.tensor([1.], requires_grad=True)x = torch.tensor([2.],.原创 2020-08-12 15:37:38 · 326 阅读 · 1 评论 -
pytorch文档阅读06-torch.Tensor
东阳的学习记录,坚持就是胜利!文章目录Types of Tensortorch.Tensor类new_tensor(always copy)new_fullexpand(*sizes) → Tensorexpand_as(other) → Tensorflattenfloor(不共享内存)narrownarrow_copy(不共享内存)requires_gradreshapereshape_asresize_()警告例子其他方法view(*shape) → Tensor特别请注意,返回的张量共享相同的.原创 2020-08-09 11:47:01 · 235 阅读 · 0 评论 -
pytorch文档阅读-05-torch03(数学操作)
东阳的学习记录,坚持就是胜利!文章目录数学操作比较操作torch.eqtorch.equaltorch.max不指定维度指定维度torch.mintorch.min(input, other, out=None) → Tensortorch.netorch.sorttorch.topk其他操作torch.dottorch.eigtorch.mm还有的不常用,就不写了数学操作absabsolute(abs的别名)acos(计算tensor中每个元素的反余弦)acosh(反双曲余弦)add(.原创 2020-08-08 21:12:10 · 124 阅读 · 0 评论 -
pytorch文档阅读笔记-04-使用多块GPU进行训练
东阳的学习记录,坚持就是胜利!文章目录nn.DataParallel参数警告使用nn.parallel.DistributedDataParallel例子nn.DataParalleltorch.nn.DataParallel(module, device_ids=None, output_device=None, dim=0)在模块级别上实现数据并行。此容器通过将mini-batch划分到不同的设备上来实现给定module的并行。在forward过程中,module会在每个设备上都复制一遍.原创 2020-08-08 19:38:47 · 228 阅读 · 0 评论 -
pytorch文档阅读笔记-03-torch02(随机抽样、序列化、并行))
东阳的学习记录,坚持就是胜利!文章目录随机采样(Random sampling)torch.manual_seedtorch.initial_seedtorch.get_rng_statetorch.set_rng_statetorch.default_generatortorch.bernoullitorch.multinomial为什么我和官网给出例子的运行结果不一样呢??torch.normal()23序列化torch.savestorch.load并行(暂无深究)随机采样(Random sa.原创 2020-08-07 20:18:38 · 328 阅读 · 0 评论 -
pytorch文档阅读笔记-02-torch01(创建、索引等操作)
东阳的学习记录,坚持就是胜利!文章目录张量Tensors基本操作创建(Creation Ops)torch.eyefrom_numpytorch.linspacetorch.logspacetorch.onestorch.randtorch.randntorch.randpermtorch.arangetorch.rangetorch.zeros索引、切片、连接、换位torch.cattorch.chunktorch.gathertorch.index_selecttorch.masked_selec.原创 2020-08-07 16:48:54 · 140 阅读 · 0 评论 -
pytorch文档阅读笔记-01-说明
东阳的学习记录,坚持就是胜利!文章目录自动求导机制1. requires_grad2. volatile自动求导如何编码历史信息inplace操作inplace检查自动求导机制pytorch中的每个变量都有两个属性:requires_grad和volatile。1. requires_grad只有所有输入都不需要梯度,输出才不需要。如果其中所有的变量都不需要梯度进行,后向计算不会在子图中执行。>>> x = Variable(torch.randn(5, 5))>&.原创 2020-08-06 14:52:55 · 143 阅读 · 0 评论 -
机器学习11-NETWORK COMPRESSION
东阳的学习记录,坚持就是胜利!文章目录为什么需要做网络压缩常用的网络压缩方法Network PruningNetwork Pruning的步骤为什么选择裁减而不是直接训练一个小的网络Knowledge Distillation为什么跟着Teacher训练会比单独训练好Parameter QuantizationBinary Weights(不太懂)结构设计(在运用中最有效的)Low rank approximationDepthwise Separable Convolution(通道分离卷积)一些值.原创 2020-07-28 12:09:26 · 127 阅读 · 0 评论 -
机器学习10-如何用一个模型去解释另一个模型(Desicion Tree)
东阳的学习记录,坚持就是胜利!文章目录基本思想LIME方法在图片上面的应用Decision TreeTree regularization基本思想有一些model是比较容易去解释的(比如现行model)我们可以使用这些比较好解释的model去试着解释那些不好理解的modelLIME方法我们显然无法用线性模型来完全模拟这个黑盒子的行为,但是我们能够用Linear Model来模仿这个黑盒子 某一部分的行为。给定需要解释的数据点;在其附近进行采样,将采样的点扔进黑盒子,得出对应的y;.原创 2020-07-26 11:45:16 · 233 阅读 · 0 评论 -
机器学习09-Explainable ML01
东阳的学习记录,坚持就是胜利!文章目录概念和理论局部解释和全局解释Explainable ML有什么意义Explainable ML有什么实际作用呢Interpretable v.s. Powerful局部基本的思想Saliency Map一个实际的例子到底是哪里出问题了???另外一的例子受到梯度的影响噪声点的影响全局(机器眼中什么是猫)概念和理论Explainable ML的意思就是,我们在利用机器学习得出结果的同时,还要知道机器是根据什么得出结果的。局部解释和全局解释局部解释:为什么你觉.原创 2020-07-25 22:04:17 · 88 阅读 · 0 评论 -
如何在colab上使用pytorch visdom
东阳的学习记录,坚持就是胜利!文章目录开启服务(端口可自己决定)使在本地浏览器可访问在notebook输出在浏览器窗口访问colab中不能直接通过端口访问在colab运行的pytorch visdom服务,不多BB,看代码:开启服务(端口可自己决定)! npm install -g localtunnel# 8097是我自己设置的端口号,可修改为自己要用的端口号get_ipython().system_raw('python3 -m pip install visdom')get_ipyt.原创 2020-07-21 11:28:07 · 4139 阅读 · 14 评论 -
机器学习08-RNN之理论篇
东阳的学习记录,坚持就是胜利!文章目录RNN的应用场景RNN原理剖析Jordan NetworkBidirectional RNNLong Short-term Memory (LSTM)逻辑图4组参数的例子(4个门)总体结构单个神经元的结构RNN的应用场景Slot Filling(填空):eg: I would like to arrive 地点‾\underline{地点}地点 on 时间‾\underline{时间}时间在1的基础上,需要判断出发地(leave)和目的地(arrive.原创 2020-07-20 17:11:12 · 147 阅读 · 0 评论 -
机器学习07-卷积神经网络(CNN)
东阳的学习记录,坚持就是胜利!文章目录为什么CNN用来做影像处理CNN的基础架构Convolution(卷积)Fillter为什么说卷积就是全连接拿掉一些weight的结果Maxpool(最大池化)一次卷积和池化的结果一个卷积网络的例子为什么CNN用来做影像处理因为很多时候我们不需要看整张图,就能获得图片的相关信息。我们在训练时不需要将整张图都送入神经网络进行训练,只需将一部分输入神经网络。对于不同的特征,我们可以使用不同的Fillter来对特征进行提取。CNN的基础架构一些特征要比整张.原创 2020-07-19 11:43:35 · 469 阅读 · 0 评论 -
机器学习06-如何对深度学习模型进行调优
东阳的学习记录,坚持就是胜利文章目录技巧1:不要总是让过拟合背锅正确地处理方法在测试集上效果不好的处理1. 梯度消失为什么会发生梯度消失如何解决梯度消失使用ReLUReLU - variantMaxout2. 调整学习率AdagradRMSProp动量法(Momentum)Adam训练集上表现好测试集上表现不好(过拟合)1. 提前终止训练2. 正则化L1正则化L2正则化L1正则化和L2正则化的区别3. Dropout==注意:==为什么Dropout有用形象的理解一个正式的理由(Ensemble集成学.原创 2020-07-18 20:10:16 · 316 阅读 · 1 评论 -
机器学习05-DeepLearning01
深度学习的发展深度学习的三个步骤搭建神经网络定义损失函数选出最佳的函数神经元结构全连接前向传播网络Deep的含义矩阵运算deep learning的应用在使用deep learning解决实际问题时,我们需要做的就是设计一个神经网络结构。LossGradient Descent反向传播原理是采用链式求导法则Deeper is Better?一个通用理论任意一个连续的函数,都可以用含有一个隐藏层的神经网络来解释。Q:为什么是Deep,而不是原创 2020-07-17 14:54:20 · 116 阅读 · 0 评论 -
机器学习04-ClassiFication(分类问题)-逻辑回归,生成模型与判别模型
东阳的学习记录,坚持就是胜利!文章目录用回归来处理分类可行吗?一个理想的方案用回归来处理分类可行吗?以一个二分类问题为例:training: class1 的target为1;class2的target为-1.testing:接近于1的class1,接近-1的为class2从上图可以看出,使用回归来处理分类问题会导致右图中的问题(惩罚太正确的点)。因为回归问题的mse不适用于分类问题。同时,在处理多分类问题时,会使得输出的target之间具有某种相关性,无法满足我们需要达到的分类要求.原创 2020-07-16 18:10:52 · 627 阅读 · 0 评论 -
机器学习03-梯度下降(Gradient Descent)
东阳的学习记录,坚持就是胜利!文章目录什么是梯度梯度下降1. 选择合适的学习率自适应的学习率Adagrad矛盾吗??反差随机梯度下降示意图特征缩放(Feature Scaling)怎么做特征缩放梯度下降的数学原理思考题如何实现梯度下降怎么确定红色圈内的最低点泰勒公式牛顿法是把二次项也考虑进来的梯度下降的问题什么是梯度梯度就是数学上的导数概念。Gradient: Loss的法线方向梯度下降1. 选择合适的学习率学习率过小,参数更新的太慢,导致训练时间长学习率过大,导致无法收敛,在最优.原创 2020-07-14 20:28:02 · 140 阅读 · 0 评论 -
机器学习02-机器学习中“损失loss”的详解
东阳的学习记录,坚持就是胜利!文章目录loss的组成Bias和variancebias和variance对model拟合效果的影响为什么会出现这样的影响如何判断model的bias和variance时不是过大如何处理bias大和variance大如何处理bias大如何处理variance大增大输入数据量(数据增强)正则化如何选择适当的模型不要这么做!!!可能出现对于这个测试集表现比较好,但是另一个数据集表现差。(所以说并不可靠)应该这样做N-fold Cross Validationloss的组成.原创 2020-07-14 15:05:32 · 4480 阅读 · 0 评论 -
机器学习01-过拟合和Regularization(正则化)
东阳的学习记录,坚持就是胜利!文章目录过拟合不同模型在训练集和测试集上的表现过拟合的理解如何防止过拟合正则化正则化的理解加入正则化之后的模型表现过拟合首先看一个正常的拟合。y = b + w * x更改模型, 使用二次回归, y=b+w1∙x+w2∙x2y = b + w _1 ∙ x + w 2 ∙ x^ 2y=b+w1∙x+w2∙x2逐渐增大, y=b+w1∙x+w2∙(x2+w3∙x3+w4∙x4+w5∙x5y = b + w _1 ∙ x + w_ 2 ∙ (x ^ 2+.原创 2020-07-13 16:07:01 · 229 阅读 · 0 评论 -
数据科学04-pandas03-分组计算和索引
东阳的学习记录,坚持就是胜利!文章目录分组计算apply函数apply向匿名函数传递参数禁用分组键apply 应用示例:用不同的分组平均值填充空缺数据applymap注意这里lamdba的操作单位是元素注意这里的操作单位是列/行类别数据理解categorical Data连接和合并详见 pandas文档这里主要介绍apply函数和Categorical Data分组计算pandas对nan的处理是直接丢弃分组计算三步曲:拆分 -> 应用 -> 合并拆分:根据什么进行分.原创 2020-07-12 20:07:59 · 167 阅读 · 0 评论 -
数据科学03-pandas2-数据可视化
东阳的学习记录,坚持就是胜利!文章目录线型图从series画图从dataframe画图柱状图直方图密度图带密度估计的规格化直方图散布图饼图SeriesDataframePandas 的数据可视化使用 matplotlib 为基础组件。更基础的信息可参阅 matplotlib 相关内容。本节主要介绍 Pandas 里提供的比 matplotlib 更便捷的数据可视化操作。线型图Series 和 DataFrame 都提供了一个 plot 的函数。可以直接画出线形图。从series画图ts = .原创 2020-07-12 18:56:55 · 193 阅读 · 0 评论 -
数据科学02-pandas的使用1
东阳的学习记录,坚持就是胜利!文章目录pandas的数据结构SeriesSeries的创建Series 是类 ndarray 对象Series是类字典对象标签对齐DataFrameDataFrame的创建列的选择、增加和删除使用 assign() 方法来插入新列索引和选择数据对其和数学运算转置运算DataFrame与NumPy函数的互操作性DataFrame以属性方式访问列元素pandas的数据结构pandas官方文档SeriesSeries 是一维带标签的数组,数组里可以放任意的数据(整.原创 2020-07-11 23:28:27 · 286 阅读 · 0 评论 -
数据科学01-numpy的用法
东阳的学习记录,坚持就是胜利!numpynumpy数组的创建a = np.array([2,23,4],dtype=np.uint8)np.array([[1,2,3], [4,5,6]])# 创建全0数组np.zeros((5,4))# 创建全1数组np.ones((3,4))np.arange(10, 20).reshape((2,5))np.linspace(1,10,20) # 在[1, 10]之间等分出20个元素# 随机初始化a = np.random.random(.原创 2020-07-10 17:00:09 · 119 阅读 · 0 评论