Info) 아래 포스팅은 LGAimers에서 제공하는 AI 전문가 과정 중 서울대학교 문태섭 교수님의 [Explainable AI(XAI)] 강의에 대한 요약과 생각들을 정리한 것입니다. 정리된 내용들은 강의를 토대로 작성되었으나 수강자인 저의 이해도에 따라 일부 틀린 부분이 있을 수 있다는 점 알려드립니다. 잘못된 점이 발견될 시에는 즉각 수정하도록 하겠습니다. 또한, 강의의 모든 내용을 정리하기는 어렵기 때문에 인상깊었던 내용을 중심으로 정리하였습니다. 따라서, 설명의 맥락이 끊길 수도 있다는 점 양해 부탁드립니다. 

0. Introduction

이번 3강에서는 XAI 모델의 성능을 평가할 수 있는 여러 metric들과 XAI의 신뢰성에 대한 연구들을 살펴보았습니다. 지도, 비지도 학습에서 model이 얼마나 정확한지를 확인하기 위해 model의 성능을 측정하는 것이 필수적인 과정이라 할 수 있는데 마찬가지로 XAI 모델 또한 그 성능을 점검하는 것이 반드시 필요하며 이를 위한 다양한 측정 지표와 방법들이 존재합니다. 다만, XAI의 경우 예측 결과의 정확도나 오차보다는 그 예측 결과를 출력하는 과정에 초점이 맞춰져 있기 때문에 다소 다른 측정 방식이 사용됩니다. 

1. Human-based Visual Assessment

첫 번째로 가장 단순하며 원시적인 방법이라 할 수 있는 human-based visul assessment가 있습니다. 인간이 직접 개입하여 성능을 측정하는 방식이라고 할 수 있습니다. Amazon Mechanical Turk라고 불리는 AMT test에서는 사람이 직접 model이 내놓은 설명을 보고 이를 평가하는 test를 진행하게 됩니다. 가령, 사람들에게 모델이 출력한 결과에 대한 설명을 보여주고 문제(ex. 설명을 보고 무엇이 보이는지 선택)를 풀게 합니다. 그리고 문제에 대해 사람이 선택한 정답과 model의 분류 결과를 비교하여 모델의 설명이 잘 되었는지 확인하게 됩니다. 만약, 사람과 model 사이의 오차가 너무 크다면 그것은 결국 model이 설명을 잘 해내지 못했다는 것을 의미하며 모델의 성능을 높일 필요가 있음을 나타냅니다. 이러한 방식은 인간의 노동력을 필요하는 작업이기 때문에 비용이 많이 들게 됩니다. 

출처: 문태섭 교수님 강의자료

2. Human Annotation

두 번째는 human-annotation을 이용하는 방식으로 인간이 이미지에 달아놓은 localization, semantic segmentation 정보를 ground truth로 활용해 모델의 설명을 평가하는 방법입니다. 대표적으로 'pointing game' 과 'weakly supervised semantic segmentation' 방식이 있습니다. 'pointing game'은 bounding box를 활용하는 방법으로 인간이 그려낸(?) bounding box 안에 모델의 설명이 포함되는 지를 측정하는 것입니다. 모델이 설명을 만들어 낼 때 가장 중요하게 생각하는 pixel이 있을 것인데 그 pixel이 인간의 bounding box 범위 안에 있다면 어느 정도 잘 설명을 하는 것이라고 평가할 수 있습니다. 

'weakly supervised semantic segmentation'은 pixel마다 label이 주어져 있는 semantic segmentation 정보(이를 ground-truth로 설정)를 이용해 모델이 하이라이트한 설명과 비교해 정확도를 측정하는 방법입니다. 이때, metric으로 IoU(Intersection over Union)를 사용하게 되는데 이는 단어 뜻 그대로 합집합 대비 교집합의 비율로서 많이 겹쳐 수치가 높을 수록 좋은 모델이라는 것을 보여주게 됩니다. 아래 그림과 같이 두 semantic segmentation 사이에 intersection 부분이 많을 수록 model이 잘 설명을 짚어냈다고 할 수 있습니다. 

출처: 문태섭 교수님 강의자료

'pointing game', 'weakly supervised semantic segment'와 같은 방법들은 human annotation data를 구해야 하기 때문에 상당한 시간과 노력이 또 필요하게 됩니다. 그리고 어렵게 data를 구했다고 하더라도 localization과 segmentation label 정보가 절대적인 기준이 될 수 있는지 그 타당성 또한 불분명하여 적용하기가 어려운 경우도 있습니다. 

3. Pixel Perturbation

세번째로 pixel에 교란을 주어 출력값에 어떤 변화가 있는지 확인 비교하는 방식이 있습니다. 이미지의 특정 부분을 가리게 되었을 때 해당 class로 분류하게 되는 score 점수에 큰 변화가 생긴다면 그 가려진 부분은 모델의 prediction에 가장 핵심적인 역할을 한 부분이라고 판단할 수 있습니다. 한번 아래의 그림을 살펴보겠습니다. castle에 해당하는 부분을 지운 가운데 이미지에 대해서 모델이 castle이라고 분류할 score가 다른 부분을 지운 이미지보다 훨씬 더 크게 떨어지는 것을 확인할 수 있습니다. 어느 부분을 가리느냐에 따라 score값이 변하는 정도는 달라질 것입니다. 위의 경우에는 castle부분을 지운 사진에 대해서 score가 많이 떨어지게 되었고 이는 그만큼 모델이 이 이미지에서 castle에 해당하는 부분을 잘 찾아내고 있다는 것을 의미하게 됩니다. pixel perturbation에서는 'AOPC(Area Over the MoRF Perturbation Curve)', 'Insertion', 'Deletion'과 같은 각종 metric을 사용해 정확하게 비교 측정할 수 있습니다. 

출처: 문태섭 교수님 강의자료

'LGAimers' 카테고리의 다른 글

[XAI] 2강 정리 및 소감  (0) 2022.07.29
[XAI] 1강 정리 및 소감  (0) 2022.07.29
[품질과 신뢰성] Part5 & 6 정리  (0) 2022.07.28
[품질과 신뢰성] Part3 & 4 정리  (0) 2022.07.27
[품질과 신뢰성] Part1 & 2 정리  (0) 2022.07.26

Info) 아래 포스팅은 LGAimers에서 제공하는 AI 전문가 과정 중 서울대학교 문태섭 교수님의 [Explainable AI(XAI)] 강의에 대한 요약과 생각들을 정리한 것입니다. 정리된 내용들은 강의를 토대로 작성되었으나 수강자인 저의 이해도에 따라 일부 틀린 부분이 있을 수 있다는 점 알려드립니다. 잘못된 점이 발견될 시에는 즉각 수정하도록 하겠습니다. 또한, 강의의 모든 내용을 정리하기는 어렵기 때문에 인상깊었던 내용을 중심으로 정리하였습니다. 따라서, 설명의 맥락이 끊길 수도 있다는 점 양해 부탁드립니다. 

0. Introduction

이번 2강에서는 지난 시간의 saliency map-based 기법에 대해 더 알아보고 perturbation-based 방식에 대해 새로 학습하였습니다. perturbation-based model들은 기본적으로 data에 noise를 주거나 변형을 주어 algorithm의 예측 확률이 떨어지는 정도를 비교하는 공통된 아이디어를 가지고 있습니다. 저는 이 점이 굉장히 흥미로웠고 놀라웠습니다. data에서 가장 중요한 포인트가 없어지거나 왜곡이 되면 예측 결과에 큰 변화가 생긴다는 점을 역으로 활용하여 설명을 해낸다는 것이 정말 천재적인 발상의 전환이 아닐 수 없습니다. 이전의 지도학습에서 kernel trick을 통해 2차원의 data를 3차원으로 mapping하여 linear seperable하게 만들 수 있다는 것을 배운적이 있는데 이 못지않게 간단하지만 훌륭한 아이디어라고 생각됩니다. 

1. Saliency map-based

1.1 Class Activation Map (CAM)

CAM에서의 핵심은 GAP(Global Average Pooling)이라는 layer을 만들어 이를 통해 설명을 제공한다는 점입니다. global average pooling은 cnn layer에서 출력된 각 activation map들의 평균 activation을 연산하게 됩니다. 그리고 평균 activation을 soft max layer을 통해 선형 결합하여 각 label에 대한 확률로 계산하게 됩니다. 각 activation map의 평균 activation과 이에 선형 결합되는 w가 크다는 것은 최종 class 분류에 큰 영향을 주기 때문에 설명력이 있는 부분이라는 것을 의미하게 됩니다.

출처: 문태섭 교수님 강의 자료

CNN의 최종 layer의 해상도는 다소 떨어지기 때문에 upsampling을 통해 최종 시각화를 진행하게 됩니다. 아래 식은 class C에 대한 cam 결과를 나타낸 것입니다. summation 안의 A값은 activation map에 대한 값을 말하며 w값은 선형 이에 선형 결합되는 가중치값입니다. 위의 gap layer을 표현한 식이라고 생각하면 됩니다. 

출처: 문태섭 교수님 강의자료

cam은 이미지의 class에 해당하는 부분을 잘 하이라이트하며 적절한 threshold를 통해 bounding box까지 얻을 수 있다고 합니다. 이러한 성능적인 우수성 덕분에 objection detection, semantic segmentation과 같은 응용 분야에 활용이 되며 이를 weakly supervised learning이라고 합니다. 하지만 cam 방식은 gap layer가 있는 모델들에만 적용이 가능하여 model-specific하다는 단점이 있으며 마지막 convolutional layer에서의 activation map에서만 값을 얻을 수 있기에 visualization의 해상도가 다소 떨어집니다. 

1.2 Grad-CAM

Grad-CAM은 CAM의 단점을 극복하여 gap이 없어도 적용이 가능한 방법입니다. 아래식을 비교해보면 grad-cam의 경우 cam과 달리 weight 값을 마지막 convolutional layer에서의 값을 사용하지 않습니다.

해당 activation들에서 구한 gradinet를 global average pooling 과정을 거쳐 W 값으로 사용한다.
즉, 어떤 W가 특정모델구조를 가지고 학습된 W를 사용하는 것이 아니라, 어느 activation map의 gradient를 구한 후, 그것의 global average pooling 값으로 W를 적용하는 것이다.

활용하고자 하는 layer의 activation map까지 backpropagation을 진행하여 gradinet를 구하고, gradient를 pooling해서 해당 activation map을 결합하는 W로 사용하여 최종 설명을 구한다.

출처: 문태섭 교수님 강의자료

grad-cam은 모델이 어떤 출력 구조를 가지고 있더라도 그에 관계없이 backpropagation을 통해 gradient를 구할 수만 있다면 다 적용이 가능하다는 장점이 있습니다. 하지만, 평균 gradient를 사용하는 것이 종종 정확성에 있어 아쉬움이 있을 때가 있습니다. gradient가 크다는 것은 해당 activation에 대한 출력 값의 민감도가 크다는 것을 의미하지만 최종 결과를 출력하는 데에 있어 중요도를 정확히 반영하지 않는다는 것입니다. 

2. Perturbation-based 

앞서 살펴본 saliency map-based 방식은 white-box 방식입니다. 하지만 모델의 정확한 구조나 계수를 모르는 상태에서 입출력에 대한 정보만 가지고 있는 상태에서는 perturbation-based 방식이 사용 가능합니다. 입력 데이터를 조금씩 바꾸면서 그에 대한 출력을 보고 그 변화에 기반해서 설명하는 방식입니다. 

2.1 LIME(Local Interpretable Model-agnostic Explanations)

lime은 매우 복잡한 비선형적인 특징을 보이는 classifier들이 local하게는 선형적인 모델로 근사화가 가능하다는 아이디어에서 착안되었습니다. 주어진 데이터를 조금씩 교란(perturbate)해가며 이를 모델에 여러번 통과시키며 나오는 출력을 보고 입출력 pair를 간단한 선형 모델로 근사하여 설명을 얻어내는 방법입니다.  model-agnostic하고 black-box한 설명이라는 특징을 가지고 있습니다. 가령, 이미지를 여러 super-pixel들로 나눈 다음 분리된 super-pixel들 중 random하게 선택하여 이미지를 교란시킵니다. 그리고 perturbed된 이미지를 모델을 통해 예측하고 예측된 결과에 대한 확률을 비교합니다. 아래 그림과 같이 각 perturbed된 이미지에 대한 확률들이 다르게 나타나는데 이미지와 확률의 pair을 통해 선형계수를 학습합니다. 선형계수들을 통해 개구리 class로 예측할 때 중요한 역할을 한 super pixel들을 최종적으로 설명해낼 수 있게 됩니다.

