DOI QR코드

DOI QR Code

PredFeed Net: GRU-based feed ration prediction model for automation of feed rationing

PredFeed Net: 먹이 배급의 자동화를 위한 GRU 기반 먹이 배급량 예측 모델

  • Kyu-jeong Sim (Software Department, Catholic Kwandong University) ;
  • Su-rak Son (Software Department, Catholic Kwandong University) ;
  • Yi-na Jeong (Software Department, Catholic Kwandong University)
  • Received : 2023.08.28
  • Accepted : 2024.01.04
  • Published : 2024.04.30

Abstract

This paper proposes PredFeed Net, a neural network model that mimics the food distribution of fish farming experts. Unlike existing food distribution automation systems, PredFeed Net predicts food distribution by learning the food distribution patterns of experts. This has the advantage of being able to learn using only existing environmental data and food distribution records from food distribution experts, without the need to experiment by changing food distribution variables according to the environment in an actual aquarium. After completing training, PredFeed Net predicts the next food ration based on the current environment or fish condition. Prediction of feed ration is a necessary element for automating feed ration, and feed ration automation contributes to the development of modern fish farming such as smart aquaculture and aquaponics systems.

본 논문은 물고기 양식 전문가의 먹이 배급을 모방하는 신경망 모델인 PredFeed Net을 제안한다. PredFeed Net은 기존의 먹이 배급 자동화 시스템과 달리, 전문가의 먹이 배급 패턴을 학습하는 방식으로 먹이 배급량을 예측한다. 이는 실제 수조에서 환경에 따른 먹이 배급 변수를 바꾸며 실험할 필요 없이, 기존의 환경 데이터와 먹이 배급 전문가의 먹이 배급 기록만으로 학습이 가능하다는 이점이 있다. 학습이 완료된 PredFeed Net은 현재 환경이나 어류의 상태를 통해 다음 먹이 배급량을 예측한다. 먹이 배급량 예측은 먹이 배급 자동화에 필요한 요소이며, 먹이 배급 자동화는 스마트 양식업이나 아쿠아포닉스 시스템 같은 최신 양식어업에 발전에 기여한다.

Keywords

1. 서론

양식어업에서 먹이 배급은 물고기 생장에 영향을 주는 가장 중요한 요소 중 하나이다. 따라서 먹이 배급의 최적화 및 자동화는 최신 양식어업에서 물고기의 품질과 경제성에 직결되는 중요한 문제이다. 본 논문은 양식어업에서 먹이 배급의 자동화를 위한, GRU(Gated Recurrent Unit) 기반 먹이 배급량 예측 모델, PredFeed Net을 제안한다. PredFeed Net은 기존 물고기 양식의 먹이 배급 시스템보다 효과적인 먹이 배급 방식을 찾는 것이 아닌, 양식어업 전문가의 먹이 배급 방식을 학습한다. 이와 같은 방식을 사용함으로써, 실제 수조에서 환경에 따른 먹이 배급 변수를 바꾸며 실험할 필요 없이, 환경 데이터와 먹이 배급 전문가의 먹이 배급 기록만으로 신경망 학습이 가능하다.

먹이 배급량은 수조 환경과 물고기 생장에 따라 결정되기 때문에, PredFeed Net은 수조 환경과 물고기 생장 데이터에 대한 전문가의 먹이 배급량을 학습하여, 최종적으로 먹이 배급량을 예측한다. 수조 환경 데이터는 수온(°C), 용존 산소량(mg/L), 암모늄(mg/L), 아질산염(mg/L), 질산염(mg/L), 부유물(mg/L)을 사용하고, 물고기 생장 데이터는 물고기의 평균 길이(m), 평균 무게(kg)를 사용한다. 먹이 배급과 물고기 생장은 시간의 흐름이 의미 있는 데이터이므로, PredFeed Net은 GRU 기반의 모델로 설계하였다. GRU는 RNN 기반의 딥러닝 모델로, 학습 중 hidden state를 통해 이전 상태가 다음 상태에 영향을 주어, 시계열 데이터 학습에 사용한다. 최종적으로 PredFeed Net은 전문가의 먹이 배급량을 라벨 데이터로 사용함으로써, 전문가의 먹이 배급 패턴을 학습하게 된다.

본 논문은 PredFeed Net의 성능 평가를 위해서 GRU 연결 구조가 다른 3개의 모델을 학습하여, 전문가와 얼마나 일치하는지 정확도를 비교하는 실험을 진행한다. 실험을 통해 전문가의 먹이 배급 패턴을 가장 비슷하게 모방하는 모델을 선정한다.

