网络模型

3、深度学习基础

天涯浪子 提交于 2019-11-26 10:50:35
3.1 基本概念 3.1.1 神经网络组成 神经网络类型众多,其中最为重要的是多层感知机。为了详细地描述神经网络,我们先从最简单的神经网络说起。 感知机 多层感知机中的特征神经元模型称为感知机,由Frank Rosenblatt于1957年发明。 简单的感知机如下图所示: 其中$x_1$,$x_2$,$x_3$为感知机的输入,其输出为: $ output = \left{ \begin{aligned} 0, \quad if \ \ \sumi wi xi \leqslant threshold \ 1, \quad if \ \ \sumi wi xi > threshold \end{aligned} \right. $ 假如把感知机想象成一个加权投票机制,比如 3 位评委给一个歌手打分,打分分别为$ 4 $分、$1$ 分、$-3 $分,这$ 3$ 位评分的权重分别是 $1、3、2$,则该歌手最终得分为 $4 \times 1 + 1 \times 3 + (-3) \times 2 = 1$ 。按照比赛规则,选取的 $threshold$ 为 $3$,说明只有歌手的综合评分大于$ 3$ 时,才可顺利晋级。对照感知机,该选手被淘汰,因为: $$ \sumi wi x_i < threshold=3, output = 0 $$ 用 $-b$ 代替 $threshold$

DCGAN及其TensorFlow源码

本小妞迷上赌 提交于 2019-11-26 04:00:31
上一节我们提到G和D由多层感知机定义。深度学习中对图像处理应用最好的模型是CNN,那么如何把CNN与GAN结合?DCGAN是这方面最好的尝试之一。源码: https://github.com/Newmu/dcgan_code 。DCGAN论文作者用theano实现的,他还放上了其他人实现的版本,本文主要讨论tensorflow版本。 TensorFlow版本的源码: https://github.com/carpedm20/DCGAN-tensorflow DCGAN把上述的G和D换成了两个卷积神经网络(CNN)。但不是直接换就可以了,DCGAN对卷积神经网络的结构做了一些改变,以提高样本的质量和收敛的速度,这些改变有: 取消所有pooling层。G网络中使用转置卷积(transposed convolutional layer)进行上采样,D网络中用加入strided的卷积代替pooling。 在D和G中均使用batch normalization 去掉FC层,使网络变为全卷积网络 G网络中使用ReLU作为激活函数,最后一层使用tanh D网络中使用LeakyReLU作为激活函数 这些改变在代码中都可以看到。DCGAN论文中提到对CNN结构有三点重要的改变: Allconvolutional net (Springenberg et al., 2014) 全卷积网络 判别模型D

动手学PyTorch | (28) 残差网络(ResNet)

给你一囗甜甜゛ 提交于 2019-11-26 03:57:04
让我们先思考一个问题:对神经网络模型添加新的层,充分训练后的模型是否只可能更有效地降低训练误差?理论上,原模型解的空间只是新模型解的空间的子空间。也就是说,如果我们能将新添加的层训练成恒等映射f(x) =x,新模型和原模型将同样有效。由于新模型可能得出更优的解来拟合训练数据集,因此添加层似乎更容易降低训练误差。然⽽在实践中,添加过多的层后训练误差往往不降反升。即使利用批量归⼀化带来的数值稳定性使训练深层模型更加容易,该问题仍然存在。针对这一问题,何恺 明等⼈提出了残差网络(ResNet) 。它在2015年的ImageNet图像识别挑战赛夺魁,并深刻影响了后来的深度神经网络的设计。 目录 1. 残差块 2. ResNet模型 3. 获取数据和训练模型 4. 小结 1. 残差块 让我们聚焦于神经⽹络局部。如下图所示,设输入为x。假设我们希望学出的理想映射为f(x),从⽽作为下图上方激活函数的输入。左图虚线框中的部分需要直接拟合出该映射f(x),⽽右图虚线框中的部分则需要拟合出有关恒等映射的残差映射f(x)-x.残差映射在实际中往往更容易优化。以本节开头提到的恒等映射作为我们希望学出的理想映射f(x).我们只需将下图中右图虚线框内上方的加权运算(如仿射)的权􏰀重和偏差参数学成0,那么f(x)即为恒等映射。实际中,当理想映射f(x)极接近于恒等映射时,残差映射也易于捕捉恒等映射的细微波动

bert今生前世全总结

半腔热情 提交于 2019-11-26 01:35:27
一、Bert简介 谷歌AI实验室的BERT深刻影响了NLP的格局。 BERT之后,许多NLP架构、训练方法与语言模型如雨后春笋般涌现,比如谷歌的TransformerXL、OpenAI’s GPT-2、 XLNet、ERNIE2.0、 RoBERTa等。 BERT团队对该框架的描述: BERT全称Bidirectional Encoder Representations from Transformers(Transformers的双向编码表示),对未标注的文本,通过上下文约束预训练深层双向表示。训练完成后,只需要对BERT预训练模型进行fine-tune,再加上针对特定任务的输出层就可以取得SOTA(state of the art)结果。 BERT是在大量的未标注文本上预训练得到,包括整个Wikipedia(25亿单词)和图书语料库(8亿单词)。 BERT最吸引人的在于,我们仅仅通过在模型后根据自己的需求加上输出层部分就可以在各类NLP任务取得SOTA结果。 二、从Word Embedding到Bert 1. 图像预处理 自从深度学习火起来后,预训练过程就是做图像或者视频领域的一种比较常规的做法,有比较长的历史了,而且这种做法很有效,能明显促进应用的效果。 预处理过程如上图: 我们设计好网络结构以后,对于图像来说一般是CNN的多层叠加网络结构

VGG卷积神经网络模型解析

僤鯓⒐⒋嵵緔 提交于 2019-11-26 00:20:38
VGG卷积神经网络模型解析 一:VGG介绍与模型结构 VGG全称是Visual Geometry Group属于牛津大学科学工程系,其发布了一些列以VGG开头的卷积网络模型,可以应用在人脸识别、图像分类等方面,分别从VGG16~VGG19。VGG研究卷积网络深度的初衷是想搞清楚卷积网络深度是如何影响大规模图像分类与识别的精度和准确率的,最初是VGG-16号称非常深的卷积网络全称为(GG-Very-Deep-16 CNN),VGG在加深网络层数同时为了避免参数过多,在所有层都采用3x3的小卷积核,卷积层步长被设置为1。VGG的输入被设置为224x244大小的RGB图像,在训练集图像上对所有图像计算RGB均值,然后把图像作为输入传入VGG卷积网络,使用3x3或者1x1的filter,卷积步长被固定1。VGG全连接层有3层,根据卷积层+全连接层总数目的不同可以从VGG11 ~ VGG19,最少的VGG11有8个卷积层与3个全连接层,最多的VGG19有16个卷积层+3个全连接层,此外VGG网络并不是在每个卷积层后面跟上一个池化层,还是总数5个池化层,分布在不同的卷积层之下,下图是VGG11 ~GVV19的结构图: 考虑到整个网络的精简结构显示,ReLU激活函数并没有被显示在上述结构中。上述结构中一些说明: conv表示卷积层 FC表示全连接层 conv3表示卷积层使用3x3 filters

通过实例理解Java网络IO模型

天大地大妈咪最大 提交于 2019-11-25 22:17:37
网络IO模型里有多个概念比较难理解,本文通过用Java实现一个简单的redis,从最简单的单线程单连接到NIO与netty,介绍不同的IO模型。 网络IO模型及分类 网络IO模型是一个经常被提到的问题,不同的书或者博客说法可能都不一样,所以没必要死抠字眼,关键在于理解。 Socket连接 不管是什么模型,所使用的socket连接都是一样的。 以下是一个典型的应用服务器上的连接情况。客户的各种设备通过Http协议与Tomcat进程交互,Tomcat需要访问Redis服务器,它与Redis服务器也建了好几个连接。虽然客户端与Tomcat建的是短连接,很快就会断开,Tomcat与Redis是长连接,但是它们本质上都是一样的。 建立一个Socket后,就是"本地IP+port与远端IP+port"的一个配对,这个Socket由应用进程调用操作系统的系统调用创建,在内核空间会有一个与之对应的结构体,而应用程序拿到的是一个文件描述符(File Describer),就跟打开一个普通的文件一样,可以读写。不同的进程有自己的文件描述符空间,比如进程1中有个socket的fd为100,进程2中也有一个socket的fd为100,它们对应的socket是不一样的(当然也有可能一样,因为socket也可以共享)。 Socket是全双工的,可以同时读和写。 对于不同的应用场景

分布式主动感知在智能运维中的实践|分享实录

泄露秘密 提交于 2019-11-25 20:29:50
内容来源:宜信研发架构师肖云朋老师于WOT峰会分享《分布式主动感知在智能运维中的实践》 导读:企业数字化使得运维智能化转型成为必然,宜信积极推动 AIOps 在科技金融企业的落地实践。本次主题是探索 AIOps 落地的一种形式:通过行为采集、仿真模拟、主动感知等手段,从用户侧真实系统使用体验出发,结合全维监控数据,更加有效的实现智能异常检测和根因分析。 一、运维的发展 1.1 运维的价值 早期的运维工作比较简单,一般是先由系统集成工程师及研发工程师研发完项目后交付出来,再由负责运维工作的人员从后台做一些操作,保证系统正常运行。 图1 随着软件研发行业和技术的发展,运维的工作也变得越来越丰富。现阶段运维的工作与价值主要集中在三个方面: 1)效率 大量业务上线,运维人员需要保障快速高效地为系统提供资源、应对业务变更、响应操作请求。 2)质量 运维的目标是保障质量及系统的稳定性。也就是说,要保障业务和系统7*24小时在线上稳定运行,为用户提供流畅舒适的体验。为实现这个目标,运维的相关工作包括: 故障预测:没出现问题之前预测到故障发生的可能。 异常检测:出现问题时很快检测并定位到异常点。 根因分析:分析问题的诱因,找出真正导致问题的根本原因。 动态扩容:问题处理的过程中可能受到复杂因素的影响,需要对系统进行动态扩容。 服务降级:不影响核心业务的边缘业务可能需要做服务降级处理。 3)成本

