投稿

「同じ」という言葉は何を意味するのか? 2

先に、「同じ」型A に属する二つの項 aとb(a : A かつb : A)が「同じ」だという a = b : A で表現される「同じ」さと、二つの型AとB(A : Type かつB : Type)が同じだという A = B : Type で表現される「同じ」さは、同じ「同じ」でも、違う「同じ」であるという話をした。 前者は、例えば、Aを「三角形」という型だとして、三角形a と三角形b が「同じ」だと言っているのだが、後者は、例えば、Aを{異なる三つの点を結んでできる図形}、Bを{平行でない三つの直線で囲まれた図形}とした時、AとBは、同じ型の図形であることを主張している。 型を持つプログラミング言語の場合、あるインスタンスがどの型に属するかを意識することは大事なことだ。面倒と言えば面倒なのだが、そのことがプログラムの誤りを少なくするのに効果的なのだ。 型を持つプログラミング言語のうちのいくつかは(例えば、COQ, Agda, Haskell, 部分的にはScalaも)は、不思議な型 dependent type をサポートしている。dependent type は、パラメータによって(パラメータにdepend して)、型が変わる型だ。 パラメータxが型Bを持つなら、このdependent type E(x)を次のように表す。    (x : B) E(x) また、あるsが、dependent type Eを持つことを、次のように表す。    (x : B)  s(x) : E(x) あまり正確ではないが、B={ 整数、実数、複素数 }として x : B なるパラメータ x によって、dependent type E(x)は、整数型、実数型、複素数型 に型が変わるのだ。 昔のwakhok時代、同僚の浅見さんから、dependent type がすごいことはよく聞いていた。ただその頃、僕はそれをよく理解できなかったのだと思う。僕が、その重要性に気づいたのは、だいぶ後になってからだ。 5年前の2013年のマルレク「「型の理論」と証明支援システム — Coqの世界」で、ようやく後追いを始めることになる。 https://www.marulabo.net/docs/typetheory-coq/  

「同じ」という言葉は何を意味するのか?

あるものAとあるものBが「同じ」だというのは、何を意味するのだろう。 もしも、AとBが数字なら、その意味ははっきりわかる。 例えば、A=1でB=1なら、AとBが「同じ」だということになる。それは、1=1のことだ。 もしも、AとBが集合なら、AとBが同じだということは、Aに含まれる要素がBに含まれる要素が全て等しいということだ。集合 A={ りんご、みかん、バナナ } は、集合 B = { バナナ,  みかん. りんご } と「同じ」である。 もしも、AとBが三角形なら、二つの三角形の二辺の長さが等しく、その二辺が作る角度が等しい場合、三角形Aと三角形Bは、「同じ」だと言える。 これらの例でわかることは、あるものとあるものが「同じ」だというためには、それぞれが、同じ種類のものでなければならないということ。数字と三角形は、「同じ」にはなれない。 ここでの「同じ種類」というものを、「同じ型を持つ」ということにすれば、あるものAとあるものBが「同じ」だというためには、AとBは、「同じ型」を持っていなければいけないということになる。 このあたりのことを、数学者のドリーニュが例を挙げて丁寧に説明しているビデオがある。"What do we mean by "equal" " https://goo.gl/nXhqmb 今年の9月にプリンストンの高等研究所で開催された "Vladimir Voevodsky Memorial Conference" https://www.math.ias.edu/vvmc2018 での、彼の講演である。 ドリーニュは、若くして、グロタンディックを出し抜いて「ヴェーユ予想」を解いた有名な数学者なのだが、不思議なことに、彼が説明していることは、コンピュータでプログラミングをしたことがある人は、よくわかっていることだということである。 整数 A=1 と浮動小数点実数 B=1.0 とは、コンピュータ内部での扱いは違うものである。もしも、あるプログラミング言語が、整数型・実数型の他に複素数型をサポートしているとすると、A=1, B=1.0, C=1.0+0.0i は、皆、違うものである。 数字の場合いずれの型にも、加減乗除の演算は定義される。複数の型に適用