2. 관련 연구

2020년 전체 어업 및 양식 생산량에서 양식 생산량은 49%를 차지한다. 양식어업의 확장에 따라 점점 양식어업의 중요도가 상승할 전망이다 [1]. 따라서 양식어업의 발전을 위해 스마트 양식을 도입하여, 편의성과 효율성을 확보해야 한다 [2]. 스마트 양식에서 어류 환경에 따른 먹이 배급의 자동화는 중요한 기술 중 하나이다. 하지만 대부분의 국내 양식어업은 사람의 판단에 의존하여, 먹이 배급이 이루어진다. 양식업의 첨단화를 위해 먹이 배급을 자동화할 필요가 있다 [3].

양식어업에서 어류의 먹이 수준은 생산 효율과 번식 비용에 가장 큰 영향을 준다 [4]. 모자란 먹이 배급은 어류의 생산 효율이 떨어뜨리고, 과도한 먹이 배급은 사료 비용 상승과 수조 환경의 오염을 초래한다 [5]. 하지만 먹이 배급량을 최적화하기에는 너무나 많은 요인이 영향을 미친다. 따라서 많은 양식업에서 먹이 배급량과 타이밍의 판단이 전문가의 경험에 의존되고 있다 [6]. 현재 딥러닝을 사용하여, 먹이 배급 파단을 자동화하는 연구가 주목받고 있다. 주로 이미지 분석을 이용하여 어류 행동에 따른 먹이 배급 제어에 초점을 맞추고 있다. [5].

기존 먹이 배급량 예측은 환경요인과 먹이 배급량 간의 연관 관계를 학습하는 딥러닝 모델을 통해 이루어진다 [7][8][9]. 본 논문은 기존 연구처럼 어류의 먹이 필요량과 환경요인을 최적화하는 것이 아닌, 전문가의 먹이 배급 패턴을 모방하는 딥러닝 모델을 제안한다. 이는 전문가보다 더 뛰어난 결과를 보여주지는 못한다. 하지만 딥러닝 모델의 학습 및 구현과 데이터세트 수집 난이도가 작아지고, 전문가와 비슷한 성능을 보여주는 이점이 있다.

GRU는 RNN(Recurrent Neural Network)의 단점인 장기 의존성 문제를 해결하면서 시계열 데이터 분석에 최적화된 유닛이다 [10]. GRU는 LSTM(Long Short-Term Memory)보다 단순한 구조를 가졌지만 비슷한 성능을 보여주며, 교통 흐름 예측 같은 분야에서도 이용된다 [11].

3. 본론

3.1 PredFeed Net

PredFeed Net은 양식어업 전문가의 먹이 배급 패턴을 학습하는 GRU 기반 지도학습 신경망이다. 학습이 완료된 PredFeed Net은 시계열로 저장된 수조 환경 정보와 어류 생장 정보를 입력받아, 다음 먹이 배급량을 예측한다.

PredFeed Net은 학습한 하나의 어종에 대해서만 먹이 배급량 예측이 가능한 범용적이지 않은 모델이다. 따라서 어종이 정해져 있음을 가정해야 한다.

3.2 PredFeed Net 구조

PredFeed Net의 구조는 Input Layer, BN(Batch Normalization) Layer, Hidden Layer, Output Layer로 구성된다.

OTJBCD_2024_v25n2_49_2_f0001.png 이미지

(그림 1) PredFeed Net의 입력 데이터 구조

(Figure 1) The Input data frame of PredFeed Net

PredFeed Net의 입력 데이터는 시간 정보, 수조 환경, 어류 생장 정보의 구조를 갖는다. 여기서 시간 정보는 날짜(년도/월/일)와 시간(시간:분)을 하나로 묶은 데이터, 수조 환경은 수온(°C), 용존 산소량(mg/L), 암모늄(mg/L), 아질산염(mg/L), 질산염(mg/L), 부유물(mg/L), 어류 생장 정보는 평균 길이(m), 평균 무게(kg)이다. Input Layer에서 시간 정보, 수조 환경, 어류 생장 정보를 입력받을 총 9개의 입력 노드를 갖는다.

OTJBCD_2024_v25n2_49_3_f0001.png 이미지

(그림 2) GRU에서 학습을 위한 시계열 데이터세트

(Figure 2) Time series dataset for training in GRU

PredFeed Net는 GRU 기반의 신경망이므로, Input Layer에서 입력할 데이터세트는 시계열 데이터세트를 준비한다. PredFeed Net은 지도학습 신경망이므로, 정답 데이터 테이블이 필요하다. 따라서 전문가의 먹이 배급 기록(Feeding Log)을 정답 테이블로 사용한다.

