投稿

1月, 2023の投稿を表示しています

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には学習したデータから、そのデータの基本的な特徴を「真似る」ことができる能力があることが示

Benjioの「次元の呪い」-- 語の数と文の数

イメージ
【 Benjioの「次元の呪い」-- 語の数と文の数 】 今回のセッションから新しい章「意味の分散表現の登場」に入ります。 最初に扱うのは、2013年のThomas Mikolov, Jeff DeanらのWord2Vec論文です。この論文は、自然言語処理システムが現在の大規模言語モデルへと発展する「進化」の戸口にたつものだったと考えています。 ここでは、この論文に先行した当時の研究状況を振り返ってみようと思います。 コンピュータと自然言語が出会った時以来、大量の言語データを統計的に処理すれば、言語の性質がわかるだろうという楽観論が存在しました。ただ、そうしたアプローチは失敗します。 For breakfast I ate _____eggs. という文の空白部分に入るのは、三つの単語{ to, two, too }のどれかという問題に(答えはもちろん 'two'です)、21世紀に入っても、単純な統計的アプローチは、100% 正確に答えることができませんでした。この論文の著者は、10億語からなる用例集を統計的に処理したのですが。 それは問題の複雑さの尺度を見誤ったことによるものです。データの数を増やせば、問題が解けるようになるとは限らないのです。 26文字のアルファベット15文字以内で構成される語の数は、高々、26^15です。ただし、語彙が10万個ある言語での10個の語からなる文は、100000^10=10^50種類もあるのです。 ある言語で、すべての語彙を集めた辞書は存在するかもしれないのですが、その言語のすべての文の例を網羅した用語集は存在しません。 Benjioは、早くから、言語処理に現れる組み合わせの数の爆発を意識していた一人でした。2003年の論文で、彼は、それを「次元の呪い」 Curse of Dimentionality と呼びました。 この論文で、Benjioは「次元の呪い」と戦うために、次のような方法を提案します。  1.  語彙中のそれぞれの語に、m個の実数に値を持つ、分散したm次元の特徴ベクトル(word feature vector)を対応づける。  2.  語の並びの結合確率関数を、この並びの中の語の特徴ベクトルで表現する。  3.  語の特徴ベクトルとこの確率関数のパラメーターを、同時に学習する。 乱暴なまとめをすれば、こ

言語モデルの成功と失敗 --「意味の分散表現」

イメージ
【 言語モデルの成功と失敗 --「意味の分散表現」】 今回のセミナーのタイトルを、「AIは意味をどのように扱っているのか?」にしました。ただ、注意してもらいたいことがあります。それは、ここでいう「AI」のコンセプトは狭いものだということです。 ここでの「AI」は、基本的には、Googleニューラル機械翻訳に始まり、BERT、GPT-3、ChatGPTへと続く、現在の「大規模言語モデル」のことを指しています。 正確に言えば、今回のセミナーのテーマは、「大規模言語モデルは、意味をどのように扱っているのか? 」というものです。 では、なぜ、意味の理解に大規模言語モデルは、重要なのでしょうか?それに答えるのは比較的容易です。 人間は、自然言語を扱う理論をいろいろ作ってきたのですが、それに基づいて実際のコンピュータ上で、意味を含んだ自然言語を扱うシステムを実装することには、なかなか成功しませんでした。 大規模言語モデルが重要なのは、それがコンピュータ上で自然言語の意味を扱うことに成功した、事実上最初の、そして現状では唯一の実装されたモデルだからです。 大規模言語モデルの出発点となったのは、「語の意味の多次元ベクトルによる表現」でした。 今回のセミナーの、第二部「意味の分散表現の登場」、第三部「大規模言語モデルの成立」という構成は、今回のセミナーの主要な目的が、大規模言語モデルの成功を跡づけようとしていることを示しています。 ただ、この第一部「意味理解への様々なアプローチ」では、大規模言語モデル以外の、意味理解のアプローチを紹介しようと思います。 様々なアプローチがあるといっても、対象となる人間の言語活動は共通です。ここでは、文と文の意味の基本的な特徴について述べてみたいと思います。それは、次の二つです。  ● 文と意味の「構成性(compositionality)」  ● 意味の「同一性」 / 意味の共通表現の存在 文と意味の「構成性(compositionality)とは、 ・文は文法に従って語から構成されること。 ・文の意味は、語の意味に依存して構成されること。 ・文の意味は、文の文法的構成に依存すること。 をさします。 意味の「同一性」 / 意味の共通表現の存在 とは、 ・言語が異なっていても、「同じ」意味を持つ語が存在する。 ・言語が異なっていても、「同じ」意味を持つ

