神经网络
文章平均质量分 64
WanderingSIN
这个作者很懒,什么都没留下…
展开
-
python 调用Matlab
python 调用 matlab原创 2022-03-31 22:21:13 · 1726 阅读 · 0 评论 -
自适应动态规划(二)
自适应动态规划(二)贝尔曼公式和离散LQR一个离散系统x(k+1)=Ax(k)+Bu(k)x(k+1)=Ax(k)+Bu(k)x(k+1)=Ax(k)+Bu(k)性能指标函数J(k)=12∑i=k∞(xT(i)Qx(i)+uT(i)Ru(i))J(k)=\frac{1}{2}\sum_{i=k}^{\infty}(x^T(i)Qx(i)+u^T(i)Ru(i))J(k)=21i=k∑∞(xT(i)Qx(i)+uT(i)Ru(i))由贝尔曼方程可知V(x(k))=12∑i=k∞(xT原创 2020-10-10 08:31:44 · 5137 阅读 · 15 评论 -
Learning both Weights and Connections for Efficient Neural Networks 论文进一步的实验与思考
Learning both Weights and Connections for Efficient Neural Networks 论文进一步的实验与思考上一篇文章我实验了net-300-100网络去识别手写数字体,通过剪枝发现,每一次的激活神经元个数没有明显的变化,而且每次都要激活50%左右,同时浅层的权重可以被大量的剪枝掉,最后只剩下300多个,下面我们就做一个实验,把第一层的个数增加到600个神经元,看看相应的实验结果net-600-100 实验下面就是基于以上的代码,使用手写数字体的数据集原创 2020-06-23 21:06:38 · 333 阅读 · 0 评论 -
Learning both Weights and Connections for Efficient Neural Networks 论文pytorch复现
Learning both Weights and Connections for Efficient Neural Networks 论文pytorch复现这是论文中主要的步骤,因此我们复现的时候也主要是利用这个思想。代码编写需要两个主要部分,首先原来神经网络的训练,然后就是神经网络的裁剪。我这次实验主要是使用论文中说的Lenet-300-100网络来进行测试。网络的定义以及初次训练##############先导入需要的包###############################impo原创 2020-06-19 20:39:09 · 922 阅读 · 3 评论 -
Learning both Weights and Connections for Efficient Neural Networks
Learning both Weights and Connections for Efficient Neural Networks摘要神经网络是计算密集型和内存密集型的,这使得它们很难部署在嵌入式系统上。此外,传统的网络在训练开始前就确定了架构;因此,训练不能改善网络结构。为了解决这些限制,我们提出了一种方法,通过只学习重要的连接参数,来减少存储和计算所需的神经网络数量级,而不影响其准确性。我们的方法使用三步方法删除冗余连接。首先,我们训练网络了解哪些连接是重要的。接下来,我们修剪不重要连接。最后原创 2020-06-12 09:39:21 · 1977 阅读 · 0 评论 -
神经网络学习-CNN(五)
神经网络学习-CNN(五)为什么要用CNN检测上图的鸟嘴,不需要看整张图,只需要看鸟嘴的地方就可以了。Subsampling the pixels will not change the object同样的特征会出现在图片的不同区域CNN的过程计算过程卷积做内积同样的特征可以被一个卷积发现只有9个点传递到下一个节点,所以参数少共享了所有的参数,所以参数更少Max PoolingFlatten手写数字识别PyTorch实现import torchimpor原创 2020-06-05 09:46:42 · 369 阅读 · 0 评论 -
tensorflow学习(二)
tensorflow学习(二)import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data#从网上下载数据集,并载入mnist = input_data.read_data_sets("MNIST_data",one_hot=True)#每个批次的大小batch_size = 200#计算一共的批次数n_batch = mnist.train.num_examples // batch_s原创 2020-05-20 19:39:11 · 194 阅读 · 0 评论 -
神经网络学习(四)
神经网络学习(四)上一篇我们推导和实验了使用交叉熵作为损失函数能够明显提高神经网络训练的精度和速度,但是为什么呢?这一篇就结合我再在网上看到的资料进行一个探索。假设样本维度是2维分类结果有三类一种两个样本(x11,x12,y1),(x21,x22,y2)(x_{11},x_{12},y_1),(x_{21},x_{22},y_2)(x11,x12,y1),(x21,x22,y2)公式推导前向传播和之前的推导类似,前向传播公式:输出层使用softmax的公式:z1=ω11x原创 2020-05-18 10:11:43 · 383 阅读 · 0 评论 -
神经网络学习(三)
神经网络学习(三)损失函数介绍前面我们讨论的实例和公式推导都是基于平方损失函数,但是上述案例中进行的是一个分类问题,平方损失函数一般不适用与分类问题,因此我们需要使用交叉熵损失函数(Cross-Entropy Loss Function)平方损失函数:E(i)=12∑k=1nL(yk(i)−ok(i))\begin{aligned}E_{(i)} = \frac{1}{2} \sum\limits_{k=1}^{n_L} \left(y_k^{(i)} - o_k^{(i)}\right)\e原创 2020-05-17 15:13:13 · 443 阅读 · 0 评论 -
神经网络学习(二)
神经网络学习(二)手写数字识别认识数据集from sklearn.datasets import load_digits #导入手写数字数据集digits = load_digits()print(digits.keys())dict_keys(['data', 'target', 'frame', 'feature_names', 'target_names', 'images', 'DESCR'])print(digits.data)print(digits.data.shape原创 2020-05-14 21:30:58 · 440 阅读 · 0 评论 -
神经网络学习(一)
神经网络学习(一)sigmoid函数sigmoid表达式:S(x)=11+e−xS(x)=\frac{1}{1+e^{-x}}S(x)=1+e−x1sigmoid函数求导:f(x)′=(11+e−x)′=e−x(1+e−x)2=1+e−x−1(1+e−x)2=11+e−x⋅(1−11+e−x)=f(x)(1−f(x))\begin{aligned}f(x)' &= \left( \frac{1}{1+e^{-x}} \right) ' \\&= \frac{e^{-x}}原创 2020-05-13 19:10:41 · 376 阅读 · 0 评论