ディープラーニング A to Z · 3-8

アテンションとトランスフォーマー — 記憶する代わりに、もう一度探す

3-7の系列モデルは、それまでのすべてを1つの隠れ状態に詰め込み、1マスずつ進んだ。アテンションは発想を変える。必要になるたびに前のすべての位置をもう一度見直し、関係のある位置により多くの注意を向ける。クエリ(Q)・キー(K)・バリュー(V)の数字を手で追い、この部品を積み重ねたトランスフォーマーが今日の言語モデルの骨格になった理由と、そのコストまでを見る。

2015翻訳にアテンションを加えた論文 [R1]
2017トランスフォーマーの発表 [R2]
√dkスコアを割る数:ソフトマックスが一方に偏らないように
8 × 64原論文のヘッド数 × ヘッド幅(= 512) [R2]
n²長さnのときの注意スコアの個数
2本Colabですぐ動かせるコード
1残った問題

系列モデルに残った2つの問題 — ボトルネックと順番待ち

エンコーダ–デコーダRNNは文全体を固定長のベクトル1つに詰め込み、位置を1つずつ順番に処理する。文が長くなると、2つのことが問題になる。

文の長さ

初心者のための解説

ボトルネック:エンコーダ–デコーダ型の翻訳モデルは、原文を固定長のベクトル1つに縮めてから、そこから訳文を作る。Bahdanauらはこの固定長ベクトルが性能のボトルネックだと考え、訳文の単語を作るたびに原文の関係のある部分を自ら探させる方法を提案した [R1]。これがアテンションである。順番待ち:RNNはhtがわからないとht+1を計算できないため、各位置を同時に計算できない。トランスフォーマーは再帰をまったく使わず、アテンションだけですべての位置を一度に計算し、学習を大幅に速くした [R2]。

2アテンション

アテンションのアイデア — 単語を作るたびに原文を見直す

韓国語の「초파리가 사과를 먹었다」(ハエがリンゴを食べた)を「The fly ate the apple」に訳す。英語の単語を1つ作るたびに、韓国語の単語に注意を振り分ける。線が太いほど注意が大きい。

作る単語

初心者のための解説

韓国語は「초파리가(ハエが)· 사과를(リンゴを)· 먹었다(食べた)」、英語は「The fly · ate · the apple」の順である。動詞の位置が違う。そのため「ate」を作るときは、末尾の「먹었다」を大きく見る必要がある。この図の注意の値は説明のために決めた数字である。実際の翻訳モデルはこうした対応を学習によって自ら見つけ、Bahdanauらは学習された注意が人間の直感とよく合うと報告した [R1]。注意はすべて0〜1で、合計は1である(ソフトマックス)。

3Q·K·V

Q·K·Vの数値例 — 図書館で本を探す

アテンション(Q, K, V) = softmax(Q·Kᵀ / √dk) · VVaswaniら, 2017

質問(Q)
記号図書館ではニューラルネットワークでは
Q クエリ探しているものを書いたメモ今の位置が「何を必要としているか」を表すベクトル。入力 × WQ
K キー本ごとに付いた索引カード各位置が「自分はこういう情報だ」を表すベクトル。入力 × WK
V バリュー本の実際の内容各位置が実際に渡す情報。入力 × WV
Q·Kメモとカードがどれだけ合うか2つのベクトルの内積。向きが似ているほど大きい
÷ √dk—ベクトルが長くなるほど内積が大きくなり、ソフトマックスが1つの位置だけに偏るのを防ぐ [R2]
softmax読む時間を本ごとに配分するスコアを合計1の注意に変える
× V読んだ時間に応じて内容を混ぜてまとめる注意を重みとしてバリューを足し合わせる。これが出力である
4セルフアテンション

セルフアテンション — 文が自分自身を探す

セクション3では質問と本が別々だった。セルフアテンションでは、文のすべての単語がクエリであり、キーであり、バリューでもある。単語ごとに、他のすべての単語へ注意を振り分ける。

クエリの単語

この例の数字はどこから来たのか

単語ベクトルは[動物, 食べ物, 動作, 指示語]の4マスで手で決めた。クエリ変換WQは「指示語は食べ物を探し、動作は動物を探す」となるように決めた。キー・バリューの変換はそのままにしておく。実際のトランスフォーマーは単語ベクトルもWQ·WK·WVもすべて学習で決め、幅も数百マスある。計算式はこの例とまったく同じである。コード1が同じ数字を出す。

