投稿

10/29 マルレク講演ビデオビデオ公開

イメージ
  【 10/29 マルレク 「エンタングルする自然 ver 2.0 」講演ビデオ公開しました   】 MaruLaboでは、以前に行ったセミナーの動画を定期的に公開しています。 今回は、昨年の10月29日に開催した、 マルレク 「エンタングルする自然 ver 2.0」の講演ビデオの公開です。 2022年のノーベル物理学賞は、アラン・アスペ、ジョン・クラウザー、アントン・ツァイリンガーの三人に与えられました。三人は、いずれも「エンタングルメント=量子もつれ」にかかわる実証的な実験の分野で大きな仕事をしてきた人たちです。 三人のノーベル賞受賞をきっかけに、量子の世界の不思議な現象である「量子エンタングルメント」に対する関心が高まることを期待しています。 エンタングルメントは、現代では量子の世界ひいては自然のもっとも基本的な現象だと考えられています。今回のセミナーでは、「エンタングルする自然」という新しい自然観の成立を、一つのドラマとして紹介したものです。 講演資料(ロング・バージョン)は、ところどころ細かい計算が入っていますが、セミナーでの講演自体では、それらは省かれています(講演資料ショート・バージョン)。 細かなことは置いといても、「逆理から原理」という、このドラマのあらすじを追いかけてもらえればと思います。 このドラマの主人公である John Bell は、20世紀最大の物理学者の一人だと思うのですが、ノーベル賞を貰うことなく突然の病で亡くなります。 ビデオに収録した「Bellの定理のブルース」はBell自身が制作にコミットしたものです。彼はきっと面白い人だったことがわかるような気がします。ここだけでも、聞いてくださいね。 ------------------------- 10/29 マルレク 「エンタングルする自然 -- 逆理から原理へ ver 2.0 」の講演ビデオの再生リストの URL です。 https://youtube.com/playlist?list=PLQIrJ0f9gMcOANd2Hfx7h0Pa5mDTglhby この再生リストは、次の四つのビデオを含んでいます。 ● はじめに + Part 1 「エンタングルメントの発見」 https://youtu.be/MhlljMtFPqI?list=PLQIrJ0f9gMcO

キリ番

イメージ
 【 キリ番 】 丸山のYouTube チャンネル "Maruyama Lectures"のチャンネル登録者が、今日で 1,500名になりました。https://youtube.com/@MaruyamaLectures 多いとは言えないのでしょうが、小難しい話に付き合ってくれた皆様に感謝です。 最近、MaruLaboのサイト「マルレク+MaruLabo」にも、少しずつアクセスが増えているようです。https://www.marulabo.net/ 先日、サイトに「今月アクセスの多いページ」というページを作ってみたのですが、以前に公開したページへのアクセスが多いことに気づきました。公開した資料が意外と長く参照されていることがわかって嬉しかったです。https://www.marulabo.net/docs/popular/ 今週末の1月28日には、マルレク「AIは意味をどのように扱っているのか? -- ChatGPT の不思議」を予定しています。興味ある方、ぜひ、いらしてください。https://chatgpt2.peatix.com/

インターリンガ -- 言語をまたぐ「意味の共通表現」の発見

イメージ
【 インターリンガ --  言語をまたぐ「意味の共通表現」の発見 】 今回のセッションでは、現在の大規模言語モデル成立の画期となった「Googleニューラル機械翻訳」(以下、GNMTと略記します)を取り上げます。このシステムは、以前の翻訳システムにはないいくつかの特徴を備えています。まず、それを見ていきましょう。  【 多言語翻訳を単一モデルで 】 GNMT以前の機械翻訳システムは、基本的には特定の二つの言語間の翻訳のために作られたものでした。このスタイルだと、n個の言語の組み合わせで翻訳システムを作ろうとすれば、n(n-1)個の翻訳システムが必要になります。 GNMTは、アーキテクチャを大幅に変更することなく、単一のモデルを使用して複数言語のペアを処理するための十分に単純で効率的な方法を提供します。 その上、まず、多言語モデルは、単一言語ペアのモデルよりハンディがあるにもかかわらず、多対1のモデルは、単一モデルより翻訳の精度が向上することが示されたのです。  【 「ゼロショット翻訳」が可能 】 「ゼロショット翻訳」というのは、明示的な訓練データがない言語ペアの間でも翻訳が可能だということです。 例えば、「ポルトガル語から英語へ翻訳」「英語からスペイン語へ翻訳」で訓練されたGNMTは、明示的な訓練データと訓練がないにもかかわらず、「スペイン語からポルトガル語」の翻訳が可能となります。 また、「英語からポルトガル語への翻訳」「英語からスペイン語への翻訳」で訓練されたGNMTも、同様に、「スペイン語からポルトガル語」の翻訳が可能となります。 不思議です。 GNMTを複数の言語にまたがってトレーニングすることで、個々の言語レベルでのパフォーマンスが向上し、ゼロ・ショット翻訳も有効になることがわかるということが、この論文の結論なのですが、それは何を意味しているのでしょうか? 一つの考え方は、言語にかかわらず、GNMTは、同じ意味を持つ文をが同じような方法で表現される何らかの共有表現を学習していると考えることです。論文は、こうした考えを支持する証拠を発見したといいます。これは、とても興味深いことなので、少し詳しく見てみましょう。  【「文の意味の共通表現」の存在の発見 】 以前のIlyaたちの翻訳モデルでは、Encoderの最後の出力である「固定長ベクトル」が「文の意味の表現

