본문 바로가기 본문 바로가기용 링크

자료실

필수입력 표시는 필수입력 항목입니다.

제목 [신소재 경제신문 연재기고(4)] 조인성 한국생산기술연구원 수석연구원 - 제조공정 인공지능 적용, 데이터 확보부터 응용까지(4)
작성자 문경일
작성일시 2022-10-27 14:31:08 조회수 504
  • 첨부파일 없음
내용

제조공정 데이터 처리 및 분석

 

AI 분석 前 데이터 가공 엑셀로 가능, EDA 통해 데이터 문제 해결

 

4차 산업혁명시대에 산업 생태계가 급격히 변화하는 시점에서 빠른 연구개발(R&D) 및 사업화를 위한 제조업계의 디지털 전환은 경쟁력 향상을 넘어 생존 문제로 직결되고 있다. 이미 해외 선진국들은 컴퓨터 시뮬레이션을 통한 가상 제조기술 및 인공지능(AI)과 빅데이터 등을 활용한 오픈 플랫폼을 구축해 활용하고 있는 반면 우리나라는 데이터 축적부터 어려움을 겪고 있는 상황이다.
한국생산기술연구원에서는 5년여 동안 내·외부 전문가 학습, 단계별 기술 자체개발 및 검증을 통해 지속적으로 개선되고 있는 제조분야 인공지능 기술을 바탕으로 중소·중견기업의 제조업 인공지능 기술적용을 위한 연구를 해왔다. 본지는 이러한 연구결과를 총 10회에 걸친 연재기고를 통해 제조공정에 인공지능을 적용하기 위한 방법을 전달하고자 한다. 이를 통해 보다 많은 기업들이 쉽고 편하게 데이터 취득시스템을 개발·설치하고, 데이터 입출력 부분을 셀프 코딩하며, 송수신, 데이터 전처리 등을 거친 효과적인 인공지능 알고리즘을 통한 학습 및 검증을 통해 자사의 문제들을 풀어감으로써 제조기술 지능화에 한 발짝 다가가길 기대한다.

 

 

 

■연재 순서

1. 제조 중소·중견기업 인공지능 기술개발

2. 제조공정 데이터 취득(DAQ) 시스템 개발

3. IoT 센서 패키지 HW/SW 개발 및 데이터 송·수신

4. 데이터 전처리

5. 제조업 인공지능 적용

6. 인공지능 데이터 및 알고리즘 유형

7. 디지털 트윈 구축 및 HW/SW 개발 적용

8. 시계열 데이터 인공지능 학습 (예)

9. 이미지 데이터 인공지능 학습 (예)

10. 뿌리 제조기업의 공정지능화 과제

 

 

 

■제조 공정의 데이터 처리의 중요성

지난 기사에서 제조공정에 인공지능(AI) 적용이 성공적으로 이루어지기 위해서는 먼저 양질의 데이터를 충분히 확보해야 함을 강조하였다. 데이터 취득 과정에서 무결함의 데이터가 취득되는 것은 매우 중요하며, 동시에 취득된 데이터를 가공하여 쓸모 있는 데이터로 만드는 것은 AI 학습 결과의 효율을 높이는데 중요하다.

 

제조공정 데이터 가공을 위해서는 먼저 제조공정에서 어떤 데이터들이 발생하는지에 대해서 살펴보아야 한다. 예를 들어, 뿌리기술 중 사형주조 및 다이캐스팅 공장에서 이루어지는 공정을 보면, 주조공정은 상당히 복잡한 공정들의 복합체로 이루어져 있고, 이들이 유기적으로 연결되어 있다. 여기서 우선 금속제품의 변화와 이동 경로만을 살펴보면, 용해→성분조절→구상화, 접종(탈가스, 미세화, 진정)→주입→냉각→취출(탈사)의 순서로 이루어지는 것을 알 수 있다. 좀 더 자세하게 이들이 공장 내 설비의 사양과 어떻게 연관되는가를 보면 <그림1>과 같이 나타낼 수 있을 것이다.

 

이를 통해 주조공정의 데이터와 설비의 사양 데이터 등을 정리하며, 어떤 데이터를 취득할 것인가를 결정하는데, 주조공정의 데이터는 공정의 흐름에 따른 취득 데이터의 종류를 선별하여 결정되며, 설비 사양 데이터 등은 주조공정의 데이터가 설비능력 등에 합당한지를 파악할 수 있는 데이터로 사용할 수 있다.

 

 

▲ 주철 생산공정

 

 

 

 

▲ 다이캐스팅 공정

 

 

■제조공정 데이터 가공 및 검증 방법

제조공정에서 취득되고 검증된 데이터는 인공지능이 분석할 수 있는 데이터로 가공되어야 한다. 인공지능 알고리즘은 S/W(소프트웨어)로 이루어져 있으며, 특정한 양식(format)을 갖춘 데이터로 변화되어야만 인공지능 분석이 가능하다.

 

