神经网络和深度学习这一块内容与机器学习课程里Week4+5内容差不多. 这篇笔记记录了Week4+5中没有的内容. 参考笔记:深度学习笔记 神经网络和深度学习 结构化数据:如数据库里的数据 非结构化数据:hard to understand:如图像.文本 一. 深度学习的优势 算法.硬件计算能力的提高使神经网络运行速度变快 大数据(带labels的)使得神经网络精确度更高 在数据集不多的时候深度学习的优势并不是很明显,但是在大数据的情况下,辅助以好的算法和强计算能力,会使神经网络的运行速度和精确…
觉得有用的话,欢迎一起讨论相互学习~Follow Me 吴恩达采访Geoffrey Hinton NG:前几十年,你就已经发明了这么多神经网络和深度学习相关的概念,我其实很好奇,在这么多你发明的东西中,哪些你到现在为止依然保持有热情的. Hinton:我认为我觉得最具学术之美的是受限Boltzmann机器,我们认为他能用很简单很简单的算法去应用到密度很高的连接起来的网络. Hinton:我仍然认为无监督学习十分重要,当我们真正搞明白一些东西以后,结果会比现在好很多.不过目前并没有找到这种方法.…
深度学习Keras框架笔记之TimeDistributedDense类使用方法笔记 例: keras.layers.core.TimeDistributedDense(output_dim,init='glorot_uniform', activation='linear', weights=None W_regularizer=None, b_regularizer=None, activity_regularizer=None, W_constraint=None, b_constraint…
深度|神经网络和深度学习简史(第一部分):从感知机到BP算法 2016-01-23 机器之心 来自Andrey Kurenkov 作者:Andrey Kurenkov 机器之心编译出品 参与:chenxiaoqing.范娜Fiona.杨超.微胖.汪汪.赵巍 导读:这是<神经网络和深度学习简史>第一部分.这一部分,我们会介绍1958年感知机神经网络的诞生,70年代人工智能寒冬以及1986年BP算法让神经网络再度流行起来. 深度学习掀起海啸 如今,深度学习浪潮拍打计算机语言的海岸已有好几年,但是,…
[中英][吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第二周测验 第2周测验 - 神经网络基础 神经元节点计算什么? [ ]神经元节点先计算激活函数,再计算线性函数(z = Wx + b) [★]神经元节点先计算线性函数(z = Wx + b),再计算激活. [ ]神经元节点计算函数g,函数g计算(Wx + b). [ ]在 将输出应用于激活函数之前,神经元节点计算所有特征的平均值 请注意:神经元的输出是a = g(Wx + b),其中g是激活函数(sigmoid,tanh,R…
[吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第一周测验[中英] 第一周测验 - 深度学习简介 和“AI是新电力”相类似的说法是什么? [  ]AI为我们的家庭和办公室的个人设备供电,类似于电力. [  ]通过“智能电网”,AI提供新的电能. [ ]AI在计算机上运行,​​并由电力驱动,但是它正在让以前的计算机不能做的事情变为可能. [★]就像100年前产生电能一样,AI正在改变很多的行业. 请注意: 吴恩达在视频中表达了同样的观点. 哪些是深度学习快速发展的原因? (两个选项…
随着AlphaGo与李世石大战的落幕,人工智能成为话题焦点.AlphaGo背后的工作原理"深度学习"也跳入大众的视野.什么是深度学习,什么是神经网络,为何一段程序在精密的围棋大赛中可以大获全胜?人工智终将会取代人类智慧吗? <神经网络与深度学习>是一本介绍神经网络和深度学习算法基本原理及相关实例的书籍,它不是教科书,作者已尽量把公式减少到最少,以适应绝大部分人的阅读基础和知识储备.<神经网络与深度学习>涵盖了神经网络的研究历史.基础原理.深度学习中的自编码器.深…
深度学习Keras框架笔记之AutoEncoder类使用笔记 keras.layers.core.AutoEncoder(encoder, decoder,output_reconstruction=True, weights=None) 这是一个用于构建很常见的自动编码模型.如果参数output_reconstruction=True,那么dim(input)=dim(output):否则dim(output)=dim(hidden). inputshape: 取决于encoder的定义 ou…
深度学习Keras框架笔记之Dense类(标准的一维全连接层) 例: keras.layers.core.Dense(output_dim,init='glorot_uniform', activation='linear', weights=None W_regularizer=None, b_regularizer=None, activity_regularizer=None, W_constraint=None, b_constraint=None, input_dim=None) in…
如何理解归一化(Normalization)对于神经网络(深度学习)的帮助? 作者:知乎用户链接:https://www.zhihu.com/question/326034346/answer/730051338来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 回顾一下围绕normalization的一些工作(由最新到最旧的BatchNorm): 2019,Weight Standardization(没有发表,但是有大佬Alan Yuille加持) Weight…
[神经网络与深度学习]卷积神经网络(CNN) 标签:[神经网络与深度学习] 实际上前面已经发布过一次,但是这次重新复习了一下,决定再发博一次. 说明:以后的总结,还应该以我的认识进行总结,这样比较符合我认知的习惯,而不是单纯的将别的地方的知识复制过来,这样并起不到好的总结效果.相反,如果能够将自己的体会写下来,当有所遗忘时还能顺着当时总结的认识思路,重新"辨识"起来,所以,要总结,而不要搬运知识. 起初并不理解卷积神经的卷积与结构是什么,后来通过了一个比较好的例子才对卷积神经网络有了初…
[神经网络与深度学习][CUDA开发]caffe-windows win32下的编译尝试 标签:[神经网络与深度学习] [CUDA开发] 主要是在开发Qt的应用程序时,需要的是有一个使用的库文件也只是win32,死活找不到x64的库,对是gnuwin32,没有找到gnuwin64,也是哭了,于是想着是不是能够将Caffe按照win32的配置进行重新编译一番.结果可想而知,遇到了一堆的问题,很伤心,最后也没有解决,不,最后是完全将cuDNN和CUDA全部去掉后才成功的,因为cuDNN没有找到所谓的…
[神经网络与深度学习][Matlab开发]caffe-windows使能Matlab2015b接口 标签:[神经网络与深度学习] [Matlab开发] 主要是想全部来一次,所以使能了Matlab的接口,中间只出现了一个错误下面记录一下. <1> 配置CommonSettings.props中python接口 <MatlabSupport>true</MatlabSupport> <PropertyGroup Condition="'$(MatlabSup…
[神经网络与深度学习][python开发]caffe-windows使能python接口使用draw_net.py绘制网络结构图过程 标签:[神经网络与深度学习] [python开发] 主要是想用python绘制一下设计的网络结构图,以便可视化.因此在caffe-windows的工程配置中将python的选项设置为true,下面记录了整个成功绘图的过程. <1> 配置CommonSettings.props中python接口 <PythonSupport>true</Pyth…
[神经网络与深度学习][CUDA开发][VS开发]Caffe+VS2013+CUDA7.5+cuDNN配置成功后的第一次训练过程记录<二> 标签:[神经网络与深度学习] [CUDA开发] [VS开发] 紧着上一篇,我在windows上备份了三个版本的Caffe库以及visual studio 13的编译工程,主要当时是一步一步来的,想着先是only cpu,然后是支持cuda,最后是并入cuDNN.当我意识到程序要支持在没有GPU的设备上运行时,需要有不同的选择.这里主要记录关于三种不同的配置…
[神经网络与深度学习][CUDA开发][VS开发]Caffe+VS2013+CUDA7.5+cuDNN配置过程说明 标签:[Qt开发] 说明:这个工具在Windows上的配置真的是让我纠结万分,大部分都是基于Linux下进行的部署,但是Linux只是跑在虚拟机中,只为了开发ARM-Linux的人,你不会想着去在虚拟机里配置Caffe的.所以,迫不得已必须在Windows上部署,于是从BVLC下载,试着用CMAKE生成本地的VS2010工程,当然之前已经部署过CUDA7.5 toolkit了,但是…
觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.11向量化 向量化是消除代码中显示for循环语句的艺术,在训练大数据集时,深度学习算法才变得高效,所以代码运行的非常快十分重要.所以在深度学习领域中将大数据集进行向量化操作变得十分重要. 对于非向量化数据的计算,我们会使用循环去遍历整个数据集计算对应项的乘积.例如我们要计算一个数据样本,其中w和b都是一个n维向量,计算式子:\(Z=W^{T}+b\)那么我们的式子会写为: z=0 for i in range(n-x) z+=w[i]*…
学习笔记:AlexNet&Imagenet学习笔记 ImageNet(http://www.image-net.org)是李菲菲组的图像库,和WordNet 可以结合使用 (毕业于Caltech:导师:Pietro Perona:主页:http://vision.stanford.edu/~feifeili/) 总共有十万的synset, 其中2010的数据表示,有图像的非空synset是21841,每一类大约1000张图片,图片总数:14197122. Caffe中训练ImageNet使用的是…
深度学习 Introducing convolutional networks:卷积神经网络介绍 卷积神经网络中有三个基本的概念:局部感受野(local receptive fields), 共享权重( shared weights), 池化( pooling). 与前面的神经网络不同,在这里我们用下图中的矩阵来表示输入神经元. 在cnn中,输入层的一个区域(例如,5 * 5)对应下一层隐含层中的一个神经元,这个区域就是一个局部感受野.如下图所示: 通过在输入矩阵中滑动局部感受野来对应隐含层中的…
1. 应用机器学习是高度依赖迭代尝试的,不要指望一蹴而就,必须不断调参数看结果,根据结果再继续调参数. 2. 数据集分成训练集(training set).验证集(validation/development set).测试集(test set). 对于传统的机器学习算法,数据量(比如100.1000.10000),常用的分法是70%训练集/30%测试集.60%训练集/20%验证集/20%测试集. 对于大数据(比如100万),可能分法是98%训练集/1%验证集/1%测试集.99.5%训练集/0.…
1. 计算深度神经网络的时候,尽量向量化数据,不要用for循环.唯一用for循环的地方是依次在每一层做计算. 2. 最常用的检查代码是否有错的方法是检查算法中矩阵的维度. 正向传播: 对于单个样本,第i层网络 z[i] = W[i]a[i-1] + b[i], a[i] = f[i](z[i]). 其中,z[i]是n[i]*1,W[i]是n[i]*n[i-1],a[i-1]是n[i-1]*1,b[i]是n[i]*1. 对于向量化后的所有样本,第i层网络 Z[i] = W[i]A[i-1] + b…
目录 前言 第一周(深度学习引言) 第二周(神经网络的编程基础) 第三周(浅层神经网络) 第四周(深层神经网络) 前言 目标: 掌握神经网络的基本概念, 学习如何建立神经网络(包含一个深度神经网络),以及如何在数据上面训练他们,最后将用一个深度神经网络进行辨认猫. (1)了解深度学习的概念 (2)了解神经网络的结构,使用算法并高效地实现 (3)结合神经网络的算法实现框架,编写实现一个隐藏层神经网络 (4)建立一个深层的神经网络(一般把层数大于等于3的神经网络称为深层神经网络) 第一周(深度学习引…
转自:https://zhuanlan.zhihu.com/p/23006190?refer=xiaoleimlnote 前面一直在写传统机器学习.从本篇开始写一写 深度学习的内容. 可能需要一定的神经网络基础(可以参考 Neural networks and deep learning 日后可能会在专栏发布自己的中文版笔记). RCNN (论文:Rich feature hierarchies for accurate object detection and semantic segment…
出处: Michael Nielsen的<Neural Network and Deep Learning>,点击末尾“阅读原文”即可查看英文原文. 本节译者:哈工大SCIR本科生 王宇轩 声明:我们将在每周一,周四 定期连载该书的中文翻译,如需转载请联系wechat_editors@ir.hit.edu.cn,未经授权不得转载. 使用神经网络识别手写数字 反向传播算法是如何工作的 热身:一个基于矩阵的快速计算神经网络输出的方法 关于损失函数的两个假设 Hadamard积 反向传播背后的四个基…
出处: Michael Nielsen的<Neural Network and Deep Leraning>,点击末尾“阅读原文”即可查看英文原文. 本节译者:哈工大SCIR硕士生 徐伟 (https://github.com/memeda) 声明:我们将在每周一,周四,周日定期连载该书的中文翻译,如需转载请联系wechat_editors@ir.hit.edu.cn,未经授权不得转载. “本文转载自[哈工大SCIR]微信公众号,转载已征得同意.” 使用神经网络识别手写数字 感知机 sigmo…
用神经网络识别手写数字 人类的视觉系统是是大自然的奇迹.考虑下面手写数字序列: 大多数人能够轻易地是识别出是504192.在我们大脑的每个半球都有一个基础的皮质,这就是我们熟知的V1区,它包含了14亿个神经元,并有着数十亿级的神经元连接.然而人类地视觉不仅包含V1区,同时还有一系列地视觉皮质--V2,V3,V4,V5--它们进行着复杂地图像处理.我们头脑携带着一个超级计算机,经过数百万年的进化,能够很好地适应视觉的世界.识别手写数字并不容易.但是,我们人类惊人地擅长将我们所见之物转化成脑中有意义…
Chainer是一个专门为高效研究和开发深度学习算法而设计的开源框架. 这篇博文会通过一些例子简要地介绍一下Chainer,同时把它与其他一些框架做比较,比如Caffe.Theano.Torch和Tensorflow. 大多数现有的深度学习框架是在模型训练之前构建计算图. 这种方法是相当简单明了的,特别是对于结构固定且分层的神经网络(比如卷积神经网络)的实现. 然而,现在的复杂神经网络(比如循环神经网络或随机神经网络)带来了新的性能改进和新的应用.虽然现有的框架可以用于实现这些复杂神经网络,但是…
上一节我们提到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换成了两个卷积神…
本文作者 Nikolai Yakovenko 毕业于哥伦比亚大学,目前是 Google 的工程师,致力于构建人工智能系统,专注于语言处理.文本分类.解析与生成. 生成式对抗网络-简称GANs-将成为深度学习的下一个热点,它将改变我们认知世界的方式. 准确来讲,对抗式训练为指导人工智能完成复杂任务提供了一个全新的思路,某种意义上他们(人工智能)将学习如何成为一个专家. 举个对抗式训练的例子,当你试图通过模仿别人完成某项工作时,如果专家都无法分辨这项工作是你完成的还是你的模仿对象完成的,说明你已经完…
如何在Caffe中配置每一个层的结构 最近刚在电脑上装好Caffe,由于神经网络中有不同的层结构,不同类型的层又有不同的参数,所有就根据Caffe官网的说明文档做了一个简单的总结. 1. Vision Layers 1.1 卷积层(Convolution) 类型:CONVOLUTION 例子 layers { name: "conv1" type: CONVOLUTION bottom: "data" top: "conv1" blobs_lr:…