<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>hoon</title>
    <link>https://soon124578.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Wed, 24 Jun 2026 02:06:52 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>hooon9974</managingEditor>
    <item>
      <title>[논문 리뷰] RT-1: Robotics Transformer For Real-World Control At Scale</title>
      <link>https://soon124578.tistory.com/2</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Abtract&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;본 논문은 computer vision, NLP에서의 Large, Diverse, task-agnostic datasets을 활용하는 Foundation model 개념을 Robotics 분야에 적용하고자 하였다. Foundation model 다양한 task를 가지고 있는 대량의 데이터셋을 통해 어떠한 일반화된 지식을 갖추고 이 지식을 통해 여러 task에 대응할 수 있는 일반화 능력을 지니고 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;따라서 본 논문은 LLM에서 사용된 Transformer 구조를 변형해 &lt;b&gt;Robotics Transformer라는 새로운 구조를 제안&lt;/b&gt;한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Introduction&lt;/b&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Question1&lt;/b&gt;: &quot;Can we train a single, capable, large multi-task backbone on data consisting of a wide variety of robotic tasks?&quot; - 다양한 로봇 데이터셋에 존재하는 지식을 온전히 흡수시킬 수 있는 하나의 강력한 모델을 만들 수 있을까?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Question2&lt;/b&gt;: &quot;And.. does such a model enjoy the benefits observed in other domains, exhibiting zero-shot generalization to new tasks, environments, and objects?&quot; - 강력한 모델을 만들었다면 다양한 도메인에 적용할 수 있을까?&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저자는 위와 같이 2개의 질문을 던지며 본 논문의 방향을 잡고 있다. 질문을 해결하기 위해 &lt;b&gt;2가지의 난제&lt;/b&gt;가 존재한다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;Challenge 1 - &lt;/b&gt;범용성을 위한 고품질 데이터셋 구축:&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;Robotics 데이터셋 특성 상 다른 도메인(computer vision, NLP)과 달리 특정 task에 국한되는 경우가 많으며, 인력이 필요 이상으로 요구된다. 또한 일반화 성능을 갖추기 위해 다양한 환경 및 태스크를 포괄하는 scale과 breadth를 동시에 갖추어 하기에 더욱 까다롭다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Solution 1&lt;/b&gt;: 1) 13대의 로봇 기단을 활용해 17개월이라는 기간동안 약 13만개의 episode 수집&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2) 700개 이상의 다양한 태스크 포함하였으며 태스크들이 서로 well-connected되도록 설계하여 모델이 태스크들 사이에서의 유의미한 패턴을 발견할 수 있도록 유도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;&lt;b&gt;Challenge 2&lt;/b&gt;: 고성능 모델의 실시간 제어 효율성 확보&lt;/u&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;High Capacity가 높은 Transformer의 모델이 유리하지만, 계산량이 방대하므로 로보틱스의 real-time control의 중요성과 충돌이 존재한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Solution&lt;/b&gt; &lt;b&gt;2&lt;/b&gt;: 1) RT-1 구조 제안: 모든 정보(image, instruction, action)을 모두 token으로 표시하여 처리 (Real - time 보장)&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 해결책을 통해 RT-1 모델은 여러 태스크에서 이전의 모델들보다 더 나은 성능 향상을 도모할 수 있었다고 한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Preliminaries&lt;/b&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Robot Learning&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Goal: &quot;To learn robot policies to solve language-conditioned tasks from vision&quot;&lt;/b&gt;&lt;/p&gt;
&lt;div id=&quot;code_1773034284262&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;

