神经网络算法

人工智能、机器学习、深度学习,三者之间的同心圆关系

倖福魔咒の 提交于 2020-01-04 08:39:27
转载至( https://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650717606&idx=4&sn=b94b58d4fe75c1a1e42274720a269a99&scene=21#wechat_redirect ), 理解三者之间关系的最简便方法就是将它们视觉化为一组同心圆——首先是最大的部分人工智能——然后是后来兴旺的机器学习——最后是促使当下人工智能大爆发的深度学习——在最里层。 从萧条到繁荣 自从 1956 年 几个计算机科学家在达 特茅斯会议 上聚集并开辟了人工智能这一领域,人工智能就进入了我们的想象,并在实验研究中进行着酝酿。在过去的几十年里,人工智能以及轮番被誉为人类文明取得最美好未来的关键,或者是作为一个头脑发烧的轻率概念被扔进了科技垃圾堆中。坦白说直到 2012 年,它就这样在二者之间交杂。 过去的几年里,尤其 从 2015 年开始,人工智能开始爆发 了。这很大程度上 与 GPU 的广泛应用有关 ,为了使并行处理更快、更便宜、更强大。这也与近乎无限的存储能力和各类数据洪流(所有的大数据运动)——图像、文本、交易、测绘数据,只要你说得出来——一道进行。 让我们梳理一遍计算机科学家是如何从萧条——直到 2012 年——到繁荣,开发出每天由成千上百万的人使用的应用。 人工智能—— 机器诠释的人类智能 回到

浅谈chainer框架

会有一股神秘感。 提交于 2019-12-27 10:30:35
一 chainer基础 Chainer是一个专门为高效研究和开发深度学习算法而设计的开源框架。 这篇博文会通过一些例子简要地介绍一下Chainer,同时把它与其他一些框架做比较,比如Caffe、Theano、Torch和Tensorflow。 大多数现有的深度学习框架是在模型训练之前构建计算图。 这种方法是相当简单明了的,特别是对于结构固定且分层的神经网络(比如卷积神经网络)的实现。 然而,现在的复杂神经网络(比如循环神经网络或随机神经网络)带来了新的性能改进和新的应用。虽然现有的框架可以用于实现这些复杂神经网络,但是它们有时需要一些(不优雅的)编程技巧,这可能会降低代码的开发效率和可维护性。 而Chainer的方法是独一无二的:即在训练时“实时”构建计算图。 这种方法可以让用户在每次迭代时或者对每个样本根据条件更改计算图。同时也很容易使用标准调试器和分析器来调试和重构基于Chainer的代码,因为Chainer使用纯Python和NumPy提供了一个命令式的API。 这为复杂神经网络的实现提供了更大的灵活性,同时又加快了迭代速度,提高了快速实现最新深度学习算法的能力。 以下我会介绍Chainer是如何工作的,以及用户可以从中获得什么样的好处。 Chainer 是一个基于Python的独立的深度学习框架。 不同于其它基于Python接口的框架(比如Theano和TensorFlow

深度学习之Batch Normalization

China☆狼群 提交于 2019-12-27 10:11:30
在机器学习领域中,有一个重要的假设:独立同分布假设,也就是假设训练数据和测试数据是满足相同分布的,否则在训练集上学习到的模型在测试集上的表现会比较差。而在深层神经网络的训练中,当中间神经层的前一层参数发生改变时,该层的输入分布也会发生改变,也就是存在内部协变量偏移问题(Internal Covariate Shift),从而造成神经层的梯度消失,模型收敛过慢的问题。 Batch Normalization(BN,批量标准化)就是一种解决内部协变量偏移问题的方法,它通过对神经网络的中间层进行逐层归一化,让每一个中间层输入的分布保持稳定,即保持同一分布。 下面从以下四个方面来深入理解Batch Normalization的原理。 1、内部协变量偏移问题 2、训练时的Batch Normalization 3、推断时的Batch Normalization 4、Batch Normalization的优点 一、内部协变量偏移问题 1、内部协变量偏移问题的产生 在传统机器学习中,一个常见的问题是协变量偏移(Covariate Shift),大致的意思就是数据会随着时间而变化,用旧数据训练好的模型去预测新数据时,结果可能会不准确。输入数据可以看做是协变量,机器学习算法要求输入数据在训练集和测试集上满足同分布,这样把模型用来预测新的数据,才能有较好的结果。 而深层神经网络中的内部协变量偏移

数据挖掘之神经网络SOM算法

不打扰是莪最后的温柔 提交于 2019-12-27 05:40:04
/*神经网络SOM算法思想:分为输入层和竞争层,输入层就是样本的输入,假如我现在有5个样本A,B,C,D,E,他们是5维向量,竞争层是10*10的二维平面,相当于100个神经元,这些神经元也是5维向量,这些神经元对输入向量进行竞争,最后只有一个神经元获胜,越是与输入向量相似,竞争力越强,假如现在位于(7,8)的神经元最相似,它有权力去修改以它为中心的神经元的值,越靠近它的神经元影响越大,越是接近获胜神经元。假如样本A对应的获胜神经元是(7,8),B对应的获胜神经元是(6,8),因为这两个神经元靠得很近,所以样本A和B很相似。如果C对应的获胜神经元是(1,1),与另外两个距离比较远,所以C与A,B相似度较低。 */#include<fstream.h> #include<iomanip.h> #include<stdio.h> #include<cstdlib.h> #include<math.h> using namespace std; #define InputLayerNum 35 #define OutputLayerRow 8 #define OutputLayerColumn 12 #define total_iteration_Num 80 #define error_limit 0.0001 #define efficiency 0.9 int i,j,k,l,m

记工商银行软件开发中心北京研发部面试——人工智能研发岗

走远了吗. 提交于 2019-12-25 02:28:09
1.项目经历 见仁见智 2.神经网络 引申到关联规则挖掘 3.频繁项集挖掘过程 连接和剪枝(逻辑不是很清晰,感觉之后要将自己的研究逻辑理清,语言畅通) 4.神经网络是否接触 神经网络可以考虑自学一下了,毕竟之前二院的前辈也跟我说过,学习一下这方面的东西 5.KTT解释,优化算法相关 明明研究了这么久,结果面试要说的时候,一时语塞了,看来还是没弄明白。 解释:见我的另一篇博客: https://www.cnblogs.com/10081-AA/p/10952165.html 来源: https://www.cnblogs.com/10081-AA/p/10948454.html

反向传播

好久不见. 提交于 2019-12-23 19:50:13
说明 学习深度学习的过程中,遇到了一个用例子讲解反向传播算法的博文,简单粗暴容易理解,很适合我这种小白,所以打算翻译一下分享,英文水平有限,翻译不对的地方请告知。 原文地址在这 。下面是译文。 背景 反向传播在神经网络的训练中是一种经常被用到的算法。关于反向传播算法网上有很多讲解,但是很少有用真实的数字为大家举例子来解释的。在本篇博文中,我将努力用一个具体的例子来解释反向传播是怎样工作的,为了确定自己理解的是否正确,大家可以先按照自己的理解算一下。 如果这篇博文吸引到了你,你可以注册 我的时事通讯 ,在里面会张贴一些我正在研究的人工智能相关的博文。 在Python中使用反向传播 你也可以用 我写的Python脚本 玩一玩,程序已经实现了反向传播算法。 反向传播算法可视化 对于展示一个神经网络训练的交互式可视化,大家可以来我的 神经网络可视化 看一下。 一些其他的资源 如果你觉得这个教程对你是有用的且想继续学习关于神经网络的知识和它们的应用,我强烈推荐Adrian Rosebrock的教程,G etting Started with Deep Learning and Python. 总览 这个教程,我们打算用两个输入节点、两个隐藏节点和两个输出节点。另外,输出节点和隐藏节点将会包含一个偏置。(这个地方,我感觉应该是输入节点和输出节点,但是还是按照原文翻译了。) 下面是一个基本的架构

深度剖析YOLO系列的原理

和自甴很熟 提交于 2019-12-22 17:13:31
深度剖析YOLO系列的原理 小说阅读网 https://www.7wx.org/ 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/12072225.html 目录 1. YOLO的作用 2. YOLO(v1,v2,v3)的技术演化 1. YOLO的作用 yolo是当前目标检测最顶级的算法之一,v1版本是2016年提出来的,v2是2017年提出来的,v3是2018年提出的。 官网地址:https://pjreddie.com/darknet/yolo/ 说它最牛掰,有两点: 一是因为它采用深层卷积神经网络,吸收了当前很多经典卷积神经网络架构的优秀思想,在位置检测和对象的识别方面, 性能达到最优(准确率非常高的情况下还能达到实时检测)。 二是因为作者还将代码开源了。真心为作者这种大公无私的心胸点赞。 美中不足的是:作者虽然将代码开源,但是在论文介绍架构原理的时候比较模糊,特别是对一些重要改进,基本上是一笔带过。 现在在网络上有很多关于YOLO原理的讲解,个人感觉讲得不是很清楚,总感觉有点知其然而不知其所以然。比如: yolo是在什么背景下出现的? v1是在哪个经典网络架构上发展起来的?解决了什么问题?又存在什么问题? v2针对v1的缺点做了哪些改进?改进后效果怎么样?又存在什么问题?

图神经网络(GNN)

一世执手 提交于 2019-12-18 04:21:54
新智元报道 来源:towardsdatascience 作者:黃功詳 Steeve Huang 编辑:肖琴 【新智元导读】 图神经网络(GNN)在各个领域越来越受欢迎,本文介绍了图神经网络的基本知识,以及两种更高级的算法:DeepWalk和GraphSage。 最近,图神经网络 (GNN) 在各个领域越来越受到欢迎,包括社交网络、知识图谱、推荐系统,甚至生命科学。 GNN 在对图形中节点间的依赖关系进行建模方面能力强大,使得图分析相关的研究领域取得了突破性进展。本文旨在介绍图神经网络的基本知识,以及两种更高级的算法: DeepWalk 和 GraphSage 。 图 (Graph) 在讨论 GNN 之前,让我们先了解一下什么是 图 (Graph) 。在计算机科学中,图是由两个部件组成的一种数据结构: 顶点 (vertices) 和 边 (edges) 。一个图 G 可以用它包含的顶点 V 和边 E 的集合来描述。 边可以是 有向的 或 无向的 ,这取决于顶点之间是否存在方向依赖关系。 一个有向的图 (wiki) 顶点通常也被称为 节点 (nodes) 。在本文中,这两个术语是可以互换的。 图神经网络 图神经网络是一种 直接 在图结构上运行 的神经网络。GNN 的一个典型应用是 节点分类 。本质上,图中的每个节点都与一个标签相关联,我们的目的是预测没有 ground-truth

【学习笔记】卷积神经网络

核能气质少年 提交于 2019-12-18 02:05:42
目录 人工神经网络VS卷积神经网络 卷积神经网络CNN 卷积层 新的激活函数-Relu Pooling计算 Mnist数据集卷积网络实现 人工神经网络VS卷积神经网络 参数太多,在cifar-10的数据集中,只有32*32*3,就会有这么多权重,如果说更大的图片,比如200*200*3就需要120000多个,这完全是浪费。 没有利用像素之间位置信息,对于图像识别任务来说,每个像素与周围的像素都是联系比较紧密的。 网络层数限制 我们知道网络层数越多其表达能力越强,但是通过梯度下降方法训练深度人工神经网络很困难,因为全连接神经网络的梯度很难传递超过3层。因此,我们不可能得到一个很深的全连接神经网络,也就限制了它的能力。 那么,卷积神经网络又是怎样解决这个问题的呢?主要有三个思路: 局部连接:这个是最容易想到的,每个神经元不再和上一层的所有神经元相连,而只和一小部分神经元相连。这样就减少了很多参数。 权值共享:一组连接可以共享同一个权重,而不是每个连接有一个不同的权重,这样又减少了很多参数。 下采样:可以使用Pooling来减少每层的样本数,进一步减少参数数量,同时还可以提升模型的鲁棒性。对于图像识别任务来说,卷积神经网络通过尽可能保留重要的参数,去掉大量不重要的参数,来达到更好的学习效果 卷积神经网络CNN 卷积神经网络与上一篇文章中的普通神经网络非常相似

深度学习笔记目录

不问归期 提交于 2019-12-16 15:53:10
第一周:深度学习引言(Introduction to Deep Learning) 1.1 欢迎(Welcome) 1 1.2 什么是神经网络?(What is a Neural Network) 1.3 神经网络的监督学习(Supervised Learning with Neural Networks) 1.4 为什么神经网络会流行?(Why is Deep Learning taking off?) 1.5 关于本课程(About this Course) 1.6 课程资源(Course Resources) 1.7 Geoffery Hinton 专访(Geoffery Hinton interview) 第二周:神经网络的编程基础(Basics of Neural Network programming) 2.1 二分类(Binary Classification) 2.2 逻辑回归(Logistic Regression) 2.3 逻辑回归的代价函数(Logistic Regression Cost Function) 2.4 梯度下降(Gradient Descent) 2.5 导数(Derivatives) 2.6 更多的导数例子(More Derivative Examples) 2.7 计算图(Computation Graph) 2.8 计算图导数