网络模型

Keras 训练一个单层全连接网络的线性回归模型

巧了我就是萌 提交于 2019-12-08 13:56:25
1、准备环境,探索数据 import numpy as np from keras.models import Sequential from keras.layers import Dense import matplotlib.pyplot as plt # 创建数据集 rng = np.random.RandomState(27) X = np.linspace(-3, 5, 300) rng.shuffle(X) # 将数据集随机化 y = 0.5 * X + 1 + np.random.normal(0, 0.05, 300) # 假设真实模型为:y = 0.5X + 1 # 绘制数据集 plt.scatter(X, y, s=0.5) plt.show() 2、准备数据训练模型 # 划分训练集和测试集 X_train, y_train = X[:400], y[:400] X_test, y_test = X[-100:], y[-100:] # 定义模型 model = Sequential () # 用 Keras 序贯模型(Sequential)定义一个单输入单输出的模型 model model.add(Dense(output_dim=1, input_dim=1)) # 通过 add()方法一层, Dense 是全连接层,第一层需要定义输入 # 设置模型参数

深度学习网络设计:十大拍案叫绝的卷积设计操作

丶灬走出姿态 提交于 2019-12-08 03:11:21
卷积的十大拍案叫绝的操作 一、卷积只能在同一组进行吗?– Group convolution Group convolution 分组卷积,最早在AlexNet中出现,由于当时的硬件资源有限,训练AlexNet时卷积操作不能全部放在同一个GPU处理,因此作者把feature maps分给多个GPU分别进行处理,最后把多个GPU的结果进行融合。 AlexNet 分组卷积的思想影响比较深远,当前一些轻量级的SOTA(State Of The Art)网络,都用到了分组卷积的操作,以节省计算量。但题主有个疑问是,如果分组卷积是分在不同GPU上的话,每个GPU的计算量就降低到 1/groups,但如果依然在同一个GPU上计算,最终整体的计算量是否不变?找了pytorch上有关组卷积操作的介绍,望读者解答我的疑问。 pytroch github EDIT: 关于这个问题,知乎用户朋友 @蔡冠羽 提出了他的见解: 我感觉group conv本身应该就大大减少了参数,比如当input channel为256,output channel也为256,kernel size为3*3,不做group conv参数为256*3*3*256,若group为8,每个group的input channel和output channel均为32,参数为8*32*3*3*32,是原来的八分之一。这是我的理解。

大众点评搜索基于知识图谱的深度学习排序实践

余生颓废 提交于 2019-12-07 17:52:22
1. 引言 挑战与思路 搜索是大众点评App上用户进行信息查找的最大入口,是连接用户和信息的重要纽带。而用户搜索的方式和场景非常多样,并且由于对接业务种类多,流量差异大,为大众点评搜索(下文简称点评搜索)带来了巨大的挑战,具体体现在如下几个方面: 意图多样 :用户查找的信息类型和方式多样。信息类型包括POI、榜单、UGC、攻略、达人等。以找店为例,查找方式包括按距离、按热度、按菜品和按地理位置等多种方式。例如用户按照品牌进行搜索时,大概率是需要寻找距离最近或者常去的某家分店;但用户搜索菜品时,会对菜品推荐人数更加敏感,而距离因素会弱化。 业务多样 :不同业务之间,用户的使用频率、选择难度以及业务诉求均不一样。例如家装场景用户使用频次很低,行为非常稀疏,距离因素弱,并且选择周期可能会很长;而美食多为即时消费场景,用户行为数据多,距离敏感。 用户类型多样 :不同的用户对价格、距离、口味以及偏好的类目之间差异很大;搜索需要能深度挖掘到用户的各种偏好,实现定制化的“千人千面”的搜索。 LBS的搜索 :相比电商和通用搜索,LBS的升维效应极大地增加了搜索场景的复杂性。例如对于旅游用户和常驻地用户来说,前者在搜索美食的时候可能会更加关心当地的知名特色商户,而对于距离相对不敏感。 上述的各项特性,叠加上时间、空间、场景等维度,使得点评搜索面临比通用搜索引擎更加独特的挑战。而解决这些挑战的方法

