↓ ↑ページトップへ
表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
バード・フル(H5N1)  作者: 弥一


この作品ページにはなろうチアーズプログラム参加に伴う広告が設置されています。詳細はこちら

23/33

ソフトなディクショナリ

誤字を指摘していただき、ありがとうございます。たいへん助かります。

ChatGPTさんに校正を依頼しているのですが、どうしても漏れがでてきます。

「Q, K, V ってあまり見かけない組み合わせね。どういう意味」


「Query、Key、Valueです。ここから、Self-Attentionが『ソフトな辞書』のように捉えられる理由を説明します。このQ、K、Vという表記は、最初のTransformer論文にも登場します」


挿絵(By みてみん)


「クエリ、キー、バリューって、辞書なんかの」


「そうです」


「データベースにも『キーバリュー型データベース』というのがあるな」マルコが言う


「ありますね。一番有名なのはWindowsのレジストリです」


「実際、"Attention Is All You Need"論文の筆者たちが、最初から『ソフトな辞書』を目指していたかどうか、論文だけからは断定できません。彼らの論文には dictionary という単語は書かれていませんから」アレックスが言う。




「いままで、内積でベクトルの向きを測って、似た向きのものを強調する。つまりそこに注意(アテンション)する、としていたのよね」


「そうです。QueryとKeyの適合度から取り出す情報の重みを決めるという点で、辞書検索に似ています。ただし、普通の辞書のように一つの項目を選ぶのではなく、複数の情報を重み付きで組み合わせるのです]


「まずコンピュータなどで使われる本来の辞書について説明します」


「先ほど『たしざん』のプログラムを作ったプログラミング言語をPythonといいます。Pythonにも辞書形式のデータというものがあります。例えばこんな感じです」


>>> dic = {'吾': 100, '輩': 200, 'は': 5, '猫':1234, 'で': 11, 'ある':20 }


「この辞書を使用するには、このようにします」


>>> dic['猫']

1234


「これが Python における辞書です」


「まあ、普通ね」


「つぎにこの辞書に'犬'を探させてみます」


>>> dic['犬']

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

KeyError: '犬'


「エラーになりました。指定されたキーが登録されていないことを示す KeyError が発生したのです」


「当然ね、辞書は'犬'を知らないんだから」


「そうです。このような辞書を仮に『ハードなディクショナリ』といいます」


「そこで『ソフトなディクショナリ』が出てくるのね」


「はい、仮に『ソフトなディクショナリ』というものがあるとします、そこに先ほどと同じようなデータを入れておきます」


>>> softdic = {'吾': 100, '輩': 200, 'は': 5, '猫':1234, 'で': 11, 'ある':20 }


「そして、'犬'を検索してみましょう」


>>> softdic['犬']


「どんなものが出てくると思いますか」


「見当もつかないわね。辞書は '犬' を知らないんだから」


「このように出てきて欲しいのです」


>>> softdic['犬']


'猫っぽい生き物'



 アレックスの説明に、他の三人が笑う。


「それは、とても便利ね」とエレナが言った。


「まあ、softdicに今入れたものだけでは、出てこないだろうが、GPTが充分に学習したら、出て来るかもな」これはマルコだ。


 ミアは笑い転げていて、話すことが出来ない。


「もちろん、これは実際のPythonの辞書ではありません。登録されていないキーでも、意味の近い情報を手掛かりに、それらしい答えを返す仕組みを考えてみましょう」アレックスが続ける。


「実は、『吾輩は猫である』は日本の夏目漱石という作家が書いた小説のタイトルです。その中には以下ような描写があります。小説の全文をGPTに学習させてあるとします」


 白君は先日玉のような子猫を四疋産まれたのである。


 吾輩は波斯(ペルシャ)産の猫のごとく黄を含める淡灰色に漆のごとき斑入の皮膚を有している。


「あら猫が御雑煮(おぞうに)を食べて踊(おどり)を踊(おど)っている」


 猫だって笑わないとは限らない。


 どうです奥さんこの猫は鼠を捕りますかね


 猫の足はあれども無きがごとし、どこを歩いても不器用(ぶきよう)な音のした試(ため)しがない。


 しかし猫の悲しさは力ずくでは到底人間には叶(かな)わない。


「このような文章を大量に学習させると、GPTは、『猫』という語彙に対して、このように知識を獲得します」


『すなわち、猫とは、足があり、子供を産み、斑(ふ)入りの皮膚を持っていて、踊り、笑い、ネズミを捕るものだ。

 加えて足音がせず、人間には力でかなわない生き物でもある』


「そういったものが、8192個の実数として学習されるわけだな」


「そうです、加えて仮に『犬』という語、そのものについてはほとんど学習させずに、秋田犬は四つ足であるとか、柴犬は茶色の毛皮を持つとか、そんな文章を学習をさせます」


そうすると、バックプロパゲーション時に、Attentionを通じて得られた関連性に関する学習信号がEmbeddingへ伝わります」


「そして、埋め込み行列のベクトル空間では、『猫』と『犬』の語彙ベクトルが似た方向をしめすようになります」


「で、先ほどのような回答がでてくるのです」


「『猫っぽい生き物』ね」そういってミアがもう一度笑い転げた。



評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。