EntityモデルのFolksonomyとChatGPT

イメージ
 【 EntityモデルのFolksonomyとChatGPT 】 今回のセッションでは、ボイス・アシスタントの意味へのアプローチの紹介しようと考えていました。 ボイス・アシスタントでは、人間の側の発話の意図を機械が把握し、その意図に応えて正しく反応するのが、機械にとっての「意味理解」であるという、意味のPragmatic(「語用論」的)な解釈が取られます。   命令文 ー 命令された動作を行えばいい   疑問文 ー 答えを与えればいい ー>検索を実行 ボイス・アシスタントの代表的な製品である Alexa / Echo では、人間の発話の意図は、Intent という一つの文字列で表現されます。Intentは、基本的には、機械に対する人間からの命令を簡潔に示したものです。こうした単純な意味モデルをIntentモデルと呼びます。 お詫びしですが、前回の最後のスライドで、すこし正確じゃないことを言っていました。Googleの音声検索も、Pragmaticな意味解釈に基づくようなことを言ったのですが、Googleのグラフによる知識表現論は、もっと複雑なものです。 少し補足します。 GoogleのKnowledge Graphは、情報をEntityの構造に対応させる技術です。あるものの「意味」は、対応するEntityが持つ「情報」として解釈されます。Entityは、現実のものであれバーチャルなものであれ、具体的なものであれ抽象的なものであれ、概念としては「実在するもの」とみなされます。ある種の概念実在論と言っていいと思います。 Entityモデルでは、Entityとその関係の構造が表現するものは実在的なものの構造の反映です。こうした関係をEntityの「存在論 "Ontology" 」といいます。少し大袈裟な気もしますが。ですから、Entityを用いれば、具体的な言語表現からは独立な、かつ、全ての言語で共通な情報を与えることが可能です。(もっとも、Entityとその階層を定義しているSchema.org は、Entityを英語の名前で定義しています。) ただ、そうした理念に導かれたEntityモデルですが、現実的な問題がありました。それは、Entityの階層にしろ、それぞれのEntityの持つPropertyにしろ、それらは決してアプリオリに与えられるもの

Google検索とChatGPT

イメージ
 【 Google検索とChatGPT 】 このセッションでは、二つのトピックスを取り上げます。 一つは、ChatGPTに対するGoogleとMicrosoftの反応です。もう一つは、Google検索での「意味」へのアプローチを紹介したいと思います。 ChatGPTに対するGoogleの反応については、昨年末の2022年12月21日のNew York Times紙のリークがニュースソースになっているようですが、ここで紹介しているのは、CNETの記事です。 ChatGPTの登場にGoogleが大きな関心を持っているのは確かなようです。それも強い警戒心を持って。「危険信号 Code Red」という表現を使ったことが話題になっています。興味深いのは、ChatGPTのような技術は、「検索に対する信頼性を損なう」という評価をしたことだと思います。これは、現状の判断としては正しいのではと僕は考えています。 Microsoftの反応は、今年1月11日のBloombergの記事からのものです。MicrosoftはChatGPTを開発したOpenAIに、今後100億ドル規模の投資を行う方向で協議を進めているという報道です。 「検索業界では長い間、基本的に手出しができない存在だったグーグルが突然弱さを見せたため、ナデラCEOはこの関係を強化しようとしている。」 僕が面白いと思ったのは、現在Microsoftの傘下にあるGitHubのCoPilot等のプログラム開発支援ソフトに、ChatGPTの技術を取り入れようとしているということです。 ChatGPTは、自律的なAIではなく、むしろ基本的には「人間からのフィードバック」によってドライブされています。プログラム開発の世界で、「人間からのフィードバック」が一番蓄積されているのは、GitHubだと思います。ChatGPTのコミュニティの沢山の参加者の、とりめのない「対話」からの「フィードバック」より、GitHubでのソフトウェアの更新履歴は、役にたつ「人間からのフィードバック」の「宝の山」になるでしょう。 セッションの後半では、Google検索のグラフによる知識表現と意味の世界との繋がりに触れています。 「テーラー・スイフトの年齢は?」という問いに対して、「33歳」と答えることは、 「テーラー・スイフトの年齢は?」という文の意味を理解してい

