
图像与神经网络
微电子学与固体电子学-俞驰
如切如磋,如琢如磨,臻于至善。
展开
-
Difference of Deep linear/ no linear neural networks
according[1]:Reference:[1]https://www.quora.com/What-does-it-mean-by-deep-linear-no-linear-neural-networks转载 2019-11-14 20:38:29 · 280 阅读 · 0 评论 -
卷积神经网络VGG16权重数量的计算和理解(转载)
VGG16网络结构是:_________________________________________________________________Layer(type)OutputShapeParam#=======================================================...转载 2019-11-02 20:44:42 · 3411 阅读 · 0 评论 -
神经网络optimizer的发展历史整理
optimizer名字论文出处作者发表时间Gradient DescentMéthode générale pour la résolution des systèmes d’équations simultanées(法文)Cauchy, Augustin1847SGD早期形式《A Stochastic Approximation Method》 The A...原创 2019-07-05 16:41:26 · 591 阅读 · 0 评论 -
《On the Momentum Term in Gradient Descent Learning Algorithm》原文解读
md2wdt2+μdwdt=−∇wE(w)m \frac{d^{2} \mathbf{w}}{d t^{2}}+\mu \frac{d \mathbf{w}}{d t}=-\nabla_{\mathbf{w}} E(\mathbf{w})mdt2d2w+μdtdw=−∇wE(w)原创 2019-07-06 17:44:42 · 1405 阅读 · 0 评论 -
为什么keras和tensorflow的adadelta源码中有学习率lr
源码的注释里面写了,默认lr为1,所以等效为该实现与学习率lr无关,并且注释里面让用户没事儿别修改,相关代码如下:new_p = p - lr * update另外,Google上有人吐槽这个optimizer虽然收敛快,但是容易局部最优。以下两个参考链接是国外的网友对这个学习率的讨论: https://stackoverflow.com/questions/4...转载 2019-07-04 16:24:35 · 749 阅读 · 0 评论 -
Batch Normalization原文详细解读
这篇博客分为两部分,一部分是[3]中对于BN(Batch Normalization的缩写)的大致描述一部分是原文[1]中的完整描述、####################先说下书籍[3]############################################Batch Normalization首次在[1]中提出,原文中没有给出具体的图示。我们先来归纳下[3]中提到的...原创 2019-07-03 15:25:05 · 1781 阅读 · 0 评论 -
softmax函数上溢出和下溢出(转载+自己理解)
《Deep Learning》(Ian Goodfellow & Yoshua Bengio & Aaron Courville)第四章「数值计算」中,谈到了上溢出(overflow)和下溢出(underflow)对数值计算的影响,并以softmax函数和log softmax函数为例进行了讲解。这里我再详细地把它总结一下。『1』什么是下溢出(underflow)和上溢出(ov...转载 2019-06-24 19:26:02 · 1860 阅读 · 0 评论 -
饱和非线性(saturating nonlinearities)和非饱和非线性(non-saturating nonlinearities)的区别(转载)
其实我是在:<Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift>看到这两个词语的转载内容如下:在论文《 ImageNet Classification with Deep Convolutional Neural Networks》中描述激活函数...转载 2019-06-26 18:47:04 · 1417 阅读 · 0 评论 -
关于softmax loss这个概念
注意:网上有很多softmax loss指的是:softmax layer with cross entropy loss.但是:softmax layer with cross entropy loss≠cross entropy loss因为cross entropy loss不仅仅可以用于softmax的输出端。那么文献中有没有提到“softmax loss”,有的:<Co...转载 2019-06-04 19:00:27 · 859 阅读 · 0 评论 -
为什么不同的深度学习框架要使用不同的保存格式(转)
解析性能序列化之空间开销转载 2019-06-01 12:50:54 · 352 阅读 · 0 评论 -
牛顿法中为何出现hessian矩阵
牛顿法包含两种用途:1.函数为0时的解2.函数极值时的解对于1有:f′(x0)=f(x0)−0x−x0f'(x_0)=\frac{f(x_0)-0}{x-x_0}f′(x0)=x−x0f(x0)−0对于2有:f′′(xn)=0−f′(xn)xn+1−xnf''(x_n)=\frac{0-f'(x_n)}{x...原创 2019-07-21 16:02:56 · 516 阅读 · 0 评论 -
语义分割和实例分割以及目标检测的区别(转)
[1]中的语义分割的含义:所谓语义分割,就是机器自动从图像中分割出对象区域,并识别其中的内容Reference:[1]http://www.elecfans.com/d/712764.html...转载 2019-10-06 21:47:46 · 2893 阅读 · 0 评论 -
Adam是RmsProp和momentum算法的结合(列表比较)
RmsPropMomentumAdamsdw=βsdw+(1−β)dW2{s_{dw}} = \beta {s_{dw}} + (1 - \beta )d{W^2}sdw=βsdw+(1−β)dW2sdb=βsdb+(1−β)db2{s_{db}} = \beta {s_{db}} + (1 - \beta )d{b^2}sdb=βsdb+(1−β)db2vdw=β...原创 2019-09-29 17:13:22 · 953 阅读 · 3 评论 -
python绘制神经网络(转载)
转载自http://blog.youkuaiyun.com/rtygbwwwerr/article/details/50937643代码是别人写的,研究了下详细的用法,如下:makeNN.pyimport os import sysimport platformfrom string import Templatedef makeNode(index,start=0,shap...转载 2017-06-16 19:29:35 · 616 阅读 · 0 评论 -
数据建模中的大坑判断
上述图形使用的是百度的思维导图.因为有些公司对于人工智能技术非常的脑热,认为只要招人给钱就能通吃包打天下,这个其实是不对的行为.不可以建立模型的数据举例:例如根据学生翻动ppt次数来判断他的学业成绩,然后进行建模.(明显扯淡对不?但是却通过了国家973计划)数据不可获取的情况举例:不打标签的,初创公司数据不够但是想搞深度学习的.非线性规律:因为神经网络对特征进行组合只能满足线性组合...原创 2019-08-15 14:30:09 · 333 阅读 · 0 评论 -
Jacobian vector products(转载+翻译+代码+解读)
--------------------------序-----------------------------------------------主要针对[1]提到的"Jacobian向量积"这篇文章的核心思想就是:code2.py的代码比code1.py的代码运行更快.运行环境:Ubuntu18.10Jupyter Notebook(python3.6)注意不要使用终端运行下面的...原创 2019-08-10 20:30:37 · 1017 阅读 · 0 评论 -
theano中的vector和dvector
>>> x = T.dvector('x')>>> type(x)<class 'theano.tensor.var.TensorVariable'>>>> x = T.vector('x')>>> type(x)<class 'theano.tensor.var.TensorVariable'&g...原创 2019-08-09 21:35:30 · 549 阅读 · 0 评论 -
直观理解神经网络和梯度下降
来张图吧Repeat{for j=1 to m{theta_i = theta_i - alpha * J’(theta) # 这个就是上面写的更新公式}}好了这个和神经网络的反向传播啥关系呢?上面的J’改成链式法则,就是神经网络里面的反向传播了。...原创 2019-07-23 08:03:55 · 565 阅读 · 0 评论 -
Rosenbrock函数到底什么用
Rosenbrock函数是一个用来测试最优化算法性能的非凸函数Rosenbrock函数的每个等高线大致呈抛物线形,其全域最小值也位在抛物线形的山谷中(香蕉型山谷)。很容易找到这个山谷,但由于山谷内的值变化不大,要找到全域的最小值相当困难。这个意思就是说,测试优化算法如何的方式是:用优化算法对RosenBrock函数进行测试,看看效果咋样.Reference:[1]...转载 2019-07-22 19:09:20 · 5340 阅读 · 0 评论 -
神经网络中的病态曲率-Pathological Curve-举例
指的其实是SCHAFFER FUNCTION公式如下:图形如下:[1]单目标优化问题 常用的 测试函数原创 2019-07-31 15:06:33 · 1180 阅读 · 0 评论 -
softmax with cross-entropy loss求导(转载+细节整理)
softmax 函数softmax(柔性最大值)函数,一般在神经网络中, softmax可以作为分类任务的输出层。其实可以认为softmax输出的是几个类别选择的概率,比如我有一个分类任务,要分为三个类,softmax函数可以根据它们相对的大小,输出三个类别选取的概率,并且概率和为1。即总共有kkk类,必有:∑k=1Cyi=1\sum_{k=1}^Cy_i=1k=1∑Cyi=1为了方...原创 2019-06-05 18:05:45 · 3000 阅读 · 3 评论 -
keras中的神经网络为什么需要多次epoch
Δw(t)=−ε∂E∂w(t)+αΔw(t−1)(9)\Delta w(t)=-\varepsilon\frac{∂E}{∂w(t)}+\alpha\Delta w(t-1)(9)Δw(t)=−ε∂w(t)∂E+αΔw(t−1)(9)我们知道反向传播每次迭代的效果是这样的:w=w+Δw(t)w=w+\Delta w(t)w=w+Δw(t)我们知道,每条训练数据都会导致训练的过程中,计算一...原创 2019-01-19 18:25:34 · 4086 阅读 · 1 评论 -
tensorflow神经网络结构可视化
代码如下:# -*- coding: utf-8 -*-import tensorflow as tf # 图像大小IMAGE_HEIGHT = 256IMAGE_WIDTH = 256MAX_CAPTCHA = 4CHAR_SET_LEN = 10 input = tf.placeholder(tf.float32, [None, IMAGE_HEIGHT , IMAGE...转载 2019-01-14 18:54:51 · 994 阅读 · 0 评论 -
ubuntu16.04+Virtualenv+python2.7+Caffe安装(CPU版本,无opencv)
环境:Ubuntu16.04 AMD 64位双核python 2.7.12虚拟环境:Virtualenv虚拟环境路径如下:(python2.7) appleyuchi@ubuntu:~/.virtualenvs$下面这个安装的缺陷在于,暂时不涉及OpenCV,有需要的请自己配置.下面开始操作:-------------------------------------------...原创 2019-01-18 23:11:42 · 561 阅读 · 0 评论 -
神经网络中,正则化L1与L2的区别、如何选择以及代码验证
所谓的正则效果就是:数学上具备修补项的某些特性。讲人话,到底什么是正则化?就是让我们本科时学过的拉格朗日法求极值得到的解集具有某些特征。L1:(拉普拉斯分布的指数项)结果会比较稀疏(接近0,或者很大),好处是更快的特征学习,让很多W为0但是正则效果可能不太明显;L2:(高斯分布的指数项)L2对于不重要的特征会减小W,但是不会为0我们应该如何选择L1还是L2?一般是根据先验分布...原创 2019-01-17 20:53:03 · 2460 阅读 · 0 评论 -
Backpropagation Through Time:What it Does and How to Do it论文解读
论文发表于1990年,作者哈佛大学数学系毕业,虽然作者写得很辛苦,但是呢,相关成果在当前并未成为主流,因为我们知道后面LSTM出来了嘛。一句话概括这篇文章干了啥:扯白了就是,对于上面途中这个考虑过往输入X(T-1),X(T-2)的RNN结构,作者给出了相关公式,neti(t)=∑j=1i−1Wijxj(t)+∑j=1N+nWij′xj(t−1)+∑j=1N+nWij′′xj(t−2)ne...原创 2019-01-11 21:30:23 · 868 阅读 · 1 评论 -
Finding Structure in Time论文解读
《Finding Structure in Time》-1990作者Jeffrey L.Elman已经于2018年的六月份去世了。该文的引用量非常之高,目前有9000多,所以也导致有些神经网络发展史中把该篇文章视为经典论文。文章目的是:提出一种新的结构,用来解决时序相关的问题。注意,该文的Section 1不是从Introduction部分开始算起。文章结构={1.The&amp;nbsp;...原创 2019-01-11 18:48:42 · 2894 阅读 · 0 评论 -
Learning representations by back-propagating errors原文解读
反向传播的原文是:1986年的《Learning representations by back-propagating errors》xj=∑iyiwjl(1)x_j=\sum_iy_iw_{jl}(1)xj=i∑yiwjl(1)yj=11+e−xi(2)y_j=\frac{1}{1+e^{-x_i}}(2)yj=1+e−xi1(2)这个就是Sigmoid函数E=12∑c...原创 2019-01-10 21:14:52 · 4407 阅读 · 0 评论 -
张量的通俗理解和计算
#############下面引用自知乎#############################张量(tensor)是多维数组,目的是把向量、矩阵推向更高的维度。更具体点,也即是说:把三维张量画成一个立方体:我们就可以进一步画出更高维的张量:从数据结构上来看,张量就是多维数组。这个定义本身没有错,但是没有真正反映张量的核心。#############上面引用自知乎#######...原创 2019-01-04 17:16:55 · 9287 阅读 · 1 评论 -
一维卷积详细解释(转载+自己笔记)
一、定义离散信号f(n),g(n)的定义如下:N-----为信号f(n)的长度s(n)----为卷积结果序列,长度为len(f(n))+len(g(n))-1以3个元素的信号为例:f(n) = [1 2 3]; g(n) = [2 3 1];s(0) = f(0)g(0-0) + f(1)g(0-1)+f(2)g(0-2)= 1*2 + 2*0 + 3*0 =2...原创 2017-11-21 21:22:09 · 43355 阅读 · 2 评论 -
神经网络中batch_size的作用(翻译)
one epoch = one forward pass and one backward pass of all the training examplesbatch size = the number of training examples in one forward/backward pass. The higher the batch size, the more memory sp...翻译 2019-01-19 20:23:18 · 3342 阅读 · 0 评论 -
kernel和filter这两个概念在CNN中的区别以及卷积核与卷积层的关系
根据参考文献可知keras中,当channels=1时,那么filter就是kernel当channels&gt;1时,那么filter就是指一堆kernel其中channels表示卷积核的数量,一般为2的指数次方[1]中引用了[2],[2]中的一段话引用如下:So this is where a key distinction between terms comes in handy...原创 2019-01-19 21:20:50 · 19529 阅读 · 8 评论 -
keras的损失函数类型(转)
https://github.com/keras-team/keras/blob/master/keras/losses.py"""Built-in loss functions."""from __future__ import absolute_importfrom __future__ import divisionfrom __future__ import print_func...转载 2019-01-15 15:28:48 · 1384 阅读 · 0 评论 -
expected dense_10_input to have shape (13,) but got array with shape (1,)
报错log为:测试某条数据,结果为:Traceback (most recent call last):File “/home/appleyuchi/桌面/Python深度学习/deep_learning_chollet/第三章-神经网络入门/波士顿房价预测.py”, line 175, in print"测试某条数据,结果为:",model.predict(test_data[0].re...原创 2019-01-16 16:21:58 · 9827 阅读 · 4 评论 -
CNN的卷积运算为何使用互相关而不是卷积
CNN的卷积运算并非数学定义的卷积也就是说,CNN中的运算是不需要翻转卷积核的。也就是说,CNN在处理图像时的卷积核是不需要翻转180°的我们来用代码看下为什么?#-*- coding:utf-8 -*-import sysreload(sys)sys.setdefaultencoding('utf-8')import numpy as npA=np.array([[0,0,0...原创 2019-01-21 14:54:35 · 2185 阅读 · 0 评论 -
CNN中的权重维度解析以及卷积核中的数值是怎么确定的
以《python深度学习》第五章第一个实验为例,神经网络结构如下:首先最上面一个池化层max_pooling2d_1:MaxPooling2D的结果是:(64,)也就是说相对于下一个卷积层conv2d_2:Conv2D的输入是一个64个像素点的图片。由于conv2d_2:Conv2D中卷积核大小指定为(3,3),channel为64意思也就是:在输入的64个像素的图片中,使用3x3的...原创 2019-01-21 14:46:15 · 21858 阅读 · 5 评论 -
图像种类的基本概念整理
黑白图像:图像像素的值只有两种(255,255,255)和(0,0,0)灰度图:图像像素的值有256种(0,0,0),(1,1,1)–(255,255,255)灰度其实就是亮度什么是真彩色?图像中的每个像素值都分成R、G、B三个基色分量,每个基色分量直接决定其基色的强度,这样产生的色彩称为真彩色。16位色的发色总数是65536,也就是2的16次方;24位色被称为真彩色,它可以达...转载 2019-01-21 14:38:03 · 770 阅读 · 0 评论 -
交叉熵(cross entropy)概念整理
网上写得实在是太乱,整理下:交叉熵函数:H(p,q)=Ep[−log q]=−∑x∈χp(x)log q(x)H(p,q)=E_p[-log\ q]=-\sum_{x\in \chi}p(x)log\ q(x)H(p,q)=Ep[−log q]=−x∈χ∑p(x)log q(x)xxx是某个类别χ\chiχ是所有的类别的集合H(p,q)=H(p...原创 2019-01-15 18:31:28 · 1164 阅读 · 0 评论 -
最大池化层和平均池化层图解
转载自:https://www.jianshu.com/p/796d30d7dcca转载 2019-01-21 11:14:11 · 19251 阅读 · 2 评论 -
二维卷积详细解释
其中,矩阵A和B的尺寸分别为ma*na即mb*nb① 对矩阵A补零,第一行之前和最后一行之后都补mb-1行,第一列之前和最后一列之后都补nb-1列(注意conv2不支持其他的边界补充选项,函数内部对输入总是补零);之所以都是-1是因为卷积核要在图像A上面移动,移动的时候需要满足两者至少有一列或者一行是重叠的.② 将卷积核绕其中心旋转180度;③ 滑动旋转后的卷积...转载 2017-11-21 22:02:55 · 27668 阅读 · 5 评论