「文の意味の固定ベクトル」はどこに?

イメージ
【 「文の意味の固定ベクトル」はどこに? 】 前回見た Ilyaたちの翻訳にRNNを利用しようというアイデアは、一定の成功を収めるのですが、彼らの実装の問題点が指摘されます。 Ilyaたちのアプローチでは、どんな長さの文でもその意味は固定長のベクトルで表現されることになるのですが、Bengioのグループは、それはおかしいのではと異論を唱えます。 Bengioの「次元の呪い」というのは、語の数と文の数とは決定的に異なるという指摘でしたので、「語の意味」を表現するベクトルの次元と、「文の意味」を表現するベクトルの次元が同じだというのは変だと考えるのは当然かもしれません。 「近年、ニューラル機械翻訳として提案されたモデルは、多くの場合、Encoder-Decoderのファミリーに属している。そこでは、ソースの文が固定長ベクトルにエンコードされ、そこからデコーダが 翻訳文を生成する。この論文では、固定長ベクトルの使用が、この基本的なEncoder/Decoderアーキテクチャの性能を改善する上でのボトルネックになっていると推論し、モデルに自動的に、ターゲット・ワードを予測するのに重要なソース・文の一部分について、 (ソフト)検索を可能とすることによって、これを拡張することを提案する。」 「重要な部分は、各デコーダの出力するワード yが、Encoderの最後の状態だけでなく、すべての入力状態の重みづけられた結合に依存することである。」 Encoderの最後の出力を文の意味として、それに一つの固定長のベクトルを割り当てるのではなく、翻訳時に、ソース・文の一部分を 改めて見直して、その部分から提供される情報を翻訳に生かそうということです。 それがAttention Mechanismです。 スライドでは、もう少し詳しく説明しておきました。参照ください。 直結していた EncoderとDecoderは切り離され、両者を結びつけていた「文の意味の固定ベクトル」は無くなります。固定ベクトルに代わって「文の意味」は、Encoderの内部状態全ての上に分散して存在することになります。 このアイデアは、「Google ニューラル機械翻訳」システムに採用され、それ以降の大規模言語システムのアーキテクチャーの基本になっていきます。 ------------------------------ 「

Ilya の活躍 -- 「語の意味の固定ベクトル」

イメージ
【 Ilya の活躍 --「語の意味の固定ベクトル」】 Ilyaの活躍は、続きます。 2014年に、Ilya Sutskever らは、シーケンスをシーケンスに変換するRNN(LSTM)の能力が、機械翻訳に応用できるという論文 "Sequence to Sequence Learning with Neural Networks" を発表します。 「我々の方法では、入力のシーケンスを固定次元のベクトルにマップするのに、多層のLong Short-Term Memory(LSTM)を利用する。その後、別の深いLSTMが、このベクトルから目的のシーケンスをデコードする。」 ここでは、先に見た Encoder / Decoder の枠組みが利用されています。入力のシーケンスを固定次元のベクトルにマップするのが Encoder で、この固定次元のベクトルからシーケンスを作るのが Decoder です。 ただ、先に見たHintonのAutoencoder とは少し違うところがあります。Autoencoder は、基本的には 入力と同じものを出力に再現しようとします。Sequence to Sequence では、入力に与えられるSequenceと出力されるSequenceは同じものではありません。例えば、前者のSequenceは英語の文で、後者のSequenceは日本語の文であることがあるように。 それでは、二つのSequence を結びつけているのはなんでしょう。それは二つのSequenceが「同じ意味」を持つということです。前段の入力のSequenceから作られ、後段の出力のSequenceを構成するのに利用される「固定次元のベクトル」とは、二つのSequenceが「同じ意味」を持つことを表現しているSequenceの意味のベクトル表現に他なりません。 ですから、Sequence to Sequenceのシステムは、「語の意味ベクトル」の並びを「文の意味ベクトル」にマップし、その「文の意味ベクトル」から再び「語の意味ベクトル」の並びを生成するシステムです。 ------------------------------- 「 Sequence to Sequence 」 を公開しました。 https://youtu.be/UA7t2fSrQXI ?li