1/28マルレクへの招待

【 1/28マルレク「AIは意味をどのように扱っているのか? -- ChatGPTの不思議」への招待 】  1月28日「ChatGPTの不思議」の続編のセミナーを開催します。 前回の1月14日のセミナーでは、ChatGPTが「大規模言語モデル」の中から生まれながら、「人間からのフィードバックによる強化学習」という方法で、人間の教師による教育と評価をうけて成長した、人間との「対話」に特化したAIシステムであることを見てきました。 それにしても、ChatGPTが、多くの人に強い印象を与えたのは、それが滑らかに「対話」する不思議な能力をもっていることだったと思います。その能力は、ChatGPTが「対話」の意味を的確に理解していることに主要に依拠しています。そして、その能力はChatGPTの産みの母である「大規模言語モデル」から受け継いだものに他なりません。 今度の1月28日のセミナーでは、前回のセミナーでは取り上げることのできなかった、ChatGPTをはじめとする現代のAI技術が、どのように意味を扱ってきたかを、すこし歴史的に振り返って見たいと思います。 次のような三つの内容でセミナーを構成しようと思っています。  ● 意味理解への様々なアプローチ  ● 意味の分散表現の登場  ● 大規模言語モデルの成立 【 意味理解への様々なアプローチ 】 「IBM Watson」や「Google 音声検索」、また「Amazon Alexa」等のボイス・アシスタンス等の「対話型」のシステムは、それぞれ異なる意味理解のモデルに基づいています。言語の意味理解のコンピュータでの実装のいくつかの取り組みとその特徴を簡単に紹介します。 【 意味の分散表現の登場 】 ただ、ある時点から、ディープ・ラーニングでの「意味の分散表現」が、それまでの様々な意味の実装方法を凌駕するようになります。自然言語の理解に統計的手法を使うという流れは古くからあったのですが、ここでは「意味」は明確にベクトルで表現されることになります。具体的には、次のトピックスを紹介しようと思います。  ○ Auto Encoder  ○ Word2Vec  ○ Sequence to Sequence  ○ Attention Mechanism 【 大規模言語モデルの成立 】 「意味の分散モデル」の成功は、次の「大規模言語モデル」の

翻訳の意味の世界の奇妙さ

イメージ
【 翻訳の意味の世界の奇妙さ 】 このセッションでは、ChatGPTが意味を理解しているかを考えたいと思います。 僕は、彼は、「意味を理解している」と考えていいと思っています。 だからこそ、関連する話題に関連する話題で反応できるんです。 彼は、「話題の関連」「意味の近さ」を把握しています。 現代のAI技術が、コンピュータの内部でどのように意味を表現し処理しているかについては、今回のセミナーでは触れないことにしました。それは、「意味の分散表現」というものなのですが、それについては、改めて別のセミナーを開くのがいいと考えています。 ここでは、その意味理解のみかけ上の特徴について触れてみようと思います。 ChatGPTの産みの母であるGPT等の大規模言語モデルの意味理解の中核技術は、機械翻訳技術です。そして、ChatGPTの意味の扱いは、基本的に大規模言語モデルの翻訳による意味の理解に依拠しています。 翻訳で意味を把握するということは、単純な例を挙げれば、”I love you.”の意味は、「私はあなたを愛している」という意味であると考えることです。これは、ある意味では、正しい意味の把握です。 そして、この機械翻訳技術は大きな成功を収めました。 現在では、多くの言語で書かれたものの意味を、我々は理解できます。 シェクスピアでもゲーテでもランボーでも。 素晴らしい! ただ、翻訳の意味の世界には、いくつか奇妙な点があります。 それは、その意味が明らかでないもの、あるいは、意味がないものも、「翻訳」してしまいます。 Beau comme la rencontre fortuite sur une table de dissection d'une machine à coudre et d'un parapluie.  解剖台でミシンと傘が偶然出会ったように美しい Colorless green ideas sleep furiously  無色透明のグリーンのアイデアは、猛烈な勢いで眠る もっと重要なことが二つあります。 一つは、翻訳の意味の世界は、「事実」とは関係なく存在するということです。 アインシュタインはバカだった  Einstein was an idiot. 世界に戦争はない  There is no war in the world. もう一つは

