21天实战caffe笔记_第二天

1 传统机器学习

传统机器学习:通过人工设计特征提取器,将原始数据转化为合适的中间表示形式或者特征向量,利用学习系统(通常为分类器)可以对输入模式进行检测或者分类。流程如下:

传统机器学习的局限在于需要人工设计特征提取器,而且要求较高。而深度学习则不需要,可以由机器自动学习获取,适应性较强。

2 从表示学习到深度学习

表示学习:原始数据—>自动发现用于检测和分类的表示,如下图 ;

深度学习:是一种多层表示学习方法,用简单的非线性模块构建而成;这些模块将上一层表示(从原始数据开始)转化为更高层、更抽象的表

3 深度学习类型

监督学习 : 略

反向传播学习:略

卷积神经网络(ConvNet) : 一种特殊类型的深度前馈网络,训练更简单,泛化能力比相邻层全连接更好。四项基本原则:局部互联、共享权值、下采样及使用多个卷积层。  

4 深度学习的反思

(1) 模型参数远大于数据量时,相当于求解一个欠定方程,存在多接的可能性大,容易过拟合;

(2) 模型参数远小于数据量时,相当于求解超定方程,可能无解,或者有解但准确率很低,容易欠拟合;

(3) 模型参数与数据量匹配时,相当于秋季恰定方程,刚刚好,但是如何确定参数和数据量师哥过程问题;

为了避免过拟合或者欠拟合问题,我们通常将大模型首先在较大的数据集(如ImageNet)上预训练,得到模型,再对特定数据集(如人脸数据)进行精调,即可得到较为理想的结果。

5 参考博客

(1) http://blog.csdn.net/julialove102123/article/details/71722495

(2) <深度学习21天实战Caffe.pdf>

原文地址:https://www.cnblogs.com/qiqibaby/p/8611912.html

时间: 2024-10-10 01:42:07

21天实战caffe笔记_第二天的相关文章

21天实战caffe笔记_第三天

1 深度学习工具汇总 (1)  caffe : 由BVLC开发的基于C++/CUDA/Python实现的卷积神经网络,提供了面向命令行.Matlab和Python的绑定接口.特性如下: A 实现了前馈卷积神经网络(CNN),不是递归网络结构(RNN) : B 速度快,利用MKL/OpenBLAS.cuBlas计算库,支持GPU加速 ; C 适合特征提取,实际上适合做二维图像数据的特征提取 ; caffe其他特性: A 完全开源,遵循BSD-2协议 ; B 提供了一整套工具集,可用于模型训练.预测

《深度学习-21天实战Caffe》高清带标签完整PDF版下载

近期做深度学习的项目用到了Caffe框架,需要系统地学习一下,特别是源码.经同事地推荐,了解熟悉了一本经典地好书 -- <深度学习-21天实战Caffe>,现在发现一个可以下载高清完整PDF版本地链接,比一般的都清晰,现在发出来这个下载链接. 百度云盘下载链接:<深度学习-21天实战Caffe> 这本高清的书基本长这个样子: 本书一共分为21天的知识点,在内容上分为上篇--<初见>.中篇--<热恋>.下篇--<升华>.作者以一种生动有趣的组织语言

【21天实战Caffe】学习笔记(一)Ubuntu16.04+Caffe环境搭建

安装前准备工作: sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install --no-install-recommends libboost-all-dev sudo apt-get install libatlas-base-dev sudo apt-get install th

21天实战caffe(4)数据结构 blob

namespace caffe { //变维函数,将(num,channels,height,width)参数转换维vector<int>,然后调用重载的变维函数void Blob<Dtype>::Reshape(const vector<int>& shape) template <typename Dtype> void Blob<Dtype>::Reshape(const int num, const int channels, c

21天实战caffe(3)数据结构

caffe中一个CNN模型由Net表示,Net由多个Layer堆叠而成. caffe的万丈高楼(Net)是由图纸(prototxt),用blob这些砖块筑成一层层(Layer),最后通过SGD方法(Solver)进行简装修(train).精装修(finetune)实现的. Blob Blob在内存中表示为4维数组,维度从低到高为(width_,height_,channels_,num_).用于存储数据(data)或权值增量(diff). Blob中封装里SyncedMemory类.Bolob作

Java编程思想读书笔记_第二章

java对于将一个较大作用域的变量"隐藏"的场景会有保护:编译告警.比如: 1 int x = 5; 2 { 3 int x = 6; 4 } 但是对于类中方法的局部变量和类成员变量确是可以重名的,比如 1 class Test { 2 int x = 4; 3 String s = "hello"; 4 5 void show() { 6 int x = 5; 7 System.out.println(this.x); 8 System.out.println(x

21天实战caffe(1)

convolutionLayer:卷积层实现 InnerProductLayer:全连接实现 CPR值 早发现就好了,论文都写完了又发现了.. 如果上层传过来的特征图是20*12*12,本层卷积层大小为50*5*5,本层输出50*8*8,那么单样本前向传播计算量为: calculations(MAC)=5*5*8*8*20*50=1600 000MAC 参数数量: params=50*5*5*20=25000 那么CPR: CPR=calculations/params=1600 000/250

Java 8实战 (笔记)第二章

行为参数化,一个处理频繁改变需求的软件开发模式.原则:在编写类似代码之后,尝试将其抽象化. 方法1:为方法增加参数. 方法2:定义一族算法,把它们封装起来(称为"策略"),然后在运行时选择一个算法. 行为参数化:让方法接受多种行为(或战略)作为参数,并在内部使用,来完成不同的行为. Strategy pattern is a behavioral software design pattern that enables selecting an algorithm at runtime

21天学习caffe(二)

本文大致记录使用caffe的一次完整流程 Process 1 下载mnist数据集(数据量很小),解压放在data/mnist文件夹中:2 运行create_mnist.sh,生成lmdb格式的数据(data+label):$CAFFEROOT/build/tools/convert_imageset 可以用来做把原始图片转换为LevelDB或者 Lmdb格式. 3 运行build/tools/caffe train --solver=examples/mnist/lenet_solver.pr