DOI QR코드

DOI QR Code

Machining Learning and Its Application to Material Processing Problem III - RNN, LSTM, CNN

머신러닝 기술의 재료·가공문제에 적용III - RNN, LSTM, CNN

  • Y. S. Kim (School of Mechanical Engineering, Kyungpook National University)
  • 김영석 (경북대학교 기계공학부)
  • Published : 2024.06.01

Abstract

Keywords

1. 서론

현대 사회에서는 시장의 수요 증가와 지속적인 기술 변화로 인해 기존의 방법만으로는 대응하기 어려운 상황이 발생하고 있다. 이러한 도전에 효과적으로 대처하기 위해, 광범위한 데이터로부터 학습하고 최소한의 인간 개입으로 합리적인 의사 결정을 내릴 수 있는 인공 지능(artificial intelligence, AI)의 한 분야인 머신 러닝(machine learning, ML) 기술의 적용이 확대되고 있다[1-5].

머신 러닝은 의료, 금융, 농업, 부동산, 자율주행, 제조, 비디오 추천 등 다양한 분야에서 활용되고 있으며, 이 기술은 특히 의료 분야에서는 조기 질병 진단과 맞춤형 치료 계획을 지원하는 데, 금융 부문에서는 사기 거래 패턴을 식별하여 금융 사기를 방지하는 데, 농업에서는 작물 수확량을 예측하고 파종 주기를 최적화하는 데, 그리고 부동산 분야에서는 부동산 가격을 예측하는 데 유용하게 사용되고 있다[6, 7].

제조 현장에서는 ML(자주 기계 학습이라고 불림) 알고리즘이 IoT 기반의 센서 데이터를 분석하여 설비의 고장 진단, 수명 예측, 품질 관리, 공급망 관리, 동적 가격 책정, 그리고 폐기물 및 에너지 절감 등 기업 경영 전반에 걸쳐 효율적으로 적용되고 있다. 설계 부서에서는 ML이 엔지니어가 상상할 수 없는 속도로 수많은 설계 반복을 분석하고 재료 특성, 비용 및 환경 영향을 균형 있게 고려한 최적화된 솔루션을 제공하여 제품 개발의 비용과 시간을 절약하는 데 큰 기여를 하고 있다.

제조 산업 분야에서는 소성 가공, 절삭 가공, 용접, 다이캐스팅, 스마트 제조, 재료 소성 물성평가 등 제조 산업 전 분야에 걸쳐 머신 러닝 기술의 적용이 확대되고 있다[8-16].

이러한 머신 러닝 기술은 국가적으로도 중소벤처기업부의 지원을 받아 2021년 12월에 구축된 인공지능 중소 벤처 플랫폼(www.kamp-ai.kr)을 통해 중소 기업의 설비와 공정에서 발생하는 문제를 해결하는데 사용되고 있다[17a, b].

이 플랫폼에는 국내 제조현장에서 축적된 제조 데이터를 활용, 중소기업의 설비·공정에서 발생하는 문제를 AI 기술을 접목하여 해결한 사례들과 많은 데이터셋이 구축되어 있다. 이 플랫폼에는 각 기업들이 해결하려는 제조현장의 다양한 현장 이슈(pain point)를 AI 전문가 시스템을 이용하여 코딩 없이 AI 분석을 수행할 수 있는 툴을 제공하고 있다.

이 머신러닝은 일반적으로 (1) 문제의 정의∙ 설계 기획 (2) 데이터 수집 (3) 데이터 전처리(정제, 가공, 표준화, 학습/평가 데이터 분리 등) (4) 모델링(학습 모델선정, 모델학습) (5) 모델 평가 및 예측(회귀, 분류) (6) 결과의 조치 및 성능개선 작업 등의 일련의 과정을 거쳐 수행된다[2, 3, 5, 7].

본 논문에서는 지난 1회 및 2회 해설논문[18, 19]에 이어서, 산업 현장에서 널리 활용되고 있는 머신 러닝 기술의 핵심 알고리즘들을 알기 쉽게 설명하고자 한다. 이를 통해 산업 현장의 엔지니어들이 이 기술을 더욱 잘 이해하고 활용할 수 있도록 돕고자 한다.

본 해설논문에서는 RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory), 및 CNN(Convolutional Neural Network)의 세 가지 핵심 알고리즘[20]과 그 응용 예를 다루고자 한다.

여기서 RNN은 시퀀스 데이터 모델링에 강력한 신경망 클래스로, 표준 피드포워드 신경망과 달리 방향성 주기를 형성하는 연결이 있어 정보가 지속적으로 연결되는 특징을 갖고 있다. 이러한 특성은 시계열 예측, 자연어 처리, 음성 인식 등 데이터 포인트의 순서가 중요한 작업에 이상적이다[21].

LSTM은 기존 RNN의 한계인 그래디언트 소실 문제를 해결하기 위해 개발된 RNN의 한 형태이다. LSTM은 장기간 정보를 기억하도록 설계되어, 학습 시퀀스의 간격 종속성이 긴 경우에 특히 유용하다[22].

CNN은 컨볼루션을 사용하는 특수한 종류의 신경망으로, 이미지와 같은 데이터를 처리하는 데 특히 적합하다[23a-d].

