资讯正文

你的电池再充几次就报废机器学习帮你预测电池寿命

放大字体  缩小字体 2019-09-21 20:50:35  阅读:4104 作者:责任编辑NO。魏云龙0298

  原标题:你的电池再充几回电就作废?机器学习帮你猜测电池寿数  电池寿数的确认,是移动硬件开展的重要一环,可是由于电池...

  原标题:你的电池再充几回电就作废?机器学习帮你猜测电池寿数

  电池寿数的确认,是移动硬件开展的重要一环,可是由于电池电化学反响的不确认性以及不同的运用环境和习气,电池寿数变成了一门形而上学。

  不过柏林的三位小伙伴,运用Tensorflow,在原有的猜测系统基础上。更近一步,完成了电池的全寿数猜测。

  捋清数据

  研讨者在原始模型中,计算了124块锂电池的充放电循环次数中的数据作为寿数目标。

  简略来说,从彻底充满电到彻底放光电是一个循环,当循环的次数多到锂电池只能包容曾经电量的80%时,电池与世长辞。

  研讨中计算的电池循环次数从150到2300,差异巨大。

  可是这个进程中的数据不只仅仅记数,进程中输入的连接充电循环能够作为窗口,每个窗口有一个“当时循环数”和“剩下循环次数”。除此之外,每个窗口有一个目标值,这个目标值以最终循环的特征值为准。

  在每个电池循环周期中,电池的电压,电流,温度,电荷的动态改变也需求计算。而且还会出现像内阻,电荷量,通电时刻等定量数据。

  之前说过,当选研讨的电池,通电循环的次数各不相同。

  有的循环多,有的循环少,那跟时刻改变相关的数据就欠好一致。究竟循环了几千次电池的电流,不能跟刚用两三次就超龄作废的电池电流做比照。

  针对这个问题,研讨者首先以放电时电池的电压改变规模替代时刻作为改变量的参阅基准。

  由于电池的电压规模都是相同的,这就有了同步的参阅规模。之后插补随电压改变的电荷量和温度值,最终处以电压为基准,区分量程,就能进行完好的数据参照了。

  构建模型

  尽管数据具体明晰,可是数组和标量数据明显不能简略塞进一个模型里。

  研讨者运用Keras functional API作为构建模型的东西,对数组数据和标量数据分隔导入。

  关于数组数据,他们将其与窗口的特征数据,例如窗口巨细,长度,特征值数量相结合,构成三维矩阵。

  之后在确保窗口的连续性基础上,运用Maxpooling处理,将矩阵分为三个Conv2D函数图层。

  通过这个方法便能够提取出有相关性的信息,之后再把上述数据降维成一维数组。在数据都享有同一个改变规模,而且高度相关的前提下。

  Conv2D扮演的人物,就像图片中代表色彩通道的数字相同,代表着数据的特征。

  标量数据的导入流程也与之相似,不过只需求从二维降到一维就能够了。

  通过处理后的两个具有特征映射的平面数组,就像处理好的食材相同,能够定心的做出模型需求的密布网络这盘大菜了。

  练习优化

  万事俱备,就差练手。

  研讨者撰写了一个指令集操作界面,然后便利进行练习的相关操作。

  。/train.sh

  假如需求调整练习的epoch和窗口中样本的数量,只需求输入这个指令:

  。/train.sh -e 70 -w 10

  将练习值(橙色)和验证值(蓝色)的数据趋势比照能够看出,在均匀肯定误差(MAE)方面,二者的距离在逐渐缩小,曲线走势也在逐渐挨近。

  为了缩小模型与验证值的距离,研讨者挑选参加Dropout东西进行进一步的拟合。

  除此之外,研讨者还需求对模型进行超参数调优,因而研讨者对不同设置采用了网格查找。

  那么怎么盯梢这些设置呢?这时分Tenserflow2.0的hparams module派上了用场。

  通过这一系列操作之后,研讨者就能够比较出拟合进程中最要害的参数了。

  由于精确猜测成果要求“当时循环”和“剩下循环数”都要大于零(电池都用废了你猜测出来成果那是马后炮)。研讨者运用了ReLU作为输出层的发动机制,这能够下降练习进程中模型的查找规模,节省时刻。

  由于研讨者的模型依靠CNN,所以他们测验了不同的中心巨细,最终在两种不同的学习速率前提下比较了不同设置下当时循环和剩下循环的MAE值。

△误差值比照△当时循环的MAE值比照△剩下循环的MAE值比照

  通过超参数调优后的最佳装备模型,在练习epoch上千的基础上,当时循环MAE为90。剩下循环MAE为115。虽然不算完美,不过关于研讨者的运用方面预期来说,这个成果很不错。

  猜测上线

  实际上曲线上能够看出。模型猜测距离最小的方位,并不是练习结尾,而是练习大约四分之三的时分。所以在研讨者在这个分界点参加了检查点,然后重置模型来防止屡次练习带来的误差。

  模型现已功德圆满了,现在就能够测验把成果转换成曲线,之后就能够上线运用了。

  现在包含当时循环和剩下循环的输出曲线大约是这样的。

  虽然对电池来说这有点“大限将至”的滋味,可是关于用户而言,这确实是一个不错的前进。

  实际的电池寿数猜测,仅仅在原有电池容量的基础上对电池容量的改变进行大致参阅。这样的评价形式,并没有考虑到不同的运用环境以及用户的运用习气。

  由于从低温到高温运用环境,从24小时插充电线到三天不开屏幕锁,电池的循环次数必然会发生差异,这还没有考虑不同批次电池的制作差异。因而这种含糊的估测并不能精确的表达电池的真实寿数。

  而这个电池寿数猜测模型,跟着不同环境下电池寿数相关数据的丰厚,能够为用户供给一个更为精准的运用参阅。

  至少它能提示你,啥时分该换手机了。

  参阅链接

  https://towardsdatascience.com/predicting-battery-lifetime-with-cnns-c5e1faeecc8f