출처: 문태섭 교수님 강의자료

lime 방법은 black-box설명 방법으로서 딥러닝 모델 뿐 아니라 주어진 입력과 그에 대한 출력만 얻을 수 있으면 어떤 모델에 대해서도 다 적용할 수 있는 설명 방법입니다. 하지만, 계산 복잡도가 높고 local하게도 non-linear한 경우에는 모델이 잘 적용되지 않는 단점이 있습니다. 

2.2 RISE(Randomized Input Sampling for Explanation)

rise는 lime과 마찬가지로 교란을 통해 설명을 진행하는 방식입니다. 아래 그림과 같이 랜덤한 mask를 씌운 input 이미지들을 모델에 입력하여 얼마나 확률이 떨어지는지 비교하여 하이라이트하게 됩니다.

출처: 문태섭 교수님 강의자료

rise 방식은 lime에 비해 더 좋은 성능을 보이지만 여러개의 mask를 만들어야 하기 때문에 계산 복잡도가 증가하고 mask들을 몇번 만드느냐에 따라 다른 결과들(noise)이 나올 수 있다는 단점이 있습니다. 

3. Influence function-based

black-box model에 대한 설명을 도출하는 방법 중 하나로 influence function-based 방식이 있습니다. 각 test image를 분류하는데 가장 큰 영향을 미친 train image가 해당 분류에 대한 설명이라고 보는 아이디어에서 시작된 XAI 방법입니다. 말로서는 조금 어려울 수 도 있으니 아래 그림을 통해 이해해보도록 하겠습니다.

하나의 예시로 RBF 커널을 사용한 SVM model과 cnn기반의 Inception model을 가지고 니모 물고기(test image)를 분류하는 작업을 진행했다고 가정해보겠습니다. 이 두 모델이 test image를 분류하는 데 사용한 기준은 서로 상이합니다. RBF SVM model의 경우 단지 색깔이 비슷한 이미지들을 가지고 test image에 대한 예측을 진행하였습니다. 니모 물고기와는 전혀 다른 종의 물고기이지만 색깔은 같은 엉뚱한 이미지를 기준으로 분류를 한 것입니다. 반면, Inception 모델의 경우 test image와 같은 종인 니모 물고기를 기준으로 분류 결과를 예측해냈습니다. 이처럼 분류 작업에 큰 영향을 미친 data를 통해 모델의 예측을 설명해낼 수 있고 그것이 합리적인지를 확인하여 model이 잘 학습되었는지 판단할 수 있습니다. 

출처: 문태섭 교수님 강의자료

 

'LGAimers' 카테고리의 다른 글

[XAI] 3강 정리 및 소감  (0) 2022.07.29
[XAI] 1강 정리 및 소감  (0) 2022.07.29
[품질과 신뢰성] Part5 & 6 정리  (0) 2022.07.28
[품질과 신뢰성] Part3 & 4 정리  (0) 2022.07.27
[품질과 신뢰성] Part1 & 2 정리  (0) 2022.07.26

Info) 아래 포스팅은 LGAimers에서 제공하는 AI 전문가 과정 중 서울대학교 문태섭 교수님의 [Explainable AI(XAI)] 강의에 대한 요약과 생각들을 정리한 것입니다. 정리된 내용들은 강의를 토대로 작성되었으나 수강자인 저의 이해도에 따라 일부 틀린 부분이 있을 수 있다는 점 알려드립니다. 잘못된 점이 발견될 시에는 즉각 수정하도록 하겠습니다. 또한, 강의의 모든 내용을 정리하기는 어렵기 때문에 인상깊었던 내용을 중심으로 정리하였습니다. 따라서, 설명의 맥락이 끊길 수도 있다는 점 양해 부탁드립니다. 

0. Introduction

이번 

1. Limitation of Supervised Learning

딥러닝을 기반으로 한 지도 학습은 이미지 처리, 음성 처리, 자연어 처리 등 다양한 분야에서 비약적인 기술 혁신을 이루어냈습니다. 그리고 많은 어플리케이션 분야에 활용되며 실질적으로 인간의 삶에도 영향을 미치기 시작했습니다. 하지만 우수한 성능에도 불구하고 지도학습 기반인 딥러닝 모델에는 중요한 한계점이 있습니다. 바로 대용량 학습 데이터로부터 학습하는 모델 구조가 점점 복잡해지면서 그 내부를 이해하기 어렵게 되었다는 것입니다. 즉, 모델에 입력을 넣으면 출력을 얻을 수 있는 black-box 방식으로 구현된다는 것만 확인될 뿐입니다. 그리고 이러한 점 때문에 여러 문제가 발생하게 됩니다. 모델이 예측한 결과가 인간에게 직접적인 영향을 미치는 경우 그 예측 결과가 타당한지에 대한 설명과 검토를 진행할 수 없다면 실효성에 있어 제약이 생기게 됩니다. 이와 관련된 흥미로운 사례 중 하나는 AI가 흑인과 동양인에 대해 인종 편향적인 예측 결과를 내놓았다는 것이 있습니다. 또한, 미국 재소자에 대한 재범죄율 예측 시스템인 Compass의 예측 결과를 설명한 결과 인종에 따라 다른 예측 결과를 보인 것이 확인되었습니다. 이처럼 제아무리 뛰어난 성능을 보이는 인공지능 모델이라고 하더라도 모델이 내놓은 결과가 생각보다 이상한 설명을 가지는 경우가 있습니다. 바로 이러한 점 때문에 설명가능한 인공지능(XAI)에 대한 연구와 개발이 필요하다고 할 수 있습니다. 

2. Explainability / Interpretability

설명 가능한 인공지능(XAI)에서 '설명 가능하다'는 것이 무엇을 의미하는지 살펴보면 다양한 해석이 가능합니다. 사전적으로 interpretability은 사람이 그 이유를 이해할 수 있게 해주는 것, 설명을 통해 모델이 결과를 예측할 수 있게 해주는 것, 이유를 설명할 수 있게 해주는 것 등 다양한 해석이 있을 뿐 구체적인 방법에 대해서는 알 수 없습니다. 다만, 최근의 연구들을 살펴보면 시각화를 통해 모델의 예측 결과에 영향을 미친 특징들을 찾아내어 설명을 하는 방식이 하나의 방법론으로서 활용되고 있음을 알 수 있습니다. 

3. Taxonomy of XAI Methods

XAI의 방법론을 다양한 기준에 의해 분류 해보면 다음과 같습니다. 가령, 일반적으로 많이 활용되는 선형 모델은 선형 계수(가중치)가 설명에 직접적인 영향을 주는 요소이기 때문에 Intrinsic하며, 전체 데이터에 대한 학습 결과를 설명하기 때문에 Global하고 모델의 정확한 구조가 선형회귀식으로 명확하기 때문에 White-box하고 선형 구조에만 적용 가능하기 때문에 Model-specific한 설명 방법입니다. 

Local
주어진 특정 데이터에 대한 예측 결과를 개별적으로 설명하려는 방법
설명 범위 Global
전체 데이터셋에서 모델의 전반적인 행동을 설명하고자 하는 방법
White-box
모델의 내부 구조를 정확하게 알고 있는 상황에서 설명을 시도하는 방법
모델의 구조 확인 가능여부 Black-box
모델의 내부 구조는 모르는 상태에서 단순히 모델의 입출력만 가지고 설명을 시도하는 방법
Intrinsic
모델의 복잡도를 훈련하기 이전부터 설명하기 용이하도록 제한한 뒤 학습을 시켜서 그 후 학습된 모델을 설명하는 방법
모델 통제 여부 Post-hoc
임의의 모델 훈련이 끝난 뒤에 XAI 방법을 적용하여 모델의 행동을 설명하는 방법
Model-specific
특정 모델 구조에만 적용 가능
적용 가능 범위 Model-agnostic
모델의 구조와 관계없이 어느 모델에도 항상 적용 가능

 4. Saliency map-based

4.1 Simple Gradient Method

Saliency map-based 방식은 예측 결과에 대한 설명을 히트맵 방식으로 이미지에서 중요하게 작용하는 부분을 하이라이트하는 방식입니다. 다양한 method들이 존재하는데 그 중 simple gradient method는 입력에 대한 모델의 gradient로 설명을 제공하게 됩니다. f(x)함수에 입력된 x0에 대한 출력에 대해 입력값의 각 pixel의 gradient를 계산해서 그 값을 각 pixel의 중요도로 사용합니다. 이러한 gradient 계산을 통해 pixel이 변화할 때 출력이 얼마나 변하는 지를 알 수 있기 때문에 각 pixel의 중요도를 파악할 수 있습니다.

아래 그림을 보면 모델이 강아지와 과일을 출력하는데 설명하는 부분을 하이라이트한 것을 볼 수 있습니다. 아주 분명하게 표시하지는 않았지만 어느정도 영역에 맞추어 표시했음을 알 수 있습니다. 저는 아직 이미지 처리를 공부해보지 않아 이 부분이 너무나도 신기하고 놀라웠습니다. 요즘 자율주행자동차가 각광을 받으며 image detection에 대한 연구가 활발히 진행되고 있는데 한번 관심을 가져보면 좋을 것 같다는 생각이 들었습니다. 

simple gradient method는 back-propagation을 통해 간편하게 계산할 수 있다는 장점이 있지만 매우 noisy한 결과를 가져올 수도 있다는 단점이 있습니다. 똑같은 예측 결과를 가지고 있는 조금씩 변하는 이미지들에 대한 설명이 다르게 나타나게 되며 이는 작은 noise에 대한 입력 gradient 값이 매우 noisy하다는 것을 나타냅니다. 

출처: 문태섭 교수님 강의자료

4.2 SmoothGrad

위의 문제를 보완하기 위해 SmoothGrad를 사용할 수 있습니다. SmoothGrad는 입력 데이터에 가우시안 noise를 섞어주어 noise가 섞인 input의 gradient들을 평균내어 설명하는 방식입니다. 이렇게 하면 noisy한 gradient들은 제거가 되고 평균적인 gradient값이 남게 된다고 합니다. 평균적으로 noise gradient를 계산하는 횟수는 50회 정도입니다. 아래 그림을 보면 기존의 simple gradient를 사용한 saliency map에 비해 smoothgrad 방식이 더 중요한 pixel을 찾아내는 것을 확인할 수 있습니다. smoothgrad는 평균을 통해 더 명확한 설명이 가능하게 된다는 장점이 있고 대부분의 saliency map에 사용할 수 있습니다. 하지만 noise의 횟수만큼 더 많은 computational load가 발생하는 단점이 있습니다. 

 

'LGAimers' 카테고리의 다른 글

[XAI] 3강 정리 및 소감  (0) 2022.07.29
[XAI] 2강 정리 및 소감  (0) 2022.07.29
[품질과 신뢰성] Part5 & 6 정리  (0) 2022.07.28
[품질과 신뢰성] Part3 & 4 정리  (0) 2022.07.27
[품질과 신뢰성] Part1 & 2 정리  (0) 2022.07.26

Info) 아래 포스팅은 LGAimers에서 제공하는 AI 전문가 과정 중 한양대학교 배석주 교수님의 [품질과 신뢰성] 강의를 정리한 것입니다. 정리된 내용들은 강의를 토대로 작성되었으나 수강자인 저의 이해도에 따라 일부 틀린 부분이 있을 수 있다는 점 알려드립니다. 잘못된 점이 발견될 시에는 즉각 수정하도록 하겠습니다. 

1. 신뢰성 분포와 신뢰성 척도

1.1 지수분포

