relu

人工智能实验四:深度学习算法及应用(DNN&CNN)

走远了吗. 提交于 2020-01-12 08:43:37
人工智能实验四报告:深度学习算法及应用 文章目录 人工智能实验四报告:深度学习算法及应用 实验目的 实验要求 实验硬件 实验软件 实验内容与步骤 MNIST数据集 具体实现 DNN(深度神经网络) 概述 具体设计 代码实现 结果输出 结果分析 为啥我又用了CNN(卷积神经网络)? CNN(卷积神经网络) 概述 具体设计 代码实现 结果输出 结果分析 思考题 实验目的 了解深度学习的基本原理 能够使用深度学习开源工具识别图像中的数字 了解图像识别的基本原理 实验要求 解释深度学习原理 对实验性能进行分析 回答思考题 实验硬件 计算机 实验软件 软件:windows操作系统 应用软件:TensorFlow、PyCharm、Python、Google Colab 实验内容与步骤 安装开源深度学习工具设计并实现一个深度学习模型,它能够学习识别图像中的数字序列。使用数据训练它,可以使用人工合成的数据(推荐),或直接使用现实数据。 MNIST数据集 通过下面的代码我们可以对其中的图片有一个大致的把握: import matplotlib . pyplot as plt # 训练集 train_images = mnist . train . images train_labels = mnist . train . labels # 验证集 validation_images = mnist

AlexNet卷积神经网络

徘徊边缘 提交于 2020-01-08 02:06:24
译者按: 祖师爷Hinton 带领的小组经典之作,深度学习开山祖师 Hinton率领的谷歌团队多次夺冠 ,主力成员为 hinton 在多伦多大学的学生 Alex Krizhevsky , Ilya Sutskever , 因此他们的解决方案也叫alexnet , 这篇文章是hinton大神团队的代表性之作,CNN (卷积神经网络)已经成为图像识别处理的标准,alexnet作为CNN的代表性方案基础,开创性的GPU计算卷积 , 仿生视觉细胞的局部感受野等手段解决了图像处理的难题, 和同期的VGG、ResNet、GoogleNet等比肩,使得图像识别成为了人工智能的最成功领域。 ImageNet是一个计算机视觉系统识别项目,缔造者为斯坦福大学教授李飞飞 ,是目前图像识别最大的数据库。是美国斯坦福的计算机科学家,模拟人类的识别系统建立的。能够从图片识别物体。ImageNetLSVRC图像识别大赛素有国际“计算机视觉奥林匹克“之称。数据集包含大约1000多万张各种图片,被分为1000个分类,参赛者训练分类器,在测试数据上取得最高辨识正确率者为优胜。 原文地址: http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks 作者 : University of

(原)人体姿态识别Light weight openpose

荒凉一梦 提交于 2020-01-07 17:16:48
转载请注明出处: https://www.cnblogs.com/darkknightzh/p/12152119.html 论文: https://arxiv.org/abs/1811.12004 官方pytorch代码: https://github.com/Daniil-Osokin/lightweight-human-pose-estimation.pytorch 1 简介 light weight openpose是openpose的简化版本,使用了openpose的大体流程。 Light weight openpose和openpose的区别是: a 前者使用的是Mobilenet V1(到conv5_5),后者使用的是Vgg19(前10层)。 b 前者部分层使用了空洞卷积(dilated convolution)来提升感受视野,后者使用一般的卷积。 c 前者卷积核大小为3*3,后者为7*7。 d 前者只有一个refine stage,后者有5个stage。 e 前者的initial stage和refine stage里面的两个分支(hotmaps和pafs)使用权值共享,后者则是并行的两个分支。 2 改进 2.1 骨干网络 论文中分析了openpose各阶段的mAP及GFLOPs 发现从refine stage1之后,性能的提升不是非常明显

深度学习的Tips