论文笔记:SSD:Single Shot MultiBox Detector

吃可爱长大的小学妹 提交于 2019-12-06 21:32:55
版权声明:本文为博主原创文章,未经博主允许不得转载。 论文原文: SSD title:《SSD: Single Shot MultiBox Detector》 author:Wei Liu1, Dragomir Anguelov2, Dumitru Erhan3, Christian Szegedy3Scott Reed4, Cheng-Yang Fu1, Alexander C. Abstract. 我们提出了一个用于图片中检测目标的新方法,这个方法只需要 a single deep neural network.方法取名为SSD,SSD在每一个feature map的位置上将输出空间的bounding box 离散化成一系列默认的不同横纵比和尺度的boxs。在预测的时候,网络在默认box中生成每一个object类别的分数,调节box使其更好的匹配object的形状。而且为了处理各种大小的object,网络结合了不同分辨率的各特征图。SSD相对于需要目标区域的方法来说更为简单,因为它完全消除了区域生成和随后像素或特征的重采样步骤并且将所有的计算压缩到单个网络中。这使得SSD更容易训练,并且能直接集成到需要检测成分的系统中。PASCAL VOC, COCO, 和ILSVRC数据集上的实验结果证实当提供一个统一的用于训练和推理的框架时

02 序列模型问题

自古美人都是妖i 提交于 2019-12-06 16:23:34
序列模型问题 给定一个序列, 预测下一个出现的item. 如字迹预测, 语句单词预测, 行为预测等等. LSTM 网络 Long Short Term 网络,一般就叫做 LSTM ,是一种 RNN 特殊的类型,可以学习长期依赖信息。LSTM 通过刻意的设计来避免长期依赖问题。记住长期的信息在实践中是 LSTM 的默认行为,而非需要付出很大代价才能获得的能力! LSTM前向传播算法 来源: https://www.cnblogs.com/lee3258/p/11993972.html

02 序列模型问题

非 Y 不嫁゛ 提交于 2019-12-06 16:23:26
序列模型问题 给定一个序列, 预测下一个出现的item. 如字迹预测, 语句单词预测, 行为预测等等. LSTM 网络 Long Short Term 网络,一般就叫做 LSTM ,是一种 RNN 特殊的类型,可以学习长期依赖信息。LSTM 通过刻意的设计来避免长期依赖问题。记住长期的信息在实践中是 LSTM 的默认行为,而非需要付出很大代价才能获得的能力! LSTM前向传播算法 来源: https://www.cnblogs.com/lee3258/p/11993983.html

theirs《A 2019 Guide to Speech Synthesis with Deep Learning》

和自甴很熟 提交于 2019-12-06 13:58:01
from:https://zhuanlan.zhihu.com/p/91968492 《A 2019 Guide to Speech Synthesis with Deep Learning》 人类语音的人工产生被称为语音合成。这种基于机器学习的技术适用于文本到语音,音乐生成,语音生成,启用语音的设备,导航系统以及视障人士的可访问性。 在本文中,我们将研究为深度学习而编写和开发的研究和模型架构。 但是在我们进入之前,我们需要简要概述几种特定的传统语音合成策略:拼接式(concatenative)和参数式(parametric)。 在拼接式方法中,来自大型数据库的语音用于生成新的可听语音。在需要不同风格的语音的情况下,将使用新的音频语音数据库。这限制了这种方法的可扩展性。 参数式方法使用录制的人的语音和具有可修改以更改语音的一组参数的功能。 这两种方法代表了进行语音合成的旧方法。现在,让我们看一下使用深度学习进行操作的新方法。这是我们将涵盖的研究,以研究流行的和当前的语音合成方法: WaveNet:A Generative Model for Raw Audio Tacotron:Towards End-toEnd Speech Synthesis DeepVoice 1:Real-time Neural Text-to-Speech DeepVoice 2:Multi

