[MARL-Message-Adaptor] 1. Framework

Project

λ©”μ‹œμ§€μ— μ˜ν•œ 행동 차이 μ€‘μš”μ„±

gif rendering issue.. GIF 이미지 링크


1. λ©”μ‹œμ§€ μ–΄λŽν„° 방식

μ–΄λŽν„°λŠ” κΈ°μ‘΄ μ—μ΄μ „νŠΈμ˜ 행동에 λŒ€ν•œ 정보λ₯Ό λ°”νƒ•μœΌλ‘œ 이λ₯Ό λ³΄μ •ν•˜λŠ” λ©”μ‹œμ§€ 기반 λͺ¨λ“ˆμ„ μΆ”κ°€ν•™μŠ΅ν•˜μ—¬ λͺ¨λΈμ„ κ°œμ„ ν•œλ‹€.

2. μ•‘μ…˜ λ©”μ‹œμ§€ μ •μ˜

  1. κΈ°μ‘΄ : μ—μ΄μ „νŠΈκ°€ λ‹€λ₯Έ μ—μ΄μ „νŠΈμ—κ²Œ 전달할 λ©”μ‹œμ§€λ₯Ό λ§Œλ“ λ‹€.
  2. λ³Έ 연ꡬ : μ—μ΄μ „νŠΈκ°€ 본인의 행동과 관찰에 λŒ€ν•΄μ„œ λ‹€λ₯Έ λ©”μ‹œμ§€μ—κ²Œ μ „λ‹¬ν•œλ‹€.

λ”°λΌμ„œ λ³Έ μ—°κ΅¬μ—μ„œλŠ” λ©”μ‹œμ§€ μžμ²΄κ°€ κ°œλ³„ μ—μ΄μ „νŠΈκ°€ κ²°μ •λœ 행동 및 κ΄€μ°° μ •λ³΄λ‘œ λΆ€ν„° μœ μš©ν•œ μ •λ³΄λ‘œ μ •μ˜ν•œλ‹€. 행동을 κ²°μ •ν•  λ‹Ήμ‹œ 전달할 수 μžˆλŠ” λ©”μ‹œμ§€λŠ” μ„Έ κ°€μ§€κ°€ μ‘΄μž¬ν•œλ‹€. 각 μ—μ΄μ „νŠΈλŠ” μ•„λž˜ 정보듀을 μƒμ„±ν•˜μ—¬ λ‹€λ₯Έ μ—μ΄μ „νŠΈμ—κ²Œ μ „λ‹¬ν•œλ‹€.

\[m_i = (h_i, a_i, p_{a_{i}}, P_{a_{i}})\]

3. Processing Multiagent Messages

μž„μ˜μ˜ 개수의 μ—μ΄μ „νŠΈκ°€ μ£ΌλŠ” λ©”μ‹œμ§€λ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄μ„œλŠ” 데이터λ₯Ό poolingν•˜λŠ” 것보닀 RNN 으둜 μ²˜λ¦¬ν•˜μ—¬ 정보λ₯Ό μ΅œλŒ€ν•œ λ³΄μ‘΄ν•˜λŠ” 게 μœ λ¦¬ν•˜λ‹€. λ”°λΌμ„œ GRU λ°©μ‹μœΌλ‘œ λ©”μ‹œμ§€λ₯Ό μ²˜λ¦¬ν•˜μ˜€λ‹€. (단, action_v1 만 κ΅¬ν˜„λœ μƒνƒœκ³ , message_v은 RNN이 μ•„λ‹Œ Pooling 방식이닀)

4. μ‹€ν—˜ κ²°κ³Ό

μ΅œμ’… 보상

