본문 바로가기
Battery/Battery Paper review

[IEEE-2020] Machine Learning Applied to EV Battery SOC and SOH Estimation : SOTA - I

by 노마드공학자 2021. 11. 25.

논문 전문 : https://ieeexplore.ieee.org/document/9036949

[출처] C. Vidal, P. Malysz, P. Kollmeyer and A. Emadi, "Machine Learning Applied to Electrified Vehicle Battery State of Charge and State of Health Estimation: State-of-the-Art," in IEEE Access, vol. 8, pp. 52796-52814, 2020, doi: 10.1109/ACCESS.2020.2980961.

 

※ The picture and content of this article are from the original paper.


[논문요약]
Machine Learning Applied to EV Battery SOC and SOH Estimation : SOTA - I

다양한 딥러닝 모델들을 사용하여 SOC와 SOH를 추정해보고, 각각의 조건을 최대한 비슷하게 맞추어 성능비교를 하는 논문입니다. 논문의 양이 방대할뿐만 아니라, 논문자체도 1부 SOC, 2부 SOH로 나누어져있어 해당 논문분석은 2번으로 나누어 정리할 예정입니다.

 

Purpose

RBF, ANN, SVM, RNN, LSTM... 다양한 딥러닝 모델을 사용하여 SOC, SOH를 추정합니다.

필자가 중점을 둔 부분은, 각각의 모델간 비교를 위해 노드 및 히든레이어 외 기타 하이퍼파라미터들을 최대한 동일하게 맞추어주는 부분입니다.

딥러닝 모델 자체가 초깃값, 하이퍼파라미터에 따라 매번 돌릴때마다 달라지기 때문에 정성적인 성능비교가 불가능하다는것을 인지하고 최대한 비교를 할 수있도록 기타 세부 조건들을 맞추어주었습니다.

 

Contents

 배터리의 SOC 및 SOH를 추정하기위한 딥러닝모델들에 대해 전반적으로 정리를 하며 논문이 시작됩니다.

 

 

이중 이번글은 SOC만 정리를할것이기에, 필자는SOC에서 RNN(LSTM)/RBF/FNN/SVM/ELM을 위주로 구현을했습니다.

GRU는 LSTM을 간소화? 한버전이기에 정확도면에선 오히려 LSTM높을꺼라고 생각했으며, Bi-directional LSTM은 복잡도가 높으며, 다른 모델들도 구현은 가능하지만 성능면에서 상기 5가지만 진행을해도 충분하다고 합니다.

 

1. RBF(Radial Basis Function) Neural Network

 

제가 필기한걸 캡쳐해보았는데요, RBF는 1개 히든레이어를 가진 뉴럴네트워크입니다.

MLP(Multilayer Perceptron)과 동일하게 Back Propagation을 통한 학습을 진행하지만, Input layer와 hidden layer사이의 관계는 Gauss 함수입니다.

Hidden layer와 output layer사이에 Weighting값과 Gauss 함수의 Mean, Standard deviation(이하 std)를 Update하며 학습을 진행해나가는 방식입니다.

MLP대비 수렴속도가 빠르나, 발산이 아님에도 Loss 값이 커지는 경우가 간혹있습니다. 그 이유는, Weighting뿐만아니라 Mean과 Std를 업데이트함에 있어 Loss가 반드시 하강만 한다는 보장이 없기때문입니다.

 

 

2. ELM(Extreme Learning Model)

 

 

ELM은 2006년 난양공대에서 나온 논문으로, MLP의 Backpropagation에서 Gradient Descent대신 Moore-Penrose Generalized Inverse Matrix를 구해 바로 최적의 Weight값을 얻어내는 방법입니다.

Input layer와 Hidden layer사이의 Weight들을 H Matrix, Hidden layer와 output layer사이의 Weight들을 B Matrix라고 해보면 H*B=T(output) 입니다.

즉, H*B는 추정값이고 T_measure(측정값)과의 차이가 최소가 되는 H와 B를 찾으면 되는것입니다.

 

 

따라서 Loss Function을 다음과 같이 정의할 수 있습니다.

Loss = min[(H*B)-(T_measure)]

여기서 B = inverse(H)*T_measure가 되면 Loss값이 바로 0이 나오게됩니다. (MLP는 Back Propagation반복을 통해 이 값을 찾아냅니다.)

하지만 문제가있습니다.

H가 n by n 정사각행렬이라는 조건이 없으므로, 역행렬을 구할수가없습니다.

