神经网络模型

TensorFlow1:简介

醉酒当歌 提交于 2020-02-05 10:17:13
1.TensorFlow是什么: TensorFlow 是一个端到端开源机器学习平台 借助 TensorFlow,初学者和专家可以在桌面、移动、网络和云端环境下创建机器学习模型。 2.TensorFlow特点: 1.跨平台(Windows, Linux, MacOS) 2.提供了TF.learn来兼容sk-learn, TF.learn是从Scikit-flow(sk-flow)烟花过来的。 3.提供了TF-Slim 库简化神经网络的构建,训练和评估; 4.在Tensorflow 之上,建立了很多独立的库,如Keras. 5. 通过TensorFlow API, 可以非常灵活地创建任何你能想到的神经网络架构。 6.包含了很多高效的,使用C++实现的机器学习API。特别时用来构建神经网络的API。 7.提供了一个非常强大的称为TensorBoard的可视化工具,可以用来查看计算图,浏览学习曲线。 3.官网: https://tensorflow.google.cn/ https://www.tensorflow.org/ 来源: CSDN 作者: 雅克在路上 链接: https://blog.csdn.net/luteresa/article/details/103788352

深层神经网络之四:神经网络进一步优化

半城伤御伤魂 提交于 2020-02-05 04:14:20
1.学习率的设置 学习率设置过大时参数将不会收敛,设定过小时虽然能保证收敛性,但是会大大降低优化速度。为解决设定学习率的问题,TensorFlow提供了一种更加灵活的学习率设置方法——指数衰减法。tf.train.exponential_decay函数实现了指数衰减学习率。通过这个函数,可以先使用较大的学习率来快速得到一个比较优的解,然后随着迭代的继续逐步减小学习率,使得模型在训练后期更加稳定。exponential_decay函数会指数级地减小学习率,它实现了以下代码的功能: decayed_learning_rate = \ learning_rate * decay_rate ^ ( global_step / decay_step ) 其中decayed_learning_rate为每一轮优化时使用的学习率,learning_rate为事先设定的初始学习率,decay_rate为衰减系数,decay_steps为衰减速度。下图显示了随着迭代轮数的增加,学习率逐步降低的过程。 tf.train.exponential_decay函数可以通过设置参数staircase选择不同的衰减方式。staircase的默认值为False,这时学习率随迭代轮数变化的趋势如上图灰色曲线所示。当staircase的值为True时,global_step / decay_steps会被转化为整数

【深度学习基础】从零开始的炼丹生活07——深度模型中的优化

喜夏-厌秋 提交于 2020-02-04 07:09:35
往期回顾: 04——从传统机器学习走向深度学习 05——深度前馈网络、神经网络概述 06——深度学习中的正则化 介绍了神经网络的基本构件和正则化策略之后,学习一下深度模型中的优化。先说一说传统的纯优化与机器学习中的优化的异同,再介绍一下神经网络中优化的挑战,最后说说基本的优化算法。(参考《深度学习》第8章) 一、机器学习中的优化 传统的优化方法是纯优化最小化目标 J 本身,而机器学习的优化是间接作用的。在机器学习问题中,我们关注某些性能度量 P ,其定义于测试集上并且是不可解的。因此机器学习希望通过降低代价函数 J(θ)来间接提高 P 。 1. 经验风险最小化 机器学习算法的目标是降低期望泛化误差 J ∗ ( θ ) = E ( x , y ) ∼ p d a t a L ( f ( x ; θ ) , y ) J^*(\theta)=\mathbb E_{(\bold {x,y})\sim p_{data}}L(f(x;\theta),y) J ∗ ( θ ) = E ( x , y ) ∼ p d a t a ​ ​ L ( f ( x ; θ ) , y ) 这被称为 风险 。此时数据取自真实的潜在分布,然而,我们遇到的问题通常并不清楚真实分布,只知道训练集中的样本。 我们将机器学习中的优化转换回一个优化问题的最简单方法就是最小化训练集上的期望损失,以训练集上的经验分布 p

图神经网络 | (6) 图分类(SAGPool)实战

