새로운 프로젝트로 웨이퍼 맵 데이터를 활용한 이미지 분류와 관련된 연구를 진행하게 되었다. 이와 관련된 선행 연구를 찾아보던 중, 이 논문을 발견하게 되었고 프로젝트를 진행하는 데 있어 많은 도움이 될 것 같아 리뷰를 진행했다. 이 연구는 국내 반도체 기업에서 확보한 웨이퍼 맵 데이터를 통해 전처리 과정을 거쳐 이미지 분류 모델을 활용해 불량과 정상을 판단했다.
논문 : 합성곱 신경망을 이용한 웨이퍼 맵 기반 불량 탐지
0. 초록
- 이미지 분류에서 좋은 성능을 보여주는 합성곱 신경망을 웨이퍼 맵 이미지 데이터의 불량 여부를 판단하는 분류 모델로 사용
- 실제 제안하는 모델이 실제 반도체 공정에서 수집된 데이터를 활용한 실험을 통해 기본적인 다층 퍼셉트론과 랜덤 포레스트보다 더 나은 예측 정확도를 가지고 있음을 보여줌
1. 서론
- 대부분의 기업에서 엔지니어는 육안으로 EDS 테스트 결과인 웨이퍼 맵을 확인하여 웨이퍼 공정의 사후 분석을 진행함. 따라서 이러한 사후 분석은 숙련된 엔지니어들의 역량에 크게 의존하고 있으며, 엔지니어의 지식과 경험의 차이에 의해 동일한 웨이퍼 맵에 대하여 정상/불량의 판단 결과가 다르게 도출될 수 있음
- EDS(Electrical Die Sorting) 테스트란, 웨이퍼에 형성된 각 반도체 칩들의 전기적 동작 상태를 검사하여 불량품을 선별하기 위한 공정으로, 웨이퍼 맵(wafer map)이 결과물로 나옴
- 높은 정확도를 갖는 불량 탐지 기계학습 모델이 있다면 엔지니어의 다양한 지식을 전사적으로 통합한 웨이퍼 맵 정상/불량 판별 자동화가 가능하며, 엔지니어 또한 모델이 판별한 불량 웨이퍼에 집중하여 불량 원인을 찾는 등 수율 향상을 도모할 수 있음
- 웨이퍼 맵을 이미지로 간주하여 입력 데이터로 사용하고 엔지니어들이 각 웨이퍼 맵에 대해 정상/불량을 판단한 결과를 출력 데이터로 사용하는 합성곱 신경망 모델을 구축하여 불량 웨이퍼를 분류하는 모델을 제안
2. 선행 연구
- 선행 연구들의 경우 일반적으로 불량으로 판별된 웨이퍼들에 대해서 이후 단계로서 불량 패턴의 군집화 및 분류를 수행하지만, 본 연구에서는 엔지니어가 분석한 웨이퍼 맵으로부터 유용한 특징을 학습하여 추출하는 정상/불량 판별 모델로 소규모 패턴까지도 고려하여 불량 웨이퍼를 탐지함
3. 실험 설계
3.1 데이터
- 데이터는 국내 반도체 기업의 데이터로 제품군(SSD, DRAM 등)에 관련 없이 28,616개의 웨이퍼 맵을 사용
- 해당 회사의 엔지니어가 정상/불량을 판별한 로그 데이터로 모델의 정답으로 사용
- 정상 웨이퍼와 불량 웨이퍼의 비율은 각각 80%와 20%로, 범주 불균형(imbalanced)데이터이기 때문에 모델 학습에 영향을 미치지 않도록 모든 모델에 대하여 범주를 고려한 샘플링을 수행
- 데이터 전처리 1) 다이 압축
- <Figure 2>은 제품에 따라 웨이퍼 내부에 존재하는 다이의 크기가 다른 직사각형의 예시임. 직사각형은 하나의 다이를 표현하는 것이며, 다이 내 값은 모두 동일해 본 연구에서는 해당 직사각형을 하나의 픽셀로 줄임. 이러한 처리의 결과는 <Figure 3 >에 표현
- 다이의 크기를 동일함으로써 모델이 중복되는 정보를 고려하지 않아 데이터의 차원이 축소되고, 합성곱 신경망 모델이 빠르고 효율적으로 학습할 수 있음
- 데이터 전처리 2) 이진 웨이퍼 맵 구축
- 원 데이터의 다이 값이 0(어떤 테스트에도 반응 x)과 -1(엔지니어가 판단했을 때 검사가 필요하지 않아 검사 수행x), -2(웨이퍼의 형태 묘사. 셀에 해당하지 않는 원소)에 해당하는 경우 0의 값 할당, 나머지 다이에 대하여는 1의 값을 할당하여 < Figure 4 >와 같이 변환
- 테스트의 성질에 상관없이 어떤 테스트라도 통과하지 못할 경우 1의 부여하는 방식. 테스트 각각의 특성에 대한 정보가 손실될 가능성이 있지만, 예측 모델을 구축하는데 있어 효율성을 향상
- 데이터 전처리 3) 패딩(padding)
- 이진 웨이퍼 맵은 데이터의 희소성은 피했으나 웨이퍼 별로 이미지의 크기가 다를 수 있어 모든 웨이퍼 맵의 크기를 크기가 가장 큰 웨이퍼 맵과 동일하게 되도로 패딩 기법을 활용하여 변환
- 패딩으로 생성된 웨이퍼 맵은 47x62의 크기를 가짐
3.2 합성곱 신경망 모형
- 합성곱 신경망과 더불어 비교를 위한 기본적인 인공 신경망인 다층 퍼셉트론, 랜덤 포레스트를 이용하여 총 3개의 모델 구축
- 각 모델은 무작위 샘플 방식을 통해 8:2 비율로 나눠진 학습/검증 데이터셋 30개를 통해 학습하여 결과를 산출
- 합성곱 신경망
- 합성곱 층, 풀링 층, 완전 연결 층을 쌓아 구축. 완전 연결 층은 일반적인 다층 퍼셉트론 연산과 동일
- 대표적인 구조들은 가로와 세로 픽셀의 크기가 200 이상인 이미지를 입력 데이터로 사용하지만 현재 웨이퍼 맵 데이터의 경우 크기가 47x62로 필요한 합성곱 연산의 수가 적어져 상대적으로 복잡도가 적은 구조를 채택
- 합성곱 신경망의 세부 구조
- 모든 합성곱 층(convolution layer)은 3x3의 필터를 스트라이드(stride) 1로, 최대 풀링 층의 사이즈는 2x2와 스트라이드 2로 시행
- 모든 합성곱 층과 완전 연결 층(fully connected layer)에는 배치 정규화(batch normalization)와 ReLU 비선형 함수를 사용
- 학습율(learning rate)은 10^-3에서 시작하여 10,000번 학습한 뒤부터 매 5,000회마다 10^-1씩 비례하여 감소
- 경사하강법(gradient descent)으로 첫 20,000회는 Adam, 이후에는 미니-배치 경사 하강(mini-batch gradient descent, MGD)로 10,000회 시행하여 총 30,000회 반복
- 배치(batch)의 크기는 32, 데이터의 범주 불균형을 고려하여 각 배치는 정상 웨이퍼와 불량 웨이퍼를 각각 16개씩 1:1 비율로 맞추어 샘플링 수행
3.3 성능 평가
- 범주 불균형을 가지고 있기 때문에 정확도(accuracy)와 더불어 TPR, TNR, 정밀도(Precision), F1 score, BCR(Balanced Classification Rate), AUROC 총 7개의 지표를 사용
- 본 연구의 중요한 범주는 불량이기에 불량 웨이퍼를 Positive로 간주
- 모든 모델들은 각 웨이퍼 맵이 정상/불량일 확률을 산출. 분류 기준값은 0.5로 이보다 높으면 불량, 낮으면 정상으로 판별한 뒤 혼동 행렬 구성
4. 실험 결과
- < Table 3 >을 보면 알 수 있듯이 모든 지표에서 합성곱 신경망이 가장 좋은 성능을 보여줌
- 실제 현장에서는 TPR이 높더라도 정밀도가 낮은 경우 정상 제품에 대하여 불량이라고 판단하는 오경보가 자주 발생하며, 이는 공정 엔지니어들의 신뢰를 낮추는 주요 원인이 되는데, TPR과 정밀도가 모두 높은 합성곱 신경망이 실질적인 활용 관점에서도 매우 효과적으로 사용 가능
5. 결론
- 본 연구는 기존에 웨이퍼 맵으로부터 불량 패턴을 군집화하거나 분류하는 선행 연구들과는 달리 합성곱 신경망을 이용하여 웨이퍼의 정상/불량을 직접 탐지하는 모델을 제안
- 본 합성곱 신경망 모델은 패턴 분석을 모델에게 맡겨 중요한 특징을 찾도록 함으로써 웨이퍼 맵 패턴의 분석의 궁극적인 목적인 불량 웨이퍼 탐지를 한번에 모델링하여 단계를 축소
- 다양한 테스트 결과를 0과 1 두개의 숫자로 요약하여 많은 정보가 손실
코멘트
- 데이터의 범주가 불균형한 것에 대해 고려해야 한다. 본 연구에서는 배치별로 불량과 정상의 비율을 1:1로 가져갔고, 평가 지표 또한 정확도만 보는 것이 아닌 여러 가지 지표를 활용해서 확인했다.
- AlexNet 등 대표적인 이미지 분류 모델을 활용하기 위해선 input 값이 되는 이미지 데이터의 가로 세로 픽셀의 크기가 200 이상이 되어야 하는데, 이에 대한 확인이 필요하다.
- 제안하는 합성곱 신경망 내 다양한 모델들을 대상으로한 비교가 아닌, 합성곱 신경망과의 비교 대상으로 기본적인 다층 퍼셉트론과 랜덤 포레스트를 활용해서 비교하는 아이디어가 좋은 것 같다.