深度学习、图形图像相关
人工智能图形图像
风吹走了我脑壳后面的秀发
这个作者很懒,什么都没留下…
展开
-
ResNet 深入理解
ResNet问题一:在反向传播过程中梯度 x > 1 梯度爆炸,梯度x < 1 梯度消失解决方案1.权重初始化2.数据标准化bn3.batch norm问题二:累加Conv后,并不是网络越深,效果越好解决方案1.残差结构残差结构1.左侧的残差结构适用于浅层网络,ResNet342.右侧的残差结构适用于深层网络,ResNet50/101等下采样残差结构针对ResNet34针对ResNet50batch normalization[外链图片原创 2021-09-15 11:12:34 · 564 阅读 · 0 评论 -
FPN个人理解小结
FPN特征金字塔是目标检测识别系统中的一个基础组件,但是最近深度目标检测器避免使用金字塔的表示方式,部分原因是因为特征金字塔是强计算和强内存的,计算非常昂贵。原有的目标检测算法通常都是只采用顶层特征做检测,原因是网络顶层特征的语义信息比较丰富。然而,虽顶层特征的语义信息丰富,但其中的目标位置信息却比较粗略,不利于目标包围框的准确定位;相反,虽然底层特征的语义信息比较少,但其中目标的位置信息却非常准确。再次背景下,作者利用深度卷积神经网络固有的多尺度、多层级的金字塔结构去构建特征金字塔网络FPN构建原创 2021-09-10 15:02:52 · 540 阅读 · 0 评论 -
NIN,Googlenet,ResNet具体实现
NIN●无全连接层●交替使用NiN块和步幅为2的最大池化层逐步减小高宽和增大通道数●最后使用全局平均池化层得到输出其输入通道数是类别数三卷121最池,n块,全平均from torch import nndef NIN_block(in_channel, out_channel, kernel_size, stride, padding): return nn.Sequential( nn.Conv2d(in_channel, out_channel, ker原创 2021-06-16 09:08:27 · 203 阅读 · 1 评论 -
LeNet,AlexNet,VGG实现
LeNet5x5 Conv(6),pad 2:意为 5x5的卷积核,输出通道为6,填充为2,由(f-1)/2 == 2可知,为same填充,即输入输出大小不变速记:两卷平,三接class Reshape(torch.nn.Module): def forward(self, x): return x.reshape(-1, 1, 28, 28)net = torch.nn.Sequential( Reshape(), nn.Conv2d(1, 6,原创 2021-06-16 09:05:53 · 176 阅读 · 1 评论 -
pytorch 安装 conda
pytorch 安装1.安装minicoda2.更换国内源# 中科大镜像源conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.ustc.edu.cn/anacond原创 2021-05-29 20:16:44 · 237 阅读 · 0 评论 -
卷积神经网络之垂直边缘检测
边缘检测假设我们现在又6x6的2d图片,通过一个3x3的滤波器实现边缘检测,计算后的结果是边缘部分高亮(即rgb的值更高)0为灰,-1为黑,大于0为白现有6x6的图片,图像可理解为左白,右灰1010100001010100001010100001010100001010100001010100003x3的滤波器,图像可理解为白灰黑10-110-110-原创 2021-05-29 10:11:51 · 1465 阅读 · 0 评论 -
深度学习入门
深度学习神经网络:affine(dot,sigmoid) ,softmax,loss激活函数众所周知,用作激活函数的函数最好具有关于原点对称的性质。tanh函数是关于原点(0, 0)对称的S型曲曲线。Sigmoid函数连续,sigmoid函数是关于(x, y)=(0, 0.5)对称的S型曲曲线import numpy as npdef sigmoid(x): return 1/1+np.exp(-x)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传原创 2021-05-28 22:21:24 · 778 阅读 · 5 评论 -
深度学习实现过程
mini batch从训练集中随机选择指定大小的数据计算梯度为减少mini batch的损失函数的值,求出各个权重参数的梯度更新参数将权重参数沿梯度方向微小跟新重复重复 前三步原创 2021-04-30 13:42:35 · 271 阅读 · 0 评论 -
gradient descent 梯度下降法
import matplotlib.pyplot as pltimport numpy as np# gradient descent# 全部变量的偏导数汇总而成的向量称为梯度def num_diff(f, x): # 求单变量数值微分(偏导数),差分求导方式 h = 1e-4 grad = np.zeros_like(x) for i in range(x.size): tmp = x[i] # 差分求导 == 求微分 计算公式:原创 2021-04-29 17:21:05 · 105 阅读 · 0 评论 -
mini batch,cross entorpy error
import numpy as np# cross entropy error mini batch, if t is one hotdef mini_batch_cee(y, t): batch_size = y.shape[0] return -np.sum(t * np.log(y + 1e-7))/batch_size# cross entropy error mini batch, if t is not one hot, is labledef mini_batch原创 2021-04-29 10:10:22 · 109 阅读 · 0 评论 -
损失函数,mse,cee
import numpy as np# mse,rmse == sqrt(mse) 均方差def mse(y, t): return 0.5 * np.sum((y - t)**2)# cross entropy errordef cee(y, t): return -np.sum(t * np.log(y + 1e-7)) # 1e7防止log(0)出现y = np.array([0.1, 0.2, 0.6, 0.1]) # 模拟神经网络输出t = np.arr原创 2021-04-28 16:38:58 · 227 阅读 · 0 评论 -
恒等函数,阶跃函数,sigmoid函数,softmax使用及其特点
import matplotlib.pyplot as pltimport numpy as np# 神经网络激活函数# 阶跃函数def step_function(x): return np.array(x > 0, dtype=np.int)# sigmoid函数 --二元分类问题def sigmoid(x): return 1 / (1 + np.exp(-x))# relu函数def ReLU(x): return np.maximum原创 2021-04-28 10:02:32 · 506 阅读 · 1 评论