딥러닝 신경망을 사용한 NOx 배출량 추정 - MATLAB & Simulink

기술 칼럼

딥러닝 신경망을 사용한 NOX 배출량 추정

작성자: Nicoleta-Alexandra Stroe 및 Vincent Talon, Renault


Renault는 ZEV(무공해 차량)를 위한 차세대 기술을 적극적으로 개발하고 있습니다. 동시에, 우리는 ICE(내연 기관) 차량을 더 깨끗하고 효율적으로 만들기 위해 노력하고 있습니다. 주요 관심 분야 중 하나는 유해한 배출물의 감소입니다. ICE는 NOX(질소산화물)을 생성하며 이는 스모그, 산성비, 온실가스의 원인이 됩니다. NOX를 최소화하려면, 우리는 다양한 엔진 동작점(예: 토크와 엔진 속도의 다양한 조합)에서의 배출량을 정확하게 추정해야 합니다.

실제 엔진에서 테스트를 실행하는 것은 비용이 많이 들고 시간이 많이 걸리기 때문에 NOX 추정치는 전통적으로 룩업 테이블이나 연소 모델을 사용해 계산되었습니다. 이러한 방법에는 여러 가지 단점이 있습니다. 룩업 테이블은 정확성이 부족하고, 연소 모델은 배출 역학을 파악하는 데 필요한 방정식이 복잡하기 때문에 만들기가 매우 어렵습니다. NOX의 물리적 모델은 매우 복잡하고 엔진의 전체 작동 범위에서 사용하기 어려우며, 게다가 ECU에서 실시간으로 실행할 수도 없습니다.

우리는 최근에 엔진 배출 NOX(후처리 시스템이 아닌 엔진에서 직접 발생하는 배출)를 순차 데이터의 학습, 처리 및 분류에 뛰어난 신경망 유형인 LSTM(장단기 메모리) 신경망을 사용해 모델링하기 시작했습니다. LSTM은 연소 모델보다 만들기가 훨씬 쉬웠습니다. 우리는 딥러닝 전문가는 아니지만 MATLAB® 및 Deep Learning Toolbox™을 사용해 NOX 배출을 거의 90%에 육박하는 정확도로 예측하는 신경망을 만들고 훈련시킬 수 있었습니다.

LSTM 신경망 설계 및 훈련

우리는 실제 엔진에서 수행된 테스트를 통해 훈련 데이터를 얻었습니다. 이러한 테스트 동안 엔진은 WLTC(Worldwide harmonized Light vehicles Test Cycles), NEDC(New European Driving Cycle)를 포함한 일반적인 드라이브 사이클은 물론 RDE(Real Driving Emissions) 테스트도 거쳤습니다. 수집된 데이터는 신경망에 입력으로 제공되었습니다. 여기에는 엔진 토크, 엔진 속도, 냉각수 온도, 기어 번호 배출량이 포함되었습니다.

그런 다음 MATLAB 스크립트를 사용하여 간단한 LSTM 신경망을 만들었습니다. 이 초기 신경망은 LSTM 계층, ReLU(Rectified Linear Unit) 계층, FC(완전 연결) 계층, 회귀 출력 계층으로만 구성되었지만 놀라울 정도로 좋은 성능을 보였습니다. 하지만 우리는 계층을 더 추가하면 정확도를 높일 수 있을 것이라고 생각했습니다. 우리는 ECU에서 너무 많은 메모리를 차지하거나 과적합을 일으킬 정도로 신경망 크기를 늘리지 않도록 주의했습니다.

MATLAB 스크립트를 업데이트하여 계층을 추가하고 여러 가지 신경망 구성을 살펴보았습니다. 신경망 크기가 작았기 때문에 최적의 신경망 구성과 아키텍처를 수동으로 선택했습니다. 시행착오를 통해 우리는 시스템의 물리적 속성을 활용할 수 있었습니다. 예를 들어, 비선형성이 높은 시스템의 경우 여러 개의 ReLU 층을 선택하는 반면, 열 시스템의 경우 여러 개의 LSTM 층이 더 적합할 것입니다. 우리는 LSTM 계층 1개, ReLU 계층 3개, FC 계층 3개, 회귀 출력 계층 1개로 구성된 신경망으로 결정했습니다. 이 LSTM 신경망은 NOX 수준의 예측에서 85~90%의 정확도를 달성했으며 이는 룩업 테이블로 달성했던 60~70% 정확도에 비해 현저히 높은 수치입니다. (그림 1)

그림 1. 실제 엔진의 NOx 배출량을 측정하고 LSTM 신경망에서 NOx 배출량을 모델링했습니다.

그림 1. 실제 엔진의 측정된 NOX 배출(파란색) 및 LSTM 신경망의 모델링된 NOX 배출(주황색).

시스템 수준 시뮬레이션으로 신경망 통합

우리는 훈련된 LSTM 신경망을 구축한 후, 이를 다른 Renault 팀이 Simulink® 시뮬레이션에서 사용할 수 있도록 공개했습니다. 한 팀은 이 신경망에서 출력된 엔진 배출 NOX 수준을 후처리 시스템의 입력으로 사용하는 모델에 이를 통합했습니다. 그런 다음 팀은 다양한 엔진 동작점에서 후처리 시스템의 NOX 변환 효율을 측정하기 위해 시뮬레이션을 실행했습니다. 연구팀은 LSTM을 시스템 시뮬레이션에 도입함으로써 물리적 또는 경험적 모델로는 쉽게 접근할 수 없는 정보를 얻었습니다. Renault 팀은 시뮬레이션에 LSTM 신경망을 사용하여 OBD(온보드 진단기) 시스템의 성능을 평가하고 새로운 드라이브 사이클에 대한 엔진 배출가스를 평가하고 있습니다.

딥러닝 후속 프로젝트

NOX 배출 수준의 예측을 위한 LSTM 신경망의 성공적인 구현으로 인해 Renault에서는 여러 후속 프로젝트를 진행하게 되었습니다. 한 프로젝트에서 우리는 MathWorks 컨설턴트가 우리를 위해 만든 도구를 사용하여 LSTM 신경망에서 C 코드를 생성하는 것을 개념 증명 데모로 사용했습니다. 이런 방식으로 코드를 생성하여 NOX 배출 추정기를 ECU에 배포할 수 있을 것입니다. LSTM은 OBD 시스템 전용 시뮬레이션 플랫폼의 일부로, 배출 기준에 따라 요구되는 대로 건강에 해롭거나 결함이 있는 조건을 24시간 내내 즉석에서 감지할 수 있게 해줍니다.

ECU에 내장되는 경우 심층 신경망(특히 심층 LSTM)은 문제가 될 수 있습니다. 우리의 ECU는 그다지 강력한 컴퓨터가 아니기 때문에, LSTM의 복잡성(따라서 예측의 품질)과 ECU의 계산 실행 용량 사이에서 균형을 맞춰야 합니다. 우리의 응용 사례에선 신경망이 비교적 작았고, 필요한 경우 칼만 필터에 쉽게 통합될 수 있었습니다.

최근에는 MATLAB 이용해 딥러닝 활용을 확장했습니다. 이러한 노력을 위해, 우리는 강화 학습을 사용하여 Renault 엔진의 공기 경로 제어를 위한 전략을 개발하고 있습니다.

2021년 기고

관련 기능에 대한 칼럼 보기

관련 산업에 대한 칼럼 보기