☆樱花仙子☆ 提交于 2020-01-07 08:39:26
引言 本文主要讲解了在进行深度学习时一些实用的提示。是 李宏毅 深度学习-Tips for Trainning DNN 的笔记。 深度学习的方法 经过三步骤后得到一个神经网络,接下来判断在训练集上的表现如何?如果结果不好则回头看看三个步骤哪里出了问题;如果在训练集上的正确率很好,则拿训练集来试试,如果此时在测试集上的准确率不好,则说明是过拟合了;如果在训练集和测试集都得到很好的结果话,就说明这个网络是比较nice的。 不要错怪过拟合 在上图右56层的网络的错误率比20层的还要高,不能这样就说是过拟合导致的。从上图左可以看到在训练集上20层的结果本来就比56层的就好,说明这个网络没有训练好。 训练集上的结果不好与测试集上的结果不好是不一样的,有不同的途径可以解决这些问题。比如Dropout可以用于解决由于参数多而样本少导致的过拟合问题。 针对这些问题的解决方法可以有上面几种,比如如果在训练集上的结果不好,我们可以尝试换一个激活函数。 在手写数字识别中,激活函数就从 Sigmoid 换到了 relu 。 激活函数是 Sigmoid 的情况下,当隐藏层的数量到了9,10层的时候,整个准确率就不忍直视了。见 深度学习实例——Keras实现手写数字识别 造成上面这种情况有个原因是 梯度消失问题(Vanishing Gradient Problem) 当网络很深的时候

tensorflow激活函数总结分析

故事扮演 提交于 2020-01-06 14:59:16
每个神经元都必须有激活函数。它们为神经元提供了模拟复杂非线性数据集所必需的非线性特性。该函数取所有输入的加权和,进而生成一个输出信号。你可以把它看作输入和输出之间的转换。使用适当的激活函数,可以将输出值限定在一个定义的范围内。 如果 xi 是第 j 个输入,Wj 是连接第 j 个输入到神经元的权重,b 是神经元的偏置,神经元的输出(在生物学术语中,神经元的激活)由激活函数决定,并且在数学上表示如下: 这里,g 表示激活函数。激活函数的参数 ΣWjxj​+b 被称为神经元的活动。 这里对给定输入刺激的反应是由神经元的激活函数决定的。有时回答是二元的(是或不是)。例如,当有人开玩笑的时候...要么不笑。在其他时候,反应似乎是线性的,例如,由于疼痛而哭泣。有时,答复似乎是在一个范围内。 下面整理了tensorflow中提供的激活函数: 1、sigmoid激活函数 sigmoid函数也被称为S型函数,它可以将整个实数区间映射到(0,1)区间,因此经常被用来计算概率,它也是在传统神经网络中被经常使用的一种激活函数。 sigmoid函数可以由下列公式定义 sigmoid函数对x求导的公式: sigmoid激活函数的 优点 : 1)输出的映射区间(0,1)内单调连续,非常适合用作输出层; 2)比较容易求导; 3)输出范围有限,数据不会发散 sigmoid激活函数的 缺点 : 1

pytorch 卷积核

依然范特西╮ 提交于 2020-01-04 02:21:13
3*3卷积核不降尺寸做法: self.conv_1x1_last = conv_bn_relu(nin=96, nout=96, kernel_size=3, stride=1, padding=1, bias=False) 降尺寸做法: conv_bn_relu(nin=80, nout=96, kernel_size=3, stride=2, padding=1, bias=False) 来源: CSDN 作者: ShellCollector 链接: https://blog.csdn.net/jacke121/article/details/103814824

elu

瘦欲@ 提交于 2019-12-29 20:34:37
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> ELU函数是针对ReLU函数的一个改进型,相比于ReLU函数,在输入为负数的情况下,是有一定的输出的,这部分输出还有一定的抗干扰能力。可以消除ReLU死掉的问题,但它还有梯度饱和和指数运算的问题,需要我们面对。 来源: oschina 链接: https://my.oschina.net/kaiyuancao/blog/3149290

