![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习和神经网络
To_1_oT
机器学习、深度学习、计算机视觉,欢迎学习交流。
展开
-
Pytorch入门第二课之Tensor
一、TensorTensor,又名张量,可以将它简单的认为是一个数组,支持高效的科学计算。它可以是一个数(标量)、一维数组(向量)、二维数组(矩阵)或更高维的数组(高阶数据)。Tensor和numpy的array类似,但是Pytorch的tensor支持GPU加速。1.1 基础操作tensor的接口设计的与numpy类似,以便用户使用。从接口的角度讲,对tensor的操作可分为两类:(1...原创 2019-11-25 11:33:10 · 472 阅读 · 0 评论 -
Pytorch入门第一课——基础介绍
一、Pytorch简介pytorch是torch在python上的衍生。因为torch是一个使用Lua语言的神经网络库,torch很好用,但是Lua不是特别流行,所有开发团队将Lua的torch移植到了更流行的语言python上。...原创 2019-11-03 19:51:19 · 1621 阅读 · 0 评论 -
TensorFlow入门第六课——保存和载入模型
一、保存自己搭建网络的模型在前面简单的神经网络基础上填加了保存模型的代码。代码如下:import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data# 载入数据集mnist = input_data.read_data_sets("MNIST_data", one_hot=True)...原创 2019-11-02 18:31:04 · 353 阅读 · 0 评论 -
TensorFlow入门第五课——卷积神经网络用于手写数字识别
一、卷积神经网络详细见:https://blog.csdn.net/haha0825/article/details/101024785二、TensorFlow实现CNNimport tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_dat...原创 2019-10-16 20:16:09 · 180 阅读 · 0 评论 -
TensorFlow入门第四课——TensorBoard可视化
一、TensorBoard简介训练神经网络十分复杂,有时需要几天甚至几周的时间。为了更好地管理、调试和优化神经网络的训练过程, TensorFlow 提供了 一个可视化工具 TensorBoard 。 TensorBoard 可以有效地展示 TensorFlow 在运行过程中的计算图、各种指标随着时间的变化趋势以及训练中使用到的图像等信息。TensorBoard 是 TensorFlow 的可...原创 2019-10-16 15:48:28 · 488 阅读 · 0 评论 -
Tensorflow入门第三课——高级版MNIST手写数字识别(代价函数、优化方法)
一、高级版MNIST手写数字识别原创 2019-10-11 22:31:49 · 339 阅读 · 0 评论 -
总结整理之深度学习中的最优化方法
最优化问题在机器学习/深度学习中是经常遇到的问题,也是很重要的一个问题。学习算法的本质都是建立优化模型,通过最优化方法对目标函数(或损失函数)进行优化,从而训练出最好的模型。常见的最优化方法主要有以下几种。一、梯度下降法1.1 标准梯度下降法(Batch Gradient Descent)参数更新:其中:梯度下降法的优化思想是用当前位置负梯度方向作为搜索方向,因为该方向为当前位置的最...原创 2019-10-11 21:28:18 · 4139 阅读 · 0 评论 -
总结整理之深度学习中的代价函数
一、代价函数假设有训练样本(x, y),模型为h,参数为θ。h(θ)=θT∗x h(θ) = θ^T*x h(θ)=θT∗x(θT表示θ的转置),总体来讲,任何能够衡量模型预测出来的值h(θ)与真实值y之间的差异的函数都可以叫做代价函数C(θ),如果有多个样本,则可以将所有代价函数的取值求均值,记做J(θ)。损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差,而...原创 2019-10-10 22:50:42 · 1056 阅读 · 0 评论 -
Tensorflow入门第二课——非线性回归模型和简单版MNIST手写数字识别
一、非线性回归模型#非线性回归模型import tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltx_data = np.linspace(-0.5,0.5,200) #生成200个从-0.5到0.5均匀分布的随机点x_data = np.linspace(-0.5,0.5,200)[:,np.ne...原创 2019-10-10 16:07:26 · 322 阅读 · 0 评论 -
吴恩达神经网络和深度学习课程自学笔记(十二)之人脸识别
第四周 特殊应用:人脸识别和神经风格转换一、什么是人脸识别?首先,让我们了解一下人脸识别的一些术语。主要是人脸验证(face verification)和人脸识别(face recognition)。人脸验证问题:如果你有一张输入图片,以及某人的ID或者是名字,这个系统要做的是,验证输入图片是否是这个人。有时候也被称作1对1问题。人脸识别问题:而人脸识别问题比人脸验证问题难很多。验...原创 2019-10-03 15:19:41 · 454 阅读 · 0 评论 -
吴恩达神经网络和深度学习课程自学笔记(十一)之目标检测
目标检测一、目标定位不仅是识别出汽车,还要判断他的在图中的具体位置。一个输入图片,我们先通过卷积判断了它是汽车,而要定位,我们可以让神经网络多输出几个单元,输出一个边界框,也就是4个数字(bx,by,bh,bw),即被检测对象的参数化表示。约定一些符号表示:左上角坐标为(0,0),右下角为(1,1 ),物体中心点坐标为(bx,by),边框高度为bh,宽度为bw。(本例子中,bx=0...原创 2019-09-26 23:02:39 · 313 阅读 · 0 评论 -
吴恩达神经网络和深度学习课程自学笔记(十)之深层卷积神经网络
深度卷积网络一、总述计算机视觉研究中的大量研究集中在如何把这些基本构件组合起来,形成有效的卷积神经网络。而找到感觉的方法之一就是多看一些案列,通过研究别人的来构建自己的。已有的一些例如识别猫、识别人脸等比较好的框架,在我们需要用到其中的某部分时我们可以借鉴来解决自己的问题。下面主要是一些计算机视觉的经典网络,包括:LeNet-5、AlexNet、VGGNet等。然后还有残差网络(Res...原创 2019-09-22 22:34:16 · 424 阅读 · 0 评论 -
吴恩达神经网络和深度学习课程自学笔记(一)之深度学习概论
一:什么是神经网络?拿房价预测举例:中间那条拟合的直线(包括等于0的部分)叫做ReLU(修正线性单元)函数。ReLU 函数就是最简单的神经元(单个神经元),输入x,输出y。 (单个神经元)多个单个神经元堆积成神经网络:下面是它的标准形式:X1,X2,X3,X4是输入层,它们所代表的意义由我们决定;中间四个圆圈是隐藏单元;最终输出y。二:用神经网络进行原创 2017-09-18 15:56:47 · 597 阅读 · 0 评论 -
吴恩达神经网络和深度学习课程自学笔记(三)之浅层神经网络
神经网络概览下图是最基本的神经网络——双层神经网络(输入层一般不看做一个标准的层)。 表示方法: 计算过程:首先计算a^[1]层的第一个单元 对剩下的三个单元继续计算,最终计算结果如下 最终得到 向量表示 多个不同样本的向量化:未向量化时 有一个for循环,计算速度较慢。 向量化时 激活函数: 使用tanh(z)函数比sigmoid函数效果要好,因为它有数原创 2017-09-23 21:50:22 · 797 阅读 · 0 评论 -
吴恩达神经网络和深度学习课程自学笔记(四)之深层神经网络
一些符号表示深度神经网络 前向传播实现 第一个式子,x 可以用a^[0] 代替,因此有: 向量化,有: 反向传播实现推导过程原理类似,有 导出反向传播函数: 向量化: 搭建神经网络块 示意图 前向和反向传播总流程: 矩阵的维数 (若是m 个样本,则只需把式子中括号中的“1”换为“m”;b不需要变) 要做深度神经网络的前向、反向传播必须保证所有的原创 2017-09-28 12:18:40 · 711 阅读 · 0 评论 -
吴恩达神经网络和深度学习课程自学笔记(五)之深度学习实用层面
数据集数据集一般分为三部分,分别为训练集,验证集以及测试集。训练集用于训练模型;验证集验证哪种算法更高效;测试集评估预测结果。 针对数据集大小不同,三部分所占比例有所不同: tip1:我们需要确保验证集和测试集来自于同一分布,因为这样算法可以运行得很快。 tip2:无测试集也可以,此时验证集称为测试集。此计适用于不需要无偏差评估算法的情况。偏差和方差测试误差=偏差+方差。 偏差(bias原创 2017-10-13 20:39:15 · 348 阅读 · 0 评论 -
吴恩达神经网络和深度学习课程自学笔记(七)之超参数调试,Batch正则化和程序框架
超参数调试1.尝试不同的参数值而不要用坐标方格有3个参数就为立方体,更多参数更多维,道理都是一样的。下一步: 假设蓝色小区域的效果比较好,则放大该区域,在其中更密集的选择点,重复此步骤,直至找到最优。2.为超参数选择合适的范围(1)对于 n^[l] 和 L 在范围内随机取值。 (2)对于α: (3)对于β: 3.组织超参数学习过程分为两种方式: (1)只照看一个模型(被称为熊猫模式原创 2017-11-07 17:41:45 · 392 阅读 · 0 评论 -
吴恩达神经网络和深度学习课程自学笔记(六)之优化算法
Mini-batch梯度下降法简要介绍训练集向量化: 将训练集分为小集合,子集取名为Mini-batch。假设训练集总共5000000个,小集合为1000,则有: 其中,1-1000为x^{1},1001-2000为x^{2},……最后一个为x^{5000}。y也是一样。 设t为Mini-batch个数,则有x^{t},y^{t}。 传统(batch)梯度下降一次训练整个训练集,而M原创 2017-10-20 10:41:32 · 372 阅读 · 0 评论 -
吴恩达神经网络和深度学习课程自学笔记(八)之机器学习策略
在构建一个系统时,正确率达到90%左右,下一步提高正确率有很多方式;机器学习策略可以使我们更高效地往正确的方向前进。正交化拿控制汽车运动的例子来说:控制汽车运动有两方面因素,一个是方向–方向盘;一个是速度–油门和刹车。 建立直角坐标系,X轴和Y轴分别为方向和速度。 正交化即在此情况下(两者调整互不干扰),调整两者大小以得到自己想要的运动状态。对于机器学习系统,根据四个部分的表现(一般和人类水平比原创 2017-12-10 18:04:51 · 450 阅读 · 0 评论 -
吴恩达神经网络和深度学习课程自学笔记(九)之卷积神经网络
卷积神经网络计算机视觉问题一般数据输入量非常大,因此难以获取足够的数据来防止神经网络发生过拟合以及很好的满足计算力/内存需求。解决这个问题就用到了卷积运算。卷积运算边缘检测问题一般分为垂直边缘检测和水平边缘检测。最左边的6*6为输入的一张图片,每个框内是它的每个像素点的值;中间的3行3列为过滤器,用于进行卷积运算;最右边为输出。卷积运算过程:首先过滤器与图片的左上角做乘法,即3∗...原创 2019-09-19 15:57:56 · 397 阅读 · 0 评论 -
吴恩达神经网络和深度学习课程自学笔记(二)之神经网络基础
一:一些符号表示例如将图片转换为像素点后输入。m 是特征维度,m 是样本(x,y)数量。向量X是n*m维向量,Y是1*m维向量。使用列向量,计算更方便。python中 X.shape命令输出X的维度。二:logistics回归y^是预测值,y^ = P(y=1|x)。w 是n 维向量,b 是一个实数。令z = w^T * x + b ,则有:原创 2017-09-19 10:58:49 · 602 阅读 · 0 评论