지수분포는 첫번째 고장이 발생하기까지의 시간을 의미하며 지수분포의 고장률 함수는 t시간에 관계없이 일정하게 나타난다. 시간에 영향을 받지 않는 고장률은 지수분포가 유일하다. 지수분포는 욕조곡선에서 우발 고장기를 잘 설명하는 함수이다. 아래와 같이 고장률 함수는 고정적인 람다값을 가질 때 평균 수명은 람다의 역수값을 가지게 된다. 

출처: 배석주 교수님 강의자료

1.2 지수분포의 무기억성(Memoryless property of exponential distribution)

이산형 분포에서 기하분포가 무기억성을 갖는 반면 연속형 분포에서는 지수분포가 무기억성을 가지게 된다. 확률변수 X가 지수분포를 따른 다는 가정하에서 양의 실수 s, t에 대해서 다음과 같은 무기억성이 성립되는데 s까지 고장이 나지 않은 제품이 s+t까지 고장나지 않고 계속 사용가능할 확률은 이전의 시간 s와 관계없이 t까지 고장이 나지 않을 확률과 똑같다고 할 수 있다. 즉, 이전의 정상 작동 시간에 대한 기억을 고려하지 않은 것이다.

출처: 배석주 교수님 강의자료

가령, 버스 도착시간이 시간 당 6대인 지수분포를 따른다고 가정해보겠다. 이는 10분당 1대가 도착한다는 것을 의미하게 된다. 정류장에 도착해 5분을 기다려도 버스가 도착하지 않았다고 하면 이후 2분을 더 기다려서 버스가 도착할 확률은 처음 정류장에 도착해 2분을 기다려 버스가 도착할 확률과 같다. 이러한 지수분포의 무기억성 때문에 마모 과정에 대한 기억을 누적해야 하는 마모고장의 경우 지수분포를 도입할 수 없게 된다. 

1.3 지수분포와 포아송분포의 관계

지수분포는 어떤 사건이 발생하기까지 걸린 시간에 대한 분포를 표현하는데 사용된다. 이러한 발생 빈도를 나타내는 람다는 포아송 분포에서도 같은 의미로 사용되는데 포아송분포는 발생빈도에 따라 단위시간동안 발생하는 사건의 수를 나타낸다. 즉, 단위시간 당 발생한 사건 수를 역으로 보게 되면 한 사건이 발생하는데 걸린 시간으로 볼 수 있고 때문에 포아송 프로세스에서 첫번째 사건이 발생하는데 걸린 시간은 지수분포를 따른다고 할 수 있다. 

1.4 품질과 신뢰성 관점에서 지수분포

지수분포의 관점에서 사용된 제품은 확률적으로 새 것과 같기 때문에 작동하고 있는 부품을 예방보전의 목적으로 미리 교체할 필요는 없다. 신뢰도 함수, 고장까지의 평균 시간을 추정하는데 있어 관측시점에서 부품들의 총 작동시간과 고장의 수에 대한 데이터만 있다면 충분히 계산될 수 있다. Drenick의 정리에 따르면 여러 개의 다른 형태의 부품으로 구성된 복잡한 기기나 시스템의 수명분포는 넒은 조건하에서는 근사적으로 지수분포를 따른다고 할 수 있다. 이처럼 지수분포는 수학적으로 계산하기 비교적 쉽기 때문에 많은 전자부품의 고장을 모형화하는데 활용되고 있다. 

1.5 감마 분포(Erlang Distribution)

어떤 사건이 포아송분포 하에 있다고 하면 k개의 사건이 발생하는데 까지 걸린 시간은 지수분포를 일반화한 감마 분포를 따른다고 할 수 있다. 정리하면 서로 독립인 확률변수 x1, x2...xk가 지수분포를 따를 때 지수확률변수의 합은 감마분포를 따르게 된다. 예를 들어, 시간당 평균 30명의 고객이 방문하는 포아송 분포를 따르는 가게가 있다고 할 때 처음 2명의 고객이 방문할 때까지 5분 이상의 시간이 걸릴 확률은 감마분포로 표현이 가능하다. 왜냐하면 시간당 30명의 고객이 방문한다는 것은 한 고객이 방문하는데 2분이 걸리는 지수분포를 따르게 되기 때문이다. 

1.6 와이블 분포(Weibull Distribution)

확률변수 X가 아래 식과 같은 확률밀도함수를 가질 때 와이블 분포를 따른다고 한다. 이때 알파값은 척도에 영향을 주는 척도모수(Scale parameter)이며 베타값은 형상에 영향을 주는 형상모수(Shape parameter)이다. 

출처: 배석주 교수님 강의자료

와이블 분포에서 고장률 함수는 아래 식과 같다. 이때 배타값에 따라 고장률의 변화양상이 다르게 나타나는데 베타가 1보다 큰 경우 고장률은 증가하게되고 베타가 0과 1사이인 경우 고장률은 감소하게 된다. 마지막으로 베타가 1인 경우에는 고장률이 t에 관계 없이 일정하게 되는데 지수분포와 동일한 형태를 띠게 된다. 따라서 지수분포는 형상모수가 1인 와이블 분포라고 정리할 수 있다. 

출처: 배석주 교수님 강의자료

와이블 분포는 신뢰성 데이터 분석에서 가장 많이 사용되는 분포함수이다. 그리고 앞서 살펴보았던 것처럼 형상모수인 베타값에 따라 다른 여러 분포 형태를 보이게 된다. 베타가 1인 경우는 지수분포, 2인 경우는 레일리 분포, 3보다 큰 경우 정규분포에 근사하게 된다. 와이블 분포는 주로 볼 베어링이나 모터와 같은 기계 부품의 피로 고장이나 화학적 반응으로 고장이 생기는 경우에 많이 적용된다. 한편, 지수분포는 와이블 분포와 활용 범위의 차이가 있다. 지수분포는 어셈블리와 시스템의 수명분포를 나타내는데 주로 사용되는 반면, 와이블분포는 부품의 수명분포를 나타내는데 사용된다. 

1.7 정규분포(Normal Distribution)

확률변수 X가 아래와 같은 확률밀도함수를 가질 때, 평균과 표준편차의 제곱으로 정규분포를 표현할 수 있다. 정규분포는 중심이 평균 뮤이고 좌우대칭인 종모양의 형태를 띠게 된다. 이때 표준편차의 제곱인 분산값이 분포의 형태에 영향을 주게 되는데 분산이 크면 위아래가 짧고 좌우로 넓게 퍼진 형태를 보이며 반대로 분산이 작으면 위아래가 높고 좌우가 좁은 뾰족한 형태를 띠게 된다. 

출처: 배석주 교수님 강의자료

정규분포에서 특히 평균이 0이고 분산이 1인 특별한 케이스를 표준정규분포(standard normal distribution)이라고 한다. 표준정규분포를 따르는 확률변수 z에 대한 확률밀도함수 또는 누적분포함수를 알고 있으면, 모든 정규분포의 확률을 계산할 수 있다. 

정규분포에서 독특한 특징 중 하나는 중심극한정리에 의해 표본평균의 분포가 정규분포에 근사해진다는 점이다. n개의 표본이 추출되는 데이터의 분포가 정규분포가 아닌 다른 임의의 분포라고 하더라도 n의 수가 충분히 크다면 표본평균의 분포는 근사적으로 정규분포를 따른다고 할 수 있다. 일반적으로 n이 30이상이면 정규분포에 근사한다고 말할 수 있으며 표본의 분포가 정규분포 형태를 띠고 있으면 n이 3이하여도 정규분포에 근사하게 된다. 

확률변수 X에 log를 취한 값이 정규분포를 따르면 이를 대수정규분포를 다른다고 하게 되는데 대수정규분포는 다양한 형태의 분포를 표현할 수 있기 때문에 고장데이터를 모형화하는데 많이 활용되며 반도체 고장이나 금속 부식, 크랙의 성장 등으로 발생하는 고장을 표현하는데 자주 사용된다. 

1.8 베르누이와 이항분포

위에서 살펴본 분포들은 연속형 분포를 표현한 것들인데 반해 결과값이 성공과 실패와 같이 binary의 이산형 분포를 가지게 되면 이를 베르누이 확률변수라고 한다. 그리고 n개의 베르누이 확률변수의 합은 이항분포(Binomial distribution)로 나타낼 수 있다. 

1.9 포아송 분포(Poisson Distribution)

포아송 분포는 이전 절에서 살펴본 지수분포의 역 형태로 한 단위 동안 발생한 사건의 개수를 확률변수로 가지는 분포이다. 가령, 학교 주차장에 한 시간 동안 들어오는 차량의 대수, 교량을 지지하는 20m 강철선에서 결함의 개수, 반도체 웨이퍼에 발생하는 결함의 개수 등 단위 시간, 면적 동안 발생하는 평균 사건의 수를 예로 들 수 있다. 포아송 분포는 그 확률 질량함수의 평균과 분산이 뮤로서 같다는 독특한 특징을 가지고 있다. 

2. ICT기반 예지보전

2.1 시스템 열화

우리가 사용하는 제품들과 시스템은 사용시간과 빈도가 증가함에 따라 열화하게 된다. 그리고 이 열화가 내재된 강도를 초과하게 되면 시스템은 고장하게 된다. 더 이상 요구된 기능을 수행하지 못하는 상태에 이르게 되는 것이다. 시스템의 단 한 부분이 고장이 나더라도 그로 인해 전체 시스템에 영향을 주어 시스템이 작동을 중단하게 되고 심한 경우 시스템 사용자의 안전까지 위협하게 된다. 

2.2 보전의 목적

위와 같은 열화로 인한 시스템 고장으로 발생하는 인명 피해를 최소화하기 위해 이를 사전에 예측하고 예방할 수 있는 보전에 대한 요구가 커지고 있다. 보전(maintenance)는 안전하고 경제적으로 운전될 수 있는 조건으로 장비를 유지하는 활동을 말한다. 보전 활동을 결정하는 주요 요소로는 비용검토와 관련된 문제 인식이 필요하다. 효율감소로부터 증가하는 경제적 손실이 유효 보수비용보다 큰지를 판단해야 한다. 그리고 saftey risk의 관점에서 사전보전조치에 의한 안전에 대한 위험 요소 회피가 필요하다 따라서 고장상태의 예측 방법론의 필요성이 대두되고 있다. 마지막으로 휴지기간비용(Downtime cost)와 수리비용(Repair cost)을 고려할 필요가 있다. 이익이 최대가 되고, 총비용이 최소가 되도록 할 수 있는 보전방법을 선택할 필요가 있고 창정비(overhaul)에 대한 보전비용이 고려될 피룡가 있는지 판단해야 한다. 

2.3 보전방식의 분류

일반적으로 보전은 크게 사후보전(Breakdown maintenance)과 예방보전(Preventive maintenance)으로 구분된다. 사후보전은 점검 및 정기교환을 하지 않고 장비가 고장이 나면 수리를 하게 된다. 고장이 나도 그 영향이나 손실이 미미한 경우에 적합하며 열화 경향의 산포가 크고 점검 및 검사가 쉽지 않은 경우에 적용할 수 있다. 사후보전의 경우 장비의 수명이 다할 때까지 사용이 가능하기 때문에 2차 고장이 없다면 보전 수리비가 저렴하다는 이점이 있다. 하지만, 갑작스런 고장으로 장비 운용의 효율이 떨어지는 일이 발생할 수 있는 단점이 있다. 이와 달리 예방보전은 사전에 보전활동을 진행하는 경우를 말한다. 예방보전은 시간을 기준으로 예방보전을 진행하는 TBM(Time Based Maintenance)와 상태를 기준으로 예방보전을 진행하는 CBM(Condition Based Maintenance)으로 나뉘게 된다. 

시간기준보전(TBM)은 장비의 열화에 영향을 주는 파라미터(ex. 베터리 사이클 순환, 프린터의 인쇄 수)를 기준으로 수리주기를 결정하고 주기마다 수리를 진행하는 것이다. 시간기준보전의 경우 가능한 한 자주 보전하는 정책으로서 보전주기와 기능열화주기가 일치하지 않을 수도 있기 때문에 잔존 수명에 대해 손실비용이 발생하고 과잉 보전이 될 수도 있다는 단점이 있다. 아래 그림에서 볼 수 있듯이 제품이 아직 사용이 가능한 수준임에도 불구하고 짧은 보전 주기로 부품을 교체하다보니 잔손수명에 대해 손실비용이 삼각형의 크기만큼 발생하게 된다. 예방보전 주기에 따라 발생하는 비용을 비교해보면 주기를 길게 유지하게 되면 보전비용은 감소하지만 고장 발생으로 인한 수리비용이 증가하고 생산에서의 기회비용이 발생하게 된다. 따라서, 이 둘 사이의 trade-off의 균형을 맞출 수 있는 보전 주기를 결정해야 한다. 