본 해설에 기술한 내용과 관련된 프로그램은 저자의 GitHub(https://github.com/yskim9574/DFclass-2023)에 올려두었다. 관심 있는 분들은 참조하시기 바랍니다.

2.1 RNN(Recurrent Neural Network)

제조현장의 기계 또는 대형 구조물에 부착된 센서로부터 실시간적으로 얻어지는 IoT 데이터나 언어와 같은 덱스트 데이터(text data)와 같이 동적 특성을 갖는 시퀜스 데이터(sequential data) 또는 시계열 데이터(time series data)의 분석과 예측에 순환 신경망 RNN [21]과 RNN을 보완한 장단기메모리LSTM 그리고 이상 탐지(anomaly detection)에 LSTM autoencoder[22] 방법이 자주 사용된다.

여기서 시계열 데이터란 일반적으로 일정한 시간 간격으로 연속적으로 측정되는 일련의 데이터를 말한다. 이상 데이터(anomaly data)이란 정상적인 데이터(normal data)와는 다른 메커니즘에 의해 발생된 데이터 혹은 확률 밀도가 낮은 빈도의 데이터 등 다양하게 정의된다.

이들 모델은 이전에 나온 정보를 기억하면서 다음 데이터들을 학습할 수 있다는 특징 때문에 음성 인식과 문장 번역과 같은 자연어 처리(natural language processing, NLP), 환경변화 감지, 날씨 예측, 주가 예측, 기계의 잔류수명 예측, 기계 시스템의 이상 탐지, 금융 사기 탐지, 사이버-물리적 공격 탐지, 매출 이상 탐지를 통한 공급망 관리 등 다양한 분야에 널리 사용되고 있다[2-5].

그림 1(a)~(c)에 막스 플랑크 생물 지구화학 연구소에서 2009년~2016년 사이에 측정한 날씨에 관한 시계열 데이터의 예를 나타내었다.

SSGGB@_2024_v33n3_214_3_f0001.png 이미지

Fig. 1 Weather time series dataset recorded by the Max Planck Institute for Biological Geochemistry

[https://storage.googleapis.com/tensorflow/tf-keras-datasets/jena_climate_2009_2016.csv.zip]

RNN은 이전 시점의 정보들을 반영하여 시계열 데이터 모델링에 적합한 인공신경망 모델이다. 그림 2(a)와 (b)에 이 RNN모델과 기존의 ANN모델과의 차이를 나타내었다. 그림 2(b)는 시퀜스를 입력 받고 하나의 값을 출력하는 RNN형태를 나타낸 것이다.

SSGGB@_2024_v33n3_214_3_f0002.png 이미지

Fig. 2 (a) ANN model; (b) RNN model (many-to-one)

ANN에서는 입력 데이터 xt들에 가중값들인 초모수(hyperparameter) wxh을 곱하고 이 값에 활성화 함수 f를 작용시켜 은닉층의 값 ht으로 한다(ht = f(wxhxt)). 이후 이 값 ht에 다시 초모수 why을 곱하고 활성화 함수 g를 작용시켜 예측값 \(\begin{align}\hat {y}_{t}\end{align}\)을 구한다\(\begin{align}(\hat{y}_t = g(w_{hy}h_t))\end{align}\). 이 순전파 과정(forward propagation, FP)에서 얻어진 예측값 \(\begin{align}\hat{y}\end{align}\)은 목표값 yt과 다르기 때문에 손실, \(\begin{align}\operatorname{loss}=\frac{1}{2}\left(y_{t}-\hat{y}_{t}\right)^{2}\end{align}\)을 정의하여 역전파 과정(backward propagation, 간단히 backpropagation, BP)을 통해서 손실을 최소화하도록 초모수들을 최적화 해가는 과정을 반복한다.

즉 ANN에서는 정보가 입력층에서 은닉층으로, 은닉층에서 출력층으로 계층 간에만 전달된다. 하지만 RNN에서는 은닉층이 입력층 정보와 이전 단계에서 은닉층으로 부터 정보를 받아서 계층 간의 정보를 전달한다. 즉 (t -1) 단계에서의 정보를 단기 기억하여 현재 (t) 단계에서 반영하는 이 정보의 흐름을 루프(loop), 순환 에지(recurrent edge)로 표시한다. 이 과정에서 recurrent neural network 란 이름이 유래되었다.

RNN 모델의 순방향 과정에서 학습결과는 다음과 같이 계산된다.

ht-1 = f(wxhxt-1 + whhht-2)

ht = f(wxhxt + whhht-1)

yt = g(whyht)       (1)

여기서 wxh는 입력층 데이터 xt를 은닉층으로 보내는 초모수, whh는 이전 레이어 은닉층의 ht-1를 다음 레이어 은닉층의 ht로 보내는 초모수 그리고 why는 은닉층의 ht를 출력층 데이터 \(\begin{align}\hat{y}_{t}\end{align}\)로 보내는 초모수이다.

㈜ 최근에 RNN 모델의 식 (20)은 상태-공간 모델(state-space model)로 해석되고 있다. 즉, 현재 시간의 상태 ht가 이전 시간의 상태 ht-1에 관련이 있다고 하면 다음과 같이

ht = f(ht-1)       (2)

1차원 시스템으로 나타낼 수 있다. 이 시스템은 초기 조건만 주어지면 외부 입력없이 자기 자신이 스스로 돌아가는 자율 시스템(autonomous system)이다.

그런데 현재 시간의 상태가 이전 시간의 상태와 현재의 입력 xt과 관련이 있다고 하면 위 식은 다음과 같이 나타낼 수 있다.

ht = f(ht-1, xt)       (3a)

한편 각 시간에서 관측 가능한 상태의 모음을 출력 yt라고 하면 다음 식으로 나타낼 수 있다.

yt = g(ht)       (3b)

따라서 어떤 시스템을 상태-공간 모델에서 해석하기 위해서는 상태, 입력, 출력의 3 요소가 필요하다.

이 식 (3a)와 (3b)에서 함수 f와 g를 뉴럴 네트워크의 활성화 함수로 근사시키면 식 (1)과 같이

ht = f(wxhxt + whhht-1)

yt = g(whyht)       (3c)

으로 나타낼 수 있다.

그림 3에 활성화 함수를 f = tanh(·), g = soft max(·)를 사용한 경우에 RNN모델의 작동 메커니즘을 나타내었다. 하단에는 이전 정보를 기억하여 현재 상태에 반영하는 RNN모델을 개념적으로 나타내었다.

SSGGB@_2024_v33n3_214_4_f0001.png 이미지

Fig. 3 Unrolled RNN model expression

RNN모델은 단기 기억 능력으로 인해 시퀜스 데이터를 처리하고 데이터의 패턴을 식별할 수 있고 다양한 길이의 입력을 처리할 수 있는 장점이 있다.

그러나 RNN에서는 구배하강법으로 초모수를 갱신하는 시간에 따른 역전파 과정(BPTT, backpropagation through time)에서 동일한 행렬 whh가 반복적으로 곱해지기 때문에 등비수열 효과로 인해 네트워크의 레이어가 증가할수록 손실함수의 구배를 계산할 때 구배 소실(gradient vanishing)이나 구배 폭주(gradient exploding) 문제가 발생하여 학습이 중단되는 경우가 생긴다.

또한 RNN모델은 최신의 정보만 단기 기억하고 과거의 관측치와 같은 장기 기억은 없기 때문에 데이터의 길이가 길어질수록 과거의 중요한 정보에 대한 학습이 어려워지는 단점이 있다. 이 것을 장기 종속성 문제(long-term dependency problem)라고 부른다.

위에서 기술한 RNN 모델의 제반 식들에는 바이어스 b를 고려하지 않았지만 필요한 경우에

ht-1 = f(wxhxt-1 + whhht-2 + b)

ht = f(wxhxt + whhht-1 + b)

yt = g(whyht + b)       (4)

와 같이 바이어스를 고려할 수 있다.

RNN에서는 순환 신경망을 몇 번이나 펼치던지(unrolling) 초모수와 바이어스 값은 모든 입력에서 공유하고 변경하지 않는다.

그림 4에 RNN이 어떻게 작동하는지를 나타내었다. 오늘(0.5), 어제(0.5), 그제(1.0)의 3일 데이터 값을 이용하여 내일 데이터 값(1.0)을 예측하는 경우에 대한 예이다. RNN 모델에서는 내일 값 1.0을 예측하기 위해서 앞에서 설명한 것과 같이 역전파 과정을 통해서 손실을 최소화하도록 초모수들을 최적화한다.

SSGGB@_2024_v33n3_214_4_f0002.png 이미지

Fig. 4 Understanding RNN algorithm

날씨 예측과 같이 과거의 많은 시계열 데이터들을 확보한 경우에는 이 RNN을 통해서 계절과 날씨 데이터 - 온도, 습도, 강수량 등의 상관관계를 파악하여 월별 날씨를 예측할 수 있다.

또한 많은 실제 경우에서 시계열 데이터는 여러 관련 변수가 포함될 수 있기 때문에 다변량 시계열(multivariate time series)을 처리할 수 있도록 RNN을 확장할 수 있다.

한편 RNN을 CNN-RNN, Transformer-RNN, ANN-RNN과 같이 다른 모델과 결합하여 공간과 순차 패턴을 모두 처리할 수 있는 하이브리드 아키텍처를 구성하여 다양한 영역에서 예측의 정확도를 높일수도 있다.

2.2 LSTM(Long-short Term Memory)

앞에서 설명한 RNN은 시계열 데이터, 텍스트 데이터 또는 기타 데이터 시퀀스와 같은 순차적 데이터 처리를 위해 설계된 신경망 유형이다. 여기서는 루프가 있어 시간이 지나도 정보가 유지되며 입력 시퀀스를 한 번에 한 요소씩 처리하고 시퀀스의 이전 요소에 대한 정보를 숨겨진 상태로 유지한다.

그러나 기존 RNN은 시간이 지남에 따라 구배 소실이나 구배 폭주 문제로 인해 학습 중단의 문제가 발생한다.

실제에는 이렇게 RNN 모델이 갖는 장기 종속성 문제를 해결하고 장거리 종속성을 보다 효과적으로 다루도록 설계한 것으로 LSTM 모델과 GRU모델이 자주 사용된다. LSTM은 정보의 흐름을 규제하는 망각 게이트(forget gate), 입력 게이트(input gate), 출력 게이트(output gate)를 포함하는 셀 상태(cell state)의 복잡한 아키텍쳐 구조를 가지고 있다(그림 5).

SSGGB@_2024_v33n3_214_5_f0001.png 이미지

Fig. 5 Unrolled LSTM model expression

㈜ ⓧ는 같은 크기의 두 행렬의 각 성분별 곱셈을 뜻하는 아다마르 곱(Hadamard product) 연산자이다.

망각 게이트는 어떤 정보를 얼마나 오랫동안 장기 기억할지 또는 무시할지를 결정한다. 입력 게이트는 셀 상태와 장기 메모리에 어떤 정보를 추가할지 결정한다. 출력 게이트는 셀 상태의 어느 부분이 출력을 생성하는지 결정한다. 이들 세 개의 게이트는 필터 역할을 하며 정보의 흐름을 제어하는 역할을 한다.

또한 LSTM의 셀 상태는 ht (short-term state, 단기 상태)와 Ct (long-term state, 장기 상태)로 구성되어 있다. 이 셀 상태는 일종의 컨베이어 벨트 역할을 한다고 생각하면 된다. 따라서 시퀜스 데이터의 길이가 길어도 (오랜 시간이 경과하여도) 구배가 비교적 전파가 잘 이루어 진다.

이렇게 3개의 게이트와 2개의 셀 상태를 이용하는 것에 의해 LSTM은 중요하지 않은 정보(불필요한 기억)은 지우고 중요한 정보(필요한 기억)은 기억하기 때문에 장기적인 종속성 문제를 효과적으로 해결한다.

LSTM에서는 f = sigmoid(·) 와 g = tanh(·)를 주로 사용한다. 이 경우에 sigmoid function은 0~1 사이의 값을, g는 tanh function은 -1 ~ 1 사이의 값을 가진다.

한편 2014년 뉴욕대학교 조경현 교수가 제안한 게이트 순환 장치(gated recurrent unit, GRU) 모델에서는[23e] 업데이트 게이트와 리셋 게이트 두 가지 게이트 만을 이용하여 LSTM의 장기 종속성 문제에 대한 해결책을 제시하였다. GRU는 LSTM과 비슷한 성능을 보인다고 알려져 있다.

이와 같이 RNN 아키텍처 유형인 LSTM과 GRU는 시계열 예측, 자연어 처리, 음성 인식 , 기계 변역등과 같이 장거리 종속성을 갖는 시퀀스 데이터를 처리하는데 주로 사용된다.

한편 유사한 용어로 시계열 데이터의 이상을 탐지하는 목적에 LSTM 오토인코더가 널리 사용된다. 이 LSTM 오토인코더는 대표적인 시계열 딥러닝 알고리즘인 LSTM과 이상치 탐지에 주로 사용되는 오토인코더를 결합시킨 알고리즘이다(그림 6). 이 방법은 LSTM 셀을 기반으로 하는 인코더-디코더 아키텍처를 활용하고 입력 시퀀스를 복원(reconstruction, 재구성)하여 시계열 데이터의 이상 탐지에 사용되는 비지도 학습 방법론이다

LSTM 오토인코더는 입력 데이터(다차원 공간에 위치로 표현되는 벡터로 간주함)에서 가장 관련성이 높은 특징을 식별 및 추출하고 이러한 특징을 보다 간결한 형태로 변환하여 저차원 공간에서의 데이터로 압축하는 LSTM 기반 인코더(encoder)와 이 인코딩된 데이터(encoded data 또는 compressed representation)으로부터 입력 데이터를 원본에 가깝게 복원하는 LSTM 기반 디코더(decoder)로 구성된다(그림 6(a)와 (b)).

SSGGB@_2024_v33n3_214_5_f0002.png 이미지

Fig. 6 (a) Autoencoder architecture

[https://doi.org/10.1007/s10845-021-01879-9]

SSGGB@_2024_v33n3_214_5_f0003.png 이미지

Fig. 6 (b) LSTM Autoencoder for anomaly detection and data reconstruction for normal and abnormal data

잘 관리되고 있는 제조 공장에서는 이상 현상(제조 시스템의 센서로부터 측정되는 시계열 데이터의 비정상적 패턴 등)이 드물게 발생하고 이상 현상으로 분류된 데이터가 적기 때문에 LSTM 오토인코더 방법이 매우 유용하다.

즉, 이 모델에서 정상적인 데이터를 재구성 복원하면 입력 데이터와 재구성한 데이터의 재구성 오차(reconstruction error)가 적지만 이상 데이터의 경우에는 모델이 학습하지 못한 패턴이 존재하여 재구성 복원 오차가 매우 커진다. 이 재구성 오차를 기반으로 적절한 임계값(threshold, maximum error)를 선정하여 이상 발생 여부를 판별할 수 있다.

요약하면, LSTM은 장거리 종속성을 갖는 시퀀스 데이터를 처리하도록 설계된 순환 신경망 아키텍처 유형이고, 시계열 예측, 자연어 처리, 음성 인식 등과 같은 작업에 일반적으로 사용된다. 반면 LSTM 오토인코더는 LSTM 레이어를 기반으로 하는 인코더-디코더 아키텍처를 활용하여 입력 시퀀스를 재구성하여, 시퀀스 생성, 이상 탐지, 노이즈 제거, 순차 데이터의 특징 추출과 같은 작업에 일반적으로 사용된다.

그림 6(b)에 LSTM 오토인코더의 개념과 정상 데이터와 비정상 데이터에 대한 데이터 복원을 나타내었다.

이런 시계열 데이터를 취급할 때에는 (1) 시간에 따른 데이터의 장기적인 변화 추세(trends), (2) 일정한 간격으로 발생하는 반복적인 패턴이나 변동의 계절성 특성(seasonality), (3) 특정 간격으로 고정되지 않고 일정한 빈도로 반복되지 않는 순환 패턴(cycle patterns), (4) 특정 패턴을 따르지 않는 데이터에 존재하는 무작위 변형인 노이즈(noise) 등의 특성을 잘 이해하는 것이 필요하다.

이런 시계열 데이터에 대한 적절한 전처리를 하고 - 예를 들면 시계열 데이터를 국제표준기반 데이터 형식인 자산 관리 셀 데이터 모델(asset administration cell, IEC 63278-1:2023)로 저장, 누락된 데이터 처리, 데이터 정규화, 추세 제거, 계절 조정, 노이즈 제거와 평활화 등 – 데이터를 재구성하는 것이 해석 정밀도를 높이기 때문에 중요하다.

2.3 CNN(Convolutional Neural Network)

Yann LuCun이 1990년대에 CNN의 기본 개념인 LeNet-5 라는 아키텍처를 제안한 이후 Simonyan과 Zisserman[23a] 에 의해 확립된 CNN(컨볼루션 신경망 또는 합성곱 신경망, 자주 ConvNet라고 불림)은 주로 컴퓨터 비전에 의한 이미지 분류(image classification), 객체 감지(object detection) 및 기타 이미지 처리와 인식 작업(image processing and recognition task)에 널리 사용되는 심층 신경망(DNN)의 한 종류이다. CNN은 컨볼루션 필터(convolution filter, kernel) 적용을 통해 입력 이미지에 대해 특징의 공간 계층을 효과적으로 학습하는 과정을 통해 이미지를 분류하는 기법이다.

CNN은 컨볼루션 층(convolution layer), 풀링 층(pooling layer), 평탄화 층(flatten layer), 완전 연결 층(fully connected layer)을 포함한 여러 층을 겹겹이 쌓아 올려 복잡한 데이터의 패턴을 학습한다.

컨볼루션 층은 입력 이미지 전체에 이미지의 특정 정보를 강조하거나 제거하는 기능을 가진 컨볼루션 필터를 일정한 화소(pixel) 간격으로 순회 적용하여(각 입력 화소값과 대응하는 필터의 요소값을 아다마르 곱셈처리) 가장자리, 질감, 패턴과 같은 특징을 추출하는 작업이다. 컨볼루션 층의 입력 데이터를 필터가 순회하며 합성 곱 연산을 통해서 만든 출력을 특성 맵(feature map)이라고 한다. 이 특성 맵 행렬에 활성 함수를 적용한 결과가 활성화 맵(activation map)이다. 즉 컨볼루션 층의 최종 출력 결과가 활성화 맵으로 나타난다. 여기서 지정된 화소 크기로 필터를 순회하는 간격을 스트라이더(stride)라고 한다. 스트라이더의 기본값은 1이고 조절할 수 있다.

컨볼루션 층에서 필터와 스트라이더 작용으로 특성 맵의 크기는 입력 데이터 보다 작다. 컨볼루션 층의 출력 데이터가 입력 데이터 보다 줄어드는 것을 방지하는 방법이 패딩(padding, 연산의 가장자리 처리)이다. 패딩은 컨볼루션 층의 출력 데이터의 외각에 지정된 픽셀만큼 특정 값으로 채워 넣는 것을 의미하는데 보통 패딩 값으로 0을 채워 넣는다(zero padding). 패딩을 통해서 입력 데이터 크기와 컨볼루션 층의 출력 데이터 크기가 같아지도록 하는 것을 same-padding 이라고 한다. 패딩은 컨볼루션 층의 출력 데이터의 사이즈를 조절하는 기능 외에, 외각을 0값으로 둘러싸는 것으로부터 인공 신경망이 이미지의 외각을 인식하는 부수적인 학습 효과도 있다.

풀링 층은 계산하는 정보의 양을 줄이기 위하여 (차원을 줄임) 일정한 범위에서 가장 특징이 되는 범위에서 특징이 되는 값(최대값, 최소값, 평균값)만을 추출하는 작업이다.

한편 평탄화 층은 고차원의 입력 데이터를 효과적으로 1차원으로 변환하는 과정을 담당하는 네트워크 층이다. 예를 들어, 이미지 처리 과정에서 컨볼루션 층과 풀링 층을 거친 후, 고차원의 특성을 가진 데이터를 전통적인 완전 연결 층에 연결하기 위해 데이터를 1차원 구조로 평탄화한다. 이 과정에서 데이터의 공간적 구조 정보는 사라지지만, 완전 연결 층에서 중요한 패턴을 학습하는 데 필요한 정보는 유지된다(그림 7).

SSGGB@_2024_v33n3_214_7_f0001.png 이미지

Fig. 7 Typical convolutional neural network for image classification

[https://towardsdatascience.com/a-comprehensive-guide-to-convolutional-neural-networks-the-eli5-way-3bd2b1164a53]

이런 일련의 과정을 거쳐 이미지 데이터를 행과열, 그리고 채널로 이루어진 1차원 데이터로 벡터화하여 심층신경망의 입력 데이터로 사용한다. 심층 신경망을 학습할 때 배치학습을 자주 이용하는데 이때 배치 별 데이터의 편차가 존재하는 경우에는 배치 정규화(batch normalization, BN)를 이용한다. 즉, 정규화를 통하여 분포를 제로 평균 가우시안 형태 - 평균은 0, 표준편차는 1-로 만든다.

참고로 CNN은 고양이가 어떤 물체를 인식할 때, 모든 뉴런이 반응하는 것이 아니라 물체의 모양이나 패턴에 따라 특정한 뉴런이 반응한다는 것에 영감을 받아 만들었다고 하며, 필터가 바로 이러한 역할을 하여 이미지의 외곽(edge) 부분에 대한 반응을 이끌어낸다고 알려져 있다.

이 CNN 기법 - 컨볼루션, 풀링, 패딩 등 - 을 이용하여 입력 이미지인 영문자 X의 이진 영상을 분석하는 방법을 이하에 설명한다. 컴퓨터의 이미지 영상은 통상 RGB 칼러 영상(color scale image), 흑백 명암을 갖는 그레이 영상(gray scale image), 흑백 단색의 이진 영상(binary scale image) 등으로 나누어지는데 여기서는 간단히 흑백 이진 영상만을 다룬다. 흑백 이진 영상에서 힌색 화소는 -1(또는 0), 검은색 화소는 1로 나타내진다.

그림 8은 십자형 금형으로 프레스 가공한 시편을 흑백 이진 영상으로 나타낸 예이다.

SSGGB@_2024_v33n3_214_8_f0001.png 이미지

Fig. 8 Binary scale image of press forming

그림 9에는 이진 영상으로 나타낸 입력 이미지인 영문자 X 층에 초기의 3Ⅹ3크기 필터(2차원 행렬)의 아다마르 곱을 스트라이더 1의 값으로 순회적으로 적용하여 합의 평균을 구하는 컨볼루션 층의 작동 방식을 나타내었다.

SSGGB@_2024_v33n3_214_8_f0002.png 이미지

Fig. 9 Convolution layer for the alphabet X

이 초기 필터의 픽셀 값은 매개변수(가중값)이며 무작위로 설정되거나 일부 경험적 방법(Glorot uniform)을 통해 설정되는 경우가 많다. 이 픽셀 값은 심층신경망 네트워크에서 손실 기울기를 기반으로 한 역전파를 통한 학습 과정을 통해 네트워크가 해당 작업(예: 분류, 감지)을 보다 정확하게 수행하도록 최적화된다.

그림 10에는 이들 값의 매트릭스에 0-패딩과 비선형 함수인 ReLu 활성화 함수를 적용한 결과와 최대 값으로 풀링하는 과정(max-pooling)을 나타내었다.

SSGGB@_2024_v33n3_214_8_f0003.png 이미지

Fig. 10 Pooling layer with activation function

그림 11에서는 이 과정을 반복하여 초기에 9Ⅹ9 행렬 이미지를 초기의 이미지 특성을 갖는 4Ⅹ1 행렬 이미지(1차원 벡터 형태의 특성 맵)으로 표현하는 과정을 나타내었다.

SSGGB@_2024_v33n3_214_9_f0001.png 이미지

Fig. 11 Feature map through convolution, max-pooling with activation function

이 CNN에서는 한 개의 필터만을 적용하면 특성 맵의 결과가 편향될 수 있으므로 서로 다른 여러 개의 필터를 적용하는 것이 바람직하다. 그림 12에 서로 다른 2 개의 다른 필터에 컨볼루션을 적용해서 특성 맵을 구성한 경우를 나타내었다.

SSGGB@_2024_v33n3_214_9_f0002.png 이미지

Fig. 12 Various filters

그림 13(a)에 9Ⅹ9 행렬(텐서 차원이라고 불림)의 X이미지 데이터에 필터의 합성곱, 활성화 함수, 최대 풀링의 적용을 통해 12Ⅹ1 행렬의 1차원 벡터 형식의 특성 맵이 얻어지는 전 과정을 요약하여 나타내었다. 물론 필터 크기(filter size), 필터의 개수(number of filters), 입력 이미지 데이터의 채널 수(input channels), 스트라이더의 값, 패딩 값의 크기가 달라지면 최종 특성 맵의 크기와 값도 달라진다. 일반적으로 필터의 채널 수는 입력 이미지의 채널 수보다 훨씬 크며 필터의 높이와 너비는 입력의 공간 해상도보다 상당히 낮게 잡는다.

Fig. 13 (a) A 9Ⅹ1 tensor image(feature map) obtained from 9Ⅹ9 tensor image by passing successively convolution, pooling, padding layer

그림 13(b)에는 영문자 X의 특성 맵에서 영문자 X의 특성을 잘 표현하는 벡터 성분의 특징을 설명한 것이다. 많은 데이타들을 학습하여 얻거나 알려진 영상에 대한 1차원 벡터 형식으로 부터 기준으로 선정한 영문자 X는 1 번째, 4 번째, 5 번째, 10 번째, 11 번째 값이 1.0으로 높은 특징을 갖는다. 따라서 그림에서와 같이 어떤 영문자에 대한 입력 영상의 CNN 분석에서 벡터 표의 1 번째, 4 번째, 5 번째, 10 번째, 11번째 값이 상대적으로 높으면 입력 영상이 영문자 X로 분류될 가능성이 높다고 볼 수 있다.

SSGGB@_2024_v33n3_214_9_f0004.png 이미지

Fig. 13 (b) Characteristic of vector table of the alphabet X

그림 14(a)는 테스트 이미지에 대한 특성 맵의 벡터값을 나타낸 것으로 이 테스트 이미지는 영문자 X일 확률이 91%이란 것을 나타낸다.

SSGGB@_2024_v33n3_214_10_f0001.png 이미지

Fig. 14 (a) Comparison of vector table of the alphabet X

위에서 설명한 CNN 기술을 이용하여 영문자 X와 사선(non-X 문자)을 컴퓨터로 생성시켜 CNN을 통해서 판별한 결과를 그림 14(b)에 나타내었다. 여기서 영문자 X와 사선은 서로 다른 특징의 평탄화 층 값, 즉 1차원 벡터성분 값을 갖는 것을 알 수 있다.

SSGGB@_2024_v33n3_214_10_f0002.png 이미지

Fig. 14 (b) Vector value (flatted layer value) for the 4-test images

실제 산업현장에서 얻어지는 이미지 데이터와 유사한 특징을 갖는 데이터에 대해서 CNN 기법을 적용하기 위해서 손으로 작성한 영문자 X와 non-X 문자의 그레이 이미지 파일(.jpg 파일)을 학습시키고 학습에 사용하지 않은 4개 문자(2개는 X 문자, 2개는 non-X 문자)에 대해서 분류한 결과를 그림 15(a)에 나타내었다. 그림 15(b)에 학습 손실-에포치 와과 검증 손실-에포치의 관계를 나타내었다.

SSGGB@_2024_v33n3_214_10_f0003.png 이미지

Fig. 15 (a) CNN result for handwriting image of X and non-X

[https://github.com/yskim9574/DFclass-2023/blob/main/CNN_handwriting]

SSGGB@_2024_v33n3_214_11_f0001.png 이미지

Fig. 15 (b) Training and validation loss over epochs

이 문제를 다루기 위한 텐서플로우 프로그램에서 컨볼루션 층, 풀링 층 등의 주요 파라미터로 아래와 같이 그레이 스케일의 15Ⅹ15 크기의 입력 이미지 데이터, 3Ⅹ3 크기의 필터 32개 층, 렐루 활성화 함수, same-padding, 2Ⅹ2 풀링 창의 최대값 등을 적용하였다.

model = models.Sequential([ layers.Conv2D(32, (3, 3),

activation='relu', padding='same', input_shape=(15, 15, 1)),

layers.MaxPooling2D((2, 2)),

layers.Conv2D(64, (3, 3), activation='relu',

padding='same'),

layers.Conv2D(64, (3, 3), activation='relu',

padding='same'),

layers.Flatten(),

layers.Dense(64, activation='relu'),

layers.Dense(2, activation='softmax') ])

이 결과, 학습에 사용하지 않은 4개의 테스트 데이터에 대해서 첫 번째 데이터는 97%의 확률로 X라고 판정하였고, 두 번째 데이터에 대해서는 94%의 확률로 non-X라고 판정하였다. 전체적으로 높은 확률로 손으로 쓴 영문자를 잘 판별하는 것을 알 수 있다.

암 발생을 체크하기 위한 의료 영상[24a-c], 자율 주행차에서 전방 물체 인식을 위한 카메라 영상, 재료 가공공정이나 조립 공정에서 불량 검출을 위한영상들에 대한 판별에도 대체로 이와 같은 방법을 따른다.

이와 같이 입력 이미지 데이터가 칼러 영상인 경우는 입력 데이터는 RGB의 세 개 채널로 구성되기 때문에 이 경우 필터는 3차원 배열의 필터를 사용하며 앞에서와 같이 이미지를 순회하며 합성 곱을 계산한 후, 채널별 특성 맵을 만들고, 각 채널의 특성 맵을 결합 합산하여 (concatenate) 최종적으로 하나의 특성 맵을 만든다(그림 15(c)).

SSGGB@_2024_v33n3_214_11_f0002.png 이미지

Fig. 15 (c) Residual block of ResNet50 CNN and its result for handwriting image of X and non-X. Here the residual connection skips two layers, where reuses data from the previous layer by skipping two layers

[https://github.com/yskim9574/DFclass-2023/blob/main/CNN_ResNet50_handwriting]

SSGGB@_2024_v33n3_214_11_f0003.png 이미지

Fig. 15 (d) Convolution with 3D input image and two layers’ 3D filters

예를 들면 6Ⅹ6Ⅹ3 크기의 3차원 칼러 이미지 데이터에 2층의 3Ⅹ3Ⅹ3 크기의 3차원 필터를 적용하면 4Ⅹ4Ⅹ2 크기의 행렬이 얻어진다.

참고로 Yann LuCun교수가 만든 The MNIST Database (http://yann.lecun.com/exdb/mnist/)는 손으로 쓴 숫자의 컴퓨터 비전 데이터베이스이다[25]. 또한 ImageNet (https://www.image-net.org/)에는 20,000개 이상의 클래스에 속하는 1,400만 개 이상의 이미지 데이터베이스가 구축되어 있으며 비상업적 목적의 컴퓨터 비젼과 딥러닝 연구자에게 무료로 개방되어 있다[26a, b]. 관심 있는 사람은 참고하기 바랍니다.

CNN 기술을 기반으로 이미지를 분류하는 여러 가지 계층(architecture)들이 존재한다. 보통 CNN 모델들이라고 부르며 ResNet, AlexNet, GoogLeNet, DenseNet, VGG(또는 VGGNet) 등의 다양한 계층이 존재한다.

일반적으로 CNN의 심층신경망을 이용하여 복잡한 이미지에서 중요한 특징을 추출하기 위해서는 더 많은 레이어가 필요하지만 어느 이상 너무 많은 레이어를 추가하면 오히려 성능이 저하되고 정확성이 떨어질 수도 있다. 이는 CNN에서 네트워크가 깊어질수록 기울기 소실 문제(vanishing gradient problem)가 발생하기 때문이다.

150개 이상의 레이어를 갖는 잔여 신경망(ResNet, residual neural network) 모델은 잔여 블록(residual block)의 핵심 개념인 건너뛰기 연결(skip connection 또는 shortcut)을 사용하여 기울기 소실 문제를 해결하는 모델이다[27a, b]. 그림의 ResNet 에서 건너뛰기 연결은 두 레이어를 건너뛰고 두 레이어를 건너뛰어 이전 레이어의 데이터를 재사용한다. 즉, 이전 레이어의 결과값인 입력 x 값에 다음 레이어의 출력값 H(x)을 더해서 연결한다.

이 건너뛰기 연결을 이용하면 역전파 과정에서 가중값 파라미터를 갱신하기 위해 편미분을 수행할 때 값을 그대로 더하는 덧셈 연산이기 때문에 기울기가 소실되지 않고 다음 레이어에 전파된다. 이렇게 하기 위해서는 입력과 출력의 차원을 맞춰 주어야 한다.

통상 50개 계층으로 구성된 컨볼루션 신경망인 ResNet50 모델이 자주 사용된다. Residual block은 자주 bottle neck building block라고도 불린다.

그림 15(c)는 ResNet50 CNN의 잔여 블록과 이 모델을 특징 추출기로 사용하여 이미지를 X 또는 non-X로 분류한 경우이다. 그림에서 건너뛰기 연결은 이전 레이어의 출력을 누적 레이어의 출력에 추가하므로 이전보다 훨씬 더 깊은 네트워크를 훈련할 수 있다는 것을 알 수 있다.

ResNet 모델에서는 일반적으로 세 개의채널(RGB) 입력이 필요하므로 그레이 이미지를 RGB 이미지로 바꾸어 세 개의 채널에 쌓도록 하는 이미지 전처리가 필요하다.

이 건너뛰기 연결은 LSTM 네트워크 그리고 오픈 AI의 ChatGPT와 구글의 BERT에 기반이 되는 트랜스포머 모델에서도 사용되고 있다.

한편 L 레이어가 있는 기존의 컨벌루션 네트워크에는 L 연결(각 레이어와 후속 레이어 사이에 하나씩)이 있는 반면, DenseNet는 네트워크에는 L(L+1)/2개의 직접 연결이 있어 각 레이어에 대해 모든 이전 레이어의 기능 맵은 입력으로 사용되며 자체 기능 맵은 모든 후속 레이어의 입력으로 사용된다(그림 16).

SSGGB@_2024_v33n3_214_12_f0001.png 이미지

Fig. 16 A schematic diagram of a 3-layer dense block used in the DenseNet architecture

[H. Alshazly et al., Peer J Comp. Sci., (2021), DOI 10.7717/peerj-cs.655]

이 DenseNet을 이용하면 레이어가 증가하여도 학습에 어려움이 없고 레이어에 비례하여 성능이 개선되는 장점이 있다[28a, b].

한편 VGG은 획기적인 이미지 인식 모델의 기초로, VGG(주로 VGG16)은 활성화된 16개의 레이어(13개의 컨벌루션 레이어와 3개의 완전 연결 레이어)로 구성되고, 그림 9에서와 같이 매우 작은 3Ⅹ3 행렬의 컨벌루션 필터를 반복하여 적용하며 이미지 분류에 효과적인 것으로 알려져 있다. AlexNet은 8개의 레이어(5개의 컨벌루션 레이어와 3개의 완전 연결 레이어)로 구성되고 보통 11Ⅹ11 행렬의 컨벌루션 필터를 사용한다.

CNN 모델에서는 일반적으로 표준으로 알려진 224x224 픽셀의 입력 이미지 크기를 사용한다. 만일 입력 이미지가 표준 크기 보다 작다면 이미지 크기 변환(image resizing) 기능을 사용하거나 입력 이미지의 외부를 패딩 처리하여 표준 크기로 조정하는 방법 등을 사용한다.

CNN 모델에서는 학습 효과를 높이기 위해서 가능한 이미지 데이터를 많이 확보하는 것이 바람직하다. 많은 학습 데이터 확보가 어려운 경우는 ImageDataGenerator를 이용하여 기존의 한정된 이미지 데이터를 회전, 이동, 전단, 확대/축소, 뒤집기와 같은 기술 등을 통해 이미지 데이터 개수를 증가시키는 방법(augmentation)을 사용하길 추천한다.

그림 17(a)에 자동차용 강판의 홀확장 실험을 통한 홀확장비(hole expansion ratio, HER)를 자동 평가하기 위한 종래의 영상처리 기술을 적용한 예를 나타내었다. HER 실험 중에 CCD 카메라에서 0.1초 마다 획득한 RGB 영상을 그레이 스케일 영상으로 변환하고 Canny 에지 검출기와 가우시안 필러를 사용하여 잡음이 적은 영상을 얻는 과정을 나타내었다.

SSGGB@_2024_v33n3_214_13_f0001.png 이미지

Fig. 17 (a) Conventional image processing technology for automatically evaluating hole expansion ratio (HER) through hole expansion test

[S.H.Jang, Y.S.Kim, Trans. Korean Soc. Mech. Eng. A, 37(2) (2013) 161-168]

그림 17(b)는 홀 확장시험에서 파단이 발생한 부위 근처를 확대한 흑백 이진영상을 나타낸 것이다.

SSGGB@_2024_v33n3_214_13_f0002.png 이미지

Fig. 17 (b) Black and white binary image enlarged near the fractured area during the hole expansion test

실제 영상처리 문제에서는 원하는 품질의 영상을 획득하기 위해서 blurring과 noise reduction (low pass filtering), edge sharpening과 embossing (high pass filtering) 등의 목적에 다양한 필더 – weighted average filter, Gaussian filter, median filter, Canny edge detector – 등이 자주 사용되고 있다(그림 18).

SSGGB@_2024_v33n3_214_13_f0003.png 이미지

Fig. 18 Low-pass filter image(burring) and high-pass filter image(sharpening)

[https://github.com/yskim9574/DFclass-2023/blob/ main/High_pass_filter]

최근에는 CNN 이외에도 R-CNN(region-based convolutional neural network, 지역 기반 컨볼루션 신경망), Fast R-CNN, Faster R-CNN, Mask R-CNN 등과 같은 보다 성능 좋은 알고리즘들이 개발되어 있다.

R-CNN은 객체 감지 및 위치 파악 작업을 더 잘 처리하기 위해 기존 CNN 아키텍처를 기반으로 구축된 알고리즘이다. R-CNN은 선택적 검색을 사용하여 이미지의 잠재적인 경계 상자(potential bounding box proposals, 객체를 포함할 수 있는 영역)를 찾아 모든 관심 영역(region of interest, ROI)에서 독립적으로 컨볼루션 네트워크를 평가하고 이미지 영역을 분류하여 객체 감지의 정확성을 높이도록 설계되었다.

반면 기존의 CNN은 이미지 분류, 간단한 시나리오(객체가 이미지의 상당 부분을 차지하고 객체 간에 겹치는 부분이 많지 않은 경우)에서의 객체 감지 등과 같은 광범위한 이미지 및 비디오 인식 작업에 주로 사용된다.

R-CNN은 계산을 공유하지 않고 각 영역 제안을 개별적으로 처리하므로 복잡한 객체 감지 및 위치 파악 작업에서 정확도는 획기적으로 향상되었지만 처리 속도가 느려 실시간 애플리케이션에 비효율적이기 때문에 Fast R-CNN이 개발되었다.

Fast R-CNN은 전체 이미지에 대해 CNN을 한 번 실행하고 영역 제안의 기능을 풀링하여 영역 제안 전체에서 계산을 공유함으로써 효율성을 향상시킨 알고리즘이다.

그림 19는 CNN 기술이 서로 다른 객체를 인식할수 있으며 또한 자율주행차에 효과적으로 적용되고 있는 예를 나타낸 것이다. 여기서는 모바일 및 엣지 장치에 최적화된 객체 감지 아키텍처 SSD_MobileNet_V2를 사용하였다. SSD는 Single Shot Multibox Detector의 약어이다.

SSGGB@_2024_v33n3_214_14_f0001.png 이미지

Fig. 19 The use of CNNs in self-driving cars

[https://www.augmentedstartups.com/blog/convolutional-neural-networks-cnn-in-self-driving-cars]

자동차 제조공정에서 CNN 기술의 적용 분야로 매우 관심 있는 분야가 용접(welding) 공정이다. 용접 공정 그 자체 또는 용접된 제품에 대한 이미지 획득은 높은 빛 반사 및 낮은 대비로 인해 어려움이 존재하며 작업 환경의 열악함으로 인해 용접비드 품질 검사(weld bead inspection)에 자동화 시스템 구축이 요구되고 있다. 예를 들면 용접 소음을 줄이기 위한 협대역 광학 필터를 갖춘 구조광 비전 센서, 용접비드 유형 식별 알고리즘, 용접비드 특징 추출 알고리즘과 용접비드 품질 평가 시스템 등이 갖추어져야 한다.

[예제 1] 가스 금속 아크 용접공정(gas metal arc welding, GMAW)에서 용접조건이 적당하지 않을 때 기공(pore, hole), 균열(crack), 용입불량(underfil), 융합 부족(lack of fusion) 등의 용접불량이 발생한다. 여기서는 다양한 재료를 맞대기 용접(butt welding)한 후 용접부의 용접비드(weld bead) 형상에 대한 이미지 데이터에 대해서 CNN-DenseNet121 모델과 ImageNet에서 사전 훈련된 가중치을 활용하여 용접비드의 기공 불량 여부의 자동 판별 가능성을 평가하였다.

사용한 데이터는 그림 20(a)에 나타낸 것과 같이 온전하게 용접된 정상 데이터 11개 데이터, 용접 기공이 발생한 불량 데이터 11개, 한 개의 불량 데이터를 포함한 시험용 데이터 4개이다.

SSGGB@_2024_v33n3_214_14_f0003.png 이미지

Fig. 20 (a) Dataset of good weld bead and poor weld bead obtained in GMAW process

그림 20(b)에 CNN-DenseNet 모델의 결과를 나타내었다. 이 모델의 경우에 용접 기공을 갖는 경우만을 불량으로 잘 예측하고 있음을 알 수 있다. 여기서는 용접비드 부위만 국한한 이미지에 대해서 용접비드의 양, 부 만을 분석하였기 때문에 CNN-DenseNet 을 이용하였다 그러나 실제 용접 생산라인에서는 용접 부위를 포함하여 전체 제품의 이미지를 대상으로 해야 하는 경우는 R-CNN과 같이 관심 영역의 객체 감지 및 위치 파악 작업이 추가되어야 한다.

SSGGB@_2024_v33n3_214_14_f0004.png 이미지

Fig. 20 (b) Prediction of weld bead quality for test data images using CNN-DenseNet algorithm

[https://github.com/yskim9574/DFclass-2023/blob/main/CNN_DenseNet_welding]

앞에서는 용접비드의 양, 부 만을 판정하였지만 어떤 위치에서 기공 불량 등이 생겼는지를 시각화하기 위해서는 결함을 국소화할 수 있는 접근 방식이 필요하다. 예를 들면 모델의 마지막 컨볼루션 레이어 출력에서 생성된 히트맵을 이미지 위에 오버레이하는 작업을 수행한다.

이렇게 용접 부품의 용접 부위를 중심으로 관심 영역을 추출하고 CNN 기술을 이용하여 이미지의 특징을 학습하고 분류하면 용접 불량을 매우 정확하게 예측할 수 있다[29, 30].

한편 금속의 용융 온도 이상의 고온에서 작업하는 용접 공정 특성 상 실시간으로 온라인에서 용접 품질을 평가하는 것을 쉽지 않지만 고온의 용융 풀 이미지에 대한 CNN 학습 알고리즘을 설계하여 미리 용접 품질을 예측하고 용접 결함 검출 할 수 있는 모델이 개발이 진행되고 있다[31].

이상에서 논한 것 같이 기존에 전문가의 경험에 의존하여 해결하였던 제조현장의 문제들을 데이터 기반 통계기술을 접목한 머신러닝 기법들을 적용하여 효율적으로 해결할 수 있다는 것을 확인하였다.

그러나 이 머신러닝 또는 AI 기술을 효율적으로 사용하기 위해서는 무엇보다도 품질이 우수한 데이터 확보가 우선되어야 한다. 우수한 품질이란 6가지 품질지수 - 완전성, 유일성, 유효성, 일관성, 정확성, 무결성 -가 향상된 데이터를 말한다.

실제 제조현장에서 받아들이는 공정 데이터와 IoT 센서 데이터의 시계열 데이터(sequential data)들에는 결측치(missing value)와 이상치(outlier) 등 불량 데이터들이 자주 포함되어 있다. 따라서 이들 수집된 데이터를 전처리하고 특징추출 작업을 거쳐 양질의 데이터셋을 확보하는 작업에 많은 노력과 시간이 소요된다[32a, b].

이렇게 정제된 데이터셋을 활용하여 머신러닝 기법을 적용하는데 있어서 다양한 알고리즘이 존재하기 때문에 문제에 적합한 최적의 알고리즘을 선택하여야 한다.

3. 결론

본 해설논문에서는 지난 I 호와 II호에 이어서 최근 다양한 사회과학 분야와 재료∙가공기술 분야에 널리 사용되고 있는 AI 기술의 하나인 머신러닝의 핵심 알고리즘 중에서 RNN, LSTM, CNN 에 대해서 설명하였다. 특히 소성가공 공정에서 가공불량을 자동검출 하기 위한 비전 시스템에 널리 사용되고 있는 CNN 기술에 대해서 그 원리와 적용 기술에 대해서 상세히 설명하였다.

저자는 그동안 머신러닝에 관한 해설논문을 통해 소성가공을 연구하는 연구자 및 산업 현장 기술자들에게 머신러닝의 개념을 이해하기 쉽게 설명하려 노력하였다. 또한 다양한 적용 예를 제시하여 연구와 산업현장에서 머신러닝 알고리즘을 적극 도입하여 국내 소성가공 기술의 발전에 기여하고자 하는 바램에서 일련의 해설논문을 작성하였다.

이 해설논문들이 소성가공 분야에서 머신러닝 기술을 새롭게 적용하고자 하는 연구자들에게 도움이 되기를 바랍니다.

머신러닝에 대해 더 깊이 있게 공부하고자 하는 분들은 앤드류 웅(Andrew Ng)의 유튜브 강의 [20]와 관련 전문 서적 [1-5]을 참고하시기 바랍니다.

References

  1. Y. LeCun, Y. Bengio, 2015, Geoffrey Hinton, Deep learning, Review Nature. Vol. 28, No. 521, pp. 436-444. https://doi.org/10.1038/nature14539 
  2. D. P. Kroese, et al, 2023, Data Science and Machine Learning; Mathematical and Statistical Methods. ISBN-13978-1138492530 
  3. M. di Nuzzo, 2021, Data Science and Machine Learning: From Data to Knowledge. ISBN-13979-8779849456 
  4. V.N. Vapnik, 1998, Statistical Learning Theory. New York: Wiley. 
  5. E. Alpaydin, 2016, Introduction to Machine Learning. The MIT Press, Cambridge, Massachusetts, USA; London, England, 3rd 
  6. S.W. Bae, J.S. Yu, 2018, Estimation of the apartment housing price using the machine learning methods: The case of Gangnam-gu, Seoul, J. Korea Real Estate Analysts Assoc., Vol. 24, No. 1, pp. 69-85. http://dx.doi.org/10.19172/KREAA.24.1.5 
  7. T. Hastie, R. Tibshirani, J. Friedman, 2009, The elements of statistical learning, data mining, inference, and prediction, Springer 2nd Ed.. ISBN 978-0-387-84857-0 
  8. J.H.Kang, N.K.Kyu, 2019, Verification of Resistance Welding Quality Based on Deep Learning, J. Soc. Naval, Arch. Korea, Vol. 56, No. 6, pp. 473-479. DOI: https://doi.org/10.3744/SNAK.2019.56.6.473 
  9. K. Kim et al., 2023, Prediction of hardness for cold forging manufacturing through machine learning, Trans. Mater. Process., Vol. 32, No. 6, pp. 329-333. http://data.doi.or.kr/10.5228/KSTP.2023.32.6.329 
  10. K.P. Kim et al., 2023, A study on improving formability of stamping processes with segmented blank holders using artificial neural network and genetic algorithm, Trans. Mater. Process., Vol. 32, No. 5, pp. 276-286. https://doi.org/10.5228/KSTP.2023.32.5.276 
  11. M. Soori et. al., 2023, Machine learning and artificial intelligence in CNC machine tools, A review in Sustainable Manufacturing and Service Economics (2023). https://doi.org/10.1016/j.smse.2023.100009 
  12. V.C. Do, Y.S. Kim et al., 2017, Effect of hole lancing on the forming characteristics of single point incremental forming, Procedia Engng., Vol. 84, pp. 35-42. https://doi.org/10.1016/j.proeng.2017.04.068 
  13. Pham Q. Tuan, Y.S. Kim et al., 2022, A machine learning-based methodology for identification of the plastic flow in aluminum sheets during incremental sheet forming processes, Int. J. Adv. Manuf. Technol., Vol. 120, pp. 3559-3584. https://doi.org/10.1007/s00170-022-08698-z 
  14. H. Salmenjoki, M. J. Alava, L. Laurson, 2018, Machine learning plastic deformation of crystals, Nature Communications, Vol. 9, No. 5307. https://doi.org/10.1038/s41467-018-07737-2 
  15. T. Tancogne-Dejean et al., 2021, Recurrent neural network modeling of the large deformation of lithium-ion battery cells, Int. J. Plast., Vol. 146, No. 103072. https://doi.org/10.1016/j.ijplas.2021.103072 
  16. X. Chen et al., 2019, Research on fault early warning and the diagnosis of machine tools based on energy fault tree analysis, Proc. IMech. Engng., Part B: J Eng. Manuf., Vol. 233, No. 11, pp. 2147-2159. https://doi.org/10.1177/0954405418816848 
  17. F. Tao et al, 2018, Data-driven smart manufacturing, J. Manuf. Systems-C, Vol. 48, No. 7, pp. 157-169. https://doi.org/10.1016/j.jmsy.2018.01.006 
  18. www.kamp-ai.kr 
  19. Ministry of SMEs and Startups, 2021, Precision processing resource optimization AI dataset, analysis practice guidebook. 
  20. Y.S. Kim, 2024, Review paper for key algorithms of machine learning and its application to material processing problems I, Trans. Mater. Process., Vol. 33. No. 1, pp. 50-67. 
  21. Y.S. Kim, 2024, Review paper for key algorithms of machine learning and its application to material processing problems II, Trans. Mater. Process., Vol. 33, No. 2, pp. 132-150. 
  22. Andrew Ng, https://www.coursera.org/learn/machineLearning 
  23. R.J. William, G.E. Hinton, D.E. Rumelhart, 1986, Learning representations by back-propagation errors, Nature, Vol. 323, pp. 533-536. https://doi.org/10.1038/323533a0 
  24. S. Hochreiter, J. Schidhuber, 1997, Long short-term memory, Neural Comput., Vol. 9, No. 8, pp. 1735-1780. https://doi.org/10.1162/neco.1997.9.8.1735 
  25. K. Simonyan and A. Zisserman, 2015, Very deep convolutional networks for large-scale image recognition. In ICLR2015. https://doi.org/10.48550/arXiv.1409.1556 
  26. S. Cong, Y. Zhou, 2023, A review of convolutional neural network architectures and their optimizations. Artif. Intell. Rev., Vol. 56, pp. 1905-1969. https://doi.org/10.1007/s10462-022-10213-5 
  27. X. Zhao, L. Wang, Y. Zhang, X. Han, M. Deveci, M. Parmar, 2024, A review of convolutional neural networks in computer vision, Artif. Intell. Rev., Vol. 57, No. 4, pp. 57-99. https://doi.org/10.1007/s10462-024-10721-6 
  28. L.Alzubaidi, et al., 2021, Review of deep learning: concepts, CNN architectures, challenges, applications, future directions, J. Big Data, Vol. 8, No. 53, pp. 1-74. https://doi.org/10.1186/s40537-021-00444-8 
  29. J.Y. Chung, C. Gulcehre, K.H. Cho, Y. Bengio, 2014, Empirical evaluation of gated recurrent neural networks on sequence modeling, Presented in NIPS 2014 Deep Learning and Representation Learning Workshop. https://doi.org/10.48550/arXiv.1412.3555 
  30. https://aimi.stanford.edu/chexpert-chest-x-rays 
  31. https://www.lunit.io/ko/company 
  32. Dow-Mu Koh et al, 2022, Artificial intelligence and machine learning in cancer imaging, Communications Medicine, Vol. 2, No. 133. https://doi.org/10.1038/s43856-022-00199-0 
  33. Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner, 1998, Gradient-based learning applied to document recognition. Proc. IEEE, Vol. 86, No. 11, pp. 2278-2324. http://yann.lecun.com/exdb/mnist/ 
  34. J. Deng, W. Dong, R. Socher, L. -J. Li, Kai Li and Li Fei-Fei, 2009, ImageNet: A large-scale hierarchical image database, 2009 IEEE Conference on Computer Vision and Pattern Recognition(CVPR), pp. 248-255. doi: 10.1109/CVPR.2009.5206848 
  35. ImageNet. http://www.image-net.org 
  36. He, Kaiming, Xiangyu Zhang, Shaoqing Ren, and Jian Sun, 2016, Deep residual learning for image recognition, Proc. IEEE Conf. Comput. Vision Pattern Recog., pp. 770-778. http://image-net.org/challenges/LSVRC/2015/ and http://mscoco.org/dataset/#detections-challenge2015 
  37. Q. A. Al-Haija, A. Adebanjo, Breast Cancer Diagnosis in Histopathological Images Using ResNet-50 Convolutional Neural Network, 2020 IEEE International IOT, Electronics Mechatronics Conf., (IEMTRONICS). DOI:10.1109/IEMTRONICS51293.2020.9216455
  38. Gao Huang, Zhuang Liu, Laurens van der Maaten, Kilian Q. Weinberger, Densely Connected Convolutional Networks. https://doi.org/10.48550/arXiv.1608.06993 
  39. https://velog.io/@minkyu4506/%EB%85%BC%EB%AC%B8%EB%A6%AC%EB%B7%B0-Densely-Connected-Convolutional-NetworksDenseNet 
  40. I.S. Hwang, D.Y. Kim , G.J. Jeong, M.J. Kang , D.C. Kim and Y.M. Kim, 2017, Effect of Weld Bead Shape on the Fatigue Behavior of GMAW Lap Fillet Joint in GA 590 MPa Steel Sheets, Metals, Vol. 7, No. 10, pp. 399-. doi:10.3390/met7100399 
  41. P. Zheng, J-C Chen, S-F Ye, Peter Ott, L. Wang, Classification of Arc Welding Joints Images Based on Convolutional Neural Network, 12th IEEE Int. Conf. Anti-counterfeiting, Security, Identification (ASID) (2018). DOI: 10.1109/ICASID.2018.8693214 
  42. P. Rabe1, U. Reisgen1, A. Schiebahn, 2023, Nondestructive evaluation of the friction stir welding process, generalizing a deep neural defect detection network to identify internal weld defects across different aluminum alloys, Weld. World, Vol. 67, pp. 549-560. https://doi.org/10.1007/s40194-022-01441-y 
  43. Haichao Li, Yixuan Ma, Mingrui Duan, XinWang & Tong Che, 2023, Defects detection of GMAW process based on convolutional neural network algorithm, Scientific Reports, Vol. 13, No. 21219. https://doi.org/10.1038/s41598-023-48698-x 
  44. J.Y. Lee, 2020, Technology for collecting, processing, analyzing, and utilizing data for intelligent die-casting processes, J. Korean. Soc. Manuf. Eng., Vol. 29, No. 6, pp. 441-448. https://doi.org/10.7735/ksmte.2020.29.6.441 
  45. J.Y. Lee, 2020, Development of intelligence data analytics system for quality enhancement of die-casting process, J. Korean Soc. Precis. Eng., Vol. 37, No. 4, pp. 247-254. https://doi.org/10.7736/JKSPE.019.136