ν•™μŠ΅μ€ 각 μ—μ΄μ „νŠΈκ°€ κ΄€μ°°λ‘œλΆ€ν„° 보상을 μ΅œλŒ€ν™” ν•˜λŠ” Step1 이후, ν†΅μ‹ λ©”μ‹œμ§€λ₯Ό κ²°ν•©ν•˜λŠ” Step2λ₯Ό μ§„ν–‰ν•˜μ˜€λ‹€. ν•™μŠ΅ μ‹œκ°„μ€ 2.5M이닀. μ•„λž˜ ν‘œλŠ” ν•™μŠ΅ μ™„λ£Œλœ λͺ¨λΈμ— λŒ€ν•΄μ„œ 100 μ—ν”Όμ†Œλ“œμ— λŒ€ν•œ λ³΄μƒμ˜ 평균과 뢄산을 λ‚˜νƒ€λ‚Έλ‹€. spread ν™˜κ²½μ—μ„œλŠ” 톡신을 ν†΅ν•΄μ„œ λͺ¨λ‘ μ„±λŠ₯이 κ°œμ„ λ˜μ—ˆλ‹€. κ·ΈλŸ¬λ‚˜, reference ν™˜κ²½μ—μ„œλŠ” 톡신을 ν•˜λŠ” 것이 였히렀 λΆˆμ•ˆμ •μ„±μ„ λ†’ν˜”λŠ”λ°, μ΄λŠ” reference μ—μ„œλŠ” 이미 Step1μ—μ„œ ν•„μš”ν•œ 정보가 λͺ¨λ‘ μ‘΄μž¬ν•˜λ©°, Step2λŠ” λ³΄μƒμ΅œλŒ€λ₯Ό μœ„ν•΄ ν•„μš”ν•œ 정보가 μΆ”κ°€λ˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ΄λ‹€. Simple Tag μ—μ„œλŠ” κΈ°μ‘΄ Step1보닀 μ„±λŠ₯이 μ €ν•˜λ˜λŠ” κ²½μš°λ„ μ‘΄μž¬ν•˜μ˜€κΈ°μ—, λ©”μ‹œμ§€ μ’…λ₯˜μ— λ”°λΌμ„œ λ‹€λ₯Έ μ„±λŠ₯을 λ³΄μ΄λŠ” κ²ƒμœΌλ‘œ ν™•μΈλœλ‹€.

Environment Model Step1 Return Step2 Return
mpe.simple_tag_v3 message_v1 $34.30 \pm(26.73)$ $\textcolor{green}{36.20 \pm(29.56)}$
mpe.simple_tag_v3 action_v1 $33.60 \pm(28.76)$ $\textcolor{red}{31.00 \pm(23.94)}$
mpe.simple_reference_v3 message_v1 $-40.36 \pm(14.91)$ $\textcolor{red}{-46.29 \pm(19.25)}$
mpe.simple_reference_v3 action_v1 $-39.76 \pm(14.39)$ $\textcolor{red}{-54.57 \pm(19.13)}$
mpe.simple_spread_v3 message_v1 $-65.79 \pm(35.68)$ $\textcolor{green}{-54.89 \pm(18.29)}$
mpe.simple_spread_v3 action_v1 $-64.76 \pm(32.98)$ $\textcolor{green}{-54.85 \pm(18.22)}$

ν•™μŠ΅ λ‹€μ΄λ‚˜λ―ΉμŠ€

Step2: Adaptor ν•™μŠ΅ 비ꡐ

κ²°λ‘ 

λ©”μ„Έμ§€ adaptation은 일반적으둜 더 높은 μ„±λŠ₯이 λ‚˜μ˜€λ„λ‘ ν•™μŠ΅λœλ‹€. κ·ΈλŸ¬λ‚˜ μ–΄λ–€ λ©”μ‹œμ§€λ₯Ό μ£ΌλŠ” 지에 λ”°λΌμ„œ ν•™μŠ΅ μ„±λŠ₯이 λ‹€λ₯΄λ‹€. λ”°λΌμ„œ 각 ν™˜κ²½μ— μ ν•©ν•œ λ©”μ‹œμ§€μ˜ ν˜•νƒœλ₯Ό κ³ λ €ν•  ν•„μš”κ°€ μžˆλ‹€. λ…Όλ¬Έμ˜ μ£Όμ œλŠ” message adaption framework의 μ œμ•ˆ. λ©”μ‹œμ§€μ˜ λ‹€μ–‘ν•œ ν˜•νƒœμ— λŒ€ν•œ μ œμ•ˆμ΄λ‹€.

  1. 심측 λ©”μ‹œμ§€λŠ” 항상 νš¨μœ¨μ μΈκ°€? μ•„λ‹ˆλ‹€. ν™˜κ²½λ”°λΌ λ‹€λ₯΄κ³ , λ©”μ‹œμ§€ νƒ€μž… 따라 λ‹€λ₯΄λ‹€ (정보가 λ§Žμ€ 것은 그만큼 λ§Žμ€ 처리λ₯Ό ν•„μš”λ‘œν•˜κ³ , MARLμ—μ„œ 더 였랜 μ‹œκ°„ ν•™μŠ΅μ„ ν•„μš”λ‘œ ν•˜κ³ , λΆˆμ•ˆμ •μ„±μ΄ λ†’λ‹€.)
  2. 심측 λ©”μ‹œμ§€μ˜ 효과λ₯Ό λ‚˜λˆ μ„œ ν™•μΈν•˜λŠ” 방법은 무엇인가?, Message Adaptor framework
  3. 심측 λ©”μ‹œμ§€μ˜ 효과λ₯Ό κ°œμ„ ν•˜λŠ” 방법은 무엇인가? Action Information Message

