본문 바로가기
엑셈 기업문화

엑셈 뉴스룸 | 엑셈의 딥러닝 제조 이상탐지 현황

by EXEM 2018. 11. 5.

 

 엑셈은 현재 산업통상자원부의 과제를 진행중입니다. 사실 긴 정식 이름은 따로 있지만, 사내에서는 제조AI과제라고 짧게 부르고 있습니다. 제조 장비가 언제 멈출지, 혹은 고장 날지 미리 알려주고, 정비하게 해서 생산성을 높이는 것을 목적으로 합니다. 이 기술은 마법은 아니고요ㅎㅎ 딥러닝을 사용합니다. 

 사실 초기에 고민이 많았습니다. 일반적인 딥러닝의 분류(classification)을 적용하려고 했는데 여의치 않았습니다. 정상적인 상태와 비정상적인 상태의 데이터가 균등해야 하는데, 그렇지 않았거든요. 고양이 사진과 강아지 사진을 분류하는 딥러닝을 하려면 고양이 사진과 강아지 사진의 수가 비슷해야 합니다. 고양이 사진을 보여주면서 이건 고양이, 그리고 강아지 사진을 보여주면서 이건 강아지, 이렇게 반복해야 합니다.



 그런데 제조설비는 그렇지 않습니다. 거의 대부분이 정상 상태의 것이고, 우리가 탐지하려는 비정상 상태는 거의 없었습니다. 사실 생각해 보면 그럴 수 밖에 없었는데요, 제품이 제대로 생산되어야 공장이 먹고 살 수 있죠. 기계가 멈춰 있거나 불량품이 계속 나오면 이미 망했겠죠? 그래서 비정상 상태의 데이터의 수가 정상 상태의 데이터보다 월등히 적어서 일반적인 딥러닝의 분류 방법은 포기했습니다.



 고민하다가 저희가 선택한 방법은 GAN입니다. 정상인 데이터들을 잔뜩 모아서 학습시키면, GAN은 정상처럼 보이지만 실제로는 존재하지 않는 데이터를 생성할 수 있습니다. 다음 이미지들은 영화배우 이미지인데요, 모두 잘생기고 예쁘죠. 그런데 누구인지 아시겠어요?



 어디선가 본 듯 한데 잘 모르시겠죠? 바로 이 사진들이 영화배우들 사진을 가지고 GAN을 학습해서 생성한 결과들입니다. 영화배우처럼 보이지만 실제로 존재하지 않는 이미지입니다.

 저희가 제조AI과제에 GAN을 적용한 아이디어는 다음과 같습니다. 제조 설비가 무언가 고장이 난다는 것은 기계 부품의 피로도가 높아져서 물리적으로 변형이 일어나는 것이고, 그리고 그러한 물리적인 변형이 일어나기 전의 어떤 값들은 평소 정상일 때와는 다를 것이라고 생각했습니다.

 예를 들어 구멍을 뚫는 드릴이 있는데, 그 드릴이 마모가 시작되면 드릴이 받는 힘이 달라질 것입니다. 그럼 그 드릴을 구동하는 전류의 값도 어떻든 정상일 때와는 다를 것이고, 그러다가 더 마모가 더 진행되고, 결국 부러지거나 불량품이 나오게 되겠죠. 그러니 마모가 시작될 때의 미묘하지만 평소와는 다른 전류값을 탐지해 낸다면 부러지거나 불량품이 나오는 것을 미리 예측하고 예방할 수 있겠다고 생각했어요.



 위 그래프는 실제 과제에서 측정된 드릴의 전류값입니다. 제조 설비의 부품 가공은 계속 반복됩니다. 한 개의 부품을 가공하고 나면, 새 부품이 오고 그걸 다시 가공하고, 그리고 다시 새 부품이 오고, 이렇게 계속 반복되죠. 매번 가공할 때마다 드릴 전류값을 측정해 보면 대부분 비슷합니다. 하지만 완벽히 똑같지는 않죠. 정상인 값들의 범위가 있습니다. 그런데 마모되어 고장이 나기 전의 전류값은 그 정상인 값들의 범위를 벗어날 것입니다. 그렇다면 정상인 값들의 범위를 구해서 이를 가지고 지켜보다가, 측정된 전류값이 정상 범위를 벗어난 이상을 탐지하면 장애를 예측할 수 있을 것입니다.

 GAN을 사용하면 위에서 설명했듯이 주어진 정상의 값을 생성해 낼 수 있습니다. 그것도 무한하게. 정상인 것들의 값을 많이 알고 있다면, 그 값들의 최대값과 최소값을 구할 수 있고, 그렇다면 정상 범위를 구할 수 있습니다. 아래는 그 방법을 도식화 한 것입니다.



 평소의 정상 데이터로 GAN을 학습시키고, 미래의 정상 데이터를 여러 개 생성합니다. 그 여러 개를 중첩하면 자연스럽게 정상범위가 생성되죠. 그리고 실제 데이터와 정상범위를 비교하다가 벗어나면 비정상인 상황이고, 이상이 탐지된 것이고 장애가 예측됩니다.



 실 시스템에 적용하면 이런 그래프가 나오는데요, 이러한 방법은 언급한 정상 데이터와 비정상 데이터 수의 비균등 문제를 해결할 뿐 아니라, 수작업으로 정상과 비정상을 분류해야 하는 레이블링 작업을 생략할 수 있어 비슷한 어려움을 가지고 있는 다양한 분야에 적용할 수 있습니다. 또한 제조 설비에서 발생한 시계열 데이터 뿐만 아니라, 영상 데이터를 대상으로 정상인 대상을 학습하고 정상과 다른 불량품이나 제품 결함을 찾아내는 것에도 사용할 수 있습니다. 현재 용접 동영상에서 용접 불량을 찾아내거나, 도로 동영상에서 도로가 파인 것을 탐지하는데 적용하고 있습니다.






기고 | AI팀 임도형 이사

편집 | 사업기획팀 박예영

댓글