
深度学习
文章平均质量分 89
tostq
邮箱:tostq216@163.com
展开
-
MultiHeadAttention多头注意力机制的原理
MultiHeadAttention多头注意力作为Transformer的核心组件,其主要由多组自注意力组合构成,Attention Is All You Need,self-attention。原创 2023-04-17 18:08:02 · 26229 阅读 · 0 评论 -
常见损失函数Loss Function的选择(regression problem)
回归损失函数Loss Function,regression problem,A General and Adaptive Robust Loss Function,huber loss,MSE,MAE,Quantile loss,Log-cosh loss,𝜖-insensitive原创 2023-02-28 12:42:08 · 1866 阅读 · 0 评论 -
常见激活函数Activation Function的选择
激活函数、ReLU、PReLU、Maxout、Swish、sigmoid、tanh、Tanhshrink、softshrink、hardshrink、ELU、Leaky ReLU、softsign、softplus、机器学习原创 2023-02-24 12:39:50 · 2303 阅读 · 0 评论 -
Batch Normalization原理介绍
Batch Normalization(BN)主要用于解决Internal Covariate Shift。由于训练过程中,网络各层数据x分布会发生变化(偏移),这个偏移可能是受不同batch间(或者训练集和测试集)的数据本身分布不同,或者是在训练过程,由于梯度回传,导致不同batch间各层数据分布前后不一致。原创 2023-02-22 21:14:32 · 710 阅读 · 0 评论 -
带约束进化算法问题分析Constrained Evolutionary Algorithms
带约束进化算法问题,Constrained Evolutionary Algorithms,进化学习,Evolutionary Algorithms for Constrained Parameter Optimization Problems,惩罚函数penalty functions原创 2023-01-31 12:04:13 · 687 阅读 · 0 评论 -
强化学习笔记-02多臂老虎机问题
Reinforcement Learning- An introduction的阅读笔记,强化学习,多臂老虎机,Thompson sampling,Gradient algorithms,UCB(Upper-Confidence-Bound),ε-greedy原创 2023-01-29 19:02:29 · 1226 阅读 · 0 评论 -
强化学习笔记-01强化学习介绍
Reinforcement Learning- An introduction阅读笔记,强化学习介绍,机器学习,进化学习。原创 2023-01-28 20:00:06 · 460 阅读 · 0 评论 -
Weighted Logistic Regression和Youtube时长预估
解读youtube的经典论文《Deep Neural Networks for YouTube Recommendations》中通过weighted LR来实现时长预估的原理。原创 2022-12-27 15:35:03 · 3373 阅读 · 0 评论 -
【用Python学习Caffe】0. 前言及介绍
0.前言及介绍老实说现在的Caffe已经不够流行了(说到这里,我有点无力了,近年来深度学习发展实在是太快了,完全跟不上学习脚步了,刚刚Caffe有点了解后,马上就要跟不上时代了=_=||)。如果对于现在的我来说,我更愿意推荐去学习Tensorflow或者是Pytorch,甚至是Caffe2。因为这些框架都有大公司参与开发,相关的学习资料更全,前段时间刚上手Tensorflow,个人感觉开发起来要比C原创 2017-06-22 21:50:15 · 10230 阅读 · 2 评论 -
【用Python学习Caffe】8. 网络结构的权重共享量化
8. 网络结构的权重共享量化网络权重共享量化也是一类重要的网络压缩方法,其本质在于先通过聚类方法得到该层权重的聚类中心,然后通过聚类中心值来表示原权重值。因此权重值并不是由32位的浮点数来表示,而是由其对应的聚类中心的序号表示,如果聚类级别为8位,此时权重值只需要用8位就能表示。对于网络权重量化也有三个问题:量化级别的确定,同修剪率一样,可以通过试错的试验的方法来确定量化后网络重新训练问题量化原创 2017-06-22 22:28:01 · 5867 阅读 · 5 评论 -
【用Python学习Caffe】7. 网络结构的修剪
7. 网络结构的修剪网络结构的压缩是近年来研究热点,接下来的两节,我们将介绍Deep Compression的两个策略网络修剪和网络权重共享量化的实现方法,我们通过mnist的LeNet5作为例子,而其他网络的实现也是类似的。关于Deep Compression的原理,可以参见其论文:Han S, Mao H, Dally W J. Deep compression: Compressing dee原创 2017-06-22 22:23:06 · 7366 阅读 · 8 评论 -
【用Python学习Caffe】6. 权重预设、预训练及微调
6. 权重预设、预训练及微调通过上一节,我们将得到solver文件,得到该文件后,进行网络的训练及测试将变得非常简单。 在通过solver = caffe.SGDSolver(solver_proto)初始化解决器后,训练一般有两种方式,一是通过solver.solve()直接进行训练,二是通过solver.step(1)进行单步训练。6.1 solver直接训练及单步训练 if i原创 2017-06-22 22:19:16 · 4921 阅读 · 0 评论 -
编写C语言版本的卷积神经网络CNN之四:CNN的学习及测试结果的比较
原创文章转载请注册来源http://blog.youkuaiyun.com/tostqTips: 关于在线学习和批量学习 批量学习方法:突触权值的调整在训练样本集合的所有N个例子都出现后进行,这个N个例子构成训练的一个回合,每个回合的训练样本的样例都是随机选择的,而权值的调整是靠所有N个例子的总体平均来实现。批量学习方法的优点在于能够精确估计当前梯度向量(即代价原创 2016-06-30 21:51:09 · 9922 阅读 · 20 评论 -
编写C语言版本的卷积神经网络CNN之一:前言与Minst数据集
卷积神经网络是深度学习的基础,但是学习CNN却不是那么简单,虽然网络上关于CNN的相关代码很多,比较经典的是tiny_cnn(C++)、DeepLearnToolbox(Matlab)等等,但通过C语言来编写CNN的却比较少,本人因为想在多核DSP下运行CNN,所以便尝试通过C语言来编写,主要参考的代码是DeepLearnToolbox的内容,DeepLearnToolbox是用Matlab脚本编写,是我看过的最为简单的CNN代码,代码清晰,阅读方便,非常适合新手入门学习。 本文的CNN代码是原创 2016-06-29 22:12:07 · 71328 阅读 · 48 评论 -
编写C语言版本的卷积神经网络CNN之二:CNN网络的总体结构
卷积神经网络是深度学习的基础,但是学习CNN却不是那么简单,虽然网络上关于CNN的相关代码很多,比较经典的是tiny_cnn(C++)、DeepLearnToolbox(Matlab)等等,但通过C语言来编写CNN的却比较少,本人因为想在多核DSP下运行CNN,所以便尝试通过C语言来编写,主要参考的代码是DeepLearnToolbox的内容,DeepLearnToolbox是用Matlab脚本编写,是我看过的最为简单的CNN代码,代码清晰,阅读方便,非常适合新手入门学习。本文的CNN代码是一个最基本的卷积原创 2016-06-29 22:27:14 · 27192 阅读 · 30 评论 -
【用Python学习Caffe】1. 使用Caffe完成图像分类
1. 使用Caffe完成图像分类本节将以著名的图像分类深度学习网络AlexNet为例子,通过Python Caffe来进行图像分类。虽然不同的网络的结构是不样的,但其大体的过程都是一致的,因此大家可以通过这个例子,熟悉如何利用Caffe进行图像分类。关于AlexNet的原理,可以参见其论文:Krizhevsky A, Sutskever I, Hinton G E. Imagenet classif原创 2017-06-22 22:01:47 · 8895 阅读 · 5 评论 -
【用Python学习Caffe】2. 使用Caffe完成图像目标检测
2. 使用Caffe完成图像目标检测本节将以一个快速的图像目标检测网络SSD作为例子,通过Python Caffe来进行图像目标检测。 必须安装windows-ssd版本的Caffe,或者自行在caffe项目中添加SSD的新增相关源代码.图像目标检测网络同图像分类网络的大体原理及结构很相似,不过原始图像再经过深度网络后,并不是得到一组反映不同分类种类下概率的向量,而得到若干组位置信息,其反映不原创 2017-06-22 22:08:21 · 8740 阅读 · 1 评论 -
【用Python学习Caffe】3. 图像训练测试数据集LMDB的生成
3. 图像训练测试数据集LMDB的生成Caffe深度学习网络在训练和测试中所使用的的数据集,并不是一张张的图像,而将图像集打包成LMDB或者LevelDB的数据库形式,这样做好处是能提高读取图像的时间。而本节的目的在于介绍如何将图像数据生成可用于测试和训练LMDB格式的数据集。3.1 原始图像的采集可以通过爬虫等方法从互联网中获得许多张图像(图像格式不限,JPG或者PNG都是可以的) 然后将所有图原创 2017-06-22 22:12:38 · 6346 阅读 · 0 评论 -
【用Python学习Caffe】4. 设计自己的网络结构
4. 设计自己的网络结构通过前文的例子,我们都知道了Caffe的网络都是一个prototxt的网络结构配置文件定义的,该文件可以用文本工具打开,打开后,我们可以看到如下结构: layer { name: "data" type: "Data" top: "data" top: "label" transform_param {原创 2017-06-22 22:15:50 · 4309 阅读 · 0 评论 -
【用Python学习Caffe】5. 生成solver文件
5. 生成solver文件网络训练一般是通过solver来进行的。对于caffe来说,其是通过solver文件来生成solver训练器进行网络训练及测试的,该solver文件中包含了训练及测试网络的配置文件的地址,及相关训练方法及一些训练的超参数,该文件一般不是很大,可以直接在一些solver.prototxt文件上更改。也可以通过Python结合caffe_pb2.SolverParameter(原创 2017-06-22 22:17:28 · 3375 阅读 · 0 评论 -
编写C语言版本的卷积神经网络CNN之三:CNN的误差反向传播过程
原创文章转载请注册来源http://blog.youkuaiyun.com/tostq 上一节我们介绍了卷积神经网络的前向传播过程,这一节我们重点介绍反向传播过程,反向传播过程反映神经网络的学习训练过程。误差反向传播方法是神经网络学习的基础,网络上已经有许多相关的内容了,不过关于卷积网络的误差反向传递的公式推导却比较少,而且也不是很清晰,本文将会详细推导这个过程,虽原创 2016-06-30 10:27:38 · 11682 阅读 · 9 评论