출처: 배석주 교수님 강의자료

앞서의 시간기준보전으로 인해 발생하는 손실비용을 최소화하기 위해 제품의 상태를 기준으로 보전을 진행하는 상태기준보전(CBM)을 진행할 수 있다. 상태기반보전은 장비의 열화 상태를 센서나 온라인 연결을 통해 측정하고 일정 수준에 도달하게 되면 수리를 진행하는 보전방식이다. ICT 기술을 통해 지속적인 모니터링을 하여 보전을 결정하기 때문에 과잉 보전을 방지할 수 있는 장점이 있다. 

2.4 예지보전의 역할과 목적

예지보전은 실질적인 시스템의 운용 및 열화 상태에 따라 고장발생 시점을 사전에 예측하여 선행보전활동을 수행하는 것을 목표로 하고 있다. 이를 위해 설비의 열화를 측정하고 분석하여 설비의 잔여수명을 정확하게 예측해야 하며 이로써 고장 바로 직전에 유지보수를 실시하여 TBM과 사후보전 사이의 최소한의 비용을 발생시키게 된다. 한마디로 비용지향적인 보전활동이라고 할 수 있다. 

2.5 예지보전의 절차

1) 예지보전의 목적이 고장을 예측하는 것인지 불량을 예지하는 것인지 결정

2) 예지 대상에 대해 유닛 단위로 검사하는지 부품 단위를 검사하는 지 결정

3) 관리하고자 하는 대상의 성능열화상태가 파악 가능한지와 그 양상을 파악

4) 열화의 형태로부터 최적의 파라미터를 선정 

5) 파라미터의 측정 방법을 선택

6) 정기적으로 장비의 이상 유무를 측정

7) 파라미터와 기능 열화간의 상관관계를 측정결과를 통해 조사

8) 고장이라고 판단할 열화 경계값(Threshold)를 설정

9)  열화 기준값을 벗어난 대상을 분해 조사하고 상태를 체크

10) 데이터를 누적시키며 파라미터와 성능 열화 간의 상관 관계를 입증

11) 지속적으로 열화 상태를 관리하기 위한 경영 관리 시스템을 구축

2.6 상태기반보전 프로세스

출처: 배석주 교수님 강의자료

신호처리 프로세스 : 시스템에서 추출된 신호 데이터에는 잡음이 포함되어 있기 때문에 잡음을 제거하고 유의미한 특성을 추출하는 전처리 작업이 필요하다. 이때 많이 사용되는 기법으로 퓨리에 변환과 웨이블릿 변환이 있다. 웨이블릿 변환은 몇 개의 유의한 웨이블릿 계수로서 전체 신호를 나타낼 수 있기 때문에 데이터 축소 및 잡음 제거에 효과적인다. 사인, 코사인 함수를 기본 함수로 사용하기에 퓨리에 변환과 유사한 측면이 있지만 주파수 성분을 분해하고 해상도 성분을 파악할 수 있도록 비선형 변환을 한다는 점에서는 차이가 있다.

특징추출 프로세스: 산출된 웨이블릿 계수에 대해 특징 추출을 진행하는데 이때 허스트 지수를 사용할 수 있다. 허스트 지수는 각 수준에서 산출된 웨이블릿 계수의 분산에 대한 기울기이며 신호 데이터의 특정 구간에 대하여 웨이블릿 변환을 실시한 후 웨이블릿 계수의 분산에 대해 회귀분석을 실시하여 추정가능하다. 시스템의 이상여부를 감지하기 위해서는 다수의 주요 구성요소에 센서를 장착하여 다양한 특성치를 측정해야 하지만 차원이 커짐에 따라 특징추출이 쉽지 않게 된다. 다차원 데이터에 대한 차원축소의 방법으로 주성분분석(PCA)를 활용할 수 있다. 주성분분석은 변수의 공분산행렬을 직교분해함으로써 주성분이라 불리는 새로운 변수로 변환하는 것이다. 주성분분석은 잡음 데이터에 강건하며 변수간 상관관계를 가지는 문제(다중공선성)를 해결 가능하다. 또한, 데이터의 차원을 축소하고 상위 몇 개의 주성분만으로도 원변수의 변동을 80~90% 이상 설명할 수 잇는 장점이 있다. 

이상진단 및 예측 프로세스 : 추출된 특징에 대하여 고장 진단 및 예지를 할 수 있는 방법으로 관리도를 이용할 수 있다. 특징이 하나의 변수로 표현이 된다면 단변량관리도를, 여러 개의 변수로 표현이 된다면 다변량 관리도를 사용한다. 다변량 관리도 중 가장 많이 사용된는 것은 Hoteling의 T2관리도이며 신호 데이테로부터 추정된 통계량이 관리상한선을 초과한 경우 이상이 발생하였다고 판단한다. 이상 신호의 분류와 예측을 위해 ANN이나 SVM과 같은 머신러닝 기법 또는 CNN이나 Autoencoder과 같은 딥러닝 기법을 활용할 수 있다.

최적의사결정시스템 구축 프로세스 : 열화데이터 분석을 통한 설비의 고장시점이나 설비 신뢰도 예측 결과를 바탕으로 언제 설비를 어떻게 수리하는 것이 최적인지를 결정하는 의사결정 알고리즘을 개발할 필요가 있다. 보전 만족도와 비용을 고려하여 최대의 효과와 최소의 비용이 도출될 수 있도록 시스템을 구축해야 한다. 

출처: LGAimers / https://www.lgaimers.ai/

Info) 아래 포스팅은 LGAimers에서 제공하는 AI 전문가 과정 중 한양대학교 배석주 교수님의 [품질과 신뢰성] 강의를 정리한 것입니다. 정리된 내용들은 강의를 토대로 작성되었으나 수강자인 저의 이해도에 따라 일부 틀린 부분이 있을 수 있다는 점 알려드립니다. 잘못된 점이 발견될 시에는 즉각 수정하도록 하겠습니다. 

1. 스마트 품질 경영

1.1 품질 4.0과 스마트 품질경영

전사적 품질관리 (Total Quality Management)는 우수한 제품 및 서비스 등을 고객에 제공하기 위해 품질에 중점을 두고 기업 전 부문의 참여를 통해 고객만족과 이익창출로 회사의 장기적인 성공에 목표를 두는 조직 전체의 체계적 노력을 말한다. 시대가 지나면서 소비자들의 요구사항은 증가하였지만 많은 기업들이 여전히 전통적인 품질 관리 경영을 고수하고 있는 상황 속에서 제품 복잡도와 다양성이 증가하게 되고 제품 수명 사이클이 짧아지게 되자 기존의 방식으로는 효과를 보기 어렵게 되었다. 이에 따라 전사적인 품질관리와 스마트 품질경영에 대한 요구가 커지고 있다.  

품질 4.0은 이러한 변화에 발맞춰 등장하게 되었는데 ICT 융합을 통해 종전의 사후검사 및 보증에서 벗어나 사전에 수집, 분석된 빅데이터를 활용하여 선제적 불량예지 및 보전 중심으로 진화된 품질경영시스템이라고 정의할 수 있다. 기존의 품질관리기법에 더해 IoT, 빅데이터 기술을 접목하여 스마트한 품질관리와 경영을 가능하게 하였다. 이러한 품질 4.0과 4차산업혁명에 등장한 신기술들이 융합되어 기존의 공장들이 스마트공장화 되어가고 있다.

1.2 품질관리 개선 영역

스마트 품질경영에서는 제품의 가치사슬의 전 영역에 대한 품질관리가 진행되는데 예방적 품질관리와 반응적 품질관리 그리고 품질관리 문화 등 품질과 관련된 모든  부분에 대한 관리 개선이 필요하다.

예방적(Preventive) 품질관리 : 단순히 제품 제조에서의 품질만이 품질관리라고 할 수 없다. 제품 설계부터 고객에게 전달되기 까지의 전 단계를 관리해야 할 필요성이 있다. 이러한 관점에 기반하여 제품 개발부터 시장 출시에 이르는 전 과정 상에서 제품의 품질을 보장하기 위해 설계된 프로세스를 예방적 품질관리라고 할 수 있다. 기존의 전통적인 제조단계에서의 품질관리를 확장하는 개념으로, 최고의 품질을 이루기 위해서는 가치사슬의 첫 단계인 개념정의 및 제품설계부터 품질관리가 시작되어야 한다는 선제적 품질 관리 영역이다. 가령, 고객의 요구사항을 들어보고 제품 설계 시에 반영하는 작업들이 예방적 품질관리에 해당한다.

 반응적(Reactive) 품질관리 : 제품 판매 이후의 품질관리를 말하며 수리 및 AS, 고장 처리 및 지속적인 개선 프로세스 등을 포괄하는 품질관리 영역이다. 이를 위해서는 현장에서 최대한 빠르고 신속한 대처가 이루어져야 하며 KPI, RFID 등 프로세스를 최적화할 필요가 있다.  

품질관리 문화 : 최고의 품질을 달성하는 것은 단순히 제조업 부서만의 임무나 책임은 아니다. 제조 파트 외에도 여러 부서간의 협업과 대화를 통한 합의를 이루어내는 것이 매우 중요하며 이를 위해 기업 내에 품질 관리에 대한 문화가 정착되어야 한다. 많은 회사에서들에서 품질 책임자가 CEO에게 직접 품질 결과를 보고할 수 있도록 하여 조직 전반에 품질 관리 문화를 정착해 나가고 있다.

1.3 품질 4.0의 구성요소

빅데이터(Volume, Variety, Velocity, Veracity) 

애널리틱스(설명적, 진단적, 예측적, 처방적(규범적)) 

연결성(제품, 설비, 프로세스와의 연결성) 

협업(소셜 미디어와 블록체인 등의 협업을 가능하게 하는 기술 활용)

1.4 빅데이터를 활용한 스마트 품질경영

복잡한 공정을 통해 생산되는 제품군, 반도체나 디스플레이 같은 경우 단순한 분석을 통해 공정의 품질상태를 파악하기 힘들기 때문에 이러한 경우 빅데이터를 활용해 분석할 수 있다. 그러나 엄청난 규모의 빅데이터를 얻게 된다하더라도 이로부터 추출한 정보가 샘플 추출에서 얻은 정보와 별반 다를게 없다면 빅데이터 분석은 의미가 없다. 빅데이터는 데이터의 규모, 속도, 정확성 및 다양성 등의 특성을 갖는데, 이 중에서 다양성이 매우 중요하다. 빅데이터 분석에 있어 데이터 확보가 관건이기 때문에 가공에 사용한 적이 없는 기계와 시스템으로부터 원천 데이터를 수집할 필요가 있다. 

빅데이터 분석은 수많은 고급 인력과 시스템을 필요로 하고 분석을 통해 얻어낸 결과가 실패할 확률이 높기 때문에 많은 비용을 초래하게 된다. 따라서 기업의 입장에서 빅데이터를 도입하는 것은 상당한 비용 감수를 요구하게 된다. 개별 기업에서 이러한 비용은 큰 부담이 될 수 있지만 복수의 기업이 함께 데이터를 확보하고 분석을 한다면 빅데이터 분석의 실패를 줄일 수 있고 많은 효과를 기대할 수 있다.  

1.5 스마트 품질경영 혁신방안

1) 실시간 커뮤니티 피드백을 제공하는 방안 :

소셜 네트워크 채널과 텍스트 마이닝 등의 애널리틱스 기술을 통해 품질과 관련된 다양한 이슈를 파악할 수 있음. 고객 관점에서의 품질 문제를 파악할 수 있다는 장점이 있음. 소셜미디어 레이더(고객 시장에서 의미 있는 패턴뿐만 아니라 정서 분석을 바탕으로 적절한 조치 방안을 모색하는 방법)을 구축할 수 있음.

