28
Random Forests 기법을 사용한 저수율 반도체 웨이퍼 검출 및 혐의 설비 탐색 고태훈, 김동일, 박은정, 조성준* Data Mining Lab., Seoul National University, [email protected] 한국BI데이터마이닝학회 2010 추계학술대회

Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

  • Upload
    vudung

  • View
    219

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

Random Forests 기법을 사용한

저수율 반도체 웨이퍼 검출 및 혐의 설비 탐색

고태훈, 김동일, 박은정, 조성준*

Data Mining Lab., Seoul National University,

[email protected]

한국BI데이터마이닝학회 2010 추계학술대회

Page 2: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

반도체 공정과 웨이퍼의 수율

▶ 반도체 공정은 수 백 개의 프로세스로 이루어져 있음

▶ 공정의 단위는 여러 개의 마이크로프로세서가 새겨져 있는 웨이퍼(wafer)

▶ 수율 : 한 웨이퍼 내의 반도체 중 정상적으로 작동하는 반도체의 개수로 측정

2

Introduction – 반도체 웨이퍼의 수율

Page 3: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

수율 측정의 어려움

▶ 고수율의 웨이퍼를 지속적으로 생산해내는 것이 중요

▶ 수율은 모든 프로세스를 거친 후에야 도출

▶ 각 공정 프로세스 사이에 계측 공정을 두어 생산 품질을 실시갂으로 측정하는 대안

비용 및 생산성에 의해 젂체 웨이퍼 중 약 4%만 품질 계측 실시

생산 설비에서 나오는 센서 정보(FDC data : Fault Detection & Classification data)

존재

3

Introduction – 수율 측정의 어려움

Page 4: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

혐의 설비 파라미터 탐색의 필요성

▶ 저수율 웨이퍼가 나오는 이유 : 반도체 공정의 각 프로세스에서 정해진 공장 레시피

(온도, 압력, 가공 시갂 등)대로 작업이 이루어지지 않았기 때문

▶ 수율을 낮추는 혐의 설비 파라미터를 찾아내면, 해당 프로세스의 집중적인 관리를 통

해 최종적인 수율을 향상시킬 수 있음

4

Introduction – 혐의 설비 파라미터

Page 5: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

FDC 데이터의 특성

▶ 레코드 수에 비해 입력 변수의 수가 상대적으로 많음

: 이유? 반도체 공정 과정이 복잡하기 때문

▶ 예) 공정 단계 = 400 단계, 각 단계에서 100 단위의 공정이 이루어 진다고 가정

- 총 공정 단위 수 = 400 * 100 = 40,000 단위

- 각 단위에서 설비 파라미터가 발생하면, 총 40,000개의 입력 변수가 발생!

▶ 데이터가 fat한 형태

5

Introduction – FDC 데이터의 특성

Page 6: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

Random Forests

▶ Developed by Leo Breiman(father of CART®) at University of California, Berkeley

(1996, 1999)

▶ Special case of the “model averaging” approach

▶ Attempt to reduce bias of single tree

6

Random Forests

0 10 1

W1

W2 W3

Page 7: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

Why Random Forests?

▶ Decision Tree

Advantages : Extracting decision rules (If A, then B) & Selecting important predictors

automatically

Limitations : High bias (Poor fitting to a nonlinear decision boundary)

▶ Why RF? To maintain some advantage(Selecting important predictors) while

reducing bias!

7

How to?

Evaluating each predictor

2 randomization

(1) Bagging (or Bootstrap aggregation) (L.Brieman, 1994)

(2) Predictor subsets chosen randomly

Random Forests

Page 8: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

Evaluating each predictor

▶ In Random Forests, each single tree selects important predictors automatically.

▶ Random Forests can evaluate each predictor by combining all single tree‟s opinion.

8

1,2,3,4

1,2 3,4

mean = 2.5MSE = 1.25

mean = 1.5 mean = 3.5

MSE = 0.25 * 0.5 +

0.25 * 0.5 = 0.25

MSE decrease = 1

MSE= 1.25

MSE = 0.25 MSE = 0.25

RF – Evaluating each predictor

1x 1x

Page 9: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

Evaluating each predictor

▶ Consider a forest of 4 trees

