社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
WEB开发
linux   bottle   Redis   tornado   IE   DATABASE   NoSql   MQ   NGINX   Bootstrap   js   其他Web框架   Jquery   peewee   web工具   Git   MongoDB   zookeeper  
机器学习
机器学习算法  
Python88.com
公告   社区推广   反馈  
产品
短视频  
运营
印度
印度  
Python社区  »  机器学习算法

助力节能减排——雷诺汽车使用深度学习网络估计 NOx 排放量

MATLAB • 1 周前 • 19 次点击  


雷诺汽车构建并训练了一个长短期记忆 (LSTM) 网络,该网络预测 NOx 水平的准确率达到了 85%-90%,而使用查找表的准确率只有 60%-70%。


作者:Nicoleta-Alexandra Stroe 和 Vincent Talon,雷诺汽车

    ◆  

雷诺汽车正在积极开发用于零排放汽车 (ZEV) 的下一代技术。与此同时,我们正在努力使内燃机 (ICE) 车辆变得更清洁、更高效。

关注点之一是减少有害排放。ICE 会产生氮氧化物 (NOx),从而导致烟雾、酸雨和温室气体的产生。

为了减少 NOx 排放,我们需要准确估计不同发动机工况点下的排放量,例如在不同的扭矩和转速组合下的排放量。

在真实发动机上运行测试成本高昂且通常很耗时,因此传统做法是使用查找表或燃烧模型计算 NOx 估计值。

这两种方法各有缺点。

查找表准确性不佳;至于燃烧模型,由于捕捉排放动力学所需的方程相当复杂,创建模型异常困难。

NOx 的物理模型非常复杂,很难在发动机的整个工况范围内使用;此外,它们不能在 ECU 上实时运行。

前不久,我们开始使用长短期记忆 (LSTM) 网络对发动机排出的 NOx(直接从发动机排出而不是从后处理系统排放)建模。

LSTM 是一种神经网络,擅长对顺序数据进行学习、处理和分类。LSTM 远比燃烧模型容易创建。

尽管我们不是深度学习方面的专家,但使用 MATLAB® 和 Deep Learning Toolbox™,我们得以创建和训练了一个网络,该网络能够以近 90% 的准确率预测 NOx 排放量。

设计和训练 LSTM 网络

我们的训练数据来自真实发动机测试。

在这些测试中,发动机经历了各种常见行驶工况,包括全球统一轻型车辆测试循环 (WLTC) 和新欧洲行驶工况 (NEDC),以及实际行驶排放 (RDE) 测试。

捕获的数据为网络提供了输入。数据包括发动机扭矩、发动机转速、冷却液温度和档位排放量。

然后,我们使用 MATLAB 脚本创建了一个简单的 LSTM 网络。尽管这个初始网络只包含一个 LSTM 层、一个修正线性单元 (ReLU) 层、一个全连接 (FC) 层和一个回归输出层,但它的表现却出奇地好。

不过,我们觉得或许还可以添加更多层来提高其准确性。我们谨慎地控制网络大小,以免网络过大导致过拟合或在 ECU 上占用太多内存。

我们更新了 MATLAB 脚本以增加层,并探索了几种网络配置。因为网络很小,最佳网络配置和架构的选择是手动执行的。

通过试错,我们充分利用了系统的物理特性。例如,对于非线性度高的系统,我们会选择多个 ReLU 层;对于热系统,多个 LSTM 层会更合适。

我们最终确定的网络包含一个 LSTM 层、三个 ReLU 层、三个 FC 层和一个回归输出层。该 LSTM 网络预测 NOX 水平的准确率达到了 85%-90%,而使用查找表的准确率仅为 60%-70%(图 1)。

 图 1.真实发动机的实测 NOX 排放量(蓝色)和 LSTM 网络的模拟 NOx 排放量(橙色)。

将网络纳入系统级仿真

得到训练好的 LSTM 网络后,我们将其分享给雷诺其他团队,以便他们进行 Simulink® 仿真。有团队将该网络整合到一个模型中,该模型使用网络提供的发动机排出 NOx 水平作为后处理系统的输入。

随后,该团队运行仿真来测量后处理系统在不同发动机工况点下的 NOx 转化效率。

通过将 LSTM 引入系统仿真,该团队得到了通过物理或经验模型难以获得的信息。

雷诺各团队还在仿真中使用 LSTM 神经网络来评估车载诊断 (OBD) 系统的性能,以及估算新的行驶工况下发动机的排放量。

深度学习后续项目

由于成功实现了用于预测 NOx 排放水平的 LSTM 网络,雷诺又开展了一系列后续项目。

在一个项目中,我们使用由 MathWorks 顾问专为我们设计的工具,从 LSTM 网络生成 C 代码以用于概念验证演示。

借助由此生成的代码,我们能够在 ECU 上部署 NOX 排放估计器。在 OBD 系统专用仿真平台中集成 LSTM,即可按照排放标准要求,全天实时检测不健康或故障状态。

深度神经网络往往难以实现 ECU 嵌入,深度 LSTM 网络尤其如此。我们的 ECU 并不是非常强大的计算机,这意味着我们需要在 LSTM 的复杂度(以及预测质量)与 ECU 运行各项计算的能力之间进行权衡。我们应用中的网络相对较小,如果需要,可以轻松集成到卡尔曼滤波器。

最近,我们利用 MATLAB 进一步拓展了深度学习的应用。

现在,我们正使用强化学习开发雷诺发动机的气路控制策略。

    ◆  

希望今天分享的故事对你也能带来帮助和启发~  点击“阅读原文”,查看帮助文档:使用MATLAB 和 Deep Learning Toolbox 部署一个 LSTM 长短期记忆网络。👇
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/121327
 
19 次点击  
分享到微博