이때, 정사각행렬이 아닐때 Inverse matrix를 구하는 방식을 Moore-Penrose Generalized Inverse Matrix라고 합니다.

이것을 H^+로 표시하며, Pseudo-Inverse Matrix입니다.

따라서, 여러번의 Iteration을 통한 수렴이 아닌, Matrix연산을 통해 Loss값이 낮은 결과가 바로 나오게됩니다.

 

당연히, MLP보다 학습이 오래걸리진 않지만, H,B Matrix의 Dimension이 높으면 복잡도가 많이 올라가게 됩니다.

 

 

3. SVM(Support Vector Machine)

 

서포트벡터머신은 가장 유명한 머신러닝 알고리즘 중 하나입니다.

딥러닝 대비 독특한점?은, 수학적으로 Linear classification에서 최적화된 방법이라는것이 증명되었습니다.

물론, 대부분의 문제가 Non-linear이지만..

SVM은 이거 하나로만 몇시간을 강의할정도로 꽤나 복잡한데요, 간단하기 한장으로 정리한것만 올려보았습니다.

 

X와 O 두개의 Binary Classification을 한다고 생각해보았을 때, 두개를 나눌 수 있는 Decision Boundary를 찾아야합니다.

이 Boundary들의 중간지점에 있는 가장 가까운 두 포인트를 서포트벡터로 삼고, 해당 지점의 중간값을 가로질러가는  Hyper plane을 그어야 하는데요

 

2-Dimension기준 Hyper plane이 y=wx+b라고 치면 서포트벡터와 해당 직선사이의 거리는 서포트벡터가 직선으로 정사영 내린 수선의 길이라고 할 수 있습니다.

 

이 수선의 길이를 Support Margin이라 하고, 이 Support Margin이 Max가 되는 지점을 찾아야 되는것이죠

(왜냐하면 서포트벡터와 Hyper plane의 거리가 멀다는것은 그만큼 두개의 클래스가 확실히 구분된다는거죠)

 

선형대수학의 정사영(Projection) 공식을 통해, 서포트벡터와 Hyper plane사이의 거리는 2/llwll가 됩니다.

max(2/w)는 min(w)로 보는것과 똑같다고 할수있죠

따라서, Min(W)를 만족하는 방식을 라그랑주 승수법을 통해 최종적으로 구할 수 있습니다.

즉, Hyper plane을 얻어낼 수 있다는 것이죠

 

이것과 동일하지만 완전 반대대는 원리로, SVM은 서포트 벡터간의 사이가 최대한 먼것, Classification이 잘되는 Hyper plane을 찾았다면 SVR(Support Vector Regression)은 반대로, 최대한 많은 서포트벡터들을 포함하는 회귀직선을 찾는것입니다. 

4. RNN/LSTM

 

LSTM 및 Bi-Directional LSTM에 대해 언급하였으며, GRU는 퍼포먼스 측면에선 다루지 않는다고합니다.

 

5. ANN

 

ANN은 Input으로 V,T, 500초간의 V,I 평균값을 넣고 Output으로 SOC를 두어 학습을 진행합니다.

배터리의 전기화학 메커니즘을 담기위해 Non-RNN 네트워크에는 Input값으로 시계열값들을 넣어 한계를 돌파하려는 모습을 보여주었습니다.

 

Results

 

 

각각에 대한 SOC 추정 정합성을 RMSE로 표현한 그래프입니다.

RBF나 FNN으로 ECM Parameter를 추정하고 이것으로 SOC를 추정하거나, 혹은 반대로 머신러닝으로 파라미터를 추정하고 UKF,EKF등으로 SOC를 추정한것, RNN  ... 및 여러가지 섞어쓰는 방법들을 총 망라하여 정리한것인데요,

눈여겨볼점은 ANN,SVM도 LSTM못지않게 추정정합성이 높다는 점입니다.

 

물론, 최고성능 기준으로 여러번 학습을 진행했을때 전체적으로 오차는 LSTM이 확연히 낮은것을 볼 수 있습니다.

그래도 Input을 시계열성을 가진 데이터를 넣으면 LSTM의 성능을 어느정도 따라간다라는 꽤나 유의미한 결과를 볼 수 있는 논문이였습니다.

 

참조

1. C. Vidal, P. Malysz, P. Kollmeyer and A. Emadi, "Machine Learning Applied to Electrified Vehicle Battery State of Charge and State of Health Estimation: State-of-the-Art," in IEEE Access, vol. 8, pp. 52796-52814, 2020, doi: 10.1109/ACCESS.2020.2980961.

댓글