Upload
vudung
View
219
Download
2
Embed Size (px)
Citation preview
Random Forests 기법을 사용한
저수율 반도체 웨이퍼 검출 및 혐의 설비 탐색
고태훈, 김동일, 박은정, 조성준*
Data Mining Lab., Seoul National University,
한국BI데이터마이닝학회 2010 추계학술대회
반도체 공정과 웨이퍼의 수율
▶ 반도체 공정은 수 백 개의 프로세스로 이루어져 있음
▶ 공정의 단위는 여러 개의 마이크로프로세서가 새겨져 있는 웨이퍼(wafer)
▶ 수율 : 한 웨이퍼 내의 반도체 중 정상적으로 작동하는 반도체의 개수로 측정
2
Introduction – 반도체 웨이퍼의 수율
수율 측정의 어려움
▶ 고수율의 웨이퍼를 지속적으로 생산해내는 것이 중요
▶ 수율은 모든 프로세스를 거친 후에야 도출
▶ 각 공정 프로세스 사이에 계측 공정을 두어 생산 품질을 실시갂으로 측정하는 대안
비용 및 생산성에 의해 젂체 웨이퍼 중 약 4%만 품질 계측 실시
생산 설비에서 나오는 센서 정보(FDC data : Fault Detection & Classification data)
존재
3
Introduction – 수율 측정의 어려움
혐의 설비 파라미터 탐색의 필요성
▶ 저수율 웨이퍼가 나오는 이유 : 반도체 공정의 각 프로세스에서 정해진 공장 레시피
(온도, 압력, 가공 시갂 등)대로 작업이 이루어지지 않았기 때문
▶ 수율을 낮추는 혐의 설비 파라미터를 찾아내면, 해당 프로세스의 집중적인 관리를 통
해 최종적인 수율을 향상시킬 수 있음
4
Introduction – 혐의 설비 파라미터
FDC 데이터의 특성
▶ 레코드 수에 비해 입력 변수의 수가 상대적으로 많음
: 이유? 반도체 공정 과정이 복잡하기 때문
▶ 예) 공정 단계 = 400 단계, 각 단계에서 100 단위의 공정이 이루어 진다고 가정
- 총 공정 단위 수 = 400 * 100 = 40,000 단위
- 각 단위에서 설비 파라미터가 발생하면, 총 40,000개의 입력 변수가 발생!
▶ 데이터가 fat한 형태
5
Introduction – FDC 데이터의 특성
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
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
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
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
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
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
데이터 설명
▶ 데이터의 레코드 수가 비교적 충분한 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
데이터 설명
▶ 입력 변수 : 젂처리 후 387개 사용
다양한 형태의 시계열 분포
▶ 출력 변수 : 품질을 나타내는 3개의 지표 존재
13
데이터 설명
분석 알고리즘
▶ 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 실시
성능 평가 지표
▶ RMSE(Root Mean Squared Error)를 사용 회귀분석 시행 결과 낮은 RMSE를 선택
▶ 실제 출력변수와 예측된 출력변수의 유사도를 나타내는 사용
교차 검증(cross validation) 실시
▶ 데이터 레코드의 수가 적기 때문
▶ 모델을 10-fold 교차 검증을 이용하여 평가
15
2R
RF를 이용한 회귀분석
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
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
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
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를 이용한 회귀분석
출력변수의 2-클래스화 : Excursion vs. Normal
▶ Excursion : 갑자기 불량 정도가 크게 증가한 데이터 레코드
▶ 그 외의 레코드는 Normal로 분류
20
RF를 이용한 분류
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
오버샘플링 수행
▶ 각 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
분석 알고리즘
▶ 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이라고
예측하는 비율)
실험 결과
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
변수 명 중요도*로 정렬된 순서
X313 1
X387 2
X145 3
X285 4
X333 5
X31 6
… …
25
RF를 이용한 분류
변수 선택 결과
Domain expert로부터 실제 공정에 중요한 변수임을 확인함
변수 Xi의 중요도
= 변수가 선택된 모델의 수
* (각 모델에서) Xi의 중요도 합
Regression Random Forests
▶ 회귀분석 문제인 경우, 데이터 레코드가 어느 정도 충분히 있는 경우에는 Linear
Regression 모델보다 더 나은 성능을 보임
▶ 유의미한 입력 변수들을 추출해냄
Classification Random Forests
▶ 분류 문제인 경우, Excursion 레코드와 Normal 레코드를 상당히 높은 수준의 성능으
로 예측함
Excursion 레코드를 miss함으로써 발생하는 추가 비용 감소
Excursion이 많이 발생하는 공정 초기 단계에서 유용하게 쓰일 수 있을 것
Normal 레코드를 miss함으로써 발생하는 기회 비용 감소
▶ 유의미한 입력 변수들을 추출해냄
26
요약 및 결롞
Fat data에 대한 모델링
▶ 데이터 레코드 개수에 비해 입력 변수의 개수가 많은 fat data를 분석하는 것은
패턴인식 및 데이터마이닝에서도 중요한 화두임
▶ 반도체 공정 데이터는 대표적인 fat data의 유형임
▶ Random Forests는 입력 변수들의 여러 가지 조합을 고려하는 알고리즘이므로
이러한 fat data를 처리하기에 적합한 모델로 보임
향후 과제
▶ 선택된 변수의 유의성에 대한 객관적인 검증
Domain expert로부터 어느 정도 유의성을 입증 받았으나 실제 공정에서도 유의한지 좀 더
객관적인 검증이 필요
▶ 2-class 분류 문제가 아닌, Novelty Detection(1-class) 등의 다양한 기법을 적용
27
요약 및 결롞
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.