计算机视觉
阿桥今天吃饱了吗
大家一起来学习吖~
展开
-
神经网络 专项2 CNN--卷积神经网络
CNN–卷积神经网络基本结构:input----(CONV*n+Pool?)m----FNk----output全连接网络每层神经元按照线性一维分布卷积神经网络每层神经元按照立体三维分布一、基础认知1.1 输入与输出输入图像在计算机中表示为一大堆像素值。根据图片的分辨率和尺寸,将表示为一个 32 x 32 x 3 的数组(3 指代的是 RGB 值)其中每个数字的值从 0 到 255 不等,描述了对应那一点的像素灰度提供给计算机这一数组后,它将输出描述该图像属于某一特定分类的概率的数字计算机原创 2020-09-19 10:28:32 · 788 阅读 · 0 评论 -
CS231n 计算机视觉(学习笔记)第十一章 Detection and Segmentation(0822)
第十一章原创 2020-09-04 14:25:09 · 170 阅读 · 0 评论 -
CS231n 课程作业 Assignment Two(六)Tensorflow(0902)
Assignment Two(六)TensorflowTensorFlow是一个用于在Tensor对象上执行计算图的系统,其原生支持为其变量执行反向传播。在其中,我们使用张量,它们是类似于numpy ndarray的n维数组。一、准备与安装1.1 创建新的虚拟环境cmd命令 conda create -n tf_20_env python=3.7启动 activate tf_20_env安装作业一中的库 pip install -r D:\CS231nAssignment1\assignment原创 2020-09-04 11:48:51 · 1986 阅读 · 1 评论 -
CS231n 课程作业 Assignment Two(五)卷积神经网络(0830)
Assignment Two(五)卷积神经网络一、前提和其他任务不同的是,需要安装一个cython的扩展包在虚拟环境中安装cython和正常方式不同,最简单的就是在anaconda prompt中activate cs231n,然后使用pip install cython这样就可以成功安装了(课程推荐的代码会有很多报错)...原创 2020-09-01 14:51:17 · 1355 阅读 · 0 评论 -
CS231n 课程作业 Assignment Two(四)Dropout(0829)
Assignment Two(四)Dropout一、原理正向传递过程中,激活层之后。将某些输出激活随机设置为零,对神经网络进行正则化,这样可以有效地缓解过拟合的现象二、实现2.1 Dropout forwarddef dropout_forward(x, dropout_param): """ Performs the forward pass for (inverted) dropout. Inputs: - x: Input data, of any shap原创 2020-08-30 16:32:18 · 516 阅读 · 0 评论 -
CS231n 课程作业 Assignment Two(三)Batch Normalization(0824)
Assignment Two(三)Batch Normalization使深层网络更容易训练的一种方法是使用更复杂的优化程序,例如SGD + momentum,RMSProp或Adam。另一种策略是更改网络的体系结构,使其更容易训练。遵循这些思路的一个想法是批量标准化。(机器学习方法的输入数据由零相关且单位方差为零的不相关特征组成时,它们往往会更好地工作)在训练时,批处理归一化层使用少量数据来估计每个特征的均值和标准差。然后,将这些估计的均值和标准偏差用于对微型批次的特征进行居中和标准化。在训练过程中,原创 2020-08-29 20:38:38 · 856 阅读 · 1 评论 -
CS231n 课程作业 Assignment Two(二)全连接神经网络(0820)
Assignment Two(二)全连接神经网络主要工作为:模块化设计、最优化更新的几种方法一、模块设计在A1中,实现了完全连接的两层神经网络。 但功能上不是很模块化,因为损耗和梯度是在单个整体函数中计算的。 这对于简单的两层网络是可管理的,但是随着转向更大的模型,这将变得不切实际。理想情况下,期望使用更具模块化的设计来构建网络,以便隔离地实现不同的层类型,然后将它们组合在一起成为具有不同体系结构的模型。在本练习中,使用更加模块化的方法来实现完全连接的网络。 对于每一层,我们将实现前向和后向功能。原创 2020-08-24 14:16:36 · 1414 阅读 · 0 评论 -
CS231n 课程作业 Assignment One(六)小结
小结一、原理原创 2020-08-22 12:25:34 · 379 阅读 · 0 评论 -
CS231n 课程作业 Assignment Two(一)题目分析(0820)
Assignment Two在本任务中,你将练习编写反向传播代码,训练神经网络和卷积神经网络。目标如下:理解神经网络及其分层结构。理解并实现(向量化)反向传播。实现多个用于神经网络最优化的更新方法。实现用于训练深度网络的批量归一化( batch normalization )。实现随机失活(dropout)。进行高效的交叉验证并为神经网络结构找到最好的超参数。理解卷积神经网络的结构,并积累在数据集上训练此类模型的经验。环境配置见–>配置具体任务:Q1:全连接神经网络IPyt原创 2020-08-21 12:02:35 · 428 阅读 · 0 评论 -
CS231n 计算机视觉(学习笔记)第八章(0811)
第八章8.1原创 2020-08-20 18:18:51 · 117 阅读 · 0 评论 -
CS231n 计算机视觉(学习笔记)第七章(0809)
第七章7.1 Fancier optimizationSGD存在问题:在不同方向上抖动局部极小值/鞍点随机梯度,时间成本Nesterov优化:在SGD中加入一个动量(一个速度)将梯度加入到这个速度上具有速度的梯度下降将更加稳定,且能通过鞍点velocity+gradient=actual step速度是关于旧速度、梯度、摩擦系数的一个变量AdaGrad:优化过程中,保持一个在训练过程中,每一个梯度平方和的估计每次调整,除以这个平方和问题是,当时间增大,步长将越来越小在凸函原创 2020-08-18 14:41:34 · 186 阅读 · 0 评论 -
CS231n 课程作业 Assignment One(五)两层神经网络分类器(0816)
两层神经网络分类器–Neural Network(2layers)全连接神经网络、单隐藏层一、原理1.1 全连接神经网络基础理论见另一篇文章–全连接神经网络1.2 损失函数(待完善,想看可留言)二、实现2.1 损失函数与求导 def loss(self, X, y=None, reg=0.0): """ Compute the loss and gradients for a two layer fully connected neural原创 2020-08-17 11:54:34 · 1423 阅读 · 0 评论 -
CS231n 课程作业 Assignment One(四)Softmax分类器(0815)
Softmax•为Softmax分类器实现完全矢量化的损失函数•实现完全矢量化的解析梯度表达式•使用数字梯度检查您的实施•使用验证集调整学习率和正则化强度•使用SGD优化损失功能•可视化最终学习的权重一、原理通过概率表示每个类别被选中的几率,能够对分类结果进行量化。1.1 损失函数1.2 求导分情况讨论求导得:二、实现2.1 预处理def get_CIFAR10_data(num_training=49000, num_validation=1000, num_test原创 2020-08-16 20:39:29 · 740 阅读 · 0 评论 -
CS231n 课程作业 Assignment One(三)SVM分类器(0809)
SVM支持向量机一、原理1.1 线性分类器线性SVM分类是给每一个样本一个分数,其正确的分数应该比错误的分数大。在实际分类中,为了提高分类器的鲁棒性,我们希望正确的分数比错误的分数大得多一些,其差值为▲损失函数公式:折叶损失(hinge loss),又称最大边界损失(max-margin loss)得分向量公式:引入正则项:1/2非必要项1.2 求解损失函数关于权重矩阵的梯度...原创 2020-08-15 21:16:54 · 821 阅读 · 0 评论 -
CS231n 课程作业 Assignment One(二)KNN分类器(0807)
k-Nearest Neighbor classifierKNN分类器包括两个阶段: 在训练期间,分类器获取训练数据并简单地记住它 在测试过程中,kNN通过与所有训练图像进行比较并转移k个最相似的训练示例的标签来对每个测试图像进行分类 注意:K的值是交叉验证的任务目标:将实现训练和测试两个阶段,并了解基本的图像分类管道、交叉验证并提高熟练编写高效矢量化代码的能力。1. KNN的原理KNN是一种投票机制,依赖少数服从多数的原则,根据最近样本的标签进行分类的方法,属于局部近似。优点:1.简单原创 2020-08-09 22:02:19 · 757 阅读 · 0 评论 -
CS231n 课程作业 Assignment One(一)配置与题目分析(0807)
Assignment One在本作业中,您将练习根据k最近邻居或SVM / Softmax分类器来组合一个简单的图像分类管道。 该任务的目标如下:了解基本的图像分类管道和数据驱动方法(训练/预测阶段)了解训练/验证/测试拆分以及将验证数据用于超参数调整。熟练使用numpy编写高效的矢量化代码实施并应用k最近邻(kNN)分类器实现并应用多类支持向量机(SVM)分类器实施并应用Softmax分类器实现并应用两层神经网络分类器了解这些分类器之间的差异和权衡通过使用高级表示(而不是原始像素)来基原创 2020-08-08 19:11:17 · 551 阅读 · 0 评论 -
CS231n 课程作业 环境搭建(0806)
环境搭建为了避免一些玄学问题影响实验,近日重新做了系统,因此本次实验从下载安装、搭建环境开始。1)首先在CS231n的官方链接,下载作业代码选择Option B: Jupyter starter code,在windows本地完成作业,下载并解压得到2)安装Anaconda,下载地址Anaconda指的是一个开源的Python发行版本,包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等第一次安装,选择了Python 3.8 64位(可能会因为版本过新出现问题原创 2020-08-08 15:24:38 · 567 阅读 · 0 评论 -
神经网络 专项1 FN--全连接网络(0806)
FN–全连接网络定义:对n-1层和n层而言,n-1层的任意一个节点,都和第n层所有节点有连接。即第n层的每个节点在进行计算的时候,激活函数的输入是n-1层所有节点的加权引用自_寒潭雁影显然,计算公式为:Z1=W11X1+W12X2+K1;Y=1/(1+e的-z次幂)(其他节点类推)选用激活函数1/(1+e的-x次幂)----将线性转换成非线性利用Sigmoid进行激活(类似于复合函数的过程)步骤a.前向传播将每个节点的表达式排列出来对所有的X、K、W带入实际数值,推导Z(1)和Y,再推O原创 2020-08-08 10:37:33 · 1213 阅读 · 0 评论 -
CS231n 计算机视觉(学习笔记)第六章(0805)
第六章最小批量随机梯度下降:连续的批量抽样通过计算图或神经网络将数据正向传播 得到损失值通过整个网络的反向传播 计算梯度使用这个梯度 更新网络中的参数或权重6.1 激活函数Sigmoid类似神经元的饱和放电率(存在梯度消失的问题,输入绝对值太大;非0中心函数,当输入值仅为正或负时,梯度沿相同方向变化;计算代价较大)...原创 2020-08-06 14:24:03 · 117 阅读 · 0 评论 -
CS231n 计算机视觉(学习笔记)第五章 卷积神经网络(0802)
第五章 卷积神经网络convolutional neural networks卷积–保留输入的空间结构5.1 历史部分from1957 神经元在视觉皮层的工作原理1980 神经认知机1998 Lecun 反向传播和梯度2012 AlexNet近年应用5.2 卷积和池化1.卷积部分卷积核–遍历所有通道(点积运算)栅格、 步长(根据图像尺寸确定步长和结果的维度)(N-F)/stride + 1(当做零填补-zero pad时注意区别,全尺寸输出)多个卷积核–多个激活映射参数数量为卷原创 2020-08-04 23:20:51 · 147 阅读 · 0 评论 -
CS231n 计算机视觉(学习笔记)第四章 反向传播(0730)
第四章 反向传播4.1 反向传播最小化损失函数–梯度下降迭代计算图的框架:用图来表示函数反向传播技术:递归地调用链式法则,计算图中每个变量的梯度反向传播的工作:用图来表示函数;利用已知值进行前向传播,计算中间值;每个节点起一个名字,并找到表达式;从后向前计算所有梯度(链式法则传导计算),结果在所有方向上的梯度,即所有因素对结果的影响;损失函数对于每个节点的梯度值(自上游传递)对于每个节点来说向下传导的梯度值等于上游梯度值乘本地梯度值eg2Jacobian?L2范数计算当输入x和参数w为向量原创 2020-08-02 20:18:37 · 144 阅读 · 0 评论 -
CS231n 计算机视觉(学习笔记)第三章(0725)
3.1 损失函数和优化定义一个度量,评价任意某一个W表现优劣损失函数,以W为输入,对比得分,定量评价W的好坏从W的可行域中,挑选出表现最不差的,漫长的优化过程 极小化SVM损失函数损失函数:各类别损失函数求值的和的平均数...原创 2020-07-25 22:59:24 · 121 阅读 · 0 评论 -
CS231n 计算机视觉(学习笔记)第二章(0724)
2.1 数据驱动image classificationnumpy(cs231n.github.io/python-numpy-tutorial/)assignment 1Google cloud tutorial变化鲁棒train model predict数据驱动类2.2 K-最邻近算法最近邻分类器 曼哈顿距离 L1(点像素差绝对值累和)欧式距离L2(点像素差平方和的平方根)L1 坐标依赖K-邻近 中央投票超参数 hyper parametersdata—>train +原创 2020-07-24 20:09:00 · 92 阅读 · 0 评论 -
CS231n 计算机视觉(学习笔记)第一章(0723)
1.1 概述视觉数据爆炸式增长 卷积神经网络 沉浸式 观测并理解1.2 历史背景五亿四千万年 视觉 物种大爆炸 最重要的感知系统17世纪 文艺复兴 暗箱 mechanical vision面向边缘 沿着视觉处理途径移动1960 computer vision 识别重建识别和表示对象 广义圆柱体、图形结构复杂结构简约成集合体图像分割 像素点;面部检测统计机器学习方法 支持向量机模型 boosting 图模型2001 相机实现 实时面部检测基于特征的目标识别 SIFT识别 关键特征的匹配原创 2020-07-23 23:52:53 · 94 阅读 · 0 评论