Improving Sequential Recommendation with Knowledge-Enhanced Memory Networks(知识图谱)

。_饼干妹妹 提交于 2019-12-06 13:04:35
本文作者:杨昆霖,2015级本科生,目前研究方向为知识图谱,推荐系统,来自中国人民大学大数据管理与分析方法研究北京市重点实验室。 引言 经常上购物网站时,注意力会被首页上的推荐吸引过去,往往本来只想买一件小商品,但却被推荐商品耗费不少时间与金钱。有时候会在想,虽然推荐商品挺吸引人的,但是它究竟为什么给出这些推荐,背后的原因却往往不得而知。本文将介绍的这篇SIGIR 2018论文提出了新的序列化推荐模型KSR(Knowledge-enhanced Sequential Recommender),利用了知识图谱与记忆网络,在提高推荐结果准确性的同时,还能捕捉更为细致的用户偏好,提高推荐系统的可解释性。 问题背景 相信推荐系统对大家并不陌生,众多互联网公司也花了大功夫在构建推荐系统上。为了给出精准的推荐,首先需要把握用户在想什么,对什么感兴趣,而这往往不是一成不变的,会随着用户在平台上的活动而日益变化。鉴于此,相较于以往的协同过滤等推荐方式,学术界提出基于时序神经模型的序列化推荐系统,利用循环神经网络RNN来捕捉用户兴趣点随着时间的动态变化。 在序列化推荐建模中,通常将用户过去的交互记录作为输入,利用隐状态向量来编码各个交互记录,以此来表示用户在序列中体现的偏好。但是,这种方法有两个不足之处: 只考虑了用户序列偏好,却忽视了细致的用户偏好,如用户具体喜欢某个物品的哪个属性等;

计算机网络,数制模型

喜欢而已 提交于 2019-12-06 07:47:36
计算机网络,数制模型 1. 案例 1:数制转换 1 案例1:数制转换 1.1 问题 1)请将下列数字转换为十进制数: (110010011111)2 、(10110101110)2 2)请将下列十进制数转换为二进制: 156、2608、1043 1.2 方案 使用按权展开法将二进制数转换为十进制数,使用短除法除 2取余计算十进制数转换为二进制数。 1.3 步骤 实现此案例需要按照如下步骤进行。 步骤一:二进制转十进制 1)二进制数110010011111,转为十进制的结果是3231,转换过程如下: 1. ( 1100 1001 1111 ) 2 2. = 1x211 + 1x210 +0x29+0x28 + 1x27 +0x26+0x25 + 1x24 + 1x23 + 1x22 + 1x21 + 1x20 3. = 2048+1024+0+0+128+0+0+16+8+4+2+1 4. = 3231 2)二进制数10110101110,转为十进制的结果是1454,转换过程如下: 1. ( 101 1010 1110 ) 2 2. = 1x210 +0x29 + 1x28 + 1x27 +0x26 + 1x25 +0x24 + 1x23 + 1x22 + 1x21 +0x20 3. = 1024+0+256+128+0+32+0+8+4+2+0 4. = 1454 步骤二

AI基础之展示

天涯浪子 提交于 2019-12-06 06:57:32
在训练完网络后,我们需要将需要识别的图片输入模型中并输出结果,下面是具体代码。 import torchfrom PIL import Imageimport torchvision.transforms as transdef testImage(): net = torch.load("models/net.pth") img = Image.open("images/car.jpg") transform = trans.Compose([ trans.Resize(32), trans.CenterCrop(32), trans.ToTensor(), trans.Normalize((0.4914, 0.4822, 0.4465),(0.2023, 0.1994, 0.2010)) ]) img = transform(img).unsqueeze(0) output = net(img.cuda()) classes = ('plane','car', 'bird','cat','deer','dog','frog','horse','ship','truck') index = output.argmax(1) print("预测结果是:{0}".format(classes[index]))testImage() 来源: https://www.cnblogs