5マルチヘッド

マルチヘッド — 複数の関係を同時に見る

1つの文には関係が何重にもある。「誰が食べたか」と「何を食べたか」は別の質問である。ヘッドごとに異なるWQ·WK·WVを使って別の関係を見て、結果をつなぎ合わせる。

クエリの単語
モデル幅(パラメータ計算)
6位置情報

位置情報 — アテンションは順序を知らない

アテンションはすべての位置を一度に比較する。そのため単語の順序を入れ替えても、各単語の結果はまったく同じになる。順序を伝えるには、位置ごとに異なる「位置エンコーディング」を単語ベクトルに足す。

位置エンコーディング
文の順序

サイン・コサイン位置エンコーディング

原論文は位置posの偶数番目のマスにsin(pos / 100002i/d)、奇数番目のマスにcos(…)を入れた [R2]。前のほうのマスは速く、後ろのほうのマスはゆっくり波打つので、位置ごとに異なる模様ができる。時計の秒針・分針・時針を合わせて見ると時刻が1つに決まるのと同じである。位置エンコーディングを学習で決める方法も広く使われている。コード2の小さなトランスフォーマーは、学習する位置埋め込みを使った。

7ブロック

ブロックの組み立て — アテンション + フィードフォワード、そして近道

トランスフォーマーのブロック1つは、マルチヘッドアテンションとフィードフォワードネットワーク(3-2のMLP)でできている。それぞれに入力をそのまま足す近道(残差接続)と正規化を付け、このブロックを何層も積み重ねる。

ブロックの大きさ
8エンコーダ・デコーダ

エンコーダ・デコーダとGPT型 — 何を見えるようにするか

同じブロックでも「どの位置がどの位置を見られるか」(マスク)を変えると、用途が変わる。

構造
9基盤と限界

今日の基盤になった理由と限界

トランスフォーマーが広く使われるようになった理由は3つにまとめられる。それに見合うコストもある。最大のコストは、長さの2乗で増える注意の計算である。

長さ n
基盤になった理由
  • 一度に計算:再帰がなく、すべての位置を同時に計算するので、同じ時間ではるかに多くのデータで学習できる [R2]。
  • 遠い位置を直接つなぐ:最初の位置と最後の位置がアテンション1回でつながる。RNNのように位置の数だけ経由しながらぼやけていくことがない。コード2で3-7の課題を使って直接確かめる(セクション9の下)。
  • 同じブロックを大きく:ブロックを何層も積み、幅を広げるやり方で規模を大きくしやすい。エンコーダのみのBERT [R4]、デコーダのみのGPT-3(パラメータ1,750億個) [R5]がこのブロックを積み重ねた。
限界とコスト
  • 長さの2乗:長さnなら注意スコアはn²個になる。文が2倍長くなると、注意の計算とメモリは約4倍になる。そのため一度に扱える長さには上限があり、これを減らす研究が続いている。
  • データと計算:順序や近傍関係についての仮定(CNNの局所性、RNNの逐次性)が弱い分、それをデータから学ばなければならない。小さなデータではRNN・CNNのほうが良いこともある。
  • 学習範囲外の長さ:学習時よりはるかに長い入力では、位置エンコーディングが見慣れないものになり、性能が落ちることがある。
  • 注意 = 説明ではない:注意の図は「どこを見て計算したか」を示すだけで、その判断が正しい理由を保証しない。

コード2の実験 — 3-7でLSTMが失敗した課題をトランスフォーマーで

3-7のコード2と同じ課題(すべての位置が±1、正解は最初の位置)と同じ学習設定(Adam 0.005、30エポック、学習2,000個・テスト1,000個、シード2個)。トランスフォーマーはセルフアテンションブロック1つ(幅16、ヘッド2個)と、学習する位置埋め込みを使った。「最初の位置への注意」は、すべての位置が最初の位置に向けた注意の平均である。

このシリーズの範囲

この回はトランスフォーマーの構造までを扱う。その構造で文章や画像を生み出す生成モデル(大規模言語モデルの事前学習、指示追従学習、拡散モデルなど)は、このシリーズの範囲外である。次の回(3-4 音声、3-6 時系列・株価、3-5 テキスト)は、データを数字に変える過程に集中する。

