Keras初体验的Tips

Keywords: Keras,可复现,局部最优,reproduce,模型

接上回:上回初体验Keras训练一个实现与门逻辑的模型过程中遇到两个问题:

问题1: 训练出来的模型准确率有时候达不到100%?我们怎么去定位+解决这个问题?

问题2: 为什么每次训练的结果不一样呢?那么科学研究基本凭借的是缘分了?

第二个问题:

先看第二个问题把,其实Keras官方文档中已经给出了答案:

https://keras-cn.readthedocs.io/en/latest/for_beginners/FAQ/#keras_5

由于我们的模型初始化的weights是随机给予的,因此每次随机出来的weights不一样就会导致每次训练的出发点不一样,有时候运气好的时候可以得到全剧最优,有时候运气不好的时候则只能得到局部最优了。

如果需要得到可以复现的模型,训练前需要设定几个随机方法的种子(seed)

import os
os.environ["PYTHONHASHSEED"] = '0'
import random as rn
import tensorflow as tf
import keras.backend as K

np.random.seed(50)
rn.seed(12345)
session_conf = tf.ConfigProto(intra_op_parallelism_threads=1, inter_op_parallelism_threads=1)
tf.set_random_seed(1234)
sess = tf.Session(graph=tf.get_default_graph(), config=session_conf)
K.set_session(sess)

WARNING:下面只是对问题1的思考,目前还没有搞清楚,以后清楚了再来完善。

第一个问题:

暂时还没有理解透彻,目前所知的理解是模型比较简单,神经元比较小,因此训练的参数设置不当导致模型优化过程中落入局部最优解,并且跑不出来了。

目前还没有学会怎么去定位和解决这个问题,这次这个场景较为简单,仅仅是做一个与门逻辑,我们可以很容易的知道结果跟我们预期不符,应该能够百分百根据输入准确给出输出,那么下次呢,在一个复杂的问题面前,我们怎么去思考呢?

可以想象,可视化可能是帮助解决这个问题的一个很好的工具,先做一个简单的可视化:

参考 https://blog.csdn.net/u013381011/article/details/78911848

做了在模型训练完成后将训练过程中的准确度(acc)和损失(loss)直观的绘制成折线图,直观感受训练的进展。

主要就是引入了一个类用来记录每一个epoch训练完成时模型的状态,并且调用matplotlib进行绘制,类源码在博主原文中有,由于未经博主授权,这边就不贴了。

修改 Keras-Keras的初体验中的如下部分代码

# 实例化
history = LossHistory()
# 训练过程中接受callback
model.fit(data, labels, epochs=1000, batch_size=32, callback=[history], validation_split=0.1)
# 绘制 
history.loss_plot("epoch")

通过在模型fit步骤前创建一个该类实例,并且使用callbacks参数将这个类传递给模型接受回调,并且在模型训练完成后调用该类的方法loss_plot(“epoch”)进行绘制,可以将模型训练过程中的部分情况直观查看。

acc能够达到100%的训练历史如下:

Figure_2

之前提到的acc无法达到100%的情况都训练历史如下:

Figure_1
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容