정리 μ•ˆλ¨

  1. λ©”μ‹œμ§€λŠ” ꡉμž₯히 λ…Έμ΄μ¦ˆν•œ κ²½ν–₯성을 보인닀.
  2. 메세지에 μ˜μ‘΄ν•΄μ„œ 전체 λͺ¨λΈμ„ ν•™μŠ΅ν•˜λŠ” 것을 μœ„ν—˜ν•˜λ‹€. (λ©”μ‹œμ§€κ°€ noisy ν•œ κ²½μš°λŠ” μ–΄λ–»κ²Œ λ˜λŠ”κ°€? 잘 μ•ˆλ˜κ² μ§€. λΆˆμ•ˆμ •ν•˜κ² μ§€.)
  3. ꡬ쑰적으둜 λ©”μ‹œμ§€ λ…Έμ΄μ¦ˆλ₯Ό μ²˜λ¦¬ν•  수 μžˆλŠ” λͺ¨λ“ˆμ€ μ–΄λ–€ ν˜•νƒœμΈκ°€?

λ©€ν‹°μ—μ΄μ „νŠΈμ—μ„œ ν†΅μ‹ ν•œλ‹€λŠ” 것은 μ •λ³΄κ΅ν™˜μ΄ λ°œμƒν•˜λŠ” 것을 λ‚˜νƒ€λ‚Έλ‹€. ν˜‘μ—…μ„ μœ„ν•΄μ„œ 톡신은 ν•„μˆ˜μ μ΄κ³ , 이에 λŒ€ν•˜ 효과λ₯Ό λͺ…μ‹œμ μœΌλ‘œ ν™•μΈν•˜κΈ° μœ„ν•΄μ„œλŠ” ν†΅μ‹ μ˜ 효용만큼 μ—μ΄μ „νŠΈμ˜ 행동이 κ°œμ„ λ˜μ–΄ μ„±λŠ₯ ν–₯상을 보여야 ν•œλ‹€.

λ©€ν‹°μ—μ΄μ „νŠΈ ν™˜κ²½μ—μ„œλŠ” κ΄€μ°°, μ—μ΄μ „νŠΈμ˜ 행동과 같은 κΈ°λ³Έ μš”μ†Œλ“€μ΄ 톡신과 λ”λΆˆμ–΄ λ°˜μ‘ν•˜μ—¬ κΈ°μ‘΄ μ—μ΄μ „νŠΈμ˜ 행동을 μ œλŒ€λ‘œ κ΅¬λΆ„λ˜κ²Œ 보여주지 λͺ»ν•œλ‹€. 각 μ—μ΄μ „νŠΈμ˜ μ»¨νŠΈλ‘€μ— λŒ€ν•œ λΆ€λΆ„κ³Ό 톡신에 λŒ€ν•œ 뢀뢄을 λͺ…μ‹œμ μœΌλ‘œ κ΅¬λΆ„ν•˜λŠ” 것은 두 κ°€μ§€ μž₯점이 μžˆλ‹€.

  1. κΈ°μ‘΄ 비톡신 λŒ€λΉ„ μ„±λŠ₯ ν–₯상. μ„±λŠ₯ ν–₯μƒμ—μ„œ 톡신에 μ˜ν•œ 행동 λ³€ν™”λ₯Ό λ³΄μ—¬μ€Œ.
  2. 행동 자체의 변화에 λŒ€ν•΄μ„œ 해석할 수 μžˆλ‹€.

ν†΅μ‹ μ˜ 효과λ₯Ό λͺ…μ‹œμ μœΌλ‘œ ν™•μΈν•˜κ³ 

μ„±λŠ₯ 비ꡐ

행동을 κ΄€μ°°ν•˜λŠ” 것과 κ΄€μ°° λ©”μ‹œμ§€λ₯Ό μ „λ‹¬λ°›λŠ” 것은 μ„±λŠ₯ 차이λ₯Ό λ³΄μ΄λŠ”κ°€? 행동을 κ΄€μ°°ν•˜λŠ” 것과 μ˜λ„μ— λŒ€ν•œ λ©”μ‹œμ§€λ₯Ό μ „λ‹¬λ°›λŠ” 것은 μ„±λŠ₯ 차이λ₯Ό λ³΄μ΄λŠ”κ°€?

ν™˜κ²½ μ—μ΄μ „νŠΈ κ΄€μ°° μ—μ΄μ „νŠΈ κ΄€μ°° λ©”μ‹œμ§€ μ—μ΄μ „νŠΈ κ΄€μ°°+행동 λ©”μ‹œμ§€
simple_spread_v3 000 000 000
simple_reference_v3 000 000 000