人工智能
人工智能
熠熠生辉s
人生苦短,我选python
展开
-
ImageNet Large Scale Visual Recognition Challenge论文阅读
这篇著名的论文总结了2010-2014年以来ImageNet比赛中关于图像分类和物体识别领域的研究,在谷歌学术上有2800+的引用量。(另一篇2009年的ImageNet: A Large-Scale Hierarchical Image Database有4400+引用量。因为比赛使得计算机在图像分类和物体识别方面正确率已经超过人类,所以2017年是ImageNet最后一届比赛)。整篇论文分7大...原创 2018-06-02 14:19:38 · 4763 阅读 · 0 评论 -
卷积神经网络CNN【5】FC全连接层
【5】FC全连接层原图片尺寸为9X9,在一系列的卷积、relu、池化操作后,得到尺寸被压缩为2X2的三张特征图。全连接层在整个卷积神经网络中起到“分类器”的作用,即通过卷积、激活函数、池化等深度网络后,再经过全连接层对结果进行识别分类。首先将经过卷积、激活函数、池化的深度网络后的结果串起来,如下图所示由于神经网络是属于监督学习,在模型训练时,根据训练样本对模型进行训练,从而得到...原创 2018-08-22 19:17:58 · 15392 阅读 · 5 评论 -
卷积神经网络CNN【2】卷积层
【2】卷积运算卷积核最开始的位置进行卷积运算后,滑动窗便开始向右边滑动。根据步长的不同选择滑动幅度。比如,若 步长 stride=1,就往右平移一个像素。卷积运算就是将卷积核和图片的矩阵对应元素相乘,然后将得到的和求均值放在矩阵中心,到特征图feature map。这个卷积核遍历完整张图片得到右边的特征图feature map特征图是每一个feature从...原创 2018-08-22 19:36:18 · 431 阅读 · 0 评论 -
卷积神经网络CNN【3】非线性激活层Relu层
【3】非线性激活层ReluRelu函数f(x)=max(0,x)非线性激活层即保留大于0的值,即保留特征比较好的值,将特征小于0的值舍去卷积后一般先跟relu再跟池化。...原创 2018-08-22 19:44:13 · 8296 阅读 · 0 评论 -
监督学习、无监督学习、半监督学习、弱监督学习、强化学习
监督学习(supervised learning)已知数据和其对应的标签,训练一个算法,将输入数据映射到标签的过程已知一些图片是狗,一些图片不是狗,那么训练一个算法,当一个新的图片输入算法的时候算法告诉我们这张图片是不是狗无监督学习(unsupervised learning)已知数据不知道任何标签,按照一定的偏好,训练一个智能算法,将所有的数据映射到多个不同标签的过程。所谓的按照...原创 2018-09-03 10:03:52 · 1894 阅读 · 0 评论 -
训练集,验证集,测试集
训练集:拿来训练模型,包括前传和反传。验证集:通常很少,只包括前传,用来调模型的超参数。测试集:很大,只包括前传,验证算法的准确度原创 2019-05-30 14:51:31 · 324 阅读 · 0 评论 -
Batch Size
Lenet5在minst图像分类上Batch_Size 太小,算法在 200 epoches 内不收敛。 随着 Batch_Size 增大,处理相同数据量的速度越快。 随着 Batch_Size 增大,达到相同精度所需要的 epoch 数量越来越多。 由于上述两种因素的矛盾, Batch_Size 增大到某个时候,达到时间上的最优。 由于最终收敛精度会陷入不同的局部极值,因...原创 2020-02-27 20:34:20 · 187 阅读 · 0 评论 -
TensorFlow教学①单层神经网络训练MNIST数据
#!/usr/bin/env python3# -*- coding: utf-8 -*-import tensorflow as tf # 从TensorFlow的样例中获取下载mnist的文件,并解压输入import tensorflow.examples.tutorials.mnist.input_data as input_datamnist = input_data.r...原创 2020-02-27 20:34:31 · 288 阅读 · 0 评论 -
什么是tensor
tensor是tensorflow基础的一个概念——张量。Tensorflow用到了数据流图,数据流图包括数据(Data)、流(Flow)、图(Graph)。Tensorflow里的数据用到的都是tensor,所以谷歌起名为tensorflow。下面介绍张量几个比较重要的概念Constant(常量)是值不能改变的一种tensor,定义在tf.constant这个类里。...原创 2020-02-27 20:34:39 · 2740 阅读 · 0 评论 -
PyTorch入门一:PyTorch搭建多层全连接神经网络实现MNIST手写数字识别分类
①全连接神经网络神经网络中除输入层之外的每个节点都和上一层的所有节点有连接②先用pytorch实现最简单的三层全连接神经网络A简单的三层全连接神经网络class simpleNet(nn.Module): #定义模组,固定 def_init_(self,in_dim,n_hidden_1,n_hidden_2,ou...原创 2020-02-27 20:35:34 · 4360 阅读 · 0 评论 -
深度学习基本术语
超参数:在训练前预先设定的参数调参:即调整超参数Batch Size:一次训练所选取的样本数原创 2020-03-03 17:31:16 · 167 阅读 · 0 评论 -
注意力机制大总结
①SEnetSEnet(Squeeze-and-Excitation Network)考虑了特征通道之间的关系,在特征通道上加入了注意力机制。SEnet通过学习的方式自动获取每个特征通道的重要程度,并且利用得到的重要程度来提升特征并抑制对当前任务不重要的特征。SEnet通过Squeeze模块和Exciation模块实现所述功能。如上图所示,首先作者通过squeeze操作,对空间维度...原创 2020-02-28 12:43:29 · 14022 阅读 · 3 评论 -
Jupyter Notebook 常用快捷键
A 向上建立一个CellB 向下建立一个CellEsc+mm把cell切换至markdown模式(即对代码进行解释)Esc+yy把cell切换至code模式DD(两下) 删除这个Cellshift 选中多个cellshift+M 合并选中cell...原创 2020-02-27 20:32:54 · 209 阅读 · 0 评论 -
深度学习超参数总结
1.epochs 迭代次数epoch=1这意味着1个周期是整个输入数据的单次向前和向后传递。简单说,epochs指的就是训练过程中数据将被“轮”多少次,就这样。2.batch-size批次大小是每一次训练神经网络送入模型的样本数,在卷积神经网络中,大批次通常可使网络更快收敛,但由于内存资源的限制,批次过大可能会导致内存不够用或程序内核崩溃。bath_size通常取值为[16,32,64,...原创 2020-02-27 20:30:55 · 1895 阅读 · 0 评论 -
损失函数优化器总结
# adadeltaoptimizer = tf.train.AdadeltaOptimizer(learning_rate=0.001, rho=0.95, epsilon=1e-8, ...原创 2020-02-27 20:30:05 · 612 阅读 · 0 评论 -
tensorflow教程②双层卷积神经网络mnist图像分类
import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datadef weight_variable(shape): initial = tf.truncated_normal(shape, stddev=0.1) return tf.Variable(initial)...原创 2019-05-05 19:38:28 · 412 阅读 · 1 评论 -
pytorch入门之卷积神经网络实现mnist分类
import torchimport torchvision as tvimport torchvision.transforms as transformsimport torch.nn as nnimport torch.optim as optimimport argparse# 定义是否使用GPUdevice = torch.device("cuda" if torch.c...原创 2019-05-05 20:21:18 · 1551 阅读 · 0 评论 -
padding卷积的两种方式“SAME”和“VALID”
如果padding设置为SAME,则说明输入图片大小和输出图片大小是一致的,如果是VALID则图片经过滤波器后可能会变小。原创 2019-05-14 00:25:08 · 1649 阅读 · 0 评论 -
tensorflow基础tf.nn.conv2d
tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)除去name和use_cudnn_on_gpu,与方法有关的一共四个参数:第一个参数input:指需要做卷积的输入图像,它要求是一个Tensor,具有[batch, in_height, in_width, in_chan...原创 2019-05-09 14:44:52 · 163 阅读 · 0 评论 -
tensorflow基础tf.nn.max_pool
tf.nn.max_pool(value, ksize, strides, padding, name=None)参数是四个,和卷积很类似:第一个参数value:需要池化的输入,一般池化层接在卷积层后面,所以输入通常是feature map,依然是[batch, height, width, channels]这样的shape第二个参数ksize:池化窗口的大小,取一个四维向量,...原创 2019-05-09 14:49:02 · 101 阅读 · 0 评论 -
pytorch x.view(x.size(0), -1)
这句话一般出现在model类的forward函数中,具体位置一般都是在调用分类器之前。分类器是一个简单的nn.Linear()结构,输入输出都是维度为一的值,x = x.view(x.size(0), -1) 这句话的出现就是为了将前面多维度的tensor展平成一维。...原创 2019-05-06 21:49:11 · 1174 阅读 · 0 评论 -
tf.reshape
x_image = tf.reshape(x, [-1, 28, 28, 1])这里是将一组图像矩阵x重建为新的矩阵,该新矩阵的维数为(a,28,28,1),其中-1表示a由实际情况来定。例如,x是一组图像的矩阵(假设是50张,大小为56×56),则执行x_image = tf.reshape(x, [-1, 28, 28, 1])可以计算a=50×56×56/28/28/1=200。即x_i...原创 2019-05-09 15:15:34 · 1548 阅读 · 1 评论 -
外积,内积和转置
import tensorflow as tf# 初始化矩阵x = tf.constant([[1, 2, 3], [1, 2, 3]])y = tf.constant([[2, 3, 4], [2, 3, 4]])z = tf.constant([[3, 4], [3, 4], ...原创 2019-05-14 17:10:05 · 2833 阅读 · 0 评论 -
三维卷积
下面就是 3D 卷积,其过滤器深度小于输入层深度(核大小<通道大小)。因此,3D 过滤器可以在所有三个方向(图像的高度、宽度、通道)上移动。在每个位置,逐元素的乘法和加法都会提供一个数值。因为过滤器是滑过一个 3D 空间,所以输出数值也按 3D 空间排布。也就是说输出是一个 3D 数据。在 3D 卷积中,3D 过滤器可以在所有三个方向(图像的高度、宽度、通道)上移动。在每个位置,逐元...原创 2019-05-20 00:41:07 · 14939 阅读 · 1 评论 -
特征融合
原创 2019-05-20 13:50:26 · 8883 阅读 · 1 评论 -
卷积池化计算公式
原创 2019-05-23 05:27:04 · 13701 阅读 · 0 评论 -
Batchsize
在合理范围内,增大 Batch_Size 有何好处?①内存利用率提高了,大矩阵乘法的并行化效率提高。②跑完一次 epoch(全数据集)所需的迭代次数减少,对于相同数据量的处理速度进一步加快。③在一定范围内,一般来说 Batch_Size 越大,其确定的下降方向越准,引起训练震荡越小。盲目增大 Batch_Size 有何坏处?①内存利用率提高了,但是内存容量可能撑不住了。②跑完一次 e...原创 2019-06-10 10:26:35 · 388 阅读 · 0 评论 -
tensorflow教程①单层神经网络实现mnist图像分类
这里用的是线性回归+softmaximport tensorflow as tf# 导入MNIST教学的模块from tensorflow.examples.tutorials.mnist import input_data# 与之前一样,读入MNIST数据mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)...原创 2019-05-05 19:42:35 · 436 阅读 · 0 评论