2) 원격진단 및 유지보수 :

센서들을 활용하여 근본 원인분석을 수행하고 사물인터넷을 기반으로 여러 설비의 센서 피드백을 결합하여 새로운 형태의 설비데이터를 확보할 수 있음. 가령, 예측 진단 솔루션과 같이 차량 또는 설비의 상태를 모니터링하고 향후 패턴을 예측하여 이후에 발생 가능한 오작동과 고장을 사전에 파악할 수 있음. 또한, 원격 유지 보수 솔루션을 도입하여 고객이 품질 문제를 인식하기 이전에 미리 해결함으로서 서비스 품질을 크게 향상시킬 수 있음. 

3) 고도화 된 공급망 품질관리 : 공급업체 성과기록 및 과거 사고 데이터를 통해 예측을 수행하기 위해 기반 데이터를 적극적으로 취득하는 것이 중요함. 아이템 수준의 데이터 수집이 가능하다면 품질경영에 큰 이점이 될 수 있음.

1.6 실제 터치 패널 제조 공정에서 ICT 기술이 도입된 사례

공정 모니터링 시스템의 품질 예측 및 불량 요인 분석 알고리즘 개발 과정

1) 공정변수와 품질 계측지의 상관관계를 파악할 수 있는 지표 도출

- 터치 패널 공정의 공정변수(X) : 생산설비에서 Glass를 가공할 때의 조건 및 계측치(59개)

군집분석을 통해 유사 패턴을 가지는 공정변수를 제거하여 30개로 축소 가능(각 군집 내에서 변동이 가장 큰 대표 공정변수를 추출)

이후 회귀 분석의 변수 선택법을 통해 17개의 공정변수로 축소 가능(품질 계측에 영향을 주는 주요 공정변수를 추출, adjusted R^2는 0.8이상이 유지되도록 하는 동시에 RMSEP는 가능한 최소가 되도록 함)

- 품질 계측 변수(y) : 생산 공정 이후 품질 특성치(18개)

- 데이터 수(sample) : 정상(102개) / 불량(5개)

출처: 배석주 교수님 강의 자료

2) 공정변수를 통해 품질 계측지를 예측할 수 있는 가상 계측 시스템 구축(예측 모형 구축)

회귀 분석의 경우 공정 변수간 다중공선성 문제가 야기될 수 있기 때문에 주성분분석(공정변수의 정보를 주성분이라 불리는 변수로 변환)이나 부분최소제곱분석(공정변수와 품질 계측치의 정보를 잠재변수로 변환)을 이용하여 가상 계측 시스템을 구축할 수 있다. 이렇게 도출된 예측 모형을 이용하여 새로운 공정 변수값(X)에 대한 계측치(Y)를 예측할 수 있다.

가상계측을 통해서는 품질 특성치를 예측할 수 있을 뿐만 아니라 주요 공정 변수를 모니터링하여 공정의 이상 변동을 조기에 파악할 수 있다. 가령, 다변량 관리도에서 관리상한과 하한을 설정한 후 새로 들어온 데이터가 범위를 벗어나는 지 확인한다. 만약 관리 범위를 벗어난 경우에는 기여도 분석을 통해 공정 이상에 기여한 공정변수를 탐지하고 관리하여 다음 공정에서의 발생가능한 품질 문제를 예방할 수 있다. 

 

출처: 배석주 교수님 강의 자료

2. 신뢰성 개념과 중요성

2.1 신뢰성의 중요성 및 정의

품질 비용은 잠재적 위험이 되기 때문에 제품 라이프 사이클 관점에서 Total Cost의 관리는 필요하다. 개발단계에서 시장품질은 예측 가능하여야 하고 제어되어야 한다. 기업은 제품 설계 제조 과정에서는 수익을 창출할 수 없지만 제조 이후 판매 단계에서 비로소 이익을 만들 수 있다. 이때 고객 클레임이나 리콜과 같은 품질 비용이 많이 발생하게 되면 그만큼 기업이 얻을 수 있는 수익은 줄어들게 된다. 이처럼 기업은 제품의 신뢰성을 유지함으로서 가능한 많은 수익을 유지하도록 해야한다.

신뢰성은 주어진 작동 환경에서 주어진 시간 동안 시스템이 고유의 기능을 수행할 성질을 의미한다. 이를 확률로서 표현하게 되면 신뢰도가 된다. 품질과 신뢰성은 비슷하면서도 다른 의미를 가지고 있는데 우선 시간 관점에서 품질은 현시점의 제품의 특성을 나타내는 정적인 요소인 반면 신뢰성은 미래의 성능과 고장을 반영하는 동적 요소이다. 품질은 주로 생산단계에서의 관리가 필요하며 신뢰성은 초기 설계 및 개발 단계에서부터 개선/관리가 필요한 영역이다. 품질을 측정하는 척도로는 불량율, 평균, 분산이 있으며 신뢰성을 측정하는 척도로는 고장률, 수명, 신뢰도가 있다. 품질은 단기간에 측정 개선이 가능한 부분이지만 신뢰도는 장기간의 측정과 복잡한 관리 과정을 가지고 있어 기업에서는 신뢰성을 등한시하는 경향이 있다. 

2.2 신뢰성 분석의 필요성

뢰성에 영향을 주는 고장의 원인들

약한 설계 : 제품이 초기부터 취약하게 설정되었거나 설계 오류 내지 부적합한 설계로 인한 고장의 원인

과부하 : 제품이 사용되는 과정에서 설계된 강도로는 견딜 수 없을 정도의 부하가 가해지도록 하는 고장 원인

강도와 부하의 산포 : 강도가 부하보다 더 높게 설계되었다고 하더라도 생산 혹은 사용 과정에서 강도 및 부하에 산포가 발생하여 부하가 강도보다 크게 되는 고장 원인

마모 : 초기에 충분한 강도로 설계된 제품이 사용에 따라 마모되어 고장을 유발하게 되는 원인

시간 매커니즘 : 배터리의 방전, 장시간 고온 노출 및 인장 부하에 의한 변형, 전자부품 파라미터 값의 변화 등 시간의 경과에 따라 발생하는 고장 원인

잠재된 작동 : 모두 정상의 부품으로 제대로 조립된 제품이 특정 순서나 패턴으로 동작시킬 경우에만 발생하는 고장 원인

오류 : 설계 오류, 소프트웨어 코딩 오류, 조립 오류, 시험 오류, 잘못된 사용, 부적절한 유지보수 등 각종 오류에 기인한 고장 원인

2.3 신뢰성 척도 

신뢰성 문제를 체계적으로 처리하기 위해서는 시스템의 고장을 수학적으로 설명할 수 있어야 한다. 시스템은 여러개의 부품으로 구성되어 부품 고장의 모형화를 통해 시스템의 신뢰성 평가가 가능하다. 이때 고장의 발생은 불확실성을 내포하고 있기 때문에 확률변수와 분포함수 등의 확률/통계 기반으로 수명을 모형화하게 된다. 가령, 수명T의 고장 밀도함수 f(t)와 고장분포함수 F(t)는 다음과 같이 모델링할 수 있다. (수명은 부품이 작동을 시작하는 시점부터 고장이 관측될 때까지 경과한 시간으로 정의할 수 있다.

출처: 배석주 교수님 강의 자료

척도 신뢰성
신뢰도
Reliability
시스템 또는 부품이 작동을 시작해서 특정 시점 t까지 고장나지 않고 작동하고 있을 확률을 의미하며 시구간[0,t] 동안 고장나지 않을 확률로서 시간t에 대한 함수이다. 신뢰도 함수(Reliability Function)는 생물,의학분야에서 생존함수라고도 부르며 아래와 같이 정리될 수 있다. 


고장률
Failure rate
특정 시점까지 고장나지 않고 작동하던 부품이 다음 순간에 고장날 가능성이 얼마나 될 것인지 나타내는 척도로 시점 t에서 작동하는 부품이 시구간[t, t+dt]에서 고장날 확률로 정의된다. 



고장률(Failure rate)과 욕조곡선(Bath Tub Curve)

- 제품초기에는 불완전한 제조나 불충분한 품질관리로 인해 고장률이 높지만 사용하면서 고장이 시간에 따라 줄어드는 유아 고장기(infant failure period)라고 하며 SPC, Burn-in 등을 통해 대응이 가능하다
 
- 이후에는 우발 요인에 의해 고장이 발생하게 되어 고장률이 일정하게 나타나는 우발고장기(random failure period)이며 보다 충분한 안전계수를 도입하거나 derating을 통해 방지할 수 있다.

- 사용 말기에는 노화나 마모로 인해 고장률이 증가하는 마모고장기(wear failure period)이며 예방보전을 통해 고장율을 감소시킬 수 있다.

다음과 같이 시간에 따라 고장률의 변화가 욕조 모양을 보이고 있어 욕조 곡선으로 표현된다.



순간 고장율(Instantaneous Failure Rate) : 어떤 시점까지 동작하고 있는 시스템이 계속되는 단위시간 동안 고장을 일으킬 비율
평균 고장율(Average Failure Rate) : 총 동작시간 동안의 고장 개수

평균 고장시간
MTTF: Mean-Time-To-Failure
수리불가시스템(Non-Repairable System)에서 고장이 발생하기 까지의 평균시간이다.

평균 고장간격
MTBF: Mean-Time-Between-Failure
수리가능시스템(Repairable System)에서 고장간격(고장과 다음 고장 사이의 간격) 간의 평균 동작시간

평균잔여수명
MRL: Mean Residual Life
자동차, 선박, 항공기 등의 중고제품을 구입할 경우, 향후 얼마나 더 사용할 수 있는지 평가하는 척도로 이미 t시간 동안 사용된 부품이 x시간 동안 추가 사용될 수 있는 확률이다. 

보전도
Maintainability
고장난 시스템이 주어진 조건 하에서 규정된 시간 내에 수리(보전)을 완료할 확률
가용도
Availability
수리 가능한 시스템이 어떤 특정 시점에 기능을 유지하고 있을 확률

2.4 신뢰성 데이터

수명데이터 : 의도된 기능을 제대로 수행하고 있거나 고장인지의 여부로 판정하기에 이진데이터(binary) 형태를 보이며 정상 사용 조건에서 시험을 실시하면 시간이 너무 오래 걸리기 때문에 가속수명시험을 사용한다. 

성능데이터 : 최근에 제품의 수명이 길어지고 고장이 잘 나지 않는 상황이라 시간 경과에 따른 제품의 성능을 측정하여 고장이라고 생각되는 역치까지의 시간을 예측하는 시험 데이터로 연속적인 값(continuous)을 가지게 된다. 가속열화시험을 이용하여 측정한다. 

또한 신뢰성 데이터는 다음과 같이 4가지 형태를 가지게 된다. 

완전데이터 : 모든 시료가 고장날 때까지 실험을 실시하여 완전한 고장데이터를 구하는 방법

정시중단 데이터 : 특정 시간 기준을 정해놓고 그때까지의 고장 데이터와 중도절단 데이터를 기반으로 수명을 예측하는 방법 (2000시간까지 시험을 실시하여 4개의 고장 데이터, 2개의 중도 절단 데이터를 기반으로 신뢰도 예측)

정수중단 데이터 : 특정 고장 개수를 정해놓고 위와 같이 시험을 실시하는 방법(4개의 고장이 발생할 때까지의 시간을 통해 신뢰도 예측)

구간데이터 : 일정 시간마다 샘플을 체크하여 구간 내 고장 개수를 예측하여 신뢰성을 판단하는 방법(시간을 2000시간으로 고정하고 일정 간격마다 샘플을 체크하여 고장 발생 데이터를 기록하여 신뢰도를 예측)

출처: LGAimers / https://www.lgaimers.ai/

Info) 아래 포스팅은 LGAimers에서 제공하는 AI 전문가 과정 중 한양대학교 배석주 교수님의 [품질과 신뢰성] 강의를 정리한 것입니다. 정리된 내용들은 강의를 토대로 작성되었으나 수강자인 저의 이해도에 따라 일부 틀린 부분이 있을 수 있다는 점 알려드립니다. 잘못된 점이 발견될 시에는 즉각 수정하도록 하겠습니다. 