好像还挺好玩的GAN4——Keras搭建ACGAN利用卷积给生成结果贴上标签

試著忘記壹切 提交于 2019-12-29 15:19:46
好像还挺好玩的GAN4——Keras搭建ACGAN利用卷积给生成结果贴上标签 学习前言 什么是ACGAN 神经网络构建 1、Generator 2、Discriminator 训练思路 实现全部代码 学习前言 请各位发粪图强! 什么是ACGAN ACGAN一种带条件约束的DCGAN,在生成模型(D)和判别模型(G)的建模中均引入条件变量y(conditional variable y)。 ACGAN相当于是DCGAN和CGAN的结合,将深度卷积网络和标签带入到GAN当中。 使用额外信息y对模型增加条件,可以指导数据生成过程。这些条件变量y可以基于多种信息,例如类别标签,用于图像修复的部分数据,来自不同模态(modality)的数据。 在存在类别标签的情况下,将深度卷积网络带入到GAN当中,提高图片的生成质量。 这个简单直接的改进被证明非常有效。 简单来讲,普通的GAN输入的是一个N维的正态分布随机数,而ACGAN会为这个随机数添上标签,其利用Embedding层将正整数(索引值)转换为固定尺寸的稠密向量,并将这个稠密向量与N维的正态分布随机数相乘,从而获得一个有标签的随机数。 与此同时,ACGAN将深度卷积网络带入到存在标签的GAN中,可以生成更加高质量的图片。 神经网络构建 1、Generator 生成网络的输入是一个带标签的随机数,具体操作方式是 生成一个N维的正态分布随机数

12.16日志

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-28 11:25:06
研究一下Pyramid Feature Attention Network for Saliency detection的模型代码 先是VGG16的结构 def VGG16(img_input, dropout=False, with_CPFE=False, with_CA=False, with_SA=False, droup_rate=0.3): # Block 1 #shape=(?, 256, 256, 64) x = Conv2D(64, (3, 3), activation='relu', padding='same', name='block1_conv1')(img_input) #shape=(?, 256, 256, 64) x = Conv2D(64, (3, 3), activation='relu', padding='same', name='block1_conv2')(x) C1 = x #shape=(?, 128, 128, 64) x = MaxPooling2D((2, 2), strides=(2, 2), name='block1_pool')(x) if dropout: x = Dropout(droup_rate)(x) # Block 2 # shape=(?, 128, 128, 128) x = Conv2D(128, (3,

深度学习 —— 深度前馈网络

青春壹個敷衍的年華 提交于 2019-12-28 05:03:20
6.1 XOR例子 对于如图所示的异或问题,简单的单层线性函数 f ( x , w , b ) = x T w + b f(x,w,b)=x^Tw+b f ( x , w , b ) = x T w + b 无法解决异或问题; 解决办法是增加深度,即加入隐层单元h; h = f ( 1 ) ( x , W , c ) , y = f ( 2 ) ( h , w , b ) h=f^{(1)}(x,W,c),y=f^{(2)}(h,w,b) h = f ( 1 ) ( x , W , c ) , y = f ( 2 ) ( h , w , b ) ,完整版的模型是 f ( x , W , c , w , b ) = f ( 2 ) ( f ( 1 ) ( x ) ) f(x,W,c,w,b)=f^{(2)}(f^{(1)}(x)) f ( x , W , c , w , b ) = f ( 2 ) ( f ( 1 ) ( x ) ) 。 f ( 1 ) f^{(1)} f ( 1 ) 应该是哪种函数?线性模型到目前为止都表现不错,让 f ( 1 ) f^{(1)} f ( 1 ) 也是线性的似乎很有诱惑力。可惜的是,如果 f ( 1 ) f^{(1)} f ( 1 ) 是线性的。那么前馈网络作为一个整体对于输入仍然是线性的。暂时忽略截距项,假设 f ( 1 ) ( x ) = W T