sbML 제품 특징
- R 패키지로 구현된 sbML 패키지는 다양한 데이터 및 모델 학습 옵션을 가지고 시뮬레이션을 수행하여 최적의 학습 데이터 생성 및 모델 생성 옵션을 찾을 수 있다.
- 현실 세계의 데이터는 모델링에 편향(오판단)에 영향을 주는 잡음 데이터를 제거하여 최적의 학습 데이터 생성하여 모델 정확도를 획기적으로 높였다.
- 예측 시스템 구축에서 가장 비용과 시간이 많이 드는(70~80% 차지) 모델링 생성까지의 개발 시간을 혁신적으로 줄일 수 있을 뿐 아니라, 예측에 사용하고자하는 데이터가 만족하는 예측을 보이는지 빠르게 판단할 수 있다.
1. 반도체 제조 공정 중 단품 공정에서 생성되는 데이터
실제 반도체 제조 공정에서 수집되는 데이터를 deep learning 모델인 rpart 모델로 예측을 수행했다.
단품 제조 공정은, 쉽게 생각하면, 우리가 PC용 메모리를 구매했을 때 카드에 붙어 있는 까만 1개의 메모리 칩으로 생각하면 된다.
이 공정에서 생성된 데이터는 머신러닝을 적용하기에 적합한 데이터 형태를 띤다. 모델링에 사용하기 위해 수집한 데이터의 예측 변수는 4000개나 되었다. 실제로 모델링 생성 후 판정에 사용한 변수를 보면 약 100개 내외를 가진다.
모델링 생성에 사용한 데이터와 예측에 사용한 데이터는 분리해서 사용하여 과적합 현상(모델링에 사용한 데이터와 예측에 사용한 데이터가 같으면 상당히 높은 예측력을 보임. 그러나 모델링에 사용하지 않은 데이터를 가지고 예측을 수행하면 실망할 정도의 낮은 예측력을 가짐)이 발생하지 않도록 했다.
전체 데이터 수집은 6개월로 했으며, 모델링 생성에 사용한 데이터는 5개월 데이터, 모델링 결과 평가에 사용한 데이터는 1개월 데이터를 사용했다.
단품 제조 공정은, 쉽게 생각하면, 우리가 PC용 메모리를 구매했을 때 카드에 붙어 있는 까만 1개의 메모리 칩으로 생각하면 된다.
이 공정에서 생성된 데이터는 머신러닝을 적용하기에 적합한 데이터 형태를 띤다. 모델링에 사용하기 위해 수집한 데이터의 예측 변수는 4000개나 되었다. 실제로 모델링 생성 후 판정에 사용한 변수를 보면 약 100개 내외를 가진다.
모델링 생성에 사용한 데이터와 예측에 사용한 데이터는 분리해서 사용하여 과적합 현상(모델링에 사용한 데이터와 예측에 사용한 데이터가 같으면 상당히 높은 예측력을 보임. 그러나 모델링에 사용하지 않은 데이터를 가지고 예측을 수행하면 실망할 정도의 낮은 예측력을 가짐)이 발생하지 않도록 했다.
전체 데이터 수집은 6개월로 했으며, 모델링 생성에 사용한 데이터는 5개월 데이터, 모델링 결과 평가에 사용한 데이터는 1개월 데이터를 사용했다.
- 검증 데이터 (1개월)에서 관측된 FAIL은 6개, PASS는 49개
- 검증 데이터를 가지고 예측을 수행한 값은 FAIL 14, PASS 41 개를 보였다
이 데이터를 contingency table로 보면
관측 결과 | ||
---|---|---|
예측 결과 | FAIL | PADD |
FAIL | 6 | 8 |
PASS | 0 | 41 |
표2: contingency table
예측을 틀리게 한 오류률은 0.15%가 된다. 실제로 우리가 중요하게 생각하는 데이터는 FAIL(불량)이다. 관측된 불량 모두 찾아냈다. 이 모델은 오류율을 최소로 하기 보다는 불량 검출율이 최대가 되도록 생성했다.
실제론 제품의 품질 검사를 수행할 수 있는 수량에 맞게 샘플링 추출하여 품질 검사를 수행하게 된다. 여기서는 전체 생산량에서 품질 검사를 수행할 수 있는 용량이 30%로 가정하여 진행하였다. 14 / 55 약 25%를 추출하면 모든 불량을 걸러 낸다.
실제론 제품의 품질 검사를 수행할 수 있는 수량에 맞게 샘플링 추출하여 품질 검사를 수행하게 된다. 여기서는 전체 생산량에서 품질 검사를 수행할 수 있는 용량이 30%로 가정하여 진행하였다. 14 / 55 약 25%를 추출하면 모든 불량을 걸러 낸다.
2. 반도체 제조 공정 중 모듈 공정에서 생성되는 데이터
모듈 제조 공정은, 우리가 PC용 메모리 카드를 구매했을 때 메모리 카드로 생각하면 된다. 여러개의 칩(단품)이 모여 하나의 모듈을 제작하는 공정이다.
모듈 공정에서 수집된 데이터는 수집된 예측 변수가 42개 뿐이었다. 이는 모델링을 수행하기 턱없이 모자란다. 그리고 수집된 데이터는 중복 데이터 존재, 같은 값을 가져도 PASS/FAIL 이 달라지는 데이터도 존재했다. 또 모든 예측 변수가 0인데도 판정 결과가 FAIL인 경우도 있었다.
학습 데이터 및 데이터 사용은 단품과 같은 방법을 수행하여 과적합을 방지했다.
모듈 공정에서 수집된 데이터는 수집된 예측 변수가 42개 뿐이었다. 이는 모델링을 수행하기 턱없이 모자란다. 그리고 수집된 데이터는 중복 데이터 존재, 같은 값을 가져도 PASS/FAIL 이 달라지는 데이터도 존재했다. 또 모든 예측 변수가 0인데도 판정 결과가 FAIL인 경우도 있었다.
학습 데이터 및 데이터 사용은 단품과 같은 방법을 수행하여 과적합을 방지했다.
2.1. 결정 트리 계열이고 DEEP LEARNING 모델링 방업인 rpart 사용
여기서는 Fail을 가장 많이 찾도록 모델링을 생성했다. 데이터는 모델링에 적합하지 않은 특징을 가자며, 모든 오류를 찾아내는 모델링을 생성하는 것이 불가능했다.
- 검증 데이터 (1개월)에서 관측된 FAIL은 16개, PASS는 389개
- 검증 데이터를 가지고 예측을 수행한 값은 FAIL 29, PASS 376 개를 보였다
이 데이터를 contingency table로 보면
관측 결과 | ||
---|---|---|
예측 결과 | FAIL | PADD |
FAIL | 6 | 23 |
PASS | 10 | 366 |
표2: contingency table
예측을 틀리게 한 오류률은 0.08%가 된다. 실제로 우리가 중요하게 생각하는 데이터는 FAIL(불량)이다. 관측된 불량 16개에서 6개를 맞췄고, 10개가 틀렸다, 모델링 결과에서 샘플을 취하여 품질 검사를 수행하면 약 26%로 불량이 나온다.
현실에서 전수 검사를 수행하면(임의 추출 방식), 4% 비율로 에러가 발생한다. 비록 예측력은 낮지만 머신러닝을 도입하면, 더 많은 불량을 검출할 수 있다
이 모델은 에러률이 최소가 되도록 모델을 생성했다. 전처리 과정에서 생성된 다양한 데이터에서 높은 예측력을 가지는 모델이 사용한 중요 변수를 보면, 6 ~ 18개를 가진다. 즉 더 높은 예측력을 가지는 모델을 생성하기 위해서는 더 많은 변수를 수집이 필요하다.
현실에서 전수 검사를 수행하면(임의 추출 방식), 4% 비율로 에러가 발생한다. 비록 예측력은 낮지만 머신러닝을 도입하면, 더 많은 불량을 검출할 수 있다
이 모델은 에러률이 최소가 되도록 모델을 생성했다. 전처리 과정에서 생성된 다양한 데이터에서 높은 예측력을 가지는 모델이 사용한 중요 변수를 보면, 6 ~ 18개를 가진다. 즉 더 높은 예측력을 가지는 모델을 생성하기 위해서는 더 많은 변수를 수집이 필요하다.
3. 도입 가능성 및 효과
모델링 결과가 모든 FAIL를 찾아 낼 수 없어도 현재 사용하고 있는 방법보다 예측력이 좋으면 도입 가능하다. 품질 검사 공정에서 무작위로 추출하거나, 통계적 기법을 이용하여 품질 검사에 사용할 제품을 선택한다.
그리고 모델링에서 얻어진 변수 중요도는 부수적으로 얻을 수 있는 중요한 요소이다. 모델링에 사용된 변수 중에 중요한 변수가 무엇인지 나타낸다. 가정해서 모든 변수를 제조 장비에서 수집되는 데이터를 사용했다면 직접적으로 품질에 영향을 주는 장비가 어떤 장비인지 목록을 찾을 수 있다. 보통은 변수들 간에 관계가 있는지 통계적 기법을 사용하여 작업하지만 이 방법에는 작업이 옳바르게 수행되었는지 검증할 방법이 없거나 어렵다.
즉 머신 러닝을 도입하면 어느 정도 예측력을 보인다면 출고되는 제품에서 불량인 제품을 제거할 수 있고, 부수적으로 변수 중요도를 확인하여 품질 향상을 위해 어떤 장비를 제어함으로써 더 많은 생산성을 가질 수 있다.
일반적으로 데이터 사이언스의 도입은 회사 자체의 문화가 바뀌는 중대한 계기가 될 수 있다. 제조 과정에서 정확한 시뮬레이션 결과를 가지고 장비 설정을 변경하는 등 기존 기업 문화에 막대한 영향을 미친다.
그리고 모델링에서 얻어진 변수 중요도는 부수적으로 얻을 수 있는 중요한 요소이다. 모델링에 사용된 변수 중에 중요한 변수가 무엇인지 나타낸다. 가정해서 모든 변수를 제조 장비에서 수집되는 데이터를 사용했다면 직접적으로 품질에 영향을 주는 장비가 어떤 장비인지 목록을 찾을 수 있다. 보통은 변수들 간에 관계가 있는지 통계적 기법을 사용하여 작업하지만 이 방법에는 작업이 옳바르게 수행되었는지 검증할 방법이 없거나 어렵다.
즉 머신 러닝을 도입하면 어느 정도 예측력을 보인다면 출고되는 제품에서 불량인 제품을 제거할 수 있고, 부수적으로 변수 중요도를 확인하여 품질 향상을 위해 어떤 장비를 제어함으로써 더 많은 생산성을 가질 수 있다.
일반적으로 데이터 사이언스의 도입은 회사 자체의 문화가 바뀌는 중대한 계기가 될 수 있다. 제조 과정에서 정확한 시뮬레이션 결과를 가지고 장비 설정을 변경하는 등 기존 기업 문화에 막대한 영향을 미친다.
댓글 없음:
댓글 쓰기