※本記事は、Toyota Research InstituteのSergey Zakharov氏による講演「Closing the Loop: Synthetic World for Scalable Learning」の内容を基に作成されています。動画の詳細情報は https://www.youtube.com/watch?v=NYyJBvHQdwI でご覧いただけます。本記事では、講演の内容を要約しております。なお、本記事の内容は原著作者の見解を正確に反映するよう努めていますが、要約や解釈による誤りがある可能性もありますので、正確な情報や文脈については、オリジナルの動画をご視聴いただくことをお勧めいたします。
1. 導入と背景:基盤モデルの進展とロボティクスが抱える2つの課題
1.1 発表者の経歴と生成AIのロボティクスへの波及
Sergey: 皆さん、こんにちは。改めまして、本日はお招きいただきありがとうございます。私はSergeyと申します。Peterからもご紹介いただきました通り、私はToyota Research Institute、TRIでリサーチサイエンティスト兼テクニカルリードを務めております。本日は、私たちがTRIで、そして何人かの共同研究者たちと一緒に最近取り組んできた研究についてお話しさせていただきたいと思います。
Sergey: まず自己紹介を少しさせてください。私のバックグラウンドは純粋にコンピュータビジョンにあります。姿勢推定、3次元再構成、微分可能レンダリング、そして対照学習といったテーマにずっと取り組んできました。実は、物理的なロボットそのものに携わるようになったのはごく最近のことなのです。ですので本日の発表は、ロボティクス出身ではない人間から見た視点、そして私自身が悪戦苦闘してきた経験も部分的に含んだ内容になります。あまり厳しい目で見ないでいただけると嬉しいです。
Sergey: それでは本題に入りましょう。この数年の間に、多くの機械学習アルゴリズムが、限定的な設定でしか動作しない、あるいはまったく動作しないという状態から、かなり汎用的で頑健なものへと進化してきました。その流れは言語分野から始まりました。最初は面白いチャットボットのようなものだったのが、今ではほとんどコードを書く必要がないと言えるところまで到達しています。
Sergey: 一方でコンピュータビジョンは、しばらくの間その流れに遅れを取っていましたが、今では急速に追いついてきています。再構成、表現学習、画像から3次元への変換、そして映像生成といった分野で急速な進歩が見られます。これらは拡張現実、医療、ゲーム、その他さまざまな産業に応用されていますが、最も重要な応用先は自動運転とロボティクスだと考えています。
Sergey: ロボティクスは当然ながら、言語とビジョンの両方の進歩を受け継いでおり、今、同様の能力の飛躍を目にしています。私たちは、多数の汎用ポリシーが登場しているのを見ています。ここで言う汎用ポリシーとは、基本的に観測を行動へとマッピングするネットワークのことであり、タスク、環境、対象物体をまたいで汎化し、ある程度環境の変化に対しても頑健であるという性質を持つものを指します。
1.2 2つの根本課題:データ収集と評価
Sergey: しかし、ロボティクスにおける基盤モデルは、言語モデルとビジョンモデルの両方の強みを受け継ぐ一方で、同じ種類の問題も受け継いでしまっています。さらに、実際に物理的なロボットを扱うという追加の難しさが加わることで、あらゆる作業が非常に遅くなってしまうという課題があります。おそらく今、最も重大な課題は次の2つだと考えています。1つ目はデータです。現在の生成モデルは非常にシンプルで非効率であり、大量のデータを必要とします。そして実世界でのデータ収集は非常にコストが高く、時間もかかります。2つ目は評価です。評価なしには、私たちは進歩を測ることができませんし、複数のモデルを互いに比較することもできません。
Sergey: 本日の残りの時間では、私たちが最近取り組んできた、これら2つの課題に対する研究についてご紹介したいと思います。まずはデータの課題からお話しします。
2. データ収集の効率化:Raidenツールの開発
2.1 従来のデータ収集の課題とRaidenの概要
Sergey: データの話に入る前に、少し補足させてください。先ほどのスライドで著者の名前を何度もコピーしてしまっていたのですが、それはさておき、現在ロボットのデータは主にテレオペレーションによって収集されています。これは人間がロボットアームを手動で操作して、その動作を記録するという方法です。ポリシーの学習について話すとき、多くの人は前処理済みのきれいなデータがすでに手元にあることを前提としてしまいます。データ収集にまつわる痛みを伴うプロセスは、たいてい省略されてしまうのです。
Sergey: 私自身、最近この痛みを伴う経験を実際にすることになりました。ハードウェアのセットアップ、カメラのキャリブレーション、データ収集、可視化、デバッグ、そして最終的に学習可能なフォーマットへ変換するという一連の作業を、一つひとつ自分でこなさなければならなかったのです。当時、良いガイドがあればと本当に思いました。しかし実際には、断片的な情報を一つずつ自分でつなぎ合わせていくしかなく、これは非常に骨の折れる作業でした。
Sergey: そこで私たちは、この経験を踏まえて、Raidenというデータ収集ツールを最近リリースしました。これはこのプロセスの大部分を自動化し、ユーザーをステップごとに導いてくれるツールです。ハードウェアのセットアップからキャリブレーション、データ収集に至るまで、すべての工程をカバーするツール群が揃っています。私たちはYAMSというアームを使用しているのですが、これはそのシンプルさから私たちTRIでも非常に気に入っていますし、多くの大学のパートナーも現在利用しています。ぜひ皆さんにも試していただきたいと思っています。
2.2 付随リリースと今後のロードマップ
Sergey: Raidenと合わせて、私たちはTRIが持つ最新のリアルタイムステレオ深度モデルも公開しました。このモデルはロボティクス向けのデータで長年チューニングされてきたものですが、これまで一度も公開されたことがありませんでした。私たちの内部実験では、マニピュレーションの設定において、最近の最先端手法の一部を上回る性能を示しています。これはスライドの右下でご覧いただけるモデルです。すでにRaidenに統合されており、チェックポイントをダウンロードして、他の用途にも自由に利用していただけます。
Sergey: さらに、コンプライアントなフィングリッパー向けのCADモデルも公開しました。これは、標準で付属しているYAMSのグリッパーが実はかなり壊れやすく、頻繁に破損してしまうということが分かったためです。コンプライアントなグリッパーを使うことで、この問題が大きく改善され、多くの作業が簡素化されました。
Sergey: 今後のロードマップについてもお話ししたいと思います。近いうちに、汎用的なVLA、つまりVision Language Actionモデルを学習するための取り組みであるVLA Foundryをサポートする予定です。これは私たちTRIの同僚たちの研究であり、非常に興味深い内容ですのでぜひチェックしていただきたいと思います。こちらもオープンソースで、QRコードから利用可能です。
Sergey: さらに次のステップとして、シミュレーションのバックエンドもサポートする予定です。これにより、ハードウェアを購入することなく、データ収集を含むすべてのステップをテストできるようになります。そして最終的には、人気のあるJellossやVRを含む、さまざまなコントローラのサポートも行う予定です。このプロジェクト全体はオープンソースですので、どなたでも自由に貢献していただけます。実際、最近スタンフォード大学のJanet BachさんがVRテレオペレーションのためのプルリクエストを提出してくださり、私たちは現在それをレビューしているところです。これは本当に素晴らしいことだと思っています。
3. 評価の自動化:Polarisによるシミュレーション評価
3.1 デジタルツイン再構成の手法
Sergey: ここからは、評価という側面の話に戻りたいと思います。すでにデータを収集し、そのデータでポリシーを学習したと仮定しましょう。次に必要となるのが評価です。これは、データ収集そのものよりもさらに難しい問題だと言っても過言ではありません。なぜなら、これを正しく行うには非常に多くの人手と、極めて綿密な組織化が必要になるからです。実際のロボットで評価を行う場合、誤差が入り込む余地も非常に大きくなります。
Sergey: コンピュータビジョンを背景に持つ多くの研究者たちは、これをある種の好機として捉えました。最新の高精細な再構成技術とシミュレーションを活用すれば、このプロセスを自動化できるのではないかと考えたのです。つまり、シミュレーション内で制御された評価を行い、それが理想的には実ロボットの性能を予測する良い代理指標になるのではないかということです。これがまさに、私たちが最近取り組んだPolarisという研究で探求した内容であり、ここでも多くの共同研究者たちと一緒に取り組みました。
Sergey: 手法の全体像を示す図をご覧いただくと、基本的な考え方は非常にシンプルであることがわかります。まず動画から始めます。これについては後ほど詳しく説明しますが、環境のデジタルツインを再構成し、それを使ってシミュレーション内でデータを収集します。スライドの上部にいくつかのデモンストレーションをお見せしています。そして、この追加のシミュレーションデータを使って大規模なポリシーを共同学習させることができます。さらに、シミュレーション内の新しい環境、新しいタスクに対してポリシーを評価することもできます。
Sergey: 実際に共同学習させたネットワークは、シミュレーション内の新しい環境や新しいタスクに対してもうまく汎化することがわかりました。そして論文でお示ししている通り、これは実際の性能とも相関があることが示されています。もう少し詳しく手順をご説明しますと、まず再構成から始まります。スマートフォンを使って部屋の中を歩き回りながら動画を撮影し、それをガウシアンスプラッティングにかけます。私たちの場合は2Dガウシアンスプラッティングを使用し、より良いメッシュを得ています。これによってシーン全体のメッシュを抽出します。メトリックスケールを復元するために、チェッカーボードを使用したと記憶しています。こうして環境のメッシュが得られ、それをシミュレーションに取り込むことができます。
3.2 物体再構成の限界とSim-Real性能相関の知見
Sergey: しかし、環境のメッシュだけでなく、実際に操作対象となるマニピュランド(操作対象物体)も再構成する必要があります。この段階は、当時は手動、あるいは部分的に手動で行っていました。まず生成モデルであるTrellisを使用しました。これは1枚のRGB画像を入力すると、物体の3次元再構成を出力してくれるものです。少なくとも単一視点からできる限りの再構成を行ってくれるのですが、あくまでRGBのみの手法であるため、物体の正規化された座標系で出力されてしまい、メトリックスケールにはなっていません。これを解決するには、デプスマップに対してレジストレーション(位置合わせ)を行う必要があります。
Sergey: ただ、このケースでは手動で行っており、それでも十分にうまく機能しました。というのも、レジストレーションは実はかなり不安定であることがわかったからです。オクルージョン(遮蔽)が多く、対応点が少ない場合には、かなり頻繁に失敗してしまうことがあり、これはあまり望ましくありませんでした。そのため、このケースでは単純に手動で行うことにしたのです。
Sergey: 研究の本題に話を戻しますと、環境の再構成が一度収集できれば、そこでポリシーを共同学習させることができます。生成された動画がどのようなものかお見せできますが、人間の目で見るとかなり自然に見えると思います。あまり拡大して見なければ、本物の映像のように見えるかもしれません。とても自然な仕上がりになっていると思います。
Sergey: そして、これがこの論文の中心的な知見なのですが、シミュレーションデータでポリシーを学習させると、そのポリシーは学習内容をうまく吸収し、シミュレーション内の未知の環境にも適用できるようになるということがわかりました。これがこの研究の主要な成果です。私たちは一般的なベンチマークとも比較を行いましたが、そうしたベンチマークではこの相関がうまく成立しないこともわかりました。詳細については論文をご覧いただければと思います。
Sergey: さらにいくつかシミュレーションと実映像の比較例をお見せします。これはすでに評価の段階に入っているものですが、再構成が妥当であることが改めてわかりますし、シミュレーションと実環境のポリシー性能の間に良い相関が得られていることもわかります。これは非常に重要な意味を持ちます。なぜなら、これによってさまざまな基盤モデルをシミュレーション内で実行し、それらの相対的な性能を得ることができ、実環境において何が達成できそうかについての理解を得ることができるからです。
4. 物体再構成の高度化:RaC Gen
4.1 手法の概要と合成データ学習
Sergey: 先ほどPolarisの中で、再構成の段階についてもう少し詳しくお話ししたことを覚えていらっしゃると思います。特に、自動化が不十分だった部分、つまり物体再構成についてです。これは私たちが解決に取り組もうと決めた課題の一つでした。改めて整理しますと、Trellisはもともと単一視点のRGB専用の手法です。そのため複数のカメラを使用することができず、物体はデプスマップに対してレジストレーションする必要があり、メトリックスケールと姿勢を別途復元する必要がありました。私たちは内部でこの問題に取り組むことを決め、その結果生まれたのがReconstruction by Generation、通称RaC Genと呼んでいる研究です。これはTrellisの拡張と考えていただければと思います。
Sergey: Trellisは2つの段階で構成されていますが、私たちの手法も同様に2段階から成ります。第1段階は、RGBとデプス両方のビューを条件として与えられるトランスフォーマーです。このトランスフォーマーは、物体のスパースな幾何形状に加えて、カメラ座標系における物体の姿勢を出力します。第2段階では、テクスチャを含む高精細なメッシュを復元します。ここでもう一つ異なる点として、私たちはこの第2段階を、第1段階で回帰した姿勢に条件づけているという点があります。これは他の多くの手法では行われていない工夫です。
Sergey: この手法についてもう一つ興味深い点は、純粋に合成データのみで学習されているということです。Objaverseなど、スライドでご紹介したような公開データセットを利用しています。そして、雑然と配置された物体や部品を含む3Dシーンを、ランダムな配置、ランダムな照明、ランダムな背景とともに生成しています。もう一つ重要な工夫として、完璧なデプスだけを保存するのではなく、ステレオペアもレンダリングしているという点があります。これにより、学習済みのステレオモデルをこのデータの上でも実行できるようになり、実環境で使用しているものと同じモデルを用いてノイズを含んだデプスを復元することができます。これによって、ドメインギャップを最小化することができるのです。実環境でも同じモデルを使えるため、シミュレーションと実世界の差を縮めることに直接つながっています。
4.2 ベンチマーク比較とパーツ・対称性への対応
Sergey: 結果についてお話しします。ここでは最も近い手法であるSAM 3Dなど、いくつかのアルゴリズムと比較を行いました。表を細かく見ていただく必要はありませんが、いつも通りの結果と言いますか、私たちの手法がベースラインを上回っています。しかも、学習に使用したデータ量は他の手法よりもはるかに少なく、しかも合成データのみで学習しているにもかかわらず、この結果が得られているという点は注目に値します。
Sergey: もう一つ重要な点として、私たちはパーツ単位での学習も行っているということが挙げられます。これは、関節可動部品を復元したい場合に重要になります。多くのベースライン手法は、パーツを明示的に復元するように学習されていません。そのため、物体の一部分に対応するマスクを与えても、たいてい物体全体を再構成しようとしてしまいます。SAM 3Dの結果である表の最下段でこの現象が確認できます。一方、私たちの手法はこの点を明示的に学習しているため、うまく扱えることは驚くことではありません。物体の一部、例えば画面部分だけを選択して、それだけを再構成するといったことが可能です。
Sergey: 私が特に気に入っているもう一つの結果は、対称性の扱いに関するものです。先ほど、第2段階のトランスフォーマーを姿勢に条件づけているという点をお話ししましたが、多くの手法は2段階構成になっているものの、粗い形状を復元した後、外観を含むより高精細な表現を復元する第2段階は姿勢に条件づけられていないのが一般的です。ここに問題があります。物体が対称的である場合、幾何形状からの手がかりのみに頼ることになるため、テクスチャを正しく貼り付ける方法がわからなくなってしまうのです。姿勢に条件づけられていないために、このような事態が起こります。
Sergey: これは例えばSAM 3Dで実際に起こる現象で、箱やボトルのような対称的な物体の場合、テクスチャを正しい向きで推定できるかどうかは、ほぼ五分五分の賭けのような状態になってしまいます。正しく推定できることもありますが、姿勢に条件づけられていないため、これを適切に行う能力が本質的に備わっていないのです。私たちはこの問題を、姿勢への条件づけによって単純に解決しました。そして、人間による評価に基づくスタディや、その他の知覚指標においても、この点に関して大幅に優れた性能を示すことができました。
5. 多様なシミュレーション環境生成:SinSmith
5.1 エージェントシステムの仕組み
Sergey: 最後にご紹介する研究はSin Smithです。RaC Genによって、私たちは再構成をより効果的に行えるようになりました。しかし、もし多様なシミュレーション環境そのものを丸ごと生成し、それと相互作用できるようにしたい場合はどうすればよいのでしょうか。Sin Smithでは、テキストプロンプトを与えると、完全にシミュレーション対応の環境を生成するエージェントシステムを構築しました。画面にいくつか可視化した例をお見せしています。これは主に、私たちのインターンであるNickが手がけたもので、アニメーション周りも含めて素晴らしい仕事をしてくれました。
Sergey: おおまかな仕組みについてご説明します。シーンは階層的に構築されます。まずレイアウトから始まります。ここでは部屋の数、部屋同士のつながり、窓、壁の材質といった要素をカバーします。次に家具のステージに進み、部屋に家具を配置していきます。それから壁の段階に移り、壁や天井に取り付けられる物体を生成します。最後にマニピュランドの段階に進み、実際に相互作用させたい対象物体を配置していきます。最終的な出力段階では、フラットなシーン表現を出力し、それをIsaac SimやMuJoCoなど、好みのシミュレータに直接エクスポートできるようになっています。どのシミュレータでもサポートされています。
Sergey: もう少し掘り下げますと、各ステージはエージェントのループとして動作しています。デザイナーと呼ばれるエージェントが、アセットの生成、配置、移動といった構造化されたツールを使って変更を提案し、シーンを観察します。そして、クリティックと呼ばれる別のエージェントが、意味的な妥当性、物理的な実現可能性、そしてプロンプトとの整合性をチェックします。さらにオーケストレーターが、いわばマネージャーのような役割を担い、反復とロールバックを管理します。
Sergey: 実際のループの例をお見せします。まずテキストプロンプトから始まります。デザイナーがデザインを提案し、それをクリティックに渡します。クリティックは、たとえば「バスタブが大きすぎる」と指摘します。そして「配置の仕方がおかしく、バスタブの間を移動できない」といった問題点を挙げ、配置を変えるよう提案します。それが2枚目の画像に反映されています。その後、再びデザイナーに戻され、デザイナーが再設計を行い、クリティックに差し戻します。クリティックはさらに追加のフィードバックを与え、バスタブをもう少し密に配置するよう求めます。もう一つの例として椅子の配置があります。椅子がテーブルの方を向いていないという問題があり、クリティックは椅子の向きを適切に配置し直すよう指摘し、さらにカーペットを追加するという提案も行いました。
Sergey: こうした仕組みの興味深い点は、アセットの生成にも生成モデルが使われているということです。そのため、プロンプトに沿った、非常に多様な環境を生成することができ、生成される物体もプロンプトによく整合したものになります。マインクラフト風のスタイルなど、好みに応じたスタイルでシーンを生成することも可能です。かなり汎用性が高く、次にお見せするロボットの評価と学習にとって、非常に有用なものになっています。
5.2 比較結果とロボティクスへの応用
Sergey: 本題に入る前に、他のベースラインとの簡単な比較結果をご覧いただきたいと思います。私たちの結果は表の上部に示されています。ここでも同じような傾向が見られ、私たちの手法はより多くの物体を生成しているにもかかわらず、衝突が最も少なく、シミュレーション内でより安定しているという結果が得られています。これは望ましい特性です。さらに、ユーザースタディの結果でも、リアリズムとプロンプトへの忠実性の両方で高いスコアを得ています。
Sergey: 私が特に気に入っている結果の一つが、地震のシミュレーション例です。ここでは、生成されたシーンが実際にシミュレーション可能であるということを示しています。これはなかなか興味深い結果で、ウェブサイトではさらに多くの可視化例をご覧いただけます。
Sergey: そして最後に、ロボティクスに関連する結果についてお話しします。生成されたシーンを使って、それらの環境の中で直接テレオペレーションによるデータ収集を行うことができるということを示しています。そしてもちろん、これらの環境の中でモデルを学習させ、評価することもできます。ここで時間切れとなりましたので、共同研究者の皆さまに感謝を申し上げたいと思います。多くの大学と共同研究を行っているため、すべてのお名前をスライドに載せきれなかったのですが、これほど多くの素晴らしい方々と一緒に研究できたことを大変嬉しく思っています。最後のスライドには、これらすべての研究へのQRコードを載せておきますので、ぜひご覧ください。皆さま、本日はありがとうございました。
6. 質疑応答:今後の展望と技術的課題
6.1 物理的妥当性と外観再構成の課題
質問者1: 生成から再構成へという流れについて質問があります。生成したアセットを実際にシミュレートできることを、どのように保証しているのでしょうか。また、もしそれができていない場合、実際にシミュレート可能なアセットを生成するために、何が足りないと考えていますか。
Sergey: 良い質問をありがとうございます。正直なところ、現時点では、SAM 3Dと同様に、私たちも生成したアセットに対して物理的な検証は一切行っていません。ですので、多くの場合、Trellisの仕組み上、復元されるメッシュはウォータータイト(密閉された形状)にはなっているのですが、衝突についてのチェックは行っていません。さらに言えば、私たちはあくまでアセットそのものだけを再構成しており、床や壁といった表面については再構成していません。これはSin Smithで見ていただいたように、そちらでも再構成可能な部分ではあります。ですので、Sin Smithと組み合わせることができます。実は当時、Sin SmithではSAM 3Dを使用していましたので、それをRaC Genに置き換えることも可能です。そうすれば、Sin Smithでお見せしたように、物理的に妥当なシーンを生成できるようになります。
Sergey: 衝突をチェックするためのツール群については、Sin Smithの方によりくわしい説明があります。衝突メッシュを生成し、それをジオメトリと照合するといった、比較的単純なチェックをいくつも行っています。さらにシミュレーションを実際に走らせてみて、物体が飛び出したり大きく発散したりした場合には、そのシーンを破棄するといった対応も可能です。
質問者2: 物体の外観について質問があります。単一のテクスチャマップを挿入するだけなのか、それとも異なる材質特性を個別に扱っているのか教えてください。
Sergey: 基本的には、私たちはTrellisのデコーダーを再利用しており、ガウシアンスプラットによる再構成を行い、それを複数の視点からレンダリングすることで物体そのものに焼き込むという方法を取っています。現時点ではこれが実際に行われている方法です。Trellis 2はより発展的で、材質そのものも復元できるようになっています。理想を言えば、外観と高品質なメッシュの両方を、一つのネットワークが直接まとめて出力できるようになるのが望ましいと思います。ただ、私たち自身も実際にこれを試してみたのですが、そのようなネットワークを学習させ、妥当な潜在空間を得ることは、思ったほど簡単ではありませんでした。高周波な幾何形状と高周波なテクスチャという、性質の異なる複数の要素が絡み合っているためです。そのため、あまり容易ではないというのが実感で、それが理由で多くの研究者が、より学習しやすい分布を得られる2段階構成に分けて取り組んでいるのだと思います。
6.2 明示的モデリングと暗黙的モデルの今後
質問者3: 発表いただいた内容は、明示的な3次元のジオメトリを扱うものだったと思います。一方でロボット学習の文脈では、通常こうした明示的な形状の代わりに、暗黙的なモデルの方がうまく機能しているように見受けられます。今後、こうした明示的なシーン生成モデルは、あくまでデータ生成のための存在であり続けるのか、それとも、いずれはより暗黙的な予測モデルの実現を助けるようなものになっていくのか、そのあたりの見通しについて伺いたいです。
Sergey: ありがとうございます、なかなか本質を突いた質問だと思います。現時点では、先ほどのPolarisのセクションでもお話しした通り、私たちは主にシミュレーション用途としてこれを使っています。つまり、学習と評価の両方にとっての増幅装置として機能しているということです。学習の観点では、非常に多様な環境を生成することができ、Judgeさんもおっしゃっていた通り、シミュレーションの中では完全な制御が可能です。多様な環境を大量に生成すること自体は難しい部分もありますが、こうした研究群はある程度その課題をカバーしていると思います。
Sergey: 評価についても、先ほど申し上げた通り、まだ十分にはカバーされていない非常に重要な側面だと考えています。もう一つ、現在多くの研究者が積極的に探求している方向性として、動画モデルが挙げられます。動画モデルは、新規視点合成のデータで学習されていることが多いため、カメラを非常に効率的に動かすことができます。しかし、より高精度なロボットの動作やロボットのアクションといった観点になると、制御性が限定的になってしまいます。このようなデータをそのスケールで収集する方法を想像するのは、私にとってはなかなか難しいところです。
Sergey: その点、シミュレーションであれば、分布全体を非常に容易にカバーすることができます。ですので、シミュレーションにはまだ活躍の余地があると考えています。少なくとも学習と評価という観点では、まだ十分に活用しきれていないというのが正直なところです。もちろん動画モデルも非常に有望な方向性ではあると思いますが、環境の明示的なモデリングと、制御という観点を欠いたままでは、まだそこまでは到達していないというのが私の考えです。うまくご質問にお答えできているかわかりませんが、以上になります。
質問者3: ありがとうございます、まさにおっしゃっていただいた通りの点が気になっていました。
Sergey: ありがとうございました。
司会: それでは皆さん、本日はありがとうございました。