1. 품질 및 품질 비용

1.1 품질의 개념

전통적 품질관리에서 품질은 '규격에 부합하는 것'이라고 정의할 수 있지만 관점에 따라서 품질에 대한 다양한 정의들이 존재한다. 품질이라는 것을 어느 하나의 요소로만 판단할 수 없다는 것을 보여준다. 아래는 학계의 여러 연구자들이 정의한 품질에 대한 개념을 5가지 관점에서 정리한 것이다.

선험적 관점 : 품질을 정의할 수 없더라도 무엇인지 고객이 인지할 수 있다는 관점

제품 관점 : 바람직한 성분이나 속성의 함량 차이가 곧 품질의 차이, 우리가 일반적으로 좋은 재료와 성분을 사용한 제품을 우수하다고 인식하는 것의 바탕이 되는 관점

사용자 관점 : 용도 적합성, 사람마다 다르게 느낄 수 있는 주관적인 영역

제조 관점 : 요구사항과의 일치성을 중심으로 한 품질 개념

가치 관점 : 품질은 실제 용도와 판매가격의 최적 상태

1.2 품질의 구성요소

품질은 크게 '제품특징', '무결함'으로 구성된다. '제품 특징'은 '설계품질'로서 원가 상승이 수반되지만 시장점유율을 확대하고 높은 가격을 책정하여 수익을 증대할 수 있는데 결정적으로 기여하는 요소이다. '무결함'은 '적합품질(제조품질)'이라고 하며 고객 클레임을 감소하여 재작업, 폐기처분 등으로 생기는 비용을 줄이는데 초점을 맞춘 품질 요소이다. 오늘날에는 생산자 입장에서 고객(소비자)의 입장으로 품질의 개념이 확대되었기 때문에 고객의 명시적, 묵시적 요구사항을 충족시킬 수 있는 능력이 매우 중요해졌다.

1.3 품질의 유형

제품 또는 서비스의 품질이 형성되는 과정에 따라 품질의 유형을 4가지로 나눌 수 있다. 제품 기획에서부터 개발, 제조, 판매, 사후서비스에 이르기까지 발생할 수 있는 품질의 모든 영역을 다루는 것이라 할 수 있다. 

첫 번째는 요구 품질(Requirement of Quality)로 제품/서비스를 이용하는 고객의 입장에서 생각할 수 있는 품질이다. 사람들의 생각 속에 자리한 품질 개념이기 때문에 추상적이지만 시장조사나 경쟁사 분석, 판매원의 의견 수렴 등 기업은 다양한 정보원천을 활용해 어느정도 파악할 수 있다.

두 번째는 설계 품질(Quality of Design)로서 고객이 요구하는 품질 수준을 기업의 제조역량을 고려하여 구체적으로 설계 도면등에 명문화한 품질을 말한다. 이때, 설계 품질을 결정하게 되는 주요 요인으로는 기업의 기술수준과 비용이다. 고객의 요구 품질을 구현할 수 있는 기술수준이 마련되어 있어야 하며 비용을 고려한 설계가 이루어져야 적절한 설계 품질을 유지할 수 있다.

세 번째는 제조 품질(적합품질, Quality of Manufacturing or Conformance)로서 제조 과정에서 발생하는 변동성과 불확실성에 영향을 받는 품질 영역이다. 앞서의 설계 품질과 비교하여 얼마나 완성도 있게 제조되었는지를 측정하면 제조품질의 수준을 판단할 수 있다.

네 번째는 사용 품질(시장품질, Quality of use or market)은 제품으로부터 얼마나 욕구를 충족할 수 있었는지, 사후 서비스는 얼마나 만족스러운지, 제품 또는 서비스를 신뢰할 만한지 등 고객이 제품/서비스를 실제로 사용한 후 느끼는 품질 수준이다. 

1.4 종합적 품질(Total Quality)

고객 지향적인 품질의 정의로서 제품과 서비스가 고객에게 수용되기 위해서 필요한 모든 품질 요소들을 포괄하는 개념이다. 고객을 만족시키기 위해 제조시스템의 가치사슬(value chain)을 고려할 필요가 있으며 value chain에 속한 모든 것들의 품질을 총체적으로 고려한 품질이다. 단순 제품/서비스의 품질(Q:quality) 뿐 아니라, 비용(C:cost)와 납기(D:deliver)등 실제 고객들의 품질 만족에 영향을 줄 수 있는 모든 요소들을 고려하고 있다.

1.5 저품질비용(COPQ: Cost of Poor Quality)

기업 내에서 불필요하게 발생하는 이익손실비용을 측정하는 재무적 척도로 기업의 이익에 기여하지 않는 모든 것을 포함한다. 하지만 실제로 표면상 드러나는 파악 가능한 품질 비용은 전체 품질 비용의 아주 일부만 차지하고 있고 나머지 품질 비용은 측정이 어렵고 잘 보이지 않지만 전체 매출의 상당한 비중을 차지하고 있다. 따라서 이를 개선하기 위한 노력이 반드시 수반되어야 한다. 특히, 품질 비용은 고객들에게 제품과 서비스가 도달하기 전에 사전에 미리 파악이 된다면 적은 비용으로도 충분히 개선이 가능하기 때문에 사전 품질 비용 관리가 중요해지고 있다. 

1.6 품질비용의 종류

품질 비용은 아래 그림과 같이 크게 '생산자 품질비용', '사용자 품질비용', '사회적 품질비용'으로 나눌 수 있으며 각 영역을 세부적으로도 구분할 수 있다. '생산자 품질비용'은 '예방비용', '평가비용', '실패비용'으로 구분이 되며 '예방비용'은 제조 초기부터 불량이 발생하지 않도록 하기 위한 각종 예방 활동에 소요되는 비용이다. '평가비용'은 제품/서비스 그리고 이를 생산, 판매하는데 필요한 모든 요소들에 대한 검사를 통해 일정 품질 수준을 유지하는데 사용되는 비용을 말한다. '실패비용'은 생산자 품질비용은 다수를 차지하는 비용으로서 기업 내부에서 발생하는 '내부실패비용'과 고객에게 인도된 후 발생하는 '외부실패비용'으로 구분할 수 있다. 

출처: 배석주 교수님 강의 자료

기존에는 품질이 개선되면 비용이 증가한다는 인식이 있었지만 최근에는 품질을 개선함으로서 생기는 다양한 비용들이 감소되어 품질총비용이 절감될 수 있다는 개념이 새로이 자리잡고 있다.

1.7 품질 변동의 원인

불완전한 원재료, 부적절한 제품 설계, 부적절한 공정능력으로 인해 품질 변동이 발생하게 된다. 품질 변동의 원인은 크게 이상원인과 우연원인으로 나뉘게 된다. '우연원인'은 정상적인 운전상태에서 존재하는 공정의 고유한 변동기기으로서 가령 재료나 계측기의 미약한 변동과 같이 많은 개별적인 요인에 의해 발생하게 된다. 반면, '이상원인'은 비정상적인 요인에 의해 발생하는 변동으로 각각의 개별적 요인에 의해 발생하고 큰 변동을 나타내게 된다. 가령, 재료의 불량, 작업자의 미숙련, 설비의 잘못된 설정 등으로 발생하는 변동들이 있다.

2. SPC의 필요성과 개념

2.1 SPC의 정의

공정에서 요구되는 품질이나 생산성 목표를 달성하기 위하여 '통계적 방법'으로 공정을 효율적으로 운영해 나가는 관리 방법을 말한다. SPC는 'Statistical Process Control'의 약자로 통계적인 기법을 통해 공정의 프로세스를 끊임없이 관리해나가는 활동으로 정리할 수 있다. 

제품 특성을 모니터하는 것은 공정 입력에 대한 특성 파악이 불분명할 시 출력에 대한 지속적인 모니터를 통해 입력에 대한 변동을 탐지해야 하며 제품 특성을 관리하는 것은 입력과 출력 간의 인과 관계를 이해하여 공정 입력에 대한 측정을 통해 제품의 출력 상태를 예측해내는 것이다. 이를 통해 품질 변동에 대응할 수 있고 품질 비용을 개선할 수 있다.

 이전 절에서 설명한 품질 변동은 SPC를 방해하는 핵심 요인이 라고 할 수 있다. 강의에서는 다시 한번 품질변동의 2가지 원인인 '우연원인'과 '이상원인'에 대해 설명하였는데 위에서 설명했던 것보다 더 명확하여 다시 인용해보도록 하겠다.

우연원인
chance cause
* 생산조건이 엄격히 관리된 상태 하에서도 어느 정도의 불가피한 품질변동을 발생시키는 원인
ex) 작업자의 미숙한 순련도 차이, 작업환경의 변화, 식별되지 않을 정도의 원자재 및 생산설비의 차이
* 현장에서 조치를 취해야 함
이상원인
assignable cause
* 만성적으로 존재하는 것이 아니고 산발적으로 발생하여 품질변동을 발생시키는 원인
ex) 작업자의 부주의, 불량자재의 사용, 생산 설비 상의 이상
* 현장에서 조치를 취해야 함

2.2 공정관리 및 공정 능력 향상 방법

출처: 배석주 교수님 강의자료

이상원인을 제거하여 우연원인만 존재하는 관리 상태로 만들어야 한다. 이후 시스템적 산포를 감소시킬 수 있도록 APC(advanced process control), Big data 등을 적용하여 실시간으로 공정을 능동적으로 조정하도록 한다. 아래 그림은 공정관리에서 발생하는 2가지 형태의 문제이다. 왼쪽의 경우 현수준이 규격 상한과 하한을 모두 만족하지 못하고 벗어나 있다. 이는 정확하지만 정밀하지 않은 공정이라고 볼 수 있으며 규격 안으로 들어올 수 있도록 해야한다. 오른쪽의 경우는 산포 수준이 적정 수준에 있지만 중심치가 목표치에 맞지 않은 상태로 정밀하지만 정확하지 않은 공정이다. 이는 공정 과정이나 목표치 조정을 통해 개선할 수 있다. 

출처: 배석주 교수님 강의자료

2.3 품질개선도구(QC 7 Tool)

파레토 차트(Stratification) : 데이터를 몇 개의 범주로 구분하여 문제의 원인을 파악하려는 기법, 경제학의 8:2 파레토 법칙을 품질관리에 적용한 도구

특성 요인도(Case-and-Effect Diagram) : 문제의 결과(특성)가 어떠한 원인으로 일어나는지 그 원인 관계를 살펴보고 도식화하여 문제점을 파악하는 기법, 생선뼈와 비슷한 그림으로 fishbone diagram이라고 함.

체크 시트(Check Sheet) : 부적합개수, 결점개수 등 공정 데이터를 수집하는데 사용할 수 있는 도구, 수집된 자료는 다른 유용한 정보로 변환 가능 

히스토그램(Histogram) : 어떤 조건하에서 취해진 데이터가 존재하는 범위를 몇 개의 구간으로 나누어 각 구간에 포함되는 데이터의 발생도수를 도수 표로 작성한 다음 이를 도형화한 것, 전체 데이터의 확률 분포를 파악할 수 있음. (규격에 대한 파악에 활용될 수 있음)

산점도 : 두 변수나 여러 변수의 상관관계를 그림으로 나타낸 것, 상관분석과 회귀분석에 기초로 활용됨.

그래프 : 데이터를 도형으로 나타내어 수량의 크기를 비교하거나 수량의 변화 형태를 알기 쉽게 나타낸 것 (막대그래프, 꺾은선 그래프, 레이더 차트, 상자그림 등)

관리도 : SPC에서 가장 많이 사용되는 툴로서 관리 하한선(LCL), 중심선(CL), 관리 상한선(UCL)으로 구성됨. 모든 데이터가 UCL, LCL 사이에 위치해 있으면 공정은 관리 하에 있으며 우연변동 원인만 포함되어 있다고 판단할 수 있음. 관리 상한과 하한은 평균에 +-3시그마를 한 값을 일반적으로 사용. 2개 이상의 변량에 대한 관리가 필요할 때에는 다변량 관리도를 사용할 수 있음(ex. Hoteling T2 관리도).