Colabコード — このページを自分で実行してみる

どちらのコードも、Colabに標準でインストールされているライブラリだけを使う。「ノートブック(.ipynb)をダウンロード」したあと、Colabでファイル → ノートブックをアップロードで開くか、コピーして新しいノートブックのセルに貼り付ける。

コード1 · アテンションをNumPyで手計算するセクション3〜6と連動 · numpy, matplotlib · CPU 1秒未満

図書館の例、5単語のセルフアテンション、2つのヘッド、順序の入れ替えと位置エンコーディングを同じ数字で計算する。自分のデータに置き換えるには、BOOK_K·BOOK_V·QUERIESまたは単語ベクトルXを変える。

実行結果(2026-10-03実行、numpy 2.4 · matplotlib 3.10 · CPU)。計算に乱数がないので、いつ実行しても同じだ。
コード2 · Kerasで小さなトランスフォーマー対LSTM — 3-7の「最初の信号を覚える」セクション9と連動 · tensorflow(Keras), numpy, matplotlib · CPU 約8分

3-7でLSTMが長い系列で失敗した課題を、セルフアテンションブロック1つだけのトランスフォーマーで解き直す。学習したトランスフォーマーが、正解のある最初の位置にどれだけ注意を向けるかも測る。セクション9の下の表は、この出力からそのまま作られる。

実行結果(2026-10-03 実行、TensorFlow 2.21 · Keras 3.15 · CPU)。シード・バージョン・ハードウェアによって数字が変わることがある。

AI応用プロンプト — このコードを出発点にする

ChatGPT、Qwen、ClaudeのようなAIアシスタントに貼り付けるプロンプトである。「コピー」を押すと、プロンプトのあとに選んだコードが一緒に付く。〔 〕の中を自分の状況に書き換えて使えばよい。

一緒に付けるコード

AIの答えは出発点にすぎない。提案された論文・数値・ライブラリ関数は、必ず原文と公式ドキュメントで確認する。コンテストや論文でAIの助けを借りた場合は、主催者や学術誌の規定に従って、使用した事実と範囲を明らかにする。

用語集

本文の黄色い点線の下線と同じ辞書である。シリーズ全体で同じ表記を使う。セクション名を押すと最初に出てきた場所へ移動する。

たとえ集 — そしてたとえが外れるところ

たとえは理解の第一歩だが、誤解の種にもなる。ショウジョウバエ・脳のたとえには強さを示した。直接 実際に同じことをしているという根拠がある · 部分 一部の性質だけが似ている · なし 対応するものが知られていない

概念日常のたとえショウジョウバエ・脳のたとえたとえが外れるところ
アテンション試験勉強のとき、重要なところに蛍光ペンを引く部分的 人間の選択的注意(騒がしい場所で1つの声に集中する)脳の注意は感覚・意図・疲労などが絡み合った現象である。モデルのアテンションは、内積とソフトマックスで決めた加重平均にすぎない
Q·K·V図書館の質問メモ・索引カード・本の内容なし図書館では本を1冊選んでくるが、アテンションはすべての本を割合に応じて混ぜる
ソフトマックス注意読む時間を本ごとに配分するなし時間はどう分けても使い切るが、注意0.01の位置も計算は漏れなく行う(だからn²かかる)
マルチヘッド同じ文書を複数の編集者が別の観点で読むなしヘッドの「観点」は人が決めるものではない。学習後に解釈してみると、はっきりした役割が見えないヘッドも多い
位置エンコーディング時計の秒針・分針・時針を合わせて見ると時刻が決まるなし時計は1日たてば元に戻るが、位置エンコーディングは学習した長さの範囲内でしか慣れていない
残差接続直した原稿の横に、元の原稿をいつも一緒に貼っておくなし元の原稿を「そのまま足す」点が核心である。直した量が小さければ、元の原稿がほぼそのまま次の層へ行く
マスク(GPT型)解答用紙を隠し、前の問題だけを見て次の問題を解くなし学習時はすべての位置を一度に計算する。隠すのは「見られる範囲」だけである

著者紹介と参考文献

E-1 著者紹介 · E-2 学術参考文献 · E-3 図の参考資料