落爺英雄遲暮 提交于 2020-02-04 02:28:00
近期买了一本图神经网络的入门书,最近几篇博客对书中的一些实战案例进行整理,具体的理论和原理部分可以自行查阅该书,该书购买链接: 《深入浅出的图神经网络》 。 该书配套代码 本节我们通过代码来实现基于自注意力的池化机制(Self-Attention Pooling)。来对图整体进行分类,之前我们是对节点分类,每个节点表示一条数据,学习节点的表示,进而完成分类,本节我们通过自注意力池化机制,得到整个图的表示,进而对全图进行分类(每个图表示一条数据)。 导入必要的包 import os import urllib import torch import torch.nn as nn import torch.nn.init as init import torch.nn.functional as F import torch.utils.data as data import torch.optim as optim import numpy as np import scipy.sparse as sp from zipfile import ZipFile from sklearn.model_selection import train_test_split import pickle import pandas as pd import torch_scatter #注意

机器学习——神经网络

笑着哭i 提交于 2020-02-03 13:14:44
一、神经网络: 1.1非线性假设: 无论是线性回归还是逻辑回归都有这样一个缺点,即: 当特征太多时,计算的负荷会非常大 。 使用非线性的多项式项,能够帮助我们建立更好的分类模型 ,但与此同时他们的特征组合就有很多。普通的线性模型无法处理,就需要神经网络。 1.2模型表示1 每一个神经元都可以被认为是一个处理单元/神经核( processing unit / Nucleus ),它含有许多输入/树突( input / Dendrite ),并且有一个输出/轴突( output / Axon ).神经网络是大量神经元相互链接并通过电脉冲来交流的一个网络。 每一个神经元又是一个学习模型。这些神经元(也叫激活单元, activation unit )采纳一些特征作为输出,并且根据本身的模型提供一个输出。 神经元图: 神经网络图: 其中:第一层成为输入层( Input Layer ),最后一层称为输出层( Output Layer ),中间一层成为隐藏层( Hidden Layers ) 。 一般我们为每一层都增加一个 偏差单位(bias unit) 然后每层的一个节点都有自己的权重,这样其实就是等价于一个线性模型:y=kx+b; \(a_i^{(j)}\) 代表第j层的第i个激活单元, \(\theta^{(j)}\) 代表从第j层映射到第j+1层时的权重矩阵。 对于

图神经网络 | (2) 图神经网络(Graph Neural Networks,GNN)综述

不打扰是莪最后的温柔 提交于 2020-02-01 16:21:16
原文地址 本篇文章是对 论文“Wu Z , Pan S , Chen F , et al. A Comprehensive Survey on Graph Neural Networks[J]. 2019.” 的翻译与笔记。 论文链接 目录 1. 什么是图神经网络? 2. 有哪些图神经网络? 3. 图卷积网络(Graph Convolution Networks,GCN) 4. 图注意力网络(Graph Attention Networks) 5. Graph Autoencoders 6. Graph Generative Networks 7. Graph Spatial -Temporal Networks 8. 图神经网络的应用 1. 什么是图神经网络? 在过去的几年中,神经网络的成功推动了模式识别和数据挖掘的研究。许多机器学习任务,如目标检测、机器翻译和语音识别,曾经严重依赖手工的特征工程来提取信息特征集,最近被各种端到端的深度学习范式(例如卷积神经网络(CNN)、长短期记忆(LSTM)和自动编码器)彻底改变了。在许多领域中,深度学习的成功部分归因于快速发展的计算资源(如GPU)和大量训练数据的可用性,部分归因于深度学习从欧氏空间数据中提取潜在表示的有效性。 尽管深度学习在欧氏空间中的数据方面取得了巨大的成功,但在许多实际的应用场景中的数据是从非欧式空间生成的

深度学习入门笔记(十三):批归一化(Batch Normalization)

…衆ロ難τιáo~ 提交于 2020-02-01 14:28:42
欢迎关注WX公众号:【程序员管小亮】 专栏——深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献。 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。 3)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢谢。 4)此属于第一版本,若有错误,还需继续修正与增删。还望大家多多指点。大家都共享一点点,一起为祖国科研的推进添砖加瓦。 文章目录 欢迎关注WX公众号:【程序员管小亮】 专栏——深度学习入门笔记 声明 深度学习入门笔记(十三):批归一化(Batch Normalization) 1、归一化(BN)网络的激活函数 2、将BN拟合进神经网络 3、BN为什么奏效? 4、测试时的 Batch Norm 推荐阅读 参考文章 深度学习入门笔记(十三):批归一化(Batch Normalization) 深度学习100问之深入理解Batch Normalization(批归一化) Batch Normalization简称BN。 1、归一化(BN)网络的激活函数 在深度学习兴起后,最重要的一个思想是它的一种算法,叫做 批归一化(BN) ,由 Sergey loffe 和 Christian Szegedy 两位研究者创造。 Batch

百度PaddlePaddle入门-1