$$
\text{x: observed image, i: language instruction, a: action, }\pi\text{: action distribution}
$$&quot;&gt;
&lt;script src=&quot;https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js&quot;&gt;&lt;/script&gt;
$$ \text{x: observed image, i: language instruction, a: action, }\pi\text{: action distribution} $$&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;policy(\(\pi \))는 image와 instruction을 입력으로 받아 action distribution \( \pi(a | i, x_0)\)을 출력한다. \( a_0 \)는 policy가 생성한 분포에서 샘플링 되어 로봇에 적용된다. 이러한 process가 계속 iterative하게 진행되어 매 time step 마다 새로운 분포( \( \pi(a|i,{x}^t_{j=0})\) )가 학습되어지고 그 분포에서 action이 샘플링되어진다. 이러한 반복은 terminal condition까지 도달하면 종료되며 종료 시, binary reward \( r \in {0,1} \)가 주어진다. 결국, policy \( \pi \)는 reward 1을 받은 데이터만 학습 데이터셋에 넣는다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Transformer&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본 논문은 이미지 시퀀스를 처리하기 위해 대표적인 시퀀스 모델인 Transformer 구조를 사용한다. Transformer는 입력 시퀀스를 입력으로 받아 출력 시퀀스로 매핑하는 모델이며, 모델 네트워크는 입력들 간의 관계성을 추론하여 출력을 내뱉는다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것을 RT-1 관점에서 생각해보면 입력 시퀀스인 { \( i, {x_j}^t_{j=0}\) }가 출력 시퀀스{ \( a_t \) }로 mapping 된다고 생각할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Imitation Learning&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;reward 1을 받은 trajectory를 모아놓은 Dataset을 통해 policy \( \pi \)를 학습시킨다. action distribution을 가진 policy를 학습시키기에 negative log-likelihood 손실함수를 사용해 최적화를 진행한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;System Overview&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터셋을 확보하기 위해 독립적인 3개의 kitchen-based 환경을 구축하였고, 추후 모델 평가까지 진행하였다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;873&quot; data-origin-height=&quot;238&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKwOSF/dJMcah4FPfW/gEF5oz00OT1AEpPsZuxue0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKwOSF/dJMcah4FPfW/gEF5oz00OT1AEpPsZuxue0/img.png&quot; data-alt=&quot;Fig1. Environment for evaluation and training&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKwOSF/dJMcah4FPfW/gEF5oz00OT1AEpPsZuxue0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKwOSF%2FdJMcah4FPfW%2FgEF5oz00OT1AEpPsZuxue0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;Environment for evaluation and training&quot; loading=&quot;lazy&quot; width=&quot;873&quot; height=&quot;238&quot; data-origin-width=&quot;873&quot; data-origin-height=&quot;238&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Fig1. Environment for evaluation and training&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 데이터는 사람이 시연하였으며, 해당 에피소드에 대한 instruction(textual description)으로 구성되어 있다(1개의 동사, 1개 이상의 명사로 표현하는 등 나름의 지시문 규칙이 존재한다고 한다...). 이렇게 얻은 instruction은 verb별로 (e.g., &quot;pick&quot;, &quot;open&quot; or &quot;place upright&quot;), object별로 (e.g., &quot;coke can&quot;, &quot;apple&quot;, or &quot;drawer&quot;) 분할해서 저장된다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1104&quot; data-origin-height=&quot;424&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bGeNCh/dJMcah4FPYB/uUkjhrbR6QATEIa1zzj0S0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bGeNCh/dJMcah4FPYB/uUkjhrbR6QATEIa1zzj0S0/img.png&quot; data-alt=&quot;Fig2. Model Architecture&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bGeNCh/dJMcah4FPYB/uUkjhrbR6QATEIa1zzj0S0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbGeNCh%2FdJMcah4FPYB%2FuUkjhrbR6QATEIa1zzj0S0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1104&quot; height=&quot;424&quot; data-origin-width=&quot;1104&quot; data-origin-height=&quot;424&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Fig2. Model Architecture&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;FiLM (Feature-wise Linear Modulation):&lt;/b&gt; pre-trained 이미지 네트워크의 특징 맵을 instruction 임베딩을 통해 conditioning하여, task 정보를 추출하는 기법 - &quot;image와 instruction을 조합해주는 네트워크라고 생각하면 된다&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;TokenLearner:&lt;/b&gt; FiLM EfficientNet에서 추출한 고차원의 특징을 compact한 token으로 만들어주는 네트워크&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Fig2와 같이 RT-1 구조는 Instrunction과 image sequence를 받아서 action을 추출하는 모델이다. Real-time을 위해 비교적 짧은 sequence를 입력으로 받고 TokenLearner를 통해 token처리 효율을 높임으로써 최소한의 성능 3Hz를 보장하였다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Architecture Flow는 다음과 같다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;image-instruction 융합: 이미지 sequence와 instruction을 입력받아 ImageNet으로 사전 학습된 EfficientNet을 통과시킨다. 이때 FiLM 레이어를 통해 텍스트 임베딩 정보가 이미지 인코딩 과정에 직접 주입되어진다.&lt;/li&gt;
&lt;li&gt;Token 압축: 인코딩된 정보를 TokenLearner에 전달하여 Transformer가 처리하기 용이하도록 핵심적인 Token Set로 압축&lt;/li&gt;
&lt;li&gt;Action 출력: Transformer가 이 token들을 통해 discretized action tokens를 출력한다.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 중요한 점은 action 자체도 token으로 표현했다는 것이다. 따라서 이 token을 역추론 하는 과정이 포함되어야 한다. 이 부분은 다음 섹션에 설명하고자 한다. 결론적으로 이러한 flow로 action token을 출력하고 token을 역추론하면 로봇 제어에 사용되어질 11차원{Arm movement(7D x,y,z,roll,pitch,yaw), Base movement(3D x,y,yaw), Mode switch(1D &quot;Arm제어&quot; or &quot;Base 제어&quot; or &quot;Terminating&quot;}을 가진action이 나온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;RT-1: Robotics Transformer&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;1090&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rsSds/dJMcacbdMeJ/FqwVzewHax1NYaSAXkgQ11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rsSds/dJMcacbdMeJ/FqwVzewHax1NYaSAXkgQ11/img.png&quot; data-alt=&quot;Fig3. The architecture diagram of RT-1&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rsSds/dJMcacbdMeJ/FqwVzewHax1NYaSAXkgQ11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrsSds%2FdJMcacbdMeJ%2FFqwVzewHax1NYaSAXkgQ11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;654&quot; height=&quot;1090&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;1090&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Fig3. The architecture diagram of RT-1&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Model&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Instruction and image tokenization&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6장의 이미지(300*300)가 Image-Net pretrained EfficientNet-B3모델에 입력으로 들어가 9*9*512의 feature map이 나온다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;feature map을 flatten하여 81개의 visual token을 생성한다. visual token에 instruction 정보를 주입하기 위해 FiLM 레이어를 사용한다. FiLM 레이어는 visual token과 USE(Universal Sentence Encoder)를 통해 생성된 instruction 임베딩을 조합한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;TokenLearner&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실시간 추론을 위해 81개의 token을 8개의 token으로 압축시킨다. TokenLearner를 통해 압축함으로서 81개의 token 중 중요한 정보만을 담은 최종 8개의 token이 생성되고 이에 따라 Transformer 연산이 급격히 낮아질 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Transformer&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TokenLearner를 통해 압축된 8개의 token(이미지 당 8개이므로 총 6*8=48개)을 Transformer decoder에 입력으로 넣어 action token을 생성한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Action tokenization&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;action을 토큰화하기 위해 각 action 차원을 균일하게 분포된256개의 bin으로 이산화시킨다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Loss&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Categorical cross-entropy와 causal masking을 사용하여 학습한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Data&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새로운 작업에 대한 일반화와 강인함을 위해 17개월 동안 다양한 로봇과 환경에서 데이터를 수집하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;총 13만 개의 로봇 demonstrations 에피소드를 확보하였으며 700개 이상의 개별 language instrunction을 포함하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Experiments&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>hooon9974</author>
      <guid isPermaLink="true">https://soon124578.tistory.com/2</guid>
      <comments>https://soon124578.tistory.com/2#entry2comment</comments>
      <pubDate>Mon, 9 Mar 2026 16:16:06 +0900</pubDate>
    </item>
  </channel>
</rss>