메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

[바닷속 딥러닝 어드벤처] 4부. 제발, 가즈아!

한빛미디어

|

2024-11-22

|

by 개앞맵시

1,176

 

바닷속 모래바닥에 몸을 붙인 채 하루하루를 보내던 가자미 ‘가즈아’는 문득 생각에 잠겼습니다.

“이렇게 살다가는 평생 모래만 먹겠어. 새로운 먹이터를 찾아 떠나볼까?”

하지만 ISFP 성격이라 온종일 바닥에만 붙어 지내던 가즈아에게 모험을 떠나기란 쉽지 않았습니다. 오늘도 방구석에서 고민만 하던 가즈아는 인터씨(Intersea)를 통해 바닷속 모든 고민의 해답이 존재한다는 Ocean Overflow에 접속했습니다. 그곳에서 ‘잎룡’이 만든 DeZero 프레임워크와 심층 강화 학습에 대한 글을 읽은 가즈아는 드디어 결심을 굳힐 수 있었습니다.

“그래, 이거라면 나도 새로운 환경에 적응할 수 있을 거야!”

 

우선 환경을 시뮬레이션하기 위해 OpenSeaGym 라이브러리를 사용했습니다. 다양한 바닷속 지형과 장애물, 그리고 포식자들을 설정하고, 목표는 새로운 먹이터에 도달하는 것으로 정했습니다. 하지만 막상 코딩을 시작하니 어려움이 닥쳤습니다.

에이전트의 상태 공간이 너무 크잖아! 이러다 차원의 저주에 빠지겠어.”

가즈아는 상태 표현을 효율적으로 하기 위해 CNN을 활용한 상태 인코딩을 적용했습니다. 또한 행동 선택을 위해 딥 Q-네트워크(DQN)를 구현하려 했지만, 학습이 안정적이지 않았습니다.

“이렇게 해선 불안정한 학습만 반복하겠는걸?”

 

문제 상황을 Ocean Overflow에 올리자 전설적인 딥러닝 전문가 ‘’이 댓글을 달아주었습니다.

“혹시 경험 재현 메모리를 사용해 보는 건 어떤가요? 이전 경험을 랜덤하게 샘플링하면 학습이 더 안정적일 거예요. 그리고 더블 DQN이나 우선순위 경험 재현을 도입하면 더 좋을지도 몰라요.”

 

쏨의 조언을 바탕으로 모델을 개선한 가즈아는 드디어 제대로 된 학습을 시작했습니다. 수천 번의 에피소드를 돌리며 에이전트는 점점 똑똑해졌습니다. 하지만 가끔씩 예기치 않은 행동을 보일 때도 있었습니다.

“왜 갑자기 포식자에게 덤벼드는 거야? 탐색-활용의 비율을 잘못 설정했나?”

가즈아는 ε-탐욕 정책의 ε 값을 조절하며 탐색과 활용 사이의 균형을 맞췄습니다. 그렇게 며칠 밤을 지새운 끝에 에이전트가 최적의 경로를 찾아내고 다양한 환경에서도 유연하게 대처할 수 있게 되었습니다.

 

드디어 실전에 나설 시간이 왔습니다. 가즈아는 숨을 깊게 한번 들이쉬고는 모래바닥에서 튕겨 올랐습니다.

“가즈아! 새로운 세상이 나를 기다리고 있어!”

모델에서 학습한 대로 주변을 관찰하며 한 지느러미씩 내디뎠습니다. 중간에 흉포한 문어를 만났지만 침착하게 우회하고 우거진 산호초 지대를 지날 때는 최단 경로를 찾아 배가 고파지기 전에 통과했습니다. 얼마 지나지 않아 가즈아의 눈앞에는 온갖 먹이가 가득한 새로운 바다가 펼쳐졌습니다.

“우와, 이렇게나 많은 먹이라니! 모델이 제대로 작동했어!”

 

그 후 몇 개의 바다를 더 정복하며 모험가로 명성을 떨친 가즈아가 자신의 코드를 GitFish에 공개했습니다. 그러자 온갖 생선들이 코드를 포크하여 다양한 프로젝트에 응용했습니다. 해마는 복잡한 해류를 타고 이동하는 모델을 만들었고, 새우는 고래 싸움에서 자신을 지키는 방법을 터득했습니다. 가즈아는 생각했습니다.

“심층 강화 학습이 이렇게나 큰 힘을 발휘하다니! 앞으로도 더 많은 모험을 떠나봐야겠어.”

 


딥러닝 용어 해설

  • 심층 강화 학습 : 딥러닝을 사용하는 인공지능이 시도와 보상을 반복하면서 스스로 최적의 행동 방식을 학습하는 기술
  • 에이전트 : 환경과 상호작용하며 보상을 최대화하기 위해 어떤 행동을 해야 할지 스스로 학습하는 인공지능
  • 상태 공간 : 에이전트가 경험할 수 있는 모든 가능한 상황들의 집합. 에이전트는 이 상태들을 기반으로 다음에 어떤 행동을 할지 결정합니다.
  • 차원의 저주 : 상태나 행동의 종류가 많아질수록 필요한 데이터와 계산량이 급격히 늘어나 모델 학습이 어려워지는 현상
  • DQN(Deep Q-Network) : 딥러닝을 사용하여 인공지능 에이전트가 최적의 행동을 선택하도록 학습시키는 방법
  • 더블 DQN : DQN의 개선 버전. 에이전트가 미래 보상을 과대평가하지 않도록 하여 더 안정적이고 정확하게 학습합니다.
  • 경험 재현 메모리(Experience Replay Memory) : 에이전트가 이전에 했던 경험들을 저장해 두었다가 학습할 때 무작위로 다시 사용하여 학습 효율을 높이는 방법
  • 우선순위 경험 재현(Prioritized Experience Replay) : 에이전트가 학습할 때 더 중요한 경험에 우선순위를 두어 그 경험들을 더 자주 사용함으로써 학습 효율을 높이는 방법
  • 에피소드 : 에이전트가 환경에서 시작부터 끝까지 한 번의 시도 동안 경험하는 일련의 상태, 행동, 보상의 흐름
  • 탐색-활용(Exploration-Exploitation) : 에이전트가 새로운 행동을 시도하여 더 좋은 보상을 찾으려는 탐색(Exploration)과 이미 알고 있는 최선의 행동을 반복하여 보상을 얻으려는 활용(Exploitation) 사이에서 균형을 맞추어 학습하는 방식
  • ε-탐욕 정책(ε-greedy policy) : 에이전트가 새로운 행동을 시도하기 위해 작은 확률(ε)로 무작위 행동을 선택하고, 나머지 확률(1-ε)로는 현재 가장 좋다고 알려진 행동을 선택하여 학습하는 방법

 

『바닷속 딥러닝 어드벤처』는  『밑바닥부터 시작하는 딥러닝』 시리즈를 원작으로, 재미난 상상력을 더해 재구성한 연작 소설입니다. 이번 편은 원작 중 ‘심층 강화 학습’을 다룬 4권에서 영감을 얻어 작성했습니다.

댓글 입력
자료실

최근 본 상품0