keras入门
自己要搞深度学习,正好手上有本keras之父写的深度学习书,于是就从keras入手吧。看了一个电影的二分类问题,确实很简单,可以熟悉深度学习的流程。首先熟悉了结果keras的模块,如model,Sequential等,这和numpy有什么区别吗?没有啊
有了keras框架,预处理图片数据,构建网络都很快,就像搭乐高积木一样。但是我在做一个猫狗识别network时,准确率一直在50%,数据和参数和书上的差不多,但是人家是70%,这是为什么?如何提高准确率,这也是深度学习领域的一个重要问题,如何发现问题?数据预处理?网络结构,网络参数?可以观察的数据只有loss和acc,所以设计神经网络有时候还真是一个技术活,多多练习,掌握一些基本的经验。
为什么很随意的一个dnn网络或者cnn网络,mnist数据集的识别精度可以达到90%,而这样区别明显的二分类问题效果却很差?看了数据集标注,没什么问题。网络结构也正常,不知道应该在哪里改进?然后看了kaggle上的一些竞赛代码,发现自己训练的数据太少(或者说迭代次数太少),吧epoch和steps_per_epoch调整了一下,损失函数慢慢降低,但是任然很慢,之前的训练都不到10分钟,现在看得一上午时间。
在看到keras的高级深度学习实践的过程中,有一个Embeding层对象没有看懂,看了官网的api文档也没弄明白是什么意思。但是今天看了教科书的一些讲解,有点一知半解。现在想来它就是一个自然语言处理中,将文本转换为词向量的一个工具,如果你的重点是cnn,cv方面,懂到这个程度就行了,毕竟效率很重要,不能荒废了,做无用功,这就是一种学习能力的体现,不在无用的地方浪费自己的时间。
keras中一个好用的地方就是集成了已经训练好的网络,比如vgg16,可以看一下源码和相关论文。
神经网络原理:
1、神经网络最基本的原理也是函数拟合,所以lose function就显得非常重要了,我们训练的目的之一就是减小损失函数,常用的损失函数参考:https://www.cnblogs.com/hypnus-ly/p/8047214.html,比如entropy_cross,比较两个概率分布的差异,同时又使得反向传播时好计算。
2、神经网络训练都是以一个batch为训练单位,即一批一批的训练,那么反向传播时怎么计算导数呢?可以体会,这个batch轴对于w没有什么影响,对于b有一些影响。只不过反向传播时,loss function取均值。
keras入门的更多相关文章
- Keras入门(四)之利用CNN模型轻松破解网站验证码
项目简介 在之前的文章keras入门(三)搭建CNN模型破解网站验证码中,笔者介绍介绍了如何用Keras来搭建CNN模型来破解网站的验证码,其中验证码含有字母和数字. 让我们一起回顾一下那篇文 ...
- keras 入门整理 如何shuffle,如何使用fit_generator 整理合集
keras入门参考网址: 中文文档教你快速建立model keras不同的模块-基本结构的简介-类似xmind整理 Keras的基本使用(1)--创建,编译,训练模型 Keras学习笔记(完结) ke ...
- Keras入门(二)模型的保存、读取及加载
本文将会介绍如何利用Keras来实现模型的保存.读取以及加载. 本文使用的模型为解决IRIS数据集的多分类问题而设计的深度神经网络(DNN)模型,模型的结构示意图如下: 具体的模型参数可以参考文章 ...
- Keras入门(一)搭建深度神经网络(DNN)解决多分类问题
Keras介绍 Keras是一个开源的高层神经网络API,由纯Python编写而成,其后端可以基于Tensorflow.Theano.MXNet以及CNTK.Keras 为支持快速实验而生,能够把 ...
- Keras入门(六)模型训练实时可视化
在北京做某个项目的时候,客户要求能够对数据进行训练.预测,同时能导出模型,还有在页面上显示训练的进度.前面的几个要求都不难实现,但在页面上显示训练进度当时笔者并没有实现. 本文将会分享如何在K ...
- 数据挖掘入门系列教程(十一)之keras入门使用以及构建DNN网络识别MNIST
简介 在上一篇博客:数据挖掘入门系列教程(十点五)之DNN介绍及公式推导中,详细的介绍了DNN,并对其进行了公式推导.本来这篇博客是准备直接介绍CNN的,但是想了一下,觉得还是使用keras构建一个D ...
- keras 入门之 regression
本实验分三步: 1. 建立数据集 2. 建立网络并训练 3. 可视化 import numpy as np from keras.models import Sequential from keras ...
- 深度学习:Keras入门(一)之基础篇
1.关于Keras 1)简介 Keras是由纯python编写的基于theano/tensorflow的深度学习框架. Keras是一个高层神经网络API,支持快速实验,能够把你的idea迅速转换为结 ...
- 深度学习:Keras入门(二)之卷积神经网络(CNN)
说明:这篇文章需要有一些相关的基础知识,否则看起来可能比较吃力. 1.卷积与神经元 1.1 什么是卷积? 简单来说,卷积(或内积)就是一种先把对应位置相乘然后再把结果相加的运算.(具体含义或者数学公式 ...
- keras入门(三)搭建CNN模型破解网站验证码
项目介绍 在文章CNN大战验证码中,我们利用TensorFlow搭建了简单的CNN模型来破解某个网站的验证码.验证码如下: 在本文中,我们将会用Keras来搭建一个稍微复杂的CNN模型来破解以上的 ...
随机推荐
- How to do conditional auto-wiring in Spring?
ou can implement simple factory bean to do the conditional wiring. Such factory bean can contain com ...
- MYSQL的联合查询最好是少用,效能差异巨大
同样的功能,不同的写法,时间和内存占用差了几千倍,不废话,直接上代码 第一种写法: 代码如下: $Rs=DB::get($_ENV['DB'],3,"SELECT * FROM _xiazh ...
- Android:android studio快捷键大全
一.常用快捷键 1.Ctrl+E,可以显示最近编辑的文件列表 2.Shift+Click可以关闭文件 3.Ctrl+[或]可以跳到大括号的开头结尾 4.Ctrl+Shift+Backspace可以跳转 ...
- javascript 生成MD5加密
进行HTTP网络通信的时候,调用API向服务器请求数据,有时为了防止API调用过程中被黑客恶意篡改,所请求参数需要进行MD5算法计算,得到摘要签名.服务端会根据请求参数,对签名进行验证,签名不合法的请 ...
- iOS 渐变提示。错误弹出提示 几秒自动消失
//事例 CGRect alertFarm = CGRectMake(,,,); [self noticeAlert:_bgView withNoticeStr:@"登录成功" w ...
- Docker Mongo数据库开启用户认证
一.启动mongo容器的几种方式 #简化版 docker run --name mongo1 -p 21117:27017 -d mongo --noprealloc --smallfiles #自定 ...
- Nodejs 使用 es module (import/export)
- python3 + flask + sqlalchemy +orm(1):链接mysql 数据库
1.pycharm中新建一个flask项目 2.按装flask.PyMySQL.flask-sqlalchemy 3.项目下面新建一个config.py 文件 DEBUG = True #dialec ...
- 用.NET开发的磁力搜索引擎——btbook.net
UPDATE:目前项目已停止维护,本文仅留作纪念. 去年10月份开始研究相关的协议与资料,中途乱七八糟的事情差点没坚持下来,寒假里修修补补上礼拜把Btbook发布了,经过社交网络的推广之后,上线第三天 ...
- hive hbase区别
1.hive是sql语言,通过数据库的方式来操作hdfs文件系统,为了简化编程,底层计算方式为mapreduce. 2.hive是面向行存储的数据库. 3.Hive本身不存储和计算数据,它完全依赖于H ...