출처: 배석주 교수님 강의자료

2.4 관리도 분석

일반적으로 타점한 데이터들이 관리한계선 안에 분포하면 공정이 관리상태 하에 있다고 판단한다. 하지만 아래와 같이 관리 한계선 밖을 벗어나거나 일정한 모양이나 패턴을 보이면 공정에 이상이 있다고 판단한다. 

출처: 배석주 교수님 강의 자료

출처: LGAimers / https://www.lgaimers.ai/

Info) 아래 포스팅은 LGAimers에서 제공하는 AI 전문가 과정 중 이화여자대학교 강제원 교수님의 [지도학습(분류/회귀)] 강의에 대한 요약과 생각들을 정리한 것입니다. 정리된 내용들은 강의를 토대로 작성되었으나 수강자인 저의 이해도에 따라 일부 틀린 부분이 있을 수 있다는 점 알려드립니다. 잘못된 점이 발견될 시에는 즉각 수정하도록 하겠습니다. 또한, 강의의 모든 내용을 정리하기는 어렵기 때문에 인상깊었던 내용을 중심으로 정리하였습니다. 따라서, 설명의 맥락이 끊길 수도 있다는 점 양해 부탁드립니다. 

0. Introduction

part5에서는 이전의 linear classifiation model 외에 다른 형태의 classification algorithm을 살펴보았습니다. 크게 2가지 SVM과 Neural Network에 대해 학습하였는데 2가지 모두 이미 알고 있었던 내용들이라 수월하게 들을 수 있었습니다. 그래도 2가지 모델에 대해 수학적으로 더 깊이 알아볼 수 있었던 시간이라 개인적으로 많은 공부가 되었던 강의였습니다. 

1. Support Vector Machine

아래 왼쪽 그림에서 binary classification 문제에서 support vector machine이 왜 필요한지를 확인할 수 있습니다. 그림을 보면 round sample과 square sample을 구분할 수 있는 hyperplane이 여러개 존재할 수 있다는 것을 확인할 수 있습니다. 하지만, train data에 대해서는 그 어떤 hyperplane도 비슷한 수준의 loss값을 가질 수 있겠지만 새로운 unexpected data에 대해서는 천차만별의 loss값을 가질 수 있습니다. 즉, train data에 대해서는 적합하지만 test data에는 맞지 않은 overfitting이 우려될 수 있는 것입니다. support vector machine은 이런 가정에서 출발한 모델입니다. 앞서의 문제를 해소하기 위해 support vector machine(SVM)은 positive sample과 negative sample 딱 중간에 hyperplane이 위치하는 것을 이상적인 hyperplane이라고 정의하게 됩니다. SVM의 hyperplane과 각 sample군에서 가장 가까운 sample을 support vector라고 합니다. 그리고 이 support vector와 hyperplane 사이의 거리를 margin이라고 하는데 이 margin이 가장 큰 값을 가지도록 하는 것(large margin)이 SVM이 hyperplane을 찾아내는 과정이라고 할 수 있습니다. 아래 오른쪽 그림에서 지금까지 설명한 내용을 시각적으로 확인할 수 있습니다.

출처: (좌) https://docs.opencv.org/3.4/d1/d73/tutorial_introduction_to_svm.html / (우) https://www.researchgate.net/figure/Classification-of-data-by-support-vector-machine-SVM_fig8_304611323

다시 한번 SVM의 원리를 정리해보면 SVM은 각 sample의 support vector로부터 margin이 가장 커지게 되는 hyperplane을 line seperator로 설정하게 됩니다. 강의 자료에 있던 개념을 그대로 가져와 보면 다음과 같습니다. "Maximum margin hyperplane with support vector." 제가 복잡하게 설명했던 내용을 함축적으로 정리한 표현인 것 같습니다. SVM은 support vector라는 개념을 사용하기 때문에 outlier가 존재하는 상황에서도 안정적인 성능을 유지할 수 있다는 장점이 있습니다. 

2. Optimization

SVM이 최적의 파라미터 값들을 찾아내기 위해서는 class sample들을 정확하게 분류할 뿐만 아니라 margin을 가능한 크게 해야합니다. 이 2가지 조건을 만족시키도록 하는 것이 SVM의 optimization 과정이라고 할 수 있습니다. 하지만 이러한 optimization 과정에서 한가지 제약이 생기게 됩니다. 위 그림의 경우는 data sample들이 선형분리(linear separable)가 가능하다는 전제를 가지고 있습니다. 이러한 상황에서는 hyperplane과 각 support vector 사이를 지나가는 plane 사이의 영역에 어떠한 sample도 존재하지 않을 수가 있습니다. 그러나 data가 non-separable한 경우가 있을 수도 있습니다. 가령, outlier가 존재하거나 데이터에 noise가 있을 경우 선형 모델로 구분이 쉽지 않을 수가 있습니다. 

2.1 Hard Margin SVM

Hard margin SVM은 선형 분리를 가정한 SVM 방식입니다. 앞서 얘기했던 것처럼 margin 사이의 영역에 sample들이 존재하지 않게 됩니다. 아래 그림과 같이 hyperplane h(x)가 임의의 어떤 값을 가질 때 이를 scaling하게 되면  class label이 1인 모든 positive sample들은 h(x) >= 1인 영역에 위치하게 됩니다. 반대로 class label이 -1인 모든 negative sample들은 h(x) <= -1인 영역에 위치하게 됩니다. 즉, 모든 샘플들은 y*h(x) >=1에 해당한다고 할 수 있습니다. 

출처: 강제원 교수님 강의자료

hard margin SVM의 경우 margin은 2를 w norm으로 나눈 값입니다. 따라서, SVM의 파라미터를 최적화하는 문제는 margin을 최대화하는 w norm값을 찾아야 하는 것이고 이는 w norm을 최소화하는 경우를 찾는 문제로 재정의할 수 있습니다. 일반적으로 w norm을 최소화하는 것보다는 w norm의 제곱을 최소화하는 것이 더 편합니다. 따라서, 모든 data sample들이 y*h(x) >= 1이라는 전제 하에서 w norm의 제곱을 최소화하는 문제로 optimization 과정을 거치게 됩니다. 

2.2 Soft Margin SVM

hard margin SVM과 반대로 Soft Margin SVM은 데이터가 선형 분리가 되지 않는 경우를 고려하게 됩니다. 따라서, margin 사이의 영역에 일부 sample들이 존재하는 error를 허용하게 됩니다. 이를 위해 위의 식에서 슬랙 변수를 선형 제약 조건으로 더하게 됩니다. 아래와 같이 hard margin svm의 loss function에 슬랙변수를 더하여 이를 최소화하는 w를 푸는 문제로 정리됩니다. 

출처: 강제원 교수님 강의 자료

2.3 Kernel Trick

데이터의 샘플이 선형 분리가 되지 않는 경우 kernel함수를 통해 이를 해결할 수 있습니다. 가령, 아래 왼쪽 그림과 같이 데이터 class 분포가 2개의 동심원 형태로 분포되어 있는 경우 선형 모델로 class를 분리할 수 없습니다. 그러나 오른쪽과 같이 3차원의 공간에 data를 mapping하게 되면 초평면(hyperplane)을 통해 분리가 가능하게 됩니다. 이처럼 저차원의 dataset을 고차원으로 mapping하여 separable하게 만드는 것을 kernel 기법이라고 합니다. 

출처:&nbsp;https://www.sallys.space/blog/2018/05/30/svm/

kernel함수를 통해 고차원의 공간으로 mapping이 가능하며 이때 주로 활용되는 kernel 함수로는 gaussian radial basis function(RBF), polynomial, hyperbolic tangent 등이 있으며 아래와 같은 식에서 하이퍼파라미터를 설정하여 차원 확장을 조정할 수 있습니다.

3. Aritifical Neural network (ANN)

3.1 Perceptron

인공신경망은 인간의 뇌 신경을 모사하여 non linear classification model을 해결할 수 있는 algorithm입니다. 뉴런에 입력된 전기 신호가 임계치를 넘으면 다음 뉴런으로 전기 신호를 전달하는 아이디어를 적용한 것으로 아래 그림과 같이 perceptron을 시각화하여 살펴볼 수 있습니다. 입력값인 x와 가중치 w의 곱을 선형 결합한 score값이 activation function을 거쳐 non-linear한 형태로 변환하고 이 값을 임계값과 비교하여 다음 노드의 입력값으로 전달하게 됩니다. 

출처:&nbsp;http://aikorea.org/cs231n/neural-networks-1/

인공신경망에서는 activation function으로 어떤 것을 사용하느냐에 따라 성능의 차이가 생기기 때문에 activation function의 역할이 매우 중요합니다. 대표적으로 가장 많이 사용되는 activation function은 sigmoid function으로 무한의 실수값을 0과 1사이의 값으로 mapping하는 역할을 합니다. 하지만 sigmoid function은 0 전후의 아주 좁은 구간에서만이 gradient 값이 크게 되며 양 극단에서는 gradient가 매우 작기 때문에 학습이 진행될수록 학습량이 줄어드는 단점이 있습니다. 따라서 이를 보완하기 위해 ReLU 또는 Leaky ReLU 함수가 사용되는데 gradient가 0이 되는 문제를 일부 해소시켜줍니다. 이 외에도 다양한 activation function들이 상황에 따라 사용됩니다.

출처:&nbsp;https://22-22.tistory.com/20

3.2 Multilayer Perceptron

언젠가 인공지능 발전 역사에 있어 2번의 암흑기가 있었다는 이야기를 들은 적이 있습니다. 그 첫번째 암흑기는 1960년대에 있었으며 linear model이 이른바 XoR이라는 문제를 풀 수 없다는 문제가 제기되며 도래했다고 합니다. 그러나 인공신경망 연구의 초시인 multilayer perceptron이 XoR 문제를 해결할 수 있다는 것이 증명되며 인공지능 연구는 다시 스퍼트를 받을 수 있었다고 합니다. 교수님께서는 이번 강의에서 간단한 multilayer perceptron이 XoR 문제를 푸는 과정을 rough하게 보여주셨습니다. 굉장히 흥미로웠던 내용이라 여기서 다시한번 정리해보도록 하겠습니다. 

XoR 문제는 논리 연산에 기반하여 2개의 값이 같으면 0 다르면 1을 반환하는 엄청나게 간단한 문제입니다. 가령, 아래 그림고 같이 2차원 그래프로 표현할 수 있는데 선형 모델로는 2개의 class label을 쉽게 구분할 수는 없습니다. 

출처: 강제원 교수님 강의자료

이 문제를 해결하기 위해 간단한 2layer perceptron(MLP)을 만들어 적용해보겠습니다. 아래 그림과 같이 각 노드에 선형 결합식이 있고 첫번째 class label의 x1과 x2값을 mlp에 입력해보면 아래 식과 같이 계산되어 최종 0을 출력하게 됩니다. 그리고 이와 같은 계산을 각 경우의 수에 적용하여 검증해보면 모두 정확하게 분류해 내는 것을 확인 할 수 있습니다. 

출처: 강제원 교수님 강의자료

 

출처: LGAimers / https://www.lgaimers.ai/

Info) 아래 포스팅은 LGAimers에서 제공하는 AI 전문가 과정 중 LG이노텍 김경석 연구위원님의 [자율주행과 레이더 센서의 이해] 강의를 정리한 것입니다. 정리된 내용들은 강의를 토대로 작성되었으나 수강자인 저의 이해도에 따라 일부 틀린 부분이 있을 수 있다는 점 알려드립니다. 잘못된 점이 발견될 시에는 즉각 수정하도록 하겠습니다. 일부 자료를 제외한 전자료의 출처는 김경석 연구위원님에게 있습니다. 

1. 자율주행 시장 동향

1.1 미래 모빌리티 메가 트렌드 (ACE)

Autonomous driving - 운전자 개입없이 스스로 안전하게 주행이 가능한 자율주행 고도화

: 자율주행 level5 단계인 완전 자율 주행에 이르게 되면 모빌리티는 단순 이동 수단에서 개인 맞춤형 공간으로 변화하게 되고 운전자 또한 승객으로서 전환될 것