9

MSE decreaseby X1 = 1

MSE decreaseby X1 = 1.2

MSE decreaseby X1 = 3.2

MSE decreaseby X1 = 0.75

Importance of X1 = mean MSE decrease = 1 1.2 3.2 0.75

1.53754

RF – Evaluating each predictor

Page 10: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

Randomization through “bagging”

▶ Parallel combination of learners, independently trained on distinct bootstrap

samples

▶ Final prediction is the mean prediction (regression) or

class with maximum votes (classification)

Bagging methods reduce variance

▶ 검은 선 : 실제 decision boundary

▶ 초록 선 : Single tree‟s decision boundary

▶ 빨간 선 : Random Forest‟s decision boundary

10

RF – 2 randomization

Page 11: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

Randomization through “predictor subsets”

▶ If each single tree in forest uses all predictors, it is just a “simple” bagging method

▶ Random Forests algorithm chooses predictor subsets randomly, and constructs a

single tree by training each predictor subset.

▶ The number of predictors of each tree =

Generally, in a classification problem,

Generally, in a regression problem,

11

[Example] Predictor set = {X1, X2, X3, …, X12}

Regression tree 1‟s predictor subset = {X1, X4, X5, X9}

Regression tree 2‟s predictor subset = {X1, X2, X10, X11}

Regression tree 3‟s predictor subset = {X7, X8, X10, X12}

Regression tree n‟s predictor subset = {X1, X2, X6, X12}

trym

( : number of all predictors)trym k k

/ 3trym k

RF – 2 randomization

Page 12: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

데이터 설명

▶ 데이터의 레코드 수가 비교적 충분한 4개의 Group과 젂체 데이터에 대한 분석

: Group 2, Group 4, Group 5, Group 7 and All Groups („5개‟의 경우)

12

데이터 설명

Group 데이터 수집 기간 # of records

1 1일갂 수집 3

2 17일 간 수집 74

3 1일갂 수집 6

4 44일간 수집 139

5 28일간 수집 157

6 16일갂 수집 34

7 19일간 수집 128

8 1일갂 수집 3

All 젂체 기간 544

Page 13: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

데이터 설명

▶ 입력 변수 : 젂처리 후 387개 사용

다양한 형태의 시계열 분포

▶ 출력 변수 : 품질을 나타내는 3개의 지표 존재

13

데이터 설명

Page 14: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

분석 알고리즘

▶ Regression Random Forests algorithm

벤치마크 알고리즘

▶ Stepwise Linear Regression (Stepwise-LR)

입력변수의 추가와 제거를 반복하여 입력변수를 선택

변수 추가 : 선형 회귀 분석의 정확도에 기여도가 높은 변수를 하나씩 추가

변수 제거 : 선형 회귀 분석의 정확도 향상에 불필요한 변수를 하나씩 제거

▶ Genetic Algorithm – Linear Regression (GA-LR)

랜덤하게 초기 해집단을 생성

해의 적합도를 판단하기 위해 회귀모델 평가 기준인 MSE(Mean Squared Error)를 사용

재생산(selection), 교배(crossover), 돌연변이(mutation) 등을 거쳐 알고리즘 종료

14

RF를 이용한 회귀분석

※ 3 알고리즘에 대해 모두 10-fold cross validation 실시

Page 15: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

성능 평가 지표

▶ RMSE(Root Mean Squared Error)를 사용 회귀분석 시행 결과 낮은 RMSE를 선택

▶ 실제 출력변수와 예측된 출력변수의 유사도를 나타내는 사용

교차 검증(cross validation) 실시

▶ 데이터 레코드의 수가 적기 때문

▶ 모델을 10-fold 교차 검증을 이용하여 평가

15

2R

RF를 이용한 회귀분석

Page 16: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

Stepwise-LR

16

RF를 이용한 회귀분석

Group Y1 Y2 Y3

2 0.1646 0.6134 0.2267

4 0.4164 0.3394 0.3695

5 1.1283 1.3608 0.7568

7 1.6608 1.4786 2.0585

All 2.0752 3.0479 1.9992

Group Y1 Y2 Y3

2 41 27 27

4 16 32 39

5 20 14 31

7 32 48 45