E-1 著者紹介

Sangsun Ahn(株式会社M-Robo代表)

韓国電気安全公社、毎日経済新聞を経て、現在は毎日経済の社外ベンチャーである株式会社M-Roboを創業し、代表を務めている。株式会社M-Roboは報道機関の社内ベンチャーとして始まったメディアベンチャーで、国民日報にロボット記者(ストックボット)をサービスし、韓国インターネット振興院、韓国言論振興財団、韓国放送通信電波振興院などで多数のプロジェクトを手がけた。その後、自社のAIニュース新聞であるMoney-Roboをサービスしている。代表在任中にアジア・オープンデータ・ハッカソンで優勝し、データ起業分野での功績により行政安全部長官賞を2回受賞した。また、人工知能およびブロックチェーン分野で5件の特許の発明者・登録者である。著書に『AI犯罪と自己防衛』があり、フィンテック分野、統計学、人工知能分野について韓国技術教育大学校オンライン生涯教育院のeラーニングコンテンツを開発した。最終学位は経済学博士(東国大学校、ミクロ数理経済学)。国民大学校、湖西大学校など複数の大学でデータおよび人工知能に関する科目を講義している。詳しいプロフィール

講義

  • Sangsun Ahn (2025). 『ビジネスのためのデータサイエンス』講義案. 韓国オープンサイバー大学 人工知能融合学科.
  • Sangsun Ahn (2025). [K-デジタル] 人工知能 自然言語処理. STEP(スマート職業訓練プラットフォーム), 韓国技術教育大学校オンライン生涯教育院.
  • Sangsun Ahn (2024). [K-デジタル] フィンテックデータ分析の基礎. STEP(スマート職業訓練プラットフォーム), 韓国技術教育大学校オンライン生涯教育院.

STEPの講義へのリンク:link.step.or.kr/1qyVoJ · link.step.or.kr/M9na9N · link.step.or.kr/brqEyc
サイトのリニューアルにより接続しにくい場合は、www.step.or.krからアクセスしてください。

論文と発表

  • Sangsun Ahn (2025). 国民老後保障パネルデータを活用した世帯支出予測モデルの研究:人工知能モデルに基づくアプローチ. 『未来社会』, 16(2). 原文
  • Sangsun Ahn (2025). 国民老後保障パネルデータを活用した世帯支出予測モデルの研究:人工知能によるアプローチ. 国民老後保障パネル学術大会 発表資料(2025.05.13), 国民年金公団 国民年金研究院. 発表資料
  • Sangsun Ahn (2025). SNSテキストに基づく麻薬疑い取引検出アルゴリズムに関する研究:パターンおよび文脈分析を中心に. 『未来社会』, 16(1). 原文
  • Sangsun Ahn (2024). 金融分野の異常検知モデルのセキュリティのための統計ベースの敵対的データ対応策:実証分析とシミュレーション結果. 『未来社会』, 15(3). 原文
  • Sangsun Ahn (2024). 人工知能を活用した仮想キャラクターの特性に基づくSNS投稿検出ソリューション. 2024 Summer Newmedia Party ポスター発表(2024.06.19), ソウルメディア大学院大学.
  • Sangsun Ahn (2024). 労災パネルデータを活用した機械学習モデル. 第10回 労災保険パネル学術大会 ポスター発表(2024.05.17), 勤労福祉公団 勤労福祉研究院.
  • Sangsun Ahn (2024). 暗号資産の時系列データの分析と予測:時系列モデルと人工知能モデルの比較、改善点の提示. 『未来社会』, 15(1). 原文