谁都会走 提交于 2020-02-01 12:13:22
(以自己认知的方式学习DL。 注:下文基本上都是百度PaddlePaddle培训内容) 人工智能\机器学习和深度学习的概念及关系 人工智能、机器学习和深度学习的概念在近些年十分火热,但很多从业者也难以说清它们之间的关系,外行人更是雾里看花。学习深度学习,需要先从三个概念的正本清源开始。 三者覆盖的技术范畴是逐层递减的, 人工智能是最宽泛的概念,机器学习则是实现人工智能的一种方式 ,也是目前较有效的方式。 深度学习是机器学习算法中最热的一个分支 ,在近些年取得了显著的进展,并代替了多数传统机器学习算法。所以,三者的关系可用下图表示,人工智能 > 机器学习 > 深度学习。 图1:人工智能、机器学习和深度学习三者之间的概念范围 如字面含义,人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的科学。由于这个定义只阐述了目标,而没限定方法。所以,实现人工智能存在的诸多方法和分支,导致其变成一个“大杂烩”式的学科。 与此不同,机器学习,尤其是监督学习则有更加明确的指代。 机器学习是专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能 。这句话有点“云山雾罩”的感觉,让人不知所云。 下面以“机器从牛顿第二定律实验中学习知识”为案例,让读者深入理解下机器学习(监督学习)到底是怎样的一种技术方法

卷积神经网络(CNN)新手指南

雨燕双飞 提交于 2020-01-31 11:04:48
导语:带你了解近年来相当火爆的卷积神经网络(Convolutional Neural Network,CNN) 卷积神经网络(Convolutional Neural Network,CNN)新手指南 引言 卷积神经网络:听起来像是生物与数学还有少量计算机科学的奇怪结合,但是这些网络在计算机视觉领域已经造就了一些最有影响力的创新。2012年神经网络开始崭露头角,那一年Alex Krizhevskyj在ImageNet竞赛上(ImageNet可以算是竞赛计算机视觉领域一年一度的“奥运会”竞赛)将分类错误记录从26%降低到15%,这在当时是一个相当惊人的进步。从那时起许多公司开始将深度学习应用在他们的核心服务上,如Facebook将神经网络应用到他们的自动标注算法中,Google(谷歌)将其应用到图片搜索里,Amazon(亚马逊)将其应用到产品推荐服务,Pinterest将其应用到主页个性化信息流中,Instagram也将深度学习应用到它们的图像搜索架构中。 然而最经典的,或者说最流行的神经网络使用范例是将其用于图像处理领域。提到图像处理,本文主要介绍的是如何使用卷积神经网络来进行图像分类。 问题空间 图像分类是将输入图像(猫、狗等)进行分类输出或者将其分类成最能描述图像特征的类别的任务。对于人类来说,认知是我们出生之后就学会的第一个技能,也是作为成年人来说非常自然和轻松的技能

想了解递归神经网络?这里有一份入门教程

久未见 提交于 2020-01-31 11:04:32
导语:递归网络是一类人工神经网络,用于识别诸如文本、基因组、手写字迹、语音等序列数据的模式,或用于识别传感器、股票市场、政府机构产生的数值型时间序列数据。 递归神经网络入门教程 引言 递归神经网络是一类人工神经网络,可用于识别诸如文本、基因组、手写字迹、语音等序列数据的模式,也可用于识别传感器、股票市场、政府机构产生的数值型时间序列数据。递归网络可以说是最强大的神经网络,甚至可以将图像分解为一系列图像块,作为序列加以处理。由于递归网络拥有一种特定的记忆模式,而记忆也是人类的基本能力之一,所以下文会时常将递归网络与人脑的记忆活动进行类比。 前馈网络回顾 要理解递归网络,首先需要了解前馈网络的基础知识。这两种网络的名字都来自于它们通过一系列网络节点数学运算来传递信息的方式。前馈网络将信息径直向前递送(从不返回已经过的节点),而递归网络则将信息循环传递。 在前馈网络中,样例输入网络后被转换为一项输出;在进行有监督学习时,输出为一个标签。也就是说,前馈网络将原始数据映射到类别,识别出信号的模式,例如一张输入图像应当给予“猫”还是“大象”的标签。 我们用带有标签的图像定型一个前馈网络,直到网络在猜测图像类别时的错误达到最少。将参数,即权重定型后,网络就可以对从未见过的数据进行分类。已定型的前馈网络可以接受任何随机的图片组合,而输入的第一张照片并不会影响网络对第二张照片的分类