본문 바로가기

Work

Machine learning이 재난을 예측하기 어려운 이유

나는 '인공지능'이라고 하지 않겠다. 예측하지 '못한다'고 하지 않겠다. 인공지능의 범위는 머신러닝을 포함한 광의에서 정의되며, 예측 역시 언젠가 (지금과 다른 접근법에서라도) '어느정도는' 가능해 질 것 같기 때문이다.
하지만 근래 배터리 이상, 정확히는 열폭주 현상에 대해 머신러닝, 혹은 AI라 통칭하는 기술이 뭔가 해결사 역할을 해 줄 듯 설파하는 글들이 보인다. 배터리의 정상적인 노화 또는 퇴화로 인한 수명 예측 같은 영역이라면 가능할 것 같기도 하다. 하지만 유감스럽게도, 열폭주 같은 현상을 예측하는 건 매우 낮은 가능성의 소설이다. 그건 나름의 이유가 있다.

1. 판단 기준의 모호성
머신러닝의 한계를 논하기 전에, 열폭주하는 불량 배터리를 잡아낸다는 명제 자체에도 논리적 헛점이 있다.
사람의 세포가 암세포가 되는 건 반드시 이상한 걸 먹거나 해로운 활동을 해서만이 아니라, 수명 기간 동안 노출되는 자연 방사능이나 섭식 과정의 세포 변이, 태양 자외선 등 수많은 '정상적 활동 범위' 내 영향에서 기인하기도 한다. 마찬가지로, 소위 정상적인 배터리 셀일지라도 백년 정도 주구장창 사용하면 열폭주로 생을 마감할 수도 있는 것이다. 반면, 소위 불량 배터리 셀도 생산 직후 일주일 정도는 초과 사양으로 동작시켜도 거뜬할 수 있다. 따라서 '정상이냐 불량이냐' 판정을 제품 사양 측면에서 결정한 배터리 셀 생애주기(워런티 기간) 선상에서 판단하는 건 사실 이현령비현령이다.
일단은 보증기간 내 이상 현상을 보이는 배터리 셀을 '불량'이라고 정해 보자.

2. 절대적으로 적은 데이터1 - 사건의 희소성
머신러닝의 근간은 '명확히 모델링이 어려운 현상을 아주 많은 데이터로 학습시켜 숨겨져 있는(또는 아직 발견하지 못한) 규칙성을 알아내는 작업'에 있다.
배터리 생산 시 실세계의 영향 요소 탓에 (아마도) 정규분포에 따른 결과물이 나올 것이고, 기대치와 달리 불량 현상, 즉 열폭주가 생각보다 빨리 일어나는 배터리 셀을 찾아내는 게 우리의 머신러닝이 할 일이다. 이 '모델링'이 어려운 점은 사실이다 (사실, 정상적인 배터리도 전기화학적 모델링이 완벽히 되지 못했다). 근데 문제는 이 모델링 부족을 보완할 '아주 많은 데이터'가 없다는 점이다. 놀랍지도 않은 것이, 세상의 대부분은 우리가 정상 범주로 정의한 영역 이내에서 동작하고, 예기치 못한 불량 상황은 드물게 일어난다. 열폭주의 영향이 커서 사회적/기술적 이슈로 크게 부각되긴 했지만, 사실 자동차 급발진 사고보다도 훨씬 드물게 일어난다. 이건 판매대수가 적어서 그러네, 비중 상 내연기관보다 사고가 많네 하는 논쟁 이야기가 아니다. 학습에 필요한 데이터 모수 자체가 너무나도 적다는 이야기.
우주에 떠도는 소행성이야 쇠털같이 많지만, 지구에 떨어지는 중량급 소행성의 궤적을 머신러닝으로 학습시켜서 10년전에 미리 알아내지 못하는 이유도 같다. 지구에 떨어지는 중량급 소행성이 거의 없기 때문에. 패턴 학습을 위한 데이터 양과 정상/비정상의 입력 비율이 적절하지 않으면 어떤 편파적 학습 결과가 나오는지는 이미 잘 알려져 있다.