夢の中の記憶

 【 夢の中の記憶 】 面白い夢を見ました。といっても、面白いと気がついたのは、夢から覚めてからだったのですが。 クレジットカードを無くしたという夢でした。 探し物をする夢は、何度か見たように思うのですが、今度の夢では、あちこち無くしものを探しませんでした。その代わり、僕が夢の中でしたことは、昨日の行動を思い出すことでした。これも、現実には、よくあることです。 いろいろと前日の記憶を引き出すことができました。(残念ながら、今はもう、その「記憶」の中身は無くなってしまいました。) どうやら、カードを無くしたのは、昨日ではないらしいと気づきました。それじゃ、その前の日かな? それで、さらにその一日前の日の出来事を思い出そうとして、目が覚めました。 夢から覚めて面白いと思ったのは、夢の中の自分が、夢の中の自分の「前の日の記憶」を思い出そうとしていることです。 今回の夢は、カードがなくなったことに気づくところから始まっていました。ですから、この夢の時間には、本当は「前の日」はないんです。 でも、夢の中で、記憶を辿ると、適当なこと思い出すんですね。そこで思いだされた記憶の実体は、どういうところにあるのでしょう? もちろん、夢ですので実体などないのですが。 夢のイメージと、夢の中の記憶のイメージは、同じものなのでしょうか? 不思議ですが、少し違うような気がします。夢の中で見る夢と同じようなものかもしれません。 夢を見たら、夢の中の「記憶」を過去に遡ってみてください。 ------- 追記 ------- 「集合的無意識」というものがあるかもしれませんので、「唯一無二」とは言い切れないとしても、「生物学的本能」を含めて、意識は「さしあたり」は、その人の意識として現れると思います。 夢の中でも現実でも、現実の意識と夢と、それから記憶の想起は区別されます。現実の中の現実の意識も、夢の中の現実の意識も、現在から未来に向かいます。こうした時間の流れは、現実に見る夢(普通の夢です)でも、夢の中で見る夢も同じです。 面白いと思うのは、記憶の想起は、現実でも夢の中でも、未来も現在もなく、過去にしか向かいません。 過去などないはずの世界でも、夢の記憶は、過去を作り出すのかもしれません。それは、ベクトルの方向は真逆ですが、未来に向けて、今はないものを作り出す「想像力」の働きと同じものだと思います。

AlphaGoは「超絶強い」のに、なぜ、AlphaCodeは「平凡」でしかないのか?