데이터를 가공하는 가장 손쉬운 방법은 엑셀 S/W를 이용하는 방법이다. 가장 쉽게 사용할 수 있는 엑셀은 CSV 형식으로, 인공지능 데이터를 처리하는데 많이 쓰이고 있다. 또한 타 업무에서도 많이 사용되는 엑셀S/W에서 데이터를 검증하기 때문에 대부분의 사람들이 익숙하게 작업을 할 수 있을 것이다. 데이터 처리 과정에서는 다음과 같은 데이터 기법으로 처리된다.

 

(1) 데이터 제거(Data cleansing): 데이터에서 값이 잘못되거나 타입이 맞지 않는 행이나 열을 제거하는 작업을 한다.

(2) 선택 및 분리 (Instance selection & partitioning): 데이터를 학습, 평가, 테스트용 데이터로 나누는 작업을 한다. 단순히 나누는 작업뿐만 아니라, 데이터를 샘플링 할 때, 그 분포를 맞추는 작업을 병행한다. 또는 데이터 분포상에서 특정 카테고리의 데이터 비율이 적을 때, 이 카테고리에 대해서 샘플의 비율을 높이는 소수 클래스 과샘플링(minority classed oversampling) 등의 기법을 이 과정에서 사용한다.


(3) 특성 튜닝(Feature tuning): 머신러닝 피처의 품질을 높이기 위해서 0~1값으로 값을 무차원화 (normalization) 하거나, 빠진 값을 제거하거나, 비상식적 값 등을 제거하는 등의 과정을 수행한다.


(4) 표현적 변경 (Representation transformation): 피처를 숫자로 맵핑 시키는 작업을 한다. 범주형 특성(Categorical Feature)을 원핫인코딩(one hot encoding) 등을 통해서 숫자로 맵핑하거나, 텍스트를 임베딩(embedding)을 통해서 숫자로 변환하는 작업등을 수행한다.


(5) 특성 추출 (Feature extraction): PCA와 같은 차원 감소 기법을 이용하여, 전체 피처의 수를 줄이는 작업을 수행하거나, 피처를 해시값으로 변환하여, 더 효율적인 피쳐를 사용하는 작업을 한다.


(6) 특성 선택 (Feature selection): 여러 개의 특성 중에 머신러닝에 사용할 특성만을 선별한다.

 

■데이터 처리를 위한 도구

데이터 처리를 위한 무료 S/W에는 파이썬(Python), R 등의 프로그램이 쓰인다. 이 두 가지 S/W는 엑셀 같은 패키지형 소프트웨어가 아닌 코딩이 수반되는 프로그래밍 언어의 성격에 가깝다. 이중 파이썬은 데이터 처리 프로그램으로 많이 사용하고 있으며, 파이썬을 사용하는 이유는 그 구조가 간단하다는 이점 외에 확장성이 용이해서 많은 사용자 및 확장 모듈들을 보유하고 있다는 것이 큰 장점이라고 할 수 있다. 인공지능 무료 소프트웨어로 유명한 텐서플로우(Tensorflow)나 파이토치(Pytorch) 같은 인공지능 소프트웨어들이 파이썬에서 운용되고 있다.

 

파이썬 언어를 사용할 경우 데이터 처리를 위한 핵심적인 모듈로는 Numpy, Pandas, Matplotlib, Seaborn 등이 있으며, 계속 모듈들이 개발되고 있다. 이 중 Numpy는 숫자 데이터를 주로 다루는 함수들로 이루어진 모듈로 주로 행렬연산을 담당한다. Pandas는 주로 시계열 데이터를 다루는 모듈이며, 주조공정에서 나오는 데이터들이 주로 시계열 데이터임을 감안할 때, 중요한 모듈로 간주된다. Matplotlib, Seaborn은 데이터를 그래프 등으로 표시해 주는 가시화 모듈이며, 데이터들을 쉽고 직관적으로 표현할 때 쓰인다.

 

단, 무료 S/W를 사용할 경우에는 유상지원 프로그램이 없으므로, 자기 스스로 공부하고 프로그램을 코딩하여 데이터 처리를 해야 한다. 스스로 공부를 하는 것이 많은 사람들에게 걸림돌이 될 수 있을 것이다. 단, 최근에는 인터넷을 통한 학습 자료들을 쉽게 구할 수 있어서, 공부하는 것은 어렵지 않으나, 그 한계는 있어서 일단 인터넷 자료를 통해 공부를 시도해 본 뒤 유료 강의 등을 직접 수강할 것을 추천한다.

 

반면 상용 S/W는 데이터 처리를 메뉴 방식으로 쉽게 처리해 주는 패키지형 S/W의 플랫폼을 갖추고 있다. 따라서 특별한 코딩 지식 없이도 인공지능을 위한 데이터 처리가 가능하며, 몇몇 데이터는 자동처리가 가능하도록 구성되어 있다. 그리고 기술지원이 가능하므로 자신이 목적으로 하는 데이터 처리에 대한 컨설팅을 받을 수 있는 것이 장점이다.

 

 

▲ 데이터 처리를 위한 무료 S/W와 상용 S/W 비교

 

 

 

■제조공정 데이터의 가공