Collaborative Spatioitemporal Feature Learning for Video Action Recognition

六月ゝ 毕业季﹏ 提交于 2019-11-25 18:58:52
Collaborative Spatioitemporal Feature Learning for Video Action Recognition 摘要 时空特征提取在视频动作识别中是一个非常重要的部分。现有的神经网络模型要么是分别学习时间和空间特征(C2D),要么是不加控制地联合学习时间和空间特征(C3D)。 作者提出了一个新颖的neural操作,它通过在可学习的参数上添加权重共享约束来将时空特征encode collaboratively。 特别地,作者沿着体积视频数据的三个正交视图进行二维卷积,这样分别学到了空间表观线索和时间动作线索。 通过在不同视角共享卷积核,空间和时间特征可以协作地被学习到并且互相优化,然后通过加权求和融合互补特征,加权求和的系数是端到端学习到的。 算法性能达到了state-of-the-art的效果并在Moments in Time Challenge2018中夺冠。 基于在不同视角中学到的系数,作者量化了空间和时间特征的贡献,这个分析为模型提供了一定的可解释性,也许为将来的视频识别算法设计提供了一定的指导。 一、引言 时空特征的联合学习对于动作识别任务非常关键,空间特征的提取与图像识别任务类似,可以很轻松地提取出来,但是仍有两个问题没有被解决,一个是如何去学习时间特征,另一个问题是如何将空间特征和时间特征很好地结合起来。解决上述问题有几种尝试:1