그림 3은 PredFeed Net의 전체적인 구조이다. Input Layer에서 입력받은 데이터는 Hidden Layer로 전달되기 전에 BN Layer에서 배치 정규화를 진행한다. 배치 정규화는 가중치 초기화에 대한 부담을 줄이고, 학습 속도를 높인다 [12]. Hidden Layer는 2 layer의 GRU 셀로 구성하였다. GRU는 활성화 함수로 ReLU(Rectified Linear Unit)를 사용하면 값이 너무 커지는 문제가 발생하므로, Sigmoid와 tanh를 사용한다. GRU 기반 딥러닝 모델은 Hidden Layer를 깊게 설계하였을 때, 성능 차이가 미미하고 과적합 가능성이 증가한다. 따라서 2 layer의 얕은 구조를 택하였다. Output Layer는 항등함수를 사용하여 값을 그대로 출력한다. 손실함수(Loss function)로 평균제곱오차(Mean Squared Error, MSE)를 사용하였다.

OTJBCD_2024_v25n2_49_3_f0002.png 이미지

(그림 3) PredFeed Net 전체 구조

(Figure 3) The Overall structure of PredFeed Net

3.3 GRU

GRU는 기존 RNN의 장기 의존성 문제(the problems of long-term dependencies)를 보완하기 위해 고안된 알고리즘이다.

그림 4는 GRU의 내부 구조로, 현재 데이터와 이전의 hidden state가 게이트 통과한다. 게이트는 과거의 정보를 잊는 Reset Gate와 과거와 현재 데이터의 비율을 결정하는 Update Gate 두 가지 게이트로 이루어져 있다.

OTJBCD_2024_v25n2_49_3_f0003.png 이미지

(그림 4) GRU 내부 구조

(Figure 4) The inside structure of GRU

rt = σ(Wxrxt + Whrht - 1 + br) … (수식 1)

수식 1은 Reset Gate를 의미하며, 과거 정보를 얼마나 잊을지 결정한다.

zt = σ(Wxzxt + Whzht - 1 + bz) … (수식 2)

수식 2는 Update Gate를 의미하며, 현재와 과거 정보의 갱신 비율을 결정한다. zt는 과거 정보의 비율이고, 1 - zt 는 현재 정보의 비율이다.

gt = tanh(Wxgxt + Whg(rt ⊙ ht - 1) + bg)⋯ (수식 3)

수식 3은 후보자(Candidate) 단계를 의미하며, 현재 시점의 데이터 후보를 선정한다.

ht = (1 - zt)⊙gt + zt⊙ht - 1⋯ (수식 4)

수식 4는 GRU의 출력인 hidden state(ht) 값을 구하는 계산이다. (1 - zt)⊙gt는 현재 데이터를 의미하고, zt⊙ht - 1는 과거 데이터를 의미한다.

3.4 PredFeed Net 학습 및 예측 과정

그림 5는 PredFeed Net의 학습 및 예측 과정이다. 학습은 지도학습으로 진행한다. 학습 데이터세트는 시간, 수조 환경, 어류 생장 정보가 시간에 대한 오름차순으로 정렬되어 있어야 한다. 학습 데이터세트와 짝을 이룬 라벨링 데이터세트도 마찬가지로 시간에 대한 오름차순으로 준비한다. 라벨링 데이터세트는 지도학습의 정답 테이블 생성을 위한 데이터세트로, 본 논문에서 전문가의 먹이 배급 기록을 사용하였다. PredFeed Net은 학습 데이터세트를 입력받아 먹이 배급을 예측한다. 예측한 값은 정답 테이블과 비교하여 오차에 따라 역전파(Backpropagation) 단계에서 PredFeed Net의 가중치를 갱신한다.

OTJBCD_2024_v25n2_49_4_f0001.png 이미지

(그림 5) PredFeed Net의 학습 & 예측 과정

(Figure 5) The Process of Training and Predict for PredFeed Net

예측은 학습이 완료된 PredFeed Net을 사용하는 단계이다. PredFeed Net은 Fish Info(시간, 수조 환경, 어류 생장 정보)를 입력받아 먹이 배급량을 예측한다.

3.5 실험

3.5.1 실험 설계

실험을 위한 데이터세트로 AIHub에서 제공하는 “지능형 스마트양식장 통합 데이터(뱀장어)”의 뱀장어 양식 데이터를 사용하였다 [13]. 2021년 7월 21일부터 2021년 9월 21일까지의 센서 측정값 데이터(용존 산소량, 수온), 수질분석 데이터(암모늄, 아질산염, 질산염, 부유물), 뱀장어 생육 단계 데이터(평균 무게, 평균 길이), 사료 관리 데이터(먹이 배급량)를 수집하였다.