All 35 34 31

RMSE

# of selected predictors

Page 17: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

GA-LR

17

RF를 이용한 회귀분석

Group Y1 Y2 Y3

2 0.3332 0.5073 0.1616

4 0.3250 0.3323 0.3253

5 0.5406 1.0010 0.6110

7 2.1755 1.1897 1.1967

All 2.0109 2.8851 1.9704

Group Y1 Y2 Y3

2 53 69 91

4 78 74 83

5 75 64 59

7 117 99 91

All 96 87 77

RMSE

# of selected predictors

Page 18: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

Random Forests

18

RF를 이용한 회귀분석

Group Y1 Y2 Y3

2 0.7650 1.1150 0.5014

4 0.3962 0.4313 0.5511

5 1.0368 1.1860 0.9031

7 2.4396 3.9988 2.8984

All 1.4944 2.1527 1.4753

RMSE

# of selected predictors

N/A

Page 19: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

19

Group # of records Y Best Model RMSE R^2

2 74

1 GA-LR 0.1646 0.9820

2 GA-LR 0.5073 0.9175

3 GA-LR 0.1616 0.9570

4 139

1 GA-LR 0.3250 0.6570

2 GA-LR 0.3323 0.7994

3 GA-LR 0.3253 0.7780

5 157

1 GA-LR 0.5406 0.8780

2 GA-LR 1.0010 0.6288

3 GA-LR 0.6110 0.7829

7 128

1 Stepwise-LR 1.6608 0.8849

2 GA-LR 1.1897 0.9685

3 GA-LR 1.1967 0.9113

All 544

1 Random Forests 1.4944 0.7448

2 Random Forests 2.1527 0.7516

3 Random Forests 1.4753 0.7540

실험 결과 – Best Model

RF를 이용한 회귀분석

Page 20: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

출력변수의 2-클래스화 : Excursion vs. Normal

▶ Excursion : 갑자기 불량 정도가 크게 증가한 데이터 레코드

▶ 그 외의 레코드는 Normal로 분류

20

RF를 이용한 분류

Page 21: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

Excursion과 Normal의 구분 기준

▶ 각 Group과 출력변수의 조합별로 서로 다른 기준을 적용

Group 2, Group 4, Group 5, Group 7, All groups 5개

target : 각 Group 별로 3개

총 15가지의 경우의 수

▶ 평균보다 c-sigma 이상 큰 데이터는 excursion으로 분류

Expert domain knowledge 기반으로 하여, 각각의 15가지 경우의 c를 다르게 설정

21

RF를 이용한 분류

If ( ) ( ), then "excursion"ij ij ij ijY mean Y c Y

( 1,2,3,4,5 1,2,3)i j

Page 22: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

오버샘플링 수행

▶ 각 group별로 excursion 레코드의 수가 매우 적기 때문에, 오버샘플링 수행

▶ Excursion 데이터에 노이즈를 추가

22

RF를 이용한 분류

GroupY1 Y2 Y3

normal excursion total normal excursion total normal excursion total

2 71 3 74 71 3 74 70 4 74

4 133 6 139 133 6 139 137 2 139

5 148 9 157 147 10 157 137 20 157

7 105 23 128 108 20 128 110 18 128

All 476 68 544 472 72 544 491 53 544

GroupY1 Y2 Y3

normal excursion total normal excursion total normal excursion total

2 71 71 142 71 71 142 70 70 140

4 133 133 266 133 133 266 137 137 274

5 148 148 296 147 147 294 137 137 274

7 105 105 210 108 108 216 110 110 220

All 476 476 952 472 472 944 491 491 982

Page 23: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

분석 알고리즘

▶ Classification Random Forests algorithm

벤치마크 알고리즘

▶ Logistic Regression

▶ Single Decision Tree

평가지표

23

RF를 이용한 분류

※ 3 알고리즘에 대해 모두 10-fold cross validation 실시

Predictive

Excursion Normal

Act

ual

Excursion TP FN

Normal FP TN

Sensitive : TP/(TP+FN)

(실제 Excursion을 모델이 Excursion이라고

예측하는 비율)

Specificity : TN/(FP+TN)

(실제 Normal을 모델이 Normal이라고

예측하는 비율)