제조공정에서 취득할 수 있는 데이터는 종류가 많을 수 있지만, 그 형식으로 보면 크게 숫자(문자 포함), 이미지와 신호로 구분될 수 있을 것이다. 숫자 데이터의 예로는 주물제품 생산시 주조품 생산 일련변호에 따른 공정변수, 이미지 데이터의 예로는 제품 결함 사진, 신호 데이터로는 설비에서 나오는 신호(온도, 압력, 전압, 전류 등)를 들 수 있다. 제조공정의 숫자(문자) 데이터의 예로는 제품명, 제품 lot번호(또는 serial번호), 제품 생산 일시, 설비 공정변수등이 있다. 이들은 주로 숫자 또는 문자형태의 데이터로 저장된다.

 

소프트웨어에서 처리하고 있는 숫자의 종류는 크게 정수(integer)와 부동소수(floating point)로 나뉜다. 정수의 경우 저장단위가 2byte(16bit)라고 하면, 정수는 0부터 65535 (=2의 16승-1) 또는 -32767부터 32768까지의 숫자만 표현할 수 있다. 부동소수인 경우 숫자는 지수형태로 표현될 수 있으며, 예를 들어 1.23456678e-09식으로 표시할 수 있다.

 

데이터 가공을 위해서는 EDA(Exploratory Data Analysis)를 사용한다. EDA란 수집한 데이터가 들어왔을 때, 이를 다양한 각도에서 관찰하고 이해하는 과정으로 데이터의 분포 및 값을 검토함으로써 데이터가 어떤 성질을 가졌는지 이해할 수 있으며, 데이터에 대한 잠재적인 문제를 발견할 수 있다. 즉, 다양한 각도에서 살펴보는 과정을 통해 문제 정의 단계에서 미처 발견하지 못한 다양한 패턴을 발견하고, 구체적으로 어떻게 모델을 설정해야 할지 파악할 수 있다. EDA는 다음의 과정으로 진행된다.

 

(1) 분석 계획: 문제 정의 단계에서 세웠던 연구 질문과 가설을 바탕으로 분석 계획을 세우는 것으로 분석 계획에는 어떤 속성 및 속성 간의 관계를 분석해야 하는지와 이를 위한 최적의 방법은 무엇인지 파악해야 한다. 구체적으로 분석의 목적과 변수가 무엇이 있는지 확인하고 개별 변수의 이름이나 설명이 있는지 확인한다.


(2) 데이터 전체 탐색: 데이터에 문제가 없는지 확인한다. 데이터의 머리와 꼬리 부분을 확인하거나, 다양한 탐색기법을 통해 이상치나 결측치 등을 확인하는 과정이 필요하다.


(3) 데이터의 개별 속성 값을 검증 : 각 속성 값이 예측한 범위와 분포를 갖는지 확인하고, 만약 그렇지 않다면 이유가 무엇인지를 확인한다.


(4) 속성 간의 관계에 초점을 맞추어, 개별 속성 관찰에서 찾아내지 못했던 패턴을 찾아내고, 보통 상관관계, 시각화 등 기법을 사용한다.

 

데이터에 이상치가 있으면, 이상치가 왜 발생했는지 의미를 파악하고 어떻게 대처해야 할지(제거, 대체, 유지 등)를 판단해야 한다. 이상치를 발견하는 기법은 여러 가지가 있고 대표적으로 아래와 같은 방법들이 있다.

 

(1) 개별 데이터 관찰: 데이터 값을 눈으로 쭉 훑어보면서 전체적인 추세와 특이사항을 볼 수 있다. 데이터가 많다고 앞부분만 보면 안 되고, 인덱스에 따른 패턴이 나타날 수도 있으므로 앞, 뒤 또는 무작위로 표본을 추출할 필요성이 있다.


(2) 통계치 활용: 요약 통계 지표(summary statistics)를 사용하는 방법이다. 데이터의 중심을 알기 위해서는 평균(mean), 중앙값(median), 최빈값(mode)을 사용할 수 있고 데이터의 분산을 알기 위해 범위(range), 분산(variance)을 사용할 수 있고, 통계 지표를 이용할 때는 데이터의 특성에 주의해야 하는데, 평균에는 집합 내 모든 데이터 값이 반영되기 때문에, 이상치가 있으면 값이 영향을 받지만, 중앙값에는 가운데 위치한 값 하나가 사용되기 때문에 이상치의 존재에도 대표성이 있는 결과를 얻을 수 있다.


(3) 시각화 활용: 시각적으로 표현이 되어있는 것을 보면, 분석에 도움이 많이 된다. 시각화를 통해 주어진 데이터의 개별 속성에 어떤 통계 지표가 적절한지 결정할 수 있다. 시각화 방법에는 확률밀도 함수, 히스토그램, 분산 그래프(scatter plot), 워드 클라우드, 시계열 차트, 지도 등이 있다.


(4)머신러닝 기법 활용: 대표적인 머신러닝 기법으로 K-means를 통해 이상치의 확인이 가능하다.

 

출처:  http://www.amenews.kr/news/view.php?idx=50769

목록보기