Inventing Ourselves: The Secret Life of the Teenage Brain

 恋は盲目。  恋人たちは、自分たちが犯している  ひどい愚行を、自分では見ることができないのだ。 シャイロックの娘ジェシカは、父の財産を持ち出してキリスト教徒と駆け落ちする。これが金貸しシャイロックが、キリスト教徒のアントーニオを憎む理由の一つとなる。かわいそうなシャイロックと馬鹿な若い娘。 ジェシカに限らず、シャークスピアの作品に登場する「若者」は、とても若い。 佯狂ハムレットに「尼寺に行け」と罵倒され、身勝手な狂言に翻弄されて、川に身を投げるオフィーリアは、多分、10代前半だ。可哀想な幼いオフィーリア。ハムレットは生き延びる。 イギリスの脳科学者、サラ・J・ブレークモアの"Inventing Ourselves: The Secret Life of the Teenage Brain" を読む。https://goo.gl/QoLX6o  「思春期の若者の脳を研究しているの。」  「十代に脳なんかあったっけ?」 彼女の研究手法は、MRIを使って脳を観察するのだが、同じ集団をずっと追いかけて、その経年変化を見るというもの。この本の大事な結論は、子供の脳とも大人の脳とも、思春期の脳は違うということ。思春期に起きる脳の変化は、特別なのだという。 確かに、男子なら声変わりしヒゲが生え、女子なら生理が始まり胸が大きくなる。(あいみょんが歌っている) こうしたドラスティックな変化が脳の中でも起きるというのだ。言われてみれば、確かにそうだろうと思う。 自意識が芽生え、危険を顧みず行動し、仲間の影響を強く受けること。そうした思春期の行動の特徴は、古今東西・民族・文化を問わず共通しているという。(「学校」ができる遥か以前から)こうした向こう見ずな若者の行動が、芸術にインスピレーションを与え、歴史的なインパクトを与えたことも数多くある。 日本には、「中二病」という言葉があるのだけれど、この本のサブタイトルの「十代の脳の秘密の生活」は、同じ問題を分析しているのだ。ただ、彼女は、それを単なる逸脱行動とも、知能の弱さ、常識・大人らしさの欠如としては捉えない。そうした時期を過ごすことは、人間が人間になるためのとても大事な経験なのだという。創造性も感情の豊かさもこの時期に生まれる。ど

意味を考える 6 -- 鏡

我々は、他人の顔は見れるのだが、自分の顔を直接見ることはできない。写真やビデオがこんなに普及する以前、自分の顔を見る手段は、鏡しかなかったと思う。 自分の顔を鏡で見る時、「見る人」と「見られる人」は、同じ人だ。ただ、この同じ人が、鏡によって「見る人」と「見られる人」の二人に分離される時、普段は見ることのできない自分の顔を見ることができる。 以前に、「私はあなたを愛しています」という文の「意味」を考えるより、「 "I love you." の「意味」は、「私はあなたを愛しています」だ」と考える方が簡単だと書いたのだが、このことも、「翻訳」はある言語を他の言語にうつす鏡のようなものだと考えれば、いいのだと思う。 確かに、鏡に映る自分の顔は、他人のみんながいつも見ている顔であることに変わりはないし、「私はあなたを愛しています」を "I love you." と言い換えたところで、「愛」についての認識が深まるわけではない。 ただ、ある二つのものの関係の中で、あるものを考えるのは、あるものだけをじっと見ているより、普段は気づくことのないものへの気づきが生まれると僕は考えている。 「意味」についてもそうだ。意味についてのアプローチは、様々あるのだけれど、ソシュールのシニフィアン(signifiant:意味するもの)とシニフィエ(signifié:意味されるもの)にしても、オグデン=リチャードの「意味の三角形」の「シンボル」と「指示するもの」「指示されるもの」にしても、こうした「二項関係」が基本になっている。(三角なのに二項なのかにというツッコミは、あとでこたえる) こうした二項関係は、もっと深いところでは、「主体」と「客体」、「認識するもの」と「認識されるもの」という認識の構造そのものに基礎を持っている。 図は、ペンローズから。彼は、ビデオで鏡に映るビデオを撮影しても、ビデオは何も認識していないという。確かにそうだ。ただ、彼は、機械は、それだけでは意識を持ち得ないという立場を取っている。コンピュータのプログラムに意味など理解できるはずはないというのだ。

意味を考える 5 -- 辞書

言葉の意味を調べようとするとき、我々に一番身近な行為は、「辞書」を引くことである。ただし、辞書が与えるのは、語の意味である。 翻訳が文を対象にするのに対して、辞書は語を対象にする。文は語からできているので、辞書が与える語の意味の情報は、その語を含む文の意味を考えるもっとも基本的な情報を与える。 辞書で 、I = 私、love = 愛する、you = あなた という情報が得られたとしよう。この情報だけから、"I love you"という文を翻訳すると、「私 愛する あなた」になるのだが、これはどうも日本語としてはうまくない。 その理由ははっきりしている。 語から文が構成されているのは明らかなのだが、語から文を構成するときに、日本語でも英語でも、ある構成規則に従う。それを「文法」という。文法は、ある言語での語の出現順序に強い制限を与える。「私 愛する あなた」は、日本語の語の出現順序にそぐわないのだ。 辞書だけに頼る翻訳がうまくない理由は、もう一つある。辞書が与えるのは、名詞でも動詞でもその基本形だけだからである。名詞は「格」によって変化し(日本語だと、「私は」「私に」「私を」 ... というように、名詞の部分は変化しないように見えるのだが)、動詞は「活用」する。こうした語の「屈折」形は、その語のその言語の文法上の情報を与えるのだが、辞書はその屈折形を網羅しない。それは、文法規則として基本的には辞書の外部でカバーされることになる。 先に、簡単に「文は語からできている」といった。それはそれで間違いではない。もう少し正確に言えば、「文は、文法という構成規則に従って、語から構成される」ということになる。 「異なる語から異なる構成規則で構成された文が「同じ意味」を持ちうるのはなぜか?」というのは、言語の意味についての最も重要な問題なのだが、その問題に入る前に、ここでは、辞書上の語彙項目と実際に発せられる文と文法の関係について、基本的な事実を確認しようと思う。 全ての言語において、基本的な語彙の数は、有限である。例えば、26文字のアルファベットで15文字以内で構成される語の数は、高々、26^15である。ところが、10万語の語彙を持つ言語で、10語の語からなる文の数は、100000^10で、約10^50になる。10語文というのは、