Hintonのアイデア -- 意味的ハッシング

イメージ
【 Hintonのアイデア -- 意味的ハッシング 】 このセッションでは、2006年のHintonの "Reducing the Dimensionality of Data with Neural Networks" という論文を紹介します。 タイトルから、2003年にBenjioが提起した、データ量の爆発「次元の呪い」の問題に、応えようという問題意識があることがわかると思います。 彼は、2000ピクセルの画像を30ピクセルの画像に圧縮して、その30ピクセルの画像から元の2000ピクセルの画像を復元することが、ニューラルネットを利用すれば可能になると言います。ピクセルではなくベクトルの次元で言うと、2000次元のベクトルから30次元のベクトルへと大幅にデータの次元を減らすことになります。 彼は、ニューラルネットがデータの次元を減らすプロセスをEncoder、この小さな次元のデータから元の大きな次元のデータを復元するプロセスをDecoderと呼びます。また、彼は、EncoderとDecoderの組をAutoencoderと呼びます。 ただ、彼は新しい画像圧縮の方法を提案しようとしたわけではありません。そのことは、彼が紹介している「書籍の分類」に彼の方法を利用できるという例を見るとわかります。 まず、よく使われる単語を2000個ほど選びます。次に、ある本にこれらの単語が何個含まれているかをカウントします。そうすると、ある本に2000次元の整数からなるベクトルを対応づけることができます。 このベクトルをEncoderの入力に与えて、Decoderがこのベクトルを出力に再現できるようにニューラルネット訓練をします。訓練が終われば、Encoderの出力の次元を10次元とすれば、ある本のベクトルをEncoderに与えれば、ある本に10個の数字を対応づけることができます。 Hintonは、40万冊のビジネス書を対象に、この方法で得られた10個の数字が、書籍の分類に有効であることを実際に示しました。 重要なことは、「画像」と「書籍」では、対象のデータの性質はまるで異なっているのですが、彼のAutoencoderは、そのいずれに対しても、高次元のデータを低次元のデータに変換しているということです。別の言葉で言えば、それは、対象の高次元のデータから、低次元のデー

2011年のChatGPT -- RNNの不思議な能力

イメージ
【 2011年のChatGPT -- RNNの不思議な能力 】 ChatGPTが登場したのは去年 2022年なので、「2011年のChatGPT」というタイトルは変だと思われたかもしれません。 それには少し訳があります。 2011年、当時GoogleにいたIlya Sutskever は、大量のテキストデータをコンピュータに学習させて、コンピュータに、まったく新しい英語の文章を生成させることに成功して、世界を驚かせます。 現在でも、ChatGPTが自然な英語や日本語を出力するのに驚く人は多いと思いますが、それと同じこと、コンピュータが文法的に正しい自然言語を出力することを、はじめて成功させたのが、Ilya Sutskever でした。 2015年に、彼はGoogleからOpenAIに移り、同社の共同設立者かつChief Scientistになります。ChatGPTをつくったOpenAIの技術の中心にいるはIlya Sutskever です。彼は、自然言語を生成するAI技術のパイオニアなのです。 自然言語を生成する能力を機械が持つことを可能にしたのは、RNNという技術なのですが、Ilyaの成功は、RNNの持つ不思議な力を、多くの人に強く印象づけました。 2015年、Andrej Karpathy はRNNを使って驚くべき仕事を行います。彼は、大量の数学の論文をRNNに学習させ、機械に数学の論文を書かせることに成功します。彼は、さらに、Linuxの全ソースコードをRNNに学習させ、Cのコードを機械に書かせることにも成功します。 現在のChatGPTが我々に見せる能力の片鱗は、すでにこの時期に、準備されていたのです。 ただ、残念なことに、Ilyaが生成した文章も、Karpathyが生成した数学の論文もCのプログラムも、大きな問題がありました。それらの出力には、「意味」が欠けているのです。 「意味が欠けている」というのがどう言うことかは、その出力のサンプルをスライドにあげておいたので、スライドのpdfを見て貰えばわかります。 「全然ダメじゃないか」と思われたかもしれません。ただ、こういうところからChatGPTの技術は出発していることは知っておいていいと思います。 大事なことは、RNNには学習したデータから、そのデータの基本的な特徴を「真似る」ことができる能力があることが示