E-2 学術参考文献

  1. [R1] Bahdanau, D., Cho, K., & Bengio, Y. (2015). Neural machine translation by jointly learning to align and translate. ICLR 2015. arXiv:1409.0473 — ヒーロー、セクション1・2
  2. [R2] Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, Ł., & Polosukhin, I. (2017). Attention is all you need. Advances in Neural Information Processing Systems 30. arXiv:1706.03762 — ヒーロー、セクション1・3・5・6・7・8・9(d_model 512、8ヘッド × 64、d_ff 2048、√d_kでの除算、サイン・コサイン位置エンコーディング)
  3. [R3] Cho, K., van Merriënboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., & Bengio, Y. (2014). Learning phrase representations using RNN encoder–decoder for statistical machine translation. EMNLP 2014, 1724–1734. doi:10.3115/v1/D14-1179 — セクション1(エンコーダ–デコーダRNN)
  4. [R4] Devlin, J., Chang, M.-W., Lee, K., & Toutanova, K. (2019). BERT: Pre-training of deep bidirectional transformers for language understanding. NAACL 2019, 4171–4186. doi:10.18653/v1/N19-1423 — セクション8・9
  5. [R5] Brown, T. B., Mann, B., Ryder, N., … Amodei, D. (2020). Language models are few-shot learners. Advances in Neural Information Processing Systems 33. arXiv:2005.14165 — セクション8・9(GPT-3、パラメータ1,750億個)
  6. [R6] Hochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural Computation, 9(8), 1735–1780. doi:10.1162/neco.1997.9.8.1735 — セクション9の比較実験

E-3 図の参考資料

  • セクション2の翻訳の注意の値は、説明のために決めた数字である(学習された値ではない)
  • セクション7のブロック構造は[R2]の図1(エンコーダ側)に従う

教育者向けTIP

講師、実務OJT担当者、チューターのための運営ガイドである。時間は目安なので、実際の授業に合わせて調整する。

対象3-7を終えた大学生・社会人。言語モデルが「どんな部品でできているか」を知りたい実務者
前提知識ベクトルの内積(同じ位置どうしを掛けて足す)、3-2のソフトマックスとMLP、3-7のエンコーダ–デコーダ
学習目標① アテンションの式softmax(QKᵀ/√d_k)Vを数字で計算する ② セルフアテンション・マルチヘッド・位置エンコーディングがそれぞれなぜ必要かを説明する ③ トランスフォーマーが基盤になった理由とn²のコストをあわせて説明する
所要時間の目安読む45〜55分 · アニメーション実演25分 · Colab実習30分(コード1 10分、コード2 実行8分 + 解釈12分)

三つの運営案

講義形式 50分

概念中心

導入5分(セクション1 ボトルネック)→ セクション2・3 図書館15分 → セクション4・5 10分 → セクション6 順序の入れ替え10分 → セクション9 n²とコード2の結果5分 → 確認問題5分。

実務OJT 90分

業務への適用中心

セクション1・3 15分 → セクション8 3つの構造を業務事例(分類・要約・翻訳)に結びつける20分 → セクション9 コスト計算(自社の文書の長さで)15分 → コード2の実行・解釈25分 → プロンプトカード15分。

1対1のチュータリング

レベル別の進度

入門者はセクション1・2・3・9のみ。中級者にはセクション3の結果ベクトルを手で計算させてからコード1と照合させ、セクション7の4d² + 4dを自分で導出させる。

セクション別の運営ポイント

セクション立ち止まって投げかける質問操作のコツ
1 残った問題「40単語の文を8マスのベクトルに詰めると、1単語あたり何マスになるか?」5 → 40単語に変えて数字の変化を見る
2 アテンション「ateを作るとき、なぜ末尾の単語を見るのか?」「ate」ボタンで止める
3 Q·K·V「注意が一番大きい本だけを持ってくればよいのでは?」「両方知りたい」で結果が[5.5, 5.5]に混ざるのを見る
4 セルフアテンション「『それは』は何を指すのか? モデルはどうやってわかったのか?」それは → 甘かった の順に押して、手で決めた規則の限界も見る
5 マルチヘッド「ヘッドを8個に増やすと、パラメータは8倍になるか?」モデル幅512でパラメータの数を確認する
6 位置情報「順序を入れ替えても結果が同じなら、何が問題か?」位置エンコーディングなし → 入れ替えた順序 → 足す の順に押す
7 ブロック「ブロックのパラメータの大半はアテンションか、フィードフォワードか?」基本形で「フィードフォワードの割合」を読む
8 エンコーダ・デコーダ「GPT型はなぜ未来の位置を隠さなければならないのか?」デコーダのみを押して、マスクの×のマスを指し示す
9 基盤と限界「文書の長さが2倍になると、注意の計算は何倍になるか?」4,096 → 32,768に変えてメモリを比較し、下の実験表へ進む

よくある誤解 Top 5