イメージ
【 AlphaGoは「超絶強い」のに、なぜ、AlphaCodeは「平凡」でしかないのか? 】 「ChatGPT成立の背景」の2回目です。 ここでは、前回取り上げた大規模言語モデルでの規模拡大の行き詰まりの問題とともに、大規模言語モデルは数学的・論理的推論がとても苦手であるという認識が生まれたことを取り上げます。 ChatGPTのプロトタイプの論文が出たのは2022年の4月ですが、それに先立つ2022年の2月に、GoogleのDeepMindとOpenAIが、ほぼ同時に、大規模なAIシステムに数学的・論理的課題を解かせたと言う論文を発表します。 DeepMindがターゲットとしたのは、多くのプログラマーが参加する「プログラム・コンテスト」で、その課題を解くコードをAIに生成させるプロジェクトを、AlphaCodeとして立ち上げていました。 OpenAIがターゲットとしたのは、優秀な高校生が集まる「数学オリンピック」で、その問題の証明を与える Theorem Proverというシステムを構築していました。 二つの論文は、表面的には、難しい課題に取り組んで一定の成果を上げたという発表のようにも見えるのですが、よく読めば、この二つのプロジェクトは、失敗に終わったことがわかります。 DeepMindのAlphaGoについて、Scott Aaronsonは次のように語ります。 「AlphaCodeは課題ごとに100万個の候補プログラムを生成し、提供されたサンプルデータでは動作しないことを確認して大半を破棄し、それでも残った数千個の候補から巧妙なトリックを使って選択しなければならない。」 「ただ、それは、コンテスト問題の3分の1程度しか解けず、これらの問題では平凡な人間のプログラマーと同じようなものである。」 DeepMindはAlphaCodeを「平均して上位54.3%のランキングを達成した」と述べたのですが(「上位」というのは50%以上だと思うのですが)、彼は、AlphaGoを「平凡な英語を話す犬」と評しました。 OpenAIのTheorem Proverについては、論文自身が次のような評価を行なっています。 「現在のその主要な限界は、(我々が提案した検索手順のもとでは)二つあるいは三つ以上の自明ではない数学的推論をつなげていくことの無能力さにあると信じている。このことが、(

規模を大きくすれば、どんどん賢くなるわけでもないということ

イメージ
【 規模を大きくすれば、どんどん賢くなるわけでもないということ 】 今回から、新しいテーマに入ります。それは、ChatGPTのような技術が、なぜこの時期に登場したのかと言う技術的背景についてです。 これまで、人工知能の世界では、システムの規模の拡大が、その成功を支える揺るぎない「正義」だと考えられてきました。実際、システムの規模拡大は、大きな成功を収めてきました。 「どんどん人工知能のシステムの規模を拡大していけば、人工知能はどんどん賢くなる。そして、いつか人間を超えて「シンギュラリティ」が実現する!」 みなさんも、こう言うふうに感じていませんでしたか?  問題は、こうした認識に、少なくともシステムの規模拡大の効果の認識については、「異変」が起きているということです。 去年(2022年)の4月に発表された、現在のChatGPTの登場を告げるOpenAIの論文は、次のようなショッキングな言葉で始まります。 「言語モデルを大きくしても、ユーザーの意図に沿うようになるとは限らない。」 「大きな言語モデルには、真実味のない、有害な、あるいはユーザーにとって役に立たない出力を生成する可能性がある。別の言葉で言えば、これらのモデルはユーザー にそっていないのである。」 「人間の評価では、パラメータが100倍少ないにもかかわらず、パラメータ13BのInstructGPTモデルの出力の方が、パラメータ175BのGPT-3の出力より高い評価を得た。」 こうして、彼らは、モデルの規模拡大の方向ではなく、「人間のフィードバック」重視の方向に大きく舵を切ります。 「本論文では、様々なタスクにおいて言語モデルをユーザーの意図に沿うようにする道は、人間のフィードバックを用いてモデルのfine-tuningを行うことにあることを示す。」 つい先ごろですが、去年(2022年)の10月、OpenAIとGoogle Researchは、ほとんど同時に、システムの規模が AIシステムに与える影響についての論文を発表しました。 OpenAIの論文には、システムの規模拡大で引き起こされやすくなる "Overoptimization" の例が紹介されています。こちらはスライドをご覧ください。 ここでは、Google Researchの論文の「概要」の一部を紹介しましょう。 この論文のLas

正月なので少し寄り道 (3) -- ChatGPTの成長

イメージ
【 正月なので少し寄り道 (3) -- ChatGPTの成長 】 ChatGPTのプロトタイプであるInstructGPTは、この間見てきたような新しい「教育」を受けて、彼らの共通の祖先であるGPTから、多くの点で成長をとげました。 今回のセッションでは、この間の「寄り道」で見てきた、ChatGPTの「人間のフィードバックからの強化学習」という方法とそれを支える新しい「教育環境」の中で、ChatGPTがどのような成長を遂げてきたかを、GPTとInstructGPTの比較を通じて見てみようと思います。 比較の方法はシンプルなものです。InstructGPTの教育に参加した先生たち自身に、GPTの出力とInstructGPTの出力をどちらがいいかを判断してもらっています。なんと、85%の先生たちが、InstructGPTのほうがいいと回答しています。もっとも、自分が育てた子の方が賢いと思うのも人情かもしれませんが。 ChatGPTが GPTからどのように「成長」したかについての詳しい情報は、論文 "Training language models to follow instructions with human feedback"  https://arxiv.org/pdf/2203.02155.pdf に、多くの比較の視点とともに豊富なサンプルが与えられています。ぜひ、ご覧ください。 今回のセッションで紹介したのは、その一部です。ぜひ、スライドを見てご自分でも判断ください。それは、初めてChatGPTに触れた時の驚きとつながるものだと思います。 明らかに、ChatGPTは、GPTより「成長」しているのです。 そこでの成長のポイントは、この間見てきた人間の教師たちによる「人間からのフィードバック」だと、僕は考えています。  -------------------------------- 「彼の成長 – GPT vs. InstructGPT 」 を公開しました。 https://youtu.be/mDrkp2Hi2FM ?list=PLQIrJ0f9gMcOX9oSKXRR87BgMkql5dvrx 資料pdf https://drive.google.com/file/d/1Vc7j_OhqQNG4MC2jxKXjbOGetHKoK-Rt/

正月なので少し寄り道 (2) – ChatGPT の先生はこんな人

イメージ
【 正月なので少し寄り道 (2) – ChatGPT の先生はこんな人 】 今回のセッションも、少し寄り道です。 テキストだらけで長いですが、内容は理論的なものではなく具体的なものです。 ChatGPTには、人間の先生がいます。今回は、ChatGPTの陰に隠れて、あまり人の目には触れることのない、この生身の先生たちにスポットを当てようと思います。 彼ら先生たちは、ChatGPTが成長を始める最初のステップで、ChatGPTが学習するテキスト・データ(質問とその答え)を作ります。 また、次のステップで、先生たちが作ったこの質問と答えに対して、「いい」から「悪い」まで7段階に評価します。この評価作業も先生たちの仕事です。 この評価データは、最終ステップでのChatGPTの強化学習に利用されます。 ChatGPTの、その立ち上がりを担ういわばブートストラップの過程には、この人間の先生たちの関与が不可欠なのです。 実は、この先生たちにも先生がいます。 それは、彼らを雇ったOpenAIの技術者たちです。彼らは、雇った先生たちに、詳細な指示とサンプルを提供します。今回紹介したのは、OpenAIから先生たちに与えられた、問題の作成サンプルと、回答・評価のガイドラインです。 先生たちがどんな問題と回答を作成し、それらにどんな評価を与えたかを知ることはできないのですが、ChatGPTの直接の先生たちが、ChatGPTを教育するために、どんな働きをしていたのかは、よくわかると思います。 僕は、このサンプル集を見て、OpenAIがChatGPTにどんな働きを期待していたのかが、よく分かったと感じました。その中には、まだ試していない機能もありました。 長いので、ここでその内容を紹介することはできませんが、ぜひ、スライドのpdf をご覧ください。面白いです。 資料が長いので、普段はあまり使わない機械翻訳を下訳に使いました。DeepL すばらしい!  最後に紹介しているのは、この先生たちに、評価作業のために提供されたWebアプリのスクリーン・ショットです。評価のランクづけだけじゃなく、暴力的・性的内容等が含まれていないか等のメタ評価項目が含まれているのがわかります。  -------------------------------- 「ChatGPT の先生はこんな人 」 を公開しました。 h

正月なので少し寄り道 – 人間もChatGPTも猛勉強する

イメージ
【  正月なので少し寄り道 – 人間もChatGPTも猛勉強する 】 明けましておめでとうございます。 今年もよろしくお願いします。 本当は、別のトピックスを取り上げようと思っていたのですが、正月そうそう硬い話ばかりするのも気が引けますし、僕の考えを性急に押し付けるつもりもないので、予定を変えました。 今回のセッションのテーマは、「ChatGPTの教育環境 -- 彼は、何を学んできたのか? 」というものです。 OpenAI エライと思うのは、ChatGPTの技術的背景の情報をきちんと公開していることです。今回から(正月三が日くらいかしら)紹介しようと思っているのは、ChatGPTのプロトタイプであるInstructGPTについての論文、" [2022/04/04] Training language models to follow instructions with human feedback" のAppendix の部分です。 これは、具体例が山ほど紹介されていて、面白いです。 InstructGPTも、その立ち上げに貢献した人間の「教師」も、ものすごい量の情報を生成し機械がそれを学んでいると言うことがわかります。ChatGPTの「賢さ」は、この「猛勉強」に支えられているのですね。  もっとも、具体例の紹介は、明日以降になります。  -------------------------------- 「ChatGPTの教育環境 (1)-- 彼は、何を学んできたのか? 」 を公開しました。 https://youtu.be/ZCPtMw_BQpw?list=PLQIrJ0f9gMcOX9oSKXRR87BgMkql5dvrx 資料pdf https://drive.google.com/file/d/1VMTk11Jhd5FqmiwCPCHQ5NLvn_RYHBIy/view?usp=sharing blog:「正月なので少し寄り道 – 人間もChatGPTも猛勉強する」 https://maruyama097.blogspot.com/2023/01/chatgpt.html まとめページ https://www.marulabo.net/docs/chatgpt/ 1/14セミナー「なぜ?で考える ChatGPT の不思議」の申し込みページ