논문 전문 : https://www.sciencedirect.com/science/article/pii/S0378775321005528
[출처] Weihan Li, Neil Sengupta, Philipp Dechent, David Howey, Anuradha Annaswamy, Dirk Uwe Sauer,One-shot battery degradation trajectory prediction with deep learning,Journal of Power Sources,Volume 506,2021,230024,ISSN 0378-7753, https://doi.org/10.1016/j.jpowsour.2021.230024.
※ The picture and content of this article are from the original paper.
[논문요약]
One-shot battery degradation trajectory prediction with deep learning
sauer교수님 랩에서 딥러닝을 사용하는 방식으로도 논문이 나오는것을 확인했습니다.
VW쪽에서 OTA 시스템 적용과 더불어 이런식으로 배터리 진단을 할수있지 않을까 생각했습니다.
제목보고 One-shot이라길래 기대했는데 내용은 특이한건 없었습니다.
딥러닝 아키텍쳐를 조금 특이한 컨셉을 사용했다는것 정도?
Purpose
SOH는 초기열화시부터 급격하게 변하지 않습니다.
해당 논문도, 이 설명부터 시작을 하는데요, SOH는 중간열화 이상부터 급격하게 떨어지며 Knee-point라고 부르는 절벽에 가까운 수준으로 변화하는 모습을 보여줍니다.
따라서, 초기의 열화데이터로는 향후 어떤식으로 SOH가 변화할지 예측하기는 상당히 어려운 일입니다.
이전, 하기 논문에서 SOH를 5개의 class로 classification하여 추정한것과 비슷하게, 이 논문의 필자는 몇몇 포인트들에 대해 예측을하고 보간을 하고자합니다.
(SOH 80%, 65%, Knee point, BOL 지점)
https://limitsinx.tistory.com/191
Contents
논문의 Intro에 학습성능이 다른 딥러닝 모델들 대비 15배빠르다느니... 이런식으로 적혀있습니다.
LSTM Encoder(Encoder와 Decoder에 각각 LSTM을 사용한 이중 딥러닝 네트워크 형태)를 쓰는데 왜 빠르다는거지? 라는 생각이들어서 쭉 읽다보니...
초기 100사이클 단품시험 데이터로 학습을 시키고, 이후는 실차 주행데이터가 서버로 취합되면 조금씩 weight와 bias를 update해나가면된다 라고하네요
EOL 실험데이터를 한번에 학습하는게 아니라, 실차 주행데이터가 모이면 점차 학습할 예정이니까 초기열화데이터만 일단 학습시키면되고, 따라서 학습시간이 빠르다는겁니다.
즉, 그냥 데이터갯수가 적으니 학습시간이 빠른거죠
논문이야 최대한 자기가 한걸 포장하는거라고 하지만 이건쫌..?
필자는 모든 SOH Regression을 얻어내는 대신, SOH 열화곡선에 큰 변화를 보여주는 변곡점의 값들만 찾아내면 된다고합니다.
그게 바로 상기 (b) 그래프입니다.
BOL시점을 기준으로, 80% SOH를 1차 EOL이라 부르고, 65% SOH를 2차 EOL이라 부르며, 강한 변곡점을 보여주는 지점을 Knee-points라고 명명하고 기준점으로 삼았습니다.
48개의 여러개 셀로 실험한 결과 (i)그래프를 보면, 평균 1088cycle 정도에서 Knee Point를 발견할 수 있다고합니다.
학습데이터로는 오로지 "용량"만 사용한다고합니다.
용량의 Time series 데이터로 넣으면 output은 상기 특정지점들에서 예측되는 용량을 내뱉는 모델 구조입니다.
이게 어떤 느낌이냐면, BOL부터 현재 시점까지의 용량변화 데이터를 딥러닝 모델의 Input으로 넣는다면 (빨간색)
output으로 EOL까지의 예측 용량변화(파란색)이 나오는 구조입니다.
여기서, 이분들의 묘한 Skill이 들어가는데요
상기그림의 (b)와 (c)가 딥러닝 모델을 나타낸것입니다.
(b)의 model Input과 output을 보시면 Sequence의 길이가 다릅니다.
즉, LSTM은 Window(Data Sequence)의 사이즈가 정해져있고, 해당 데이터 윈도우 내의 Time-series데이터들에 대해 output값을 도출하는건데요
저도 LSTM으로 논문을 하나 썼는데, 이렇게 가변으로 사용할수는 없거든요
그래서 어떻게 사용했나싶어 구글링을 좀 해봤더니, Window size는 들어가는 data size중 가장 큰것을 기준으로 두고, 나머지는 zero padding해서 쓰면 가변 Sequence size를 잡는것과 동일한 효과를 볼 수 있다고 하더라구요
(논문일부 : which is the target use case of this work since battery degaradation history can be biews as a variable-length sequence)
상기 방식으로 Encoder와 Decoder부에 LSTM을 적용하여, BOL에서 현재까지의 용량 tracking data를 넣으면 EOL까지의 예측 용량이 나오도록 구성된 모델입니다. (LSTM-AutoEncoder)
Results
성능은 그렇게 잘나오지는 않았습니다.
아무래도 데이터를 1개만 쓴다는건, 아무리 Time-series를 한다고해도 한계가 있지않았나 생각됬습니다.
오히려 가변용량만 쓸게아니라, 용량에 영향을 주는 온도,전압,전류와 같은 다른 데이터들도 같이 사용했다면 조금더 정합성이 증가하지않았을까 생각됩니다.
참조
1. Weihan Li, Neil Sengupta, Philipp Dechent, David Howey, Anuradha Annaswamy, Dirk Uwe Sauer,One-shot battery degradation trajectory prediction with deep learning,Journal of Power Sources,Volume 506,2021,230024,ISSN 0378-7753, https://doi.org/10.1016/j.jpowsour.2021.230024.
댓글