誤解正しい説明見せる場面
アテンションは最も重要な単語を1つ選ぶすべての単語を割合に応じて混ぜる。注意が小さい単語も結果に入るセクション3「両方知りたい」
トランスフォーマーは順序をひとりでに知っている位置エンコーディングがなければ、順序を入れ替えても結果は同じであるセクション6
ヘッドごとに人が役割を決めてやる役割は学習によって生まれる。このページの2つのヘッドは説明のために手で決めたセクション5とその下の説明
トランスフォーマーはRNNよりあらゆる面で優れている遠い位置のつながりと並列計算に強いが、長さの2乗のコストがかかり、小さなデータでは不利なことがあるセクション9
注意の図はモデルが判断した理由であるどこを見て計算したかにすぎず、判断が正しい理由を保証しないセクション4の「甘かった」

確認問題(解説は押して展開)

Q1. q = [2, 0.4]、k = [2, 0]、d_k = 2のとき、スコアq·k / √d_kは?

q·k = 2×2 + 0.4×0 = 4。4 / √2 ≈ 2.828。セクション3の本Aのスコアと同じである。

Q2. スコアが[1.98, 1.98, 2.772]のとき、ソフトマックスの注意と、バリューV = [10,0], [0,10], [6,6]を混ぜた結果は?

注意 ≈ [0.238, 0.238, 0.525]。結果 = 0.238×[10,0] + 0.238×[0,10] + 0.525×[6,6] ≈ [5.53, 5.53]。コード1の出力は[5.525, 5.525]である。

Q3. 位置エンコーディングなしでセルフアテンションだけを使うと、単語の順序を入れ替えたとき、各単語の出力はどうなるか? なぜか?

まったく同じになる。各単語の出力は「他のすべての単語との比較」だけで決まり、比較対象の集合は順序に関係なく同じだからである。コード1では差は1e-16(計算誤差のレベル)だった。

Q4. モデル幅d = 512のマルチヘッドアテンション層のパラメータ数は? ヘッドを8個から16個に変えると?

W_Q·W_K·W_V·W_Oの4つがそれぞれ512 × 512、バイアスが512個ずつ:4 × 262,144 + 4 × 512 = 1,050,624個。ヘッド数を変えてもヘッド幅が小さくなるだけで、行列の大きさは同じなので変わらない。

Q5. 文書の長さが4,096から8,192に増えると、注意スコアの個数は何倍になるか?

4倍。(2n)² = 4n²。4,096² = 16,777,216個から8,192² = 67,108,864個になる。

Colab課題

基本

コード1で√d_kで割らないと、図書館の例の注意がどう変わるかを計算する。ベクトルを10倍に大きくしたとき、割り算の効果がどう大きくなるかを2文で説明する。

挑戦

コード2でトランスフォーマーの位置埋め込み(AddPosition)を外して学習し直す。結果と「最初の位置への注意」がどう変わるかをシード3個以上で報告し、セクション6と結びつけて理由を書く。

難易度の調整とさらに学ぶ

入門者セクション5・7は飛ばしても流れは途切れない。セクション3の図書館の例1つだけを確実に手で計算してみる
発展セクション9のn²のコストを減らす方法(区間に分けて見る、低次元近似など)を調べて発表させる。調べた論文は原文で確認する
さらに学ぶSangsun Ahn『ビジネスのためのデータサイエンス』講義案(データサイエンス全般) · STEP [K-デジタル] 人工知能 自然言語処理(3-5・3-8と連動) · STEP [K-デジタル] フィンテックデータ分析の基礎(3-6と連動)
講師用資料確認問題の採点基準と課題の解答例は教育者用解答ページ(3-8)で見られる

お疲れさまでした!

「3-8 アテンションとトランスフォーマー」の回を最後まで読みました。研究室のメンバーがひとことずつまとめます。

博士
博士記憶する代わりにもう一度探す方法で、シリーズを締めくくりました。
  • アテンションは必要になるたびに、前のすべての位置をもう一度探します
  • Q·K·Vは質問、索引カード、本の内容
  • 長さが2倍になると、注意の計算は4倍になります
助手
助手トランスフォーマーは最初の位置にまっすぐたどり着きました!
ハエ研究員
ハエ研究員完走おめでとう! 最初の画面からまた選んでみてね。