1. 서 론
1.1. 연구 배경 및 필요성
어로 산업은 고위험성 업종 중 하나로, 어선 전복 사고는 이러한 산업에서 심각한 문제 중 하나로 부상하고 있다.
Fig. 1과 같이 최근 5년간 선박 전복 사고의 절반 이상이 어선에서 발생하고 있다(Korean Maritime Safety Tribunal, 2023). 2023년 2월 최근에는 신안 해상에서 어선이 전복되어 다수의 선원이 실종되는 사고가 발생하였다(BBC News Korea, 2023). 어선 전복의 원인으로는 선체 무게 중심의 관리 부실, 기상 악화 등으로 인해 복원력 상실이 주된 원인으로 어선은 상선에 비해 그 크기가 작으며 따라서 복원력을 쉽게 잃을 수 있다(Kim, et al. 2023).
그러나 실제 어선의 전복 상황을 계측하여 상황의 위험성을 판단하여야 하지만 현실적으로 불가능하다. 기존의 어선 전복 사고 연구는 주로 개별적인 사고 사례를 분석하는 데 중점을 두었으며, 이는 사고가 이미 발생한 후에 대응하는 방법에 더 집중되어 있었다. 이와 같이 사고 예방을 위한 다층적이고 통합적인 안전 전략에 대한 연구는 부족한 실정이다.
이에 따라 본 연구에서는 어선의 횡동요의 운동 특성을 추출하여 딥러닝을 활용하여 횡동요 각도를 예측 및 어선 전복 사고 위험을 방지하고자 한다.
1.2. 연구 방법
본 연구에서는 어선의 횡동요 운동을 예측하기 위해 이미지 기반 심층 딥러닝 모델을 활용하고자 한다.
b. 딥러닝 모델 설계
Xception, ResNet50, CRNN의 딥러닝 아키텍처를 활용하여 모델을 설계한다. CNN(Convolutional Neural Network)은 RNN(Recurrent Neural Network) 기반 모형보다 계산 복잡도가 적다(Ashish, V. et al. 2017). CNN은 고정된 입력 데이터와 고정된 출력 데이터인 반면 RNN은 임의의 입력, 출력 데이터를 다루므로 계산 시간이 더 오래 걸린다. 또한 CNN은 시차를 사전에 입력할 필요가 없다는 장점이 있다. DNN(Deep Neural Network) 모형의 경우, 입력 변수의 시차를 얼마로 해야 할지 결정해야 하며 시계열의 추세나 계절성, 정주성 등을 확인 후 데이터가 정주성을 갖도록 해야 하는 등 여러 가지 준비가 필요하나 Xception, ResNet50, CRNN과 같은 이미지 기반 모형의 경우, 내부적으로 자동적으로 처리된다는 이점이 있다.
1.3. 국내외 연구 현황
딥러닝을 활용하여 이미지 연구, 자연어 처리 연구 등과 같은 다양한 분야에서 기술적 진보를 이루고 있다. 선박과 관련된 연구의 경우, 강화 학습을 활용하여 선박의 항로를 생성하는 연구가 제안되었다(Kim et al. 2023). 또한 선박 연료 계통 장비의 고장 진단을 위한 연구가 제안되었다(Kim, H. et al. 2022). 항만과 관련하여 부산 신항의 컨테이너 반출입 정보를 활용하여 딥러닝 기반의 반출입 차량 평균 대기 시간을 예측하는 모형이 제안되었다(Kim et al. 2022).
선박 횡동요와 관련된 연구는 다음과 같다. Suhermi et al.(2018)는 ARIMA와 다층 퍼셉트론 신경망(DNN) 모델을 결합하는 혼합 방법을 채택하였다. 사용된 실제 데이터는 부유식 생산 유닛(FPU)의 횡동요 모션이며 실험 결과는 DNN-ARIMA 혼합 모델이 비 혼합 모델에 비해 롤 모션을 예측하는 데 가장 우수한 모델이며 예측 정확도를 크게 향상시키는데 매우 효과적임을 보여주었다. Zhou et al.(2023)은 딥러닝 네트워크와 매개변수론적 방정식을 결합한 “그레이 박스” 알고리즘을 제안하였다. 주성분 분석이라는 기본 비지도 학습 방법을 도입하여 효율성과 정확도를 향상시켰다. 실험 결과 주성분 분석 및 “그레이 박스” 기반 학습 모델을 사용하여 컨테이너선의 횡동요를 짧은 시간 내에 정확하게 시뮬레이션 할 수 있었다. El et al.(2023)는 선박 속도 추정을 위해 과거 데이터를 기반으로 딥러닝 기법을 제안하였다. 그러나 성능 향상이 필요해 보이며 딥 러닝 모델의 해석 가능성이 부족하다는 점을 추후 과제로 언급하였다. Alvarellos et al.(2021)는 정박된 선박의 6 자유도 운동을 예측하기 위해 신경망 및 그래디언트 부스팅 모델을 활용하였다. 그러나 항만에서 일어나는 현실적인 일을 모델에 포함하여야 하며 좁은 통로, 연료 소비 등도 고려해야 할 사항이라 언급하였다. Lin et al.(2022)는 선박의 횡동요 방지를 예측하기 위해 심층 강화 학습을 기반으로 DDPG 알고리즘을 활용하였다. 횡동요 방지 효율이 95%를 넘어 빨리 안정적으로 수렴하는 것을 확인하였다. Kim et al.(2018)는 기계학습 기반의 근사 모델을 활용하여 횡동요 운동 특성을 예측하고자 하였다. 추가 연구로 선종, 운항 특성(흘수, 무게 중심) 등이 반영되어야 한다고 언급하였다.
제안된 연구에서는 대형 상선에 비해 관심있는 분야의 연구 주제가 아니며 어선의 잦은 횡동요 주기가 고려되지 않은 점, 어선의 시계열 횡동요 데이터를 수집하기 어려운 문제점이 있었다.
2. 심층 네트워크 모델
마이크로소프트에서 개발한 ResNet 알고리즘은 이전 모델들과는 달리, 레이어의 증가보다는 레이어 내에서의 정보 전달에 중점을 둔 방법을 도입하였다(He et al. 2016). 이전까지는 신경망을 깊게 쌓아서 높은 성능을 얻는 것에 주력했지만, 이는 깊어질수록 역행렬의 기울기가 소멸하는 기울기 소멸 문제를 야기하였다. ResNet은 이 문제를 해결하기 위해 잔차 블록을 도입하였다. ResNet50은 50개의 합성곱 층으로 구성되어 있으며 Fig. 2와 같이 입력 값이 출력 값에 직접 더해지는 ‘지름길(shortcut)’ 구조를 채택하였다. ‘Identity mapping’은 입력 x가 어떤 함수를 통과하더라도 출력이 x로 유지되도록 한다. 이를 통해 층이 많아져도 입력 값이 소실되는 기울기 소멸 문제를 해결할 수 있었다. Fig. 3은 본 논문에서 사용한 ResNet-50의 아키텍처로, 총 184개의 층으로 이루어져 있다.
Fig. 4는 시계열 데이터 예측에 대한 내용이다. 먼저 시계열 데이터를 1차원 형태로 변환한다. 데이터를 작은 윈도우로 나눈다. 예를 들어 30개의 데이터를 하나의 윈도우로 지정한다. 윈도우로 나눈 데이터는 합성곱 레이어에 입력된다. 이후 합성곱 레이어는 윈도우 내에서 패턴을 감지하며 이것은 시계열 데이터에서 주기성이나 다른 패턴을 찾을 수 있도록 한다. 풀링 레이어는 차원을 줄이는 역할을 하며 전결합 레이어(Fully connected layer)와 연결되어 있다. 전결합 레이어는 CNN의 출력을 받아 시계열 데이터의 다음 값을 예측하기 위한 뉴럴 네트워크를 추가한다. 회귀 문제의 경우, 하나의 뉴런을 사용하며 활성화 함수는 사용하지 않는다.
2.2 Xception
Xception은 ‘eXtreme Inception’의 약자로 Inception 모델을 기반으로 개선된 형태이다(Chollet, 2017). 이 모델은 채널과 공간을 분리하고, 이를 깊이별 분리 가능한 합성곱으로 강화한 것이다. 일반적인 합성곱 층은 필터를 사용하여 높이, 너비, 채널을 모두 학습하려 한다. 이는 하나의 필터로 교차 채널 상관 관계와 공간 상관 관계를 동시에 매핑해야 하기 때문이다. 그러나 Xception은 교차 채널 상관 관계와 공간 상관 관계를 독립적으로 계산하고 mapping 하기 위해 고안된 모델이다.
2.3. CRNN
합성곱 신경망(CNN)은 데이터의 특성을 추출하고 이를 기반으로 분류하는 딥러닝 모델이다(Yao et al. 2019). 과도한 데이터 손실에 따른 언더 피팅이 발생할 수 있지만, 학습 속도가 빠르며 오버 피팅 가능성이 상대적으로 낮다. 순환 신경망(RNN)은 데이터의 시간적 순서 정보를 활용하는 재귀 구조의 딥러닝 모델이며 입출력 개수에 따라 다양한 모델 구성이 가능하다.
기존 시계열 연구의 경우, S-CNN(Smoothed-CNN)을 제안하여 웹사이트 방문객 수를 예측하였다. 또한 CNN기반 프레임 워크를 제안하여 주식 시장을 예측하였다(Hoseinzade, E. and Haratizadeh, S., 2019).
Fig. 8과 같이 CRNN은 먼저 CNN을 활용하여 연산을 수행하고, 각 채널을 나눈 후 RNN에 입력하는 구조이다. RNN에는 GRU(Cho, K. et al. 2014)와 LSTM(Hochreiter, S. and Schmidhuber J. 1997)이 사용되었다. 여기서, convolution 5 x 32에서 5는 필터의 크기를, 32는 필터의 개수를 의미한다. 이후에는 Batch Normalization Layer과 Exponential Linear Unit(ELU) 레이어를 거쳐 평균 풀링을 적용한 후 평활화가 이루어진다. 마지막으로 GRU와 드롭아웃, LSTM을 거치면서 학습이 진행된다. CRNN 층의 구조는 Fig. 9와 같으며 22개의 층으로 구성되었다.
3. 어선 횡동요 시계열 예측 시뮬레이션
3.3. 데이터 정규화
데이터가 가진 특징의 범위가 크게 차이가 날 경우, 학습에 큰 영향을 미칠 수 있다. 따라서 데이터 범위의 차이를 왜곡하지 않도록 공통 척도로 변경하는 것이 필요하다. 본 연구에서는 표준정규분포의 속성을 가지도록 특징을 재조정하였다. 식 (1)에 의해 입력 변수를 새로운 값 z로 계산한다. 여기서 μ는 평균, σ는 표준편차를 의미한다.
3.4. 모델링 및 훈련
Table 2에는 각 모델의 구성이 나와 있다. 데이터셋은 Fig. 14와 같이 훈련, 검증, 테스트로 8:1:1의 비율로 나누어 사용되었다. 훈련에는 총 200회의 epoch를 실행하였으며 초기 Learning rate는 0.001로 설정하였다. 검증은 50회마다 수행되도록 하였으며 solver는 adam으로 설정되었다. Gradient Threshold는 기울기 임계값을 의미한다. 기울기의 크기가 급격히 증가하는 경우, 훈련의 안정성이 떨어진다. 이를 기울기 폭주라 부르며 이러한 경우, 기울기 제한을 사용한다. Initial Learning Rate는 초기 학습률을 의미한다. 학습률이 너무 낮으면 훈련 시간이 오래 걸릴 수 있으며 학습률이 너무 높으면 발산할 수 있다. Validation Frequency는 검증 빈도를 의미하며 설정된 값 단위로 신경망을 평가한다. Solver는 RMSprop와 Momentum의 장점을 결합한 adam을 이용하였다. Xception은 총 177개의 레이어로, 학습 가능한 파라미터의 수는 2,170만개이다. ResNet50은 284개의 레이어로, 학습 가능한 파라미터의 수는 2,440만개이다. CRNN은 22개의 레이어를 가지며, 학습 가능한 파라미터의 수는 24만 3천3백개이다. Fig. 13은 Xception 모델의 훈련 과정을 의미한다. 가로축이 반복 횟수, 세로 축이 각각 RMSE, Loss를 의미한다. 실험이 진행될수록 RMSE와 Loss가 낮아지는 것을 확인하였다.
3.5. 성능평가지표
성능평가지표는 sMAPE(Symmetric Mean Absolute Percentage Error), RMSE(Root Mean Squared Error)를 사용하였다. sMAPE는 예측 값이 실제 값보다 작을 때에는 분모가 더 작아지기 때문에 오차가 커지는 현상이 발생될 수 있으나 0∼ 200% 사이의 확률값을 가지며 결과 해석이 용이하다. RMSE는 평균 제곱근 오차를 의미하며 예측 모델에서 예측한 값과 실제 값 사이의 평균 차이를 의미한다. 각각을 구하는 식 (2), 식 (3)과 같다. 여기서 Yi, yi는 실제값을, Y i ^ , y i ^ 는 예측 값을 의미한다.
실험 결과 비교를 위해 ARIMA 모형과 비교하였다. 먼저 시계열이 정상성을 가지는지 확인 후 자기상관함수(ACF, Autocorrelation Function), 편자기상관함수(PACF, Partial Autocorrelation Function)을 이용하여 단위근 여부를 확인하였다. 이후 ADF(Augmented Dickey-Fuller Test)를 활용하여 2차 차분한 데이터에 단위근이 있는지 확인하였다.
식 (4)는 계산 결과이다. 귀무 가설 검증을 실시하였으며 Table 3과 같이 P-value는 0.001 이하임을 확인하였다.
Table 4는 실험에 사용된 하드웨어와 소프트웨어를 의미한다. 실험에 사용된 테스트 데이터는 총 5,827개이며 총 4개의 모델에 사용되었다. Fig. 14와 같이 8:1:1로 나누어진 테스트 데이터를 활용하였다.
Fig. 15의 빨간색 실선은 ARIMA 모델을 10회 반복 실험을, 검정색 실선은 평균 예측값을 의미한다. 예측값이 점점 증가하는 것을 확인하였다.
Fig. 16은 ARIMA 모델의 RMSE와 sMAPE를 의미한다. RMSE는 7.6842, sMAPE는 0.3455를 기록하였다.
4. 결 론
본 연구에서는 어선의 시계열 횡동요 데이터를 기반으로 횡동요 각도를 예측하기 위해 심층 딥러닝 모델을 제안하였다. 이를 위해 Xception, ResNet50, CRNN의 이미지 기반 딥러닝 모델을 활용하였다. 본 연구의 결과를 요약하면 다음과 같다.
1. 이미지 기반 딥러닝 모델을 시계열 모델에 적용하였다. 이를 위해 입력 데이터에 이미지 데이터가 아닌 시계열 데이터를 입력하였다.
2. 시계열 데이터의 장기간 예측시 그레디언트 소실 문제가 발생하는데 ResNet50의 잔차 블록을 사용하여 이러한 문제를 해결하였다.
3. 실험 결과에서 Xception 딥러닝 모델이 가장 낮은 오차를 기록하였으며 ResNet50, CRNN이 뒤를 이었다.
4. Xception와 ResNet50의 경우, CRNN에 비해 파라메터의 수가 매우 많았으며 따라서 학습 시간에서도 차이가 발생하였다.
추후 연구 과제로 최적의 하이퍼 파라메터의 설정이 필요하다. 또한 본 연구에서는 단일의 시계열 데이터만을 활용하여 어선의 횡동요 각도를 예측하였으나 해상 상태, 풍향, 풍속 등을 활용하여 더욱 정밀한 예측이 필요할 것으로 판단한다.