표 1은 PredFeed Net 학습 실험을 위한 시계열 데이터 세트의 구조로, 이 구조에 맞추어 데이터 전처리를 진행한다. 데이터세트의 60%는 학습, 20%는 벨리데이션(validation), 나머지 20%는 테스트 데이터로 구성한다.

(표 1) PredFeed Net 학습 실험을 위한 시계열 데이터세트의 구조

(Table 1) The Structure of Time Series Dataset for PredFeed Net Training Experiment

OTJBCD_2024_v25n2_49_4_t0001.png 이미지

실험은 GRU 연결 구조가 다른 3개의 모델을 학습하여 테스트 시, 평균 절대 오차(MAE, Mean Absolute Error)를 비교한다. MAE가 클수록 모델의 예측 결과가 정답과 멀어진다. 세 모델은 각각 16x10, 32x16, 64x48의 Hidden Layer 구조로 설계하였고, 나머지 사항들은 같다. 공통되는 사항은 batch size : 12, epoch : 100, optimizer : RMSProp(Root Mean Sqaure Propagation), loss : MSE이며, Colab 환경에서 Python & Tensorflow로 구현하였다. 신경망은 Input Layer->BN Layer->Hidden Layer(GRU)->Output 의 구조를 가진다.

3.5.2 실험 결과

표 2는 각 모델의 GRU Shape와 학습 완료된 각 모델의 테스트 시, 평균 절대 오차이다. Model A는 16x10 구조로 학습을 진행하였다. Model A는 학습 과정에서 Training MAE가 1.5, Validation MAE가 3.4 가량의 준수한 MAE를 보여주었다. Model B도 Model A와 마찬가지로 학습 과정에서 Training MAE가 1.09, Validation MAE가 1.46 매우 좋은 MAE 결과를 볼 수 있었다. 하지만 테스트 과정에서는 두 모델 모두 학습 과정에서보다 약 4배 큰 MAE를 보여주며, 실제 예측에서 불안정함을 알 수 있다.

(표 2) 각 실험 모델의 GRU Layer Shape에 따른 테스트 환경에서 평균 절대 오차

(Table 2) MAE in a test environment according to the GRU Layer Shape of each experimental model

OTJBCD_2024_v25n2_49_4_t0002.png 이미지

OTJBCD_2024_v25n2_49_5_f0001.png 이미지

(그림 6) Model A(16x10)의 학습 로그

(Figure 6) The Training log of Model A (16x10)

OTJBCD_2024_v25n2_49_5_f0002.png 이미지

(그림 7) Model B(32x16)의 학습 로그

(Figure 7) The Training log of Model B (32x16)

OTJBCD_2024_v25n2_49_5_f0003.png 이미지

(그림 8) Model C(64x48)의 학습 로그

(Figure 8) The Training log of Model C (64x48)

Model C는 Model B에 비해 Hidden Layer에 2배 정도의 유닛(Unit)을 연결하였다. 그 결과 학습 과정에서 Training MAE가 0.85, Validation MAE가 1.46으로 좋은 성능을 확인하였다. 실제 테스트 환경에서도 2.96의 적은 오차를 보여준다. 따라서 세 모델 중 64x48의 GRU 신경망 연결구조가 먹이 배급량 예측 시, 가장 높은 정확도를 보인다.

4. 결론

본 논문은 양식어업에서 먹이 배급의 자동화를 위해 먹이 배급 예측 딥러닝 모델인 PredFeed Net을 설계 및 구현한다. 시계열 데이터를 사용하기 때문에, GRU 기반의 딥러닝 모델을 구성하였다. 지도학습을 위해 정답 데이터가 필요한데, 학습 과정에서 모델이 예측한 값을 바탕으로 실제 환경에 적용하여 피드백을 받는 것은 매우 비용이 큰 작업이다. 따라서 전문가의 먹이 배급 기록을 정답 데이터로 사용하여, 전문가의 먹이 배급을 모방하는 딥러닝 모델을 구상하였다.

실험은 GRU 연결 구조가 서로 다른 세 모델의 예측결과를 비교하여, 먹이 배급량 예측에 최적화된 GRU 연결 구조를 찾는 실험을 진행하였다. 실험 결과, 세 모델 중 64x48의 GRU 신경망 연결 구조가 PredFeed Net의 정확도를 높일 수 있었다.