Page 24: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

실험 결과

24

RF를 이용한 분류

Group Y # of recordsLogistic Regression Decision Tree Random Forests

Sensitivity Specificity Sensitivity Specificity Sensitivity Specificity

2

1 142 0.8425 0.9754 0.8754 0.9921 0.9296 1.0000

2 142 0.8454 0.9825 0.8763 0.9874 0.9296 1.0000

3 140 0.8541 0.9798 0.8698 0.9823 0.9286 1.0000

4

1 266 0.8579 0.9465 0.8493 0.9745 0.9549 1.0000

2 266 0.8621 0.9874 0.8458 0.9789 0.9699 1.0000

3 274 0.8520 0.9547 0.8721 0.9825 0.9635 1.0000

5

1 296 0.8654 0.9614 0.8948 0.9890 0.9662 1.0000

2 294 0.8745 0.9501 0.8714 0.9901 0.9660 1.0000

3 274 0.8512 0.9682 0.8412 0.9821 0.9416 1.0000

7

1 210 0.8621 0.9732 0.9021 0.9800 0.9524 0.9905

2 216 0.8685 0.9520 0.9114 0.9514 0.9630 0.9722

3 220 0.8579 0.9421 0.8942 0.9632 0.9273 0.9909

ALL

1 952 0.8754 0.9541 0.8821 0.9588 0.9664 0.9979

2 944 0.8954 0.9325 0.9102 0.9520 0.9746 0.9979

3 982 0.8746 0.9387 0.8925 0.9687 0.9695 0.9980

Page 25: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

변수 명 중요도*로 정렬된 순서

X313 1

X387 2

X145 3

X285 4

X333 5

X31 6

… …

25

RF를 이용한 분류

변수 선택 결과

Domain expert로부터 실제 공정에 중요한 변수임을 확인함

변수 Xi의 중요도

= 변수가 선택된 모델의 수

* (각 모델에서) Xi의 중요도 합

Page 26: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

Regression Random Forests

▶ 회귀분석 문제인 경우, 데이터 레코드가 어느 정도 충분히 있는 경우에는 Linear

Regression 모델보다 더 나은 성능을 보임

▶ 유의미한 입력 변수들을 추출해냄

Classification Random Forests

▶ 분류 문제인 경우, Excursion 레코드와 Normal 레코드를 상당히 높은 수준의 성능으

로 예측함

Excursion 레코드를 miss함으로써 발생하는 추가 비용 감소

Excursion이 많이 발생하는 공정 초기 단계에서 유용하게 쓰일 수 있을 것

Normal 레코드를 miss함으로써 발생하는 기회 비용 감소

▶ 유의미한 입력 변수들을 추출해냄

26

요약 및 결롞

Page 27: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

Fat data에 대한 모델링

▶ 데이터 레코드 개수에 비해 입력 변수의 개수가 많은 fat data를 분석하는 것은

패턴인식 및 데이터마이닝에서도 중요한 화두임

▶ 반도체 공정 데이터는 대표적인 fat data의 유형임

▶ Random Forests는 입력 변수들의 여러 가지 조합을 고려하는 알고리즘이므로

이러한 fat data를 처리하기에 적합한 모델로 보임

향후 과제

▶ 선택된 변수의 유의성에 대한 객관적인 검증

Domain expert로부터 어느 정도 유의성을 입증 받았으나 실제 공정에서도 유의한지 좀 더

객관적인 검증이 필요

▶ 2-class 분류 문제가 아닌, Novelty Detection(1-class) 등의 다양한 기법을 적용

27

요약 및 결롞

Page 28: Random Forests 기법을사용한 저수율반도체…dmlab.snu.ac.kr/~lucypark/docs/2010-12-kdms.pdf · 반도체공정과웨이퍼의수율 반도체공정은수백개의프로세스로이루어져있음

28

References

Brieman, L., 1996. Bagging predictors, Machine Learning 24, pp.123-140.

Brieman, L., 2001. Random Forests, Machine Learning 34, pp.5-32.

Segal, Mark R., 2004. Machine Learning Benchmarks and Random Forest

Regression, Center for Bioinformatics & Molecular Biostatistics.