Connectivity - 고도화된 연결형 자율주행을 통한 탑승자의 안전 및 교통관리 효과성 극대화

: level 3단계에서는 차량과 인터넷 모바일 연결성 강화를 위한 5G 채용 -> level 5 단계 이상에서는 승객 안전을 극대화하기 위한 5G-V2X 기반 연결형/지능형 자율주행 고도화가 진행될 예정 

Electrification - 높은 에너지 효율성 기반 1회 충전으로 최대 주행거리 확보

: 글로벌 환경 규제 강화, 배터리 기술 고도화, 소비자 인식 개선으로 '친환경 차'에 대한 높은 수요와 성장이 전망됨

1.2 자율주행 단계 고도화

출처:&nbsp;https://blog.hyundai-transys.com/249

자율주행은 운전자를 주행으로부터 자유롭게 함으로서 많은 혜택을 가져다 줄 것으로 기대되지만 한편으로는 도덕적 판단, 사고의 책임, 기계에 대한 신뢰 등여전히 여러 문제가 존재하고 있음

1.3 자율주행 센서와 발전 방향

자율주행 센서의 핵심 기술 - 카메라(Camera), 레이다(Radar), 라이다(LiDAR)

자율주행 레벨 4이상의 고도 자율주행에서는 V2X 통신 오디오 기술이 반드시 필요

자율 주행 레벨이 높아질 수록 더 많은 센서를 필요로 하고 고속 주행시 센서 정확도가 강조됨에 따라 개별 센서 기술에서 센서 pod 기술(카메라, 레이더, 라이다 등 인지를 위한 센서들의 일체형 통합 모듈)로 발전 중에 있음

센서 pod 기술은 차량 장착과 센서 간 Calibration에 용이하다는 이점이 있어 많은 곳에서 센서 pod 기술을 도입 채용하고 있음

Camera의 경우 가장 빠른 스펙 고도화를 보이고 있으며 고온/저온 동작에서의 품질 확보를 위한 lens/housing 구조 최적화가 필요한 상황, 제조 공정에서는 active alignment(lens를 센서와 정렬하는 기술)와 calibration 기술의 고도화가 필요함. level 3 자율주행에서는 5Mp의 카메라가 사용되고 있지만 level 5단계에 이르면 15Mp 이상의 고해상도 카메라가 필요

Radar의 경우 ADAS 3D 레이더에서 4D Imaging 레이더로의 발전이 예상되는 상황. AI기술과 perception 소프트웨어 고도화로 사물의 형상을 구분하고 상황을 예측하는 데까지 이를 것으로 기대됨. 이러한 기술 발전이 고도화되면 LiDAR을 대체할 것으로 예상됨. 레이더 생산에서 안정적으로 수율을 확보하는 것은 매우 중요. 이 중 평탄도 관리 및 calibration 공정의 차별화가 필요함. 이번 헤커톤의 과제에 해당되는 부분

LiDAR의 경우 차량신뢰성, 디자인, 비용 등의 우선 순위로 발전 개발되고 있음. 200m 이상을 감지할 수 있는 mechanical LiDAR과 80m 단거리를 감지하는 solid LiDAR 등이 있음

출처: 김경석 연구원 강의 자료

자율주행 3단계까지는 차량 내 센서 탑제 수와 종류의 증가가 기술의 핵심이지만 4단계 이상부터는 단순 센서 수보다는 센서 기능의 조화와 정밀한 센싱 기술이 자율주행의 성능을 결정하는 요소가 될 것으로 보임.

자율주행 센서는 각각의 장단점이 있기 때문에 어느 하나로만 자율주행에 적용할 수 없음. 레이더는 해상도가 낮지만 장거리 감지와 열악한 환경에서의 물체 인지에 우수한 성능을 보임. 카메라는 악천후, 야간에 센싱 성능이 저하되지만 해상력과 색상 구분이 뛰어나고 가격 경쟁력이 있어 현재 가장 많이 활용되고 있음. 라이다는 주변공간을 3d mapping으로 표현하령 사물 형상과 공간 인식이 매우 뛰어난 장점을 가지고 있음.

출처: 김경석 연구원 강의 자료

2. Radar 제품 이해

2.1 Radar의 이해

Radar는 Radio Detection And Ranging의 약어이며 Radio Wave를 이용한 사물 감지하는 기술

차량 Radar는 차량/보행자/도로 인프라를 인식하여 차량과의 거리, 상대속도, 각도, 높이 등의 정보를 수집

ToF(송신 전자파 신호와 수신 전자파 신호의 시간차)와 도플러 주파수 변화량을 측정해 상대 물체와의 거리와 상대 속도 측정, 신호가 반사되는 시간이 길수록 상대물과의 거리가 멀다는 원리를 이용한 센서 장치

레이더는 군사용, IoT용, 차량용 등 주 사용처에 따라 다른 주파수를 사용하고 있음. 강의에서 주로 다루게 되는 레이더는 차량에 사용되는 ADAS용 레이더로 차량 앞과 뒤 범퍼에 설치되어 차량, 보행자, 도로 인프라를 인식하는데 사용되는 레이더임.

레이더는 거리 측정이 가능한데 송신 신호의 변조 방식에 따라 구형파를 이용하는 Pulsed Radar와 연속적 삼각파를 이용하는 FMCW Radar(Frequency Modulated Continuous Wave)로 나눌 수 있음. pulsed radar는 진폭을 늘려 멀리 신호를 보내는 군사용 목적으로 많이 사용되고 FMCW는 시간에 따라 선형적으로 변하는 삼각파 형태의 chirp 신호를 사용하고 주로 차량용으로 사용됨. 

또한, 도플러 효과를 이용해 상대물의 속도를 측정하며 도플러 주파수가 크다는 것은 상대물의 속도가 빠르다는 것을 의미하며 도플러 주파수가 작으면 상대물의 속도가 느리다는 것을 말함.

레이더는 array 안테나로 송수신된 신호의 위상차를 이용해 상대물의 각도와 위치를 파악할 수 있음. 안태나의 배열을 나타내는 array가 많을수록 위치, 각도 정보를 더 세밀하게 측정할 수 있음.

2.2 Radar의 종류

SRR(60m 이내의 근거리용)은 차량의 측후방에 장착되고 사각지대 감지(BSD), 주차 보조(PA), 후진 시 차량 감지(CTA), 교통체증 보조(TJA)에 사용됨

MRR(180m 이내의 중거리용)은 차량 전방에 장착되고 충돌방지(AEB), 보행자 보호(PD), 전방 후방 충돌 경고(FCW)에 사용되고 있음.

LRR(250m 이상의 장거리용)은 차량 전방에 장착하며 고속도로에서 smart cruise에 사용되는 adaptive cruise control과 충돌 방지를 automatic emergency breaking에 사용됨. 

In-Cabin Radar는 차량 내부에 장착하고 차량 내 유아 감지(CPD), 벨트 착용 알람(SBR), 차량 절도 방지에 사용됨.

출처: 김경석 연구원 강의 자료

현재 radar는 2D,3D를 넘어 4D로 발전되고 있는데 4D radar는 이미지 레이더로서 초고해상도 센서를 기반으로 거리, 속도, 높이까지 측정하여 사물의 형체를 인식할 수 있음. 자율주행 level4 이상에서는필수적인 기술. 차량용 radar는 Infineon, TI, NXP의 칩셋이 주로 사용되고 있음. 차량 안전에 대한 규제 강화로 radar에 대한 수요는 지속적으로 증가할 것으로 보임.

3. Radar 제조 공정

3.1 Radar 제품 소개

LG 이노텍의 In-Cabin 레이더 또는 ROA(Rear Occupant Alert) 레이더는 차량 내 장착되어 후석 승객 유무를 감지하는 레이더임. In-cabin 시스템에는 카메라, 압력 센서, 초음파, 레이더 등 다양한 기술들이 사용되고 있지만 각각 특정 상황에서의 단점이 존재하기 때문에 가장 성능적으로 안정적인 레이더 기술이 다수 채택되어 사용되고 있음. In-cabin 레이더는 radome, PCB 모듈, housing으로 구성되어 있음.

3.2 Radar 조립 공정

1) ICT(In-circuit Test) : PCB의 테스트 포인트를 통해 각 부품의 RLC값을 확인하여 SMT(Surface Mount Technology)시 발생할 수 있는 불량을 검출할 수 있음

2) F/W Down(펌웨어 다운로드):  레이더 제품의 메모리에 펌웨어를 넣는 공정

3) DC Test : 모듈이 정상 작동하는지 입력 전원을 넣어 확인하는 작업

4) PCB분리(routing공정) :  array상태로 되어있는 PCB를 분리하는 공정 단계로 커팅 방식에 따라 데미지가 적고 정밀한 가공이 가능한 레이저 공정과 저렴한 가공이 가능한 블레이드 커팅 공정이 있음 

5) TIM(Thermal Interface Matrerial) dispensing : 도포 면적과 도포량에 따라 발열 성능에 중요한 영향을 미치는 공정

6) shield plate 조립 후 TIM 재도포 과정을 거침

7) Press-Fit : 케이스 혹은 커넥터에 있는 PIN과 PCB를 연결하는 공정, 압력에 따라 PCB 평탄도에 영향을 미침

8) Screw 체결 : 높이와 토크가 핵심으로 관리가 필요

9) Sealant 도포 : 케이스 밀폐를 위해 진행하는 공정으로 미도포된 부분이 없는지 확인하고 radome의 평행도 관리 필요

10) Calibration EOL : 공정 및 부품 특성을 반영하여 제품 성능에 영향이 없는지 최종 점검하는 중요한 공정단계

11) Labelling : 제품 추적 관리를 위해 라벨을 부착

출처: 김경석 연구원 강의 자료

3.3 가인자 공정

TIM(Thermal Interface Material)은 일반 부품의 발열을 확산시켜 열을 낮추고자 하는 목적으로 사용되며 액체 또는 곷 타입을 사용함. 단가가 비싸기 때문에 발열원에 따라 최적의 재료를 선택하게 됨. TIM 도포 시에 Pin 검사(수평, 수직 높이 측정)를 진행하여 잘 안착되었는지 확인하고 도포량을 확인해야 함. 

Press-Fit은 케이스에 있는 PIN과 PCB를 연결하는 공정으로 체결 압력에 따라 PCB 평탄도에 영향을 미치게 됨. 평행하게 안착하는 것이 핵심 기술 그렇지 않으면 PIN이 휘거나 손상됨. 체결 시의 압력인 압압력을 관리하고 PIN 높이를 철저히 관리해야 할 필요가 있음.

Screw 체결 시 torque, screw 높이, PCB 평탄도를 관리해야 함. LVDT 변환기를 이용해 screw 높이를 검사함. PCB 평탄도는 레이더 성능에 핵심적인 영향을 미치게 됨.

Radome Assembly 공정 시 도포량, 압착 시간, 평행도를 고려해야 함. 실란트 도포량이 끊김 없는지 확인하고 radome 접합 시간을 측정하고 높이를 측정하여 관리함. radome의 평행도에 따라 레이더 방사 패턴에 왜곡이 발생할 수 있음.

Calibration & Test 공정에서 최종 제품의 성능을 보정 및 평가함. 공정 시 생긴 오차로 인한 RF 성능의 차이를 목표값으로 맞춰 주는 과정. 1000~2000개의 RF항목을 보정하고 원하는 구간에 들어오는지 확인하여 IC메모리에 보정값을 저장하게 됨. 비용에 가장 많은 영향을 미치는 공정 수율임. test는 레이더 타겟 시뮬레이터를 통해 검사를 진행.

3.4 Cal 공정 불량 자동분석 시스템

조립 공정의 입력 데이터와 최종 RF 성능의 출력 데이터 사이의 관계를 모델을 통해 추론하고 특정 기간의 공정 불량의 문제를 파악하고 이를 개선할 수 있도록 하는 것이 목표.

Ass'y 공정에 x인자와 Cal/Eol 고정의 y인자 간 회귀 모델 또는 상관관계를 파악하여 y인자가 상한치, 하한치를 넘어가기 전에 발생 가능한 불량 공정을 관리할 수 있음. 

출처: LGAimers / https://www.lgaimers.ai/

+ Recent posts