3. 절대적으로 적은 데이터2 - 경우의 다양성
전세계를 통틀어 발생한 사건을 토대로 잠재적인 열폭주 용의자 배터리를 미리 검거하기는 것도 큰 난관이지만, 그 상황들이 저마다 다르다는 점도 단일 학습의 한계를 뚜렷하게 한다. 결국 과목별로 학습해야 하는 상황인데, 자동차 또는 저장장치 또는 휴대기기용 배터리 분류 하위에서도 제품 구분에 따른 사용 환경과 패턴이 상이하며, 당연히 개별 사용자에 따른 차이는 극명하게 다르다. 이를 분류해 학습하는 것이 현실적으로 가능할지 의문일만큼 다양한 사례를 놓고 보면, 결국 하나의 케이스에 대한 학습 데이터는 수십년간 (운 좋게도 로깅된) 데이터를 모아봤자 머신러닝이라고 할 수 없는 정도의 과목별 정보만 남게 된다. 머신러닝의 접근방식 근간을 다시 돌아보면, 애초에 무리라고 보아야 할 수도 있다.
심지어 제조사에서 각각 자신들의 배터리 셀로 인위적 열폭주를 재현하는 시험을 상당수 진행했지만, 결과는 썩 도움이 되지 않는다. 실제 사용 사례와 동떨어진, 예컨대 열선을 이용해 300도까지 가열해 열폭주 시킨 경우 우리가 바라는 머신러닝 모델은 결코 나오지 않는다.


4. 학습해 봐야 구식
이미 세상에 존재하는 리튬이온 배터리의 종류나 조성 자체도 꽤나 다양하긴 하지만, 한 제조사에서 만드는 배터리 역시 상당히 다양한 라인업을 가진다. 게다가 경제적 사유, 경영적 판단, 기술의 진보, 변화하는 규제 등으로 배터리의 특성과 제조 공정은 끊임없이 변한다. 내년 출제 방식이 달라지는데 지금 교과과정을 완벽히 머신러닝할 동기가 없는 것이다. 산업 수요를 위한 머신러닝은 데이터 발굴부터 가공, 학습, 그리고 피드백 기술의 적용에 이르기까지 결코 적잖은 비용이 따르고, 이는 수행 주체가 상당한 위험을 감수하게 만든다.
그보다는 물리모델, 전기화학적 모델을 만들어 전통적 개선안을 도출하는 편이 좀 더 안정적이고 성과를 기대할 수 있다. 비록 한계가 있고, 부정확할 수 있으며, 역시 많은 공이 들지만 '뭔지 모르겠다만 이면의 논리를 학습해 예지자가 되어주라'는 기복(?) 신앙 같은 연구보다는 손익을 따지기 용이하다. 특히 수학적 모델링 접근법은 일단 수립한 뒤엔 선별 확인하며 모델을 개선하는 반복을 실시할 수 있기 때문에 현업에서 보기에 더 직관적이다.
이 관점은 머신러닝이 불량을 검출하기 어려운 이유라기보다는 산업적 동기부여가 부족해 주력 도구가 되기 힘들다는 현실적 이유로 봐야겠다.

근데 이쯤 생각하고 보면, 머신러닝이 '드물게 일어나는 이상한 현상'을 학습해 예견하는 건 분야를 막론하고 마찬가지일 것이란 결론에 이른다. 따라서 비단 배터리 열폭주만의 관점이 아니라, 그 어떤 재난 역시 마찬가지 상황이 아닐까. 그래서 이 글의 제목과 같이, 머신러닝은 어떤 영역에서든 '재난'의 상황을 예측하기 어려울 수 밖에 없지 않을까.
그럼에도 불구하고 수많은 분야에 머신러닝을 적용하겠다고 (좀 더 현실적으로, Supervised Learning을 감안해서라도) 돈과 노력을 쏟아붓는 일이 정말 실현 가능해서일까 의문이 든다. 우주과학처럼, 언젠가 다가올 날을 위한 순수학문 연구 지원 같은 일인 걸까?




요약:
1. 사흘 이내 상하는 '불량' 달걀을 머신러닝을 통해 찾아내고 싶음.
2. 사흘 이내 상한다고 '불량'이라는 건 그냥 실험자 기준임. 일단 그렇다고 치자.
3. 사흘 이내 상하는 달걀 신고 건 수가 엄청나게 적음. 사흘 이내 까먹지 않아서 모르기도 하고, 사흘 지나 발견해서 언제 상했는지 확인할 길이 없음. 통제 환경에서 세상의 모든 달걀을 관찰할 수 없음.
4. 사흘 이내 상한 달걀의 생산/보관/유통 과정이 천차만별임. 어느 게 영향을 줬는지도 사후 분석하기 곤란하고, 그나마의 사례를 케이스별로 모으면 종류별 건 수가 많지 않음.
5. 실컷 학습해놨더니 닭농장 사육 환경과 유통 시설, 가정 보관 환경, 계절적 요인 등이 다 바뀜.

'Work' 카테고리의 다른 글

Automotive Diagnostics  (0) 2023.11.11
CAN Frame 구조  (0) 2023.11.11
Industrial-technical-professional deception  (0) 2023.10.01
링크드인은 내게 제 몫을 했다  (0) 2023.01.02
간담회  (0) 2022.09.19