PredFeed Net은 스마트 양식이나 아쿠아포닉스 시스템(aquaponics system) 등 최신 양식어업의 발전에 이바지한다. 하지만 결국 PredFeed Net은 인간의 먹이 배급 패턴을 모방할 뿐이다. 이는 인건비가 줄어드는 이득은 볼 수 있지만, 전혀 인간보다 뛰어난 성능을 보여 줄 수 없다. 바둑계에서 인공지능은 결국 인간의 기보를 참고하지 않고, 인간보다 뛰어난 성능을 보여주었다. 이처럼 먹이 배급의 자동화 또한 인간의 패턴을 모방하는 것이 아닌 인간보다 뛰어난 패턴을 보여주는 것이 과제이다.

References

  1. FAO. 2022. The State of World Fisheries and Aquaculture 2022. Towards Blue Transformation. Rome, FAO. https://doi.org/10.4060/cc0461en
  2. Donggil LEE, Bongseong BAE, Jeong-Ho LEE, Sugtai KIM, Hyeongsu KIM, "Development of the Smart Aquaculture Technology and Industrialization Plan," THE JOURNAL OF FISHERIES AND MARINE SCIENCES EDUCATION, 33(2), pp.412-420, 2021. https://doi.org/10.13000/JFMSE.2021.4.33.2.412
  3. Taeho Lim, "스마트양식을 위한 인공지능 기술 동향," The Journal of The Korean Institute of Communication Sciences, 37(4), pp.39-45, 2020. https://www.dbpia.co.kr/journal/articleDetail?nodeId=N ODE09329757
  4. Lan Chen, Xinting Yang, Chuanheng Sun, Yizhong Wang, Daming Xu, Chao Zhou, "Feed intake prediction model for group fish using the MEA-BP neural network in intensive aquaculture," Information Processing in Agriculture, Volume 7, Issue 2, pp.261-271, 2020. https://doi.org/10.1016/j.inpa.2019.09.001.
  5. Chao Zhou, Kai Lin, Daming Xu, Lan Chen, Qiang Guo, Chuanheng Sun, Xinting Yang, "Near infrared computer vision and neuro-fuzzy model-based feeding decision system for fish in aquaculture," Computers and Electronics in Agriculture, Volume 146, pp. 114-124, 2018. https://doi.org/10.1016/j.compag.2018.02.006.
  6. Ziyi Liu, Xian Li, Liangzhong Fan, Huanda Lu, Li Liu, Ying Liu, "Measuring feeding activity of fish in RAS using computer vision," Aquacultural Engineering, Volume 60, pp.20-27, 2014. https://doi.org/10.1016/j.aquaeng.2014.03.005.
  7. Li, F., Li, D., Wei, Y., Ma, D., & Ding, Q., "Dissolved oxygen prediction in Apostichopus japonicus aquaculture ponds by BP neural network and AR model," Sensor Letters, 8(1), pp.95-101, 2010. https://doi.org/10.1166/sl.2010.1208
  8. Yan, J. X., Yu, L. J., Mao, W. W., & Cao, S. Q., "Study on prediction model of dissolved oxygen about water quality monitoring system based on BP neural network," Advanced Materials Research, 912, pp.1407-1411, 2014. https://doi.org/10.4028/www.scientific.net/AMR.912-914.1407
  9. Chen, L., Yang, X., Sun, C., Wang, Y., Xu, D., & Zhou, C., "Feed intake prediction model for group fish using the MEA-BP neural network in intensive aquaculture," Information Processing in Agriculture, 7(2), pp.261-271, 2020. https://doi.org/10.1016/j.inpa.2019.09.001
  10. Cho, Kyunghyun, et al. "Learning phrase representations using RNN encoder-decoder for statistical machine translation," arXiv preprint arXiv:1406.1078, 2014. https://doi.org/10.48550/arXiv.1406.1078
  11. Fu, Rui, Zuo Zhang, and Li Li, "Using LSTM and GRU neural network methods for traffic flow prediction," 2016 31st Youth Academic Annual Conference of Chinese Association of Automation (YAC), IEEE, 2016. https://doi.org/10.1109/YAC.2016.7804912.
  12. Ioffe, S., & Szegedy, C., "Batch normalization: Accelerating deep network training by reducing internal covariate shift," In International conference on machine learning, pp.448-456, June 2015. https://doi.org/10.48550/arXiv.1502.03167
  13. AIHub, 지능형 스마트양식장 통합 데이터(뱀장어), https://aihub.or.kr/aihubdata/data/view.do?currMenu=115 &topMenu=100&aihubDataSe=realm&dataSetSn=640