意味を考える 4 -- 接触

イメージ
翻訳は、基本的には、外国語を母語に変換する。外国語に接する必要がなかったら、翻訳ツールのお世話になることはない。僕のひいおじいさんやひいおばあさんの世代は、おそらく、翻訳の必要はほとんど感じなかったようにも思う。僕の世代の場合は、おじいさんやおばあさんの世代に「敗戦」と「進駐軍」を体験する。外国語事情は、大きく変わる。 ただ、歴史的には、近年の「グローバル化」が始まる遥か以前から、異なる言語を用いる共同体の接触は、珍しいことではなかったと思う。 世界中は同じ言葉を使って、同じように話していた。  ... 主は降って来て、人の子らが建てた、塔のあるこの町を見て、言われた。「彼らは一つの民で、皆一つの言葉を話しているから、このようなことをし始めたのだ。これでは、彼らが何を企てても、妨げることはできない。 我々は降って行って、直ちに彼らの言葉を混乱させ、互いの言葉が聞き分けられぬようにしてしまおう。」 (創世記11章) なんて意地悪な神だと思うのだが。人間だって「互いの言葉が聞き分けられぬ」ままでいたわけはない。異なる言語が接触した場合、直ちに、翻訳の必要性は生まれたはずだ。 そこで一番大事なことは、言語が異なっても、それが伝えようとすることが「同じ意味」を持ちうることを双方が確信することだと、僕は思う。それは、自明のことのように思えるが、とても大事なことだ。 相手が宇宙人であって同じだと、我々人間は考える。 太陽系外に飛び出すパイオニアにもボイジャーにも、宇宙人に向けたメッセージが積まれていた。それが知性を持つ宇宙人に発見される可能性は、我々が異星人からのメッセージを受け取る可能性と同じくらいに低いのだが。 図1は、パイオニアにつまれたプレート。水素の構造、男女の姿、探査機の外形、銀河系中心と14個のパルサーに対する太陽の相対位置、太陽系が描かれている。 図2は、ボエジャーにつまれたゴールデン・レコード。地球上の様々な音や音楽、55種類の言語による挨拶や様々な科学情報などを紹介する写真、イラストなどが収録されている。「ボエジャーのゴールデンレコード」https://goo.gl/5NZ8Wn これらでは、画像・音・科学的な知識が、「共通言語」として想定されているのは興味ふかい。科学的な知識をメッセージに使うというアイデアは、電波を用いた

第五回マルレク 「人工知能と意味の形式的理論」

イメージ
来年早々になりますが、1月8日に、マルレク第五回を、富士ソフトさんのアキバプラザで開催します。テーマは、「人工知能と意味の形式的理論」です。 告知ページ・募集要項は、近日中に公開します。 募集期間が、年末・年始の時期に重なっているため、いつもより募集時期を若干早めたいと考えています。ご注意ください。 【講演概要】 人工知能研究の大きな課題の一つに、意味の理解をどのように機械上で実現するかという問題があります。 講演では、まず、この分野で、現時点で一定の成功を収めている三つのアプローチを紹介します。 第一は、Amazon Alexa, Google Home 等のボイスアシスタント・システムで多く利用されている、ヒューリスティックなアプローチです。そこでは、チューリング・テストをパスすることを意識した、意味のプラグマティックで「操作主義的」理解が中心にあります。 第二は、Google等の大規模な検索エンジンやDiffbot等が利用している。Knowledge Graph的なアプオーチです。グラフの規模の大小はあるのですが、そこで中心的な役割を果たしているのは、「エンティティ・モデル」です。 第三は、Googleニューラル機械翻訳の成功に刺激を受けた、「機械翻訳技術」の発展と普及を背景としたアプローチです。そこでは、大規模なパラレル・コーパスを大規模なハードウェアを利用して「学習」が行われます。 講演の後半は、現在の実装技術の紹介を目的とした前半と切り口が異なります。「意味の理解」は、「意味」についても「理解」についても、新しい枠組みが必要だというように、丸山は考えています。また、そうした理論は形式的なシステムで記述できるとも考えています。 次のような話をします。 ・文法の構造と意味の構造の対応、あるいは二つの構造の「二重化」の必要について。 ・理論とモデル。数学での意味の扱いに学ぶ。 ・ローヴェールのFunctor Semantics ・新しい「型の理論」