1. 서 론
선박은 침몰과 화재 등과 같은 사고 발생 시 퇴선을 해야 하지만 협소하고 복잡한 구조와 해상에서 운항하는 특성으 로 피난이 쉽지 않다(Kim, 2016). 특히, 여객선의 경우 전문 적인 안전훈련을 이수하지 않은 불특정 다수의 승객들로 인 해 더욱 어려운 상황이 된다. 이런 경우 잘 훈련된 승무원들 의 피난유도가 상당히 중요한 역할을 하게 된다(Kim et al., 2015). 또한, 외부로부터 구조자가 사고 선박에 진입하여 구 조 활동을 하는 경우 가장 빠른 경로, 가장 많은 인원이 이 용하는 구역으로 진입해야 더 많은 인명을 구조할 수 있기 때문에 이에 대한 검토가 필요하다. 일반적으로 승무원 및 구조자는 최단경로를 택하여 이동하는 것이 일반적이나 최 단경로에 사고 상황 등이 발생했을 경우 제2의 최적 경로 선택이 필요하다. 그러나 이런 경우에 대비한 피난분석 프 로그램 개발은 현재 우리나라에서는 거의 연구되어 있지 않 다(Park et al., 2004). 외국의 경우는 Vassalos et al.(2001)이 개 발한 선박 침수를 고려한 보행속도 감소 적용이 가능한 Evi, 그리고 선박의 경사각을 임의적으로 적용하여 보행속도를 구하는 Maritime EXODUS 정도만 IMO Test를 거쳤다(Ha et al., 2013). 하지만 최단경로 위주로 개발된 것으로 최적경로 분석을 위한 AI 기법을 이용한 연구는 거의 없다. 이러한 이 유로 이 연구에서는 머신러닝(Machine learning)의 기법 중에 하나인 강화학습(Reinforcement Learning)을 이용하여 최적의 퇴선경로를 산출하고자 한다(Google, 2018;Yamashiita, 2016).
2. 경로산출 도구
강화학습이란 컴퓨터를 이용하여 현재 상태에서 어떤 행 동을 취하는 것이 최적인가를 학습하여 분석하는 것이다. 이때 하나의 행동을 취할 때마다 보상이 주어지며 이 보상 이 최대화하는 방향으로 학습된다. 이 경우 강화학습에 요 소인 agent, environment, state, reward에 대한 적절한 설정이 필요하다. 이 연구에서 사용된 도구는 jupyter program이며 해 당 언어는 python을 사용하였다(Yamashiita, 2016). 강화학습에 대한 개요도는 Fig. 1과 같다.
3. 퇴선 경로 산출 방법
화재, 침수, 정전상황 등의 해양사고의 경우 가시거리 확 보가 어렵다. 특히, 여객선의 경우 승객이 익숙하지 않은 구 조로 인해 퇴선 어려움이 있다. 해양사고의 종류는 다양하 며 시간에 따라 확산 또는 변동되므로 이를 반영한 경로탐 색이 필요하다. 퇴선시간 단축은 인명생존율을 높이는 것으 로 안전을 고려한 최단 시간이 소요되는 퇴선 경로를 확인 할 필요가 있다. 이 연구에서는 이를 위하여 해양사고 상황 을 컴퓨터가 인식 할 수 있는 문제로 변환하여 퇴선 경로에 대한 예측 시뮬레이션을 수행하고자 한다. 이 연구의 목적 은 해양사고 상황에서 선박 내의 선원 및 승객들이 안전을 고려한 최단 경로를 파악하고 하는 것이다. 이를 위해서 현 위치에서 탈출구까지의 경로를 검색하며 이때 위험 지역의 예상 및 회피, 이동 시간 등이 분석된다. 기존 피난 분석 시 스템과의 차이점은 길 찾기 알고리즘(A* pathfinding)을 사용 하여 최단거리를 탐색, 처음부터 시작지점에서 도착지점을 확실히 알고 있다는 가정 하에 분석된다(Kim and Kim, 2018). 실제 상황에서는 여러 가지 재난상황으로 최단경로로 퇴선 이 어려운 경우가 다수 발생한다. 이에 이 연구에서는 경로 를 검색하는 방식을 사용하여 시작지점을 중심으로 무수한 반복을 통하여 목표 지점까지의 경로를 검색한다. 선박의 구조에 가중치(reward)를 부여하는 방식으로 다양한 환경을 등록하고 가중치를 변경하는 방식 전체 시스템 동작 방식은 Fig. 2와 같다.
분석방법 중 퇴선경로 탐색에 사용되는 요소는 다음과 같 다. 선박의 구조를 나타내는 환경(Environment), 탈출구까지 이동하는 선원 및 승객을 나타내는 에이전트(agent), agent의 위치한 노드의 2차원 좌표값인 상태(state), 구조자의 이동 위 치의 값인 보상(reward) 그리고 구조자가 어디로 이동할지에 대한 판단하는 정책(Policy)이 있다. 이때 행동 가치 함수인 Q-함수를 통하여 action을 행하였을 때 reward를 받고 이에 따라 Q-함수를 갱신한다. 분석을 위해서는 첫 번째로 선박 의 도면을 모델링하여야 한다. 자세한 내용은 Fig. 3과 같다.
일반적인 피난분석 프로그램에서는 퇴선경로를 산출하는 데 중요한 요소인 agent(선원, 승객)의 정보는 나이, 성별에 해당하는 이동속도를 계산(IMO, 1988)하고 행동은 fast walk, normal walk, stair로 구분하여 적용한다. 이 연구는 AI기법을 통한 최적경로 산출에 대한 것으로 agent는 행동 가치 함수 인 Q-함수를 따른다. 그리고 학습을 통해 구해진 값이 (+)값 이 가장 커지는 방향이 최적의 퇴선경로가 된다. 강화학습 을 위해서 우선 Fig. 4와 같이 전체 그리드에 구조물을 배치 한다. 붉은색으로 표현된 곳이 선내 구조로 도면을 이용하 여 실제 선박과 유사하게 배치 가능하다. 그리드는 사용되 는 도면을 근거로 다양하게 표현할 수 있으며 이 연구에서 는 좌우 9개로 임의로 설정하였다. 그리드 내부에 작은 숫자 들이 바로 학습을 해서 얻은 값을 표현한다. 즉, 4개 방향의 숫자 중 가장 큰 방향이 가장 최적의 코스이다.
다음은 강화학습을 수행하고 최적 경로를 탐색한 결과이 다. 그 방법은 하나의 노드를 이동할 때마다 행동에 대한 보 상을 통하여 Q-함수를 업데이트하고 변화하는 환경도 보상 이라는 입력값으로 반영한다. 무수한 반복을 통하여 최적의 Q-함수를 획득하여 안전하고 가장 짧은 최적의 경로를 산출 한다. 단, 학습에 횟수에 따라 경로는 다르게 나타나므로 이 연구에서는 횟수를 100 ~ 500회로 구분하여 다양하게 학습하 였고 그 결과는 Fig. 6 ~ Fig. 10과 같다. 주목할 만한 내용은 학습의 횟수가 100인 경우에는 경로를 탐색하지 못하였다.
Fig. 6은 학습 횟수를 100회로 한정하여 강화학습을 수행 한 결과이며 이때는 경로를 탐색하지 못하였다.
Fig. 7은 학습 횟수를 200회로 강화학습을 수행한 결과 이다.
Fig. 8은 300회의 학습 횟수로 강화학습을 수행한 결과 이다.
Fig. 9는 학습 횟수를 400회로 한정하여 강화학습을 수행 한 결과이다.
Fig. 10은 마지막으로 학습 횟수를 500회로 한정하여 강화 학습을 수행한 결과이다.
4. 결 론
선박은 여러 가지 사고 상황으로 퇴선을 감행해야 하는 경우가 발생한다. 구조 및 안전한 퇴선을 위해 선원 및 승 객들의 퇴선경로 및 시간을 사전에 분석하기 위한 기존 대 부분의 피난분석 프로그램은 최단 경로를 탐색하는 기법을 사용하고 있다. 그러나 계획된 최단 경로가 사고 지역이라 면 다른 제2의 경로를 선정하여 퇴선하는 것이 바람직하 다. 이러한 이유로 이 연구에서는 AI기법에 하나인 머신러 닝의 강화학습 기법을 이용하여 최적의 경로를 탐색하였 다. 그 결과 학습 횟수가 100인 경우에는 분석을 하지 못 하였으며 200회부터 500회까지는 분석하였다. 단, 학습의 횟수는 결과 처리 속도와 관련이 있어 학습의 횟수는 중요 한 역할을 한다. 강화학습은 학습의 횟수가 많다고 정확한 분석 결과가 나오는 것이 아니기 때문에 향후 후속 연구를 통해 시간과 분석결과를 고려한 적정 학습 횟수 선정을 필 요할 것이다. 이러한 AI 기법은 자율운항 선박의 최적항로 선정 및 위험요소 회피 등 다양한 해양관련 산업에 적용 가능할 것이다.